diff --git a/GPL-LICENSE.txt b/GPL-LICENSE.txt
new file mode 100644
index 0000000..11dddd0
--- /dev/null
+++ b/GPL-LICENSE.txt
@@ -0,0 +1,278 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
diff --git a/README.textile b/README.textile
new file mode 100644
index 0000000..7c80fdc
--- /dev/null
+++ b/README.textile
@@ -0,0 +1,14 @@
+h2. jQuery UI Multiselect Next (now runs on jQuery UI 1.8)
+
+This is a more advanced but not well tested extended version of the jQuery UI Multiselect widget.
+It just got updated to work along with jQuery 1.4.2 and jQuery UI 1.8.
+
+I've installed a demo page at "http://quasipartikel.at/multiselect_next/":http://quasipartikel.at/multiselect_next/
+
+-
+For the original version done by Yanick (which is based on jQuery 1.3 and jQuery UI 1.7) please visit his demo page:
+
+"http://yanickrochon.uuuq.com/multiselect/":http://yanickrochon.uuuq.com/multiselect/
+
+If you have suggestions or did some nice modifications just let us know.
+We'd be happy to review them, and perhaps include them.
\ No newline at end of file
diff --git a/ajax.php b/ajax.php
new file mode 100755
index 0000000..084f7bd
--- /dev/null
+++ b/ajax.php
@@ -0,0 +1,72 @@
+ $lang) {
+ if ( false !== stripos($lang, $_GET['q']) ) {
+ echo $code . '=' . trim($lang) . "\n";
+ if ( ++$count >= $limit ) break;
+ }
+ }
+
+} else {
+
+ if ( !isset($_SESSION['default_indexes']) ) {
+ $_SESSION['default_indexes'] = array_rand($data, $limit);
+ }
+
+ foreach ($_SESSION['default_indexes'] as $code) {
+ echo $code . '=' . $data[$code] . "\n";
+ }
+
+}
diff --git a/css/common.css b/css/common.css
index 2253727..e160a97 100644
--- a/css/common.css
+++ b/css/common.css
@@ -1,53 +1,137 @@
+/*
+Copyright (c) 2007, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 2.2.0
+*/
+body {font:13px 'Helvetica',arial,clean,sans-serif;*font-size:small;*font:x-small;}
+table {font-size:inherit;font:100%;}
+select,input,textarea {font:99% arial,helvetica,clean,sans-serif;}
+pre,code {font:115% monospace;*font-size:100%;}
+body * {line-height:1.22em;}
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {margin:0;padding:0;}
+table {border-collapse:collapse;border-spacing:0;}
+fieldset,img {border:0;}
+address,caption,cite,code,dfn,em,strong,th,var {font-style:normal;font-weight:normal;}
+/*ol,ul {list-style:none;}*/
+caption,th {text-align:left;}
+h1,h2,h3,h4,h5,h6 {font-size:100%;font-weight:normal;}
+q:before,q:after {content:'';}
+abbr,acronym {border:0;}
- /*
- Copyright (c) 2007, Yahoo! Inc. All rights reserved.
- Code licensed under the BSD License:
- http://developer.yahoo.net/yui/license.txt
- version: 2.2.0
- */
- body {font:13px 'Helvetica',arial,clean,sans-serif;*font-size:small;*font:x-small;}table {font-size:inherit;font:100%;}select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}pre, code {font:115% monospace;*font-size:100%;}body * {line-height:1.22em;}
- body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}/*ol,ul {list-style:none;}*/caption,th {text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym {border:0;}
-
- /* end of yahoo reset and fonts */
-
- body {color:#333; background: #232f2e; line-height:1.3;}
- p {margin:0 0 20px;}
- a {color:#636363;}
- a:hover {text-decoration:none;}
- strong {font-weight:bold;}
- em {font-style: italic;}
- h1,h2,h3,h4,h5,h6 {font-weight:bold;}
- h1 {font-size:197%; margin:30px 0; color: #4f6f6c;}
- h2 {font-size:174%; margin:20px 0; color:#4f6f6c;}
- h3 {font-size:152%; margin:10px 0;}
- h4 {font-size:129%; margin:10px 0;}
- pre {background:#eee; margin:0 0 20px; padding:20px; border:1px solid #ccc; font-size:100%; overflow:auto;}
- code {font-size:100%; margin:0; padding:0;}
- ul, ol {margin:10px 0 10px 25px;}
- ol li {margin:0 0 10px;}
-
- div#wrapper {background:#fff; width:560px; margin:0 auto; padding:20px; border:10px solid #0f1616; border-width:0 10px 10px 10px;}
- div#header {position:relative; border-bottom:1px dotted; margin:0 0 10px; padding:0 0 10px;}
- div#header p {margin:0; padding:0;}
- div#header h1 {margin:0; padding:0;}
- ul#nav {position:absolute; top:0; right:0; list-style:none; margin:0; padding:0;}
- ul#nav li {display:inline; padding:0 0 0 5px;}
- ul#nav li a {}
- div#content {}
- div#footer {margin:40px 0 0; border-top:1px dotted; padding:10px 0 0;}
- .left {float:left;}
- .right {float:right;}
- .clear {clear:both;}
-
-
- /* multiselect styles */
- .multiselect {
- width: 460px;
- height: 200px;
- }
-
- #switcher {
- margin-top: 20px;
- }
-
- form {margin: 0; padding: 0;}
+/* end of yahoo reset and fonts */
+
+body {color:#333; background: #232f2e; line-height:1.3;}
+p {margin:0 0 20px;}
+a {color:#636363;}
+a:hover {text-decoration:none;}
+strong {font-weight:bold;}
+em {font-style: italic;}
+h1,h2,h3,h4,h5,h6 {font-weight:bold;}
+h1 {font-size:197%; margin:30px 0; color: #4f6f6c;}
+h2 {font-size:174%; margin:20px 0; color:#4f6f6c;}
+h3 {font-size:152%; margin:10px 0; color:#4f6f6c;}
+h4 {font-size:129%; margin:10px 0; color:#4f6f6c;}
+pre {background:#eee; margin:0 0 20px; padding:20px; border:1px solid #ccc; font-size:100%; width:510px; overflow:auto;}
+code {font-size:100%; margin:0; padding:0;}
+ul, ol {margin:10px 0 10px 25px;}
+ol li {margin:0 0 10px;}
+
+iframe {width:100%; height: 200px; background: #eef; color: black;}
+
+div#wrapper {background:#fff; width:640px; margin:0 auto; padding:20px; border:10px solid #0f1616; border-width:0 10px 10px 10px;}
+div#header {position:relative; border-bottom:1px dotted; margin:0 0 10px; padding:0 0 10px;}
+div#header p {margin:0; padding:0;}
+div#header h1 {margin:0; padding:0;}
+ul#nav {position:absolute; top:0px; right:10px; list-style:none; margin:0; padding:0;}
+ul#nav li {display:inline; padding:0 0 0 5px;}
+ul#nav li a {}
+div#version {position:absolute; top:20px; right:10px; margin:0; padding:0;}
+div#content {}
+div#footer {margin:40px 0 0; border-top:1px dotted; padding:10px 0 0;}
+.left {float:left;}
+.right {float:right;}
+.clear {clear:both;}
+
+dt {font-weight: bold; font-size: 110%; padding-bottom: 10px;}
+dd {margin-left: 20px; padding-bottom: 20px;}
+
+/* multiselect styles */
+.multiselect {width: 460px; height: 150px;}
+
+#switcher {margin-top: 20px;}
+
+form {margin: 0; padding: 0;}
+
+.externalControlsWrapper {margin-top: 10px; margin-bottom: 20px;}
+.externalControls a {font-size: 90%;}
+.externalControls {margin-top: 10px; border: 1px solid #bbb; background: #eee; height: 230px;}
+.externalControls .optionWrapper {vertical-align: middle; overflow: auto; width: 100%; margin-bottom: 10px; float: left; clear: left;}
+.externalControls .optionLabel {width: 200px; padding-bottom: 5px;}
+.externalControls .optionInput {float: right; width: 220px;}
+.externalControls .optionInput .text {font-size: 14px; width: 150px;}
+.externalControls .optionInput .button {font-size: 14px; padding: 0px; margin: 0px;}
+
+/* JQuery API CSS */
+
+
+h2.top-header { color: #FFFFFF; margin: 0 0 20px 0 !important; padding: 5px 10px !important; background: #0F67A1; font-size: 15px; -moz-border-radius: 2px; text-transform: none; }
+ul.options-list a,
+ul.methods-list a {
+ font-size: 14px;
+ color: #0f67a1;
+ text-decoration: underline;
+}
+ul.options-list a:hover,
+ul.methods-list a:hover {
+ color: #176092;
+ text-decoration: underline;
+}
+
+
+.UIAPIPlugin #options h2,
+.UIAPIPlugin #events h2,
+.UIAPIPlugin #methods h2,
+.UIAPIPlugin #theming h2 { color: #FFFFFF; margin: 0 0 20px 0 !important; padding: 5px 10px !important; background: #0F67A1; font-size: 15px; -moz-border-radius: 2px; text-transform: none; }
+
+ul.options-list,
+ul.options-list li.option { margin: 20px 0 0 0; padding: 0; list-style-type: none; list-style-image: none; }
+ul.options-list { margin: 0 0 20px 6px; }
+ul.options-list li.option { padding-bottom: 10px !important; }
+ul.options-list li.option dl,
+ul.options-list li.option dt,
+ul.options-list li.option dd { margin: 0; padding: 0; }
+ul.options-list li.option .option-header { width: 100%; float: left; background-color: #E2EDF4 !important; }
+ul.options-list li.option .option-header .option-name { line-height: 0.2; margin: 0 !important; padding: 0 !important; width: 35%; float: left; background-color: #E2EDF4 !important; }
+ul.options-list li.option .option-header .option-name a { vertical-align: 90%; font-size: 16px; margin: 10px 0 0px 10px; }
+ul.options-list li.option .option-header dt,
+ul.options-list li.option .option-header dd { margin: 0; padding: 0; float: left; width: 18%; }
+ul.options-list li.option .option-header dt.option-type-label { display: none; }
+ul.options-list li.option .option-header dt.option-default-label { text-align: right; padding-right: 0.4em; color: #666666; }
+ul.options-list li.option .option-description { clear: left; padding: 5px 10px 0 10px; }
+ul.options-list li.option .option-examples-list dt p { line-height: 1.5 !important; margin: 0 !important; padding: 5px 0 !important; color: #666666; }
+ul.options-list li.option .option-examples-list dd pre { margin: 0 !important; }
+ul.options-list li.option .option-examples-list { padding: 0 10px; }
+ul.options-list li.option .option-examples-list dd { margin-left: 10px; }
+ul.options-list li.option .option-examples-list dd pre code { background: none; }
+
+ul.events-list,
+ul.events-list li.event { margin: 20px 0 0 0; padding: 0; list-style-type: none; list-style-image: none; }
+ul.events-list { margin: 0px 0px 20px 6px; }
+ul.events-list li.event { padding-bottom: 10px !important; }
+ul.events-list li.event dl,
+ul.events-list li.event dt,
+ul.events-list li.event dd { margin: 0; padding: 0; }
+ul.events-list li.event .event-header { width: 100%; float: left; background-color: #E2EDF4 !important; }
+ul.events-list li.event .event-header .event-name { line-height: 0.2; margin: 0 !important; padding: 0 !important; width: 35%; float: left; background-color: #E2EDF4 !important; }
+ul.events-list li.event .event-header .event-name a { vertical-align: 90%; font-size: 16px; margin: 10px 0 0px 10px; }
+ul.events-list li.event .event-header dt,
+ul.events-list li.event .event-header dd { margin: 0; padding: 0; float: left; width: 23%; }
+ul.events-list li.event .event-header dt.event-type-label { width: 10%; }
+ul.events-list li.event .event-header dt.event-default-label { text-align: right; padding-right: 0.5em; color: #666666; }
+ul.events-list li.event .event-description { clear: left; padding: 5px 10px 0 10px; }
+ul.events-list li.event .event-examples-list dt p { line-height: 1.5 !important; margin: 0 !important; padding: 5px 0 !important; color: #666666; }
+ul.events-list li.event .event-examples-list dd pre { margin: 0 !important; }
+ul.events-list li.event .event-examples-list { padding: 0 10px; }
+ul.events-list li.event .event-examples-list dd { margin-left: 10px; }
+ul.events-list li.event .event-examples-list dd pre code { background: none; }
\ No newline at end of file
diff --git a/css/images/loading.gif b/css/images/loading.gif
new file mode 100644
index 0000000..471c1a4
Binary files /dev/null and b/css/images/loading.gif differ
diff --git a/css/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/css/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
new file mode 100644
index 0000000..5b5dab2
Binary files /dev/null and b/css/themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png differ
diff --git a/css/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/css/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
new file mode 100644
index 0000000..ac8b229
Binary files /dev/null and b/css/themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png differ
diff --git a/css/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png b/css/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
new file mode 100644
index 0000000..ad3d634
Binary files /dev/null and b/css/themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png differ
diff --git a/css/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png b/css/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
new file mode 100644
index 0000000..42ccba2
Binary files /dev/null and b/css/themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png differ
diff --git a/css/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png b/css/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png
new file mode 100644
index 0000000..5a46b47
Binary files /dev/null and b/css/themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png differ
diff --git a/css/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png b/css/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
new file mode 100644
index 0000000..86c2baa
Binary files /dev/null and b/css/themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png differ
diff --git a/css/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png b/css/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
new file mode 100644
index 0000000..4443fdc
Binary files /dev/null and b/css/themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png differ
diff --git a/css/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/css/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
new file mode 100644
index 0000000..7c9fa6c
Binary files /dev/null and b/css/themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ
diff --git a/css/themes/smoothness/images/ui-icons_222222_256x240.png b/css/themes/smoothness/images/ui-icons_222222_256x240.png
new file mode 100644
index 0000000..67560da
Binary files /dev/null and b/css/themes/smoothness/images/ui-icons_222222_256x240.png differ
diff --git a/css/themes/smoothness/images/ui-icons_2e83ff_256x240.png b/css/themes/smoothness/images/ui-icons_2e83ff_256x240.png
new file mode 100644
index 0000000..b425c44
Binary files /dev/null and b/css/themes/smoothness/images/ui-icons_2e83ff_256x240.png differ
diff --git a/css/themes/smoothness/images/ui-icons_454545_256x240.png b/css/themes/smoothness/images/ui-icons_454545_256x240.png
new file mode 100644
index 0000000..0cd64a2
Binary files /dev/null and b/css/themes/smoothness/images/ui-icons_454545_256x240.png differ
diff --git a/css/themes/smoothness/images/ui-icons_888888_256x240.png b/css/themes/smoothness/images/ui-icons_888888_256x240.png
new file mode 100644
index 0000000..2e5180e
Binary files /dev/null and b/css/themes/smoothness/images/ui-icons_888888_256x240.png differ
diff --git a/css/themes/smoothness/images/ui-icons_cd0a0a_256x240.png b/css/themes/smoothness/images/ui-icons_cd0a0a_256x240.png
new file mode 100644
index 0000000..2db88b7
Binary files /dev/null and b/css/themes/smoothness/images/ui-icons_cd0a0a_256x240.png differ
diff --git a/css/themes/smoothness/jquery-ui-1.7.1.custom.css b/css/themes/smoothness/jquery-ui-1.7.1.custom.css
new file mode 100644
index 0000000..dfbd9bf
--- /dev/null
+++ b/css/themes/smoothness/jquery-ui-1.7.1.custom.css
@@ -0,0 +1,404 @@
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
+*/
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden { display: none; }
+.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
+.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
+.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
+.ui-helper-clearfix { display: inline-block; }
+/* required comment for clearfix to work in Opera \*/
+* html .ui-helper-clearfix { height:1%; }
+.ui-helper-clearfix { display:block; }
+/* end clearfix */
+.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled { cursor: default !important; }
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
+
+/*
+* jQuery UI CSS Framework
+* Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
+* Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
+*/
+
+
+/* Component containers
+----------------------------------*/
+.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
+.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
+.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
+.ui-widget-content a { color: #222222; }
+.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
+.ui-widget-header a { color: #222222; }
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default, .ui-widget-content .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; outline: none; }
+.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; outline: none; }
+.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; }
+.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; outline: none; }
+.ui-state-active, .ui-widget-content .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; outline: none; }
+.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; outline: none; text-decoration: none; }
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight, .ui-widget-content .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
+.ui-state-highlight a, .ui-widget-content .ui-state-highlight a { color: #363636; }
+.ui-state-error, .ui-widget-content .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
+.ui-state-error a, .ui-widget-content .ui-state-error a { color: #cd0a0a; }
+.ui-state-error-text, .ui-widget-content .ui-state-error-text { color: #cd0a0a; }
+.ui-state-disabled, .ui-widget-content .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
+.ui-priority-primary, .ui-widget-content .ui-priority-primary { font-weight: bold; }
+.ui-priority-secondary, .ui-widget-content .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
+.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
+.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
+.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
+.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-off { background-position: -96px -144px; }
+.ui-icon-radio-on { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; }
+.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
+.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
+.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
+.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; }
+.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
+.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; }
+.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; }
+.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; }
+
+/* Overlays */
+.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
+.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; }/* Accordion
+----------------------------------*/
+.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
+.ui-accordion .ui-accordion-li-fix { display: inline; }
+.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
+.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em 2.2em; }
+.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
+.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; }
+.ui-accordion .ui-accordion-content-active { display: block; }/* Datepicker
+----------------------------------*/
+.ui-datepicker { width: 17em; padding: .2em .2em 0; }
+.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
+.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
+.ui-datepicker .ui-datepicker-prev { left:2px; }
+.ui-datepicker .ui-datepicker-next { right:2px; }
+.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
+.ui-datepicker .ui-datepicker-next-hover { right:1px; }
+.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
+.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
+.ui-datepicker .ui-datepicker-title select { float:left; font-size:1em; margin:1px 0; }
+.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year { width: 49%;}
+.ui-datepicker .ui-datepicker-title select.ui-datepicker-year { float: right; }
+.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
+.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
+.ui-datepicker td { border: 0; padding: 1px; }
+.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
+.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
+.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi { width:auto; }
+.ui-datepicker-multi .ui-datepicker-group { float:left; }
+.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
+.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
+.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
+.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
+.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
+.ui-datepicker-row-break { clear:both; width:100%; }
+
+/* RTL support */
+.ui-datepicker-rtl { direction: rtl; }
+.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
+.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group { float:right; }
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
+
+/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
+.ui-datepicker-cover {
+ display: none; /*sorry for IE5*/
+ display/**/: block; /*sorry for IE5*/
+ position: absolute; /*must have*/
+ z-index: -1; /*must have*/
+ filter: mask(); /*must have*/
+ top: -4px; /*must have*/
+ left: -4px; /*must have*/
+ width: 200px; /*must have*/
+ height: 200px; /*must have*/
+}/* Dialog
+----------------------------------*/
+.ui-dialog { position: relative; padding: .2em; width: 300px; }
+.ui-dialog .ui-dialog-titlebar { padding: .5em .3em .3em 1em; position: relative; }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 0 .2em; }
+.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
+.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
+.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
+.ui-dialog .ui-dialog-content { border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
+.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
+.ui-dialog .ui-dialog-buttonpane button { float: right; margin: .5em .4em .5em 0; cursor: pointer; padding: .2em .6em .3em .6em; line-height: 1.4em; width:auto; overflow:visible; }
+.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
+.ui-draggable .ui-dialog-titlebar { cursor: move; }
+/* Progressbar
+----------------------------------*/
+.ui-progressbar { height:2em; text-align: left; }
+.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }/* Resizable
+----------------------------------*/
+.ui-resizable { position: relative;}
+.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
+.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
+.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; }
+.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; }
+.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; }
+.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; }
+.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
+.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
+.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
+.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* Slider
+----------------------------------*/
+.ui-slider { position: relative; text-align: left; }
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }
+
+.ui-slider-horizontal { height: .8em; }
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }
+
+.ui-slider-vertical { width: .8em; height: 100px; }
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
+.ui-slider-vertical .ui-slider-range-max { top: 0; }/* Tabs
+----------------------------------*/
+.ui-tabs { padding: .2em; zoom: 1; }
+.ui-tabs .ui-tabs-nav { list-style: none; position: relative; padding: .2em .2em 0; }
+.ui-tabs .ui-tabs-nav li { position: relative; float: left; border-bottom-width: 0 !important; margin: 0 .2em -1px 0; padding: 0; }
+.ui-tabs .ui-tabs-nav li a { float: left; text-decoration: none; padding: .5em 1em; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected { padding-bottom: 1px; border-bottom-width: 0; }
+.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
+.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs .ui-tabs-panel { padding: 1em 1.4em; display: block; border-width: 0; background: none; }
+.ui-tabs .ui-tabs-hide { display: none !important; }
diff --git a/css/ui.multiselect.css b/css/ui.multiselect.css
index 8ab18ef..bb70461 100644
--- a/css/ui.multiselect.css
+++ b/css/ui.multiselect.css
@@ -1,30 +1,32 @@
/* Multiselect
----------------------------------*/
-.ui-multiselect { border: solid 1px; font-size: 0.8em; }
+.ui-multiselect { border: 1px solid; font-size: 0.8em; }
.ui-multiselect ul { -moz-user-select: none; }
-.ui-multiselect li { margin: 0; padding: 0; cursor: default; line-height: 20px; height: 20px; font-size: 11px; list-style: none; }
+.ui-multiselect div.list-container { padding: 0; margin: 0; border: 0; float:left; }
+.ui-multiselect ul.list { position: relative; padding: 0; overflow: auto; overflow-x: hidden; margin: 0; list-style: none; width: 100%; }
+.ui-multiselect li { margin: 0; padding: 0; cursor: default; line-height: 20px; height: 20px; font-size: 11px; list-style: none; padding-left: 10px; white-space: nowrap; overflow: hidden; }
.ui-multiselect li a { color: #999; text-decoration: none; padding: 0; display: block; float: left; cursor: pointer;}
-.ui-multiselect li.ui-draggable-dragging { padding-left: 10px; }
+.ui-multiselect ul.ui-state-highlight { border: none; }
+.ui-multiselect li.ui-draggable-dragging { border: 1px solid; padding-left: 10px; z-index: 99999; }
-.ui-multiselect div.selected { position: relative; padding: 0; margin: 0; border: 0; float:left; }
-.ui-multiselect ul.selected { position: relative; padding: 0; overflow: auto; overflow-x: hidden; background: #fff; margin: 0; list-style: none; border: 0; position: relative; width: 100%; }
+.ui-multiselect div.selected { }
+.ui-multiselect ul.selected { }
.ui-multiselect ul.selected li { }
-.ui-multiselect div.available { position: relative; padding: 0; margin: 0; border: 0; float:left; border-left: 1px solid; }
-.ui-multiselect ul.available { position: relative; padding: 0; overflow: auto; overflow-x: hidden; background: #fff; margin: 0; list-style: none; border: 0; width: 100%; }
-.ui-multiselect ul.available li { padding-left: 10px; }
+.ui-multiselect div.available { border-left: 1px solid; }
+.ui-multiselect ul.available { }
+.ui-multiselect ul.available li { }
-.ui-multiselect .ui-state-default { border: none; margin-bottom: 1px; position: relative; padding-left: 20px;}
+.ui-multiselect .ui-state-default { border: none; margin-bottom: 1px; position: relative; }
.ui-multiselect .ui-state-hover { border: none; }
.ui-multiselect .ui-widget-header {border: none; font-size: 11px; margin-bottom: 1px;}
-.ui-multiselect .add-all { float: right; padding: 7px;}
-.ui-multiselect .remove-all { float: right; padding: 7px;}
-.ui-multiselect .search { float: left; padding: 4px;}
-.ui-multiselect .count { float: left; padding: 7px;}
+.ui-multiselect .add-all { float: right; padding: 7px; white-space: nowrap; }
+.ui-multiselect .remove-all { float: right; padding: 7px; white-space: nowrap; }
+.ui-multiselect .count { cursor: default; float: left; padding: 7px; }
+.ui-multiselect .search { float: left; padding: 1px; opacity: 0.7; margin: 4px; height: 14px; }
+.ui-multiselect .busy { left: 0px; float: left; padding: 7px 7px 7px 25px; z-index: 1; background: url(images/loading.gif) 4px 50% no-repeat; }
+.ui-multiselect .overlay { background: #aaaaaa; opacity: .30;filter:Alpha(Opacity=30); }
-.ui-multiselect li span.ui-icon-arrowthick-2-n-s { position: absolute; left: 2px; }
-.ui-multiselect li a.action { position: absolute; right: 2px; top: 2px; }
-
-.ui-multiselect input.search { height: 14px; padding: 1px; opacity: 0.5; margin: 4px; width: 100px; }
\ No newline at end of file
+.ui-multiselect li a.action { position: absolute; border: none; right: 0px; top: 1px; padding-right: 2px; }
\ No newline at end of file
diff --git a/data.txt b/data.txt
new file mode 100644
index 0000000..7a10e99
--- /dev/null
+++ b/data.txt
@@ -0,0 +1,7599 @@
+aaa=Ghotuo
+aab=Alumu-Tesu
+aac=Ari
+aad=Amal
+aae=Arbëreshë Albanian
+aaf=Aranadan
+aai=Arifama-Miniafia
+aak=Ankave
+aal=Afade
+aam=Aramanik
+aan=Anambé
+aao=Algerian Saharan Spoken Arabic
+aap=Pará Arára
+aaq=Eastern Abnaki
+aar=Afar
+aas=Aasáx
+aat=Arvanitika Albanian
+aau=Abau
+aaw=Solong
+aax=Mandobo Atas
+aay=Aariya
+aaz=Amarasi
+aba=Abé
+abb=Bankon
+abc=Ambala Ayta
+abd=Camarines Norte Agta
+abe=Western Abnaki
+abf=Abai Sungai
+abg=Abaga
+abh=Tajiki Spoken Arabic
+abi=Abidji
+abj=Aka-Bea
+abk=Abkhazian
+abl=Abung
+abm=Abanyom
+abn=Abua
+abo=Abon
+abp=Abenlen Ayta
+abq=Abaza
+abr=Abron
+abs=Ambonese Malay
+abt=Ambulas
+abu=Abure
+abv=Baharna Spoken Arabic
+abw=Pal
+abx=Inabaknon
+aby=Aneme Wake
+abz=Abui
+aca=Achagua
+acb=Áncá
+acc=Cubulco Achí
+acd=Gikyode
+ace=Achinese
+acf=Saint Lucian Creole French
+ach=Acoli
+aci=Aka-Cari
+ack=Aka-Kora
+acl=Akar-Bale
+acm=Mesopotamian Spoken Arabic
+acn=Achang
+acp=Eastern Acipa
+acq=Ta'izzi-Adeni Spoken Arabic
+acr=Rabinal Achí
+acs=Acroá
+act=Achterhoeks
+acu=Achuar-Shiwiar
+acv=Achumawi
+acw=Hijazi Spoken Arabic
+acx=Omani Spoken Arabic
+acy=Cypriot Spoken Arabic
+acz=Acheron
+ada=Adangme
+adb=Adabe
+add=Dzodinka
+ade=Adele
+adf=Dhofari Spoken Arabic
+adg=Andegerebinha
+adh=Adhola
+adi=Adi
+adj=Adioukrou
+adl=Galo Adi
+adn=Adang
+ado=Abu
+adp=Adap
+adq=Adangbe
+adr=Adonara
+ads=Adamorobe Sign Language
+adt=Adynyamathanha
+adu=Aduge
+adw=Amundava
+adx=Amdo Tibetan
+ady=Adyghe; Adygei
+aea=Areba
+aeb=Tunisian Spoken Arabic
+aec=Saidi Spoken Arabic
+aed=Argentine Sign Language
+aee=Northeast Pashayi
+aek=Haeke
+ael=Ambele
+aem=Arem
+aen=Armenian Sign Language
+aeq=Aer
+aer=Eastern Arrernte
+aes=Alsea
+aew=Ambakich
+aex=Amerax
+aey=Amele
+afb=Gulf Spoken Arabic
+afe=Putukwam
+afh=Afrihili
+afi=Akrukay
+afn=Defaka
+afo=Eloyi
+afr=Afrikaans
+afs=Afro-Seminole Creole
+aft=Afitti
+afu=Awutu
+afz=Obokuitai
+aga=Aguano
+agb=Legbo
+agc=Agatu
+agd=Agarabi
+age=Angal
+agf=Arguni
+agg=Angor
+agh=Ngelima
+agi=Agariya
+agj=Argobba
+agk=Isarog Agta
+agl=Fembe
+agm=Angaatiha
+agn=Agutaynen
+ago=Tainae
+agp=Paranan
+agq=Aghem
+agr=Aguaruna
+ags=Esimbi
+agt=Central Cagayan Agta
+agu=Aguacateco
+agv=Remontado Agta
+agw=Kahua
+agx=Aghul
+agy=Southern Alta
+agz=Mt. Iriga Agta
+aha=Ahanta
+ahb=Axamb
+ahe=Ahe
+ahg=Qimant
+ahh=Aghu
+ahi=Tiagbamrin Aizi
+ahk=Akha
+ahl=Igo
+ahm=Mobumrin Aizi
+ahn=Àhàn
+aho=Ahom
+ahp=Aproumu Aizi
+ahr=Ahirani
+ahs=Ashe
+aht=Ahtena
+aia=Arosi
+aib=Ainu (China)
+aic=Ainbai
+aid=Alngith
+aie=Amara
+aif=Agi
+aig=Antigua and Barbuda Creole English
+aih=Ai-Cham
+aii=Assyrian Neo-Aramaic
+aij=Lishanid Noshan
+aik=Ake
+ail=Aimele
+aim=Aimol
+ain=Ainu (Japan)
+aio=Aiton
+aip=Burumakok
+aiq=Aimaq
+air=Airoran
+ais=Nataoran Amis
+ait=Arikem
+aix=Aigon
+aiy=Ali
+aiz=Aari
+aja=Aja (Sudan)
+ajg=Aja (Benin)
+aji=Ajië
+ajp=South Levantine Spoken Arabic
+ajt=Judeo-Tunisian Arabic
+aju=Judeo-Moroccan Arabic
+ajw=Ajawa
+ajz=Amri
+aka=Akan
+akb=Batak Angkola
+akc=Mpur
+akd=Ukpet-Ehom
+ake=Akawaio
+akf=Akpa
+akg=Anakalangu
+akh=Angal Heneng
+aki=Aiome
+akj=Aka-Jeru
+akk=Akkadian
+akl=Aklanon
+akm=Aka-Bo
+akn=Amikoana
+ako=Akurio
+akp=Siwu
+akq=Ak
+akr=Araki
+aks=Akaselem
+akt=Akolet
+aku=Akum
+akv=Akhvakh
+akw=Akwa
+akx=Aka-Kede
+aky=Aka-Kol
+akz=Alabama
+ala=Alago
+alc=Qawasqar
+ald=Alladian
+ale=Aleut
+alf=Alege
+alh=Alawa
+ali=Amaimon
+alj=Alangan
+alk=Alak
+all=Allar
+alm=Amblong
+aln=Gheg Albanian
+alo=Larike-Wakasihu
+alp=Alune
+alq=Algonquin
+alr=Alutor
+als=Tosk Albanian
+alt=Southern Altai
+alu='Are'are
+alw=Alaba
+alx=Alatil
+aly=Alyawarr
+alz=Alur
+ama=Amanayé
+amb=Ambo
+amc=Amahuaca
+amd=Amapá Creole
+ame=Yanesha'
+amf=Hamer-Banna
+amg=Amarag
+amh=Amharic
+ami=Amis
+amj=Amdang
+amk=Ambai
+aml=War
+amm=Ama (Papua New Guinea)
+amn=Amanab
+amo=Amo
+amp=Alamblak
+amq=Amahai
+amr=Amarakaeri
+ams=Southern Amami-Oshima
+amt=Amto
+amu=Guerrero Amuzgo
+amv=Ambelau
+amw=Western Neo-Aramaic
+amx=Anmatyerre
+amy=Ami
+amz=Atampaya
+ana=Andaqui
+anb=Andoa
+anc=Ngas
+and=Ansus
+ane=Xârâcùù
+anf=Animere
+ang=English, Old (ca.450-1100)
+anh=Nend
+ani=Andi
+anj=Anor
+ank=Goemai
+anl=Anu
+anm=Anal
+ann=Obolo
+ano=Andoque
+anp=Angika
+anq=Jarawa (India)
+anr=Andh
+ans=Anserma
+ant=Antakarinya
+anu=Anuak
+anv=Denya
+anw=Anaang
+anx=Andra-Hus
+any=Anyin
+anz=Anem
+aoa=Angolar
+aob=Abom
+aoc=Pemon
+aod=Andarum
+aoe=Angal Enen
+aof=Bragat
+aog=Angoram
+aoh=Arma
+aoi=Anindilyakwa
+aoj=Mufian
+aok=Arhö
+aol=Alor
+aom=Ömie
+aon=Bumbita Arapesh
+aor=Aore
+aos=Taikat
+aot=A'tong
+aox=Atorada
+aoz=Uab Meto
+apb=Sa'a
+apc=North Levantine Spoken Arabic
+apd=Sudanese Spoken Arabic
+ape=Bukiyip
+apg=Ampanang
+aph=Athpariya
+api=Apiacá
+apj=Jicarilla Apache
+apk=Kiowa Apache
+apl=Lipan Apache
+apm=Mescalero-Chiricahua Apache
+apn=Apinayé
+apo=Apalik
+app=Apma
+apq=A-Pucikwar
+apr=Arop-Lukep
+aps=Arop-Sissano
+apt=Apatani
+apu=Apurinã
+apw=Western Apache
+apx=Aputai
+apy=Apalaí
+apz=Safeyoka
+aqc=Archi
+aqg=Arigidi
+aqm=Atohwaim
+aqn=Northern Alta
+aqp=Atakapa
+aqr=Arhâ
+ara=Arabic
+arb=Standard Arabic
+arc=Aramaic
+ard=Arabana
+are=Western Arrarnta
+arf=Arafundi
+arg=Aragonese
+arh=Arhuaco
+ari=Arikara
+arj=Arapaso
+ark=Arikapú
+arl=Arabela
+arn=Araucanian
+aro=Araona
+arp=Arapaho
+arq=Algerian Spoken Arabic
+arr=Karo (Brazil)
+ars=Najdi Spoken Arabic
+aru=Arua
+arv=Arbore
+arw=Arawak
+arx=Aruá
+ary=Moroccan Spoken Arabic
+arz=Egyptian Spoken Arabic
+asa=Asu (Tanzania)
+asb=Assiniboine
+asc=Casuarina Coast Asmat
+asd=Asas
+ase=American Sign Language
+asf=Australian Sign Language
+asg=Cishingini
+ash=Abishira
+asi=Buruwai
+asj=Nsari
+ask=Ashkun
+asl=Asilulu
+asm=Assamese
+asn=Xingú Asuriní
+aso=Dano
+asp=Algerian Sign Language
+asq=Austrian Sign Language
+asr=Asuri
+ass=Ipulo
+ast=Asturian; Bable
+asu=Asuriní
+asv=Asoa
+asw=Australian Aborigines Sign Language
+asx=Muratayak
+asy=Yaosakor Asmat
+asz=As
+ata=Pele-Ata
+atb=Zaiwa
+atc=Atsahuaca
+atd=Ata Manobo
+ate=Atemble
+atf=Atuence
+atg=Ivbie North-Okpela-Arhe
+ati=Attié
+atj=Atikamekw
+atk=Ati
+atl=Mt. Iraya Agta
+atm=Ata
+atn=Ashtiani
+ato=Atong
+atp=Pudtol Atta
+atq=Aralle-Tabulahan
+atr=Atruahí
+ats=Gros Ventre
+att=Pamplona Atta
+atu=Reel
+atv=Northern Altai
+atw=Atsugewi
+atx=Arutani
+aty=Aneityum
+atz=Arta
+aua=Asumboa
+auc=Waorani
+aud=Anuta
+aue==/Kx'au//'ein
+aug=Aguna
+auh=Aushi
+aui=Anuki
+auj=Awjilah
+auk=Heyo
+aul=Aulua
+aum=Asu (Nigeria)
+aun=Molmo One
+auo=Auyokawa
+aup=Makayam
+auq=Anus
+aur=Aruek
+aut=Austral
+auu=Auye
+auv=Auvergnat
+auw=Awyi
+aux=Aurá
+auy=Awiyaana
+auz=Uzbeki Spoken Arabic
+ava=Avaric
+avb=Avau
+avd=Alviri-Vidari
+ave=Avestan
+avi=Avikam
+avl=Eastern Egyptian Bedawi Spoken Arabic
+avn=Avatime
+avo=Agavotaguerra
+avs=Aushiri
+avt=Au
+avu=Avokaya
+avv=Avá-Canoeiro
+awa=Awadhi
+awb=Awa
+awc=Western Acipa
+awe=Awetí
+awh=Awbono
+awi=Aekyom
+awk=Awabakal
+awm=Arawum
+awn=Awngi
+awo=Awak
+awr=Awera
+aws=South Awyu
+awt=Araweté
+awu=Central Awyu
+awv=Jair Awyu
+aww=Awun
+awx=Awara
+awy=Edera Awyu
+axb=Abipon
+axg=Mato Grosso Arára
+axk=Yaka (Central African Republic)
+axm=Middle Armenian
+axx=Xaragure
+aya=Awar
+ayb=Ayizo Gbe
+ayc=Southern Aymara
+ayd=Ayabadhu
+aye=Ayere
+ayg=Ginyanga
+ayh=Hadrami Spoken Arabic
+ayi=Leyigha
+ayk=Akuku
+ayl=Libyan Spoken Arabic
+aym=Aymara
+ayn=Sanaani Spoken Arabic
+ayo=Ayoreo
+ayp=North Mesopotamian Spoken Arabic
+ayq=Ayi (Papua New Guinea)
+ayr=Central Aymara
+ays=Sorsogon Ayta
+ayt=Bataan Ayta
+ayu=Ayu
+ayx=Ayi (China)
+ayy=Tayabas Ayta
+ayz=Mai Brat
+azb=South Azerbaijani
+aze=Azerbaijani
+azg=San Pedro Amuzgos Amuzgo
+azj=North Azerbaijani
+azm=Ipalapa Amuzgo
+azo=Awing
+azr=Adzera
+azt=Faire Atta
+azz=Highland Puebla Nahuatl
+baa=Babatana
+bab=Bainouk-Gunyuño
+bac=Badui
+bae=Baré
+baf=Nubaca
+bag=Tuki
+bah=Bahamas Creole English
+baj=Barakai
+bak=Bashkir
+bal=Baluchi
+bam=Bambara
+ban=Balinese
+bao=Waimaha
+bap=Bantawa
+bar=Bavarian
+bas=Basa (Cameroon)
+bau=Bada (Nigeria)
+bav=Vengo
+baw=Bambili-Bambui
+bax=Bamun
+bay=Batuley
+baz=Tunen
+bba=Baatonum
+bbb=Barai
+bbc=Batak Toba
+bbd=Bau
+bbe=Bangba
+bbf=Baibai
+bbg=Barama
+bbh=Bugan
+bbi=Barombi
+bbj=Ghomálá'
+bbk=Babanki
+bbl=Bats
+bbm=Babango
+bbn=Uneapa
+bbo=Northern Bobo Madaré
+bbp=West Central Banda
+bbq=Bamali
+bbr=Girawa
+bbs=Bakpinka
+bbt=Mburku
+bbu=Kulung (Nigeria)
+bbv=Karnai
+bbw=Baba
+bbx=Bubia
+bby=Befang
+bbz=Babalia Creole Arabic
+bca=Central Bai
+bcb=Bainouk-Samik
+bcc=Southern Balochi
+bcd=North Babar
+bce=Bamenyam
+bcf=Bamu
+bcg=Baga Binari
+bch=Bariai
+bci=Baoulé
+bcj=Bardi
+bck=Bunaba
+bcl=Central Bicolano
+bcm=Bannoni
+bcn=Bali (Nigeria)
+bco=Kaluli
+bcp=Bali (Democratic Republic of Congo)
+bcq=Bench
+bcr=Babine
+bcs=Kohumono
+bct=Bendi
+bcu=Awad Bing
+bcv=Shoo-Minda-Nye
+bcw=Bana
+bcx=Pamona
+bcy=Bacama
+bcz=Bainouk-Gunyaamolo
+bda=Bayot
+bdb=Basap
+bdc=Emberá-Baudó
+bdd=Bunama
+bde=Bade
+bdg=Bonggi
+bdh=Baka (Sudan)
+bdi=Burun
+bdj=Bai
+bdk=Budukh
+bdl=Indonesian Bajau
+bdm=Buduma
+bdn=Baldemu
+bdo=Bernde
+bdp=Bende
+bdq=Bahnar
+bdr=West Coast Bajau
+bds=Burunge
+bdt=Bokoto
+bdu=Oroko
+bdv=Bodo Parja
+bdw=Baham
+bdx=Budong-Budong
+bdy=Bandjalang
+bdz=Badeshi
+bea=Beaver
+beb=Bebele
+bec=Iceve-Maci
+bed=Bedoanas
+bee=Byangsi
+bef=Benabena
+beg=Belait
+beh=Biali
+bei=Bekati'
+bej=Beja
+bek=Bebeli
+bel=Belarusian
+bem=Bemba (Zambia)
+ben=Bengali
+beo=Beami
+bep=Besoa
+beq=Beembe
+bes=Besme
+bet=Guiberoua Béte
+beu=Blagar
+bev=Daloa Bété
+bew=Betawi
+bex=Jur Modo
+bey=Beli (Papua New Guinea)
+bez=Bena (Tanzania)
+bfa=Bari
+bfb=Pauri Bareli
+bfc=Northern Bai
+bfd=Bafut
+bfe=Betaf
+bff=Bofi
+bfg=Busang Kayan
+bfh=Blafe
+bfi=British Sign Language
+bfj=Bafanji
+bfk=Ban Khor Sign Language
+bfl=Banda-Ndélé
+bfm=Mmen
+bfn=Bunak
+bfo=Malba Birifor
+bfp=Beba
+bfq=Badaga
+bfr=Bazigar
+bfs=Southern Bai
+bft=Balti
+bfu=Gahri
+bfw=Bondo
+bfy=Bagheli
+bfz=Mahasu Pahari
+bga=Gwamhi-Wuri
+bgb=Bobongko
+bgc=Haryanvi
+bgd=Rathwi Bareli
+bge=Bauria
+bgf=Bangandu
+bgg=Bugun
+bgh=Bogan
+bgi=Giangan
+bgj=Bangolan
+bgk=Bit
+bgl=Bo (Laos)
+bgm=Baga Mboteni
+bgn=Western Balochi
+bgo=Baga Koga
+bgp=Eastern Balochi
+bgq=Bagri
+bgr=Bawm Chin
+bgs=Tagabawa
+bgt=Bughotu
+bgu=Mbongno
+bgv=Warkay-Bipim
+bgw=Bhatri
+bgx=Balkan Gagauz Turkish
+bgy=Benggoi
+bgz=Banggai
+bha=Bharia
+bhb=Bhili
+bhc=Biga
+bhd=Bhadrawahi
+bhe=Bhaya
+bhf=Odiai
+bhg=Binandere
+bhh=Bukharic
+bhi=Bhilali
+bhj=Bahing
+bhk=Albay Bicolano
+bhl=Bimin
+bhm=Bathari
+bhn=Bohtan Neo-Aramaic
+bho=Bhojpuri
+bhp=Bima
+bhq=Tukang Besi South
+bhr=Bara Malagasy
+bhs=Buwal
+bht=Bhattiyali
+bhu=Bhunjia
+bhv=Bahau
+bhw=Biak
+bhx=Bhalay
+bhy=Bhele
+bhz=Bada (Indonesia)
+bia=Badimaya
+bib=Bissa
+bic=Bikaru
+bid=Bidiyo
+bie=Bepour
+bif=Biafada
+big=Biangai
+bih=Bihari
+bii=Bisu
+bij=Vaghat-Ya-Bijim-Legeri
+bik=Bikol
+bil=Bile
+bim=Bimoba
+bin=Bini
+bio=Nai
+bip=Bila
+biq=Bipi
+bir=Bisorio
+bis=Bislama
+bit=Berinomo
+biu=Biete
+biv=Southern Birifor
+biw=Kol (Cameroon)
+bix=Bijori
+biy=Birhor
+biz=Baloi
+bja=Budza
+bjb=Banggarla
+bjc=Bariji
+bjd=Bandjigali
+bje=Biao-Jiao Mien
+bjf=Barzani Jewish Neo-Aramaic
+bjg=Bidyogo
+bjh=Bahinemo
+bji=Burji
+bjj=Kanauji
+bjk=Barok
+bjl=Bulu (Papua New Guinea)
+bjm=Bajelani
+bjn=Banjar
+bjo=Mid-Southern Banda
+bjq=Southern Betsimisaraka Malagasy
+bjr=Binumarien
+bjs=Bajan
+bjt=Balanta-Ganja
+bju=Busuu
+bjv=Bedjond
+bjw=Bakwé
+bjx=Banao Itneg
+bjy=Bayali
+bjz=Baruga
+bka=Kyak
+bkb=Finallig
+bkc=Baka (Cameroon)
+bkd=Binukid
+bke=Bengkulu
+bkf=Beeke
+bkg=Buraka
+bkh=Bakoko
+bki=Baki
+bkj=Pande
+bkk=Brokskat
+bkl=Berik
+bkm=Kom (Cameroon)
+bkn=Bukitan
+bko=Kwa'
+bkp=Boko (Democratic Republic of Congo)
+bkq=Bakairí
+bkr=Bakumpai
+bks=Masbate Sorsogon
+bkt=Boloki
+bku=Buhid
+bkv=Bekwarra
+bkw=Bekwil
+bkx=Baikeno
+bky=Bokyi
+bkz=Bungku
+bla=Siksika
+blb=Bilua
+blc=Bella Coola
+bld=Bolango
+ble=Balanta-Kentohe
+blf=Buol
+blg=Balau
+blh=Kuwaa
+bli=Bolia
+blj=Bolongan
+blk=Pa'o Karen
+bll=Biloxi
+blm=Beli (Sudan)
+bln=Southern Catanduanes Bicolano
+blo=Anii
+blp=Blablanga
+blq=Baluan-Pam
+blr=Blang
+bls=Balaesang
+blt=Tai Dam
+blu=Hmong Njua
+blv=Bolo
+blw=Balangao
+blx=Mag-Indi Ayta
+bly=Notre
+blz=Balantak
+bma=Lame
+bmb=Bembe
+bmc=Biem
+bmd=Baga Manduri
+bme=Limassa
+bmf=Bom
+bmg=Bamwe
+bmh=Kein
+bmi=Bagirmi
+bmj=Bote-Majhi
+bmk=Ghayavi
+bml=Bomboli
+bmm=Northern Betsimisaraka Malagasy
+bmn=Bina (Papua New Guinea)
+bmo=Bambalang
+bmp=Bulgebi
+bmq=Bomu
+bmr=Muinane
+bms=Bilma Kanuri
+bmt=Biao Mon
+bmu=Burum-Mindik
+bmv=Bum
+bmw=Bomwali
+bmx=Baimak
+bmy=Bemba (Democratic Republic of Congo)
+bmz=Baramu
+bna=Bonerate
+bnb=Bookan
+bnc=Central Bontoc
+bnd=Banda (Indonesia)
+bne=Bintauna
+bnf=Masiwang
+bng=Benga
+bnh=Banawá
+bni=Bangi
+bnj=Eastern Tawbuid
+bnk=Bierebo
+bnl=Boon
+bnm=Batanga
+bnn=Bunun
+bno=Bantoanon
+bnp=Bola
+bnq=Bantik
+bnr=Butmas-Tur
+bns=Bundeli
+bnu=Bentong
+bnv=Bonerif
+bnw=Bisis
+bnx=Bangubangu
+bny=Bintulu
+bnz=Beezen
+boa=Bora
+bob=Boni
+boc=Bakung Kenyah
+bod=Tibetan
+boe=Mundabli
+bof=Bolon
+bog=Bamako Sign Language
+boh=Boma
+boi=Barbareño
+boj=Anjam
+bok=Bonjo
+bol=Bole
+bom=Berom
+bon=Bine
+boo=Tièma Cièwè Bozo
+bop=Bonkiman
+boq=Bogaya
+bor=Borôro
+bos=Bosnian
+bot=Bongo
+bou=Bondei
+bov=Tuwuli
+bow=Rema
+box=Buamu
+boy=Bodo (Central African Republic)
+boz=Tiéyaxo Bozo
+bpa=Dakaka
+bpb=Barbacoas
+bpd=Banda-Banda
+bpg=Bonggo
+bph=Botlikh
+bpi=Bagupi
+bpj=Binji
+bpk=Orowe
+bpl=Broome Pearling Lugger Pidgin
+bpm=Biyom
+bpn=Dzao Min
+bpo=Anasi
+bpp=Kaure
+bpq=Banda Malay
+bpr=Koronadal Blaan
+bps=Sarangani Blaan
+bpt=Barrow Point
+bpu=Bongu
+bpv=Bian Marind
+bpw=Bo (Papua New Guinea)
+bpx=Palya Bareli
+bpy=Bishnupriya
+bpz=Bilba
+bqa=Tchumbuli
+bqb=Bagusa
+bqc=Boko (Benin)
+bqd=Bung
+bqe=Navarro-Labourdin Basque
+bqf=Baga Kaloum
+bqg=Bago-Kusuntu
+bqh=Baima
+bqi=Bakhtiari
+bqj=Bandial
+bqk=Banda-Mbrès
+bql=Bilakura
+bqm=Wumboko
+bqn=Bulgarian Sign Language
+bqo=Balo
+bqp=Busa
+bqq=Biritai
+bqr=Burusu
+bqs=Bosngun
+bqt=Bamukumbit
+bqu=Boguru
+bqv=Begbere-Ejar
+bqw=Buru (Nigeria)
+bqx=Baangi
+bqy=Bali Sign Language
+bqz=Bakaka
+bra=Braj
+brb=Lave
+brc=Berbice Creole Dutch
+brd=Baraamu
+bre=Breton
+brf=Bera
+brg=Baure
+brh=Brahui
+bri=Mokpwe
+brj=Bieria
+brk=Birked
+brl=Birwa
+brm=Barambu
+brn=Boruca
+bro=Brokkat
+brp=Barapasi
+brq=Breri
+brr=Birao
+brs=Baras
+brt=Bitare
+bru=Eastern Bru
+brv=Western Bru
+brw=Bellari
+brx=Bodo (India)
+bry=Burui
+brz=Bilbil
+bsa=Abinomn
+bsb=Brunei Bisaya
+bsc=Bassari
+bsd=Sarawak Bisaya
+bse=Wushi
+bsf=Bauchi
+bsg=Bashkardi
+bsh=Kati
+bsi=Bassossi
+bsj=Bangwinji
+bsk=Burushaski
+bsl=Basa-Gumna
+bsm=Busami
+bsn=Barasana
+bso=Buso
+bsp=Baga Sitemu
+bsq=Bassa
+bsr=Bassa-Kontagora
+bss=Akoose
+bst=Basketo
+bsu=Bahonsuai
+bsv=Baga Sobané
+bsw=Baiso
+bsx=Yangkam
+bsy=Sabah Bisaya
+bsz=Souletin Basque
+bta=Bata
+btb=Beti (Cameroon)
+btc=Bati (Cameroon)
+btd=Batak Dairi
+bte=Gamo-Ningi
+btf=Birgit
+btg=Gagnoa Bété
+bth=Biatah
+bti=Burate
+btj=Bacanese Malay
+btl=Bhatola
+btm=Batak Mandailing
+btn=Ratagnon
+bto=Iriga Bicolano
+btp=Budibud
+btq=Batek
+btr=Baetora
+bts=Batak Simalungun
+btt=Bete-Bendi
+btu=Batu
+btv=Bateri
+btw=Butuanon
+btx=Batak Karo
+bty=Bobot
+btz=Batak Alas-Kluet
+bua=Buriat
+bub=Bua
+buc=Bushi
+bud=Ntcham
+bue=Beothuk
+buf=Bushoong
+bug=Buginese
+buh=Younuo Bunu
+bui=Bongili
+buj=Basa-Gurmana
+buk=Bugawac
+bul=Bulgarian
+bum=Bulu (Cameroon)
+bun=Sherbro
+buo=Terei
+bup=Busoa
+buq=Brem
+bus=Bokobaru
+but=Bungain
+buu=Budu
+buv=Bun
+buw=Bubi
+bux=Boghom
+buy=Bullom So
+buz=Bukwen
+bva=Barein
+bvb=Bube
+bvc=Baelelea
+bvd=Baeggu
+bve=Berau Malay
+bvf=Boor
+bvg=Bonkeng
+bvh=Bure
+bvi=Belanda Viri
+bvj=Baan
+bvk=Bukat
+bvl=Bolivian Sign Language
+bvm=Bamunka
+bvn=Buna
+bvo=Bolgo
+bvq=Birri
+bvr=Burarra
+bvs=Belgian Sign Language
+bvt=Bati (Indonesia)
+bvu=Bukit Malay
+bvv=Baniva
+bvw=Boga
+bvx=Dibole
+bvz=Bauzi
+bwa=Bwatoo
+bwb=Namosi-Naitasiri-Serua
+bwc=Bwile
+bwd=Bwaidoka
+bwe=Bwe Karen
+bwf=Boselewa
+bwg=Barwe
+bwh=Bishuo
+bwi=Baniwa
+bwj=Láá Láá Bwamu
+bwk=Bauwaki
+bwl=Bwela
+bwm=Biwat
+bwn=Wunai Bunu
+bwo=Boro
+bwp=Mandobo Bawah
+bwq=Southern Bobo Madaré
+bwr=Bura-Pabir
+bws=Bomboma
+bwt=Bafaw-Balong
+bwu=Buli (Ghana)
+bwv=Bahau River Kenyah
+bww=Bwa
+bwx=Bu-Nao Bunu
+bwy=Cwi Bwamu
+bwz=Bwisi
+bxa=Bauro
+bxb=Belanda Bor
+bxc=Molengue
+bxd=Pela
+bxe=Birale
+bxf=Bilur
+bxg=Bangala
+bxh=Buhutu
+bxi=Pirlatapa
+bxj=Bayungu
+bxk=Bukusu
+bxl=Jalkunan
+bxm=Mongolia Buriat
+bxn=Burduna
+bxo=Barikanchi
+bxp=Bebil
+bxq=Beele
+bxr=Russia Buriat
+bxs=Busam
+bxt=Buxinhua
+bxu=China Buriat
+bxv=Berakou
+bxw=Bankagooma
+bxx=Borna
+bxz=Binahari
+bya=Batak
+byb=Bikya
+byc=Ubaghara
+byd=Benyadu'
+bye=Pouye
+byf=Bete
+byg=Baygo
+byh=Bujhyal
+byi=Buyu
+byj=Bina (Nigeria)
+byk=Biao
+byl=Bayono
+bym=Bidyara
+byn=Blin; Bilin
+byo=Biyo
+byp=Bumaji
+byq=Basay
+byr=Baruya
+bys=Burak
+byt=Berti
+byu=Buyang
+byv=Medumba
+byw=Belhariya
+byx=Qaqet
+byy=Buya
+byz=Banaro
+bza=Bandi
+bzb=Andio
+bzd=Bribri
+bze=Jenaama Bozo
+bzf=Boikin
+bzg=Babuza
+bzh=Mapos Buang
+bzj=Belize Kriol English
+bzk=Nicaragua Creole English
+bzl=Boano (Sulawesi)
+bzm=Bolondo
+bzn=Boano (Maluku)
+bzo=Bozaba
+bzp=Kemberano
+bzq=Buli (Indonesia)
+bzr=Biri
+bzs=Brazilian Sign Language
+bzt=Brithenig
+bzu=Burmeso
+bzv=Bebe
+bzw=Basa (Nigeria)
+bzx=Hainyaxo Bozo
+bzy=Obanliku
+bzz=Evant
+caa=Chortí
+cab=Garifuna
+cac=San Sebastián Coatán Chuj
+cad=Caddo
+cae=Lehar
+caf=Southern Carrier
+cag=Nivaclé
+cah=Cahuarano
+caj=Chané
+cak=Central Cakchiquel
+cal=Carolinian
+cam=Cemuhî
+can=Chambri
+cao=Chácobo
+cap=Chipaya
+caq=Car Nicobarese
+car=Carib
+cas=Tsimané
+cat=Catalan
+cav=Cavineña
+caw=Callawalla
+cax=Chiquitano
+cay=Cayuga
+caz=Canichana
+cbb=Cabiyarí
+cbc=Carapana
+cbd=Carijona
+cbe=Chipiajes
+cbg=Chimila
+cbh=Cagua
+cbi=Chachi
+cbj=Ede Cabe
+cbk=Chavacano
+cbl=Bualkhaw Chin
+cbm=Yepocapa Southwestern Cakchiquel
+cbn=Nyahkur
+cbo=Izora
+cbr=Cashibo-Cacataibo
+cbs=Cashinahua
+cbt=Chayahuita
+cbu=Candoshi-Shapra
+cbv=Cacua
+cby=Carabayo
+cca=Cauca
+ccc=Chamicuro
+ccd=Cafundo Creole
+cce=Chopi
+ccg=Samba Daka
+cch=Atsam
+ccj=Kasanga
+ccl=Cutchi-Swahili
+ccm=Malaccan Creole Malay
+cco=Comaltepec Chinantec
+ccp=Chakma
+ccq=Chaungtha
+ccr=Cacaopera
+ccx=Northern Zhuang
+ccy=Southern Zhuang
+cda=Choni
+cde=Chenchu
+cdf=Chiru
+cdg=Chamari
+cdh=Chambeali
+cdi=Chodri
+cdj=Churahi
+cdm=Chepang
+cdn=Chaudangsi
+cdo=Min Dong Chinese
+cdr=Cinda-Regi-Tiyal
+cds=Chadian Sign Language
+cdz=Koda
+cea=Lower Chehalis
+ceb=Cebuano
+ceg=Chamacoco
+ces=Czech
+cet=Centúúm
+cfa=Dijim-Bwilim
+cfd=Cara
+cfg=Como Karim
+cga=Changriwa
+cgc=Kagayanen
+cgg=Chiga
+cgk=Chocangacakha
+cha=Chamorro
+chb=Chibcha
+chc=Catawba
+chd=Highland Oaxaca Chontal
+che=Chechen
+chf=Tabasco Chontal
+chg=Chagatai
+chh=Chinook
+chj=Ojitlán Chinantec
+chk=Chuukese
+chl=Cahuilla
+chm=Mari (Russia)
+chn=Chinook jargon
+cho=Choctaw
+chp=Chipewyan
+chq=Quiotepec Chinantec
+chr=Cherokee
+chs=Chumash
+cht=Cholón
+chu=Church Slavic
+chv=Chuvash
+chw=Chuwabu
+chx=Chantyal
+chy=Cheyenne
+chz=Ozumacín Chinantec
+cia=Cia-Cia
+cib=Ci Gbe
+cic=Chickasaw
+cid=Chimariko
+cie=Cineni
+cih=Chinali
+cik=Chitkuli Kinnauri
+cim=Cimbrian
+cin=Cinta Larga
+cip=Chiapanec
+cir=Tiri
+cit=Chittagonian
+ciw=Chippewa
+ciy=Chaima
+cja=Western Cham
+cje=Chru
+cjh=Upper Chehalis
+cji=Chamalal
+cjk=Chokwe
+cjm=Eastern Cham
+cjn=Chenapian
+cjo=Ashéninka Pajonal
+cjp=Cabécar
+cjr=Chorotega
+cjs=Shor
+cjv=Chuave
+cjy=Jinyu Chinese
+cka=Khumi Awa Chin
+ckb=Central Kurdish
+ckc=Northern Cakchiquel
+ckd=South Central Cakchiquel
+cke=Eastern Cakchiquel
+ckf=Southern Cakchiquel
+ckh=Chak
+cki=Santa María De Jesús Cakchiquel
+ckj=Santo Domingo Xenacoj Cakchiquel
+ckk=Acatenango Southwestern Cakchiquel
+ckl=Cibak
+cko=Anufo
+ckq=Kajakse
+ckr=Kairak
+cks=Tayo
+ckt=Chukot
+cku=Koasati
+ckv=Kavalan
+ckw=Western Cakchiquel
+ckx=Caka
+cky=Cakfem-Mushere
+ckz=Cakchiquel-Quiché Mixed Language
+cla=Ron
+clc=Chilcotin
+cld=Chaldean Neo-Aramaic
+cle=Lealao Chinantec
+clh=Chilisso
+cli=Chakali
+clk=Idu-Mishmi
+cll=Chala
+clm=Clallam
+clo=Lowland Oaxaca Chontal
+clu=Caluyanun
+clw=Chulym
+cly=Eastern Highland Chatino
+cma=Maa
+cme=Cerma
+cmg=Classical Mongolian
+cmi=Emberá-Chamí
+cmk=Chimakum
+cml=Campalagian
+cmm=Michigamea
+cmn=Mandarin Chinese
+cmo=Central Mnong
+cmr=Mro Chin
+cms=Messapic
+cmt=Camtho
+cna=Changthang
+cnb=Chinbon Chin
+cnc=Côông
+cng=Northern Qiang
+cnh=Haka Chin
+cni=Asháninka
+cnk=Khumi Chin
+cnl=Lalana Chinantec
+cnm=Ixtatán Chuj
+cno=Con
+cns=Central Asmat
+cnt=Tepetotutla Chinantec
+cnu=Chenoua
+cnw=Ngawn Chin
+cnx=Middle Cornish
+coa=Cocos Islands Malay
+cob=Chicomuceltec
+coc=Cocopa
+cod=Cocama-Cocamilla
+coe=Koreguaje
+cof=Colorado
+cog=Chong
+coh=Chonyi
+coj=Cochimi
+cok=Santa Teresa Cora
+col=Columbia-Wenatchi
+com=Comanche
+con=Cofán
+coo=Comox
+cop=Coptic
+coq=Coquille
+cor=Cornish
+cos=Corsican
+cot=Caquinte
+cou=Wamey
+cov=Cao Miao
+cow=Cowlitz
+cox=Nanti
+coy=Coyaima
+coz=Chochotec
+cpa=Palantla Chinantec
+cpb=Ucayali-Yurúa Ashéninka
+cpc=Ajyíninka Apurucayali
+cpg=Cappadocian Greek
+cpi=Chinese Pidgin English
+cpn=Cherepon
+cps=Capiznon
+cpu=Pichis Ashéninka
+cpx=Pu-Xian Chinese
+cpy=South Ucayali Ashéninka
+cql=Ceqli
+cqu=Chilean Quechua
+cra=Chara
+crb=Island Carib
+crc=Lonwolwol
+crd=Coeur d'Alene
+cre=Cree
+crf=Caramanta
+crg=Michif
+crh=Crimean Turkish; Crimean Tatar
+cri=Sãotomense
+crj=Southern East Cree
+crk=Plains Cree
+crl=Northern East Cree
+crm=Moose Cree
+crn=El Nayar Cora
+cro=Crow
+crq=Iyo'wujwa Chorote
+crr=Carolina Algonquian
+crs=Seselwa Creole French
+crt=Iyojwa'ja Chorote
+cru=Carútana
+crv=Chaura
+crw=Chrau
+crx=Carrier
+cry=Cori
+crz=Cruzeño
+csa=Chiltepec Chinantec
+csb=Kashubian
+csc=Catalonian Sign Language
+csd=Chiangmai Sign Language
+cse=Czech Sign Language
+csf=Cuba Sign Language
+csg=Chilean Sign Language
+csh=Asho Chin
+csi=Coast Miwok
+csk=Jola-Kasa
+csl=Chinese Sign Language
+csm=Central Sierra Miwok
+csn=Colombian Sign Language
+cso=Sochiapan Chinantec
+csq=Croatia Sign Language
+csr=Costa Rican Sign Language
+css=Southern Ohlone
+cst=Northern Ohlone
+csw=Swampy Cree
+csy=Siyin Chin
+csz=Coos
+cta=Tataltepec Chatino
+ctc=Chetco
+ctd=Tedim Chin
+cte=Tepinapa Chinantec
+cti=Tila Chol
+ctl=Tlacoatzintepec Chinantec
+ctm=Chitimacha
+ctn=Chhintange
+cto=Emberá-Catío
+ctp=Western Highland Chatino
+cts=Northern Catanduanes Bicolano
+ctu=Tumbalá Chol
+ctz=Zacatepec Chatino
+cua=Cua
+cub=Cubeo
+cuc=Usila Chinantec
+cug=Cung
+cuh=Chuka
+cui=Cuiba
+cuj=Mashco Piro
+cuk=San Blas Kuna
+cul=Culina
+cum=Cumeral
+cun=Cunén Quiché
+cuo=Cumanagoto
+cup=Cupeño
+cuq=Cun
+cur=Chhulung
+cut=Teutila Cuicatec
+cuu=Tai Ya
+cuv=Cuvok
+cuw=Chukwa
+cux=Tepeuxila Cuicatec
+cvn=Valle Nacional Chinantec
+cwa=Kabwa
+cwb=Maindo
+cwd=Woods Cree
+cwe=Kwere
+cwg=Chewong
+cwt=Kuwaataay
+cya=Nopala Chatino
+cyb=Cayubaba
+cym=Welsh
+cyo=Cuyonon
+czh=Huizhou Chinese
+czk=Knaanic
+czn=Zenzontepec Chatino
+czo=Min Zhong Chinese
+czt=Zotung Chin
+daa=Dangaléat
+dac=Dambi
+dad=Marik
+dae=Duupa
+daf=Dan
+dag=Dagbani
+dah=Gwahatike
+dai=Day
+daj=Dar Fur Daju
+dak=Dakota
+dal=Dahalo
+dan=Danish
+dao=Daai Chin
+dap=Nisi
+daq=Dandami Maria
+dar=Dargwa
+das=Daho-Doo
+dat=Darang Deng
+dau=Dar Sila Daju
+dav=Taita
+daw=Davawenyo
+dax=Dayi
+daz=Dao
+dba=Bangeri Me Dogon
+dbb=Deno
+dbd=Dadiya
+dbe=Dabe
+dbf=Edopi
+dbg=Dogul Dom Dogon
+dbi=Doka
+dbj=Ida'an
+dbl=Dyirbal
+dbm=Duguri
+dbn=Duriankere
+dbo=Dulbu
+dbp=Duwai
+dbq=Daba
+dbr=Dabarre
+dbu=Bondum Dom Dogon
+dbv=Dungu
+dby=Dibiyaso
+dcc=Deccan
+dcr=Negerhollands
+ddd=Dongotono
+dde=Doondo
+ddg=Fataluku
+ddi=Diodio
+ddj=Jaru
+ddn=Dendi (Benin)
+ddo=Dido
+dds=Donno So Dogon
+ddw=Dawera-Daweloor
+dea=Delason
+dec=Dagik
+ded=Dedua
+dee=Dewoin
+def=Dezfuli
+deg=Degema
+deh=Dehwari
+dei=Demisa
+dek=Dek
+del=Delaware
+dem=Dem
+den=Slave (Athapascan)
+dep=Pidgin Delaware
+deq=Dendi (Central African Republic)
+der=Deori
+des=Desano
+deu=German
+dev=Domung
+dez=Dengese
+dga=Southern Dagaare
+dgc=Casiguran Dumagat Agta
+dgd=Dagaari Dioula
+dge=Degenan
+dgg=Doga
+dgh=Dghwede
+dgi=Northern Dagara
+dgk=Dagba
+dgn=Dagoman
+dgo=Dogri (specific)
+dgr=Dogrib
+dgs=Dogoso
+dgu=Degaru
+dgx=Doghoro
+dgz=Daga
+dha=Dhanwar (India)
+dhd=Dhundari
+dhg=Dhangu
+dhi=Dhimal
+dhl=Dhalandji
+dhm=Zemba
+dhn=Dhanki
+dho=Dhodia
+dhr=Dhargari
+dhs=Dhaiso
+dhu=Dhurga
+dhv=Dehu
+dhw=Dhanwar (Nepal)
+dia=Dia
+dib=South Central Dinka
+dic=Lakota Dida
+did=Didinga
+dif=Dieri
+dig=Digo
+dih=Kumiai
+dii=Dimbong
+dij=Dai
+dik=Southwestern Dinka
+dil=Dilling
+dim=Dime
+din=Dinka
+dio=Dibo
+dip=Northeastern Dinka
+diq=Dimli
+dir=Dirim
+dis=Dimasa
+dit=Dirari
+diu=Diriku
+div=Divehi
+diw=Northwestern Dinka
+dix=Dixon Reef
+diy=Diuwe
+diz=Ding
+djb=Djinba
+djc=Dar Daju Daju
+djd=Djamindjung
+dje=Zarma
+djf=Djangun
+dji=Djinang
+djj=Djeebbana
+djk=Aukan
+djl=Djiwarli
+djm=Jamsay Dogon
+djn=Djauan
+djo=Djongkang
+djr=Djambarrpuyngu
+dju=Kapriman
+djw=Djawi
+dka=Dakpakha
+dkk=Dakka
+dkl=Kolum So Dogon
+dkr=Kuijau
+dks=Southeastern Dinka
+dkx=Mazagway
+dlg=Dolgan
+dlm=Dalmatian
+dln=Darlong
+dma=Duma
+dmc=Dimir
+dme=Dugwor
+dmg=Upper Kinabatangan
+dmk=Domaaki
+dml=Dameli
+dmm=Dama
+dmo=Kemezung
+dmr=East Damar
+dms=Dampelas
+dmu=Dubu
+dmv=Dumpas
+dmx=Dema
+dmy=Demta
+dna=Upper Grand Valley Dani
+dnd=Daonda
+dne=Ndendeule
+dng=Dungan
+dni=Lower Grand Valley Dani
+dnk=Dengka
+dnn=Dzùùngoo
+dnr=Danaru
+dnt=Mid Grand Valley Dani
+dnu=Danau
+dnw=Western Dani
+dny=Dení
+doa=Dom
+dob=Dobu
+doc=Northern Dong
+doe=Doe
+dof=Domu
+doh=Dong
+doi=Dogri (generic)
+dok=Dondo
+dol=Doso
+don=Toura (Papua New Guinea)
+doo=Dongo
+dop=Lukpa
+doq=Dominican Sign Language
+dor=Dori'o
+dos=Dogosé
+dot=Dass
+dov=Dombe
+dow=Doyayo
+dox=Bussa
+doy=Dompo
+doz=Dorze
+dpp=Papar
+drb=Dair
+drd=Darmiya
+dre=Dolpo
+drg=Rungus
+drh=Darkhat
+dri=C'lela
+drl=Darling
+drn=West Damar
+dro=Daro-Matu
+drq=Dura
+drr=Dororo
+drs=Gedeo
+drt=Drents
+dru=Rukai
+drw=Darwazi
+dry=Darai
+dsb=Sorbian, Lower
+dse=Dutch Sign Language
+dsh=Daasanach
+dsi=Disa
+dsl=Danish Sign Language
+dsn=Dusner
+dso=Desiya Oriya
+dsq=Tadaksahak
+dta=Daur
+dtb=Labuk-Kinabatangan Kadazan
+dtk=Tene Kan Dogon
+dtm=Tomo Kan Dogon
+dtp=Central Dusun
+dtr=Lotud
+dts=Toro So Dogon
+dtt=Toro Tegu Dogon
+dua=Duala
+dub=Dubli
+duc=Duna
+dud=Hun-Saare
+due=Umiray Dumaget Agta
+duf=Dumbea
+dug=Duruma
+duh=Dungra Bhil
+dui=Dumun
+duj=Dhuwal
+duk=Duduela
+dul=Alabat Island Agta
+dum=Dutch, Middle (ca.1050-1350)
+dun=Dusun Deyah
+duo=Dupaninan Agta
+dup=Duano'
+duq=Dusun Malang
+dur=Dii
+dus=Dumi
+duu=Drung
+duv=Duvle
+duw=Dusun Witu
+dux=Duungooma
+duy=Dicamay Agta
+duz=Duli
+dva=Duau
+dwa=Diri
+dws=Dutton World Speedwords
+dww=Dawawa
+dya=Dyan
+dyb=Dyaberdyaber
+dyd=Dyugun
+dyg=Villa Viciosa Agta
+dyi=Djimini Senoufo
+dyk=Land Dayak
+dyn=Dyangadi
+dyo=Jola-Fonyi
+dyu=Dyula
+dyy=Dyaabugay
+dza=Duguza
+dzd=Daza
+dzg=Dazaga
+dzl=Dzalakha
+dzn=Dzando
+dzo=Dzongkha
+ebg=Ebughu
+ebo=Teke-Ebo
+ebr=Ebrié
+ebu=Embu
+ecr=Eteocretan
+ecs=Ecuadorian Sign Language
+ecy=Eteocypriot
+eee=E
+efa=Efai
+efe=Efe
+efi=Efik
+ega=Ega
+ego=Eggon
+egy=Egyptian (Ancient)
+ehu=Ehueun
+eip=Eipomek
+eit=Eitiep
+eiv=Askopan
+eja=Ejamat
+eka=Ekajuk
+eke=Ekit
+ekg=Ekari
+eki=Eki
+ekm=Elip
+eko=Koti
+ekp=Ekpeye
+ekr=Yace
+eky=Eastern Kayah
+ele=Elepi
+elh=El Hugeirat
+eli=Nding
+elk=Elkei
+ell=Greek, Modern (1453-)
+elm=Eleme
+elo=El Molo
+elp=Elpaputih
+elu=Elu
+elx=Elamite
+ema=Emai-Iuleha-Ora
+emb=Embaloh
+eme=Emerillon
+emg=Eastern Meohang
+emi=Mussau-Emira
+emk=Eastern Maninkakan
+eml=Emiliano-Romagnolo
+emm=Mamulique
+emn=Eman
+emo=Emok
+emp=Northern Emberá
+ems=Pacific Gulf Yupik
+emu=Eastern Muria
+emw=Emplawas
+emy=Epigraphic Mayan
+ena=Apali
+enb=Endo
+enc=En
+end=Ende
+enf=Forest Enets
+eng=English
+enh=Tundra Enets
+eni=Enim
+enm=English, Middle (1100-1500)
+enn=Engenni
+eno=Enggano
+enq=Enga
+enr=Emumu
+env=Enwan (Edu State)
+enw=Enwan (Akwa Ibom State)
+eot=Beti (Côte d'Ivoire)
+epi=Epie
+epo=Esperanto
+erg=Sie
+erh=Eruwa
+eri=Ogea
+erk=South Efate
+ero=Horpa
+err=Erre
+ers=Ersu
+ert=Eritai
+erw=Erokwanas
+ese=Ese Ejja
+esh=Eshtehardi
+esi=North Alaskan Inupiatun
+esk=Northwest Alaska Inupiatun
+esl=Egypt Sign Language
+esm=Esuma
+esn=Salvadoran Sign Language
+eso=Estonian Sign Language
+esq=Esselen
+ess=Central Siberian Yupik
+est=Estonian
+esu=Central Yupik
+etb=Etebi
+etc=Etchemin
+eth=Ethiopian Sign Language
+etn=Eton (Vanuatu)
+eto=Eton (Cameroon)
+etr=Edolo
+ets=Yekhee
+ett=Etruscan
+etu=Ejagham
+etx=Eten
+etz=Semimi
+eur=Europanto
+eus=Basque
+eve=Even
+evh=Uvbie
+evn=Evenki
+ewe=Ewe
+ewo=Ewondo
+ext=Extremaduran
+eya=Eyak
+eze=Uzekwe
+faa=Fasu
+fab=Fa D'ambu
+fad=Wagi
+faf=Fagani
+fag=Finongan
+fah=Fali Of Baissa
+fai=Faiwol
+faj=Faita
+fak=Fang (Cameroon)
+fal=South Fali
+fam=Fam
+fan=Fang (Equatorial Guinea)
+fao=Faroese
+fap=Palor
+far=Fataleka
+fas=Persian
+fat=Fanti
+fau=Fayu
+fax=Fala
+fay=Southwestern Fars
+faz=Northwestern Fars
+fcs=Quebec Sign Language
+fer=Feroge
+ffm=Maasina Fulfulde
+fgr=Fongoro
+fia=Nobiin
+fie=Fyer
+fij=Fijian
+fil=Filipino; Pilipino
+fin=Finnish
+fip=Fipa
+fir=Firan
+fit=Tornedalen Finnish
+fiw=Fiwaga
+fiz=Izere
+fkv=Kven Finnish
+fla=Kalispel-Pend d'Oreille
+flh=Foau
+fli=Fali
+fll=North Fali
+flm=Falam Chin
+fln=Flinders Island
+flr=Fuliiru
+fly=Tsotsitaal
+fmp=Fe'fe'
+fmu=Far Western Muria
+fng=Fanagalo
+fni=Fania
+fod=Foodo
+foi=Foi
+fom=Foma
+fon=Fon
+for=Fore
+fos=Siraya
+fpe=Fernando Po Creole English
+fqs=Fas
+fra=French
+frc=Cajun French
+frd=Fordata
+frk=Frankish
+frm=French, Middle (ca.1400-1600)
+fro=French, Old (842-Ca.1400)
+frp=Franco-Provençal
+frq=Forak
+frr=Northern Frisian
+frs=Eastern Frisian
+frt=Fortsenal
+fry=Frisian
+fse=Finnish Sign Language
+fsl=French Sign Language
+fss=Finnish-Swedish Sign Language
+fub=Adamawa Fulfulde
+fuc=Pulaar
+fud=East Futuna
+fue=Borgu Fulfulde
+fuf=Pular
+fuh=Western Niger Fulfulde
+fui=Bagirmi Fulfulde
+fuj=Ko
+ful=Fulah
+fum=Fum
+fun=Fulniô
+fuq=Central-Eastern Niger Fulfulde
+fur=Friulian
+fut=Futuna-Aniwa
+fuu=Furu
+fuv=Nigerian Fulfulde
+fuy=Fuyug
+fvr=Fur
+fwa=Fwâi
+fwe=Fwe
+gaa=Ga
+gab=Gabri
+gad=Gaddang
+gae=Guarequena
+gaf=Gende
+gag=Gagauz
+gah=Alekano
+gai=Borei
+gaj=Gadsup
+gak=Gamkonora
+gal=Galoli
+gam=Kandawo
+gan=Gan Chinese
+gao=Gants
+gap=Gal
+gaq=Gata'
+gar=Galeya
+gas=Adiwasi Garasia
+gat=Kenati
+gau=Mudhili Gadaba
+gav=Gabutamon
+gaw=Nobonob
+gax=Borana-Arsi-Guji Oromo
+gay=Gayo
+gaz=West Central Oromo
+gba=Gbaya (Central African Republic)
+gbb=Kaytetye
+gbc=Garawa
+gbd=Karadjeri
+gbe=Niksek
+gbf=Gaikundi
+gbg=Gbanziri
+gbh=Defi Gbe
+gbi=Galela
+gbj=Bodo Gadaba
+gbk=Gaddi
+gbl=Gamit
+gbm=Garhwali
+gbn=Mo'da
+gbo=Northern Grebo
+gbp=Gbaya-Bossangoa
+gbq=Gbaya-Bozoum
+gbr=Gbagyi
+gbs=Gbesi Gbe
+gbu=Gagadu
+gbv=Gbanu
+gbx=Eastern Xwla Gbe
+gby=Gbari
+gbz=Zoroastrian Dari
+gcc=Mali
+gcd=Ganggalida
+gce=Galice
+gcf=Guadeloupean Creole French
+gcl=Grenadian Creole English
+gcn=Gaina
+gcr=Guianese Creole French
+gct=Colonia Tovar German
+gda=Gade Lohar
+gdb=Pottangi Ollar Gadaba
+gdc=Gugu Badhun
+gdd=Gedaged
+gde=Gude
+gdf=Guduf-Gava
+gdg=Ga'dang
+gdh=Gadjerawang
+gdi=Gundi
+gdj=Gurdjar
+gdk=Gadang
+gdl=Dirasha
+gdm=Laal
+gdn=Umanakaina
+gdo=Ghodoberi
+gdq=Mehri
+gdr=Wipi
+gdu=Gudu
+gdx=Godwari
+gea=Geruma
+geb=Kire
+gec=Gboloo Grebo
+ged=Gade
+geg=Gengle
+geh=Hutterite German
+gei=Gebe
+gej=Gen
+gek=Yiwom
+gel=Kag-Fer-Jiir-Koor-Ror-Us-Zuksun
+gen=Geman Deng
+geq=Geme
+ges=Geser-Gorom
+gew=Gera
+gex=Garre
+gey=Enya
+gez=Geez
+gfk=Patpatar
+gft=Gafat
+gga=Gao
+ggb=Gbii
+ggd=Gugadj
+gge=Guragone
+ggg=Gurgula
+ggh=Garreh-Ajuran
+ggk=Kungarakany
+ggl=Ganglau
+ggn=Eastern Gurung
+ggo=Southern Gondi
+ggr=Aghu Tharnggalu
+ggt=Gitua
+ggu=Gagu
+ggw=Gogodala
+gha=Ghadamès
+ghc=Hiberno-Scottish Gaelic
+ghe=Southern Ghale
+ghh=Northern Ghale
+ghk=Geko Karen
+ghl=Ghulfan
+ghn=Ghanongga
+gho=Ghomara
+ghr=Ghera
+ghs=Guhu-Samane
+ght=Kutang Ghale
+gia=Kitja
+gib=Gibanawa
+gic=Gail
+gid=Gidar
+gig=Goaria
+gil=Gilbertese
+gim=Gimi (Eastern Highlands)
+gin=Hinukh
+gio=Gelao
+gip=Gimi (West New Britain)
+giq=Green Gelao
+gir=Red Gelao
+gis=North Giziga
+git=Gitxsan
+giw=White Gelao
+gix=Gilima
+giy=Giyug
+giz=South Giziga
+gji=Geji
+gjk=Kachi Koli
+gjn=Gonja
+gju=Gujari
+gka=Guya
+gke=Ndai
+gkn=Gokana
+gkp=Guinea Kpelle
+gla=Gaelic (Scots)
+glc=Bon Gula
+gld=Nanai
+gle=Irish
+glg=Gallegan
+glh=Northwest Pashayi
+gli=Guliguli
+glj=Gula Iro
+glk=Gilaki
+glo=Galambu
+glr=Glaro-Twabo
+gls=Glosa
+glu=Gula (Chad)
+glv=Manx
+glw=Glavda
+gly=Gule
+gma=Gambera
+gmb=Gula'alaa
+gmd=Mághdì
+gmh=German, Middle High (ca.1050-1500)
+gmn=Gimnime
+gmo=Gamo-Gofa-Dawro
+gmu=Gumalu
+gmx=Magoma
+gmy=Mycenaean Greek
+gna=Kaansa
+gnb=Gangte
+gnc=Guanche
+gnd=Zulgo-Gemzek
+gng=Ngangam
+gnh=Lere
+gni=Gooniyandi
+gnk=//Gana
+gnl=Gangulu
+gnm=Ginuman
+gnn=Gumatj
+gno=Northern Gondi
+gnq=Gana
+gnr=Gureng Gureng
+gnt=Guntai
+gnu=Gnau
+gnw=Western Bolivian Guaraní
+gnz=Ganzi
+goa=Guro
+gob=Playero
+goc=Gorakor
+god=Godié
+goe=Gongduk
+gog=Gogo
+goh=German, Old High (ca.750-1050)
+goi=Gobasi
+goj=Gowlan
+gok=Gowli
+gol=Gola
+gom=Goanese Konkani
+gon=Gondi
+goo=Gone Dau
+gop=Yeretuar
+goq=Gorap
+gor=Gorontalo
+gos=Gronings
+got=Gothic
+gou=Gavar
+gow=Gorowa
+gox=Gobu
+goy=Goundo
+goz=Gozarkhani
+gpa=Gupa-Abawa
+gpn=Taiap
+gqa=Ga'anda
+gqi=Guiqiong
+gqn=Guana (Brazil)
+gqr=Gor
+gra=Rajput Garasia
+grb=Grebo
+grc=Greek, Ancient (to 1453)
+grd=Guruntum-Mbaaru
+grg=Madi
+grh=Gbiri-Niragu
+gri=Ghari
+grj=Southern Grebo
+grm=Kota Marudu Talantang
+grn=Guarani
+gro=Groma
+grq=Gorovu
+grr=Taznatit
+grs=Gresi
+grt=Garo
+gru=Kistane
+grv=Central Grebo
+grw=Gweda
+grx=Guriaso
+gry=Barclayville Grebo
+grz=Guramalum
+gsc=Gascon
+gse=Ghanaian Sign Language
+gsg=German Sign Language
+gsl=Gusilay
+gsm=Guatemalan Sign Language
+gsn=Gusan
+gsp=Wasembo
+gss=Greek Sign Language
+gsw=Schwyzerdütsch
+gta=Guató
+gti=Gbati-ri
+gua=Shiki
+gub=Guajajára
+guc=Wayuu
+gud=Yocoboué Dida
+gue=Gurinji
+guf=Gupapuyngu
+gug=Paraguayan Guaraní
+guh=Guahibo
+gui=Eastern Bolivian Guaraní
+guj=Gujarati
+guk=Gumuz
+gul=Sea Island Creole English
+gum=Guambiano
+gun=Mbyá Guaraní
+guo=Guayabero
+gup=Gunwinggu
+guq=Aché
+gur=Farefare
+gus=Guinean Sign Language
+gut=Maléku Jaíka
+guu=Yanomamö
+guv=Gey
+guw=Gun
+gux=Gourmanchéma
+guz=Gusii
+gva=Guana (Paraguay)
+gvc=Guanano
+gve=Duwet
+gvf=Golin
+gvj=Guajá
+gvl=Gulay
+gvm=Gurmana
+gvn=Kuku-Yalanji
+gvo=Gavião Do Jiparaná
+gvp=Pará Gavião
+gvr=Western Gurung
+gvs=Gumawana
+gvy=Guyani
+gwa=Mbato
+gwb=Gwa
+gwc=Kalami
+gwd=Gawwada
+gwe=Gweno
+gwf=Gowro
+gwg=Moo
+gwi=Gwich´in
+gwj=/Gwi
+gwn=Gwandara
+gwr=Gwere
+gwt=Gawar-Bati
+gwu=Guwamu
+gww=Kwini
+gwx=Gua
+gxx=Wè Southern
+gya=Northwest Gbaya
+gyb=Garus
+gyd=Kayardild
+gye=Gyem
+gyf=Gungabula
+gyg=Gbayi
+gyi=Gyele
+gym=Ngäbere
+gyn=Guyanese Creole English
+gyr=Guarayu
+gyy=Gunya
+gza=Ganza
+gzi=Gazi
+gzn=Gane
+haa=Han
+hab=Hanoi Sign Language
+hac=Gurani
+had=Hatam
+hae=Eastern Oromo
+haf=Haiphong Sign Language
+hag=Hanga
+hah=Hahon
+hai=Haida
+haj=Hajong
+hak=Hakka Chinese
+hal=Halang
+ham=Hewa
+han=Hangaza
+hao=Hakö
+hap=Hupla
+haq=Ha
+har=Harari
+has=Haisla
+hat=Haitian; Haitian Creole
+hau=Hausa
+hav=Havu
+haw=Hawaiian
+hax=Southern Haida
+hay=Haya
+haz=Hazaragi
+hba=Hamba
+hbb=Huba
+hbn=Heiban
+hbo=Ancient Hebrew
+hbs=Serbo-Croatian
+hbu=Habu
+hca=Andaman Creole Hindi
+hch=Huichol
+hdn=Northern Haida
+hds=Honduras Sign Language
+hdy=Hadiyya
+hea=Northern Qiandong Hmong
+heb=Hebrew
+hed=Herdé
+heg=Helong
+heh=Hehe
+hei=Heiltsuk
+hem=Hemba
+her=Herero
+hgm=Hai//om
+hgw=Haigwai
+hhr=Kerak
+hia=Lamang
+hib=Hibito
+hid=Hidatsa
+hif=Fijian Hindustani
+hig=Kamwe
+hih=Pamosu
+hii=Hinduri
+hij=Hijuk
+hik=Seit-Kaitetu
+hil=Hiligaynon
+hin=Hindi
+hio=Tsoa
+hir=Himarimã
+hit=Hittite
+hiw=Hiw
+hix=Hixkaryána
+hka=Kahe
+hke=Hunde
+hla=Halia
+hlb=Halbi
+hld=Halang Doan
+hlt=Nga La
+hlu=Hieroglyphic Luwian
+hma=Southern Mashan Hmong
+hmb=Humburi Senni Songhay
+hmc=Central Huishui Hmong
+hmd=Northeastern Dian Hmong
+hme=Eastern Huishui Hmong
+hmf=Hmong Don
+hmg=Southwestern Guiyang Hmong
+hmh=Southwestern Huishui Hmong
+hmi=Northern Huishui Hmong
+hmj=Chonganjiang Hmong
+hmk=Maek
+hml=Luopohe Hmong
+hmm=Central Mashan Hmong
+hmn=Hmong
+hmo=Hiri Motu
+hmp=Northern Mashan Hmong
+hmq=Eastern Qiandong Hmong
+hmr=Hmar
+hms=Southern Qiandong Hmong
+hmt=Hamtai
+hmu=Hamap
+hmv=Hmong Dô
+hmw=Western Mashan Hmong
+hmy=Southern Guiyang Hmong
+hmz=Hmong Shua
+hna=Mina (Cameroon)
+hnd=Southern Hindko
+hne=Chhattisgarhi
+hnh=//Ani
+hni=Hani
+hnn=Hanunoo
+hno=Northern Hindko
+hns=Caribbean Hindustani
+hnu=Hung
+hoa=Hoava
+hob=Mari (Madang Province)
+hoc=Ho
+hod=Holma
+hoe=Horom
+hoh=Hobyót
+hoi=Holikachuk
+hoj=Harauti
+hol=Holu
+hom=Homa
+hoo=Holoholo
+hop=Hopi
+hor=Horo
+hos=Ho Chi Minh City Sign Language
+hot=Hote
+hov=Hovongan
+how=Honi
+hoy=Holiya
+hoz=Hozo
+hpo=Hpon
+hps=Hawai'i Pidgin Sign Language
+hra=Hrangkhol
+hre=Hre
+hrk=Haruku
+hro=Haroi
+hrr=Horuru
+hrt=Hértevin
+hru=Hruso
+hrv=Croatian
+hrz=Harzani
+hsb=Sorbian, Upper
+hsf=Southeastern Huastec
+hsh=Hungarian Sign Language
+hsl=Hausa Sign Language
+hsn=Xiang Chinese
+hss=Harsusi
+hti=Hoti
+hto=Minica Huitoto
+hts=Hadza
+htu=Hitu
+htx=Middle Hittite
+hub=Huambisa
+huc==/Hua
+hud=Huaulu
+hue=San Francisco Del Mar Huave
+huf=Humene
+hug=Huachipaeri
+huh=Huilliche
+hui=Huli
+huj=Northern Guiyang Hmong
+huk=Hulung
+hul=Hula
+hum=Hungana
+hun=Hungarian
+huo=Hu
+hup=Hupa
+huq=Tsat
+hur=Halkomelem
+hus=Veracruz Huastec
+hut=Humla
+huu=Murui Huitoto
+huv=San Mateo Del Mar Huave
+huw=Hukumina
+hux=Nüpode Huitoto
+huy=Hulaulá
+huz=Hunzib
+hva=San Luís Potosí Huastec
+hvc=Haitian Vodoun Culture Language
+hve=San Dionisio Del Mar Huave
+hvk=Haveke
+hvn=Sabu
+hvv=Santa María Del Mar Huave
+hwa=Wané
+hwc=Hawai'i Creole English
+hwo=Hwana
+hya=Hya
+hye=Armenian
+iai=Iaai
+ian=Iatmul
+iap=Iapama
+iar=Purari
+iba=Iban
+ibb=Ibibio
+ibd=Iwaidja
+ibe=Akpes
+ibg=Ibanag
+ibi=Ibilo
+ibl=Ibaloi
+ibm=Agoi
+ibn=Ibino
+ibo=Igbo
+ibr=Ibuoro
+ibu=Ibu
+iby=Ibani
+ica=Ede Ica
+ich=Etkywan
+icl=Icelandic Sign Language
+icr=Islander Creole English
+ida=Idakho-Isukha-Tiriki
+idb=Indo-Portuguese
+idc=Idon
+idd=Ede Idaca
+ide=Idere
+idi=Idi
+ido=Ido
+idr=Indri
+ids=Idesa
+idt=Idaté
+idu=Idoma
+ifa=Amganad Ifugao
+ifb=Batad Ifugao
+ife=Ifè
+iff=Ifo
+ifk=Tuwali Ifugao
+ifm=Teke-Fuumu
+ifu=Mayoyao Ifugao
+ify=Keley-I Kallahan
+igb=Ebira
+ige=Igede
+igg=Igana
+igl=Igala
+igm=Kanggape
+ign=Ignaciano
+igo=Isebe
+igs=Interglossa
+igw=Igwe
+ihb=Iha Based Pidgin
+ihi=Ihievbe
+ihp=Iha
+iii=Yi, Sichuan
+ijc=Izon
+ije=Biseni
+ijj=Ede Ije
+ijn=Kalabari
+ijs=Southeast Ijo
+ike=Eastern Canadian Inuktitut
+iki=Iko
+ikk=Ika
+ikl=Ikulu
+iko=Olulumo-Ikom
+ikp=Ikpeshi
+ikt=Western Canadian Inuktitut
+iku=Inuktitut
+ikv=Iku-Gora-Ankwa
+ikw=Ikwere
+ikx=Ik
+ikz=Ikizu
+ila=Ile Ape
+ilb=Ila
+ile=Interlingue
+ilg=Garig-Ilgar
+ili=Ili Turki
+ilk=Ilongot
+ill=Iranun
+ilo=Iloko
+ilu=Ili'uun
+ilv=Ilue
+ilw=Talur
+ime=Imeraguen
+imi=Anamgura
+iml=Miluk
+imn=Imonda
+imo=Imbongu
+imr=Imroing
+ims=Marsian
+imy=Milyan
+ina=Interlingua (International Auxiliary Language Association)
+inb=Inga
+ind=Indonesian
+ing=Degexit'an
+inh=Ingush
+inj=Jungle Inga
+inl=Indonesian Sign Language
+inm=Minaean
+inn=Isinai
+ino=Inoke-Yate
+inp=Iñapari
+ins=Indian Sign Language
+int=Intha
+inz=Ineseño
+ior=Inor
+iou=Tuma-Irumu
+iow=Iowa-Oto
+ipi=Ipili
+ipk=Inupiaq
+ipo=Ipiko
+iqu=Iquito
+ire=Iresim
+irh=Irarutu
+iri=Irigwe
+irk=Iraqw
+irn=Irántxe
+irr=Ir
+iru=Irula
+irx=Kamberau
+iry=Iraya
+isa=Isabi
+isc=Isconahua
+isd=Isnag
+ise=Italian Sign Language
+isg=Irish Sign Language
+ish=Esan
+isi=Nkem-Nkum
+isl=Icelandic
+ism=Masimasi
+isn=Isanzu
+iso=Isoko
+isr=Israeli Sign Language
+ist=Istriot
+isu=Isu (Menchum Division)
+ita=Italian
+itb=Binongan Itneg
+ite=Itene
+iti=Inlaod Itneg
+itk=Judeo-Italian
+itl=Itelmen
+itm=Itu Mbon Uzo
+ito=Itonama
+itr=Iteri
+its=Isekiri
+itt=Maeng Itneg
+itu=Itutang
+itv=Itawit
+itw=Ito
+itx=Itik
+ity=Moyadan Itneg
+itz=Itzá
+ium=Iu Mien
+ivb=Ibatan
+ivv=Ivatan
+iwk=I-Wak
+iwm=Iwam
+iwo=Iwur
+iws=Sepik Iwam
+ixc=Ixcatec
+ixi=Nebaj Ixil
+ixj=Chajul Ixil
+ixl=San Juan Cotzal Ixil
+iya=Iyayu
+iyo=Mesaka
+iyx=Yaka (Congo)
+izh=Ingrian
+izi=Izi-Ezaa-Ikwo-Mgbo
+jaa=Jamamadí
+jab=Hyam
+jac=Eastern Jacalteco
+jad=Jahanka
+jae=Yabem
+jaf=Jara
+jah=Jah Hut
+jai=Western Jacalteco
+jaj=Zazao
+jak=Jakun
+jal=Yalahatan
+jam=Jamaican Creole English
+jao=Yanyuwa
+jap=Jaruára
+jaq=Yaqay
+jar=Jarawa (Nigeria)
+jas=New Caledonian Javanese
+jat=Jakati
+jau=Yaur
+jav=Javanese
+jax=Jambi Malay
+jay=Jarnango
+jaz=Jawe
+jbe=Judeo-Berber
+jbj=Arandai
+jbn=Nafusi
+jbo=Lojban
+jbt=Jabutí
+jbu=Jukun Takum
+jcs=Jamaican Country Sign Language
+jct=Judeo-Crimean Tatar
+jda=Jad
+jdg=Jadgali
+jdt=Judeo-Tat
+jeb=Jebero
+jee=Jerung
+jeg=Jeng
+jeh=Jeh
+jei=Yei
+jek=Jeri Kuo
+jel=Yelmek
+jen=Dza
+jer=Jere
+jet=Manem
+jeu=Jonkor Bourmataguil
+jgb=Ngbee
+jge=Judeo-Georgian
+jgo=Ngomba
+jhi=Jehai
+jia=Jina
+jib=Jibu
+jic=Tol
+jid=Bu
+jie=Jilbe
+jig=Djingili
+jih=Shangzhai
+jii=Jiiddu
+jil=Jilim
+jim=Jimi (Cameroon)
+jio=Jiamao
+jiq=Guanyinqiao
+jit=Jita
+jiu=Youle Jinuo
+jiv=Shuar
+jiy=Buyuan Jinuo
+jkl=Jakelimotu
+jko=Kubo
+jku=Labir
+jle=Ngile
+jma=Dima
+jmb=Zumbun
+jmc=Machame
+jmd=Yamdena
+jmi=Jimi (Nigeria)
+jml=Jumli
+jmr=Kamara
+jms=Mashi (Nigeria)
+jmx=Western Juxtlahuaca Mixtec
+jna=Jangshung
+jnd=Jandavra
+jng=Yangman
+jni=Janji
+jnj=Yemsa
+jnl=Rawat
+jns=Jaunsari
+job=Joba
+jod=Wojenaka
+jor=Jorá
+jos=Jordanian Sign Language
+jow=Jowulu
+jpn=Japanese
+jpr=Judeo-Persian
+jqr=Jaqaru
+jra=Jarai
+jrb=Judeo-Arabic
+jrr=Jiru
+jrt=Jorto
+jru=Japrería
+jsl=Japanese Sign Language
+jua=Júma
+jub=Wannu
+juc=Jurchen
+jud=Worodougou
+juh=Hõne
+juk=Wapan
+jul=Jirel
+jum=Jumjum
+jun=Juang
+juo=Jiba
+jup=Hupdë
+jur=Jurúna
+jut=Jutish
+juu=Ju
+juw=Wãpha
+juy=Juray
+jvn=Caribbean Javanese
+jwi=Jwira-Pepesa
+jya=Jiarong
+jye=Judeo-Yemeni Arabic
+jyy=Jaya
+kaa=Kara-Kalpak
+kab=Kabyle
+kac=Kachin
+kad=Kadara
+kae=Ketangalan
+kag=Kajaman
+kah=Kara (Central African Republic)
+kai=Karekare
+kaj=Jju
+kak=Kayapa Kallahan
+kal=Kalaallisut
+kam=Kamba (Kenya)
+kan=Kannada
+kao=Xaasongaxango
+kap=Bezhta
+kaq=Capanahua
+kas=Kashmiri
+kat=Georgian
+kau=Kanuri
+kav=Katukína
+kaw=Kawi
+kax=Kao
+kay=Kamayurá
+kaz=Kazakh
+kba=Kalarko
+kbb=Kaxuiâna
+kbc=Kadiwéu
+kbd=Kabardian
+kbe=Kanju
+kbf=Kakauhua
+kbg=Khamba
+kbh=Camsá
+kbj=Kari
+kbk=Grass Koiari
+kbl=Kanembu
+kbm=Iwal
+kbn=Kare (Central African Republic)
+kbo=Keliko
+kbp=Kabiyé
+kbq=Kamano
+kbr=Kafa
+kbs=Kande
+kbt=Abadi
+kbu=Kabutra
+kbv=Dera (Indonesia)
+kbw=Kaiep
+kbx=Ap Ma
+kby=Manga Kanuri
+kbz=Duhwa
+kca=Khanty
+kcb=Kawacha
+kcc=Lubila
+kcd=Ngkâlmpw Kanum
+kce=Kaivi
+kcf=Ukaan
+kcg=Tyap
+kch=Vono
+kci=Kamantan
+kcj=Kobiana
+kck=Kalanga
+kcl=Kela (Papua New Guinea)
+kcm=Gula (Central African Republic)
+kcn=Nubi
+kco=Kinalakna
+kcp=Kanga
+kcq=Kamo
+kcr=Katla
+kcs=Koenoem
+kct=Kaian
+kcu=Kami (Tanzania)
+kcv=Kete
+kcw=Kabwari
+kcx=Kachama-Ganjule
+kcy=Korandje
+kcz=Konongo
+kda=Worimi
+kdc=Kutu
+kdd=Yankunytjatjara
+kde=Makonde
+kdf=Mamusi
+kdg=Seba
+kdh=Tem
+kdi=Kumam
+kdj=Karamojong
+kdk=Numee
+kdl=Tsikimba
+kdm=Kagoma
+kdn=Kunda
+kdp=Kaningdon-Nindem
+kdq=Koch
+kdr=Karaim
+kds=Lahu Shi
+kdt=Kuy
+kdu=Kadaru
+kdv=Kado
+kdw=Koneraw
+kdx=Kam
+kdy=Keder
+kdz=Kwaja
+kea=Kabuverdianu
+keb=Kélé
+kec=Keiga
+ked=Kerewe
+kee=Eastern Keres
+kef=Kpessi
+keg=Tese
+kei=Kei
+kej=Kadar
+kek=Kekchí
+kel=Kela (Democratic Republic of Congo)
+kem=Kemak
+ken=Kenyang
+keo=Kakwa
+kep=Kaikadi
+keq=Kamar
+ker=Kera
+kes=Kugbo
+ket=Ket
+keu=Akebu
+kev=Kanikkaran
+kew=West Kewa
+kex=Kukna
+key=Kupia
+kez=Kukele
+kfa=Kodagu
+kfb=Northwestern Kolami
+kfc=Konda-Dora
+kfd=Korra Koraga
+kfe=Kota (India)
+kff=Koya
+kfg=Kudiya
+kfh=Kurichiya
+kfi=Kurumba
+kfj=Kemiehua
+kfk=Kinnauri
+kfl=Kung
+kfm=Khunsari
+kfn=Kuk
+kfo=Koro (Côte d'Ivoire)
+kfp=Korwa
+kfq=Korku
+kfr=Kachchi
+kfs=Bilaspuri
+kft=Kanjari
+kfu=Katkari
+kfv=Kurmukar
+kfw=Kharam Naga
+kfx=Kullu Pahari
+kfy=Kumauni
+kfz=Koromfé
+kga=Koyaga
+kgb=Kawe
+kgc=Kasseng
+kgd=Kataang
+kge=Komering
+kgf=Kube
+kgg=Kusunda
+kgh=Upper Tanudan Kalinga
+kgi=Selangor Sign Language
+kgj=Gamale Kham
+kgk=Kaiwá
+kgl=Kunggari
+kgm=Karipúna
+kgn=Karingani
+kgo=Krongo
+kgp=Kaingáng
+kgq=Kamoro
+kgr=Abun
+kgs=Kumbainggar
+kgt=Somyev
+kgu=Kobol
+kgv=Karas
+kgw=Karon Dori
+kgx=Kamaru
+kgy=Kyerung
+kha=Khasi
+khb=Lü
+khc=Tukang Besi North
+khd=Bädi Kanum
+khe=Korowai
+khf=Khuen
+khg=Khams Tibetan
+khh=Kehu
+khj=Kuturmi
+khk=Halh Mongolian
+khl=Lusi
+khm=Khmer
+khn=Khandesi
+kho=Khotanese
+khp=Kapori
+khq=Koyra Chiini Songhay
+khr=Kharia
+khs=Kasua
+kht=Khamti
+khu=Nkhumbi
+khv=Khvarshi
+khw=Khowar
+khx=Kanu
+khy=Kele (Democratic Republic of Congo)
+khz=Keapara
+kia=Kim
+kib=Koalib
+kic=Kickapoo
+kid=Koshin
+kie=Kibet
+kif=Eastern Parbate
+kig=Kimaama
+kih=Kilmeri
+kii=Kitsai
+kij=Kilivila
+kik=Kikuyu
+kil=Kariya
+kim=Karagas
+kin=Kinyarwanda
+kio=Kiowa
+kip=Sheshi Kham
+kiq=Kosadle
+kir=Kirghiz
+kis=Kis
+kit=Agob
+kiu=Kirmanjki
+kiv=Kimbu
+kiw=Northeast Kiwai
+kiy=Kirikiri
+kiz=Kisi
+kja=Mlap
+kjb=Eastern Kanjobal
+kjc=Coastal Konjo
+kjd=Southern Kiwai
+kje=Kisar
+kjf=Khalaj
+kjg=Khmu
+kjh=Khakas
+kji=Zabana
+kjj=Khinalugh
+kjk=Highland Konjo
+kjl=Western Parbate
+kjm=Kháng
+kjn=Kunjen
+kjo=Harijan Kinnauri
+kjp=Pwo Eastern Karen
+kjq=Western Keres
+kjr=Kurudu
+kjs=East Kewa
+kjt=Phrae Pwo Karen
+kju=Kashaya
+kjx=Ramopa
+kjy=Erave
+kjz=Bumthangkha
+kka=Kakanda
+kkb=Kwerisa
+kkc=Odoodee
+kkd=Kinuku
+kke=Kakabe
+kkg=Mabaka Valley Kalinga
+kkh=Khün
+kki=Kagulu
+kkj=Kako
+kkk=Kokota
+kkl=Kosarek Yale
+kkm=Kiong
+kkn=Kon Keu
+kko=Karko
+kkp=Gugubera
+kkq=Kaiku
+kkr=Kir-Balar
+kks=Giiwo
+kkt=Koi
+kku=Tumi
+kkv=Kangean
+kkw=Teke-Kukuya
+kkx=Kohin
+kky=Guguyimidjir
+kkz=Kaska
+kla=Klamath-Modoc
+klb=Kiliwa
+klc=Kolbila
+kld=Gamilaraay
+kle=Kulung (Nepal)
+klf=Kendeje
+klg=Tagakaulu Kalagan
+klh=Weliki
+kli=Kalumpang
+klj=Turkic Khalaj
+klk=Kono (Nigeria)
+kll=Kagan Kalagan
+klm=Kolom
+kln=Kalenjin
+klo=Kapya
+klp=Kamasa
+klq=Rumu
+klr=Khaling
+kls=Kalasha
+klt=Nukna
+klu=Klao
+klv=Maskelynes
+klw=Lindu
+klx=Koluwawa
+kly=Kalao
+klz=Kabola
+kma=Konni
+kmb=Kimbundu
+kmc=Southern Dong
+kmd=Madukayang Kalinga
+kme=Bakole
+kmf=Kare (Papua New Guinea)
+kmg=Kâte
+kmh=Kalam
+kmi=Kami (Nigeria)
+kmj=Kumarbhag Paharia
+kmk=Limos Kalinga
+kml=Lower Tanudan Kalinga
+kmm=Kom (India)
+kmn=Awtuw
+kmo=Kwoma
+kmp=Gimme
+kmq=Kwama
+kmr=Northern Kurdish
+kms=Kamasau
+kmt=Kemtuik
+kmu=Kanite
+kmv=Karipúna Creole French
+kmw=Komo (Democratic Republic of Congo)
+kmx=Waboda
+kmy=Koma
+kmz=Khorasani Turkish
+kna=Dera (Nigeria)
+knb=Lubuagan Kalinga
+knc=Central Kanuri
+knd=Konda
+kne=Kankanaey
+knf=Mankanya
+kng=Koongo
+knh=Kayan River Kenyah
+kni=Kanufi
+knj=Western Kanjobal
+knk=Kuranko
+knl=Keninjal
+knm=Kanamarí
+knn=Konkani (specific)
+kno=Kono (Sierra Leone)
+knp=Kwanja
+knq=Kintaq
+knr=Kaningra
+kns=Kensiu
+knt=Panoan Katukína
+knu=Kono (Guinea)
+knv=Tabo
+knw=Kung-Ekoka
+knx=Kendayan
+kny=Kanyok
+knz=Kalamsé
+koa=Konomala
+kob=Kohoroxitari
+koc=Kpati
+kod=Kodi
+koe=Kacipo-Balesi
+kof=Kubi
+kog=Cogui
+koh=Koyo
+koi=Komi-Permyak
+koj=Sara Dunjo
+kok=Konkani (generic)
+kol=Kol (Papua New Guinea)
+kom=Komi
+kon=Kongo
+koo=Konjo
+kop=Kwato
+koq=Kota (Gabon)
+kor=Korean
+kos=Kosraean
+kot=Lagwan
+kou=Koke
+kov=Kudu-Camo
+kow=Kugama
+kox=Coxima
+koy=Koyukon
+koz=Korak
+kpa=Kutto
+kpb=Mullu Kurumba
+kpc=Curripaco
+kpd=Koba
+kpe=Kpelle
+kpf=Komba
+kpg=Kapingamarangi
+kph=Kplang
+kpi=Kofei
+kpj=Karajá
+kpk=Kpan
+kpl=Kpala
+kpm=Koho
+kpn=Kepkiriwát
+kpo=Ikposo
+kpp=Paku Karen
+kpq=Korupun-Sela
+kpr=Korafe
+kps=Tehit
+kpt=Karata
+kpu=Kafoa
+kpv=Komi-Zyrian
+kpw=Kobon
+kpx=Mountain Koiali
+kpy=Koryak
+kpz=Kupsabiny
+kqa=Mum
+kqb=Kovai
+kqc=Doromu
+kqd=Koy Sanjaq Surat
+kqe=Kalagan
+kqf=Kakabai
+kqg=Khe
+kqh=Kisankasa
+kqi=Koitabu
+kqj=Koromira
+kqk=Kotafon Gbe
+kql=Kyenele
+kqm=Khisa
+kqn=Kaonde
+kqo=Eastern Krahn
+kqp=Kimré
+kqq=Krenak
+kqr=Kimaragang
+kqs=Northern Kissi
+kqt=Klias River Kadazan
+kqu=Seroa
+kqv=Okolod
+kqw=Kandas
+kqx=Mser
+kqy=Koorete
+kqz=Korana
+kra=Kumhali
+krb=Karkin
+krc=Karachay-Balkar
+krd=Kairui-Midiki
+kre=Kreen-Akarore
+krf=Koro (Vanuatu)
+krg=North Korowai
+krh=Kurama
+kri=Krio
+krj=Kinaray-A
+krk=Kerek
+krl=Karelian
+krm=Krim
+krn=Sapo
+krp=Korop
+krq=Krui
+krr=Kru'ng 2
+krs=Gbaya (Sudan)
+krt=Tumari Kanuri
+kru=Kurukh
+krv=Kravet
+krw=Western Krahn
+krx=Karon
+kry=Kryts
+krz=Sota Kanum
+ksa=Shuwa-Zamani
+ksb=Shambala
+ksc=Southern Kalinga
+ksd=Kuanua
+kse=Kuni
+ksf=Bafia
+ksg=Kusaghe
+ksh=Kölsch
+ksi=Krisa
+ksj=Uare
+ksk=Kansa
+ksl=Kumalu
+ksm=Kumba
+ksn=Kasiguranin
+kso=Kofa
+ksp=Kaba
+ksq=Kwaami
+ksr=Borong
+kss=Southern Kisi
+kst=Winyé
+ksu=Khamyang
+ksv=Kusu
+ksw=S'gaw Karen
+ksx=Kedang
+ksy=Kharia Thar
+ksz=Koraku
+kta=Katua
+ktb=Kambaata
+ktc=Kholok
+ktd=Kokata
+kte=Nubri
+ktf=Kwami
+ktg=Kalkutung
+kth=Karanga
+kti=North Muyu
+ktj=Plapo Krumen
+ktk=Kaniet
+ktl=Koroshi
+ktm=Kurti
+ktn=Karitiâna
+kto=Kuot
+ktp=Kaduo
+ktq=Katabaga
+ktr=Kota Marudu Tinagas
+kts=South Muyu
+ktt=Ketum
+ktu=Kituba (Democratic Republic of Congo)
+ktv=Eastern Katu
+ktw=Kato
+ktx=Kaxararí
+kty=Kango (Bas-Uélé District)
+ktz=Ju/'hoan
+kua=Kuanyama
+kub=Kutep
+kud='Auhelawa
+kue=Kuman
+kuf=Western Katu
+kug=Kupa
+kuh=Kushi
+kui=Kuikúro-Kalapálo
+kuj=Kuria
+kuk=Kepo'
+kul=Kulere
+kum=Kumyk
+kun=Kunama
+kuo=Kumukio
+kup=Kunimaipa
+kuq=Karipuná
+kur=Kurdish
+kus=Kusaal
+kut=Kutenai
+kuu=Upper Kuskokwim
+kuv=Kur
+kuw=Kpagua
+kux=Kukatja
+kuy=Kuuku-Ya'u
+kuz=Kunza
+kva=Bagvalal
+kvb=Kubu
+kvc=Kove
+kvd=Kui (Indonesia)
+kve=Kalabakan
+kvf=Kabalai
+kvg=Kuni-Boazi
+kvh=Komodo
+kvi=Kwang
+kvj=Psikye
+kvk=Korean Sign Language
+kvl=Brek Karen
+kvm=Kendem
+kvn=Border Kuna
+kvo=Dobel
+kvp=Kompane
+kvq=Geba Karen
+kvr=Kerinci
+kvs=Kunggara
+kvt=Lahta Karen
+kvu=Yinbaw Karen
+kvv=Kola
+kvw=Wersing
+kvx=Parkari Koli
+kvy=Yintale Karen
+kvz=Tsakwambo
+kwa=Dâw
+kwb=Kwa
+kwc=Likwala
+kwd=Kwaio
+kwe=Kwerba
+kwf=Kwara'ae
+kwg=Kaba Deme
+kwh=Kowiai
+kwi=Awa-Cuaiquer
+kwj=Kwanga
+kwk=Kwakiutl
+kwl=Kofyar
+kwm=Kwambi
+kwn=Kwangali
+kwo=Kwomtari
+kwp=Kodia
+kwq=Kwak
+kwr=Kwer
+kws=Kwese
+kwt=Kwesten
+kwu=Kwakum
+kwv=Kaba Na
+kww=Kwinti
+kwx=Khirwar
+kwy=San Salvador Kongo
+kwz=Kwadi
+kxa=Kairiru
+kxb=Krobu
+kxc=Komso
+kxd=Brunei
+kxe=Kakihum
+kxf=Manumanaw Karen
+kxg=Katingan
+kxh=Karo (Ethiopia)
+kxi=Keningau Murut
+kxj=Kulfa
+kxk=Zayein Karen
+kxl=Nepali Kurux
+kxm=Northern Khmer
+kxn=Kanowit
+kxo=Kanoé
+kxp=Wadiyara Koli
+kxq=Smärky Kanum
+kxr=Koro (Papua New Guinea)
+kxs=Kangjia
+kxt=Koiwat
+kxu=Kui (India)
+kxv=Kuvi
+kxw=Konai
+kxx=Likuba
+kxy=Kayong
+kxz=Kerewo
+kya=Kwaya
+kyb=Butbut Kalinga
+kyc=Kyaka
+kyd=Karey
+kye=Krache
+kyf=Kouya
+kyg=Keyagana
+kyh=Karok
+kyi=Kiput
+kyj=Karao
+kyk=Kamayo
+kyl=Kalapuya
+kym=Kpatili
+kyn=Karolanos
+kyo=Kelon
+kyp=Kang
+kyq=Kenga
+kyr=Kuruáya
+kys=Baram Kayan
+kyt=Kayagar
+kyu=Western Kayah
+kyv=Kayort
+kyw=Kudmali
+kyx=Rapoisi
+kyy=Kambaira
+kyz=Kayabí
+kza=Western Karaboro
+kzb=Kaibobo
+kzc=Bondoukou Kulango
+kzd=Kadai
+kze=Kosena
+kzf=Da'a Kaili
+kzg=Kikai
+kzh=Kenuzi-Dongola
+kzi=Kelabit
+kzj=Coastal Kadazan
+kzk=Kazukuru
+kzl=Kayeli
+kzm=Kais
+kzn=Kokola
+kzo=Kaningi
+kzp=Kaidipang
+kzq=Kaike
+kzr=Karang
+kzs=Sugut Dusun
+kzt=Tambunan Dusun
+kzu=Kayupulau
+kzv=Komyandaret
+kzw=Karirí-Xocó
+kzx=Kamarian
+kzy=Kango (Tshopo District)
+kzz=Kalabra
+laa=Lapuyan Subanun
+lac=Lacandon
+lad=Ladino
+lae=Pattani
+laf=Lafofa
+lag=Langi
+lah=Lahnda
+lai=Lambya
+laj=Lango (Uganda)
+lak=Laka (Nigeria)
+lal=Lalia
+lam=Lamba
+lan=Laru
+lao=Lao
+lap=Laka (Chad)
+laq=Qabiao
+lar=Larteh
+las=Lama (Togo)
+lat=Latin
+lau=Laba
+lav=Latvian
+law=Lauje
+lax=Tiwa
+lay=Lama (Myanmar)
+laz=Aribwatsa
+lba=Lui
+lbb=Label
+lbc=Lakkia
+lbe=Lak
+lbf=Tinani
+lbg=Laopang
+lbi=La'bi
+lbj=Ladakhi
+lbm=Lodhi
+lbn=Lamet
+lbo=Laven
+lbq=Wampar
+lbr=Northern Lorung
+lbs=Libyan Sign Language
+lbt=Lachi
+lbu=Labu
+lbv=Lavatbura-Lamusong
+lbw=Tolaki
+lbx=Lawangan
+lby=Lamu-Lamu
+lbz=Lardil
+lcc=Legenyem
+lcd=Lola
+lce=Loncong
+lcf=Lubu
+lch=Luchazi
+lcl=Lisela
+lcm=Tungag
+lcp=Western Lawa
+lcq=Luhu
+lcs=Lisabata-Nuniali
+ldb=Idun
+ldd=Luri
+ldg=Lenyima
+ldh=Lamja-Dengsa-Tola
+ldi=Laari
+ldj=Lemoro
+ldk=Leelau
+ldl=Kaan
+ldm=Landoma
+ldn=Láadan
+ldo=Loo
+ldp=Tso
+ldq=Lufu
+lea=Lega-Shabunda
+leb=Lala-Bisa
+lec=Leco
+led=Lendu
+lee=Lyélé
+lef=Lelemi
+leg=Lengua
+leh=Lenje
+lei=Lemio
+lej=Lengola
+lek=Leipon
+lel=Lele (Democratic Republic of Congo)
+lem=Nomaande
+len=Lenca
+leo=Leti (Cameroon)
+lep=Lepcha
+leq=Lembena
+ler=Lenkau
+les=Lese
+let=Lesing-Gelimi
+leu=Kara (Papua New Guinea)
+lev=Lamma
+lew=Ledo Kaili
+lex=Luang
+ley=Lemolang
+lez=Lezghian
+lfa=Lefa
+lga=Lungga
+lgb=Laghu
+lgg=Lugbara
+lgh=Laghuu
+lgi=Lengilu
+lgk=Lingarak
+lgl=Wala
+lgm=Lega-Mwenga
+lgn=Opuuo
+lgq=Logba
+lgr=Lengo
+lgt=Pahi
+lgu=Longgu
+lgz=Ligenza
+lha=Laha (Viet Nam)
+lhh=Laha (Indonesia)
+lhl=Lahul Lohar
+lhm=Lhomi
+lhn=Lahanan
+lhp=Lhokpu
+lhs=Mlahsö
+lht=Toga
+lhu=Lahu
+lia=West-Central Limba
+lib=Likum
+lic=Hlai
+lid=Nyindrou
+lie=Likila
+lif=Limbu
+lig=Ligbi
+lih=Lihir
+lii=Lingkhim
+lij=Ligurian
+lik=Lika
+lil=Lillooet
+lim=Limburgish, Limburger, Limburgan
+lin=Lingala
+lio=Liki
+lip=Sekpele
+liq=Libido
+lir=Liberian English
+lis=Lisu
+lit=Lithuanian
+liu=Logorik
+liv=Liv
+liw=Lembak
+lix=Liabuku
+liy=Banda-Bambari
+liz=Libinza
+lje=Rampi
+lji=Laiyolo
+ljl=Li'o
+ljp=Lampung
+lka=Lakalei
+lke=Kenyi
+lkh=Lakha
+lki=Laki
+lkj=Remun
+lkl=Laeko-Libuat
+lkn=Lakona
+lkr=Päri
+lkt=Lakota
+lky=Lokoya
+lla=Lala-Roba
+llb=Lolo
+llc=Lele (Guinea)
+lld=Ladin
+lle=Lele (Papua New Guinea)
+llf=Hermit
+llg=Lole
+lli=Teke-Laali
+llk=Lelak
+lll=Lilau
+llm=Lasalimu
+lln=Lele (Chad)
+llo=Khlor
+llp=North Efate
+llq=Lolak
+lls=Lithuanian Sign Language
+llu=Lau
+llx=Lauan
+lma=East Limba
+lmb=Merei
+lmc=Limilngan
+lmd=Lumun
+lme=Pévé
+lmf=South Lembata
+lmg=Lamogai
+lmh=Lambichhong
+lmi=Lombi
+lmj=West Lembata
+lmk=Lamkang
+lml=Hano
+lmm=Lamam
+lmn=Lambadi
+lmo=Lombard
+lmp=Limbum
+lmq=Lamatuka
+lmr=Lamalera
+lms=Limousin
+lmt=Lematang
+lmu=Lamenu
+lmv=Lomaiviti
+lmw=Lake Miwok
+lmx=Laimbue
+lmy=Lamboya
+lmz=Lumbee
+lna=Langbashe
+lnb=Mbalanhu
+lnc=Languedocien
+lnd=Lundayeh
+lng=Langobardic
+lnh=Lanoh
+lni=Lantanai
+lnj=Leningitij
+lnl=South Central Banda
+lnm=Langam
+lnn=Lorediakarkar
+lno=Lango (Sudan)
+lnq=Linga
+lns=Lamnso'
+lnt=Lintang
+lnu=Longuda
+lnz=Lonzo
+loa=Loloda
+lob=Lobi
+loc=Inonhan
+lod=Berawan
+loe=Coastal Saluan
+lof=Logol
+log=Logo
+loh=Narim
+loi=Loma (Côte d'Ivoire)
+loj=Lou
+lok=Loko
+lol=Mongo
+lom=Loma (Liberia)
+lon=Malawi Lomwe
+loo=Lombo
+lop=Lopa
+loq=Lobala
+lor=Téén
+los=Loniu
+lot=Otuho
+lou=Louisiana Creole French
+lov=Lopi
+low=Tampias Lobu
+lox=Loun
+loy=Lowa
+loz=Lozi
+lpa=Lelepa
+lpe=Lepki
+lpo=Lipo
+lpx=Lopit
+lra=Lara'
+lrc=Northern Luri
+lre=Laurentian
+lrg=Laragia
+lrk=Loarki
+lrl=Lari
+lrn=Lorang
+lro=Laro
+lrr=Southern Lorung
+lrv=Larevat
+lsa=Lasgerdi
+lsd=Lishana Deni
+lse=Lusengo
+lsg=Lyons Sign Language
+lsi=Lashi
+lsl=Latvian Sign Language
+lso=Laos Sign Language
+lsr=Aruop
+lss=Lasi
+ltc=Late Middle Chinese
+lti=Leti (Indonesia)
+ltu=Latu
+ltz=Letzeburgesch
+lua=Luba-Lulua
+lub=Luba-Katanga
+luc=Aringa
+lud=Ludian
+lue=Luvale
+luf=Laua
+lug=Ganda
+lui=Luiseno
+luj=Luna
+luk=Lunanakha
+lul=Olu'bo
+lum=Luimbi
+lun=Lunda
+luo=Luo (Kenya and Tanzania)
+lup=Lumbu
+luq=Lucumi
+lur=Laura
+lus=Lushai
+lut=Lushootseed
+luu=Lumba-Yakkha
+luv=Luwati
+luw=Luo
+luy=Luyia
+luz=Southern Luri
+lva=Maku'a
+lvk=Lavukaleve
+lvu=Levuka
+lwa=Lwalu
+lwe=Lewo Eleng
+lwh=White Lachi
+lwl=Eastern Lawa
+lwo=Luwo
+lwt=Lewotobi
+lww=Lewo
+lya=Layakha
+lyn=Luyana
+lzl=Litzlitz
+lzz=Laz
+maa=San Jerónimo Tecóatl Mazatec
+mab=Yutanduchi Mixtec
+mad=Madurese
+mae=Bo-Rukul
+maf=Mafa
+mag=Magahi
+mah=Marshall
+mai=Maithili
+maj=Jalapa De Díaz Mazatec
+mak=Makasar
+mal=Malayalam
+mam=Northern Mam
+man=Mandingo
+maq=Chiquihuitlán Mazatec
+mar=Marathi
+mas=Masai
+mat=San Francisco Matlatzinca
+mau=Huautla Mazatec
+mav=Sateré-Mawé
+maw=Mampruli
+max=North Moluccan Malay
+maz=Mazahua Central
+mba=Higaonon
+mbb=Western Bukidnon Manobo
+mbc=Macushi
+mbd=Dibabawon Manobo
+mbe=Molale
+mbf=Baba Malay
+mbg=Northern Nambikuára
+mbh=Mangseng
+mbi=Ilianen Manobo
+mbj=Nadëb
+mbk=Malol
+mbl=Maxakalí
+mbm=Ombamba
+mbn=Macaguán
+mbo=Mbo (Cameroon)
+mbp=Malayo
+mbq=Maisin
+mbr=Nukak Makú
+mbs=Sarangani Manobo
+mbt=Matigsalug Manobo
+mbu=Mbula-Bwazza
+mbv=Mbulungish
+mbw=Maring
+mbx=Mari (East Sepik Province)
+mby=Memoni
+mbz=Amoltepec Mixtec
+mca=Maca
+mcb=Machiguenga
+mcc=Bitur
+mcd=Sharanahua
+mce=Itundujia Mixtec
+mcf=Matsés
+mcg=Mapoyo
+mch=Maquiritari
+mci=Mese
+mcj=Mvanip
+mck=Mbunda
+mcl=Macaguaje
+mcm=Malaccan Creole Portuguese
+mcn=Masana
+mco=Coatlán Mixe
+mcp=Makaa
+mcq=Ese
+mcr=Menya
+mcs=Mambai
+mct=Mengisa
+mcu=Cameroon Mambila
+mcv=Minanibai
+mcw=Mawa (Chad)
+mcx=Mpiemo
+mcy=South Watut
+mcz=Mawan
+mda=Mada (Nigeria)
+mdb=Morigi
+mdc=Male (Papua New Guinea)
+mdd=Mbum
+mde=Maba (Chad)
+mdf=Moksha
+mdg=Massalat
+mdh=Maguindanao
+mdi=Mamvu
+mdj=Mangbetu
+mdk=Mangbutu
+mdl=Maltese Sign Language
+mdm=Mayogo
+mdn=Mbati
+mdo=Southwest Gbaya
+mdp=Mbala
+mdq=Mbole
+mdr=Mandar
+mds=Maria (Papua New Guinea)
+mdt=Mbere
+mdu=Mboko
+mdv=Santa Lucía Monteverde Mixtec
+mdw=Mbosi
+mdx=Dizi
+mdy=Male (Ethiopia)
+mdz=Suruí Do Pará
+mea=Menka
+meb=Ikobi-Mena
+mec=Mara
+med=Melpa
+mee=Mengen
+mef=Megam
+meg=Mea
+meh=Southwestern Tlaxiaco Mixtec
+mei=Midob
+mej=Meyah
+mek=Mekeo
+mel=Melanau
+mem=Mangala
+men=Mende (Sierra Leone)
+meo=Kedah Malay
+mep=Miriwung
+meq=Merey
+mer=Meru
+mes=Masmaje
+met=Mato
+meu=Motu
+mev=Mann
+mew=Maaka
+mey=Hassaniyya
+mez=Menominee
+mfa=Pattani Malay
+mfb=Lom
+mfc=Mba
+mfd=Mendankwe-Nkwen
+mfe=Morisyen
+mff=Naki
+mfg=Mixifore
+mfh=Matal
+mfi=Wandala
+mfj=Mefele
+mfk=North Mofu
+mfl=Putai
+mfm=Marghi South
+mfn=Cross River Mbembe
+mfo=Mbe
+mfp=Makassar Malay
+mfq=Moba
+mfr=Marithiel
+mfs=Mexican Sign Language
+mft=Mokerang
+mfu=Mbwela
+mfv=Mandjak
+mfw=Mulaha
+mfx=Melo
+mfy=Mayo
+mfz=Mabaan
+mga=Irish, Middle (900-1200)
+mgb=Mararit
+mgc=Morokodo
+mgd=Moru
+mge=Mango
+mgf=Maklew
+mgg=Mpongmpong
+mgh=Makhuwa-Meetto
+mgi=Lijili
+mgj=Abureni
+mgk=Mawes
+mgl=Maleu-Kilenge
+mgm=Mambae
+mgn=Mbangi
+mgo=Meta'
+mgp=Eastern Magar
+mgq=Malila
+mgr=Mambwe-Lungu
+mgs=Manda (Tanzania)
+mgt=Mongol
+mgu=Mailu
+mgv=Matengo
+mgw=Matumbi
+mgx=Omati
+mgy=Mbunga
+mgz=Mbugwe
+mha=Manda (India)
+mhb=Mahongwe
+mhc=Mocho
+mhd=Mbugu
+mhe=Besisi
+mhf=Mamaa
+mhg=Margu
+mhh=Maskoy Pidgin
+mhi=Ma'di
+mhj=Mogholi
+mhk=Mungaka
+mhl=Mauwake
+mhm=Makhuwa-Moniga
+mhn=Mócheno
+mho=Mashi (Zambia)
+mhp=Balinese Malay
+mhq=Mandan
+mhr=Eastern Mari
+mhs=Buru (Indonesia)
+mht=Mandahuaca
+mhu=Digaro-Mishmi
+mhv=Arakanese
+mhw=Mbukushu
+mhx=Maru
+mhy=Ma'anyan
+mhz=Mor (Mor Islands)
+mia=Miami
+mib=Atatláhuca Mixtec
+mic=Micmac
+mid=Mandaic
+mie=Ocotepec Mixtec
+mif=Mofu-Gudur
+mig=San Miguel El Grande Mixtec
+mih=Chayuco Mixtec
+mii=Chigmecatitlán Mixtec
+mij=Abar
+mik=Mikasuki
+mil=Peñoles Mixtec
+mim=Alacatlatzala Mixtec
+min=Minangkabau
+mio=Pinotepa Nacional Mixtec
+mip=Apasco-Apoala Mixtec
+miq=Mískito
+mir=Isthmus Mixe
+mit=Southern Puebla Mixtec
+miu=Cacaloxtepec Mixtec
+miv=Mimi
+miw=Akoye
+mix=Mixtepec Mixtec
+miy=Ayutla Mixtec
+miz=Coatzospan Mixtec
+mja=Mahei
+mjc=San Juan Colorado Mixtec
+mjd=Northwest Maidu
+mje=Muskum
+mjg=Tu
+mjh=Mwera (Nyasa)
+mji=Kim Mun
+mjj=Mawak
+mjk=Matukar
+mjl=Mandeali
+mjm=Medebur
+mjn=Ma (Papua New Guinea)
+mjo=Malankuravan
+mjp=Malapandaram
+mjq=Malaryan
+mjr=Malavedan
+mjs=Miship
+mjt=Sauria Paharia
+mju=Manna-Dora
+mjv=Mannan
+mjw=Karbi
+mjx=Mahali
+mjy=Mahican
+mjz=Majhi
+mka=Mbre
+mkb=Mal Paharia
+mkc=Siliput
+mkd=Macedonian
+mke=Mawchi
+mkf=Miya
+mkg=Mak (China)
+mki=Dhatki
+mkj=Mokilese
+mkk=Byep
+mkl=Mokole
+mkm=Moklen
+mkn=Kupang Malay
+mko=Mingang Doso
+mkp=Moikodi
+mkq=Bay Miwok
+mkr=Malas
+mks=Silacayoapan Mixtec
+mkt=Vamale
+mku=Konyanka Maninka
+mkv=Mafea
+mkw=Kituba (Congo)
+mkx=Cinamiguin Manobo
+mky=East Makian
+mkz=Makasae
+mla=Malo
+mlb=Mbule
+mlc=Cao Lan
+mld=Malakhel
+mle=Manambu
+mlf=Mal
+mlg=Malagasy
+mlh=Mape
+mli=Malimpung
+mlj=Miltu
+mlk=Malakote
+mll=Malua Bay
+mlm=Mulam
+mln=Malango
+mlo=Mlomp
+mlp=Bargam
+mlq=Western Maninkakan
+mlr=Vame
+mls=Masalit
+mlt=Maltese
+mlu=To'abaita
+mlv=Motlav
+mlw=Moloko
+mlx=Malfaxal
+mly=Malay (specific)
+mlz=Malaynon
+mma=Mama
+mmb=Momina
+mmc=Michoacán Mazahua
+mmd=Maonan
+mme=Mae
+mmf=Mundat
+mmg=North Ambrym
+mmh=Mehináku
+mmi=Musar
+mmj=Majhwar
+mmk=Mukha-Dora
+mml=Man Met
+mmm=Maii
+mmn=Mamanwa
+mmo=Mangga Buang
+mmp=Musan
+mmq=Musak
+mmr=Western Xiangxi Hmong
+mms=Southern Mam
+mmt=Malalamai
+mmu=Mmaala
+mmv=Miriti
+mmw=Emae
+mmx=Madak
+mmy=Migaama
+mmz=Mabaale
+mna=Mbula
+mnb=Muna
+mnc=Manchu
+mnd=Mondé
+mne=Naba
+mnf=Mundani
+mng=Eastern Mnong
+mnh=Mono (Democratic Republic of Congo)
+mni=Manipuri
+mnj=Munji
+mnk=Mandinka
+mnl=Tiale
+mnm=Mapena
+mnn=Southern Mnong
+mnp=Min Bei Chinese
+mnq=Minriq
+mnr=Mono (USA)
+mns=Mansi
+mnt=Maykulan
+mnu=Mer
+mnv=Rennell-Belona
+mnw=Mon
+mnx=Manikion
+mny=Manyawa
+mnz=Moni
+moa=Mwan
+mob=Moinba
+moc=Mocoví
+mod=Mobilian
+moe=Montagnais
+mof=Mohegan-Montauk-Narragansett
+mog=Mongondow
+moh=Mohawk
+moi=Mboi
+moj=Monzombo
+mok=Morori
+mol=Moldavian
+mom=Monimbo
+mon=Mongolian
+moo=Monom
+mop=Mopán Maya
+moq=Mor (Bomberai Peninsula)
+mor=Moro
+mos=Mossi
+mot=Barí
+mou=Mogum
+mov=Mohave
+mow=Moi (Congo)
+mox=Molima
+moy=Shekkacho
+moz=Mukulu
+mpa=Mpoto
+mpb=Mullukmulluk
+mpc=Mangarayi
+mpd=Machinere
+mpe=Majang
+mpf=Tajumulco Mam
+mpg=Marba
+mph=Maung
+mpi=Mpade
+mpj=Martu Wangka
+mpk=Mbara (Chad)
+mpl=Middle Watut
+mpm=Yosondúa Mixtec
+mpn=Mindiri
+mpo=Miu
+mpp=Migabac
+mpq=Matís
+mpr=Vangunu
+mps=Dadibi
+mpt=Mian
+mpu=Makuráp
+mpv=Munkip
+mpw=Mapidian
+mpx=Misima-Paneati
+mpy=Mapia
+mpz=Mpi
+mqa=Maba (Indonesia)
+mqb=Mbuko
+mqc=Mangole
+mqd=Madang
+mqe=Matepi
+mqf=Momuna
+mqg=Kota Bangun Kutai Malay
+mqh=Tlazoyaltepec Mixtec
+mqi=Mariri
+mqj=Mamasa
+mqk=Rajah Kabunsuwan Manobo
+mql=Mbelime
+mqm=South Marquesan
+mqn=Moronene
+mqo=Modole
+mqp=Manipa
+mqq=Minokok
+mqr=Mander
+mqs=West Makian
+mqt=Mok
+mqu=Mandari
+mqv=Mosimo
+mqw=Murupi
+mqx=Mamuju
+mqy=Manggarai
+mqz=Malasanga
+mra=Mlabri
+mrb=Marino
+mrc=Maricopa
+mrd=Western Magar
+mre=Martha's Vineyard Sign Language
+mrf=Elseng
+mrg=Miri
+mrh=Mara Chin
+mri=Maori
+mrj=Western Mari
+mrk=Hmwaveke
+mrl=Mortlockese
+mrm=Merlav
+mrn=Cheke Holo
+mro=Mru
+mrp=Morouas
+mrq=North Marquesan
+mrr=Maria (India)
+mrs=Maragus
+mrt=Marghi Central
+mru=Mono (Cameroon)
+mrv=Mangareva
+mrw=Maranao
+mrx=Maremgi
+mry=Karaga Mandaya
+mrz=Marind
+msa=Malay (generic)
+msb=Masbatenyo
+msc=Sankaran Maninka
+msd=Yucatec Maya Sign Language
+mse=Musey
+msf=Mekwei
+msg=Moraid
+msh=Masikoro Malagasy
+msi=Sabah Malay
+msj=Ma (Democratic Republic of Congo)
+msk=Mansaka
+msl=Molof
+msm=Agusan Manobo
+msn=Mosina
+mso=Mombum
+msp=Maritsauá
+msq=Caac
+msr=Mongolian Sign Language
+mss=West Masela
+mst=Cataelano Mandaya
+msu=Musom
+msv=Maslam
+msw=Mansoanka
+msx=Moresada
+msy=Aruamu
+msz=Momare
+mta=Cotabato Manobo
+mtb=Anyin Morofo
+mtc=Munit
+mtd=Mualang
+mte=Mono (Solomon Islands)
+mtf=Murik
+mtg=Una
+mth=Munggui
+mti=Maiwa (Papua New Guinea)
+mtj=Moskona
+mtk=Mbe'
+mtl=Montol
+mtm=Mator
+mtn=Matagalpa
+mto=Totontepec Mixe
+mtp=Wichí Lhamtés Nocten
+mtq=Muong
+mtr=Mewari
+mts=Yora
+mtt=Mota
+mtu=Tututepec Mixtec
+mtv=Asaro'o
+mtw=Magahat
+mtx=Tidaá Mixtec
+mty=Nabi
+mtz=Tacanec
+mua=Mundang
+mub=Mubi
+muc=Mbu'
+mud=Mednyj Aleut
+mue=Media Lengua
+mug=Musgu
+muh=Mündü
+mui=Musi
+muj=Mabire
+muk=Mugom
+mul=Multiple languages
+mum=Maiwala
+muo=Nyong
+mup=Malvi
+muq=Eastern Xiangxi Hmong
+mur=Murle
+mus=Creek
+mut=Western Muria
+muu=Yaaku
+muv=Muthuvan
+muw=Mundari
+mux=Mbo-Ung
+muy=Muyang
+muz=Mursi
+mva=Manam
+mvb=Mattole
+mvc=Central Mam
+mvd=Mamboru
+mve=Marwari (Pakistan)
+mvf=Peripheral Mongolian
+mvg=Yucuañe Mixtec
+mvh=Mire
+mvi=Miyako
+mvj=Todos Santos Cuchumatán Mam
+mvk=Mekmek
+mvl=Mbara (Australia)
+mvm=Muya
+mvn=Minaveha
+mvo=Marovo
+mvp=Duri
+mvq=Moere
+mvr=Marau
+mvs=Massep
+mvt=Mpotovoro
+mvu=Marfa
+mvv=Tagal Murut
+mvw=Machinga
+mvx=Meoswar
+mvy=Indus Kohistani
+mvz=Mesqan
+mwa=Mwatebu
+mwb=Juwal
+mwc=Are
+mwd=Mudbura
+mwe=Mwera (Chimwera)
+mwf=Murrinh-Patha
+mwg=Aiklep
+mwh=Mouk-Aria
+mwi=Labo
+mwj=Maligo
+mwk=Kita Maninkakan
+mwl=Mirandese
+mwm=Sar
+mwn=Nyamwanga
+mwo=Central Maewo
+mwp=Kala Lagaw Ya
+mwq=Mün Chin
+mwr=Marwari
+mws=Mwimbi-Muthambi
+mwt=Moken
+mwu=Mittu
+mwv=Mentawai
+mww=Hmong Daw
+mwx=Mediak
+mwy=Mosiro
+mwz=Moingi
+mxa=Northwest Oaxaca Mixtec
+mxb=Tezoatlán Mixtec
+mxc=Manyika
+mxd=Modang
+mxe=Mele-Fila
+mxf=Malgbe
+mxg=Mbangala
+mxh=Mvuba
+mxi=Mozarabic
+mxj=Miju-Mishmi
+mxk=Monumbo
+mxl=Maxi Gbe
+mxm=Meramera
+mxn=Moi (Indonesia)
+mxo=Mbowe
+mxp=Tlahuitoltepec Mixe
+mxq=Juquila Mixe
+mxr=Murik Kayan
+mxs=Huitepec Mixtec
+mxt=Jamiltepec Mixtec
+mxu=Mada (Cameroon)
+mxv=Metlatónoc Mixtec
+mxw=Namo
+mxx=Mahou
+mxy=Southeastern Nochixtlán Mixtec
+mxz=Central Masela
+mya=Burmese
+myb=Mbay
+myc=Mayeka
+myd=Maramba
+mye=Myene
+myf=Bambassi
+myg=Manta
+myh=Makah
+myi=Mina (India)
+myj=Mangayat
+myk=Mamara Senoufo
+myl=Moma
+mym=Me'en
+myo=Anfillo
+myp=Pirahã
+myq=Forest Maninka
+myr=Muniche
+mys=Mesmes
+myt=Sangab Mandaya
+myu=Mundurukú
+myv=Erzya
+myw=Muyuw
+myx=Masaba
+myy=Macuna
+myz=Classical Mandaic
+mza=Santa María Zacatepec Mixtec
+mzb=Tumzabt
+mzc=Madagascar Sign Language
+mzd=Malimba
+mze=Morawa
+mzf=Aiku
+mzg=Monastic Sign Language
+mzh=Wichí Lhamtés Güisnay
+mzi=Ixcatlán Mazatec
+mzj=Manya
+mzk=Nigeria Mambila
+mzl=Mazatlán Mixe
+mzm=Mumuye
+mzn=Mazanderani
+mzo=Matipuhy
+mzp=Movima
+mzq=Mori Atas
+mzr=Marúbo
+mzs=Macanese
+mzt=Mintil
+mzu=Inapang
+mzv=Manza
+mzw=Deg
+mzx=Mawayana
+mzy=Mozambican Sign Language
+mzz=Maiadomu
+nab=Southern Nambikuára
+nac=Narak
+nad=Nijadali
+nae=Naka'ela
+naf=Nabak
+nag=Naga Pidgin
+naj=Nalu
+nak=Nakanai
+nal=Nalik
+nam=Nangikurrunggurr
+nan=Min Nan Chinese
+nao=Naaba
+nap=Neapolitan
+naq=Nama (Namibia)
+nar=Iguta
+nas=Naasioi
+nat=Hungworo
+nau=Nauru
+nav=Navajo
+naw=Nawuri
+nax=Nakwi
+nay=Narrinyeri
+naz=Coatepec Nahuatl
+nba=Nyemba
+nbb=Ndoe
+nbc=Chang Naga
+nbd=Ngbinda
+nbe=Konyak Naga
+nbf=Naxi
+nbg=Nagarchal
+nbh=Ngamo
+nbi=Mao Naga
+nbj=Ngarinman
+nbk=Nake
+nbl=Ndebele, South
+nbm=Ngbaka Ma'bo
+nbn=Kuri
+nbo=Nkukoli
+nbp=Nnam
+nbq=Nggem
+nbr=Numana-Nunku-Gbantu-Numbu
+nbs=Namibian Sign Language
+nbt=Na
+nbu=Rongmei Naga
+nbv=Ngamambo
+nbw=Southern Ngbandi
+nbx=Ngura
+nby=Ningera
+nca=Iyo
+ncb=Central Nicobarese
+ncc=Ponam
+ncd=Nachering
+nce=Yale
+ncf=Notsi
+ncg=Nisga'a
+nch=Central Huasteca Nahuatl
+nci=Classical Nahuatl
+ncj=Northern Puebla Nahuatl
+nck=Nakara
+ncl=Michoacán Nahuatl
+ncm=Nambo
+ncn=Nauna
+nco=Sibe
+ncp=Ndaktup
+ncr=Ncane
+ncs=Nicaraguan Sign Language
+nct=Chothe Naga
+ncu=Chumburung
+ncx=Central Puebla Nahuatl
+ncz=Natchez
+nda=Ndasa
+ndb=Kenswei Nsei
+ndc=Ndau
+ndd=Nde-Nsele-Nta
+nde=Ndebele, North
+ndf=Nadruvian
+ndg=Ndengereko
+ndh=Ndali
+ndi=Samba Leko
+ndj=Ndamba
+ndk=Ndaka
+ndl=Ndolo
+ndm=Ndam
+ndn=Ngundi
+ndo=Ndonga
+ndp=Ndo
+ndq=Ndombe
+ndr=Ndoola
+nds=Low German; Low Saxon
+ndt=Ndunga
+ndu=Dugun
+ndv=Ndut
+ndw=Ndobo
+ndx=Nduga
+ndy=Lutos
+ndz=Ndogo
+nea=Eastern Ngad'a
+neb=Toura (Côte d'Ivoire)
+nec=Nedebang
+ned=Nde-Gbite
+nee=Kumak
+nef=Nefamese
+neg=Negidal
+neh=Nyenkha
+nei=Neo-Hittite
+nej=Neko
+nek=Neku
+nem=Nemi
+nen=Nengone
+neo=Ná-Meo
+nep=Nepali
+neq=North Central Mixe
+ner=Yahadian
+nes=Bhoti Kinnauri
+net=Nete
+nev=Nyaheun
+new=Newari
+nex=Neme
+ney=Neyo
+nez=Nez Perce
+nfa=Dhao
+nfd=Ndun
+nfg=Nyeng
+nfk=Shakara
+nfl=Ayiwo
+nfr=Nafaanra
+nfu=Mfumte
+nga=Ngbaka
+ngb=Northern Ngbandi
+ngc=Ngombe (Democratic Republic of Congo)
+ngd=Ngando (Central African Republic)
+nge=Ngemba
+ngg=Ngbaka Manza
+ngh=N/u
+ngi=Ngizim
+ngj=Ngie
+ngk=Ngalkbun
+ngl=Lomwe
+ngm=Ngatik Men's Creole
+ngn=Ngwo
+ngo=Ngoni
+ngp=Ngulu
+ngq=Ngurimi
+ngr=Nanggu
+ngs=Gvoko
+ngt=Ngeq
+ngu=Guerrero Nahuatl
+ngv=Nagumi
+ngw=Ngwaba
+ngx=Nggwahyi
+ngy=Tibea
+ngz=Ngungwel
+nhb=Beng
+nhc=Tabasco Nahuatl
+nhd=Chiripá
+nhe=Eastern Huasteca Nahuatl
+nhf=Nhuwala
+nhg=Tetelcingo Nahuatl
+nhh=Nahari
+nhi=Tenango Nahuatl
+nhj=Tlalitzlipa Nahuatl
+nhk=Isthmus-Cosoleacaque Nahuatl
+nhm=Morelos Nahuatl
+nhn=Central Nahuatl
+nho=Takuu
+nhp=Isthmus-Pajapan Nahuatl
+nhq=Huaxcaleca Nahuatl
+nhr=Naro
+nhs=Southeastern Puebla Nahuatl
+nht=Ometepec Nahuatl
+nhu=Noone
+nhv=Temascaltepec Nahuatl
+nhw=Western Huasteca Nahuatl
+nhx=Isthmus-Mecayapan Nahuatl
+nhy=Northern Oaxaca Nahuatl
+nhz=Santa María La Alta Nahuatl
+nia=Nias
+nib=Nakama
+nid=Ngandi
+nie=Niellim
+nif=Nek
+nig=Ngalakan
+nih=Nyiha
+nii=Nii
+nij=Ngaju
+nik=Southern Nicobarese
+nil=Nila
+nim=Nilamba
+nin=Ninzo
+nio=Nganasan
+nir=Nimboran
+nis=Nimi
+nit=Southeastern Kolami
+niu=Niuean
+niv=Gilyak
+niw=Nimo
+nix=Hema
+niy=Ngiti
+niz=Ningil
+nja=Nzanyi
+njb=Nocte Naga
+njd=Ndonde Hamba
+njh=Lotha Naga
+nji=Gudanji
+njj=Njen
+njl=Njalgulgule
+njm=Angami Naga
+njn=Liangmai Naga
+njo=Ao Naga
+njr=Njerep
+njs=Nisa
+njt=Ndyuka-Trio Pidgin
+nju=Ngadjunmaya
+njx=Kunyi
+njy=Njyem
+nka=Nkoya
+nkb=Khoibu Naga
+nkc=Nkongho
+nkd=Koireng
+nke=Duke
+nkf=Inpui Naga
+nkg=Nekgini
+nkh=Khezha Naga
+nki=Thangal Naga
+nkj=Nakai
+nkk=Nokuku
+nkm=Namat
+nkn=Nkangala
+nko=Nkonya
+nkp=Niuatoputapu
+nkr=Nukuoro
+nks=North Asmat
+nku=Bouna Kulango
+nkw=Nkutu
+nkx=Nkoroo
+nky=Khiamniungan Naga
+nkz=Nkari
+nla=Ngombale
+nlc=Nalca
+nld=Dutch
+nle=East Nyala
+nlg=Gela
+nli=Grangali
+nlj=Nyali
+nlk=Ninia Yali
+nll=Nihali
+nln=Durango Nahuatl
+nlo=Ngul
+nlr=Ngarla
+nlu=Nchumbulu
+nlv=Orizaba Nahuatl
+nlx=Nahali
+nly=Nyamal
+nma=Maram Naga
+nmb=Big Nambas
+nmc=Ngam
+nmd=Ndumu
+nme=Mzieme Naga
+nmf=Tangkhul Naga
+nmg=Ngumba
+nmh=Monsang Naga
+nmi=Nyam
+nmj=Ngombe (Central African Republic)
+nmk=Namakura
+nml=Ndemli
+nmm=Manangba
+nmn=!Xóõ
+nmo=Moyon Naga
+nmp=Nimanbur
+nmq=Nambya
+nmr=Nimbari
+nms=Letemboi
+nmt=Namonuito
+nmu=Northeast Maidu
+nmv=Ngamini
+nmw=Nimoa
+nmx=Nama (Papua New Guinea)
+nmy=Namuyi
+nmz=Nawdm
+nna=Nyangumarta
+nnb=Nande
+nnc=Nancere
+nnd=West Ambae
+nne=Ngandyera
+nnf=Ngaing
+nng=Maring Naga
+nnh=Ngiemboon
+nni=North Nuaulu
+nnj=Nyangatom
+nnk=Nankina
+nnl=Northern Rengma Naga
+nnm=Namia
+nnn=Ngete
+nno=Norwegian Nynorsk
+nnp=Wancho Naga
+nnq=Ngindo
+nnr=Narungga
+nns=Ningye
+nnt=Nanticoke
+nnu=Dwang
+nnv=Nugunu (Australia)
+nnw=Southern Nuni
+nnx=Ngong
+nny=Nyangga
+nnz=Nda'nda'
+noa=Woun Meu
+nob=Norwegian Bokmål
+noc=Nuk
+nod=Northern Thai
+noe=Nimadi
+nof=Nomane
+nog=Nogai
+noh=Nomu
+noi=Noiri
+nok=Nooksack
+nom=Nocamán
+non=Norse, Old
+noo=Nootka
+nop=Numanggang
+noq=Ngongo
+nor=Norwegian
+nos=Southern Yi
+not=Nomatsiguenga
+nou=Ewage-Notu
+nov=Novial
+now=Nyambo
+noy=Noy
+noz=Nayi
+npa=Nar Phu
+npb=Nupbikha
+nph=Phom Naga
+npn=Mondropolon
+npo=Pochuri Naga
+nps=Nipsan
+npu=Puimei Naga
+npy=Napu
+nqg=Ede Nago
+nqk=Kura Ede Nago
+nqm=Ndom
+nqn=Nen
+nra=Ngom
+nrb=Nara
+nrc=Noric
+nre=Southern Rengma Naga
+nrg=Narango
+nri=Chokri Naga
+nrl=Ngarluma
+nrm=Narom
+nrn=Norn
+nrp=North Picene
+nrr=Norra
+nrt=Northern Kalapuya
+nrx=Ngurmbur
+nrz=Lala
+nsa=Sangtam Naga
+nsc=Nshi
+nse=Nsenga
+nsg=Ngasa
+nsh=Ngoshie
+nsi=Nigerian Sign Language
+nsk=Naskapi
+nsl=Norwegian Sign Language
+nsm=Sumi Naga
+nsn=Nehan
+nso=Sotho, Northern
+nsp=Nepalese Sign Language
+nsq=Northern Sierra Miwok
+nsr=Maritime Sign Language
+nss=Nali
+nst=Tase Naga
+nsw=Navut
+nsx=Nsongo
+nsz=Nisenan
+nte=Nathembo
+nti=Natioro
+ntj=Ngaanyatjarra
+ntk=Ikoma
+ntm=Nateni
+nto=Ntomba
+ntp=Northern Tepehuan
+ntr=Delo
+nts=Natagaimas
+ntw=Nottoway
+nty=Mantsi
+ntz=Natanzi
+nua=Yuaga
+nuc=Nukuini
+nud=Ngala
+nue=Ngundu
+nuf=Nusu
+nug=Nungali
+nuh=Ndunda
+nui=Ngumbi
+nuj=Nyole
+nul=Nusa Laut
+num=Niuafo'ou
+nun=Nung (Myanmar)
+nuo=Nguôn
+nup=Nupe-Nupe-Tako
+nuq=Nukumanu
+nur=Nukuria
+nus=Nuer
+nut=Nung (Viet Nam)
+nuu=Ngbundu
+nuv=Northern Nuni
+nuw=Nguluwan
+nux=Mehek
+nuy=Nunggubuyu
+nuz=Tlamacazapa Nahuatl
+nvh=Nasarian
+nvm=Namiae
+nwa=Nawathinehena
+nwb=Nyabwa
+nwc=Classical Newari; Old Newari
+nwe=Ngwe
+nwi=Southwest Tanna
+nwm=Nyamusa-Molo
+nwr=Nawaru
+nwx=Middle Newar
+nwy=Nottoway-Meherrin
+nxa=Nauete
+nxd=Ngando (Democratic Republic of Congo)
+nxe=Nage
+nxg=Ngad'a
+nxi=Nindi
+nxj=Nyadu
+nxl=South Nuaulu
+nxm=Numidian
+nxn=Ngawun
+nxr=Ninggerum
+nxu=Narau
+nxx=Nafri
+nya=Chichewa; Nyanja
+nyb=Nyangbo
+nyc=Nyanga-li
+nyd=Nyore
+nye=Nyengo
+nyf=Giryama
+nyg=Nyindu
+nyh=Nyigina
+nyi=Ama (Sudan)
+nyj=Nyanga
+nyk=Nyaneka
+nyl=Nyeu
+nym=Nyamwezi
+nyn=Nyankole
+nyo=Nyoro
+nyp=Nyang'i
+nyq=Nayini
+nys=Nyunga
+nyt=Nyawaygi
+nyu=Nyungwe
+nyv=Nyulnyul
+nyw=Nyaw
+nyx=Nganyaywana
+nyy=Nyakyusa-Ngonde
+nza=Tigon Mbembe
+nzb=Njebi
+nzi=Nzima
+nzk=Nzakara
+nzm=Zeme Naga
+nzs=New Zealand Sign Language
+nzu=Teke-Nzikou
+nzy=Nzakambay
+oaa=Orok
+oac=Oroch
+oar=Old Aramaic
+oav=Old Avar
+obi=Obispeño
+obl=Oblo
+obm=Moabite
+obo=Obo Manobo
+obr=Old Burmese
+obt=Old Breton
+obu=Obulom
+oca=Ocaina
+occ=Occidental
+och=Old Chinese
+oci=Occitan (post 1500); Provençal
+oco=Old Cornish
+ocu=Atzingo Matlatzinca
+oda=Odut
+odk=Od
+odt=Old Dutch
+odu=Odual
+ofo=Ofo
+ofs=Old Frisian
+ofu=Efutop
+ogb=Ogbia
+ogc=Ogbah
+oge=Old Georgian
+ogg=Ogbogolo
+ogn=Ogan
+ogo=Khana
+ogu=Ogbronuagum
+oht=Old Hittite
+ohu=Old Hungarian
+oia=Oirata
+oin=Inebu One
+ojb=Northwestern Ojibwa
+ojc=Central Ojibwa
+ojg=Eastern Ojibwa
+oji=Ojibwa
+ojp=Old Japanese
+ojs=Severn Ojibwa
+ojv=Ontong Java
+ojw=Western Ojibwa
+oka=Okanagan
+okb=Okobo
+okd=Okodia
+oke=Okpe (Southwestern Edo)
+okh=Koresh-e Rostam
+oki=Okiek
+okj=Oko-Juwoi
+okk=Kwamtim One
+okl=Old Kentish Sign Language
+okm=Middle Korean (10th - 16th cent.)
+okn=Oki-No-Erabu
+oko=Old Korean (3rd - 9th cent.)
+okr=Kirike
+oks=Oko-Eni-Osayen
+oku=Oku
+okx=Okpe (Northwestern Edo)
+ola=Walungge
+old=Mochi
+ole=Olekha
+olm=Oloma
+olo=Livvi
+oma=Omaha-Ponca
+omb=East Ambae
+omc=Mochica
+ome=Omejes
+omg=Omagua
+omi=Omi
+omk=Omok
+oml=Ombo
+omn=Minoan
+omo=Utarmbung
+omp=Old Manipuri
+omr=Old Marathi
+omt=Omotik
+omu=Omurano
+omw=South Tairora
+omx=Old Mon
+ona=Ona
+onb=Lingao
+one=Oneida
+ong=Olo
+oni=Onin
+onj=Onjob
+onk=Kabore One
+onn=Onobasulu
+ono=Onondaga
+onr=Northern One
+ons=Ono
+ont=Ontenu
+onu=Unua
+onw=Old Nubian
+onx=Onin Based Pidgin
+ood=Tohono O'odham
+oog=Ong
+oon=Önge
+oor=Oorlams
+oos=Old Ossetic
+opa=Okpamheri
+ope=Old Persian
+opk=Kopkaka
+opm=Oksapmin
+opo=Opao
+opt=Opata
+opy=Ofayé
+ora=Oroha
+orc=Orma
+ore=Orejón
+org=Oring
+orh=Oroqen
+ori=Oriya
+ork=Orokaiva
+orm=Oromo
+orn=Orang Kanaq
+oro=Orokolo
+orq=Orcish
+orr=Oruma
+ors=Orang Seletar
+ort=Adivasi Oriya
+oru=Ormuri
+orv=Old Russian
+orw=Oro Win
+orx=Oro
+orz=Ormu
+osa=Osage
+osc=Oscan
+osi=Osing
+oso=Ososo
+osp=Old Spanish
+oss=Ossetian; Ossetic
+ost=Osatu
+osu=Southern One
+osx=Old Saxon
+ota=Turkish, Ottoman (1500-1928)
+otb=Old Tibetan
+otd=Dohoi
+ote=Mezquital Otomi
+oti=Oti
+otk=Old Turkish
+otl=Tilapa Otomi
+otm=Eastern Highland Otomi
+otn=Tenango Otomi
+otq=Querétaro Otomi
+otr=Otoro
+ots=Estado de México Otomi
+ott=Temoaya Otomi
+otu=Otuke
+otw=Ottawa
+otx=Texcatepec Otomi
+oty=Old Tamil
+otz=Ixtenco Otomi
+oua=Tagargrent
+oub=Glio-Oubi
+oue=Oune
+oui=Old Uighur
+oum=Ouma
+oun=!O!ung
+owi=Owiniga
+owl=Old Welsh
+oyb=Oy
+oyd=Oyda
+oym=Wayampi
+oyy=Oya'oya
+ozm=Koonzime
+pab=Parecís
+pac=Pacoh
+pad=Paumarí
+pae=Pagibete
+paf=Paranawát
+pag=Pangasinan
+pah=Tenharim
+pai=Pe
+paj=Ipeka-Tapuia
+pak=Parakanã
+pal=Pahlavi
+pam=Pampanga
+pan=Panjabi
+pao=Northern Paiute
+pap=Papiamento
+paq=Parya
+par=Panamint
+pas=Papasena
+pat=Papitalai
+pau=Palauan
+pav=Pakaásnovos
+paw=Pawnee
+pax=Pankararé
+pay=Pech
+paz=Pankararú
+pbb=Páez
+pbc=Patamona
+pbe=Mezontla Popoloca
+pbf=Coyotepec Popoloca
+pbg=Paraujano
+pbh=Eñepa
+pbi=Parkwa
+pbl=Mak (Nigeria)
+pbn=Kpasam
+pbo=Papel
+pbp=Badyara
+pbr=Pangwa
+pbs=Central Pame
+pbt=Southern Pashto
+pbu=Northern Pashto
+pbv=Pnar
+pby=Pyu
+pbz=Palu
+pca=Santa Inés Ahuatempan Popoloca
+pcb=Pear
+pcc=Bouyei
+pcd=Picard
+pce=Pale Palaung
+pcf=Paliyan
+pcg=Paniya
+pch=Pardhan
+pci=Duruwa
+pcj=Parenga
+pck=Paite Chin
+pcl=Pardhi
+pcm=Nigerian Pidgin
+pcn=Piti
+pcp=Pacahuara
+pcr=Panang
+pcw=Pyapun
+pda=Anam
+pdc=Pennsylvania German
+pdi=Pa Di
+pdn=Podena
+pdo=Padoe
+pdt=Plautdietsch
+pdu=Kayan
+pea=Peranakan Indonesian
+peb=Eastern Pomo
+pec=Southern Pesisir
+ped=Mala (Papua New Guinea)
+pee=Taje
+pef=Northeastern Pomo
+peg=Pengo
+peh=Bonan
+pei=Chichimeca-Jonaz
+pej=Northern Pomo
+pek=Penchal
+pel=Pekal
+pem=Phende
+pen=Penesak
+peo=Persian, Old (ca.600-400 B.C.)
+pep=Kunja
+peq=Southern Pomo
+pes=Western Farsi
+pev=Pémono
+pex=Petats
+pey=Petjo
+pez=Eastern Penan
+pfa=Pááfang
+pfe=Peere
+pfl=Pfaelzisch
+pga=Sudanese Creole Arabic
+pgg=Pangwali
+pgi=Pagi
+pgk=Rerep
+pgn=Paelignian
+pgs=Pangseng
+pgu=Pagu
+pgy=Pongyong
+pha=Pa-Hng
+phd=Phudagi
+phg=Phuong
+phh=Phula
+phk=Phake
+phl=Phalura
+phm=Phimbi
+phn=Phoenician
+pho=Phunoi
+phq=Phana'
+phr=Pahari-Potwari
+pht=Phu Thai
+phu=Phuan
+phv=Pahlavani
+phw=Phangduwali
+pia=Pima Bajo
+pib=Yine
+pic=Pinji
+pid=Piaroa
+pie=Piro
+pif=Pingelapese
+pig=Pisabo
+pih=Pitcairn-Norfolk
+pii=Pini
+pij=Pijao
+pil=Yom
+pim=Powhatan
+pin=Piame
+pio=Piapoco
+pip=Pero
+pir=Piratapuyo
+pis=Pijin
+pit=Pitta Pitta
+piu=Pintupi-Luritja
+piv=Pileni
+piw=Pimbwe
+pix=Piu
+piy=Piya-Kwonci
+piz=Pije
+pjt=Pitjantjatjara
+pkb=Upper Pokomo
+pkc=Paekche
+pkg=Pak-Tong
+pkh=Pankhu
+pkn=Pakanha
+pko=Pökoot
+pkp=Pukapuka
+pks=Pakistan Sign Language
+pkt=Maleng
+pku=Paku
+pla=Miani
+plb=Polonombauk
+plc=Central Palawano
+pld=Polari
+ple=Palu'e
+plg=Pilagá
+plh=Paulohi
+pli=Pali
+plj=Polci
+plk=Kohistani Shina
+pll=Shwe Palaung
+plm=Palembang
+pln=Palenquero
+plo=Oluta Popoluca
+plp=Palpa
+plq=Palaic
+plr=Palaka Senoufo
+pls=San Marcos Tlalcoyalco Popoloca
+plt=Plateau Malagasy
+plu=Palikúr
+plv=Southwest Palawano
+plw=Brooke's Point Palawano
+ply=Bolyu
+plz=Paluan
+pma=Paama
+pmb=Pambia
+pmc=Palumata
+pme=Pwaamei
+pmi=Northern Pumi
+pmj=Southern Pumi
+pmk=Pamlico
+pml=Lingua Franca
+pmm=Pomo
+pmn=Pam
+pmo=Pom
+pmq=Northern Pame
+pmr=Paynamar
+pms=Piemontese
+pmt=Tuamotuan
+pmu=Mirpur Panjabi
+pmw=Plains Miwok
+pmx=Poumei Naga
+pmz=Southern Pame
+pna=Punan Bah-Biau
+pnb=Western Panjabi
+pnc=Pannei
+pne=Western Penan
+png=Pongu
+pnh=Penrhyn
+pni=Aoheng
+pnm=Punan Batu 1
+pnn=Pinai-Hagahai
+pno=Panobo
+pnp=Pancana
+pnq=Pana (Burkina Faso)
+pnr=Panim
+pns=Ponosakan
+pnt=Pontic
+pnu=Jiongnai Bunu
+pnv=Pinigura
+pnw=Panytyima
+pnx=Phong-Kniang
+pny=Pinyin
+pnz=Pana (Central African Republic)
+poa=Eastern Pokomam
+pob=Western Pokomchí
+poc=Central Pokomam
+pod=Ponares
+poe=San Juan Atzingo Popoloca
+pof=Poke
+pog=Potiguára
+poh=Eastern Pokomchí
+poi=Highland Popoluca
+poj=Lower Pokomo
+pok=Pokangá
+pol=Polish
+pom=Southeastern Pomo
+pon=Pohnpeian
+poo=Central Pomo
+pop=Pwapwa
+poq=Texistepec Popoluca
+por=Portuguese
+pos=Sayula Popoluca
+pot=Potawatomi
+pou=Southern Pokomam
+pov=Upper Guinea Crioulo
+pow=San Felipe Otlaltepec Popoloca
+pox=Polabian
+poy=Pogolo
+ppa=Pao
+ppe=Papi
+ppi=Paipai
+ppk=Uma
+ppl=Pipil
+ppm=Papuma
+ppn=Papapana
+ppo=Folopa
+ppp=Pelende
+ppq=Pei
+ppr=Piru
+pps=San Luís Temalacayuca Popoloca
+ppt=Pare
+ppu=Papora
+ppv=Papavô
+pqa=Pa'a
+pqm=Malecite-Passamaquoddy
+prb=Lua'
+prc=Parachi
+prd=Parsi-Dari
+pre=Principense
+prg=Prussian
+prh=Porohanon
+pri=Paicî
+prk=Parauk
+prl=Peruvian Sign Language
+prm=Kibiri
+prn=Prasuni
+pro=Provençal, Old (to 1500)
+prp=Parsi
+prq=Ashéninka Perené
+prr=Puri
+prs=Eastern Farsi
+prt=Phai
+pru=Puragi
+prv=Provençal
+prw=Parawen
+prx=Purik
+pry=Pray 3
+prz=Providencia Sign Language
+psa=Asue Awyu
+psc=Persian Sign Language
+psd=Plains Indian Sign Language
+pse=Pasemah
+psg=Penang Sign Language
+psh=Southwest Pashayi
+psi=Southeast Pashayi
+psl=Puerto Rican Sign Language
+psm=Pauserna
+psn=Panasuan
+pso=Polish Sign Language
+psp=Philippine Sign Language
+psq=Pasi
+psr=Portuguese Sign Language
+pss=Kaulong
+pst=Central Pashto
+psw=Port Sandwich
+psy=Piscataway
+pta=Pai Tavytera
+pth=Pataxó-Hãhaãi
+pti=Pintiini
+ptn=Patani
+pto=Zo'é
+ptp=Patep
+ptr=Piamatsina
+ptt=Enrekang
+ptu=Bambam
+ptv=Port Vato
+ptw=Pentlatch
+pua=Western Highland Purepecha
+pub=Purum
+puc=Punan Merap
+pud=Punan Aput
+pue=Puelche
+puf=Punan Merah
+pug=Phuie
+pui=Puinave
+puj=Punan Tubu
+puk=Pu Ko
+pum=Puma
+pun=Pubian
+puo=Puoc
+pup=Pulabu
+puq=Puquina
+pur=Puruborá
+pus=Pushto
+put=Putoh
+puu=Punu
+puw=Puluwatese
+pux=Puari
+puy=Purisimeño
+puz=Purum Naga
+pwa=Pawaia
+pwg=Gapapaiwa
+pwm=Molbog
+pwn=Paiwan
+pwo=Pwo Western Karen
+pwr=Powari
+pww=Pwo Northern Karen
+pxm=Quetzaltepec Mixe
+pye=Pye Krumen
+pym=Fyam
+pyn=Poyanáwa
+pyu=Puyuma
+pyx=Pyu (Myanmar)
+pyy=Pyen
+qua=Quapaw
+qub=Huallaga Huánuco Quechua
+quc=Central Quiché
+qud=Calderón Highland Quichua
+que=Quechua
+quf=Lambayeque Quechua
+qug=Chimborazo Highland Quichua
+quh=South Bolivian Quechua
+qui=Quileute
+quj=Joyabaj Quiché
+quk=Chachapoyas Quechua
+qul=North Bolivian Quechua
+qum=Sipacapense
+qun=Quinault
+qup=Southern Pastaza Quechua
+quq=Quinqui
+qur=Yanahuanca Pasco Quechua
+qus=Santiago del Estero Quichua
+qut=West Central Quiché
+quu=Eastern Quiché
+quv=Sacapulteco
+quw=Tena Lowland Quichua
+qux=Yauyos Quechua
+quy=Ayacucho Quechua
+quz=Cusco Quechua
+qva=Ambo-Pasco Quechua
+qvc=Cajamarca Quechua
+qve=Eastern Apurímac Quechua
+qvh=Huamalíes-Dos de Mayo Huánuco Quechua
+qvi=Imbabura Highland Quichua
+qvj=Loja Highland Quichua
+qvl=Cajatambo North Lima Quechua
+qvm=Margos-Yarowilca-Lauricocha Quechua
+qvn=North Junín Quechua
+qvo=Napo Lowland Quechua
+qvp=Pacaraos Quechua
+qvs=San Martín Quechua
+qvw=Huaylla Wanca Quechua
+qvy=Queyu
+qvz=Northern Pastaza Quichua
+qwa=Corongo Ancash Quechua
+qwc=Classical Quechua
+qwh=Huaylas Ancash Quechua
+qwm=Kuman (Russia)
+qws=Sihuas Ancash Quechua
+qwt=Kwalhioqua-Tlatskanai
+qxa=Chiquián Ancash Quechua
+qxc=Chincha Quechua
+qxh=Panao Huánuco Quechua
+qxi=San Andrés Quiché
+qxl=Salasaca Highland Quichua
+qxn=Northern Conchucos Ancash Quechua
+qxo=Southern Conchucos Ancash Quechua
+qxp=Puno Quechua
+qxq=Qashqa'i
+qxr=Cañar Highland Quichua
+qxs=Southern Qiang
+qxt=Santa Ana de Tusi Pasco Quechua
+qxu=Arequipa-La Unión Quechua
+qxw=Jauja Wanca Quechua
+qya=Quenya
+raa=Dungmali
+rab=Camling
+rac=Rasawa
+rad=Rade
+rae=Ranau
+raf=Western Meohang
+rag=Logooli
+rah=Rabha
+rai=Ramoaaina
+raj=Rajasthani
+rak=Tulu-Bohuai
+ral=Ralte
+ram=Canela
+ran=Riantana
+rao=Rao
+rap=Rapanui
+raq=Saam
+rar=Rarotongan
+ras=Tegali
+rat=Razajerdi
+rau=Raute
+rav=Sampang
+raw=Rawang
+rax=Rang
+ray=Rapa
+raz=Rahambuu
+rbb=Rumai Palaung
+rcf=Réunion Creole French
+rdb=Rudbari
+rea=Rerau
+reb=Rembong
+ree=Rejang Kayan
+reg=Kara (Tanzania)
+rei=Reli
+rej=Rejang
+rel=Rendille
+rem=Remo
+ren=Rengao
+rer=Rer Bare
+res=Reshe
+ret=Retta
+rey=Reyesano
+rga=Roria
+rge=Romano-Greek
+rgk=Rangkas
+rgr=Resígaro
+rgs=Southern Roglai
+rgu=Ringgou
+rhp=Yahang
+ria=Riang (India)
+rie=Rien
+rif=Tarifit
+ril=Riang (Myanmar)
+rim=Nyaturu
+rin=Nungu
+rir=Ribun
+rit=Ritarungo
+riu=Riung
+rjb=Rajbanshi
+rjg=Rajong
+rji=Raji
+rka=Kraol
+rkb=Rikbaktsa
+rkh=Rakahanga-Manihiki
+rkm=Marka
+rma=Rama
+rmb=Rembarunga
+rmc=Carpathian Romani
+rmd=Traveller Danish
+rme=Angloromani
+rmf=Kalo Finnish Romani
+rmg=Traveller Norwegian
+rmh=Murkim
+rmi=Lomavren
+rmk=Romkun
+rml=Baltic Romani
+rmm=Roma
+rmn=Balkan Romani
+rmo=Sinte Romani
+rmp=Rempi
+rmr=Caló
+rms=Romanian Sign Language
+rmt=Domari
+rmu=Tavringer Romani
+rmv=Romanova
+rmw=Welsh Romani
+rmx=Romam
+rmy=Vlax Romani
+rna=Runa
+rnd=Ruund
+rng=Ronga
+rnn=Roon
+rnp=Rongpo
+rnw=Rungwa
+rob=Tae'
+roc=Cacgia Roglai
+rod=Rogo
+roe=Ronji
+rof=Rombo
+rog=Northern Roglai
+roh=Raeto-Romance
+rol=Romblomanon
+rom=Romany
+ron=Romanian
+roo=Rotokas
+rop=Kriol
+ror=Rongga
+rou=Runga
+row=Dela-Oenale
+rpn=Repanbitip
+rpt=Rapting
+rri=Ririo
+rro=Waima
+rsb=Romano-Serbian
+rsi=Rennellese Sign Language
+rsl=Russian Sign Language
+rth=Ratahan
+rtm=Rotuman
+rtw=Rathawi
+rub=Gungu
+ruc=Ruli
+rue=Rusyn
+ruf=Luguru
+rug=Roviana
+ruh=Ruga
+rui=Rufiji
+ruk=Che
+run=Rundi
+ruo=Istro Romanian
+rup=Macedo Romanian
+ruq=Megleno Romanian
+rus=Russian
+rut=Rutul
+ruu=Lanas Lobu
+ruy=Mala (Nigeria)
+ruz=Ruma
+rwa=Rawo
+rwk=Rwa
+rwm=Amba (Uganda)
+rwo=Rawa
+rwr=Marwari (India)
+rws=Rawas
+ryn=Northern Amami-Oshima
+rys=Yaeyama
+ryu=Central Okinawan
+saa=Saba
+sab=Buglere
+sac=Mesquakie
+sad=Sandawe
+sae=Sabanês
+saf=Safaliba
+sag=Sango
+sah=Yakut
+saj=Sahu
+sak=Sake
+sam=Samaritan Aramaic
+san=Sanskrit
+sao=Sause
+sap=Sanapaná
+saq=Samburu
+sar=Saraveca
+sas=Sasak
+sat=Santali
+sau=Saleman
+sav=Saafi-Saafi
+saw=Sawi
+sax=Sa
+say=Saya
+saz=Saurashtra
+sba=Ngambay
+sbb=Simbo
+sbc=Kele (Papua New Guinea)
+sbd=Southern Samo
+sbe=Saliba
+sbf=Shabo
+sbg=Seget
+sbh=Sori-Harengan
+sbi=Seti
+sbj=Surbakhal
+sbk=Safwa
+sbl=Botolan Sambal
+sbm=Sagala
+sbn=Sindhi Bhil
+sbo=Sabüm
+sbp=Sangu (Tanzania)
+sbq=Sileibi
+sbr=Sembakung Murut
+sbs=Subiya
+sbt=Kimki
+sbu=Stod Bhoti
+sbv=Sabine
+sbw=Simba
+sbx=Seberuang
+sby=Soli
+sbz=Sara Kaba
+sca=Sansu
+scb=Chut
+sce=Dongxiang
+scf=San Miguel Creole French
+scg=Sanggau
+sch=Sakechep
+sci=Sri Lankan Creole Malay
+sck=Sadri
+scl=Shina
+scn=Sicilian
+sco=Scots
+scp=Helambu Sherpa
+scq=Sa'och
+scs=North Slavey
+scu=Shumcho
+scv=Sheni
+scw=Sha
+scx=Sicel
+sda=Toraja-Sa'dan
+sdb=Shabak
+sdc=Sassarese Sardinian
+sdd=Semendo
+sde=Surubu
+sdf=Sarli
+sdg=Savi
+sdh=Southern Kurdish
+sdi=Sindang Kelingi
+sdj=Suundi
+sdl=Saudi Arabian Sign Language
+sdm=Semandang
+sdn=Gallurese Sardinian
+sdo=Bukar Sadong
+sdp=Sherdukpen
+sdr=Oraon Sadri
+sds=Sened
+sdt=Shuadit
+sdu=Sarudu
+sdx=Sibu
+sdz=Sallands
+sea=Semai
+seb=Shempire Senoufo
+sec=Sechelt
+sed=Sedang
+see=Seneca
+sef=Cebaara Senoufo
+seg=Segeju
+seh=Sena
+sei=Seri
+sej=Sene
+sek=Sekani
+sel=Selkup
+sen=Nanerigé Sénoufo
+seo=Suarmin
+sep=Sìcìté Sénoufo
+seq=Senara Sénoufo
+ser=Serrano
+ses=Koyraboro Senni Songhai
+set=Sentani
+seu=Serui-Laut
+sev=Nyarafolo Senoufo
+sew=Sewa Bay
+sey=Secoya
+sez=Senthang Chin
+sfs=South African Sign Language
+sfw=Sehwi
+sga=Irish, Old (to 900)
+sgb=Mag-Anchi Ayta
+sge=Segai
+sgg=Swiss-German Sign Language
+sgh=Shughni
+sgi=Suga
+sgl=Sanglechi-Ishkashimi
+sgm=Singa
+sgo=Songa
+sgp=Singpho
+sgr=Sangisari
+sgt=Brokpake
+sgu=Salas
+sgw=Sebat Bet Gurage
+sgx=Sierra Leone Sign Language
+sgz=Sursurunga
+sha=Shall-Zwall
+shb=Ninam
+shc=Sonde
+she=Sheko
+shg=Shua
+shh=Shoshoni
+shi=Tachelhit
+shj=Shatt
+shk=Shilluk
+shl=Shendu
+shm=Shahrudi
+shn=Shan
+sho=Shanga
+shp=Shipibo-Conibo
+shq=Sala
+shr=Shi
+shs=Shuswap
+sht=Shasta
+shu=Chadian Spoken Arabic
+shv=Shehri
+shw=Shwai
+shx=She
+shy=Tachawit
+shz=Syenara Senoufo
+sia=Akkala Sami
+sib=Sebob Kenyah
+sic=Malinguat
+sid=Sidamo
+sie=Simaa
+sif=Siamou
+sig=Paasaal
+sih=Zire
+sii=Shom Peng
+sij=Numbami
+sik=Sikiana
+sil=Tumulung Sisaala
+sim=Mende (Papua New Guinea)
+sin=Sinhalese
+sip=Sikkimese
+siq=Sonia
+sir=Siri
+sis=Siuslaw
+siu=Sinagen
+siv=Sumariup
+siw=Siwai
+six=Sumau
+siy=Sivandi
+siz=Siwi
+sja=Epena
+sjb=Sajau Basap
+sjd=Kildin Sami
+sje=Pite Sami
+sjg=Assangori
+sjk=Kemi Sami
+sjl=Sajalong
+sjm=Mapun
+sjn=Sindarin
+sjo=Xibe
+sjp=Surajpuri
+sjr=Siar-Lak
+sjs=Senhaja De Srair
+sjt=Ter Sami
+sju=Ume Sami
+sjw=Shawnee
+ska=Skagit
+skb=Saek
+skc=Sauk
+skd=Southern Sierra Miwok
+ske=Seke (Vanuatu)
+skf=Sakirabiá
+skg=Sakalava Malagasy
+skh=Sikule
+ski=Sika
+skj=Seke (Nepal)
+skk=Sok
+skl=Selako
+skm=Sakam
+skn=Kolibugan Subanon
+sko=Seko Tengah
+skp=Sekapan
+skq=Sininkere
+skr=Seraiki
+sks=Maia
+skt=Sakata
+sku=Sakao
+skv=Skou
+skw=Skepi Creole Dutch
+skx=Seko Padang
+sky=Sikaiana
+skz=Sekar
+slb=Kahumamahon Saluan
+slc=Sáliba
+sld=Sissala
+sle=Sholaga
+slf=Swiss-Italian Sign Language
+slg=Selungai Murut
+slh=Southern Puget Sound Salish
+sli=Lower Silesian
+slj=Salumá
+slk=Slovak
+sll=Salt-Yui
+slm=Pangutaran Sama
+sln=Salinan
+slp=Lamaholot
+slq=Salchuq
+slr=Salar
+sls=Singapore Sign Language
+slt=Sila
+slu=Selaru
+slv=Slovenian
+slw=Sialum
+slx=Salampasu
+sly=Selayar
+slz=Ma'ya
+sma=Southern Sami
+smb=Simbari
+smc=Som
+smd=Sama
+sme=Northern Sami
+smf=Auwe
+smg=Simbali
+smh=Samei
+smj=Lule Sami
+smk=Bolinao
+sml=Central Sama
+smm=Musasa
+smn=Inari Sami
+smo=Samoan
+smp=Samaritan
+smq=Samo
+smr=Simeulue
+sms=Skolt Sami
+smt=Simte
+smu=Somray
+smv=Samvedi
+smw=Sumbawa
+smx=Samba
+smy=Semnani
+smz=Simeku
+sna=Shona
+snb=Sebuyau
+snc=Sinaugoro
+snd=Sindhi
+sne=Jagoi
+snf=Noon
+sng=Sanga (Democratic Republic of Congo)
+snh=Shinabo
+sni=Sensi
+snj=Riverain Sango
+snk=Soninke
+snl=Sangil
+snm=Southern Ma'di
+snn=Siona
+sno=Snohomish
+snp=Siane
+snq=Sangu (Gabon)
+snr=Sihan
+sns=South West Bay
+snu=Senggi
+snv=Sa'ban
+snw=Selee
+snx=Sam
+sny=Saniyo-Hiyewe
+snz=Sinsauru
+soa=Thai Song
+sob=Sobei
+soc=So (Democratic Republic of Congo)
+sod=Songoora
+soe=Songomeno
+sog=Sogdian
+soh=Aka
+soi=Sonha
+soj=Soi
+sok=Sokoro
+sol=Solos
+som=Somali
+soo=Songo
+sop=Songe
+soq=Kanasi
+sor=Somrai
+sos=Seeku
+sot=Sotho, Southern
+sou=Southern Thai
+sov=Sonsorol
+sow=Sowanda
+sox=So (Cameroon)
+soy=Miyobe
+soz=Temi
+spa=Spanish
+spb=Sepa (Indonesia)
+spc=Sapé
+spd=Saep
+spe=Sepa (Papua New Guinea)
+spg=Sian
+spi=Saponi
+spk=Sengo
+spl=Selepet
+spm=Sepen
+spo=Spokane
+spp=Supyire Senoufo
+spq=Loreto-Ucayali Spanish
+spr=Saparua
+sps=Saposa
+spt=Spiti Bhoti
+spu=Sapuan
+spx=South Picene
+spy=Sabaot
+sqa=Shama-Sambuga
+sqh=Shau
+sqi=Albanian
+sqm=Suma
+sqn=Susquehannock
+sqo=Sorkhei
+sqq=Sou
+sqs=Sri Lankan Sign Language
+sqt=Soqotri
+squ=Squamish
+sra=Saruga
+srb=Sora
+src=Logudorese Sardinian
+srd=Sardinian
+sre=Sara
+srf=Nafi
+srg=Sulod
+srh=Sarikoli
+sri=Siriano
+srj=Serawai
+srk=Serudung Murut
+srl=Isirawa
+srm=Saramaccan
+srn=Sranan
+sro=Campidanese Sardinian
+srp=Serbian
+srq=Sirionó
+srr=Serer
+srs=Sarsi
+srt=Sauri
+sru=Suruí
+srv=Waray Sorsogon
+srw=Serua
+srx=Sirmauri
+sry=Sera
+srz=Shahmirzadi
+ssb=Southern Sama
+ssd=Siroi
+sse=Balangingi
+ssf=Thao
+ssg=Seimat
+ssh=Shihhi Spoken Arabic
+ssi=Sansi
+ssj=Sausi
+ssk=Sunam
+ssl=Western Sisaala
+ssm=Semnam
+ssn=Sanye
+sso=Sissano
+ssp=Spanish Sign Language
+ssq=So'a
+ssr=Swiss-French Sign Language
+sss=Sô
+sst=Sinasina
+ssu=Susuami
+ssv=Shark Bay
+ssw=Swati
+ssx=Samberigi
+ssy=Saho
+ssz=Sengseng
+sta=Settla
+stb=Northern Subanen
+stc=Santa Cruz
+std=Sentinel
+ste=Liana-Seti
+stf=Seta
+stg=Trieng
+sth=Shelta
+sti=Bulo Stieng
+stj=Matya Samo
+stk=Arammba
+stl=Stellingwerfs
+stm=Setaman
+stn=Owa
+sto=Stoney
+stp=Southeastern Tepehuan
+stq=Saterfriesisch
+str=Straits Salish
+sts=Shumashti
+stt=Budeh Stieng
+stu=Samtao
+stw=Satawalese
+sua=Sulka
+sub=Suku
+suc=Western Subanon
+sue=Suena
+suf=Tarpia
+sug=Suganga
+suh=Suba
+sui=Suki
+suj=Shubi
+suk=Sukuma
+sul=Surigaonon
+sum=Sumo-Mayangna
+sun=Sundanese
+suq=Suri
+sur=Mwaghavul
+sus=Susu
+sut=Subtiaba
+suu=Sungkai
+suv=Sulung
+suw=Sumbwa
+sux=Sumerian
+suy=Suyá
+suz=Sunwar
+sva=Svan
+svb=Ulau-Suain
+svc=Vincentian Creole English
+sve=Serili
+svk=Slovakian Sign Language
+svr=Savara
+svs=Savosavo
+svx=Skalvian
+swa=Swahili (generic)
+swb=Comorian
+swc=Congo Swahili
+swe=Swedish
+swf=Sere
+swg=Swabian
+swh=Swahili (specific)
+swi=Sui
+swj=Sira
+swk=Malawi Sena
+swl=Swedish Sign Language
+swm=Samosa
+swn=Sawknah
+swp=Suau
+swq=Sharwa
+swr=Saweru
+sws=Seluwasan
+swt=Sawila
+swu=Suwawa
+swv=Shekhawati
+sww=Sowa
+swx=Suruahá
+swy=Sarua
+sxc=Sicanian
+sxe=Sighu
+sxg=Shixing
+sxk=Southern Kalapuya
+sxl=Selian
+sxm=Samre
+sxn=Sangir
+sxo=Sorothaptic
+sxr=Saaroa
+sxs=Sasaru
+sxu=Upper Saxon
+sxw=Saxwe Gbe
+sya=Siang
+syb=Central Subanen
+syc=Classical Syriac
+syi=Seki
+syk=Sukur
+syl=Sylheti
+sym=Maya Samo
+syn=Senaya
+syo=Suoy
+syr=Syriac
+sys=Sinyar
+syw=Kagate
+sza=Semelai
+szb=Ngalum
+szc=Semaq Beri
+szd=Seru
+sze=Seze
+szg=Sengele
+szk=Sizaki
+szn=Sula
+szp=Suabo
+szv=Isu (Fako Division)
+szw=Sawai
+taa=Lower Tanana
+tab=Tabassaran
+tac=Lowland Tarahumara
+tad=Tause
+tae=Tariano
+taf=Tapirapé
+tag=Tagoi
+tah=Tahitian
+taj=Eastern Tamang
+tak=Tala
+tal=Tal
+tam=Tamil
+tan=Tangale
+tao=Yami
+tap=Taabwa
+taq=Tamasheq
+tar=Central Tarahumara
+tas=Tay Boi
+tat=Tatar
+tau=Upper Tanana
+tav=Tatuyo
+taw=Tai
+tax=Tamki
+tay=Atayal
+taz=Tocho
+tba=Tubarão
+tbb=Tapeba
+tbc=Takia
+tbd=Kaki Ae
+tbe=Tanimbili
+tbf=Mandara
+tbg=North Tairora
+tbh=Thurawal
+tbi=Gaam
+tbj=Tiang
+tbk=Calamian Tagbanwa
+tbl=Tboli
+tbm=Tagbu
+tbn=Barro Negro Tunebo
+tbo=Tawala
+tbp=Taworta
+tbr=Tumtum
+tbs=Tanguat
+tbt=Tembo (Kitembo)
+tbu=Tubar
+tbv=Tobo
+tbw=Tagbanwa
+tbx=Kapin
+tby=Tabaru
+tbz=Ditammari
+tca=Ticuna
+tcb=Tanacross
+tcc=Datooga
+tcd=Tafi
+tce=Southern Tutchone
+tcf=Malinaltepec Tlapanec
+tcg=Tamagario
+tch=Turks And Caicos Creole English
+tci=Wára
+tcj=Tceqli
+tck=Tchitchege
+tcl=Taman (Myanmar)
+tcm=Tanahmerah
+tcn=Tichurong
+tco=Taungyo
+tcp=Tawr Chin
+tcq=Kaiy
+tcs=Torres Strait Creole
+tct=T'en
+tcu=Southeastern Tarahumara
+tcx=Toda
+tcy=Tulu
+tcz=Thado Chin
+tda=Tagdal
+tdb=Panchpargania
+tdc=Emberá-Tadó
+tdd=Tai Nüa
+tdf=Talieng
+tdg=Western Tamang
+tdh=Thulung
+tdi=Tomadino
+tdj=Tajio
+tdk=Tambas
+tdl=Sur
+tdn=Tondano
+tdo=Teme
+tdq=Tita
+tdr=Todrah
+tds=Doutai
+tdt=Tetun Dili
+tdu=Tempasuk Dusun
+tdv=Toro
+tdx=Tandroy-Mahafaly Malagasy
+tdy=Tadyawan
+tea=Temiar
+teb=Tetete
+ted=Tepo Krumen
+tee=Huehuetla Tepehua
+tef=Teressa
+teg=Teke-Tege
+teh=Tehuelche
+tei=Torricelli
+tek=Ibali Teke
+tel=Telugu
+tem=Timne
+ten=Tama (Colombia)
+teo=Teso
+tep=Tepecano
+teq=Temein
+ter=Tereno
+tes=Tengger
+tet=Tetum
+teu=Soo
+tev=Teor
+tew=Tewa (USA)
+tex=Tennet
+tey=Tulishi
+tfi=Tofin Gbe
+tfn=Tanaina
+tfo=Tefaro
+tfr=Teribe
+tft=Ternate
+tga=Sagalla
+tgb=Tebilung
+tgc=Tigak
+tgd=Ciwogai
+tge=Eastern Gorkha Tamang
+tgf=Chalikha
+tgg=Tangga
+tgh=Tobagonian Creole English
+tgi=Lawunuia
+tgk=Tajik
+tgl=Tagalog
+tgo=Sudest
+tgp=Tangoa
+tgq=Tring
+tgr=Tareng
+tgs=Nume
+tgt=Central Tagbanwa
+tgu=Tanggu
+tgv=Tingui-Boto
+tgw=Tagwana Senoufo
+tgx=Tagish
+tgy=Togoyo
+tha=Thai
+thc=Tai Hang Tong
+thd=Thayore
+the=Chitwania Tharu
+thf=Thangmi
+thh=Northern Tarahumara
+thi=Tai Long
+thk=Tharaka
+thl=Dangaura Tharu
+thm=Aheu
+thp=Thompson
+thq=Kochila Tharu
+thr=Rana Tharu
+ths=Thakali
+tht=Tahltan
+thu=Thuri
+thv=Tahaggart Tamahaq
+thw=Thudam
+thx=The
+thy=Tha
+thz=Tayart Tamajeq
+tia=Tidikelt Tamazight
+tic=Tira
+tid=Tidong
+tie=Tingal
+tif=Tifal
+tig=Tigre
+tih=Timugon Murut
+tii=Tiene
+tij=Tilung
+tik=Tikar
+til=Tillamook
+tim=Timbe
+tin=Tindi
+tio=Teop
+tip=Trimuris
+tiq=Tiéfo
+tir=Tigrinya
+tis=Masadiit Itneg
+tit=Tinigua
+tiu=Adasen Itneg
+tiv=Tiv
+tiw=Tiwi
+tix=Southern Tiwa
+tiy=Tiruray
+tiz=Tai Hongjin
+tja=Tajuasohn
+tjg=Tunjung
+tji=Northern Tujia
+tjm=Timucua
+tjn=Tonjon
+tjo=Temacine Tamazight
+tjs=Southern Tujia
+tju=Tjurruru
+tka=Truká
+tkb=Buksa
+tkd=Tukudede
+tke=Takwane
+tkf=Tukumanféd
+tkk=Takpa
+tkl=Tokelau
+tkm=Takelma
+tkn=Toku-No-Shima
+tkp=Tikopia
+tkq=Tee
+tkr=Tsakhur
+tks=Takestani
+tkt=Kathoriya Tharu
+tkw=Teanu
+tkx=Tangko
+tkz=Takua
+tla=Southwestern Tepehuan
+tlb=Tobelo
+tlc=Yecuatla Totonac
+tld=Talaud
+tle=Talai
+tlf=Telefol
+tlg=Tofanma
+tlh=Klingon; tlhIngan-Hol
+tli=Tlingit
+tlj=Talinga-Bwisi
+tlk=Taloki
+tll=Tetela
+tlm=Tolomako
+tln=Talondo'
+tlo=Talodi
+tlp=Filomena Mata-Coahuitlán Totonac
+tlq=Tai Loi
+tlr=Talise
+tls=Tambotalo
+tlt=Teluti
+tlu=Tulehu
+tlv=Taliabu
+tlw=South Wemale
+tlx=Khehek
+tly=Talysh
+tlz=Toala'
+tma=Tama (Chad)
+tmb=Katbol
+tmc=Tumak
+tmd=Haruai
+tme=Tremembé
+tmf=Toba-Maskoy
+tmg=Ternateño
+tmh=Tamashek
+tmi=Tutuba
+tmj=Samarokena
+tmk=Northwestern Tamang
+tml=Tamnim Citak
+tmm=Tai Thanh
+tmn=Taman (Indonesia)
+tmo=Temoq
+tmp=Tai Mène
+tmq=Tumleo
+tmr=Talmudic Aramaic
+tms=Tima
+tmt=Tasmate
+tmu=Iau
+tmv=Tembo (Motembo)
+tmw=Temuan
+tmx=Tomyang
+tmy=Tami
+tmz=Tamanaku
+tna=Tacana
+tnb=Western Tunebo
+tnc=Tanimuca-Retuarã
+tnd=Angosturas Tunebo
+tne=Tinoc Kallahan
+tnf=Tangshewi
+tng=Tobanga
+tnh=Maiani
+tni=Tandia
+tnj=Tanjong
+tnk=Kwamera
+tnl=Lenakel
+tnm=Tabla
+tnn=North Tanna
+tno=Toromono
+tnp=Whitesands
+tnq=Taino
+tnr=Budik
+tns=Tenis
+tnt=Tontemboan
+tnu=Tay Khang
+tnv=Tangchangya
+tnw=Tonsawang
+tnx=Tanema
+tny=Tongwe
+tnz=Tonga (Thailand)
+tob=Toba
+toc=Coyutla Totonac
+tod=Toma
+toe=Tomedes
+tof=Gizrra
+tog=Tonga (Nyasa)
+toh=Gitonga
+toi=Tonga (Zambia)
+toj=Tojolabal
+tol=Tolowa
+tom=Tombulu
+ton=Tonga (Tonga Islands)
+too=Xicotepec De Juárez Totonac
+top=Papantla Totonac
+toq=Toposa
+tor=Togbo-Vara Banda
+tos=Highland Totonac
+tot=Patla-Chicontla Totonac
+tou=Tho
+tov=Upper Taromi
+tow=Jemez
+tox=Tobian
+toy=Topoiyo
+toz=To
+tpa=Taupota
+tpc=Azoyú Tlapanec
+tpe=Tippera
+tpg=Kula
+tpi=Tok Pisin
+tpj=Tapieté
+tpk=Tupinikin
+tpl=Tlacoapa Tlapanec
+tpm=Tampulma
+tpn=Tupinambá
+tpo=Tai Pao
+tpp=Pisaflores Tepehua
+tpq=Tukpa
+tpr=Tuparí
+tpt=Tlachichilco Tepehua
+tpu=Tampuan
+tpv=Tanapag
+tpw=Tupí
+tpx=Acatepec Tlapanec
+tpy=Trumaí
+tpz=Tinputz
+tqb=Tembé
+tql=Lehali
+tqm=Turumsa
+tqn=Tenino
+tqo=Toaripi
+tqp=Tomoip
+tqq=Tunni
+tqr=Torona
+tqt=Ozumatlán Totonac
+tqu=Touo
+tqw=Tonkawa
+tra=Tirahi
+trb=Terebu
+trc=Copala Triqui
+trd=Turi
+tre=East Tarangan
+trf=Trinidadian Creole English
+trg=Lishán Didán
+trh=Turaka
+tri=Trió
+trj=Toram
+trl=Traveller Scottish
+trm=Tregami
+trn=Trinitario
+tro=Tarao Naga
+trp=Kok Borok
+trq=San Martín Itunyoso Triqui
+trr=Taushiro
+trs=Chicahuaxtla Triqui
+trt=Tunggare
+tru=Turoyo
+trv=Taroko
+trw=Torwali
+trx=Tringgus
+try=Turung
+trz=Torá
+tsa=Tsaangi
+tsb=Tsamai
+tsc=Tswa
+tsd=Tsakonian
+tse=Tunisian Sign Language
+tsf=Southwestern Tamang
+tsg=Tausug
+tsh=Tsuvan
+tsi=Tsimshian
+tsj=Tshangla
+tsk=Tseku
+tsl=Ts'ün-Lao
+tsm=Turkish Sign Language
+tsn=Tswana
+tso=Tsonga
+tsp=Northern Toussian
+tsq=Thai Sign Language
+tsr=Akei
+tss=Taiwan Sign Language
+tsu=Tsou
+tsv=Tsogo
+tsw=Tsishingini
+tsx=Mubami
+tsz=Purepecha
+tta=Tutelo
+ttb=Gaa
+ttc=Tektiteko
+ttd=Tauade
+tte=Bwanabwana
+ttf=Tuotomb
+ttg=Tutong 2
+tth=Upper Ta'oih
+tti=Tobati
+ttj=Tooro
+ttk=Totoro
+ttl=Totela
+ttm=Northern Tutchone
+ttn=Towei
+tto=Lower Ta'oih
+ttp=Tombelala
+ttq=Tawallammat Tamajaq
+ttr=Tera
+tts=Northeastern Thai
+ttt=Muslim Tat
+ttu=Torau
+ttv=Titan
+ttw=Tutoh Kenyah
+ttx=Tutong 1
+tty=Sikaritai
+ttz=Tsum
+tua=Wiarumus
+tub=Tübatulabal
+tuc=Mutu
+tud=Tuxá
+tue=Tuyuca
+tuf=Central Tunebo
+tug=Tunia
+tuh=Taulil
+tui=Tupuri
+tuj=Tugutil
+tuk=Turkmen
+tul=Tula
+tum=Tumbuka
+tun=Tunica
+tuo=Tucano
+tuq=Tedaga
+tur=Turkish
+tus=Tuscarora
+tuu=Tututni
+tuv=Turkana
+tux=Tuxináwa
+tuy=North Tugen
+tuz=Turka
+tva=Vaghua
+tvd=Tsuvadi
+tve=Te'un
+tvk=Southeast Ambrym
+tvl=Tuvalu
+tvm=Tela-Masbuar
+tvn=Tavoyan
+tvo=Tidore
+tvs=Taveta
+tvt=Tutsa Naga
+tvw=Sedoa
+tvy=Timor Pidgin
+twa=Twana
+twb=Western Tawbuid
+twc=Teshenawa
+twd=Twents
+twe=Tewa (Indonesia)
+twf=Northern Tiwa
+twg=Tereweng
+twh=Tai Dón
+twi=Twi
+twl=Tawara
+twn=Twendi
+two=Tswapong
+twp=Ere
+twq=Tasawaq
+twr=Southwestern Tarahumara
+twt=Turiwára
+twu=Termanu
+tww=Tuwari
+twx=Tewe
+twy=Tawoyan
+txa=Tombonuwo
+txb=Tokharian B
+txc=Tsetsaut
+txe=Totoli
+txg=Tangut
+txh=Thracian
+txi=Ikpeng
+txm=Tomini
+txn=West Tarangan
+txo=Toto
+txq=Tii
+txr=Tartessian
+txs=Tonsea
+txt=Citak
+txu=Kayapó
+txx=Tatana
+txy=Tanosy Malagasy
+tya=Tauya
+tye=Kyenga
+tyh=O'du
+tyi=Teke-Tsaayi
+tyj=Tai Do
+tyl=Thu Lao
+tyn=Kombai
+typ=Thaypan
+tyr=Tai Daeng
+tys=Tày Sa Pa
+tyt=Tày Tac
+tyu=Kua
+tyv=Tuvinian
+tyx=Teke-Tyee
+tyz=Tày
+tza=Tanzanian Sign Language
+tzb=Bachajón Tzeltal
+tzc=Chamula Tzotzil
+tze=Chenalhó Tzotzil
+tzh=Oxchuc Tzeltal
+tzj=Eastern Tzutujil
+tzm=Central Atlas Tamazight
+tzn=Tugun
+tzo=Venustiano Carranza Tzotzil
+tzs=San Andrés Larrainzar Tzotzil
+tzt=Western Tzutujil
+tzu=Huixtán Tzotzil
+tzx=Tabriak
+tzz=Zinacantán Tzotzil
+uam=Uamué
+uan=Kuan
+uar=Tairuma
+uba=Ubang
+ubi=Ubi
+ubm=Upper Baram Kenyah
+ubr=Ubir
+ubu=Umbu-Ungu
+uby=Ubykh
+uda=Uda
+ude=Udihe
+udi=Udi
+udj=Ujir
+udl=Wuzlam
+udm=Udmurt
+udu=Uduk
+ues=Kioko
+ufi=Ufim
+uga=Ugaritic
+ugb=Kuku-Ugbanh
+uge=Ughele
+ugn=Ugandan Sign Language
+ugo=Ugong
+ugy=Uruguayan Sign Language
+uha=Uhami
+uhn=Damal
+uig=Uighur
+uis=Uisai
+uiv=Iyive
+uji=Tanjijili
+uka=Kaburi
+ukg=Ukuriguma
+ukh=Ukhwejo
+ukl=Ukrainian Sign Language
+ukp=Ukpe-Bayobiri
+ukq=Ukwa
+ukr=Ukrainian
+uks=Urubú-Kaapor Sign Language
+uku=Ukue
+ukw=Ukwuani-Aboh-Ndoni
+ula=Fungwa
+ulb=Ulukwumi
+ulc=Ulch
+ulf=Usku
+uli=Ulithian
+ulk=Meriam
+ull=Ullatan
+ulm=Ulumanda'
+uln=Unserdeutsch
+uma=Umatilla
+umb=Umbundu
+umc=Marrucinian
+umd=Umbindhamu
+umg=Umbuygamu
+umi=Ukit
+umm=Umon
+umo=Umotína
+ump=Umpila
+umr=Umbugarla
+ums=Pendau
+umu=Munsee
+una=North Watut
+und=Undetermined
+une=Uneme
+ung=Ngarinyin
+unk=Enawené-Nawé
+unm=Unami
+unp=Worora
+unz=Unde Kaili
+uok=Uokha
+upi=Umeda
+upv=Uripiv-Wala-Rano-Atchin
+ura=Urarina
+urb=Urubú-Kaapor
+urc=Urningangg
+urd=Urdu
+ure=Uru
+urf=Uradhi
+urg=Urigina
+urh=Urhobo
+uri=Urim
+urk=Urak Lawoi'
+url=Urali
+urm=Urapmin
+urn=Uruangnirin
+uro=Ura (Papua New Guinea)
+urp=Uru-Pa-In
+urr=Lehalurup
+urt=Urat
+uru=Urumi
+urv=Uruava
+urw=Sop
+urx=Urimo
+ury=Orya
+urz=Uru-Eu-Wau-Wau
+usa=Usarufa
+ush=Ushojo
+usi=Usui
+usk=Usaghade
+usp=Uspanteco
+usu=Uya
+uta=Otank
+ute=Ute-Southern Paiute
+utp=Amba (Solomon Islands)
+utr=Etulo
+utu=Utu
+uum=Urum
+uun=Kulon-Pazeh
+uur=Ura (Vanuatu)
+uuu=U
+uve=West Uvean
+uvh=Uri
+uvl=Lote
+uwa=Kuku-Uwanh
+uya=Doko-Uyanga
+uzb=Uzbek
+uzn=Northern Uzbek
+uzs=Southern Uzbek
+vaa=Vaagri Booli
+vae=Vale
+vaf=Vafsi
+vag=Vagla
+vah=Varhadi-Nagpuri
+vai=Vai
+vaj=Vasekela Bushman
+val=Vehes
+vam=Vanimo
+van=Valman
+vao=Vao
+vap=Vaiphei
+var=Huarijio
+vas=Vasavi
+vau=Vanuma
+vav=Varli
+vay=Wayu
+vbb=Southeast Babar
+vec=Venetian
+ved=Veddah
+vel=Veluws
+vem=Vemgo-Mabas
+ven=Venda
+veo=Ventureño
+vep=Veps
+ver=Mom Jango
+vgr=Vaghri
+vic=Virgin Islands Creole English
+vid=Vidunda
+vie=Vietnamese
+vif=Vili
+vig=Viemo
+vil=Vilela
+vin=Vinza
+vis=Vishavan
+vit=Viti
+viv=Iduna
+vka=Kariyarra
+vki=Ija-Zuba
+vkj=Kujarge
+vkk=Kaur
+vkl=Kulisusu
+vkm=Kamakan
+vko=Kodeoha
+vkp=Korlai Creole Portuguese
+vkt=Tenggarong Kutai Malay
+vku=Kurrama
+vky=Kayu Agung
+vlp=Valpei
+vlr=Vatrata
+vls=Vlaams
+vma=Martuyhunira
+vmb=Mbabaram
+vmc=Juxtlahuaca Mixtec
+vmd=Mudu Koraga
+vme=East Masela
+vmf=Mainfränkisch
+vmg=Minigir
+vmh=Maraghei
+vmi=Miwa
+vmj=Ixtayutla Mixtec
+vmk=Makhuwa-Shirima
+vml=Malgana
+vmm=Mitlatongo Mixtec
+vmo=Muko-Muko
+vmp=Soyaltepec Mazatec
+vmq=Soyaltepec Mixtec
+vmr=Marenje
+vms=Moksela
+vmu=Muluridyi
+vmv=Valley Maidu
+vmw=Makhuwa
+vmx=Tamazola Mixtec
+vmy=Ayautla Mazatec
+vmz=Mazatlán Mazatec
+vnk=Vano
+vnm=Vinmavis
+vnp=Vunapu
+vol=Volapük
+vor=Voro
+vot=Votic
+vrs=Varisi
+vrt=Burmbar
+vsi=Moldova Sign Language
+vsl=Venezuelan Sign Language
+vum=Vumbu
+vun=Vunjo
+vut=Vute
+waa=Walla Walla
+wab=Wab
+wac=Wasco-Wishram
+wad=Wandamen
+wae=Walser
+waf=Wakoná
+wag=Wa'ema
+wah=Watubela
+wai=Wares
+waj=Waffa
+wal=Walamo
+wam=Wampanoag
+wan=Wan
+wao=Wappo
+wap=Wapishana
+waq=Wageman
+war=Waray (Philippines)
+was=Washo
+wat=Kaninuwa
+wau=Waurá
+wav=Waka
+waw=Waiwai
+wax=Watam
+way=Wayana
+waz=Wampur
+wba=Warao
+wbb=Wabo
+wbe=Waritai
+wbf=Wara
+wbh=Wanda
+wbi=Wanji
+wbj=Alagwa
+wbk=Waigali
+wbl=Wakhi
+wbm=Wa
+wbp=Warlpiri
+wbq=Waddar
+wbr=Wagdi
+wbt=Wanman
+wbv=Wajarri
+wbw=Woi
+wca=Yanomámi
+wci=Waci Gbe
+wdd=Wandji
+wdg=Wadaginam
+wdj=Wadjiginy
+wdu=Wadjigu
+wea=Wewaw
+wec=Wè Western
+wed=Wedau
+weh=Weh
+wei=Were
+wem=Weme Gbe
+weo=North Wemale
+wep=Westphalien
+wer=Weri
+wes=Cameroon Pidgin
+wet=Perai
+weu=Welaung
+wew=Wejewa
+wfg=Yafi
+wga=Wagaya
+wgg=Wangganguru
+wgi=Wahgi
+wgo=Waigeo
+wgw=Wagawaga
+wgy=Warrgamay
+wha=Manusela
+whg=North Wahgi
+whk=Wahau Kenyah
+whu=Wahau Kayan
+wib=Southern Toussian
+wic=Wichita
+wie=Wik-Epa
+wif=Wik-Keyangan
+wig=Wik-Ngathana
+wih=Wik-Me'anha
+wii=Wiaki
+wij=Wik-Iiyanh
+wik=Wikalkan
+wil=Wilawila
+wim=Wik-Mungkan
+win=Ho-Chunk
+wir=Wiraféd
+wit=Wintu
+wiu=Wiru
+wiv=Muduapa
+wiw=Wirangu
+wiy=Wiyot
+wja=Waja
+wji=Warji
+wka=Kw'adza
+wkd=Wakde
+wkw=Wakawaka
+wla=Walio
+wlc=Mwali Comorian
+wlg=Kunbarlang
+wli=Waioli
+wlk=Wailaki
+wll=Wali (Sudan)
+wlm=Middle Welsh
+wln=Walloon
+wlo=Wolio
+wlr=Wailapa
+wls=Wallisian
+wlu=Wuliwuli
+wlv=Wichí Lhamtés Vejoz
+wlw=Walak
+wlx=Wali (Ghana)
+wly=Waling
+wma=Mawa (Nigeria)
+wmb=Wambaya
+wmc=Wamas
+wme=Wambule
+wmh=Waima'a
+wmi=Wamin
+wmm=Maiwa (Indonesia)
+wmn=Waamwang
+wmo=Wom (Papua New Guinea)
+wms=Wambon
+wmt=Walmajarri
+wmw=Mwani
+wnb=Wanambre
+wnc=Wantoat
+wnd=Wandarang
+wne=Waneci
+wng=Wanggom
+wni=Ndzwani Comorian
+wnk=Wanukaka
+wnm=Wanggamala
+wno=Wano
+wnp=Wanap
+wnu=Usan
+woa=Tyaraity
+wob=Wè Northern
+woc=Wogeo
+wod=Wolani
+woe=Woleaian
+wof=Gambian Wolof
+wog=Wogamusin
+woi=Kamang
+wok=Longto
+wol=Wolof
+wom=Wom (Nigeria)
+won=Wongo
+woo=Manombai
+wor=Woria
+wos=Hanga Hundi
+wow=Wawonii
+woy=Weyto
+wpc=Maco
+wra=Warapu
+wrb=Warluwara
+wrd=Warduji
+wre=Ware
+wrg=Warungu
+wrh=Wiradhuri
+wri=Wariyangga
+wrl=Warlmanpa
+wrm=Warumungu
+wrn=Warnang
+wrp=Waropen
+wrr=Wardaman
+wrs=Waris
+wru=Waru
+wrv=Waruna
+wrw=Gugu Warra
+wrx=Wae Rana
+wry=Merwari
+wrz=Waray (Australia)
+wsa=Warembori
+wsi=Wusi
+wsk=Waskia
+wsr=Owenia
+wss=Wasa
+wsu=Wasu
+wsv=Wotapuri-Katarqalai
+wtf=Dumpu
+wti=Berta
+wtk=Watakataui
+wtm=Mewati
+wtw=Wotu
+wua=Wikngenchera
+wub=Wunambal
+wud=Wudu
+wuh=Wutunhua
+wul=Silimo
+wum=Wumbvu
+wun=Bungu
+wur=Wurrugu
+wut=Wutung
+wuu=Wu Chinese
+wuv=Wuvulu-Aua
+wux=Wulna
+wuy=Wauyai
+wwa=Waama
+wwo=Wetamut
+wwr=Warrwa
+www=Wawa
+wxa=Waxianghua
+wya=Wyandot
+wyb=Wangaaybuwan-Ngiyambaa
+wyr=Wayoró
+wyy=Western Fijian
+xac=Kachari
+xad=Adai
+xae=Aequian
+xag=Aghwan
+xah=Kahayan
+xai=Kaimbé
+xal=Kalmyk; Oirat
+xam=/Xam
+xan=Xamtanga
+xao=Khao
+xap=Apalachee
+xaq=Aquitanian
+xar=Karami
+xas=Kamas
+xat=Katawixi
+xau=Kauwera
+xav=Xavánte
+xaw=Kawaiisu
+xay=Kayan Mahakam
+xba=Kamba (Brazil)
+xbc=Bactrian
+xbi=Kombio
+xbm=Middle Breton
+xbo=Bolgarian
+xbr=Kambera
+xbw=Kambiwá
+xbx=Kabixí
+xcb=Cumbric
+xcc=Camunic
+xce=Celtiberian
+xcg=Cisalpine Gaulish
+xch=Chemakum
+xcl=Classical Armenian
+xcm=Comecrudo
+xcn=Cotoname
+xco=Chorasmian
+xcr=Carian
+xct=Classical Tibetan
+xcu=Curonian
+xcv=Chuvantsy
+xcw=Coahuilteco
+xcy=Cayuse
+xdc=Dacian
+xdm=Edomite
+xdy=Malayic Dayak
+xeb=Eblan
+xed=Hdi
+xeg=//Xegwi
+xel=Kelo
+xem=Kembayan
+xep=Epi-Olmec
+xer=Xerénte
+xes=Kesawai
+xet=Xetá
+xeu=Keuru
+xfa=Faliscan
+xga=Galatian
+xgf=Gabrielino-Fernandeño
+xgl=Galindan
+xgr=Garza
+xha=Harami
+xhc=Hunnic
+xhd=Hadrami
+xhe=Khetrani
+xho=Xhosa
+xhr=Hernican
+xht=Hattic
+xhu=Hurrian
+xhv=Khua
+xia=Xiandao
+xib=Iberian
+xii=Xiri
+xil=Illyrian
+xin=Xinca
+xip=Xipináwa
+xir=Xiriâna
+xiv=Indus Valley Language
+xiy=Xipaya
+xka=Kalkoti
+xkb=Manigri-Kambolé Ede Nago
+xkc=Kho'ini
+xkd=Mendalam Kayan
+xke=Kereho-Uheng
+xkf=Khengkha
+xkg=Kagoro
+xkh=Karahawyana
+xki=Kenyan Sign Language
+xkj=Kajali
+xkk=Kaco'
+xkl=Kelinyau Kenyah
+xkm=Mahakam Kenyah
+xkn=Kayan River Kayan
+xko=Kiorr
+xkp=Kabatei
+xkq=Koroni
+xkr=Xakriabá
+xks=Kumbewaha
+xkt=Kantosi
+xku=Kaamba
+xkv=Kgalagadi
+xkw=Kembra
+xkx=Karore
+xky=Western Kenyah
+xkz=Kurtokha
+xla=Kamula
+xlb=Loup B
+xlc=Lycian
+xld=Lydian
+xle=Lemnian
+xlg=Ligurian (Ancient)
+xli=Liburnian
+xln=Alanic
+xlo=Loup A
+xlp=Lepontic
+xls=Lusitanian
+xlu=Cuneiform Luwian
+xly=Elymian
+xma=Mushungulu
+xmb=Mbonga
+xmc=Makhuwa-Marrevone
+xmd=Mbedam
+xme=Median
+xmf=Mingrelian
+xmg=Mengaka
+xmh=Kuku-Muminh
+xmi=Miarrã
+xmj=Majera
+xmk=Ancient Macedonian
+xml=Malaysian Sign Language
+xmm=Manado Malay
+xmo=Morerebi
+xmp=Kuku-Mu'inh
+xmq=Kuku-Mangk
+xmr=Meroitic
+xms=Moroccan Sign Language
+xmt=Matbat
+xmu=Kamu
+xmv=Antankarana Malagasy
+xmw=Tsimihety Malagasy
+xmx=Maden
+xmy=Mayaguduna
+xmz=Mori Bawah
+xna=Ancient North Arabian
+xnb=Kanakanabu
+xng=Middle Mongolian
+xnh=Kuanhua
+xnn=Northern Kankanay
+xno=Anglo-Norman
+xnr=Kangri
+xns=Kanashi
+xod=Kokoda
+xog=Soga
+xoi=Kominimung
+xok=Xokleng
+xom=Komo (Sudan)
+xon=Konkomba
+xoo=Xukurú
+xop=Kopar
+xor=Korubo
+xow=Kowaki
+xpc=Pecheneg
+xpe=Liberia Kpelle
+xpg=Phrygian
+xpi=Pictish
+xpm=Pumpokol
+xpn=Kapinawá
+xpo=Pochutec
+xpp=Puyo-Paekche
+xpr=Parthian
+xps=Pisidian
+xpu=Punic
+xpy=Puyo
+xqt=Qatabanian
+xra=Krahô
+xrb=Eastern Karaboro
+xre=Kreye
+xri=Krikati-Timbira
+xrm=Armazic
+xrn=Arin
+xrr=Raetic
+xrt=Aranama-Tamique
+xrw=Karawa
+xsa=Sabaean
+xsb=Tinà Sambal
+xsc=Scythian
+xsd=Sidetic
+xse=Sempan
+xsh=Shamang
+xsi=Sio
+xsj=Subi
+xsk=Sakan
+xsl=South Slavey
+xsm=Kasem
+xsn=Sanga (Nigeria)
+xso=Solano
+xsp=Silopi
+xsq=Makhuwa-Saka
+xsr=Sherpa
+xss=Assan
+xst=Silt'e
+xsu=Sanumá
+xsv=Sudovian
+xsy=Saisiyat
+xta=Alcozauca Mixtec
+xtb=Chazumba Mixtec
+xtc=Katcha-Kadugli-Miri
+xtd=Diuxi-Tilantongo Mixtec
+xte=Ketengban
+xtg=Transalpine Gaulish
+xti=Sinicahua Mixtec
+xtj=San Juan Teita Mixtec
+xtl=Tijaltepec Mixtec
+xtm=Magdalena Peñasco Mixtec
+xtn=Northern Tlaxiaco Mixtec
+xto=Tokharian A
+xtp=San Miguel Piedras Mixtec
+xtr=Early Tripuri
+xts=Sindihui Mixtec
+xtt=Tacahua Mixtec
+xtu=Cuyamecalco Mixtec
+xty=Yoloxochitl Mixtec
+xtz=Tasmanian
+xua=Alu Kurumba
+xub=Betta Kurumba
+xuf=Kunfal
+xug=Kunigami
+xuj=Jennu Kurumba
+xum=Umbrian
+xuo=Kuo
+xup=Upper Umpqua
+xur=Urartian
+xut=Kuthant
+xuu=Kxoe
+xve=Venetic
+xvi=Kamviri
+xvn=Vandalic
+xvo=Volscian
+xvs=Vestinian
+xwc=Woccon
+xwe=Xwela Gbe
+xwg=Kwegu
+xwl=Western Xwla Gbe
+xwo=Written Oirat
+xwr=Kwerba Mamberamo
+xxk=Ke'o
+xzh=Zhang-Zhung
+xzm=Zemgalian
+yaa=Yaminahua
+yab=Yuhup
+yac=Pass Valley Yali
+yad=Yagua
+yae=Pumé
+yaf=Yaka (Democratic Republic of Congo)
+yag=Yámana
+yah=Yazgulyam
+yai=Yagnobi
+yaj=Banda-Yangere
+yak=Yakima
+yal=Yalunka
+yam=Yamba
+yao=Yao
+yap=Yapese
+yaq=Yaqui
+yar=Yabarana
+yas=Nugunu (Cameroon)
+yat=Yambeta
+yau=Yuwana
+yav=Yangben
+yaw=Yawalapití
+yax=Yauma
+yay=Agwagwune
+yaz=Lokaa
+yba=Yala
+ybb=Yemba
+ybd=Yangbye
+ybe=West Yugur
+ybh=Yakha
+ybi=Yamphu
+ybj=Hasha
+ybl=Yukuben
+ybm=Yaben
+ybn=Yabaâna
+ybo=Yabong
+ybx=Yawiyo
+yby=Yaweyuha
+ycl=Central Yi
+ycn=Yucuna
+ydd=Eastern Yiddish
+ydg=Yidgha
+ydk=Yoidik
+yds=Yiddish Sign Language
+yea=Ravula
+yec=Yeniche
+yee=Yimas
+yei=Yeni
+yej=Yevanic
+yel=Yela
+yen=Yendang
+yer=Tarok
+yes=Yeskwa
+yet=Yetfa
+yeu=Yerukula
+yev=Yapunda
+yey=Yeyi
+ygm=Yagomi
+ygr=Yagaria
+ygw=Yagwoia
+yhd=Judeo-Iraqi Arabic
+yia=Yinggarda
+yib=Yinglish
+yid=Yiddish
+yif=Ache Yi
+yig=Guizhou Yi
+yih=Western Yiddish
+yii=Yidiny
+yij=Yindjibarndi
+yik=Xishan Lalu Yi
+yil=Yindjilandji
+yim=Yimchungru Naga
+yin=Yinchia
+yio=Dayao Yi
+yip=Poluo Yi
+yiq=Miqie Yi
+yir=North Awyu
+yis=Yis
+yit=Eastern Lalu Yi
+yiu=Awu Yi
+yiv=Eshan-Xinping Yi
+yix=Axi Yi
+yiy=Yir Yoront
+yiz=Azhe Yi
+yka=Yakan
+ykg=Northern Yukaghir
+yki=Yoke
+ykk=Yakaikeke
+ykm=Yakamul
+yko=Yasa
+ykr=Yekora
+yky=Yakoma
+yla=Yaul
+yle=Yele
+ylg=Yelogu
+yli=Angguruk Yali
+yll=Yil
+ylm=Limi Yi
+ylo=Naluo Yi
+ylr=Yalarnnga
+ylu=Aribwaung
+yly=Nyâlayu
+yma=Yamphe
+ymb=Yambes
+yme=Yameo
+ymg=Yamongeri
+ymh=Mili Yi
+ymj=Muji Yi
+ymk=Makwe
+yml=Iamalele
+ymm=Maay
+ymn=Yamna
+ymp=Yamap
+yms=Mysian
+ymt=Mator-Taygi-Karagas
+ynd=Yandruwandha
+yng=Yango
+ynh=Yangho
+ynk=Naukan Yupik
+ynl=Yangulam
+ynn=Yana
+yno=Yong
+yns=Yansi
+ynu=Yahuna
+yob=Yoba
+yog=Yogad
+yoi=Yonaguni
+yok=Yokuts
+yom=Yombe
+yon=Yonggom
+yor=Yoruba
+yos=Yos
+yox=Yoron
+yoy=Yoy
+ypl=Pula Yi
+ypw=Puwa Yi
+yra=Yerakai
+yrb=Yareba
+yre=Yaouré
+yri=Yarí
+yrk=Nenets
+yrl=Nhengatu
+yrn=Yerong
+yrs=Yarsun
+yrw=Yarawata
+ysc=Yassic
+ysl=Yugoslavian Sign Language
+ysn=Sani Yi
+yso=Southeastern Lolo Yi
+ysp=Southern Lolopho Yi
+ysr=Sirenik Yupik
+yss=Yessan-Mayo
+yua=Yucatán Maya
+yub=Yugambal
+yuc=Yuchi
+yud=Judeo-Tripolitanian Arabic
+yue=Yue Chinese
+yuf=Havasupai-Walapai-Yavapai
+yug=Yug
+yui=Yurutí
+yuj=Karkar-Yuri
+yuk=Yuki
+yul=Yulu
+yum=Quechan
+yun=Bena (Nigeria)
+yup=Yukpa
+yuq=Yuqui
+yur=Yurok
+yus=Chan Santa Cruz Maya
+yut=Yopno
+yuu=Yugh
+yuw=Yau (Morobe Province)
+yux=Southern Yukaghir
+yuy=East Yugur
+yuz=Yuracare
+yva=Yawa
+yvt=Yavitero
+ywa=Kalou
+ywl=Western Lalu Yi
+ywm=Wumeng Yi
+ywn=Yawanawa
+ywq=Wuding-Luquan Yi
+ywr=Yawuru
+ywt=Western Yi
+ywu=Wusa Yi
+yww=Yawarawarga
+yym=Yuanjiang-Mojiang Yi
+yyu=Yau (Sandaun Province)
+zaa=Sierra de Juárez Zapotec
+zab=San Juan Guelavía Zapotec
+zac=Ocotlán Zapotec
+zad=Cajonos Zapotec
+zae=Yareni Zapotec
+zaf=Ayoquesco Zapotec
+zag=Zaghawa
+zah=Zangwal
+zai=Isthmus Zapotec
+zaj=Zaramo
+zak=Zanaki
+zal=Zauzou
+zam=Miahuatlán Zapotec
+zao=Ozolotepec Zapotec
+zap=Zapotec
+zaq=Aloápam Zapotec
+zar=Rincón Zapotec
+zas=Santo Domingo Albarradas Zapotec
+zat=Tabaa Zapotec
+zau=Zangskari
+zav=Yatzachi Zapotec
+zaw=Mitla Zapotec
+zax=Xadani Zapotec
+zay=Zayse-Zergulla
+zaz=Zari
+zca=Coatecas Altas Zapotec
+zdj=Ngazidja Comorian
+zea=Zeeuws
+zeg=Zenag
+zen=Zenaga
+zga=Kinga
+zgr=Magori
+zha=Zhuang
+zhb=Zhaba
+zhi=Zhire
+zho=Chinese
+zhw=Zhoa
+zia=Zia
+zib=Zimbabwe Sign Language
+zik=Zimakani
+zim=Mesme
+zin=Zinza
+zir=Ziriya
+ziw=Zigula
+ziz=Zizilivakan
+zka=Kaimbulawa
+zkb=Koibal
+zkg=Koguryo
+zkh=Khorezmian
+zkk=Karankawa
+zko=Kott
+zkp=São Paulo Kaingáng
+zkr=Zakhring
+zkt=Kitan
+zku=Kaurna
+zkv=Krevinian
+zkz=Khazar
+zma=Manda (Australia)
+zmb=Zimba
+zmc=Margany
+zmd=Maridan
+zme=Mangerr
+zmf=Mfinu
+zmg=Marti Ke
+zmh=Makolkol
+zmi=Negeri Sembilan Malay
+zmj=Maridjabin
+zmk=Mandandanyi
+zml=Madngele
+zmm=Marimanindji
+zmn=Mbangwe
+zmo=Molo
+zmp=Mpuono
+zmq=Mituku
+zmr=Maranunggu
+zms=Mbesa
+zmt=Maringarr
+zmu=Muruwari
+zmv=Mbariman-Gudhinma
+zmw=Mbo (Democratic Republic of Congo)
+zmx=Bomitaba
+zmy=Mariyedi
+zmz=Mbandja
+zna=Zan Gula
+zne=Zande (specific)
+zng=Mang
+znk=Manangkari
+zns=Mangas
+zoc=Copainalá Zoque
+zoh=Chimalapa Zoque
+zom=Zome
+zoo=Asunción Mixtepec Zapotec
+zoq=Tabasco Zoque
+zor=Rayón Zoque
+zos=Francisco León Zoque
+zpa=Lachiguiri Zapotec
+zpb=Yautepec Zapotec
+zpc=Choapan Zapotec
+zpd=Southeastern Ixtlán Zapotec
+zpe=Petapa Zapotec
+zpf=San Pedro Quiatoni Zapotec
+zpg=Guevea De Humboldt Zapotec
+zph=Totomachapan Zapotec
+zpi=Santa María Quiegolani Zapotec
+zpj=Quiavicuzas Zapotec
+zpk=Tlacolulita Zapotec
+zpl=Lachixío Zapotec
+zpm=Mixtepec Zapotec
+zpn=Santa Inés Yatzechi Zapotec
+zpo=Amatlán Zapotec
+zpp=El Alto Zapotec
+zpq=Zoogocho Zapotec
+zpr=Santiago Xanica Zapotec
+zps=Coatlán Zapotec
+zpt=San Vicente Coatlán Zapotec
+zpu=Yalálag Zapotec
+zpv=Chichicapan Zapotec
+zpw=Zaniza Zapotec
+zpx=San Baltazar Loxicha Zapotec
+zpy=Mazaltepec Zapotec
+zpz=Texmelucan Zapotec
+zra=Kara (Korea)
+zrg=Mirgan
+zrn=Zirenkel
+zro=Záparo
+zrp=Zarphatic
+zrs=Mairasi
+zsk=Kaskean
+zsl=Zambian Sign Language
+zsr=Southern Rincon Zapotec
+ztc=Lachirioag Zapotec
+zte=Elotepec Zapotec
+ztg=Xanaguía Zapotec
+ztl=Santiago Lapaguía Zapotec
+ztm=San Agustín Mixtepec Zapotec
+ztn=Santa Catarina Albarradas Zapotec
+ztp=Loxicha Zapotec
+ztq=Quioquitani-Quierí Zapotec
+zts=Tilquiapan Zapotec
+ztt=Tejalapan Zapotec
+ztu=Güilá Zapotec
+ztx=Zaachila Zapotec
+zty=Yatee Zapotec
+zua=Zeem
+zuh=Tokano
+zul=Zulu
+zum=Kumzari
+zun=Zuni
+zuy=Zumaya
+zwa=Zay
+zyp=Zyphe
diff --git a/form.php b/form.php
new file mode 100644
index 0000000..41cfb7a
--- /dev/null
+++ b/form.php
@@ -0,0 +1,40 @@
+ $value) {
+ if (!in_array($key, $ignoredKeys) ) {
+ $formData[$key] = $value;
+ }
+}
+
+if (empty($formData) || isset($_REQUEST['reset'])) {
+
+ echo "Waiting form submission...";
+
+} else {
+
+ echo date('Y-m-d g:i:s', time()) . ' - '
+ . "The form has submitted the following values :\n\n";
+
+ foreach ($formData as $fieldName => $value) {
+ if (is_array($value)) {
+ $valueData = $value;
+ $value = '';
+ foreach ($valueData as $data) {
+ $value .= (!empty($value) ? ', ' : '') . $data;
+ }
+ }
+
+ echo "Field : " . $fieldName . "\n"
+ . "Value : " . $value . "\n\n";
+ }
+
+ echo "\n"
+ . "Done.";
+
+}
diff --git a/index.html b/index.html
index 55288f6..6220390 100644
--- a/index.html
+++ b/index.html
@@ -1,23 +1,37 @@
-
+
jQuery UI Multiselect
-
+
-
-
+
+
-
+
+
+
@@ -26,169 +40,1098 @@
-
- It depends on jQuery 1.3 and jQuery UI 1.7 .
- The widget is styleable using Themeroller .
- It works in an unobtrusive fashion, by just turning html multiple select inputs into a sexier equivalent. There's no extra markup needed.
-
-
-
- For installation instructions please have a look at the corresponding blogpost
- Source code is available at Github
- In case you are looking for the original version, it has been moved here
- Bleeding Edge Demo is always available here (thanks to Github Pages)
-
-
-
-
-
-
-
-
Features
-
- Search within available options, if there are a lots of them
- Displaying counts of selected and available items
- Select All / Deselect All Buttons
- Dragging items from the available list to the selected list directly
-
-
-
Contributors
-
-
-
Misc
-
- There are no limitations. Do whatever you want with this plugin.
- If you did some nice modifications, just let me know (via Github). I'd be happy to include them.
-
+
+ It depends on jQuery 1.4.2 and jQuery UI 1.8 .
+ The widget is styleable using Themeroller .
+ It works in an unobtrusive fashion, by just turning html multiple select inputs into a sexier equivalent. There's no extra markup needed.
+
+
+
+ Localisation support is done through the localization plugin available here .
+
+
+
+ The widget is available under the dual MIT and GPL licenses.
+
+
+
+
+
+
+
+
+
+ For installation instructions please have a look at the corresponding blogpost
+ Source code is available at Github
+ In case you are looking for the original version, it has been moved here
+ Official Bleeding Edge Demo is always available here (thanks to Github Pages)
+
+
+
Demo
+
+
+
+
+
+
+
+
+
+
Toggle external controls
+
(IE6 doesn't render well this layout.... and I don't care)
+
+
+
Controls :
+
+
+
+
+
+
Enable multiselect :
+
+
+
+
+
+
Get selected values :
+
+
+
+
+
+
+
+
+
+
+
+
+
Features
+
+ Search within available options, if there are a lots of them
+ Remote search if too many items, with custom parameters to control remote script
+ Displaying counts of selected and available items
+ Select All / Deselect All Buttons
+ Drag 'n drop support using droppables and/or sortables independantly
+ List sorting and node events callbacks for more customizations
+
+
+
Localisation
+
+ All messages are using a string template function to allow localization. To specify a locale template, copy the /js/locale/ui.multiselect-en.js
template, rename the file (ie: for french, ui.multiselect-fr.js
), open it, and translate the strings, save. Then add the script between ui.multiselect.js
and your widget initialization script.
+ For more information about the string template format, read Andrew Hedges' blog .
+
+
+
Known bugs
+
+ Drag'n'drop may not select items properly. The problem is more apparaent when the containers are sortable.
+ Talking about sortables, they are not sorted correctly 90% of the time....
+ The widget may trigger an error inside JQuery itself ...but Seems to be fixed, please report if the problem occurs.
+ ...more?
+
+
+
Limitations
+
+ When switching a select
list into a JQuery UI Multiselect instance, you should not set the selected
attribute directly to the original option
elements, but instead use the public select
method provided with the widget.
+ When selecting all items (or select none) needs to transfer hundreds of elements from one list to the other, there may be script execution timeout errors. Stopping script execution should not have significant impact on stability, but is in itself annoying to the user. Improvement on the item cache system is on the todo list
+
+
+
Todos...
+
Here's a list of features that may or may not be implemented in future releases (no specific versions).
+
+ Support for option groups and disabled options (currently ignored)
+ Restore selected options on page reload for options found via remote search calls
+ Add a sort public method to apply the nodeComparator
to all items
+ Speed improvements...
+ ...more?
+
+
+
Contributors
+
+
+
Misc
+
+ There are no limitations. Do whatever you want with this plugin.
+ If you did some nice modifications, just let us know (via Github). We'd be happy to review them, and perhaps include them.
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
When animated is specified, the multiselect UI will use transition effects between interactions. The possible values are 'fast', 'slow' and null (no animation).
+
+
+
Code examples
+
+
+ Initialize a multiselect with the animated
option specified.
+
+
+ $('.selector').multiselect({ animated: 'fast' });
+
+
+ Get or set the animated
option, after init.
+
+
+ //getter
+var animated = $('.selector').dialog('option', 'animated');
+//setter
+$('.selector').dialog('option', 'animated', 'slow');
+
+
+
+
+
+
+
+
+
Used with remote search, this function is called to parse the data received and return the data in the expected format.
+
The function takes the raw received data from the request and should return a JSON object corresponding to the new available options to add. The returned object should have the following structure :
+
{
+ "key1": {
+ selected: boolean,
+ value: string
+ }[,
+ "key2": {
+ selected: boolean,
+ value: string
+ }[,
+ ...]]
+}
+
If the data should be discarded, the function may return false or null.
+
+
+
Code examples
+
+
+ Initialize a multiselect with the a pass-through dataParser
+ (expects to receive the correct raw data format from the server)
+
+
+ $('.selector').multiselect({ dataParser: function(data) { return data; } });
+
+
+ Get or set the dataParser
option, after init.
+
+
+ //getter
+var dataParser = $('.selector').dialog('option', 'dataParser');
+//setter
+$('.selector').dialog('option', 'dataParser', newDataParser);
+
+
+
+
+
+
+
+
+
Specify the portion of the selected (left side) area of the multiselect. To have an even split multiselect, set dividerLocation to 0.5. The value should be between 0 and 1.
+
+
+
Code examples
+
+
+ Initialize a multiselect with the dividerLocation
option specified.
+
+
+ $('.selector').multiselect({ dividerLocation: 0.55 });
+
+
+ Get or set the dividerLocation
option, after init.
+
+
+ //getter
+var dividerLocation = $('.selector').dialog('option', 'dividerLocation');
+//setter
+$('.selector').dialog('option', 'dividerLocation', 0.55);
+
+
+
+
+
+
+
+
+
Enable or disable basic drag and drop functionality between the selected list (left) and the available list (right). The possible values are 'both', 'left', 'right', 'none'. And set drop support in both lists, the selected list, the available list, or no drag and drop respectively.
+
This setting is readonly at run-time. Trying to set this property after initialization will trigger a messages event.
+
+
+
Code examples
+
+
+ Initialize a multiselect with the no drag and drop functionality.
+
+
+ $('.selector').multiselect({ droppable: 'none' });
+
+
+ Get the droppable
option, after init.
+
+
+ //getter
+var droppable = $('.selector').dialog('option', 'droppable');
+
+
+
+
+
+
+
+
+
Specify the hide animation function to use. If animated is null, the value will be overriden to 'hide'. The possible values are any available function effects name. The default value for animated hide effect is 'slideUp'.
+
+
+
Code examples
+
+
+ Initialize a multiselect with the hide
option specified.
+
+
+ $('.selector').multiselect({ hide: 'fadeOut' });
+
+
+ Get or set the hide
option, after init.
+
+
+ //getter
+var hide = $('.selector').dialog('option', 'hide');
+//setter
+$('.selector').dialog('option', 'hide', 'fadeOut');
+
+
+
+
+
+
+
+
+
Comparator function used in ordering the list's elements during transfer. The function takes two arguments, a and b, and should return a numeric value less than 0 if a < b, 0 if a == b, or greater than 0 if a > b respectively.
+
The function is only called when the list is not sortable . By default, items are sorted by content value ascending. To completely disable automatic list ordering, set nodeComparator to null.
+
+
+
Code examples
+
+
+ Initialize a multiselect with option key ordering nodeComparator
.
+
+
+ $('.selector').multiselect({ nodeComparator: function(a, b) {
+ var ka = node1.data('multiselect.optionLink').val(),
+ kb = node2.data('multiselect.optionLink').val();
+ return ka == kb ? 0 : (ka < kb ? -1 : 1);
+} } });
+
+
+ Get or set the nodeComparator
option, after init.
+
+
+ //getter
+var nodeComparator = $('.selector').dialog('option', 'nodeComparator');
+//setter (will only be applied on new inserted items only!)
+$('.selector').dialog('option', 'nodeComparator', newNodeComparator);
+
+
+
+
+
+
+
+
+
Callback function fired for each newly inserted items. The function takes the inserted item as a JQuery object and does not expect any return value.
+
Internally, items are cached as a best effort basis, therefore some items may be inserted, removed and re-inserted during manipulations.
+
+
+
Code examples
+
+
+ Initialize a multiselect a nodeInserted
callback.
+
+
+ $('.selector').multiselect({ nodeInserted: function(item) {
+ item.attr('title', item.text()); // set a "tooltip" to newly added items
+} } });
+
+
+ Get or set the animated
option, after init.
+
+
+ //getter
+var nodeInserted = $('.selector').dialog('option', 'nodeInserted');
+//setter
+$('.selector').dialog('option', 'nodeInserted', newCallback);
+
+
+
+
+
+
+
+
+
Enable or disable search capabilities for this instance of the multiselect.
+
+
+
Code examples
+
+
+ Initialize a multiselect with searchable
option disabled.
+
+
+ $('.selector').multiselect({ searchable: false });
+
+
+ Get or set the searchable
option, after init.
+
+
+ //getter
+var searchable = $('.selector').dialog('option', 'searchable');
+//setter (reset search filter)
+$('.selector').dialog('option', 'searchable', false);
+
+
+
+
+
+
+
+
+
Define the input search delay before a request is sent to the server. The default value is 400 milliseconds.
+
+
+
Code examples
+
+
+ Initialize a multiselect with a 1 second searchDelay
.
+
+
+ $('.selector').multiselect({ searchDelay: 1000 });
+
+
+ Get or set the searchDelay
option, after init.
+
+
+ //getter
+var searchDelay = $('.selector').dialog('option', 'searchDelay');
+//setter
+$('.selector').dialog('option', 'searchDelay', 1000);
+
+
+
+
+
+
+
+
+
Specify the show animation function to use. If animated is null, the value will be overriden to 'show'. The possible values are any available function effects name. The default value for animated hide effect is 'slideDown'.
+
+
+
Code examples
+
+
+ Initialize a multiselect with the show
option specified.
+
+
+ $('.selector').multiselect({ show: 'fadeIn' });
+
+
+ Get or set the show
option, after init.
+
+
+ //getter
+var show = $('.selector').dialog('option', 'show');
+//setter
+$('.selector').dialog('option', 'show', 'fadeIn');
+
+
+
+
+
+
+
+
+
Enable or disable item sortable functionality through drag and drop for the selected list (left) and/or the available list (right). The possible values are 'both', 'left', 'right', 'none'. And set sortable support in both lists, the selected list only, the available list only, or none sortable respectively.
+
This setting overrides droppable for the specified list. This setting is readonly at run-time (like droppable ).
+
+
+
Code examples
+
+
+ Initialize a multiselect sortable functionality across both lists.
+
+
+ $('.selector').multiselect({ sortable: 'both' });
+
+
+ Get the sortable
option, after init.
+
+
+ //getter
+var sortable = $('.selector').dialog('option', 'sortable');
+
+
+
+
+
+
+
+
+
Specify some extra remote parameters to send with every remote search requests. Note that the 'q' argument is reserved by multiselect and if remoteParams contains a key called 'q', it will be overriden with the search query.
+
+
+
Code examples
+
+
+ Initialize a multiselect searchable remotely with extra params
+
+
+ // server expect to receive a public key for secure requests
+// our public key is "foo", send this key automatically with every search request
+$('.selector').multiselect({ remoteUrl: 'ajax.php', remoteParams: { publickey: 'foo' } });
+
+
+ Get or set the remoteParams
option, after init.
+
+
+ //getter
+var remoteParams = $('.selector').dialog('option', 'remoteParams');
+//setter
+$('.selector').dialog('option', 'remoteParams', { publickey: 'bar' });
+
+
+
+
+
+
+
+
+
If the multiselect is searchable
, then setting this option will allow fetching new data from a remote script. The returned data may vary if a custom dataParser is set.
+
The default parser expects to receive the data as plain text, one option per line, in the format of :
+
value=text
+
+
+
Code examples
+
+
+ Initialize a multiselect with a given remote url.
+
+
+ $('.selector').multiselect({ remoteUrl: 'ajax.php' });
+
+
+ Get or set the remoteUrl
option, after init.
+
+
+ //getter
+var remoteUrl = $('.selector').dialog('option', 'remoteUrl');
+//setter
+$('.selector').dialog('option', 'remoteUrl', '/path/to/script.php');
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Get or set the state of the enabled multiselect. If no state is specified, will act as a getter. If state is set to false
, the msg
argument will display the specified string as custom disabled message inside the multiseelct.
+
+
+
+
+
+
+
Deselect the specified item. The value should be the text of the option to verify (not case sensitive).
+
If only the option key is known, the option may be specified using the following command:
+
$('.mulstiselect').multiselect('deselect', $('.multiselect').find('option[value=key]').text() );
+
+
+
+
+
+
+
Remove the multiselect functionality completely. This will return the element back to it's default look.
+
+
+
+
+
+
+
Return the busy state of the multiselect. The method will return true if the multiselect is processing item selection, search, etc.
+
+
+
+
+
+
+
Return true if and only if item is selected. The value should be the text of the option to verify (not case sensitive).
+
If only the option key is known, the option may be specified using the following command:
+
$('.mulstiselect').multiselect('isSelected', $('.multiselect').find('option[value=key]').text() );
+
+
+
+
+
+
+
Get or set any dialog option. If no value is specified, will act as a getter.
+
+
+
+
+
+
+
Perform a search of all the available elements, and filter out (hide) any unmatched item. This method controls the search input fields, if the multiselect is not searchable, or is busy, or not enabled, the method does nothing.
+
+
+
+
+
+
+
Select the specified item. The value should the text of the option to select (not case sensitive).
+
If only the option key is known, the option may be specified using the following command:
+
$('.mulstiselect').multiselect('select', $('.multiselect').find('option[value=key]').text() );
+
+
+
+
+
+
+
Select all of the available items.
+
+
+
+
+
+
+
Return an array of the keys of all the currently selected values.
+
This method is an utility method equivalent to :
+
$.map( $('.multiselect').find('option[selected]'), function(item,i) { return $(item).val(); });
+
+
+
+
+
+
+
Deselect all the selected items (equivalent to "Remove all").
+
+
+
+
+
+
+
+
+
+
+ All event callbacks receive two parameters: the event object and the ui object. The ui object's property may vary between events, but all share these basic properties:
+
+ ui.sender : the SELECT element where the event originated (use $(ui.sender).multiselect(...) to access widget)
+
+
+
+
+
+
+
+
+
+
+
This event is triggered whenever the an option has been deselected. The event deselected
is triggered for every option deselected.
+
+
+
Code examples
+
+
+ Supply a feedback function to handle the deselected
events as an init option.
+
+
+ $('.selector').multiselect({ deselected: function(event, ui) { alert($(ui.option).val() + " has been deselected"); } });
+
+
+ Bind to the deselected
event of type multiselectdeselected
.
+
+
+ $('.selector').bind('multiselectdeselected', function(event, ui) {
+ ... // ui.option is the DOMOption node of ui.sender
+});
+
+
+
+
+
+
+
+
+
+
+
This event is triggered whenever the widget needs to send some feedback to the user.
+
+
+
Code examples
+
+
+ Supply a feedback function to handle the messages
supplied by the widget as an init option. The ui object will hold these extra parameters:
+
+
+ ui.description : a preformatted message describing the event's message
+ ui.type : one of the following value: 0=message (warning), 1=exception, 2=error
+
+
+
+
+ $('.selector').multiselect({ messages: function(event, ui) { alert(ui.description); } });
+
+
+ Bind to the messages
event of type multiselectmessages
.
+
+
+ $('.selector').bind('multiselectmessages', function(event, ui) {
+ ...
+});
+
+
+
+
+
+
+
+
+
+
+
This event is triggered whenever the an option has been selected. The event selected
is triggered for every option selected.
+
+
+
Code examples
+
+
+ Supply a feedback function to handle the selected
events as an init option.
+
+
+ $('.selector').multiselect({ selected: function(event, ui) { alert($(ui.option).val() + " has been selected"); } });
+
+
+ Bind to the selected
event of type multiselectselected
.
+
+
+ $('.selector').bind('multiselectselected', function(event, options) {
+ ... // ui.option is the DOMOption node of ui.sender
+});
+
+
+
+
+
+
+
+
+
+
+
diff --git a/js/jquery-1.3.2.min.js b/js/jquery-1.3.2.min.js
deleted file mode 100755
index b1ae21d..0000000
--- a/js/jquery-1.3.2.min.js
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * jQuery JavaScript Library v1.3.2
- * http://jquery.com/
- *
- * Copyright (c) 2009 John Resig
- * Dual licensed under the MIT and GPL licenses.
- * http://docs.jquery.com/License
- *
- * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
- * Revision: 6246
- */
-(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,""]||!O.indexOf(""," "]||(!O.indexOf(""," "]||!O.indexOf(""," "]||!o.support.htmlSerialize&&[1,"div","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
-/*
- * Sizzle CSS Selector Engine - v0.9.3
- * Copyright 2009, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- * More information: http://sizzlejs.com/
- */
-(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V ";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML=" ";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="
";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(Fa text ';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(/