add a cleanup script to elide the non-free jsapi binary blob from the sources
[debian/freetts] / javadoc / com / sun / speech / freetts / lexicon / Lexicon.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r
2 <!--NewPage-->\r
3 <HTML>\r
4 <HEAD>\r
5 <!-- Generated by javadoc (build 1.4.2_16) on Mon Mar 09 18:20:30 CET 2009 -->\r
6 <TITLE>\r
7 Lexicon (FreeTTS 1.2)\r
8 </TITLE>\r
9 \r
10 <META NAME="keywords" CONTENT="com.sun.speech.freetts.lexicon.Lexicon interface">\r
11 \r
12 <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">\r
13 \r
14 <SCRIPT type="text/javascript">\r
15 function windowTitle()\r
16 {\r
17     parent.document.title="Lexicon (FreeTTS 1.2)";\r
18 }\r
19 </SCRIPT>\r
20 \r
21 </HEAD>\r
22 \r
23 <BODY BGCOLOR="white" onload="windowTitle();">\r
24 \r
25
26 <!-- ========= START OF TOP NAVBAR ======= -->\r
27 <A NAME="navbar_top"><!-- --></A>
28 <A HREF="#skip-navbar_top" title="Skip navigation links"></A>
29 <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">\r
30 <TR>\r
31 <TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
32 <A NAME="navbar_top_firstrow"><!-- --></A>
33 <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">\r
34   <TR ALIGN="center" VALIGN="top">\r
35   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>\r
36   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
37   <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
38   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
39   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
40   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
41   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
42   </TR>\r
43 </TABLE>\r
44 </TD>\r
45 <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
46 </EM>\r
47 </TD>\r
48 </TR>\r
49 \r
50 <TR>\r
51 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
52 &nbsp;<A HREF="../../../../../com/sun/speech/freetts/lexicon/LetterToSound.html" title="interface in com.sun.speech.freetts.lexicon"><B>PREV CLASS</B></A>&nbsp;\r
53 &nbsp;NEXT CLASS</FONT></TD>\r
54 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
55   <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;\r
56 &nbsp;<A HREF="Lexicon.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;\r
57 &nbsp;<SCRIPT type="text/javascript">\r
58   <!--\r
59   if(window==top) {\r
60     document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');\r
61   }\r
62   //-->\r
63 </SCRIPT>\r
64 <NOSCRIPT>\r
65   <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>\r
66 </NOSCRIPT>
67 \r
68 </FONT></TD>\r
69 </TR>\r
70 <TR>\r
71 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
72   SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>\r
73 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
74 DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>\r
75 </TR>\r
76 </TABLE>\r
77 <A NAME="skip-navbar_top"></A>
78 <!-- ========= END OF TOP NAVBAR ========= -->\r
79 \r
80 <HR>\r
81 <!-- ======== START OF CLASS DATA ======== -->\r
82 <H2>\r
83 <FONT SIZE="-1">\r
84 com.sun.speech.freetts.lexicon</FONT>\r
85 <BR>\r
86 Interface Lexicon</H2>\r
87 <DL>\r
88 <DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../com/sun/speech/freetts/lexicon/LexiconImpl.html" title="class in com.sun.speech.freetts.lexicon">LexiconImpl</A></DD>\r
89 </DL>\r
90 <HR>\r
91 <DL>\r
92 <DT>public interface <B>Lexicon</B></DL>\r
93 \r
94 <P>\r
95 Provides the phone list for words.  A Lexicon is composed of three
96  pieces:  an addenda, the compiled form, and the letter to sound
97  rules.
98  <ul>
99    <li>The addenda either contains Word instances that are not in
100    the compiled form, or it contains Word instances that replace
101    definitions in the compiled form.  The addenda is meant to be
102    relatively small (e.g., 10's of words).
103    <li>The compiled form is meant to hold a large number of words
104    (e.g., 10's of thousands of words) and provide a very efficient
105    means for finding those words.
106    <li>The letter to sound rules will attempt to find a definition for
107    a word not found in either the addenda or compiled form.
108  </ul>\r
109 <P>\r
110 \r
111 <P>\r
112 <HR>\r
113 \r
114 <P>\r
115 <!-- ======== NESTED CLASS SUMMARY ======== -->\r
116 \r
117 \r
118 <!-- =========== FIELD SUMMARY =========== -->\r
119 \r
120 \r
121 <!-- ======== CONSTRUCTOR SUMMARY ======== -->\r
122 \r
123 \r
124 <!-- ========== METHOD SUMMARY =========== -->\r
125 \r
126 <A NAME="method_summary"><!-- --></A>
127 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
128 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
129 <TD COLSPAN=2><FONT SIZE="+2">\r
130 <B>Method Summary</B></FONT></TD>\r
131 </TR>\r
132 <TR BGCOLOR="white" CLASS="TableRowColor">\r
133 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
134 <CODE>&nbsp;void</CODE></FONT></TD>\r
135 <TD><CODE><B><A HREF="../../../../../com/sun/speech/freetts/lexicon/Lexicon.html#addAddendum(java.lang.String, java.lang.String, java.lang.String[])">addAddendum</A></B>(java.lang.String&nbsp;word,
136             java.lang.String&nbsp;partOfSpeech,
137             java.lang.String[]&nbsp;phones)</CODE>\r
138 \r
139 <BR>\r
140 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a word to the addenda.  </TD>\r
141 </TR>\r
142 <TR BGCOLOR="white" CLASS="TableRowColor">\r
143 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
144 <CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>\r
145 <TD><CODE><B><A HREF="../../../../../com/sun/speech/freetts/lexicon/Lexicon.html#getPhones(java.lang.String, java.lang.String)">getPhones</A></B>(java.lang.String&nbsp;word,
146           java.lang.String&nbsp;partOfSpeech)</CODE>\r
147 \r
148 <BR>\r
149 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the phone list for a given word.  </TD>\r
150 </TR>\r
151 <TR BGCOLOR="white" CLASS="TableRowColor">\r
152 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
153 <CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>\r
154 <TD><CODE><B><A HREF="../../../../../com/sun/speech/freetts/lexicon/Lexicon.html#getPhones(java.lang.String, java.lang.String, boolean)">getPhones</A></B>(java.lang.String&nbsp;word,
155           java.lang.String&nbsp;partOfSpeech,
156           boolean&nbsp;useLTS)</CODE>\r
157 \r
158 <BR>\r
159 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the phone list for a given word.  </TD>\r
160 </TR>\r
161 <TR BGCOLOR="white" CLASS="TableRowColor">\r
162 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
163 <CODE>&nbsp;boolean</CODE></FONT></TD>\r
164 <TD><CODE><B><A HREF="../../../../../com/sun/speech/freetts/lexicon/Lexicon.html#isLoaded()">isLoaded</A></B>()</CODE>\r
165 \r
166 <BR>\r
167 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if this lexicon is loaded.</TD>\r
168 </TR>\r
169 <TR BGCOLOR="white" CLASS="TableRowColor">\r
170 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
171 <CODE>&nbsp;boolean</CODE></FONT></TD>\r
172 <TD><CODE><B><A HREF="../../../../../com/sun/speech/freetts/lexicon/Lexicon.html#isSyllableBoundary(java.util.List, java.lang.String[], int)">isSyllableBoundary</A></B>(java.util.List&nbsp;syllablePhones,
173                    java.lang.String[]&nbsp;wordPhones,
174                    int&nbsp;currentWordPhone)</CODE>\r
175 \r
176 <BR>\r
177 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if the <code>currentWordPhone</code> represents a
178  new syllable boundary.</TD>\r
179 </TR>\r
180 <TR BGCOLOR="white" CLASS="TableRowColor">\r
181 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
182 <CODE>&nbsp;void</CODE></FONT></TD>\r
183 <TD><CODE><B><A HREF="../../../../../com/sun/speech/freetts/lexicon/Lexicon.html#load()">load</A></B>()</CODE>\r
184 \r
185 <BR>\r
186 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Loads this lexicon.  </TD>\r
187 </TR>\r
188 <TR BGCOLOR="white" CLASS="TableRowColor">\r
189 <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">\r
190 <CODE>&nbsp;void</CODE></FONT></TD>\r
191 <TD><CODE><B><A HREF="../../../../../com/sun/speech/freetts/lexicon/Lexicon.html#removeAddendum(java.lang.String, java.lang.String)">removeAddendum</A></B>(java.lang.String&nbsp;word,
192                java.lang.String&nbsp;partOfSpeech)</CODE>\r
193 \r
194 <BR>\r
195 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a word from the addenda.  </TD>\r
196 </TR>\r
197 </TABLE>\r
198 &nbsp;\r
199 <P>\r
200 \r
201 <!-- ============ FIELD DETAIL =========== -->\r
202 \r
203 \r
204 <!-- ========= CONSTRUCTOR DETAIL ======== -->\r
205 \r
206 \r
207 <!-- ============ METHOD DETAIL ========== -->\r
208 \r
209 <A NAME="method_detail"><!-- --></A>
210 <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">\r
211 <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">\r
212 <TD COLSPAN=1><FONT SIZE="+2">\r
213 <B>Method Detail</B></FONT></TD>\r
214 </TR>\r
215 </TABLE>\r
216 \r
217 <A NAME="getPhones(java.lang.String, java.lang.String)"><!-- --></A><H3>\r
218 getPhones</H3>\r
219 <PRE>\r
220 public java.lang.String[] <B>getPhones</B>(java.lang.String&nbsp;word,
221                                     java.lang.String&nbsp;partOfSpeech)</PRE>\r
222 <DL>\r
223 <DD>Gets the phone list for a given word.  If a phone list cannot
224  be found, <code>null</code> is returned.  The
225  <code>partOfSpeech</code> is implementation dependent, but
226  <code>null</code> always matches.\r
227 <P>\r
228 <DD><DL>\r
229 <DT><B>Parameters:</B><DD><CODE>word</CODE> - the word to find<DD><CODE>partOfSpeech</CODE> - the part of speech or <code>null</code>
230 <DT><B>Returns:</B><DD>the list of phones for word or null</DL>\r
231 </DD>\r
232 </DL>\r
233 <HR>\r
234 \r
235 <A NAME="getPhones(java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>\r
236 getPhones</H3>\r
237 <PRE>\r
238 public java.lang.String[] <B>getPhones</B>(java.lang.String&nbsp;word,
239                                     java.lang.String&nbsp;partOfSpeech,
240                                     boolean&nbsp;useLTS)</PRE>\r
241 <DL>\r
242 <DD>Gets the phone list for a given word.  If a phone list cannot
243  be found, <code>null</code> is returned.  The
244  <code>partOfSpeech</code> is implementation dependent, but
245  <code>null</code> always matches.\r
246 <P>\r
247 <DD><DL>\r
248 <DT><B>Parameters:</B><DD><CODE>word</CODE> - the word to find<DD><CODE>partOfSpeech</CODE> - the part of speech or <code>null</code><DD><CODE>useLTS</CODE> - whether to use the letter-to-sound rules when
249         the word is not in the lexicon.
250 <DT><B>Returns:</B><DD>the list of phones for word or null</DL>\r
251 </DD>\r
252 </DL>\r
253 <HR>\r
254 \r
255 <A NAME="addAddendum(java.lang.String, java.lang.String, java.lang.String[])"><!-- --></A><H3>\r
256 addAddendum</H3>\r
257 <PRE>\r
258 public void <B>addAddendum</B>(java.lang.String&nbsp;word,
259                         java.lang.String&nbsp;partOfSpeech,
260                         java.lang.String[]&nbsp;phones)</PRE>\r
261 <DL>\r
262 <DD>Adds a word to the addenda.  The
263  part of speech is implementation dependent.\r
264 <P>\r
265 <DD><DL>\r
266 <DT><B>Parameters:</B><DD><CODE>word</CODE> - the word to add<DD><CODE>partOfSpeech</CODE> - the part of speech or <code>null</code></DL>\r
267 </DD>\r
268 </DL>\r
269 <HR>\r
270 \r
271 <A NAME="removeAddendum(java.lang.String, java.lang.String)"><!-- --></A><H3>\r
272 removeAddendum</H3>\r
273 <PRE>\r
274 public void <B>removeAddendum</B>(java.lang.String&nbsp;word,
275                            java.lang.String&nbsp;partOfSpeech)</PRE>\r
276 <DL>\r
277 <DD>Removes a word from the addenda.  Both the part of speech and
278  word must be an exact match.\r
279 <P>\r
280 <DD><DL>\r
281 <DT><B>Parameters:</B><DD><CODE>word</CODE> - the word to add<DD><CODE>partOfSpeech</CODE> - the part of speech</DL>\r
282 </DD>\r
283 </DL>\r
284 <HR>\r
285 \r
286 <A NAME="isSyllableBoundary(java.util.List, java.lang.String[], int)"><!-- --></A><H3>\r
287 isSyllableBoundary</H3>\r
288 <PRE>\r
289 public boolean <B>isSyllableBoundary</B>(java.util.List&nbsp;syllablePhones,
290                                   java.lang.String[]&nbsp;wordPhones,
291                                   int&nbsp;currentWordPhone)</PRE>\r
292 <DL>\r
293 <DD>Determines if the <code>currentWordPhone</code> represents a
294  new syllable boundary.\r
295 <P>\r
296 <DD><DL>\r
297 <DT><B>Parameters:</B><DD><CODE>syllablePhones</CODE> - the phones in the current syllable so far<DD><CODE>wordPhones</CODE> - the phones for the whole word<DD><CODE>currentWordPhone</CODE> - the word phone in question
298 <DT><B>Returns:</B><DD><code>true</code> if the phone is a new boundary</DL>\r
299 </DD>\r
300 </DL>\r
301 <HR>\r
302 \r
303 <A NAME="load()"><!-- --></A><H3>\r
304 load</H3>\r
305 <PRE>\r
306 public void <B>load</B>()
307           throws java.io.IOException</PRE>\r
308 <DL>\r
309 <DD>Loads this lexicon.  The loading of a lexicon need not be done
310  in the constructor.\r
311 <P>\r
312 <DD><DL>\r
313
314 <DT><B>Throws:</B>
315 <DD><CODE>java.io.IOException</CODE> - if an error occurs while loading</DL>\r
316 </DD>\r
317 </DL>\r
318 <HR>\r
319 \r
320 <A NAME="isLoaded()"><!-- --></A><H3>\r
321 isLoaded</H3>\r
322 <PRE>\r
323 public boolean <B>isLoaded</B>()</PRE>\r
324 <DL>\r
325 <DD>Determines if this lexicon is loaded.\r
326 <P>\r
327 <DD><DL>\r
328
329 <DT><B>Returns:</B><DD><code>true</code> if the lexicon is loaded</DL>\r
330 </DD>\r
331 </DL>\r
332 <!-- ========= END OF CLASS DATA ========= -->\r
333 <HR>\r
334 \r
335
336 <!-- ======= START OF BOTTOM NAVBAR ====== -->\r
337 <A NAME="navbar_bottom"><!-- --></A>
338 <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
339 <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">\r
340 <TR>\r
341 <TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">\r
342 <A NAME="navbar_bottom_firstrow"><!-- --></A>
343 <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">\r
344   <TR ALIGN="center" VALIGN="top">\r
345   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>\r
346   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>\r
347   <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>\r
348   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>\r
349   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>\r
350   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>\r
351   <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>\r
352   </TR>\r
353 </TABLE>\r
354 </TD>\r
355 <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>\r
356 </EM>\r
357 </TD>\r
358 </TR>\r
359 \r
360 <TR>\r
361 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
362 &nbsp;<A HREF="../../../../../com/sun/speech/freetts/lexicon/LetterToSound.html" title="interface in com.sun.speech.freetts.lexicon"><B>PREV CLASS</B></A>&nbsp;\r
363 &nbsp;NEXT CLASS</FONT></TD>\r
364 <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">\r
365   <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;\r
366 &nbsp;<A HREF="Lexicon.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;\r
367 &nbsp;<SCRIPT type="text/javascript">\r
368   <!--\r
369   if(window==top) {\r
370     document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');\r
371   }\r
372   //-->\r
373 </SCRIPT>\r
374 <NOSCRIPT>\r
375   <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>\r
376 </NOSCRIPT>
377 \r
378 </FONT></TD>\r
379 </TR>\r
380 <TR>\r
381 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
382   SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>\r
383 <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">\r
384 DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>\r
385 </TR>\r
386 </TABLE>\r
387 <A NAME="skip-navbar_bottom"></A>
388 <!-- ======== END OF BOTTOM NAVBAR ======= -->\r
389 \r
390 <HR>\r
391 \r
392 </BODY>\r
393 </HTML>\r