changeset 46071:ca89ec32a204

Merge
author duke
date Thu, 24 Aug 2017 16:33:37 +0200
parents 8314cfaaacab 4a334c691500
children c542f9a808a7
files jdk/src/java.base/share/classes/sun/util/locale/LocaleEquivalentMaps.java jdk/test/java/lang/ClassLoader/getResource/GetResource.sh jdk/test/java/util/Locale/tools/EquivMapsGenerator.java jdk/test/java/util/Locale/tools/language-subtag-registry.txt
diffstat 148 files changed, 51445 insertions(+), 48320 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags-top-repo	Fri Jul 28 02:34:48 2017 +0000
+++ b/.hgtags-top-repo	Thu Aug 24 16:33:37 2017 +0200
@@ -437,3 +437,6 @@
 a4371edb589c60db01142e45c317adb9ccbcb083 jdk-9+177
 a6c830ee8a6798b186730475e700027cdf4598aa jdk-10+15
 2fe66ca1e2b3c361f949de9cb2894661dc0a3fa2 jdk-10+16
+ec4159ebe7050fcc5dcee8a2d150cf948ecc97db jdk-9+178
+252475ccfd84cc249f8d6faf4b7806b5e2c384ce jdk-9+179
+a133a7d1007b1456bc62824382fd8ac93b45d329 jdk-10+17
--- a/corba/.hgtags	Fri Jul 28 02:34:48 2017 +0000
+++ b/corba/.hgtags	Thu Aug 24 16:33:37 2017 +0200
@@ -437,3 +437,6 @@
 c72e9d3823f04cb3ef3166646dfea9e4c2769133 jdk-9+177
 15f59cfc6fbe9387423fb173e962265c7b5d357e jdk-10+15
 b82b62ed5debda2d98dda597506ef29cf947fbae jdk-10+16
+9c1e9712648921ae389d623042d22561fad82d75 jdk-9+178
+24390da83c5ee9e23ceafbcaff4460a01e37bb3a jdk-9+179
+50ff1fd66362f212a8db6de76089d9d0ffa4df0f jdk-10+17
--- a/hotspot/.hgtags	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/.hgtags	Thu Aug 24 16:33:37 2017 +0200
@@ -597,3 +597,6 @@
 1ca8f038fceb88c640badf9bd18905205bc63b43 jdk-9+177
 c1f3649a3a42f124b418a5a916dbad13d059b757 jdk-10+15
 2fe2a593e8ebf3a9e4dcd9ba3333a7b43126589d jdk-10+16
+9d032191f82fca5ba0aac98682f69c4ff0f1283d jdk-9+178
+d2661aa42bff322badbe6c1337fc638d2e0f5730 jdk-9+179
+73e2cb8700bfa51304bd4b02f224620859a3f600 jdk-10+17
--- a/hotspot/src/cpu/aarch64/vm/aarch64.ad	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/aarch64/vm/aarch64.ad	Thu Aug 24 16:33:37 2017 +0200
@@ -14394,7 +14394,7 @@
   ins_pipe(icmp_reg_reg);
 %}
 
-instruct compL_reg_immI0(rFlagsReg cr, iRegL op1, immI0 zero)
+instruct compL_reg_immL0(rFlagsReg cr, iRegL op1, immL0 zero)
 %{
   match(Set cr (CmpL op1 zero));
 
@@ -14436,6 +14436,62 @@
   ins_pipe(icmp_reg_imm);
 %}
 
+instruct compUL_reg_reg(rFlagsRegU cr, iRegL op1, iRegL op2)
+%{
+  match(Set cr (CmpUL op1 op2));
+
+  effect(DEF cr, USE op1, USE op2);
+
+  ins_cost(INSN_COST);
+  format %{ "cmp  $op1, $op2" %}
+
+  ins_encode(aarch64_enc_cmp(op1, op2));
+
+  ins_pipe(icmp_reg_reg);
+%}
+
+instruct compUL_reg_immL0(rFlagsRegU cr, iRegL op1, immL0 zero)
+%{
+  match(Set cr (CmpUL op1 zero));
+
+  effect(DEF cr, USE op1);
+
+  ins_cost(INSN_COST);
+  format %{ "tst  $op1" %}
+
+  ins_encode(aarch64_enc_cmp_imm_addsub(op1, zero));
+
+  ins_pipe(icmp_reg_imm);
+%}
+
+instruct compUL_reg_immLAddSub(rFlagsRegU cr, iRegL op1, immLAddSub op2)
+%{
+  match(Set cr (CmpUL op1 op2));
+
+  effect(DEF cr, USE op1);
+
+  ins_cost(INSN_COST);
+  format %{ "cmp  $op1, $op2" %}
+
+  ins_encode(aarch64_enc_cmp_imm_addsub(op1, op2));
+
+  ins_pipe(icmp_reg_imm);
+%}
+
+instruct compUL_reg_immL(rFlagsRegU cr, iRegL op1, immL op2)
+%{
+  match(Set cr (CmpUL op1 op2));
+
+  effect(DEF cr, USE op1);
+
+  ins_cost(INSN_COST * 2);
+  format %{ "cmp  $op1, $op2" %}
+
+  ins_encode(aarch64_enc_cmp_imm(op1, op2));
+
+  ins_pipe(icmp_reg_imm);
+%}
+
 instruct compP_reg_reg(rFlagsRegU cr, iRegP op1, iRegP op2)
 %{
   match(Set cr (CmpP op1 op2));
@@ -14920,7 +14976,7 @@
 %}
 
 instruct cmpUL_imm0_branch(cmpOpUEqNeLtGe cmp, iRegL op1, immL0 op2, label labl, rFlagsRegU cr) %{
-  match(If cmp (CmpU op1 op2));
+  match(If cmp (CmpUL op1 op2));
   effect(USE labl);
 
   ins_cost(BRANCH_COST);
--- a/hotspot/src/cpu/aarch64/vm/c2_globals_aarch64.hpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/aarch64/vm/c2_globals_aarch64.hpp	Thu Aug 24 16:33:37 2017 +0200
@@ -49,12 +49,11 @@
 define_pd_global(intx, FLOATPRESSURE,                64);
 define_pd_global(intx, FreqInlineSize,               325);
 define_pd_global(intx, MinJumpTableSize,             10);
-define_pd_global(intx, INTPRESSURE,                  25);
+define_pd_global(intx, INTPRESSURE,                  24);
 define_pd_global(intx, InteriorEntryAlignment,       16);
 define_pd_global(intx, NewSizeThreadIncrease, ScaleForWordSize(4*K));
 define_pd_global(intx, LoopUnrollLimit,              60);
 define_pd_global(intx, LoopPercentProfileLimit,      10);
-define_pd_global(intx, PostLoopMultiversioning,      false);
 // InitialCodeCacheSize derived from specjbb2000 run.
 define_pd_global(intx, InitialCodeCacheSize,         2496*K); // Integral multiple of CodeCacheExpansionSize
 define_pd_global(intx, CodeCacheExpansionSize,       64*K);
--- a/hotspot/src/cpu/arm/vm/arm.ad	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/arm/vm/arm.ad	Thu Aug 24 16:33:37 2017 +0200
@@ -2695,6 +2695,30 @@
   format %{ "apsr_L_LEGT" %}
   interface(REG_INTER);
 %}
+
+operand flagsRegUL_LTGE() %{
+  constraint(ALLOC_IN_RC(int_flags));
+  match(RegFlags);
+
+  format %{ "apsr_UL_LTGE" %}
+  interface(REG_INTER);
+%}
+
+operand flagsRegUL_EQNE() %{
+  constraint(ALLOC_IN_RC(int_flags));
+  match(RegFlags);
+
+  format %{ "apsr_UL_EQNE" %}
+  interface(REG_INTER);
+%}
+
+operand flagsRegUL_LEGT() %{
+  constraint(ALLOC_IN_RC(int_flags));
+  match(RegFlags);
+
+  format %{ "apsr_UL_LEGT" %}
+  interface(REG_INTER);
+%}
 #endif
 
 // Condition Code Register, floating comparisons, unordered same as "less".
@@ -3249,6 +3273,39 @@
   %}
 %}
 
+operand cmpOpUL() %{
+  match(Bool);
+
+  format %{ "UL" %}
+  interface(COND_INTER) %{
+    equal(0x0);
+    not_equal(0x1);
+    less(0x3);
+    greater_equal(0x2);
+    less_equal(0x9);
+    greater(0x8);
+    overflow(0x0); // unsupported/unimplemented
+    no_overflow(0x0); // unsupported/unimplemented
+  %}
+%}
+
+operand cmpOpUL_commute() %{
+  match(Bool);
+
+  format %{ "UL" %}
+  interface(COND_INTER) %{
+    equal(0x0);
+    not_equal(0x1);
+    less(0x8);
+    greater_equal(0x9);
+    less_equal(0x2);
+    greater(0x3);
+    overflow(0x0); // unsupported/unimplemented
+    no_overflow(0x0); // unsupported/unimplemented
+  %}
+%}
+
+
 //----------OPERAND CLASSES----------------------------------------------------
 // Operand Classes are groups of operands that are used to simplify
 // instruction definitions by not requiring the AD writer to specify separate
@@ -10467,6 +10524,17 @@
   %}
   ins_pipe(ialu_cconly_reg_reg);
 %}
+
+instruct compUL_iReg(flagsRegU xcc, iRegL op1, iRegL op2) %{
+  match(Set xcc (CmpUL op1 op2));
+
+  size(4);
+  format %{ "CMP     $op1,$op2\t! unsigned long" %}
+  ins_encode %{
+    __ cmp($op1$$Register, $op2$$Register);
+  %}
+  ins_pipe(ialu_cconly_reg_reg);
+%}
 #else
 instruct compL_reg_reg_LTGE(flagsRegL_LTGE xcc, iRegL op1, iRegL op2, iRegL tmp) %{
   match(Set xcc (CmpL op1 op2));
@@ -10481,6 +10549,20 @@
   %}
   ins_pipe(ialu_cconly_reg_reg);
 %}
+
+instruct compUL_reg_reg_LTGE(flagsRegUL_LTGE xcc, iRegL op1, iRegL op2, iRegL tmp) %{
+  match(Set xcc (CmpUL op1 op2));
+  effect(DEF xcc, USE op1, USE op2, TEMP tmp);
+
+  size(8);
+  format %{ "SUBS    $tmp,$op1.low,$op2.low\t\t! unsigned long\n\t"
+            "SBCS    $tmp,$op1.hi,$op2.hi" %}
+  ins_encode %{
+    __ subs($tmp$$Register, $op1$$Register, $op2$$Register);
+    __ sbcs($tmp$$Register->successor(), $op1$$Register->successor(), $op2$$Register->successor());
+  %}
+  ins_pipe(ialu_cconly_reg_reg);
+%}
 #endif
 
 #ifdef AARCH64
@@ -10496,6 +10578,19 @@
 
   ins_pipe(ialu_cconly_reg_imm);
 %}
+
+instruct compUL_reg_con(flagsRegU xcc, iRegL op1, aimmL con) %{
+  match(Set xcc (CmpUL op1 con));
+  effect(DEF xcc, USE op1, USE con);
+
+  size(8);
+  format %{ "CMP     $op1,$con\t\t! unsigned long"  %}
+  ins_encode %{
+    __ cmp($op1$$Register, $con$$constant);
+  %}
+
+  ins_pipe(ialu_cconly_reg_imm);
+%}
 #else
 instruct compL_reg_reg_EQNE(flagsRegL_EQNE xcc, iRegL op1, iRegL op2) %{
   match(Set xcc (CmpL op1 op2));
@@ -10575,6 +10670,85 @@
 
   ins_pipe(ialu_cconly_reg_reg);
 %}
+
+instruct compUL_reg_reg_EQNE(flagsRegUL_EQNE xcc, iRegL op1, iRegL op2) %{
+  match(Set xcc (CmpUL op1 op2));
+  effect(DEF xcc, USE op1, USE op2);
+
+  size(8);
+  format %{ "TEQ    $op1.hi,$op2.hi\t\t! unsigned long\n\t"
+            "TEQ.eq $op1.lo,$op2.lo" %}
+  ins_encode %{
+    __ teq($op1$$Register->successor(), $op2$$Register->successor());
+    __ teq($op1$$Register, $op2$$Register, eq);
+  %}
+  ins_pipe(ialu_cconly_reg_reg);
+%}
+
+instruct compUL_reg_reg_LEGT(flagsRegUL_LEGT xcc, iRegL op1, iRegL op2, iRegL tmp) %{
+  match(Set xcc (CmpUL op1 op2));
+  effect(DEF xcc, USE op1, USE op2, TEMP tmp);
+
+  size(8);
+  format %{ "SUBS    $tmp,$op2.low,$op1.low\t\t! unsigned long\n\t"
+            "SBCS    $tmp,$op2.hi,$op1.hi" %}
+  ins_encode %{
+    __ subs($tmp$$Register, $op2$$Register, $op1$$Register);
+    __ sbcs($tmp$$Register->successor(), $op2$$Register->successor(), $op1$$Register->successor());
+  %}
+  ins_pipe(ialu_cconly_reg_reg);
+%}
+
+// TODO: try immLRot2 instead, (0, $con$$constant) becomes
+// (hi($con$$constant), lo($con$$constant)) becomes
+instruct compUL_reg_con_LTGE(flagsRegUL_LTGE xcc, iRegL op1, immLlowRot con, iRegL tmp) %{
+  match(Set xcc (CmpUL op1 con));
+  effect(DEF xcc, USE op1, USE con, TEMP tmp);
+
+  size(8);
+  format %{ "SUBS    $tmp,$op1.low,$con\t\t! unsigned long\n\t"
+            "SBCS    $tmp,$op1.hi,0" %}
+  ins_encode %{
+    __ subs($tmp$$Register, $op1$$Register, $con$$constant);
+    __ sbcs($tmp$$Register->successor(), $op1$$Register->successor(), 0);
+  %}
+
+  ins_pipe(ialu_cconly_reg_reg);
+%}
+
+// TODO: try immLRot2 instead, (0, $con$$constant) becomes
+// (hi($con$$constant), lo($con$$constant)) becomes
+instruct compUL_reg_con_EQNE(flagsRegUL_EQNE xcc, iRegL op1, immLlowRot con) %{
+  match(Set xcc (CmpUL op1 con));
+  effect(DEF xcc, USE op1, USE con);
+
+  size(8);
+  format %{ "TEQ    $op1.hi,0\t\t! unsigned long\n\t"
+            "TEQ.eq $op1.lo,$con" %}
+  ins_encode %{
+    __ teq($op1$$Register->successor(), 0);
+    __ teq($op1$$Register, $con$$constant, eq);
+  %}
+
+  ins_pipe(ialu_cconly_reg_reg);
+%}
+
+// TODO: try immLRot2 instead, (0, $con$$constant) becomes
+// (hi($con$$constant), lo($con$$constant)) becomes
+instruct compUL_reg_con_LEGT(flagsRegUL_LEGT xcc, iRegL op1, immLlowRot con, iRegL tmp) %{
+  match(Set xcc (CmpUL op1 con));
+  effect(DEF xcc, USE op1, USE con, TEMP tmp);
+
+  size(8);
+  format %{ "RSBS    $tmp,$op1.low,$con\t\t! unsigned long\n\t"
+            "RSCS    $tmp,$op1.hi,0" %}
+  ins_encode %{
+    __ rsbs($tmp$$Register, $op1$$Register, $con$$constant);
+    __ rscs($tmp$$Register->successor(), $op1$$Register->successor(), 0);
+  %}
+
+  ins_pipe(ialu_cconly_reg_reg);
+%}
 #endif
 
 /* instruct testL_reg_reg(flagsRegL xcc, iRegL op1, iRegL op2, immL0 zero) %{ */
@@ -11126,6 +11300,48 @@
   %}
   ins_pipe(br_cc);
 %}
+
+instruct branchConUL_LTGE(cmpOpUL cmp, flagsRegUL_LTGE xcc, label labl) %{
+  match(If cmp xcc);
+  effect(USE labl);
+  predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::lt || _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ge);
+
+  size(4);
+  ins_cost(BRANCH_COST);
+  format %{ "B$cmp  $xcc,$labl" %}
+  ins_encode %{
+    __ b(*($labl$$label), (AsmCondition)($cmp$$cmpcode));
+  %}
+  ins_pipe(br_cc);
+%}
+
+instruct branchConUL_EQNE(cmpOpUL cmp, flagsRegUL_EQNE xcc, label labl) %{
+  match(If cmp xcc);
+  effect(USE labl);
+  predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq || _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne);
+
+  size(4);
+  ins_cost(BRANCH_COST);
+  format %{ "B$cmp  $xcc,$labl" %}
+  ins_encode %{
+    __ b(*($labl$$label), (AsmCondition)($cmp$$cmpcode));
+  %}
+  ins_pipe(br_cc);
+%}
+
+instruct branchConUL_LEGT(cmpOpUL_commute cmp, flagsRegUL_LEGT xcc, label labl) %{
+  match(If cmp xcc);
+  effect(USE labl);
+  predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::gt || _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::le);
+
+  size(4);
+  ins_cost(BRANCH_COST);
+  format %{ "B$cmp  $xcc,$labl" %}
+  ins_encode %{
+    __ b(*($labl$$label), (AsmCondition)($cmp$$cmpcode));
+  %}
+  ins_pipe(br_cc);
+%}
 #endif
 
 instruct branchLoopEnd(cmpOp cmp, flagsReg icc, label labl) %{
--- a/hotspot/src/cpu/arm/vm/c2_globals_arm.hpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/arm/vm/c2_globals_arm.hpp	Thu Aug 24 16:33:37 2017 +0200
@@ -70,7 +70,6 @@
 define_pd_global(bool, ResizeTLAB,                   true);
 define_pd_global(intx, LoopUnrollLimit,              60); // Design center runs on 1.3.1
 define_pd_global(intx, LoopPercentProfileLimit,      10);
-define_pd_global(intx, PostLoopMultiversioning,      false);
 define_pd_global(intx, MinJumpTableSize,             16);
 
 // Peephole and CISC spilling both break the graph, and so makes the
--- a/hotspot/src/cpu/ppc/vm/c2_globals_ppc.hpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/ppc/vm/c2_globals_ppc.hpp	Thu Aug 24 16:33:37 2017 +0200
@@ -55,7 +55,6 @@
 define_pd_global(bool, ResizeTLAB,                   true);
 define_pd_global(intx, LoopUnrollLimit,              60);
 define_pd_global(intx, LoopPercentProfileLimit,      10);
-define_pd_global(intx, PostLoopMultiversioning,      false);
 
 // Peephole and CISC spilling both break the graph, and so make the
 // scheduler sick.
--- a/hotspot/src/cpu/ppc/vm/ppc.ad	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/ppc/vm/ppc.ad	Thu Aug 24 16:33:37 2017 +0200
@@ -11048,6 +11048,29 @@
   ins_pipe(pipe_class_compare);
 %}
 
+// Added CmpUL for LoopPredicate.
+instruct cmpUL_reg_reg(flagsReg crx, iRegLsrc src1, iRegLsrc src2) %{
+  match(Set crx (CmpUL src1 src2));
+  format %{ "CMPLD   $crx, $src1, $src2" %}
+  size(4);
+  ins_encode %{
+    // TODO: PPC port $archOpcode(ppc64Opcode_cmpl);
+    __ cmpld($crx$$CondRegister, $src1$$Register, $src2$$Register);
+  %}
+  ins_pipe(pipe_class_compare);
+%}
+
+instruct cmpUL_reg_imm16(flagsReg crx, iRegLsrc src1, uimmL16 src2) %{
+  match(Set crx (CmpUL src1 src2));
+  format %{ "CMPLDI  $crx, $src1, $src2" %}
+  size(4);
+  ins_encode %{
+    // TODO: PPC port $archOpcode(ppc64Opcode_cmpli);
+    __ cmpldi($crx$$CondRegister, $src1$$Register, $src2$$constant);
+  %}
+  ins_pipe(pipe_class_compare);
+%}
+
 instruct testL_reg_reg(flagsRegCR0 cr0, iRegLsrc src1, iRegLsrc src2, immL_0 zero) %{
   match(Set cr0 (CmpL (AndL src1 src2) zero));
   // r0 is killed
--- a/hotspot/src/cpu/s390/vm/c2_globals_s390.hpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/s390/vm/c2_globals_s390.hpp	Thu Aug 24 16:33:37 2017 +0200
@@ -56,7 +56,6 @@
 define_pd_global(bool, ResizeTLAB,                   true);
 define_pd_global(intx, LoopUnrollLimit,              60);
 define_pd_global(intx, LoopPercentProfileLimit,      10);
-define_pd_global(intx, PostLoopMultiversioning,      false);
 define_pd_global(intx, MinJumpTableSize,             18);
 
 // Peephole and CISC spilling both break the graph, and so makes the
--- a/hotspot/src/cpu/s390/vm/s390.ad	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/s390/vm/s390.ad	Thu Aug 24 16:33:37 2017 +0200
@@ -8475,6 +8475,24 @@
 %}
 
 //  LONG unsigned
+// Added CmpUL for LoopPredicate.
+instruct compUL_reg_reg(flagsReg cr, iRegL op1, iRegL op2) %{
+  match(Set cr (CmpUL op1 op2));
+  size(4);
+  format %{ "CLGR    $op1,$op2\t # long" %}
+  opcode(CLGR_ZOPC);
+  ins_encode(z_rreform(op1, op2));
+  ins_pipe(pipe_class_dummy);
+%}
+
+instruct compUL_reg_imm32(flagsReg cr, iRegL op1, uimmL32 con) %{
+  match(Set cr (CmpUL op1 con));
+  size(6);
+  format %{ "CLGFI   $op1,$con" %}
+  opcode(CLGFI_ZOPC);
+  ins_encode(z_rilform_unsigned(op1, con));
+  ins_pipe(pipe_class_dummy);
+%}
 
 //  PTR unsigned
 
--- a/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/sparc/vm/c2_globals_sparc.hpp	Thu Aug 24 16:33:37 2017 +0200
@@ -53,7 +53,6 @@
 define_pd_global(bool, ResizeTLAB,                   true);
 define_pd_global(intx, LoopUnrollLimit,              60); // Design center runs on 1.3.1
 define_pd_global(intx, LoopPercentProfileLimit,      10);
-define_pd_global(intx, PostLoopMultiversioning,      false);
 define_pd_global(intx, MinJumpTableSize,             5);
 
 // Peephole and CISC spilling both break the graph, and so makes the
--- a/hotspot/src/cpu/sparc/vm/sparc.ad	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/sparc/vm/sparc.ad	Thu Aug 24 16:33:37 2017 +0200
@@ -3403,6 +3403,16 @@
   interface(CONST_INTER);
 %}
 
+// Unsigned Long Immediate: 12-bit (non-negative that fits in simm13)
+operand immUL12() %{
+  predicate((0 <= n->get_long()) && (n->get_long() == (int)n->get_long()) && Assembler::is_simm13((int)n->get_long()));
+  match(ConL);
+  op_cost(0);
+
+  format %{ %}
+  interface(CONST_INTER);
+%}
+
 // Integer Immediate non-negative
 operand immU31()
 %{
@@ -3936,6 +3946,15 @@
   interface(REG_INTER);
 %}
 
+// Condition Code Register, unsigned long comparisons.
+operand flagsRegUL() %{
+  constraint(ALLOC_IN_RC(int_flags));
+  match(RegFlags);
+
+  format %{ "xcc_UL" %}
+  interface(REG_INTER);
+%}
+
 // Condition Code Register, floating comparisons, unordered same as "less".
 operand flagsRegF() %{
   constraint(ALLOC_IN_RC(float_flags));
@@ -8797,6 +8816,17 @@
   ins_pipe(ialu_cconly_reg_reg);
 %}
 
+instruct compUL_iReg(flagsRegUL xcc, iRegL op1, iRegL op2) %{
+  match(Set xcc (CmpUL op1 op2));
+  effect(DEF xcc, USE op1, USE op2);
+
+  size(4);
+  format %{ "CMP    $op1,$op2\t! unsigned long" %}
+  opcode(Assembler::subcc_op3, Assembler::arith_op);
+  ins_encode(form3_rs1_rs2_rd(op1, op2, R_G0));
+  ins_pipe(ialu_cconly_reg_reg);
+%}
+
 instruct compI_iReg_imm13(flagsReg icc, iRegI op1, immI13 op2) %{
   match(Set icc (CmpI op1 op2));
   effect( DEF icc, USE op1 );
@@ -8883,6 +8913,17 @@
   ins_pipe(ialu_cconly_reg_imm);
 %}
 
+instruct compUL_iReg_imm13(flagsRegUL xcc, iRegL op1, immUL12 op2) %{
+  match(Set xcc (CmpUL op1 op2));
+  effect(DEF xcc, USE op1, USE op2);
+
+  size(4);
+  format %{ "CMP    $op1,$op2\t! unsigned long" %}
+  opcode(Assembler::subcc_op3, Assembler::arith_op);
+  ins_encode(form3_rs1_simm13_rd(op1, op2, R_G0));
+  ins_pipe(ialu_cconly_reg_imm);
+%}
+
 // Compare Pointers
 instruct compP_iRegP(flagsRegP pcc, iRegP op1, iRegP op2 ) %{
   match(Set pcc (CmpP op1 op2));
@@ -9256,6 +9297,44 @@
   ins_pipe(cmp_br_reg_imm);
 %}
 
+instruct cmpUL_reg_branch(cmpOpU cmp, iRegL op1, iRegL op2, label labl, flagsRegUL xcc) %{
+  match(If cmp (CmpUL op1 op2));
+  effect(USE labl, KILL xcc);
+
+  size(12);
+  ins_cost(BRANCH_COST);
+  format %{ "CMP    $op1,$op2\t! unsigned long\n\t"
+            "BP$cmp   $labl" %}
+  ins_encode %{
+    Label* L = $labl$$label;
+    Assembler::Predict predict_taken =
+      cbuf.is_backward_branch(*L) ? Assembler::pt : Assembler::pn;
+    __ cmp($op1$$Register, $op2$$Register);
+    __ bp((Assembler::Condition)($cmp$$cmpcode), false, Assembler::xcc, predict_taken, *L);
+    __ delayed()->nop();
+  %}
+  ins_pipe(cmp_br_reg_reg);
+%}
+
+instruct cmpUL_imm_branch(cmpOpU cmp, iRegL op1, immL5 op2, label labl, flagsRegUL xcc) %{
+  match(If cmp (CmpUL op1 op2));
+  effect(USE labl, KILL xcc);
+
+  size(12);
+  ins_cost(BRANCH_COST);
+  format %{ "CMP    $op1,$op2\t! unsigned long\n\t"
+            "BP$cmp   $labl" %}
+  ins_encode %{
+    Label* L = $labl$$label;
+    Assembler::Predict predict_taken =
+      cbuf.is_backward_branch(*L) ? Assembler::pt : Assembler::pn;
+    __ cmp($op1$$Register, $op2$$constant);
+    __ bp((Assembler::Condition)($cmp$$cmpcode), false, Assembler::xcc, predict_taken, *L);
+    __ delayed()->nop();
+  %}
+  ins_pipe(cmp_br_reg_imm);
+%}
+
 instruct cmpL_reg_branch(cmpOp cmp, iRegL op1, iRegL op2, label labl, flagsRegL xcc) %{
   match(If cmp (CmpL op1 op2));
   effect(USE labl, KILL xcc);
@@ -9484,6 +9563,42 @@
   ins_pipe(cbcond_reg_imm);
 %}
 
+instruct cmpUL_reg_branch_short(cmpOpU cmp, iRegL op1, iRegL op2, label labl, flagsRegUL xcc) %{
+  match(If cmp (CmpUL op1 op2));
+  predicate(UseCBCond);
+  effect(USE labl, KILL xcc);
+
+  size(4);
+  ins_cost(BRANCH_COST);
+  format %{ "CXB$cmp  $op1,$op2,$labl\t! unsigned long" %}
+  ins_encode %{
+    Label* L = $labl$$label;
+    assert(__ use_cbcond(*L), "back to back cbcond");
+    __ cbcond((Assembler::Condition)($cmp$$cmpcode), Assembler::xcc, $op1$$Register, $op2$$Register, *L);
+  %}
+  ins_short_branch(1);
+  ins_avoid_back_to_back(AVOID_BEFORE_AND_AFTER);
+  ins_pipe(cbcond_reg_reg);
+%}
+
+instruct cmpUL_imm_branch_short(cmpOpU cmp, iRegL op1, immL5 op2, label labl, flagsRegUL xcc) %{
+  match(If cmp (CmpUL op1 op2));
+  predicate(UseCBCond);
+  effect(USE labl, KILL xcc);
+
+  size(4);
+  ins_cost(BRANCH_COST);
+  format %{ "CXB$cmp  $op1,$op2,$labl\t! unsigned long" %}
+  ins_encode %{
+    Label* L = $labl$$label;
+    assert(__ use_cbcond(*L), "back to back cbcond");
+    __ cbcond((Assembler::Condition)($cmp$$cmpcode), Assembler::xcc, $op1$$Register, $op2$$constant, *L);
+  %}
+  ins_short_branch(1);
+  ins_avoid_back_to_back(AVOID_BEFORE_AND_AFTER);
+  ins_pipe(cbcond_reg_imm);
+%}
+
 instruct cmpL_reg_branch_short(cmpOp cmp, iRegL op1, iRegL op2, label labl, flagsRegL xcc) %{
   match(If cmp (CmpL op1 op2));
   predicate(UseCBCond);
@@ -9722,6 +9837,25 @@
   ins_pipe(br_cc);
 %}
 
+instruct branchConU_long(cmpOpU cmp, flagsRegUL xcc, label labl) %{
+  match(If cmp xcc);
+  effect(USE labl);
+
+  size(8);
+  ins_cost(BRANCH_COST);
+  format %{ "BP$cmp   $xcc,$labl" %}
+  ins_encode %{
+    Label* L = $labl$$label;
+    Assembler::Predict predict_taken =
+      cbuf.is_backward_branch(*L) ? Assembler::pt : Assembler::pn;
+
+    __ bp((Assembler::Condition)($cmp$$cmpcode), false, Assembler::xcc, predict_taken, *L);
+    __ delayed()->nop();
+  %}
+  ins_avoid_back_to_back(AVOID_BEFORE);
+  ins_pipe(br_cc);
+%}
+
 // Manifest a CmpL3 result in an integer register.  Very painful.
 // This is the test to avoid.
 instruct cmpL3_reg_reg(iRegI dst, iRegL src1, iRegL src2, flagsReg ccr ) %{
--- a/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp	Thu Aug 24 16:33:37 2017 +0200
@@ -47,7 +47,6 @@
 define_pd_global(intx, FreqInlineSize,               325);
 define_pd_global(intx, MinJumpTableSize,             10);
 define_pd_global(intx, LoopPercentProfileLimit,      30);
-define_pd_global(intx, PostLoopMultiversioning,      true);
 #ifdef AMD64
 define_pd_global(intx, INTPRESSURE,                  13);
 define_pd_global(intx, FLOATPRESSURE,                14);
--- a/hotspot/src/cpu/x86/vm/globals_x86.hpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/x86/vm/globals_x86.hpp	Thu Aug 24 16:33:37 2017 +0200
@@ -116,7 +116,7 @@
   product(bool, UseStoreImmI16, true,                                       \
           "Use store immediate 16-bits value instruction on x86")           \
                                                                             \
-  product(intx, UseAVX, 99,                                                 \
+  product(intx, UseAVX, 2,                                                  \
           "Highest supported AVX instructions set on x86/x64")              \
           range(0, 99)                                                      \
                                                                             \
--- a/hotspot/src/cpu/x86/vm/x86_32.ad	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/x86/vm/x86_32.ad	Thu Aug 24 16:33:37 2017 +0200
@@ -4030,6 +4030,26 @@
   interface(REG_INTER);
 %}
 
+// Condition Code Register used by unsigned long compare
+operand flagsReg_ulong_LTGE() %{
+  constraint(ALLOC_IN_RC(int_flags));
+  match(RegFlags);
+  format %{ "FLAGS_U_LTGE" %}
+  interface(REG_INTER);
+%}
+operand flagsReg_ulong_EQNE() %{
+  constraint(ALLOC_IN_RC(int_flags));
+  match(RegFlags);
+  format %{ "FLAGS_U_EQNE" %}
+  interface(REG_INTER);
+%}
+operand flagsReg_ulong_LEGT() %{
+  constraint(ALLOC_IN_RC(int_flags));
+  match(RegFlags);
+  format %{ "FLAGS_U_LEGT" %}
+  interface(REG_INTER);
+%}
+
 // Float register operands
 operand regDPR() %{
   predicate( UseSSE < 2 );
@@ -4588,7 +4608,7 @@
   %}
 %}
 
-// Comparision Code used in long compares
+// Comparison Code used in long compares
 operand cmpOp_commute() %{
   match(Bool);
 
@@ -4605,6 +4625,23 @@
   %}
 %}
 
+// Comparison Code used in unsigned long compares
+operand cmpOpU_commute() %{
+  match(Bool);
+
+  format %{ "" %}
+  interface(COND_INTER) %{
+    equal(0x4, "e");
+    not_equal(0x5, "ne");
+    less(0x7, "nbe");
+    greater_equal(0x6, "be");
+    less_equal(0x3, "nb");
+    greater(0x2, "b");
+    overflow(0x0, "o");
+    no_overflow(0x1, "no");
+  %}
+%}
+
 //----------OPERAND CLASSES----------------------------------------------------
 // Operand Classes are groups of operands that are used as to simplify
 // instruction definitions by not requiring the AD writer to specify separate
@@ -12639,6 +12676,44 @@
   %}
 %}
 
+//======
+// Manifest a CmpUL result in the normal flags.  Only good for LT or GE
+// compares.  Can be used for LE or GT compares by reversing arguments.
+// NOT GOOD FOR EQ/NE tests.
+instruct cmpUL_zero_flags_LTGE(flagsReg_ulong_LTGE flags, eRegL src, immL0 zero) %{
+  match(Set flags (CmpUL src zero));
+  ins_cost(100);
+  format %{ "TEST   $src.hi,$src.hi" %}
+  opcode(0x85);
+  ins_encode(OpcP, RegReg_Hi2(src, src));
+  ins_pipe(ialu_cr_reg_reg);
+%}
+
+// Manifest a CmpUL result in the normal flags.  Only good for LT or GE
+// compares.  Can be used for LE or GT compares by reversing arguments.
+// NOT GOOD FOR EQ/NE tests.
+instruct cmpUL_reg_flags_LTGE(flagsReg_ulong_LTGE flags, eRegL src1, eRegL src2, rRegI tmp) %{
+  match(Set flags (CmpUL src1 src2));
+  effect(TEMP tmp);
+  ins_cost(300);
+  format %{ "CMP    $src1.lo,$src2.lo\t! Unsigned long compare; set flags for low bits\n\t"
+            "MOV    $tmp,$src1.hi\n\t"
+            "SBB    $tmp,$src2.hi\t! Compute flags for unsigned long compare" %}
+  ins_encode(long_cmp_flags2(src1, src2, tmp));
+  ins_pipe(ialu_cr_reg_reg);
+%}
+
+// Unsigned long compares reg < zero/req OR reg >= zero/req.
+// Just a wrapper for a normal branch, plus the predicate test.
+instruct cmpUL_LTGE(cmpOpU cmp, flagsReg_ulong_LTGE flags, label labl) %{
+  match(If cmp flags);
+  effect(USE labl);
+  predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::lt || _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ge);
+  expand %{
+    jmpCon(cmp, flags, labl);    // JLT or JGE...
+  %}
+%}
+
 // Compare 2 longs and CMOVE longs.
 instruct cmovLL_reg_LTGE(cmpOp cmp, flagsReg_long_LTGE flags, eRegL dst, eRegL src) %{
   match(Set dst (CMoveL (Binary cmp flags) (Binary dst src)));
@@ -12767,6 +12842,41 @@
   %}
 %}
 
+//======
+// Manifest a CmpUL result in the normal flags.  Only good for EQ/NE compares.
+instruct cmpUL_zero_flags_EQNE(flagsReg_ulong_EQNE flags, eRegL src, immL0 zero, rRegI tmp) %{
+  match(Set flags (CmpUL src zero));
+  effect(TEMP tmp);
+  ins_cost(200);
+  format %{ "MOV    $tmp,$src.lo\n\t"
+            "OR     $tmp,$src.hi\t! Unsigned long is EQ/NE 0?" %}
+  ins_encode(long_cmp_flags0(src, tmp));
+  ins_pipe(ialu_reg_reg_long);
+%}
+
+// Manifest a CmpUL result in the normal flags.  Only good for EQ/NE compares.
+instruct cmpUL_reg_flags_EQNE(flagsReg_ulong_EQNE flags, eRegL src1, eRegL src2) %{
+  match(Set flags (CmpUL src1 src2));
+  ins_cost(200+300);
+  format %{ "CMP    $src1.lo,$src2.lo\t! Unsigned long compare; set flags for low bits\n\t"
+            "JNE,s  skip\n\t"
+            "CMP    $src1.hi,$src2.hi\n\t"
+     "skip:\t" %}
+  ins_encode(long_cmp_flags1(src1, src2));
+  ins_pipe(ialu_cr_reg_reg);
+%}
+
+// Unsigned long compare reg == zero/reg OR reg != zero/reg
+// Just a wrapper for a normal branch, plus the predicate test.
+instruct cmpUL_EQNE(cmpOpU cmp, flagsReg_ulong_EQNE flags, label labl) %{
+  match(If cmp flags);
+  effect(USE labl);
+  predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::eq || _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::ne);
+  expand %{
+    jmpCon(cmp, flags, labl);    // JEQ or JNE...
+  %}
+%}
+
 // Compare 2 longs and CMOVE longs.
 instruct cmovLL_reg_EQNE(cmpOp cmp, flagsReg_long_EQNE flags, eRegL dst, eRegL src) %{
   match(Set dst (CMoveL (Binary cmp flags) (Binary dst src)));
@@ -12900,6 +13010,46 @@
   %}
 %}
 
+//======
+// Manifest a CmpUL result in the normal flags.  Only good for LE or GT compares.
+// Same as cmpUL_reg_flags_LEGT except must negate src
+instruct cmpUL_zero_flags_LEGT(flagsReg_ulong_LEGT flags, eRegL src, immL0 zero, rRegI tmp) %{
+  match(Set flags (CmpUL src zero));
+  effect(TEMP tmp);
+  ins_cost(300);
+  format %{ "XOR    $tmp,$tmp\t# Unsigned long compare for -$src < 0, use commuted test\n\t"
+            "CMP    $tmp,$src.lo\n\t"
+            "SBB    $tmp,$src.hi\n\t" %}
+  ins_encode(long_cmp_flags3(src, tmp));
+  ins_pipe(ialu_reg_reg_long);
+%}
+
+// Manifest a CmpUL result in the normal flags.  Only good for LE or GT compares.
+// Same as cmpUL_reg_flags_LTGE except operands swapped.  Swapping operands
+// requires a commuted test to get the same result.
+instruct cmpUL_reg_flags_LEGT(flagsReg_ulong_LEGT flags, eRegL src1, eRegL src2, rRegI tmp) %{
+  match(Set flags (CmpUL src1 src2));
+  effect(TEMP tmp);
+  ins_cost(300);
+  format %{ "CMP    $src2.lo,$src1.lo\t! Unsigned long compare, swapped operands, use with commuted test\n\t"
+            "MOV    $tmp,$src2.hi\n\t"
+            "SBB    $tmp,$src1.hi\t! Compute flags for unsigned long compare" %}
+  ins_encode(long_cmp_flags2( src2, src1, tmp));
+  ins_pipe(ialu_cr_reg_reg);
+%}
+
+// Unsigned long compares reg < zero/req OR reg >= zero/req.
+// Just a wrapper for a normal branch, plus the predicate test
+instruct cmpUL_LEGT(cmpOpU_commute cmp, flagsReg_ulong_LEGT flags, label labl) %{
+  match(If cmp flags);
+  effect(USE labl);
+  predicate(_kids[0]->_leaf->as_Bool()->_test._test == BoolTest::gt || _kids[0]->_leaf->as_Bool()->_test._test == BoolTest::le);
+  ins_cost(300);
+  expand %{
+    jmpCon(cmp, flags, labl);    // JGT or JLE...
+  %}
+%}
+
 // Compare 2 longs and CMOVE longs.
 instruct cmovLL_reg_LEGT(cmpOp_commute cmp, flagsReg_long_LEGT flags, eRegL dst, eRegL src) %{
   match(Set dst (CMoveL (Binary cmp flags) (Binary dst src)));
--- a/hotspot/src/cpu/x86/vm/x86_64.ad	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/cpu/x86/vm/x86_64.ad	Thu Aug 24 16:33:37 2017 +0200
@@ -11518,6 +11518,48 @@
   ins_pipe(pipe_slow);
 %}
 
+// Unsigned long compare Instructions; really, same as signed long except they
+// produce an rFlagsRegU instead of rFlagsReg.
+instruct compUL_rReg(rFlagsRegU cr, rRegL op1, rRegL op2)
+%{
+  match(Set cr (CmpUL op1 op2));
+
+  format %{ "cmpq    $op1, $op2\t# unsigned" %}
+  opcode(0x3B);  /* Opcode 3B /r */
+  ins_encode(REX_reg_reg_wide(op1, op2), OpcP, reg_reg(op1, op2));
+  ins_pipe(ialu_cr_reg_reg);
+%}
+
+instruct compUL_rReg_imm(rFlagsRegU cr, rRegL op1, immL32 op2)
+%{
+  match(Set cr (CmpUL op1 op2));
+
+  format %{ "cmpq    $op1, $op2\t# unsigned" %}
+  opcode(0x81, 0x07); /* Opcode 81 /7 */
+  ins_encode(OpcSErm_wide(op1, op2), Con8or32(op2));
+  ins_pipe(ialu_cr_reg_imm);
+%}
+
+instruct compUL_rReg_mem(rFlagsRegU cr, rRegL op1, memory op2)
+%{
+  match(Set cr (CmpUL op1 (LoadL op2)));
+
+  format %{ "cmpq    $op1, $op2\t# unsigned" %}
+  opcode(0x3B); /* Opcode 3B /r */
+  ins_encode(REX_reg_mem_wide(op1, op2), OpcP, reg_mem(op1, op2));
+  ins_pipe(ialu_cr_reg_mem);
+%}
+
+instruct testUL_reg(rFlagsRegU cr, rRegL src, immL0 zero)
+%{
+  match(Set cr (CmpUL src zero));
+
+  format %{ "testq   $src, $src\t# unsigned" %}
+  opcode(0x85);
+  ins_encode(REX_reg_reg_wide(src, src), OpcP, reg_reg(src, src));
+  ins_pipe(ialu_cr_reg_imm);
+%}
+
 //----------Max and Min--------------------------------------------------------
 // Min Instructions
 
--- a/hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/JVMCIVersionCheck.java	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/JVMCIVersionCheck.java	Thu Aug 24 16:33:37 2017 +0200
@@ -23,6 +23,7 @@
 package org.graalvm.compiler.hotspot;
 
 import java.util.Formatter;
+import java.util.Objects;
 
 /**
  * Mechanism for checking that the current Java runtime environment supports the minimum JVMCI API
@@ -37,10 +38,11 @@
 class JVMCIVersionCheck {
 
     private static final int JVMCI8_MIN_MAJOR_VERSION = 0;
-    private static final int JVMCI8_MIN_MINOR_VERSION = 23;
+    private static final int JVMCI8_MIN_MINOR_VERSION = 26;
 
-    // Will be updated once an ea build with the required JVMCI API is available.
-    private static final int JVMCI9_MIN_EA_BUILD = 143;
+    // MAX_VALUE indicates that no current EA version is compatible with Graal.
+    // Note: Keep README.md in sync with the EA version support checked here.
+    private static final int JVMCI9_MIN_EA_BUILD = 176;
 
     private static void failVersionCheck(boolean exit, String reason, Object... args) {
         Formatter errorMessage = new Formatter().format(reason, args);
@@ -77,13 +79,27 @@
                 start += "-jvmci-".length();
                 int end = vmVersion.indexOf('.', start);
                 if (end > 0) {
-                    int major = Integer.parseInt(vmVersion.substring(start, end));
+                    int major;
+                    try {
+                        major = Integer.parseInt(vmVersion.substring(start, end));
+                    } catch (NumberFormatException e) {
+                        failVersionCheck(exitOnFailure, "The VM does not support the minimum JVMCI API version required by Graal.%n" +
+                                        "Cannot read JVMCI major version from java.vm.version property: %s.%n", vmVersion);
+                        return;
+                    }
                     start = end + 1;
                     end = start;
                     while (end < vmVersion.length() && Character.isDigit(vmVersion.charAt(end))) {
                         end++;
                     }
-                    int minor = Integer.parseInt(vmVersion.substring(start, end));
+                    int minor;
+                    try {
+                        minor = Integer.parseInt(vmVersion.substring(start, end));
+                    } catch (NumberFormatException e) {
+                        failVersionCheck(exitOnFailure, "The VM does not support the minimum JVMCI API version required by Graal.%n" +
+                                        "Cannot read JVMCI minor version from java.vm.version property: %s.%n", vmVersion);
+                        return;
+                    }
                     if (major >= JVMCI8_MIN_MAJOR_VERSION && minor >= JVMCI8_MIN_MINOR_VERSION) {
                         return;
                     }
@@ -96,7 +112,7 @@
                             "Cannot read JVMCI version from java.vm.version property: %s.%n", vmVersion);
         } else {
             if (vmVersion.contains("SNAPSHOT")) {
-                // The snapshot of http://hg.openjdk.java.net/jdk9/hs tip is expected to work
+                // The snapshot of http://hg.openjdk.java.net/jdk9/dev tip is expected to work
                 return;
             }
             if (vmVersion.contains("internal")) {
@@ -104,23 +120,36 @@
                 return;
             }
             // http://openjdk.java.net/jeps/223
-            // Only support EA builds until GA is available
-            if (vmVersion.startsWith("9-ea+")) {
-                int start = "9-ea+".length();
+            if (vmVersion.startsWith("9+")) {
+                int start = "9+".length();
                 int end = start;
                 end = start;
                 while (end < vmVersion.length() && Character.isDigit(vmVersion.charAt(end))) {
                     end++;
                 }
-                int build = Integer.parseInt(vmVersion.substring(start, end));
+                int build;
+                try {
+                    build = Integer.parseInt(vmVersion.substring(start, end));
+                } catch (NumberFormatException e) {
+                    failVersionCheck(exitOnFailure, "The VM does not support the minimum JVMCI API version required by Graal.%n" +
+                                    "Cannot read JDK9 EA build number from java.vm.version property: %s.%n", vmVersion);
+                    return;
+                }
                 if (build >= JVMCI9_MIN_EA_BUILD) {
                     return;
                 }
-                failVersionCheck(exitOnFailure, "The VM is an insufficiently recent EA JDK9 build for Graal: %d < %d.%n", build, JVMCI9_MIN_EA_BUILD);
+                // Using Object.equals suppresses Eclipse's "Dead code" warning.
+                // Unfortunately @SuppressWarnings("unused") can only be applied at method level.
+                if (Objects.equals(JVMCI9_MIN_EA_BUILD, Integer.MAX_VALUE)) {
+                    failVersionCheck(exitOnFailure, "This version of Graal is not compatible with any JDK 9 Early Access build.%n");
+                } else {
+                    failVersionCheck(exitOnFailure, "The VM is an insufficiently recent EA JDK9 build for Graal: %d < %d.%n", build, JVMCI9_MIN_EA_BUILD);
+                }
                 return;
+            } else {
+                // Graal will be compatible with all JDK versions as of 9 GA
+                // until a JVMCI API change is made in a 9u or later release.
             }
-            failVersionCheck(exitOnFailure, "The VM does not support the minimum JVMCI API version required by Graal.%n" +
-                            "Cannot read JDK9 EA build number from java.vm.version property: %s.%n", vmVersion);
         }
     }
 
--- a/hotspot/src/share/vm/adlc/archDesc.cpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/share/vm/adlc/archDesc.cpp	Thu Aug 24 16:33:37 2017 +0200
@@ -1166,6 +1166,7 @@
          || strcmp(idealName,"CmpP") == 0
          || strcmp(idealName,"CmpN") == 0
          || strcmp(idealName,"CmpL") == 0
+         || strcmp(idealName,"CmpUL") == 0
          || strcmp(idealName,"CmpD") == 0
          || strcmp(idealName,"CmpF") == 0
          || strcmp(idealName,"FastLock") == 0
--- a/hotspot/src/share/vm/opto/c2_globals.hpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/share/vm/opto/c2_globals.hpp	Thu Aug 24 16:33:37 2017 +0200
@@ -181,7 +181,7 @@
            "Map number of unrolls for main loop via "                       \
            "Superword Level Parallelism analysis")                          \
                                                                             \
-  diagnostic_pd(bool, PostLoopMultiversioning,                              \
+  experimental(bool, PostLoopMultiversioning, false,                        \
            "Multi versioned post loops to eliminate range checks")          \
                                                                             \
   notproduct(bool, TraceSuperWordLoopUnrollAnalysis, false,                 \
--- a/hotspot/src/share/vm/opto/classes.hpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/share/vm/opto/classes.hpp	Thu Aug 24 16:33:37 2017 +0200
@@ -81,6 +81,7 @@
 macro(CmpLTMask)
 macro(CmpP)
 macro(CmpU)
+macro(CmpUL)
 macro(CompareAndSwapB)
 macro(CompareAndSwapS)
 macro(CompareAndSwapI)
--- a/hotspot/src/share/vm/opto/loopPredicate.cpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/share/vm/opto/loopPredicate.cpp	Thu Aug 24 16:33:37 2017 +0200
@@ -29,6 +29,7 @@
 #include "opto/connode.hpp"
 #include "opto/convertnode.hpp"
 #include "opto/loopnode.hpp"
+#include "opto/matcher.hpp"
 #include "opto/mulnode.hpp"
 #include "opto/opaquenode.hpp"
 #include "opto/rootnode.hpp"
@@ -629,45 +630,138 @@
 //   max(scale*i + offset) = scale*init + offset
 BoolNode* PhaseIdealLoop::rc_predicate(IdealLoopTree *loop, Node* ctrl,
                                        int scale, Node* offset,
-                                       Node* init, Node* limit, Node* stride,
-                                       Node* range, bool upper) {
+                                       Node* init, Node* limit, jint stride,
+                                       Node* range, bool upper, bool &overflow) {
+  jint con_limit  = limit->is_Con()  ? limit->get_int()  : 0;
+  jint con_init   = init->is_Con()   ? init->get_int()   : 0;
+  jint con_offset = offset->is_Con() ? offset->get_int() : 0;
+
   stringStream* predString = NULL;
   if (TraceLoopPredicate) {
     predString = new stringStream();
     predString->print("rc_predicate ");
   }
 
-  Node* max_idx_expr  = init;
-  int stride_con = stride->get_int();
-  if ((stride_con > 0) == (scale > 0) == upper) {
-    // Limit is not exact.
-    // Calculate exact limit here.
-    // Note, counted loop's test is '<' or '>'.
-    limit = exact_limit(loop);
-    max_idx_expr = new SubINode(limit, stride);
+  overflow = false;
+  Node* max_idx_expr = NULL;
+  const TypeInt* idx_type = TypeInt::INT;
+  if ((stride > 0) == (scale > 0) == upper) {
+    if (TraceLoopPredicate) {
+      predString->print(limit->is_Con() ? "(%d " : "(limit ", con_limit);
+      predString->print("- %d) ", stride);
+    }
+    // Check if (limit - stride) may overflow
+    const TypeInt* limit_type = _igvn.type(limit)->isa_int();
+    jint limit_lo = limit_type->_lo;
+    jint limit_hi = limit_type->_hi;
+    if ((stride > 0 && (java_subtract(limit_lo, stride) < limit_lo)) ||
+        (stride < 0 && (java_subtract(limit_hi, stride) > limit_hi))) {
+      // No overflow possible
+      ConINode* con_stride = _igvn.intcon(stride);
+      set_ctrl(con_stride, C->root());
+      max_idx_expr = new SubINode(limit, con_stride);
+      idx_type = TypeInt::make(limit_lo - stride, limit_hi - stride, limit_type->_widen);
+    } else {
+      // May overflow
+      overflow = true;
+      limit = new ConvI2LNode(limit);
+      register_new_node(limit, ctrl);
+      ConLNode* con_stride = _igvn.longcon(stride);
+      set_ctrl(con_stride, C->root());
+      max_idx_expr = new SubLNode(limit, con_stride);
+    }
     register_new_node(max_idx_expr, ctrl);
-    if (TraceLoopPredicate) predString->print("(limit - stride) ");
   } else {
-    if (TraceLoopPredicate) predString->print("init ");
+    if (TraceLoopPredicate) {
+      predString->print(init->is_Con() ? "%d " : "init ", con_init);
+    }
+    idx_type = _igvn.type(init)->isa_int();
+    max_idx_expr = init;
   }
 
   if (scale != 1) {
     ConNode* con_scale = _igvn.intcon(scale);
     set_ctrl(con_scale, C->root());
-    max_idx_expr = new MulINode(max_idx_expr, con_scale);
+    if (TraceLoopPredicate) {
+      predString->print("* %d ", scale);
+    }
+    // Check if (scale * max_idx_expr) may overflow
+    const TypeInt* scale_type = TypeInt::make(scale);
+    MulINode* mul = new MulINode(max_idx_expr, con_scale);
+    idx_type = (TypeInt*)mul->mul_ring(idx_type, scale_type);
+    if (overflow || TypeInt::INT->higher_equal(idx_type)) {
+      // May overflow
+      mul->destruct();
+      if (!overflow) {
+        max_idx_expr = new ConvI2LNode(max_idx_expr);
+        register_new_node(max_idx_expr, ctrl);
+      }
+      overflow = true;
+      con_scale = _igvn.longcon(scale);
+      set_ctrl(con_scale, C->root());
+      max_idx_expr = new MulLNode(max_idx_expr, con_scale);
+    } else {
+      // No overflow possible
+      max_idx_expr = mul;
+    }
     register_new_node(max_idx_expr, ctrl);
-    if (TraceLoopPredicate) predString->print("* %d ", scale);
   }
 
-  if (offset && (!offset->is_Con() || offset->get_int() != 0)){
-    max_idx_expr = new AddINode(max_idx_expr, offset);
+  if (offset && (!offset->is_Con() || con_offset != 0)){
+    if (TraceLoopPredicate) {
+      predString->print(offset->is_Con() ? "+ %d " : "+ offset", con_offset);
+    }
+    // Check if (max_idx_expr + offset) may overflow
+    const TypeInt* offset_type = _igvn.type(offset)->isa_int();
+    jint lo = java_add(idx_type->_lo, offset_type->_lo);
+    jint hi = java_add(idx_type->_hi, offset_type->_hi);
+    if (overflow || (lo > hi) ||
+        ((idx_type->_lo & offset_type->_lo) < 0 && lo >= 0) ||
+        ((~(idx_type->_hi | offset_type->_hi)) < 0 && hi < 0)) {
+      // May overflow
+      if (!overflow) {
+        max_idx_expr = new ConvI2LNode(max_idx_expr);
+        register_new_node(max_idx_expr, ctrl);
+      }
+      overflow = true;
+      offset = new ConvI2LNode(offset);
+      register_new_node(offset, ctrl);
+      max_idx_expr = new AddLNode(max_idx_expr, offset);
+    } else {
+      // No overflow possible
+      max_idx_expr = new AddINode(max_idx_expr, offset);
+    }
     register_new_node(max_idx_expr, ctrl);
-    if (TraceLoopPredicate)
-      if (offset->is_Con()) predString->print("+ %d ", offset->get_int());
-      else predString->print("+ offset ");
   }
 
-  CmpUNode* cmp = new CmpUNode(max_idx_expr, range);
+  CmpNode* cmp = NULL;
+  if (overflow) {
+    // Integer expressions may overflow, do long comparison
+    range = new ConvI2LNode(range);
+    register_new_node(range, ctrl);
+    if (!Matcher::has_match_rule(Op_CmpUL)) {
+      // We don't support unsigned long comparisons. Set 'max_idx_expr'
+      // to max_julong if < 0 to make the signed comparison fail.
+      ConINode* sign_pos = _igvn.intcon(BitsPerLong - 1);
+      set_ctrl(sign_pos, C->root());
+      Node* sign_bit_mask = new RShiftLNode(max_idx_expr, sign_pos);
+      register_new_node(sign_bit_mask, ctrl);
+      // OR with sign bit to set all bits to 1 if negative (otherwise no change)
+      max_idx_expr = new OrLNode(max_idx_expr, sign_bit_mask);
+      register_new_node(max_idx_expr, ctrl);
+      // AND with 0x7ff... to unset the sign bit
+      ConLNode* remove_sign_mask = _igvn.longcon(max_jlong);
+      set_ctrl(remove_sign_mask, C->root());
+      max_idx_expr = new AndLNode(max_idx_expr, remove_sign_mask);
+      register_new_node(max_idx_expr, ctrl);
+
+      cmp = new CmpLNode(max_idx_expr, range);
+    } else {
+      cmp = new CmpULNode(max_idx_expr, range);
+    }
+  } else {
+    cmp = new CmpUNode(max_idx_expr, range);
+  }
   register_new_node(cmp, ctrl);
   BoolNode* bol = new BoolNode(cmp, BoolTest::lt);
   register_new_node(bol, ctrl);
@@ -814,28 +908,30 @@
       assert(ok, "must be index expression");
 
       Node* init    = cl->init_trip();
-      Node* limit   = cl->limit();
-      Node* stride  = cl->stride();
+      // Limit is not exact.
+      // Calculate exact limit here.
+      // Note, counted loop's test is '<' or '>'.
+      Node* limit   = exact_limit(loop);
+      int  stride   = cl->stride()->get_int();
 
       // Build if's for the upper and lower bound tests.  The
       // lower_bound test will dominate the upper bound test and all
       // cloned or created nodes will use the lower bound test as
       // their declared control.
-      ProjNode* lower_bound_proj = create_new_if_for_predicate(predicate_proj, NULL, Deoptimization::Reason_predicate, iff->Opcode());
-      ProjNode* upper_bound_proj = create_new_if_for_predicate(predicate_proj, NULL, Deoptimization::Reason_predicate, iff->Opcode());
-      assert(upper_bound_proj->in(0)->as_If()->in(0) == lower_bound_proj, "should dominate");
-      Node *ctrl = lower_bound_proj->in(0)->as_If()->in(0);
 
       // Perform cloning to keep Invariance state correct since the
       // late schedule will place invariant things in the loop.
+      Node *ctrl = predicate_proj->in(0)->as_If()->in(0);
       rng = invar.clone(rng, ctrl);
       if (offset && offset != zero) {
         assert(invar.is_invariant(offset), "offset must be loop invariant");
         offset = invar.clone(offset, ctrl);
       }
+      // If predicate expressions may overflow in the integer range, longs are used.
+      bool overflow = false;
 
       // Test the lower bound
-      BoolNode*  lower_bound_bol = rc_predicate(loop, ctrl, scale, offset, init, limit, stride, rng, false);
+      BoolNode* lower_bound_bol = rc_predicate(loop, ctrl, scale, offset, init, limit, stride, rng, false, overflow);
       // Negate test if necessary
       bool negated = false;
       if (proj->_con != predicate_proj->_con) {
@@ -843,19 +939,22 @@
         register_new_node(lower_bound_bol, ctrl);
         negated = true;
       }
+      ProjNode* lower_bound_proj = create_new_if_for_predicate(predicate_proj, NULL, Deoptimization::Reason_predicate, overflow ? Op_If : iff->Opcode());
       IfNode* lower_bound_iff = lower_bound_proj->in(0)->as_If();
       _igvn.hash_delete(lower_bound_iff);
       lower_bound_iff->set_req(1, lower_bound_bol);
       if (TraceLoopPredicate) tty->print_cr("lower bound check if: %s %d ", negated ? " negated" : "", lower_bound_iff->_idx);
 
       // Test the upper bound
-      BoolNode* upper_bound_bol = rc_predicate(loop, lower_bound_proj, scale, offset, init, limit, stride, rng, true);
+      BoolNode* upper_bound_bol = rc_predicate(loop, lower_bound_proj, scale, offset, init, limit, stride, rng, true, overflow);
       negated = false;
       if (proj->_con != predicate_proj->_con) {
         upper_bound_bol = new BoolNode(upper_bound_bol->in(1), upper_bound_bol->_test.negate());
         register_new_node(upper_bound_bol, ctrl);
         negated = true;
       }
+      ProjNode* upper_bound_proj = create_new_if_for_predicate(predicate_proj, NULL, Deoptimization::Reason_predicate, overflow ? Op_If : iff->Opcode());
+      assert(upper_bound_proj->in(0)->as_If()->in(0) == lower_bound_proj, "should dominate");
       IfNode* upper_bound_iff = upper_bound_proj->in(0)->as_If();
       _igvn.hash_delete(upper_bound_iff);
       upper_bound_iff->set_req(1, upper_bound_bol);
--- a/hotspot/src/share/vm/opto/loopnode.hpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/share/vm/opto/loopnode.hpp	Thu Aug 24 16:33:37 2017 +0200
@@ -983,8 +983,8 @@
   // Construct a range check for a predicate if
   BoolNode* rc_predicate(IdealLoopTree *loop, Node* ctrl,
                          int scale, Node* offset,
-                         Node* init, Node* limit, Node* stride,
-                         Node* range, bool upper);
+                         Node* init, Node* limit, jint stride,
+                         Node* range, bool upper, bool &overflow);
 
   // Implementation of the loop predication to promote checks outside the loop
   bool loop_predication_impl(IdealLoopTree *loop);
--- a/hotspot/src/share/vm/opto/output.cpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/share/vm/opto/output.cpp	Thu Aug 24 16:33:37 2017 +0200
@@ -1982,6 +1982,7 @@
     if( last->is_MachIf() && last->in(1) == n &&
         ( op == Op_CmpI ||
           op == Op_CmpU ||
+          op == Op_CmpUL ||
           op == Op_CmpP ||
           op == Op_CmpF ||
           op == Op_CmpD ||
--- a/hotspot/src/share/vm/opto/subnode.cpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/share/vm/opto/subnode.cpp	Thu Aug 24 16:33:37 2017 +0200
@@ -738,6 +738,60 @@
   return TypeInt::CC;           // else use worst case results
 }
 
+
+// Simplify a CmpUL (compare 2 unsigned longs) node, based on local information.
+// If both inputs are constants, compare them.
+const Type* CmpULNode::sub(const Type* t1, const Type* t2) const {
+  assert(!t1->isa_ptr(), "obsolete usage of CmpUL");
+
+  // comparing two unsigned longs
+  const TypeLong* r0 = t1->is_long();   // Handy access
+  const TypeLong* r1 = t2->is_long();
+
+  // Current installed version
+  // Compare ranges for non-overlap
+  julong lo0 = r0->_lo;
+  julong hi0 = r0->_hi;
+  julong lo1 = r1->_lo;
+  julong hi1 = r1->_hi;
+
+  // If either one has both negative and positive values,
+  // it therefore contains both 0 and -1, and since [0..-1] is the
+  // full unsigned range, the type must act as an unsigned bottom.
+  bool bot0 = ((jlong)(lo0 ^ hi0) < 0);
+  bool bot1 = ((jlong)(lo1 ^ hi1) < 0);
+
+  if (bot0 || bot1) {
+    // All unsigned values are LE -1 and GE 0.
+    if (lo0 == 0 && hi0 == 0) {
+      return TypeInt::CC_LE;            //   0 <= bot
+    } else if ((jlong)lo0 == -1 && (jlong)hi0 == -1) {
+      return TypeInt::CC_GE;            // -1 >= bot
+    } else if (lo1 == 0 && hi1 == 0) {
+      return TypeInt::CC_GE;            // bot >= 0
+    } else if ((jlong)lo1 == -1 && (jlong)hi1 == -1) {
+      return TypeInt::CC_LE;            // bot <= -1
+    }
+  } else {
+    // We can use ranges of the form [lo..hi] if signs are the same.
+    assert(lo0 <= hi0 && lo1 <= hi1, "unsigned ranges are valid");
+    // results are reversed, '-' > '+' for unsigned compare
+    if (hi0 < lo1) {
+      return TypeInt::CC_LT;            // smaller
+    } else if (lo0 > hi1) {
+      return TypeInt::CC_GT;            // greater
+    } else if (hi0 == lo1 && lo0 == hi1) {
+      return TypeInt::CC_EQ;            // Equal results
+    } else if (lo0 >= hi1) {
+      return TypeInt::CC_GE;
+    } else if (hi0 <= lo1) {
+      return TypeInt::CC_LE;
+    }
+  }
+
+  return TypeInt::CC;                   // else use worst case results
+}
+
 //=============================================================================
 //------------------------------sub--------------------------------------------
 // Simplify an CmpP (compare 2 pointers) node, based on local information.
--- a/hotspot/src/share/vm/opto/subnode.hpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/share/vm/opto/subnode.hpp	Thu Aug 24 16:33:37 2017 +0200
@@ -198,6 +198,15 @@
   virtual const Type *sub( const Type *, const Type * ) const;
 };
 
+//------------------------------CmpULNode---------------------------------------
+// Compare 2 unsigned long values, returning condition codes (-1, 0 or 1).
+class CmpULNode : public CmpNode {
+public:
+  CmpULNode(Node* in1, Node* in2) : CmpNode(in1, in2) { }
+  virtual int Opcode() const;
+  virtual const Type* sub(const Type*, const Type*) const;
+};
+
 //------------------------------CmpL3Node--------------------------------------
 // Compare 2 long values, returning integer value (-1, 0 or 1).
 class CmpL3Node : public CmpLNode {
--- a/hotspot/src/share/vm/runtime/vmStructs.cpp	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/src/share/vm/runtime/vmStructs.cpp	Thu Aug 24 16:33:37 2017 +0200
@@ -2013,6 +2013,7 @@
   declare_c2_type(CmpPNode, CmpNode)                                      \
   declare_c2_type(CmpNNode, CmpNode)                                      \
   declare_c2_type(CmpLNode, CmpNode)                                      \
+  declare_c2_type(CmpULNode, CmpNode)                                     \
   declare_c2_type(CmpL3Node, CmpLNode)                                    \
   declare_c2_type(CmpFNode, CmpNode)                                      \
   declare_c2_type(CmpF3Node, CmpFNode)                                    \
--- a/hotspot/test/compiler/rangechecks/TestRangeCheckEliminationDisabled.java	Fri Jul 28 02:34:48 2017 +0000
+++ b/hotspot/test/compiler/rangechecks/TestRangeCheckEliminationDisabled.java	Thu Aug 24 16:33:37 2017 +0200
@@ -26,7 +26,7 @@
  * @bug 8154763
  * @summary Tests PostLoopMultiversioning with RangeCheckElimination disabled.
  * @run main/othervm -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockDiagnosticVMOptions
- *                   -XX:+PostLoopMultiversioning -XX:-RangeCheckElimination
+ *                   -XX:+UnlockExperimentalVMOptions -XX:+PostLoopMultiversioning -XX:-RangeCheckElimination
  *                   compiler.rangechecks.TestRangeCheckEliminationDisabled
  */
 
--- a/jdk/.hgtags	Fri Jul 28 02:34:48 2017 +0000
+++ b/jdk/.hgtags	Thu Aug 24 16:33:37 2017 +0200
@@ -437,3 +437,6 @@
 80acf577b7d0b886fb555c9916552844f6cc72af jdk-9+177
 e069834e2c518a7bc2ffadc8c7e3cd7ec69fa8a0 jdk-10+15
 3281b964ab104002623d744e8b77a12269b70acd jdk-10+16
+443025bee731eb2225371b92c1c74b519b7baf33 jdk-9+178
+06df1ce4b9b887d05ce6a13f4def3547e434dd1a jdk-9+179
+d93f2fd542b7d7855c2cd49ae15ebcc3d441a83b jdk-10+17
--- a/jdk/make/Tools.gmk	Fri Jul 28 02:34:48 2017 +0000
+++ b/jdk/make/Tools.gmk	Thu Aug 24 16:33:37 2017 +0200
@@ -116,6 +116,9 @@
 TOOL_CLDRCONVERTER = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
     build.tools.cldrconverter.CLDRConverter
 
+TOOL_GENERATELSREQUIVMAPS = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
+    build.tools.generatelsrequivmaps.EquivMapsGenerator
+
 TOOL_GENMODULESXML = $(JAVA_SMALL) $(INTERIM_LANGTOOLS_BOOTCLASSPATH) \
     -cp $(call PathList, $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes) \
     build.tools.module.GenJdepsModulesXml
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/data/lsrdata/language-subtag-registry.txt	Thu Aug 24 16:33:37 2017 +0200
@@ -0,0 +1,47097 @@
+File-Date: 2016-02-10
+%%
+Type: language
+Subtag: aa
+Description: Afar
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ab
+Description: Abkhazian
+Added: 2005-10-16
+Suppress-Script: Cyrl
+%%
+Type: language
+Subtag: ae
+Description: Avestan
+Added: 2005-10-16
+%%
+Type: language
+Subtag: af
+Description: Afrikaans
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: ak
+Description: Akan
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: am
+Description: Amharic
+Added: 2005-10-16
+Suppress-Script: Ethi
+%%
+Type: language
+Subtag: an
+Description: Aragonese
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ar
+Description: Arabic
+Added: 2005-10-16
+Suppress-Script: Arab
+Scope: macrolanguage
+%%
+Type: language
+Subtag: as
+Description: Assamese
+Added: 2005-10-16
+Suppress-Script: Beng
+%%
+Type: language
+Subtag: av
+Description: Avaric
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ay
+Description: Aymara
+Added: 2005-10-16
+Suppress-Script: Latn
+Scope: macrolanguage
+%%
+Type: language
+Subtag: az
+Description: Azerbaijani
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: ba
+Description: Bashkir
+Added: 2005-10-16
+%%
+Type: language
+Subtag: be
+Description: Belarusian
+Added: 2005-10-16
+Suppress-Script: Cyrl
+%%
+Type: language
+Subtag: bg
+Description: Bulgarian
+Added: 2005-10-16
+Suppress-Script: Cyrl
+%%
+Type: language
+Subtag: bh
+Description: Bihari languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: bi
+Description: Bislama
+Added: 2005-10-16
+%%
+Type: language
+Subtag: bm
+Description: Bambara
+Added: 2005-10-16
+%%
+Type: language
+Subtag: bn
+Description: Bengali
+Added: 2005-10-16
+Suppress-Script: Beng
+%%
+Type: language
+Subtag: bo
+Description: Tibetan
+Added: 2005-10-16
+%%
+Type: language
+Subtag: br
+Description: Breton
+Added: 2005-10-16
+%%
+Type: language
+Subtag: bs
+Description: Bosnian
+Added: 2005-10-16
+Suppress-Script: Latn
+Macrolanguage: sh
+%%
+Type: language
+Subtag: ca
+Description: Catalan
+Description: Valencian
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: ce
+Description: Chechen
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ch
+Description: Chamorro
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: co
+Description: Corsican
+Added: 2005-10-16
+%%
+Type: language
+Subtag: cr
+Description: Cree
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: cs
+Description: Czech
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: cu
+Description: Church Slavic
+Description: Church Slavonic
+Description: Old Bulgarian
+Description: Old Church Slavonic
+Description: Old Slavonic
+Added: 2005-10-16
+%%
+Type: language
+Subtag: cv
+Description: Chuvash
+Added: 2005-10-16
+%%
+Type: language
+Subtag: cy
+Description: Welsh
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: da
+Description: Danish
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: de
+Description: German
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: dv
+Description: Dhivehi
+Description: Divehi
+Description: Maldivian
+Added: 2005-10-16
+Suppress-Script: Thaa
+%%
+Type: language
+Subtag: dz
+Description: Dzongkha
+Added: 2005-10-16
+Suppress-Script: Tibt
+%%
+Type: language
+Subtag: ee
+Description: Ewe
+Added: 2005-10-16
+%%
+Type: language
+Subtag: el
+Description: Modern Greek (1453-)
+Added: 2005-10-16
+Suppress-Script: Grek
+%%
+Type: language
+Subtag: en
+Description: English
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: eo
+Description: Esperanto
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: es
+Description: Spanish
+Description: Castilian
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: et
+Description: Estonian
+Added: 2005-10-16
+Suppress-Script: Latn
+Scope: macrolanguage
+%%
+Type: language
+Subtag: eu
+Description: Basque
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: fa
+Description: Persian
+Added: 2005-10-16
+Suppress-Script: Arab
+Scope: macrolanguage
+%%
+Type: language
+Subtag: ff
+Description: Fulah
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: fi
+Description: Finnish
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: fj
+Description: Fijian
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: fo
+Description: Faroese
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: fr
+Description: French
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: fy
+Description: Western Frisian
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: ga
+Description: Irish
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: gd
+Description: Scottish Gaelic
+Description: Gaelic
+Added: 2005-10-16
+%%
+Type: language
+Subtag: gl
+Description: Galician
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: gn
+Description: Guarani
+Added: 2005-10-16
+Suppress-Script: Latn
+Scope: macrolanguage
+%%
+Type: language
+Subtag: gu
+Description: Gujarati
+Added: 2005-10-16
+Suppress-Script: Gujr
+%%
+Type: language
+Subtag: gv
+Description: Manx
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: ha
+Description: Hausa
+Added: 2005-10-16
+%%
+Type: language
+Subtag: he
+Description: Hebrew
+Added: 2005-10-16
+Suppress-Script: Hebr
+%%
+Type: language
+Subtag: hi
+Description: Hindi
+Added: 2005-10-16
+Suppress-Script: Deva
+%%
+Type: language
+Subtag: ho
+Description: Hiri Motu
+Added: 2005-10-16
+%%
+Type: language
+Subtag: hr
+Description: Croatian
+Added: 2005-10-16
+Suppress-Script: Latn
+Macrolanguage: sh
+%%
+Type: language
+Subtag: ht
+Description: Haitian
+Description: Haitian Creole
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: hu
+Description: Hungarian
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: hy
+Description: Armenian
+Added: 2005-10-16
+Suppress-Script: Armn
+%%
+Type: language
+Subtag: hz
+Description: Herero
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ia
+Description: Interlingua (International Auxiliary Language
+  Association)
+Added: 2005-10-16
+%%
+Type: language
+Subtag: id
+Description: Indonesian
+Added: 2005-10-16
+Suppress-Script: Latn
+Macrolanguage: ms
+%%
+Type: language
+Subtag: ie
+Description: Interlingue
+Description: Occidental
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ig
+Description: Igbo
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ii
+Description: Sichuan Yi
+Description: Nuosu
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ik
+Description: Inupiaq
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: in
+Description: Indonesian
+Added: 2005-10-16
+Deprecated: 1989-01-01
+Preferred-Value: id
+Suppress-Script: Latn
+Macrolanguage: ms
+%%
+Type: language
+Subtag: io
+Description: Ido
+Added: 2005-10-16
+%%
+Type: language
+Subtag: is
+Description: Icelandic
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: it
+Description: Italian
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: iu
+Description: Inuktitut
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: iw
+Description: Hebrew
+Added: 2005-10-16
+Deprecated: 1989-01-01
+Preferred-Value: he
+Suppress-Script: Hebr
+%%
+Type: language
+Subtag: ja
+Description: Japanese
+Added: 2005-10-16
+Suppress-Script: Jpan
+%%
+Type: language
+Subtag: ji
+Description: Yiddish
+Added: 2005-10-16
+Deprecated: 1989-01-01
+Preferred-Value: yi
+%%
+Type: language
+Subtag: jv
+Description: Javanese
+Added: 2005-10-16
+%%
+Type: language
+Subtag: jw
+Description: Javanese
+Added: 2005-10-16
+Deprecated: 2001-08-13
+Preferred-Value: jv
+Comments: published by error in Table 1 of ISO 639:1988
+%%
+Type: language
+Subtag: ka
+Description: Georgian
+Added: 2005-10-16
+Suppress-Script: Geor
+%%
+Type: language
+Subtag: kg
+Description: Kongo
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: ki
+Description: Kikuyu
+Description: Gikuyu
+Added: 2005-10-16
+%%
+Type: language
+Subtag: kj
+Description: Kuanyama
+Description: Kwanyama
+Added: 2005-10-16
+%%
+Type: language
+Subtag: kk
+Description: Kazakh
+Added: 2005-10-16
+Suppress-Script: Cyrl
+%%
+Type: language
+Subtag: kl
+Description: Kalaallisut
+Description: Greenlandic
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: km
+Description: Central Khmer
+Added: 2005-10-16
+Suppress-Script: Khmr
+%%
+Type: language
+Subtag: kn
+Description: Kannada
+Added: 2005-10-16
+Suppress-Script: Knda
+%%
+Type: language
+Subtag: ko
+Description: Korean
+Added: 2005-10-16
+Suppress-Script: Kore
+%%
+Type: language
+Subtag: kr
+Description: Kanuri
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: ks
+Description: Kashmiri
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ku
+Description: Kurdish
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: kv
+Description: Komi
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: kw
+Description: Cornish
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ky
+Description: Kirghiz
+Description: Kyrgyz
+Added: 2005-10-16
+%%
+Type: language
+Subtag: la
+Description: Latin
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: lb
+Description: Luxembourgish
+Description: Letzeburgesch
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: lg
+Description: Ganda
+Added: 2005-10-16
+%%
+Type: language
+Subtag: li
+Description: Limburgan
+Description: Limburger
+Description: Limburgish
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ln
+Description: Lingala
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: lo
+Description: Lao
+Added: 2005-10-16
+Suppress-Script: Laoo
+%%
+Type: language
+Subtag: lt
+Description: Lithuanian
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: lu
+Description: Luba-Katanga
+Added: 2005-10-16
+%%
+Type: language
+Subtag: lv
+Description: Latvian
+Added: 2005-10-16
+Suppress-Script: Latn
+Scope: macrolanguage
+%%
+Type: language
+Subtag: mg
+Description: Malagasy
+Added: 2005-10-16
+Suppress-Script: Latn
+Scope: macrolanguage
+%%
+Type: language
+Subtag: mh
+Description: Marshallese
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: mi
+Description: Maori
+Added: 2005-10-16
+%%
+Type: language
+Subtag: mk
+Description: Macedonian
+Added: 2005-10-16
+Suppress-Script: Cyrl
+%%
+Type: language
+Subtag: ml
+Description: Malayalam
+Added: 2005-10-16
+Suppress-Script: Mlym
+%%
+Type: language
+Subtag: mn
+Description: Mongolian
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: mo
+Description: Moldavian
+Description: Moldovan
+Added: 2005-10-16
+Deprecated: 2008-11-22
+Preferred-Value: ro
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: mr
+Description: Marathi
+Added: 2005-10-16
+Suppress-Script: Deva
+%%
+Type: language
+Subtag: ms
+Description: Malay (macrolanguage)
+Added: 2005-10-16
+Suppress-Script: Latn
+Scope: macrolanguage
+%%
+Type: language
+Subtag: mt
+Description: Maltese
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: my
+Description: Burmese
+Added: 2005-10-16
+Suppress-Script: Mymr
+%%
+Type: language
+Subtag: na
+Description: Nauru
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: nb
+Description: Norwegian Bokmål
+Added: 2005-10-16
+Suppress-Script: Latn
+Macrolanguage: no
+%%
+Type: language
+Subtag: nd
+Description: North Ndebele
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: ne
+Description: Nepali (macrolanguage)
+Added: 2005-10-16
+Suppress-Script: Deva
+Scope: macrolanguage
+%%
+Type: language
+Subtag: ng
+Description: Ndonga
+Added: 2005-10-16
+%%
+Type: language
+Subtag: nl
+Description: Dutch
+Description: Flemish
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: nn
+Description: Norwegian Nynorsk
+Added: 2005-10-16
+Suppress-Script: Latn
+Macrolanguage: no
+%%
+Type: language
+Subtag: no
+Description: Norwegian
+Added: 2005-10-16
+Suppress-Script: Latn
+Scope: macrolanguage
+%%
+Type: language
+Subtag: nr
+Description: South Ndebele
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: nv
+Description: Navajo
+Description: Navaho
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ny
+Description: Nyanja
+Description: Chewa
+Description: Chichewa
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: oc
+Description: Occitan (post 1500)
+Added: 2005-10-16
+%%
+Type: language
+Subtag: oj
+Description: Ojibwa
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: om
+Description: Oromo
+Added: 2005-10-16
+Suppress-Script: Latn
+Scope: macrolanguage
+%%
+Type: language
+Subtag: or
+Description: Oriya (macrolanguage)
+Added: 2005-10-16
+Suppress-Script: Orya
+Scope: macrolanguage
+%%
+Type: language
+Subtag: os
+Description: Ossetian
+Description: Ossetic
+Added: 2005-10-16
+%%
+Type: language
+Subtag: pa
+Description: Panjabi
+Description: Punjabi
+Added: 2005-10-16
+Suppress-Script: Guru
+%%
+Type: language
+Subtag: pi
+Description: Pali
+Added: 2005-10-16
+%%
+Type: language
+Subtag: pl
+Description: Polish
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: ps
+Description: Pushto
+Description: Pashto
+Added: 2005-10-16
+Suppress-Script: Arab
+Scope: macrolanguage
+%%
+Type: language
+Subtag: pt
+Description: Portuguese
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: qu
+Description: Quechua
+Added: 2005-10-16
+Suppress-Script: Latn
+Scope: macrolanguage
+%%
+Type: language
+Subtag: rm
+Description: Romansh
+Suppress-Script: Latn
+Added: 2005-10-16
+%%
+Type: language
+Subtag: rn
+Description: Rundi
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: ro
+Description: Romanian
+Description: Moldavian
+Description: Moldovan
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: ru
+Description: Russian
+Added: 2005-10-16
+Suppress-Script: Cyrl
+%%
+Type: language
+Subtag: rw
+Description: Kinyarwanda
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: sa
+Description: Sanskrit
+Added: 2005-10-16
+%%
+Type: language
+Subtag: sc
+Description: Sardinian
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: sd
+Description: Sindhi
+Added: 2005-10-16
+%%
+Type: language
+Subtag: se
+Description: Northern Sami
+Added: 2005-10-16
+%%
+Type: language
+Subtag: sg
+Description: Sango
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: sh
+Description: Serbo-Croatian
+Added: 2005-10-16
+Scope: macrolanguage
+Comments: sr, hr, bs are preferred for most modern uses
+%%
+Type: language
+Subtag: si
+Description: Sinhala
+Description: Sinhalese
+Added: 2005-10-16
+Suppress-Script: Sinh
+%%
+Type: language
+Subtag: sk
+Description: Slovak
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: sl
+Description: Slovenian
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: sm
+Description: Samoan
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: sn
+Description: Shona
+Added: 2005-10-16
+%%
+Type: language
+Subtag: so
+Description: Somali
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: sq
+Description: Albanian
+Added: 2005-10-16
+Suppress-Script: Latn
+Scope: macrolanguage
+%%
+Type: language
+Subtag: sr
+Description: Serbian
+Added: 2005-10-16
+Macrolanguage: sh
+%%
+Type: language
+Subtag: ss
+Description: Swati
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: st
+Description: Southern Sotho
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: su
+Description: Sundanese
+Added: 2005-10-16
+%%
+Type: language
+Subtag: sv
+Description: Swedish
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: sw
+Description: Swahili (macrolanguage)
+Added: 2005-10-16
+Suppress-Script: Latn
+Scope: macrolanguage
+%%
+Type: language
+Subtag: ta
+Description: Tamil
+Added: 2005-10-16
+Suppress-Script: Taml
+%%
+Type: language
+Subtag: te
+Description: Telugu
+Added: 2005-10-16
+Suppress-Script: Telu
+%%
+Type: language
+Subtag: tg
+Description: Tajik
+Added: 2005-10-16
+%%
+Type: language
+Subtag: th
+Description: Thai
+Added: 2005-10-16
+Suppress-Script: Thai
+%%
+Type: language
+Subtag: ti
+Description: Tigrinya
+Added: 2005-10-16
+Suppress-Script: Ethi
+%%
+Type: language
+Subtag: tk
+Description: Turkmen
+Added: 2005-10-16
+%%
+Type: language
+Subtag: tl
+Description: Tagalog
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: tn
+Description: Tswana
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: to
+Description: Tonga (Tonga Islands)
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: tr
+Description: Turkish
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: ts
+Description: Tsonga
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: tt
+Description: Tatar
+Added: 2005-10-16
+%%
+Type: language
+Subtag: tw
+Description: Twi
+Added: 2005-10-16
+Macrolanguage: ak
+%%
+Type: language
+Subtag: ty
+Description: Tahitian
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ug
+Description: Uighur
+Description: Uyghur
+Added: 2005-10-16
+%%
+Type: language
+Subtag: uk
+Description: Ukrainian
+Added: 2005-10-16
+Suppress-Script: Cyrl
+%%
+Type: language
+Subtag: ur
+Description: Urdu
+Added: 2005-10-16
+Suppress-Script: Arab
+%%
+Type: language
+Subtag: uz
+Description: Uzbek
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: ve
+Description: Venda
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: vi
+Description: Vietnamese
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: vo
+Description: Volapük
+Added: 2005-10-16
+%%
+Type: language
+Subtag: wa
+Description: Walloon
+Added: 2005-10-16
+%%
+Type: language
+Subtag: wo
+Description: Wolof
+Added: 2005-10-16
+%%
+Type: language
+Subtag: xh
+Description: Xhosa
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: yi
+Description: Yiddish
+Added: 2005-10-16
+Suppress-Script: Hebr
+Scope: macrolanguage
+%%
+Type: language
+Subtag: yo
+Description: Yoruba
+Added: 2005-10-16
+%%
+Type: language
+Subtag: za
+Description: Zhuang
+Description: Chuang
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: zh
+Description: Chinese
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: zu
+Description: Zulu
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: aaa
+Description: Ghotuo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aab
+Description: Alumu-Tesu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aac
+Description: Ari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aad
+Description: Amal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aae
+Description: Arbëreshë Albanian
+Added: 2009-07-29
+Macrolanguage: sq
+%%
+Type: language
+Subtag: aaf
+Description: Aranadan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aag
+Description: Ambrak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aah
+Description: Abu' Arapesh
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aai
+Description: Arifama-Miniafia
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aak
+Description: Ankave
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aal
+Description: Afade
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aam
+Description: Aramanik
+Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: aas
+%%
+Type: language
+Subtag: aan
+Description: Anambé
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aao
+Description: Algerian Saharan Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: aap
+Description: Pará Arára
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aaq
+Description: Eastern Abnaki
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aas
+Description: Aasáx
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aat
+Description: Arvanitika Albanian
+Added: 2009-07-29
+Macrolanguage: sq
+%%
+Type: language
+Subtag: aau
+Description: Abau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aav
+Description: Austro-Asiatic languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: aaw
+Description: Solong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aax
+Description: Mandobo Atas
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aaz
+Description: Amarasi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aba
+Description: Abé
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abb
+Description: Bankon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abc
+Description: Ambala Ayta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abd
+Description: Manide
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abe
+Description: Western Abnaki
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abf
+Description: Abai Sungai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abg
+Description: Abaga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abh
+Description: Tajiki Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: abi
+Description: Abidji
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abj
+Description: Aka-Bea
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abl
+Description: Lampung Nyo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abm
+Description: Abanyom
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abn
+Description: Abua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abo
+Description: Abon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abp
+Description: Abellen Ayta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abq
+Description: Abaza
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abr
+Description: Abron
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abs
+Description: Ambonese Malay
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abt
+Description: Ambulas
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abu
+Description: Abure
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abv
+Description: Baharna Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: abw
+Description: Pal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abx
+Description: Inabaknon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aby
+Description: Aneme Wake
+Added: 2009-07-29
+%%
+Type: language
+Subtag: abz
+Description: Abui
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aca
+Description: Achagua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: acb
+Description: Áncá
+Added: 2009-07-29
+%%
+Type: language
+Subtag: acd
+Description: Gikyode
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ace
+Description: Achinese
+Added: 2005-10-16
+%%
+Type: language
+Subtag: acf
+Description: Saint Lucian Creole French
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ach
+Description: Acoli
+Added: 2005-10-16
+%%
+Type: language
+Subtag: aci
+Description: Aka-Cari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ack
+Description: Aka-Kora
+Added: 2009-07-29
+%%
+Type: language
+Subtag: acl
+Description: Akar-Bale
+Added: 2009-07-29
+%%
+Type: language
+Subtag: acm
+Description: Mesopotamian Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: acn
+Description: Achang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: acp
+Description: Eastern Acipa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: acq
+Description: Ta'izzi-Adeni Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: acr
+Description: Achi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: acs
+Description: Acroá
+Added: 2009-07-29
+%%
+Type: language
+Subtag: act
+Description: Achterhoeks
+Added: 2009-07-29
+%%
+Type: language
+Subtag: acu
+Description: Achuar-Shiwiar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: acv
+Description: Achumawi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: acw
+Description: Hijazi Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: acx
+Description: Omani Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: acy
+Description: Cypriot Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: acz
+Description: Acheron
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ada
+Description: Adangme
+Added: 2005-10-16
+%%
+Type: language
+Subtag: adb
+Description: Adabe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: add
+Description: Dzodinka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ade
+Description: Adele
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adf
+Description: Dhofari Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: adg
+Description: Andegerebinha
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adh
+Description: Adhola
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adi
+Description: Adi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adj
+Description: Adioukrou
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adl
+Description: Galo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adn
+Description: Adang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ado
+Description: Abu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adp
+Description: Adap
+Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: dz
+%%
+Type: language
+Subtag: adq
+Description: Adangbe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adr
+Description: Adonara
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ads
+Description: Adamorobe Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adt
+Description: Adnyamathanha
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adu
+Description: Aduge
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adw
+Description: Amundava
+Added: 2009-07-29
+%%
+Type: language
+Subtag: adx
+Description: Amdo Tibetan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ady
+Description: Adyghe
+Description: Adygei
+Added: 2005-10-16
+%%
+Type: language
+Subtag: adz
+Description: Adzera
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aea
+Description: Areba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aeb
+Description: Tunisian Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: aec
+Description: Saidi Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: aed
+Description: Argentine Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aee
+Description: Northeast Pashai
+Description: Northeast Pashayi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aek
+Description: Haeke
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ael
+Description: Ambele
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aem
+Description: Arem
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aen
+Description: Armenian Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aeq
+Description: Aer
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aer
+Description: Eastern Arrernte
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aes
+Description: Alsea
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aeu
+Description: Akeu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aew
+Description: Ambakich
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aey
+Description: Amele
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aez
+Description: Aeka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: afa
+Description: Afro-Asiatic languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: afb
+Description: Gulf Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: afd
+Description: Andai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: afe
+Description: Putukwam
+Added: 2009-07-29
+%%
+Type: language
+Subtag: afg
+Description: Afghan Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: afh
+Description: Afrihili
+Added: 2005-10-16
+%%
+Type: language
+Subtag: afi
+Description: Akrukay
+Description: Chini
+Added: 2009-07-29
+%%
+Type: language
+Subtag: afk
+Description: Nanubae
+Added: 2009-07-29
+%%
+Type: language
+Subtag: afn
+Description: Defaka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: afo
+Description: Eloyi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: afp
+Description: Tapei
+Added: 2009-07-29
+%%
+Type: language
+Subtag: afs
+Description: Afro-Seminole Creole
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aft
+Description: Afitti
+Added: 2009-07-29
+%%
+Type: language
+Subtag: afu
+Description: Awutu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: afz
+Description: Obokuitai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aga
+Description: Aguano
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agb
+Description: Legbo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agc
+Description: Agatu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agd
+Description: Agarabi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: age
+Description: Angal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agf
+Description: Arguni
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agg
+Description: Angor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agh
+Description: Ngelima
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agi
+Description: Agariya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agj
+Description: Argobba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agk
+Description: Isarog Agta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agl
+Description: Fembe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agm
+Description: Angaataha
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agn
+Description: Agutaynen
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ago
+Description: Tainae
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agp
+Description: Paranan
+Added: 2009-07-29
+Deprecated: 2010-03-11
+Comments: see apf, prf
+%%
+Type: language
+Subtag: agq
+Description: Aghem
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agr
+Description: Aguaruna
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ags
+Description: Esimbi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agt
+Description: Central Cagayan Agta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agu
+Description: Aguacateco
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agv
+Description: Remontado Dumagat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agw
+Description: Kahua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agx
+Description: Aghul
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agy
+Description: Southern Alta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: agz
+Description: Mt. Iriga Agta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aha
+Description: Ahanta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ahb
+Description: Axamb
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ahg
+Description: Qimant
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ahh
+Description: Aghu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ahi
+Description: Tiagbamrin Aizi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ahk
+Description: Akha
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ahl
+Description: Igo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ahm
+Description: Mobumrin Aizi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ahn
+Description: Àhàn
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aho
+Description: Ahom
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ahp
+Description: Aproumu Aizi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ahr
+Description: Ahirani
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ahs
+Description: Ashe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aht
+Description: Ahtena
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aia
+Description: Arosi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aib
+Description: Ainu (China)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aic
+Description: Ainbai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aid
+Description: Alngith
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aie
+Description: Amara
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aif
+Description: Agi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aig
+Description: Antigua and Barbuda Creole English
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aih
+Description: Ai-Cham
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aii
+Description: Assyrian Neo-Aramaic
+Added: 2009-07-29
+Macrolanguage: syr
+%%
+Type: language
+Subtag: aij
+Description: Lishanid Noshan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aik
+Description: Ake
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ail
+Description: Aimele
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aim
+Description: Aimol
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ain
+Description: Ainu (Japan)
+Added: 2005-10-16
+%%
+Type: language
+Subtag: aio
+Description: Aiton
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aip
+Description: Burumakok
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aiq
+Description: Aimaq
+Added: 2009-07-29
+%%
+Type: language
+Subtag: air
+Description: Airoran
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ais
+Description: Nataoran Amis
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ait
+Description: Arikem
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aiw
+Description: Aari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aix
+Description: Aighon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aiy
+Description: Ali
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aja
+Description: Aja (Sudan)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ajg
+Description: Aja (Benin)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aji
+Description: Ajië
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ajn
+Description: Andajin
+Added: 2012-08-12
+%%
+Type: language
+Subtag: ajp
+Description: South Levantine Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: ajt
+Description: Judeo-Tunisian Arabic
+Added: 2009-07-29
+Macrolanguage: jrb
+%%
+Type: language
+Subtag: aju
+Description: Judeo-Moroccan Arabic
+Added: 2009-07-29
+Macrolanguage: jrb
+%%
+Type: language
+Subtag: ajw
+Description: Ajawa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ajz
+Description: Amri Karbi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akb
+Description: Batak Angkola
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akc
+Description: Mpur
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akd
+Description: Ukpet-Ehom
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ake
+Description: Akawaio
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akf
+Description: Akpa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akg
+Description: Anakalangu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akh
+Description: Angal Heneng
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aki
+Description: Aiome
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akj
+Description: Aka-Jeru
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akk
+Description: Akkadian
+Added: 2005-10-16
+%%
+Type: language
+Subtag: akl
+Description: Aklanon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akm
+Description: Aka-Bo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ako
+Description: Akurio
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akp
+Description: Siwu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akq
+Description: Ak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akr
+Description: Araki
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aks
+Description: Akaselem
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akt
+Description: Akolet
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aku
+Description: Akum
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akv
+Description: Akhvakh
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akw
+Description: Akwa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akx
+Description: Aka-Kede
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aky
+Description: Aka-Kol
+Added: 2009-07-29
+%%
+Type: language
+Subtag: akz
+Description: Alabama
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ala
+Description: Alago
+Added: 2009-07-29
+%%
+Type: language
+Subtag: alc
+Description: Qawasqar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ald
+Description: Alladian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ale
+Description: Aleut
+Added: 2005-10-16
+%%
+Type: language
+Subtag: alf
+Description: Alege
+Added: 2009-07-29
+%%
+Type: language
+Subtag: alg
+Description: Algonquian languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: alh
+Description: Alawa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ali
+Description: Amaimon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: alj
+Description: Alangan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: alk
+Description: Alak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: all
+Description: Allar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: alm
+Description: Amblong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aln
+Description: Gheg Albanian
+Added: 2009-07-29
+Macrolanguage: sq
+%%
+Type: language
+Subtag: alo
+Description: Larike-Wakasihu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: alp
+Description: Alune
+Added: 2009-07-29
+%%
+Type: language
+Subtag: alq
+Description: Algonquin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: alr
+Description: Alutor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: als
+Description: Tosk Albanian
+Added: 2009-07-29
+Macrolanguage: sq
+%%
+Type: language
+Subtag: alt
+Description: Southern Altai
+Added: 2005-10-16
+%%
+Type: language
+Subtag: alu
+Description: 'Are'are
+Added: 2009-07-29
+%%
+Type: language
+Subtag: alv
+Description: Atlantic-Congo languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: alw
+Description: Alaba-K’abeena
+Description: Wanbasana
+Added: 2009-07-29
+%%
+Type: language
+Subtag: alx
+Description: Amol
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aly
+Description: Alyawarr
+Added: 2009-07-29
+%%
+Type: language
+Subtag: alz
+Description: Alur
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ama
+Description: Amanayé
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amb
+Description: Ambo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amc
+Description: Amahuaca
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ame
+Description: Yanesha'
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amf
+Description: Hamer-Banna
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amg
+Description: Amurdak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ami
+Description: Amis
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amj
+Description: Amdang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amk
+Description: Ambai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aml
+Description: War-Jaintia
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amm
+Description: Ama (Papua New Guinea)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amn
+Description: Amanab
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amo
+Description: Amo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amp
+Description: Alamblak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amq
+Description: Amahai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amr
+Description: Amarakaeri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ams
+Description: Southern Amami-Oshima
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amt
+Description: Amto
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amu
+Description: Guerrero Amuzgo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amv
+Description: Ambelau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amw
+Description: Western Neo-Aramaic
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amx
+Description: Anmatyerre
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amy
+Description: Ami
+Added: 2009-07-29
+%%
+Type: language
+Subtag: amz
+Description: Atampaya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ana
+Description: Andaqui
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anb
+Description: Andoa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anc
+Description: Ngas
+Added: 2009-07-29
+%%
+Type: language
+Subtag: and
+Description: Ansus
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ane
+Description: Xârâcùù
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anf
+Description: Animere
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ang
+Description: Old English (ca. 450-1100)
+Added: 2005-10-16
+%%
+Type: language
+Subtag: anh
+Description: Nend
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ani
+Description: Andi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anj
+Description: Anor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ank
+Description: Goemai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anl
+Description: Anu-Hkongso Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anm
+Description: Anal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ann
+Description: Obolo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ano
+Description: Andoque
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anp
+Description: Angika
+Added: 2006-03-08
+%%
+Type: language
+Subtag: anq
+Description: Jarawa (India)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anr
+Description: Andh
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ans
+Description: Anserma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ant
+Description: Antakarinya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anu
+Description: Anuak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anv
+Description: Denya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anw
+Description: Anaang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anx
+Description: Andra-Hus
+Added: 2009-07-29
+%%
+Type: language
+Subtag: any
+Description: Anyin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: anz
+Description: Anem
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aoa
+Description: Angolar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aob
+Description: Abom
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aoc
+Description: Pemon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aod
+Description: Andarum
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aoe
+Description: Angal Enen
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aof
+Description: Bragat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aog
+Description: Angoram
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aoh
+Description: Arma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aoi
+Description: Anindilyakwa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aoj
+Description: Mufian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aok
+Description: Arhö
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aol
+Description: Alor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aom
+Description: Ömie
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aon
+Description: Bumbita Arapesh
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aor
+Description: Aore
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aos
+Description: Taikat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aot
+Description: Atong (India)
+Description: A'tong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aou
+Description: A'ou
+Added: 2012-08-12
+%%
+Type: language
+Subtag: aox
+Description: Atorada
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aoz
+Description: Uab Meto
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apa
+Description: Apache languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: apb
+Description: Sa'a
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apc
+Description: North Levantine Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: apd
+Description: Sudanese Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: ape
+Description: Bukiyip
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apf
+Description: Pahanan Agta
+Added: 2010-03-11
+%%
+Type: language
+Subtag: apg
+Description: Ampanang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aph
+Description: Athpariya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: api
+Description: Apiaká
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apj
+Description: Jicarilla Apache
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apk
+Description: Kiowa Apache
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apl
+Description: Lipan Apache
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apm
+Description: Mescalero-Chiricahua Apache
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apn
+Description: Apinayé
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apo
+Description: Ambul
+Added: 2009-07-29
+%%
+Type: language
+Subtag: app
+Description: Apma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apq
+Description: A-Pucikwar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apr
+Description: Arop-Lokep
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aps
+Description: Arop-Sissano
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apt
+Description: Apatani
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apu
+Description: Apurinã
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apv
+Description: Alapmunte
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apw
+Description: Western Apache
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apx
+Description: Aputai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apy
+Description: Apalaí
+Added: 2009-07-29
+%%
+Type: language
+Subtag: apz
+Description: Safeyoka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aqa
+Description: Alacalufan languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: aqc
+Description: Archi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aqd
+Description: Ampari Dogon
+Added: 2011-08-16
+%%
+Type: language
+Subtag: aqg
+Description: Arigidi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aql
+Description: Algic languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: aqm
+Description: Atohwaim
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aqn
+Description: Northern Alta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aqp
+Description: Atakapa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aqr
+Description: Arhâ
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aqt
+Description: Angaité
+Added: 2014-02-28
+%%
+Type: language
+Subtag: aqz
+Description: Akuntsu
+Added: 2010-03-11
+%%
+Type: language
+Subtag: arb
+Description: Standard Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: arc
+Description: Official Aramaic (700-300 BCE)
+Description: Imperial Aramaic (700-300 BCE)
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ard
+Description: Arabana
+Added: 2009-07-29
+%%
+Type: language
+Subtag: are
+Description: Western Arrarnta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: arh
+Description: Arhuaco
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ari
+Description: Arikara
+Added: 2009-07-29
+%%
+Type: language
+Subtag: arj
+Description: Arapaso
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ark
+Description: Arikapú
+Added: 2009-07-29
+%%
+Type: language
+Subtag: arl
+Description: Arabela
+Added: 2009-07-29
+%%
+Type: language
+Subtag: arn
+Description: Mapudungun
+Description: Mapuche
+Added: 2005-10-16
+%%
+Type: language
+Subtag: aro
+Description: Araona
+Added: 2009-07-29
+%%
+Type: language
+Subtag: arp
+Description: Arapaho
+Added: 2005-10-16
+%%
+Type: language
+Subtag: arq
+Description: Algerian Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: arr
+Description: Karo (Brazil)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ars
+Description: Najdi Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: art
+Description: Artificial languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: aru
+Description: Aruá (Amazonas State)
+Description: Arawá
+Added: 2009-07-29
+%%
+Type: language
+Subtag: arv
+Description: Arbore
+Added: 2009-07-29
+%%
+Type: language
+Subtag: arw
+Description: Arawak
+Added: 2005-10-16
+%%
+Type: language
+Subtag: arx
+Description: Aruá (Rodonia State)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ary
+Description: Moroccan Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: arz
+Description: Egyptian Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: asa
+Description: Asu (Tanzania)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asb
+Description: Assiniboine
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asc
+Description: Casuarina Coast Asmat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asd
+Description: Asas
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ase
+Description: American Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asf
+Description: Australian Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asg
+Description: Cishingini
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ash
+Description: Abishira
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asi
+Description: Buruwai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asj
+Description: Sari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ask
+Description: Ashkun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asl
+Description: Asilulu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asn
+Description: Xingú Asuriní
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aso
+Description: Dano
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asp
+Description: Algerian Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asq
+Description: Austrian Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asr
+Description: Asuri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ass
+Description: Ipulo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ast
+Description: Asturian
+Description: Asturleonese
+Description: Bable
+Description: Leonese
+Added: 2005-10-16
+%%
+Type: language
+Subtag: asu
+Description: Tocantins Asurini
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asv
+Description: Asoa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asw
+Description: Australian Aborigines Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asx
+Description: Muratayak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asy
+Description: Yaosakor Asmat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: asz
+Description: As
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ata
+Description: Pele-Ata
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atb
+Description: Zaiwa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atc
+Description: Atsahuaca
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atd
+Description: Ata Manobo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ate
+Description: Atemble
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atg
+Description: Ivbie North-Okpela-Arhe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ath
+Description: Athapascan languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: ati
+Description: Attié
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atj
+Description: Atikamekw
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atk
+Description: Ati
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atl
+Description: Mt. Iraya Agta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atm
+Description: Ata
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atn
+Description: Ashtiani
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ato
+Description: Atong (Cameroon)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atp
+Description: Pudtol Atta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atq
+Description: Aralle-Tabulahan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atr
+Description: Waimiri-Atroari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ats
+Description: Gros Ventre
+Added: 2009-07-29
+%%
+Type: language
+Subtag: att
+Description: Pamplona Atta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atu
+Description: Reel
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atv
+Description: Northern Altai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atw
+Description: Atsugewi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atx
+Description: Arutani
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aty
+Description: Aneityum
+Added: 2009-07-29
+%%
+Type: language
+Subtag: atz
+Description: Arta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aua
+Description: Asumboa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aub
+Description: Alugu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: auc
+Description: Waorani
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aud
+Description: Anuta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aue
+Description: =/Kx'au//'ein
+Added: 2009-07-29
+Deprecated: 2015-02-12
+Preferred-Value: ktz
+%%
+Type: language
+Subtag: auf
+Description: Arauan languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: aug
+Description: Aguna
+Added: 2009-07-29
+%%
+Type: language
+Subtag: auh
+Description: Aushi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aui
+Description: Anuki
+Added: 2009-07-29
+%%
+Type: language
+Subtag: auj
+Description: Awjilah
+Added: 2009-07-29
+%%
+Type: language
+Subtag: auk
+Description: Heyo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aul
+Description: Aulua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aum
+Description: Asu (Nigeria)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aun
+Description: Molmo One
+Added: 2009-07-29
+%%
+Type: language
+Subtag: auo
+Description: Auyokawa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aup
+Description: Makayam
+Added: 2009-07-29
+%%
+Type: language
+Subtag: auq
+Description: Anus
+Description: Korur
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aur
+Description: Aruek
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aus
+Description: Australian languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: aut
+Description: Austral
+Added: 2009-07-29
+%%
+Type: language
+Subtag: auu
+Description: Auye
+Added: 2009-07-29
+%%
+Type: language
+Subtag: auw
+Description: Awyi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aux
+Description: Aurá
+Added: 2009-07-29
+%%
+Type: language
+Subtag: auy
+Description: Awiyaana
+Added: 2009-07-29
+%%
+Type: language
+Subtag: auz
+Description: Uzbeki Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: avb
+Description: Avau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: avd
+Description: Alviri-Vidari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: avi
+Description: Avikam
+Added: 2009-07-29
+%%
+Type: language
+Subtag: avk
+Description: Kotava
+Added: 2009-07-29
+%%
+Type: language
+Subtag: avl
+Description: Eastern Egyptian Bedawi Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: avm
+Description: Angkamuthi
+Added: 2012-08-12
+%%
+Type: language
+Subtag: avn
+Description: Avatime
+Added: 2009-07-29
+%%
+Type: language
+Subtag: avo
+Description: Agavotaguerra
+Added: 2009-07-29
+%%
+Type: language
+Subtag: avs
+Description: Aushiri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: avt
+Description: Au
+Added: 2009-07-29
+%%
+Type: language
+Subtag: avu
+Description: Avokaya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: avv
+Description: Avá-Canoeiro
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awa
+Description: Awadhi
+Added: 2005-10-16
+%%
+Type: language
+Subtag: awb
+Description: Awa (Papua New Guinea)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awc
+Description: Cicipu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awd
+Description: Arawakan languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: awe
+Description: Awetí
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awg
+Description: Anguthimri
+Added: 2012-08-12
+%%
+Type: language
+Subtag: awh
+Description: Awbono
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awi
+Description: Aekyom
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awk
+Description: Awabakal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awm
+Description: Arawum
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awn
+Description: Awngi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awo
+Description: Awak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awr
+Description: Awera
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aws
+Description: South Awyu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awt
+Description: Araweté
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awu
+Description: Central Awyu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awv
+Description: Jair Awyu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aww
+Description: Awun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awx
+Description: Awara
+Added: 2009-07-29
+%%
+Type: language
+Subtag: awy
+Description: Edera Awyu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: axb
+Description: Abipon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: axe
+Description: Ayerrerenge
+Added: 2012-08-12
+%%
+Type: language
+Subtag: axg
+Description: Mato Grosso Arára
+Added: 2009-07-29
+%%
+Type: language
+Subtag: axk
+Description: Yaka (Central African Republic)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: axl
+Description: Lower Southern Aranda
+Added: 2013-09-10
+%%
+Type: language
+Subtag: axm
+Description: Middle Armenian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: axx
+Description: Xârâgurè
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aya
+Description: Awar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayb
+Description: Ayizo Gbe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayc
+Description: Southern Aymara
+Added: 2009-07-29
+Macrolanguage: ay
+%%
+Type: language
+Subtag: ayd
+Description: Ayabadhu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aye
+Description: Ayere
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayg
+Description: Ginyanga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayh
+Description: Hadrami Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: ayi
+Description: Leyigha
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayk
+Description: Akuku
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayl
+Description: Libyan Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: ayn
+Description: Sanaani Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: ayo
+Description: Ayoreo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayp
+Description: North Mesopotamian Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: ayq
+Description: Ayi (Papua New Guinea)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayr
+Description: Central Aymara
+Added: 2009-07-29
+Macrolanguage: ay
+%%
+Type: language
+Subtag: ays
+Description: Sorsogon Ayta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayt
+Description: Magbukun Ayta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayu
+Description: Ayu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayx
+Description: Ayi (China)
+Added: 2009-07-29
+Deprecated: 2011-08-16
+Preferred-Value: nun
+%%
+Type: language
+Subtag: ayy
+Description: Tayabas Ayta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ayz
+Description: Mai Brat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: aza
+Description: Azha
+Added: 2009-07-29
+%%
+Type: language
+Subtag: azb
+Description: South Azerbaijani
+Added: 2009-07-29
+Macrolanguage: az
+%%
+Type: language
+Subtag: azc
+Description: Uto-Aztecan languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: azd
+Description: Eastern Durango Nahuatl
+Added: 2012-08-12
+%%
+Type: language
+Subtag: azg
+Description: San Pedro Amuzgos Amuzgo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: azj
+Description: North Azerbaijani
+Added: 2009-07-29
+Macrolanguage: az
+%%
+Type: language
+Subtag: azm
+Description: Ipalapa Amuzgo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: azn
+Description: Western Durango Nahuatl
+Added: 2012-08-12
+%%
+Type: language
+Subtag: azo
+Description: Awing
+Added: 2009-07-29
+%%
+Type: language
+Subtag: azt
+Description: Faire Atta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: azz
+Description: Highland Puebla Nahuatl
+Added: 2009-07-29
+%%
+Type: language
+Subtag: baa
+Description: Babatana
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bab
+Description: Bainouk-Gunyuño
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bac
+Description: Badui
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bad
+Description: Banda languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: bae
+Description: Baré
+Added: 2009-07-29
+%%
+Type: language
+Subtag: baf
+Description: Nubaca
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bag
+Description: Tuki
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bah
+Description: Bahamas Creole English
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bai
+Description: Bamileke languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: baj
+Description: Barakai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bal
+Description: Baluchi
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: ban
+Description: Balinese
+Added: 2005-10-16
+%%
+Type: language
+Subtag: bao
+Description: Waimaha
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bap
+Description: Bantawa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bar
+Description: Bavarian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bas
+Description: Basa (Cameroon)
+Added: 2005-10-16
+%%
+Type: language
+Subtag: bat
+Description: Baltic languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: bau
+Description: Bada (Nigeria)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bav
+Description: Vengo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: baw
+Description: Bambili-Bambui
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bax
+Description: Bamun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bay
+Description: Batuley
+Added: 2009-07-29
+%%
+Type: language
+Subtag: baz
+Description: Tunen
+Added: 2009-07-29
+Deprecated: 2012-08-12
+Comments: see nvo, tvu
+%%
+Type: language
+Subtag: bba
+Description: Baatonum
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbb
+Description: Barai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbc
+Description: Batak Toba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbd
+Description: Bau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbe
+Description: Bangba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbf
+Description: Baibai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbg
+Description: Barama
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbh
+Description: Bugan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbi
+Description: Barombi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbj
+Description: Ghomálá'
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbk
+Description: Babanki
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbl
+Description: Bats
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbm
+Description: Babango
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbn
+Description: Uneapa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbo
+Description: Northern Bobo Madaré
+Description: Konabéré
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbp
+Description: West Central Banda
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbq
+Description: Bamali
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbr
+Description: Girawa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbs
+Description: Bakpinka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbt
+Description: Mburku
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbu
+Description: Kulung (Nigeria)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbv
+Description: Karnai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbw
+Description: Baba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbx
+Description: Bubia
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bby
+Description: Befang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bbz
+Description: Babalia Creole Arabic
+Added: 2009-07-29
+Macrolanguage: ar
+%%
+Type: language
+Subtag: bca
+Description: Central Bai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcb
+Description: Bainouk-Samik
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcc
+Description: Southern Balochi
+Added: 2009-07-29
+Macrolanguage: bal
+%%
+Type: language
+Subtag: bcd
+Description: North Babar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bce
+Description: Bamenyam
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcf
+Description: Bamu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcg
+Description: Baga Binari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bch
+Description: Bariai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bci
+Description: Baoulé
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcj
+Description: Bardi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bck
+Description: Bunaba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcl
+Description: Central Bikol
+Added: 2009-07-29
+Macrolanguage: bik
+%%
+Type: language
+Subtag: bcm
+Description: Bannoni
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcn
+Description: Bali (Nigeria)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bco
+Description: Kaluli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcp
+Description: Bali (Democratic Republic of Congo)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcq
+Description: Bench
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcr
+Description: Babine
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcs
+Description: Kohumono
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bct
+Description: Bendi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcu
+Description: Awad Bing
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcv
+Description: Shoo-Minda-Nye
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcw
+Description: Bana
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcy
+Description: Bacama
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bcz
+Description: Bainouk-Gunyaamolo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bda
+Description: Bayot
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdb
+Description: Basap
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdc
+Description: Emberá-Baudó
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdd
+Description: Bunama
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bde
+Description: Bade
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdf
+Description: Biage
+Added: 2010-03-11
+%%
+Type: language
+Subtag: bdg
+Description: Bonggi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdh
+Description: Baka (Sudan)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdi
+Description: Burun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdj
+Description: Bai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdk
+Description: Budukh
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdl
+Description: Indonesian Bajau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdm
+Description: Buduma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdn
+Description: Baldemu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdo
+Description: Morom
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdp
+Description: Bende
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdq
+Description: Bahnar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdr
+Description: West Coast Bajau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bds
+Description: Burunge
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdt
+Description: Bokoto
+Added: 2009-07-29
+Macrolanguage: gba
+%%
+Type: language
+Subtag: bdu
+Description: Oroko
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdv
+Description: Bodo Parja
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdw
+Description: Baham
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdx
+Description: Budong-Budong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdy
+Description: Bandjalang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bdz
+Description: Badeshi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bea
+Description: Beaver
+Added: 2009-07-29
+%%
+Type: language
+Subtag: beb
+Description: Bebele
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bec
+Description: Iceve-Maci
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bed
+Description: Bedoanas
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bee
+Description: Byangsi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bef
+Description: Benabena
+Added: 2009-07-29
+%%
+Type: language
+Subtag: beg
+Description: Belait
+Added: 2009-07-29
+%%
+Type: language
+Subtag: beh
+Description: Biali
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bei
+Description: Bekati'
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bej
+Description: Beja
+Description: Bedawiyet
+Added: 2005-10-16
+%%
+Type: language
+Subtag: bek
+Description: Bebeli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bem
+Description: Bemba (Zambia)
+Added: 2005-10-16
+%%
+Type: language
+Subtag: beo
+Description: Beami
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bep
+Description: Besoa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: beq
+Description: Beembe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ber
+Description: Berber languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: bes
+Description: Besme
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bet
+Description: Guiberoua Béte
+Added: 2009-07-29
+%%
+Type: language
+Subtag: beu
+Description: Blagar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bev
+Description: Daloa Bété
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bew
+Description: Betawi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bex
+Description: Jur Modo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bey
+Description: Beli (Papua New Guinea)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bez
+Description: Bena (Tanzania)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfa
+Description: Bari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfb
+Description: Pauri Bareli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfc
+Description: Panyi Bai
+Description: Northern Bai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfd
+Description: Bafut
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfe
+Description: Betaf
+Description: Tena
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bff
+Description: Bofi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfg
+Description: Busang Kayan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfh
+Description: Blafe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfi
+Description: British Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfj
+Description: Bafanji
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfk
+Description: Ban Khor Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfl
+Description: Banda-Ndélé
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfm
+Description: Mmen
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfn
+Description: Bunak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfo
+Description: Malba Birifor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfp
+Description: Beba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfq
+Description: Badaga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfr
+Description: Bazigar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfs
+Description: Southern Bai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bft
+Description: Balti
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfu
+Description: Gahri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfw
+Description: Bondo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfx
+Description: Bantayanon
+Added: 2010-03-11
+%%
+Type: language
+Subtag: bfy
+Description: Bagheli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bfz
+Description: Mahasu Pahari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bga
+Description: Gwamhi-Wuri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgb
+Description: Bobongko
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgc
+Description: Haryanvi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgd
+Description: Rathwi Bareli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bge
+Description: Bauria
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgf
+Description: Bangandu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgg
+Description: Bugun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgi
+Description: Giangan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgj
+Description: Bangolan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgk
+Description: Bit
+Description: Buxinhua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgl
+Description: Bo (Laos)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgm
+Description: Baga Mboteni
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgn
+Description: Western Balochi
+Added: 2009-07-29
+Macrolanguage: bal
+%%
+Type: language
+Subtag: bgo
+Description: Baga Koga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgp
+Description: Eastern Balochi
+Added: 2009-07-29
+Macrolanguage: bal
+%%
+Type: language
+Subtag: bgq
+Description: Bagri
+Added: 2009-07-29
+Macrolanguage: raj
+%%
+Type: language
+Subtag: bgr
+Description: Bawm Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgs
+Description: Tagabawa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgt
+Description: Bughotu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgu
+Description: Mbongno
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgv
+Description: Warkay-Bipim
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgw
+Description: Bhatri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgx
+Description: Balkan Gagauz Turkish
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgy
+Description: Benggoi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bgz
+Description: Banggai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bha
+Description: Bharia
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhb
+Description: Bhili
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhc
+Description: Biga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhd
+Description: Bhadrawahi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhe
+Description: Bhaya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhf
+Description: Odiai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhg
+Description: Binandere
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhh
+Description: Bukharic
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhi
+Description: Bhilali
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhj
+Description: Bahing
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhk
+Description: Albay Bicolano
+Added: 2009-07-29
+Deprecated: 2010-03-11
+Macrolanguage: bik
+Comments: see fbl, lbl, rbl, ubl
+%%
+Type: language
+Subtag: bhl
+Description: Bimin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhm
+Description: Bathari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhn
+Description: Bohtan Neo-Aramaic
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bho
+Description: Bhojpuri
+Added: 2005-10-16
+%%
+Type: language
+Subtag: bhp
+Description: Bima
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhq
+Description: Tukang Besi South
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhr
+Description: Bara Malagasy
+Added: 2009-07-29
+Macrolanguage: mg
+%%
+Type: language
+Subtag: bhs
+Description: Buwal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bht
+Description: Bhattiyali
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhu
+Description: Bhunjia
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhv
+Description: Bahau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhw
+Description: Biak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhx
+Description: Bhalay
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhy
+Description: Bhele
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bhz
+Description: Bada (Indonesia)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bia
+Description: Badimaya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bib
+Description: Bissa
+Description: Bisa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bic
+Description: Bikaru
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bid
+Description: Bidiyo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bie
+Description: Bepour
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bif
+Description: Biafada
+Added: 2009-07-29
+%%
+Type: language
+Subtag: big
+Description: Biangai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bij
+Description: Vaghat-Ya-Bijim-Legeri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bik
+Description: Bikol
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: bil
+Description: Bile
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bim
+Description: Bimoba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bin
+Description: Bini
+Description: Edo
+Added: 2005-10-16
+%%
+Type: language
+Subtag: bio
+Description: Nai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bip
+Description: Bila
+Added: 2009-07-29
+%%
+Type: language
+Subtag: biq
+Description: Bipi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bir
+Description: Bisorio
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bit
+Description: Berinomo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: biu
+Description: Biete
+Added: 2009-07-29
+%%
+Type: language
+Subtag: biv
+Description: Southern Birifor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: biw
+Description: Kol (Cameroon)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bix
+Description: Bijori
+Added: 2009-07-29
+%%
+Type: language
+Subtag: biy
+Description: Birhor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: biz
+Description: Baloi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bja
+Description: Budza
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjb
+Description: Banggarla
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjc
+Description: Bariji
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjd
+Description: Bandjigali
+Added: 2009-07-29
+Deprecated: 2012-08-12
+Preferred-Value: drl
+%%
+Type: language
+Subtag: bje
+Description: Biao-Jiao Mien
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjf
+Description: Barzani Jewish Neo-Aramaic
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjg
+Description: Bidyogo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjh
+Description: Bahinemo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bji
+Description: Burji
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjj
+Description: Kanauji
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjk
+Description: Barok
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjl
+Description: Bulu (Papua New Guinea)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjm
+Description: Bajelani
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjn
+Description: Banjar
+Added: 2009-07-29
+Macrolanguage: ms
+%%
+Type: language
+Subtag: bjo
+Description: Mid-Southern Banda
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjp
+Description: Fanamaket
+Added: 2013-09-10
+%%
+Type: language
+Subtag: bjq
+Description: Southern Betsimisaraka Malagasy
+Added: 2009-07-29
+Deprecated: 2011-08-16
+Macrolanguage: mg
+Comments: see bzc, tkg
+%%
+Type: language
+Subtag: bjr
+Description: Binumarien
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjs
+Description: Bajan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjt
+Description: Balanta-Ganja
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bju
+Description: Busuu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjv
+Description: Bedjond
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjw
+Description: Bakwé
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjx
+Description: Banao Itneg
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjy
+Description: Bayali
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bjz
+Description: Baruga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bka
+Description: Kyak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkb
+Description: Finallig
+Added: 2009-07-29
+Deprecated: 2010-03-11
+Comments: see ebk, obk
+%%
+Type: language
+Subtag: bkc
+Description: Baka (Cameroon)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkd
+Description: Binukid
+Description: Talaandig
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkf
+Description: Beeke
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkg
+Description: Buraka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkh
+Description: Bakoko
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bki
+Description: Baki
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkj
+Description: Pande
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkk
+Description: Brokskat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkl
+Description: Berik
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkm
+Description: Kom (Cameroon)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkn
+Description: Bukitan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bko
+Description: Kwa'
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkp
+Description: Boko (Democratic Republic of Congo)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkq
+Description: Bakairí
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkr
+Description: Bakumpai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bks
+Description: Northern Sorsoganon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkt
+Description: Boloki
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bku
+Description: Buhid
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkv
+Description: Bekwarra
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkw
+Description: Bekwel
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkx
+Description: Baikeno
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bky
+Description: Bokyi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bkz
+Description: Bungku
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bla
+Description: Siksika
+Added: 2005-10-16
+%%
+Type: language
+Subtag: blb
+Description: Bilua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blc
+Description: Bella Coola
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bld
+Description: Bolango
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ble
+Description: Balanta-Kentohe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blf
+Description: Buol
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blg
+Description: Balau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blh
+Description: Kuwaa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bli
+Description: Bolia
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blj
+Description: Bolongan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blk
+Description: Pa'o Karen
+Description: Pa'O
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bll
+Description: Biloxi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blm
+Description: Beli (Sudan)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bln
+Description: Southern Catanduanes Bikol
+Added: 2009-07-29
+Macrolanguage: bik
+%%
+Type: language
+Subtag: blo
+Description: Anii
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blp
+Description: Blablanga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blq
+Description: Baluan-Pam
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blr
+Description: Blang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bls
+Description: Balaesang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blt
+Description: Tai Dam
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blv
+Description: Bolo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blw
+Description: Balangao
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blx
+Description: Mag-Indi Ayta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bly
+Description: Notre
+Added: 2009-07-29
+%%
+Type: language
+Subtag: blz
+Description: Balantak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bma
+Description: Lame
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmb
+Description: Bembe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmc
+Description: Biem
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmd
+Description: Baga Manduri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bme
+Description: Limassa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmf
+Description: Bom
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmg
+Description: Bamwe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmh
+Description: Kein
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmi
+Description: Bagirmi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmj
+Description: Bote-Majhi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmk
+Description: Ghayavi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bml
+Description: Bomboli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmm
+Description: Northern Betsimisaraka Malagasy
+Added: 2009-07-29
+Macrolanguage: mg
+%%
+Type: language
+Subtag: bmn
+Description: Bina (Papua New Guinea)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmo
+Description: Bambalang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmp
+Description: Bulgebi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmq
+Description: Bomu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmr
+Description: Muinane
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bms
+Description: Bilma Kanuri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmt
+Description: Biao Mon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmu
+Description: Somba-Siawari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmv
+Description: Bum
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmw
+Description: Bomwali
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmx
+Description: Baimak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bmy
+Description: Bemba (Democratic Republic of Congo)
+Added: 2009-07-29
+Deprecated: 2015-02-12
+%%
+Type: language
+Subtag: bmz
+Description: Baramu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bna
+Description: Bonerate
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnb
+Description: Bookan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnc
+Description: Bontok
+Added: 2009-07-29
+Scope: macrolanguage
+%%
+Type: language
+Subtag: bnd
+Description: Banda (Indonesia)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bne
+Description: Bintauna
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnf
+Description: Masiwang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bng
+Description: Benga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bni
+Description: Bangi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnj
+Description: Eastern Tawbuid
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnk
+Description: Bierebo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnl
+Description: Boon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnm
+Description: Batanga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnn
+Description: Bunun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bno
+Description: Bantoanon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnp
+Description: Bola
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnq
+Description: Bantik
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnr
+Description: Butmas-Tur
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bns
+Description: Bundeli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnt
+Description: Bantu languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: bnu
+Description: Bentong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnv
+Description: Bonerif
+Description: Beneraf
+Description: Edwas
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnw
+Description: Bisis
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnx
+Description: Bangubangu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bny
+Description: Bintulu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bnz
+Description: Beezen
+Added: 2009-07-29
+%%
+Type: language
+Subtag: boa
+Description: Bora
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bob
+Description: Aweer
+Added: 2009-07-29
+%%
+Type: language
+Subtag: boe
+Description: Mundabli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bof
+Description: Bolon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bog
+Description: Bamako Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: boh
+Description: Boma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: boi
+Description: Barbareño
+Added: 2009-07-29
+%%
+Type: language
+Subtag: boj
+Description: Anjam
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bok
+Description: Bonjo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bol
+Description: Bole
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bom
+Description: Berom
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bon
+Description: Bine
+Added: 2009-07-29
+%%
+Type: language
+Subtag: boo
+Description: Tiemacèwè Bozo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bop
+Description: Bonkiman
+Added: 2009-07-29
+%%
+Type: language
+Subtag: boq
+Description: Bogaya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bor
+Description: Borôro
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bot
+Description: Bongo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bou
+Description: Bondei
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bov
+Description: Tuwuli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bow
+Description: Rema
+Added: 2009-07-29
+%%
+Type: language
+Subtag: box
+Description: Buamu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: boy
+Description: Bodo (Central African Republic)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: boz
+Description: Tiéyaxo Bozo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpa
+Description: Daakaka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpb
+Description: Barbacoas
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpd
+Description: Banda-Banda
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpg
+Description: Bonggo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bph
+Description: Botlikh
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpi
+Description: Bagupi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpj
+Description: Binji
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpk
+Description: Orowe
+Description: 'Ôrôê
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpl
+Description: Broome Pearling Lugger Pidgin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpm
+Description: Biyom
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpn
+Description: Dzao Min
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpo
+Description: Anasi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpp
+Description: Kaure
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpq
+Description: Banda Malay
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpr
+Description: Koronadal Blaan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bps
+Description: Sarangani Blaan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpt
+Description: Barrow Point
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpu
+Description: Bongu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpv
+Description: Bian Marind
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpw
+Description: Bo (Papua New Guinea)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpx
+Description: Palya Bareli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpy
+Description: Bishnupriya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bpz
+Description: Bilba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqa
+Description: Tchumbuli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqb
+Description: Bagusa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqc
+Description: Boko (Benin)
+Description: Boo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqd
+Description: Bung
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqf
+Description: Baga Kaloum
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqg
+Description: Bago-Kusuntu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqh
+Description: Baima
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqi
+Description: Bakhtiari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqj
+Description: Bandial
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqk
+Description: Banda-Mbrès
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bql
+Description: Bilakura
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqm
+Description: Wumboko
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqn
+Description: Bulgarian Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqo
+Description: Balo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqp
+Description: Busa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqq
+Description: Biritai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqr
+Description: Burusu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqs
+Description: Bosngun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqt
+Description: Bamukumbit
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqu
+Description: Boguru
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqv
+Description: Koro Wachi
+Description: Begbere-Ejar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqw
+Description: Buru (Nigeria)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqx
+Description: Baangi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqy
+Description: Bengkala Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bqz
+Description: Bakaka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bra
+Description: Braj
+Added: 2005-10-16
+%%
+Type: language
+Subtag: brb
+Description: Lave
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brc
+Description: Berbice Creole Dutch
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brd
+Description: Baraamu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brf
+Description: Bera
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brg
+Description: Baure
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brh
+Description: Brahui
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bri
+Description: Mokpwe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brj
+Description: Bieria
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brk
+Description: Birked
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brl
+Description: Birwa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brm
+Description: Barambu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brn
+Description: Boruca
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bro
+Description: Brokkat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brp
+Description: Barapasi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brq
+Description: Breri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brr
+Description: Birao
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brs
+Description: Baras
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brt
+Description: Bitare
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bru
+Description: Eastern Bru
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brv
+Description: Western Bru
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brw
+Description: Bellari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brx
+Description: Bodo (India)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bry
+Description: Burui
+Added: 2009-07-29
+%%
+Type: language
+Subtag: brz
+Description: Bilbil
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsa
+Description: Abinomn
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsb
+Description: Brunei Bisaya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsc
+Description: Bassari
+Description: Oniyan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bse
+Description: Wushi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsf
+Description: Bauchi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsg
+Description: Bashkardi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsh
+Description: Kati
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsi
+Description: Bassossi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsj
+Description: Bangwinji
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsk
+Description: Burushaski
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsl
+Description: Basa-Gumna
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsm
+Description: Busami
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsn
+Description: Barasana-Eduria
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bso
+Description: Buso
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsp
+Description: Baga Sitemu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsq
+Description: Bassa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsr
+Description: Bassa-Kontagora
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bss
+Description: Akoose
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bst
+Description: Basketo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsu
+Description: Bahonsuai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsv
+Description: Baga Sobané
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsw
+Description: Baiso
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsx
+Description: Yangkam
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bsy
+Description: Sabah Bisaya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bta
+Description: Bata
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btb
+Description: Beti (Cameroon)
+Added: 2009-07-29
+Deprecated: 2010-03-11
+Comments: see beb, bum, bxp, eto, ewo, fan, mct
+%%
+Type: language
+Subtag: btc
+Description: Bati (Cameroon)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btd
+Description: Batak Dairi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bte
+Description: Gamo-Ningi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btf
+Description: Birgit
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btg
+Description: Gagnoa Bété
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bth
+Description: Biatah Bidayuh
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bti
+Description: Burate
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btj
+Description: Bacanese Malay
+Added: 2009-07-29
+Macrolanguage: ms
+%%
+Type: language
+Subtag: btk
+Description: Batak languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: btl
+Description: Bhatola
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btm
+Description: Batak Mandailing
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btn
+Description: Ratagnon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bto
+Description: Rinconada Bikol
+Added: 2009-07-29
+Macrolanguage: bik
+%%
+Type: language
+Subtag: btp
+Description: Budibud
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btq
+Description: Batek
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btr
+Description: Baetora
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bts
+Description: Batak Simalungun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btt
+Description: Bete-Bendi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btu
+Description: Batu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btv
+Description: Bateri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btw
+Description: Butuanon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btx
+Description: Batak Karo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bty
+Description: Bobot
+Added: 2009-07-29
+%%
+Type: language
+Subtag: btz
+Description: Batak Alas-Kluet
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bua
+Description: Buriat
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: bub
+Description: Bua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: buc
+Description: Bushi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bud
+Description: Ntcham
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bue
+Description: Beothuk
+Added: 2009-07-29
+%%
+Type: language
+Subtag: buf
+Description: Bushoong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bug
+Description: Buginese
+Added: 2005-10-16
+%%
+Type: language
+Subtag: buh
+Description: Younuo Bunu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bui
+Description: Bongili
+Added: 2009-07-29
+%%
+Type: language
+Subtag: buj
+Description: Basa-Gurmana
+Added: 2009-07-29
+%%
+Type: language
+Subtag: buk
+Description: Bugawac
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bum
+Description: Bulu (Cameroon)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bun
+Description: Sherbro
+Added: 2009-07-29
+%%
+Type: language
+Subtag: buo
+Description: Terei
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bup
+Description: Busoa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: buq
+Description: Brem
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bus
+Description: Bokobaru
+Added: 2009-07-29
+%%
+Type: language
+Subtag: but
+Description: Bungain
+Added: 2009-07-29
+%%
+Type: language
+Subtag: buu
+Description: Budu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: buv
+Description: Bun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: buw
+Description: Bubi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bux
+Description: Boghom
+Added: 2009-07-29
+%%
+Type: language
+Subtag: buy
+Description: Bullom So
+Added: 2009-07-29
+%%
+Type: language
+Subtag: buz
+Description: Bukwen
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bva
+Description: Barein
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvb
+Description: Bube
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvc
+Description: Baelelea
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvd
+Description: Baeggu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bve
+Description: Berau Malay
+Added: 2009-07-29
+Macrolanguage: ms
+%%
+Type: language
+Subtag: bvf
+Description: Boor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvg
+Description: Bonkeng
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvh
+Description: Bure
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvi
+Description: Belanda Viri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvj
+Description: Baan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvk
+Description: Bukat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvl
+Description: Bolivian Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvm
+Description: Bamunka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvn
+Description: Buna
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvo
+Description: Bolgo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvp
+Description: Bumang
+Added: 2013-09-10
+%%
+Type: language
+Subtag: bvq
+Description: Birri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvr
+Description: Burarra
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvt
+Description: Bati (Indonesia)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvu
+Description: Bukit Malay
+Added: 2009-07-29
+Macrolanguage: ms
+%%
+Type: language
+Subtag: bvv
+Description: Baniva
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvw
+Description: Boga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvx
+Description: Dibole
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bvy
+Description: Baybayanon
+Added: 2010-03-11
+%%
+Type: language
+Subtag: bvz
+Description: Bauzi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwa
+Description: Bwatoo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwb
+Description: Namosi-Naitasiri-Serua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwc
+Description: Bwile
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwd
+Description: Bwaidoka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwe
+Description: Bwe Karen
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwf
+Description: Boselewa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwg
+Description: Barwe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwh
+Description: Bishuo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwi
+Description: Baniwa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwj
+Description: Láá Láá Bwamu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwk
+Description: Bauwaki
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwl
+Description: Bwela
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwm
+Description: Biwat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwn
+Description: Wunai Bunu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwo
+Description: Boro (Ethiopia)
+Description: Borna (Ethiopia)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwp
+Description: Mandobo Bawah
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwq
+Description: Southern Bobo Madaré
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwr
+Description: Bura-Pabir
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bws
+Description: Bomboma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwt
+Description: Bafaw-Balong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwu
+Description: Buli (Ghana)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bww
+Description: Bwa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwx
+Description: Bu-Nao Bunu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwy
+Description: Cwi Bwamu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bwz
+Description: Bwisi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxa
+Description: Tairaha
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxb
+Description: Belanda Bor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxc
+Description: Molengue
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxd
+Description: Pela
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxe
+Description: Birale
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxf
+Description: Bilur
+Description: Minigir
+Added: 2009-07-29
+Comments: see also vmg
+%%
+Type: language
+Subtag: bxg
+Description: Bangala
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxh
+Description: Buhutu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxi
+Description: Pirlatapa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxj
+Description: Bayungu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxk
+Description: Bukusu
+Description: Lubukusu
+Added: 2009-07-29
+Macrolanguage: luy
+%%
+Type: language
+Subtag: bxl
+Description: Jalkunan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxm
+Description: Mongolia Buriat
+Added: 2009-07-29
+Macrolanguage: bua
+%%
+Type: language
+Subtag: bxn
+Description: Burduna
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxo
+Description: Barikanchi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxp
+Description: Bebil
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxq
+Description: Beele
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxr
+Description: Russia Buriat
+Added: 2009-07-29
+Macrolanguage: bua
+%%
+Type: language
+Subtag: bxs
+Description: Busam
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxu
+Description: China Buriat
+Added: 2009-07-29
+Macrolanguage: bua
+%%
+Type: language
+Subtag: bxv
+Description: Berakou
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxw
+Description: Bankagooma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bxx
+Description: Borna (Democratic Republic of Congo)
+Added: 2009-07-29
+Deprecated: 2015-02-12
+%%
+Type: language
+Subtag: bxz
+Description: Binahari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bya
+Description: Batak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byb
+Description: Bikya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byc
+Description: Ubaghara
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byd
+Description: Benyadu'
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bye
+Description: Pouye
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byf
+Description: Bete
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byg
+Description: Baygo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byh
+Description: Bhujel
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byi
+Description: Buyu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byj
+Description: Bina (Nigeria)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byk
+Description: Biao
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byl
+Description: Bayono
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bym
+Description: Bidyara
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byn
+Description: Bilin
+Description: Blin
+Added: 2005-10-16
+%%
+Type: language
+Subtag: byo
+Description: Biyo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byp
+Description: Bumaji
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byq
+Description: Basay
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byr
+Description: Baruya
+Description: Yipma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bys
+Description: Burak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byt
+Description: Berti
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byv
+Description: Medumba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byw
+Description: Belhariya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byx
+Description: Qaqet
+Added: 2009-07-29
+%%
+Type: language
+Subtag: byy
+Description: Buya
+Added: 2009-07-29
+Deprecated: 2015-02-12
+%%
+Type: language
+Subtag: byz
+Description: Banaro
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bza
+Description: Bandi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzb
+Description: Andio
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzc
+Description: Southern Betsimisaraka Malagasy
+Added: 2011-08-16
+Macrolanguage: mg
+%%
+Type: language
+Subtag: bzd
+Description: Bribri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bze
+Description: Jenaama Bozo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzf
+Description: Boikin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzg
+Description: Babuza
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzh
+Description: Mapos Buang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzi
+Description: Bisu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzj
+Description: Belize Kriol English
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzk
+Description: Nicaragua Creole English
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzl
+Description: Boano (Sulawesi)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzm
+Description: Bolondo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzn
+Description: Boano (Maluku)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzo
+Description: Bozaba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzp
+Description: Kemberano
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzq
+Description: Buli (Indonesia)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzr
+Description: Biri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzs
+Description: Brazilian Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzt
+Description: Brithenig
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzu
+Description: Burmeso
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzv
+Description: Naami
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzw
+Description: Basa (Nigeria)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzx
+Description: Kɛlɛngaxo Bozo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzy
+Description: Obanliku
+Added: 2009-07-29
+%%
+Type: language
+Subtag: bzz
+Description: Evant
+Added: 2009-07-29
+%%
+Type: language
+Subtag: caa
+Description: Chortí
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cab
+Description: Garifuna
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cac
+Description: Chuj
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cad
+Description: Caddo
+Added: 2005-10-16
+%%
+Type: language
+Subtag: cae
+Description: Lehar
+Description: Laalaa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: caf
+Description: Southern Carrier
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cag
+Description: Nivaclé
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cah
+Description: Cahuarano
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cai
+Description: Central American Indian languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: caj
+Description: Chané
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cak
+Description: Kaqchikel
+Description: Cakchiquel
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cal
+Description: Carolinian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cam
+Description: Cemuhî
+Added: 2009-07-29
+%%
+Type: language
+Subtag: can
+Description: Chambri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cao
+Description: Chácobo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cap
+Description: Chipaya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: caq
+Description: Car Nicobarese
+Added: 2009-07-29
+%%
+Type: language
+Subtag: car
+Description: Galibi Carib
+Added: 2005-10-16
+%%
+Type: language
+Subtag: cas
+Description: Tsimané
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cau
+Description: Caucasian languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: cav
+Description: Cavineña
+Added: 2009-07-29
+%%
+Type: language
+Subtag: caw
+Description: Callawalla
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cax
+Description: Chiquitano
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cay
+Description: Cayuga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: caz
+Description: Canichana
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cba
+Description: Chibchan languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: cbb
+Description: Cabiyarí
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbc
+Description: Carapana
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbd
+Description: Carijona
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbe
+Description: Chipiajes
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbg
+Description: Chimila
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbh
+Description: Cagua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbi
+Description: Chachi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbj
+Description: Ede Cabe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbk
+Description: Chavacano
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbl
+Description: Bualkhaw Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbn
+Description: Nyahkur
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbo
+Description: Izora
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbq
+Description: Tsucuba
+Description: Cuba
+Added: 2015-02-12
+%%
+Type: language
+Subtag: cbr
+Description: Cashibo-Cacataibo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbs
+Description: Cashinahua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbt
+Description: Chayahuita
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbu
+Description: Candoshi-Shapra
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbv
+Description: Cacua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cbw
+Description: Kinabalian
+Added: 2010-03-11
+%%
+Type: language
+Subtag: cby
+Description: Carabayo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cca
+Description: Cauca
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ccc
+Description: Chamicuro
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ccd
+Description: Cafundo Creole
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cce
+Description: Chopi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ccg
+Description: Samba Daka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cch
+Description: Atsam
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ccj
+Description: Kasanga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ccl
+Description: Cutchi-Swahili
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ccm
+Description: Malaccan Creole Malay
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ccn
+Description: North Caucasian languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: cco
+Description: Comaltepec Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ccp
+Description: Chakma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ccq
+Description: Chaungtha
+Added: 2009-07-29
+Deprecated: 2012-08-12
+Preferred-Value: rki
+%%
+Type: language
+Subtag: ccr
+Description: Cacaopera
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ccs
+Description: South Caucasian languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: cda
+Description: Choni
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cdc
+Description: Chadic languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: cdd
+Description: Caddoan languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: cde
+Description: Chenchu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cdf
+Description: Chiru
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cdg
+Description: Chamari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cdh
+Description: Chambeali
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cdi
+Description: Chodri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cdj
+Description: Churahi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cdm
+Description: Chepang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cdn
+Description: Chaudangsi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cdo
+Description: Min Dong Chinese
+Added: 2009-07-29
+Macrolanguage: zh
+%%
+Type: language
+Subtag: cdr
+Description: Cinda-Regi-Tiyal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cds
+Description: Chadian Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cdy
+Description: Chadong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cdz
+Description: Koda
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cea
+Description: Lower Chehalis
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ceb
+Description: Cebuano
+Added: 2005-10-16
+%%
+Type: language
+Subtag: ceg
+Description: Chamacoco
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cek
+Description: Eastern Khumi Chin
+Added: 2012-08-12
+%%
+Type: language
+Subtag: cel
+Description: Celtic languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: cen
+Description: Cen
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cet
+Description: Centúúm
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cfa
+Description: Dijim-Bwilim
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cfd
+Description: Cara
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cfg
+Description: Como Karim
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cfm
+Description: Falam Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cga
+Description: Changriwa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cgc
+Description: Kagayanen
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cgg
+Description: Chiga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cgk
+Description: Chocangacakha
+Added: 2009-07-29
+%%
+Type: language
+Subtag: chb
+Description: Chibcha
+Added: 2005-10-16
+%%
+Type: language
+Subtag: chc
+Description: Catawba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: chd
+Description: Highland Oaxaca Chontal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: chf
+Description: Tabasco Chontal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: chg
+Description: Chagatai
+Added: 2005-10-16
+%%
+Type: language
+Subtag: chh
+Description: Chinook
+Added: 2009-07-29
+%%
+Type: language
+Subtag: chj
+Description: Ojitlán Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: chk
+Description: Chuukese
+Added: 2005-10-16
+%%
+Type: language
+Subtag: chl
+Description: Cahuilla
+Added: 2009-07-29
+%%
+Type: language
+Subtag: chm
+Description: Mari (Russia)
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: chn
+Description: Chinook jargon
+Added: 2005-10-16
+%%
+Type: language
+Subtag: cho
+Description: Choctaw
+Added: 2005-10-16
+%%
+Type: language
+Subtag: chp
+Description: Chipewyan
+Description: Dene Suline
+Added: 2005-10-16
+%%
+Type: language
+Subtag: chq
+Description: Quiotepec Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: chr
+Description: Cherokee
+Added: 2005-10-16
+%%
+Type: language
+Subtag: cht
+Description: Cholón
+Added: 2009-07-29
+%%
+Type: language
+Subtag: chw
+Description: Chuwabu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: chx
+Description: Chantyal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: chy
+Description: Cheyenne
+Added: 2005-10-16
+%%
+Type: language
+Subtag: chz
+Description: Ozumacín Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cia
+Description: Cia-Cia
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cib
+Description: Ci Gbe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cic
+Description: Chickasaw
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cid
+Description: Chimariko
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cie
+Description: Cineni
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cih
+Description: Chinali
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cik
+Description: Chitkuli Kinnauri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cim
+Description: Cimbrian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cin
+Description: Cinta Larga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cip
+Description: Chiapanec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cir
+Description: Tiri
+Description: Haméa
+Description: Méa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ciw
+Description: Chippewa
+Added: 2009-07-29
+Macrolanguage: oj
+%%
+Type: language
+Subtag: ciy
+Description: Chaima
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cja
+Description: Western Cham
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cje
+Description: Chru
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cjh
+Description: Upper Chehalis
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cji
+Description: Chamalal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cjk
+Description: Chokwe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cjm
+Description: Eastern Cham
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cjn
+Description: Chenapian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cjo
+Description: Ashéninka Pajonal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cjp
+Description: Cabécar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cjr
+Description: Chorotega
+Added: 2009-07-29
+Deprecated: 2010-03-11
+Preferred-Value: mom
+%%
+Type: language
+Subtag: cjs
+Description: Shor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cjv
+Description: Chuave
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cjy
+Description: Jinyu Chinese
+Added: 2009-07-29
+Macrolanguage: zh
+%%
+Type: language
+Subtag: cka
+Description: Khumi Awa Chin
+Added: 2009-07-29
+Deprecated: 2012-08-12
+Preferred-Value: cmr
+%%
+Type: language
+Subtag: ckb
+Description: Central Kurdish
+Added: 2009-07-29
+Macrolanguage: ku
+%%
+Type: language
+Subtag: ckh
+Description: Chak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ckl
+Description: Cibak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ckn
+Description: Kaang Chin
+Added: 2013-09-10
+%%
+Type: language
+Subtag: cko
+Description: Anufo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ckq
+Description: Kajakse
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ckr
+Description: Kairak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cks
+Description: Tayo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ckt
+Description: Chukot
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cku
+Description: Koasati
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ckv
+Description: Kavalan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ckx
+Description: Caka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cky
+Description: Cakfem-Mushere
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ckz
+Description: Cakchiquel-Quiché Mixed Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cla
+Description: Ron
+Added: 2009-07-29
+%%
+Type: language
+Subtag: clc
+Description: Chilcotin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cld
+Description: Chaldean Neo-Aramaic
+Added: 2009-07-29
+Macrolanguage: syr
+%%
+Type: language
+Subtag: cle
+Description: Lealao Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: clh
+Description: Chilisso
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cli
+Description: Chakali
+Added: 2009-07-29
+%%
+Type: language
+Subtag: clj
+Description: Laitu Chin
+Added: 2012-08-12
+%%
+Type: language
+Subtag: clk
+Description: Idu-Mishmi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cll
+Description: Chala
+Added: 2009-07-29
+%%
+Type: language
+Subtag: clm
+Description: Clallam
+Added: 2009-07-29
+%%
+Type: language
+Subtag: clo
+Description: Lowland Oaxaca Chontal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: clt
+Description: Lautu Chin
+Added: 2012-08-12
+%%
+Type: language
+Subtag: clu
+Description: Caluyanun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: clw
+Description: Chulym
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cly
+Description: Eastern Highland Chatino
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cma
+Description: Maa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cmc
+Description: Chamic languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: cme
+Description: Cerma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cmg
+Description: Classical Mongolian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cmi
+Description: Emberá-Chamí
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cmk
+Description: Chimakum
+Added: 2009-07-29
+Deprecated: 2010-03-11
+Preferred-Value: xch
+%%
+Type: language
+Subtag: cml
+Description: Campalagian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cmm
+Description: Michigamea
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cmn
+Description: Mandarin Chinese
+Added: 2009-07-29
+Macrolanguage: zh
+%%
+Type: language
+Subtag: cmo
+Description: Central Mnong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cmr
+Description: Mro-Khimi Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cms
+Description: Messapic
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cmt
+Description: Camtho
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cna
+Description: Changthang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cnb
+Description: Chinbon Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cnc
+Description: Côông
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cng
+Description: Northern Qiang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cnh
+Description: Haka Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cni
+Description: Asháninka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cnk
+Description: Khumi Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cnl
+Description: Lalana Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cno
+Description: Con
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cns
+Description: Central Asmat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cnt
+Description: Tepetotutla Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cnu
+Description: Chenoua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cnw
+Description: Ngawn Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cnx
+Description: Middle Cornish
+Added: 2009-07-29
+%%
+Type: language
+Subtag: coa
+Description: Cocos Islands Malay
+Added: 2009-07-29
+Macrolanguage: ms
+%%
+Type: language
+Subtag: cob
+Description: Chicomuceltec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: coc
+Description: Cocopa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cod
+Description: Cocama-Cocamilla
+Added: 2009-07-29
+%%
+Type: language
+Subtag: coe
+Description: Koreguaje
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cof
+Description: Colorado
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cog
+Description: Chong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: coh
+Description: Chonyi-Dzihana-Kauma
+Description: Chichonyi-Chidzihana-Chikauma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: coj
+Description: Cochimi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cok
+Description: Santa Teresa Cora
+Added: 2009-07-29
+%%
+Type: language
+Subtag: col
+Description: Columbia-Wenatchi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: com
+Description: Comanche
+Added: 2009-07-29
+%%
+Type: language
+Subtag: con
+Description: Cofán
+Added: 2009-07-29
+%%
+Type: language
+Subtag: coo
+Description: Comox
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cop
+Description: Coptic
+Added: 2005-10-16
+%%
+Type: language
+Subtag: coq
+Description: Coquille
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cot
+Description: Caquinte
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cou
+Description: Wamey
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cov
+Description: Cao Miao
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cow
+Description: Cowlitz
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cox
+Description: Nanti
+Added: 2009-07-29
+%%
+Type: language
+Subtag: coy
+Description: Coyaima
+Added: 2009-07-29
+%%
+Type: language
+Subtag: coz
+Description: Chochotec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cpa
+Description: Palantla Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cpb
+Description: Ucayali-Yurúa Ashéninka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cpc
+Description: Ajyíninka Apurucayali
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cpe
+Description: English-based creoles and pidgins
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: cpf
+Description: French-based creoles and pidgins
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: cpg
+Description: Cappadocian Greek
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cpi
+Description: Chinese Pidgin English
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cpn
+Description: Cherepon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cpo
+Description: Kpeego
+Added: 2013-09-10
+%%
+Type: language
+Subtag: cpp
+Description: Portuguese-based creoles and pidgins
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: cps
+Description: Capiznon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cpu
+Description: Pichis Ashéninka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cpx
+Description: Pu-Xian Chinese
+Added: 2009-07-29
+Macrolanguage: zh
+%%
+Type: language
+Subtag: cpy
+Description: South Ucayali Ashéninka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cqd
+Description: Chuanqiandian Cluster Miao
+Added: 2009-07-29
+Macrolanguage: hmn
+%%
+Type: language
+Subtag: cqu
+Description: Chilean Quechua
+Added: 2009-07-29
+Macrolanguage: qu
+%%
+Type: language
+Subtag: cra
+Description: Chara
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crb
+Description: Island Carib
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crc
+Description: Lonwolwol
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crd
+Description: Coeur d'Alene
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crf
+Description: Caramanta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crg
+Description: Michif
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crh
+Description: Crimean Tatar
+Description: Crimean Turkish
+Added: 2005-10-16
+%%
+Type: language
+Subtag: cri
+Description: Sãotomense
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crj
+Description: Southern East Cree
+Added: 2009-07-29
+Macrolanguage: cr
+%%
+Type: language
+Subtag: crk
+Description: Plains Cree
+Added: 2009-07-29
+Macrolanguage: cr
+%%
+Type: language
+Subtag: crl
+Description: Northern East Cree
+Added: 2009-07-29
+Macrolanguage: cr
+%%
+Type: language
+Subtag: crm
+Description: Moose Cree
+Added: 2009-07-29
+Macrolanguage: cr
+%%
+Type: language
+Subtag: crn
+Description: El Nayar Cora
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cro
+Description: Crow
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crp
+Description: Creoles and pidgins
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: crq
+Description: Iyo'wujwa Chorote
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crr
+Description: Carolina Algonquian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crs
+Description: Seselwa Creole French
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crt
+Description: Iyojwa'ja Chorote
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crv
+Description: Chaura
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crw
+Description: Chrau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crx
+Description: Carrier
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cry
+Description: Cori
+Added: 2009-07-29
+%%
+Type: language
+Subtag: crz
+Description: Cruzeño
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csa
+Description: Chiltepec Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csb
+Description: Kashubian
+Added: 2005-10-16
+%%
+Type: language
+Subtag: csc
+Description: Catalan Sign Language
+Description: Lengua de señas catalana
+Description: Llengua de Signes Catalana
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csd
+Description: Chiangmai Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cse
+Description: Czech Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csf
+Description: Cuba Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csg
+Description: Chilean Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csh
+Description: Asho Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csi
+Description: Coast Miwok
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csj
+Description: Songlai Chin
+Added: 2013-09-10
+%%
+Type: language
+Subtag: csk
+Description: Jola-Kasa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csl
+Description: Chinese Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csm
+Description: Central Sierra Miwok
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csn
+Description: Colombian Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cso
+Description: Sochiapam Chinantec
+Description: Sochiapan Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csq
+Description: Croatia Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csr
+Description: Costa Rican Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: css
+Description: Southern Ohlone
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cst
+Description: Northern Ohlone
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csu
+Description: Central Sudanic languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: csv
+Description: Sumtu Chin
+Added: 2012-08-12
+%%
+Type: language
+Subtag: csw
+Description: Swampy Cree
+Added: 2009-07-29
+Macrolanguage: cr
+%%
+Type: language
+Subtag: csy
+Description: Siyin Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: csz
+Description: Coos
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cta
+Description: Tataltepec Chatino
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ctc
+Description: Chetco
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ctd
+Description: Tedim Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cte
+Description: Tepinapa Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ctg
+Description: Chittagonian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cth
+Description: Thaiphum Chin
+Added: 2012-08-12
+%%
+Type: language
+Subtag: ctl
+Description: Tlacoatzintepec Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ctm
+Description: Chitimacha
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ctn
+Description: Chhintange
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cto
+Description: Emberá-Catío
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ctp
+Description: Western Highland Chatino
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cts
+Description: Northern Catanduanes Bikol
+Added: 2009-07-29
+Macrolanguage: bik
+%%
+Type: language
+Subtag: ctt
+Description: Wayanad Chetti
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ctu
+Description: Chol
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ctz
+Description: Zacatepec Chatino
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cua
+Description: Cua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cub
+Description: Cubeo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cuc
+Description: Usila Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cug
+Description: Cung
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cuh
+Description: Chuka
+Description: Gichuka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cui
+Description: Cuiba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cuj
+Description: Mashco Piro
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cuk
+Description: San Blas Kuna
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cul
+Description: Culina
+Description: Kulina
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cum
+Description: Cumeral
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cuo
+Description: Cumanagoto
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cup
+Description: Cupeño
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cuq
+Description: Cun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cur
+Description: Chhulung
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cus
+Description: Cushitic languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: cut
+Description: Teutila Cuicatec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cuu
+Description: Tai Ya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cuv
+Description: Cuvok
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cuw
+Description: Chukwa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cux
+Description: Tepeuxila Cuicatec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cvg
+Description: Chug
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cvn
+Description: Valle Nacional Chinantec
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cwa
+Description: Kabwa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cwb
+Description: Maindo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cwd
+Description: Woods Cree
+Added: 2009-07-29
+Macrolanguage: cr
+%%
+Type: language
+Subtag: cwe
+Description: Kwere
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cwg
+Description: Chewong
+Description: Cheq Wong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cwt
+Description: Kuwaataay
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cya
+Description: Nopala Chatino
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cyb
+Description: Cayubaba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: cyo
+Description: Cuyonon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: czh
+Description: Huizhou Chinese
+Added: 2009-07-29
+Macrolanguage: zh
+%%
+Type: language
+Subtag: czk
+Description: Knaanic
+Added: 2009-07-29
+%%
+Type: language
+Subtag: czn
+Description: Zenzontepec Chatino
+Added: 2009-07-29
+%%
+Type: language
+Subtag: czo
+Description: Min Zhong Chinese
+Added: 2009-07-29
+Macrolanguage: zh
+%%
+Type: language
+Subtag: czt
+Description: Zotung Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: daa
+Description: Dangaléat
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dac
+Description: Dambi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dad
+Description: Marik
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dae
+Description: Duupa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: daf
+Description: Dan
+Added: 2009-07-29
+Deprecated: 2013-09-10
+Comments: see dnj, lda
+%%
+Type: language
+Subtag: dag
+Description: Dagbani
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dah
+Description: Gwahatike
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dai
+Description: Day
+Added: 2009-07-29
+%%
+Type: language
+Subtag: daj
+Description: Dar Fur Daju
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dak
+Description: Dakota
+Added: 2005-10-16
+%%
+Type: language
+Subtag: dal
+Description: Dahalo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dam
+Description: Damakawa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dao
+Description: Daai Chin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dap
+Description: Nisi (India)
+Added: 2009-07-29
+Deprecated: 2012-08-12
+Comments: see njz, tgj
+%%
+Type: language
+Subtag: daq
+Description: Dandami Maria
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dar
+Description: Dargwa
+Added: 2005-10-16
+%%
+Type: language
+Subtag: das
+Description: Daho-Doo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dau
+Description: Dar Sila Daju
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dav
+Description: Taita
+Description: Dawida
+Added: 2009-07-29
+%%
+Type: language
+Subtag: daw
+Description: Davawenyo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dax
+Description: Dayi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: day
+Description: Land Dayak languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: daz
+Description: Dao
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dba
+Description: Bangime
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbb
+Description: Deno
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbd
+Description: Dadiya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbe
+Description: Dabe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbf
+Description: Edopi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbg
+Description: Dogul Dom Dogon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbi
+Description: Doka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbj
+Description: Ida'an
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbl
+Description: Dyirbal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbm
+Description: Duguri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbn
+Description: Duriankere
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbo
+Description: Dulbu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbp
+Description: Duwai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbq
+Description: Daba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbr
+Description: Dabarre
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbt
+Description: Ben Tey Dogon
+Added: 2012-08-12
+%%
+Type: language
+Subtag: dbu
+Description: Bondum Dom Dogon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbv
+Description: Dungu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dbw
+Description: Bankan Tey Dogon
+Added: 2012-08-12
+%%
+Type: language
+Subtag: dby
+Description: Dibiyaso
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dcc
+Description: Deccan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dcr
+Description: Negerhollands
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dda
+Description: Dadi Dadi
+Added: 2012-08-12
+%%
+Type: language
+Subtag: ddd
+Description: Dongotono
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dde
+Description: Doondo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ddg
+Description: Fataluku
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ddi
+Description: West Goodenough
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ddj
+Description: Jaru
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ddn
+Description: Dendi (Benin)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ddo
+Description: Dido
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ddr
+Description: Dhudhuroa
+Added: 2012-08-12
+%%
+Type: language
+Subtag: dds
+Description: Donno So Dogon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ddw
+Description: Dawera-Daweloor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dec
+Description: Dagik
+Added: 2009-07-29
+%%
+Type: language
+Subtag: ded
+Description: Dedua
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dee
+Description: Dewoin
+Added: 2009-07-29
+%%
+Type: language
+Subtag: def
+Description: Dezfuli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: deg
+Description: Degema
+Added: 2009-07-29
+%%
+Type: language
+Subtag: deh
+Description: Dehwari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dei
+Description: Demisa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dek
+Description: Dek
+Added: 2009-07-29
+%%
+Type: language
+Subtag: del
+Description: Delaware
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: dem
+Description: Dem
+Added: 2009-07-29
+%%
+Type: language
+Subtag: den
+Description: Slave (Athapascan)
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: dep
+Description: Pidgin Delaware
+Added: 2009-07-29
+%%
+Type: language
+Subtag: deq
+Description: Dendi (Central African Republic)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: der
+Description: Deori
+Added: 2009-07-29
+%%
+Type: language
+Subtag: des
+Description: Desano
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dev
+Description: Domung
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dez
+Description: Dengese
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dga
+Description: Southern Dagaare
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgb
+Description: Bunoge Dogon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgc
+Description: Casiguran Dumagat Agta
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgd
+Description: Dagaari Dioula
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dge
+Description: Degenan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgg
+Description: Doga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgh
+Description: Dghwede
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgi
+Description: Northern Dagara
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgk
+Description: Dagba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgl
+Description: Andaandi
+Description: Dongolawi
+Added: 2012-08-12
+%%
+Type: language
+Subtag: dgn
+Description: Dagoman
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgo
+Description: Dogri (individual language)
+Added: 2009-07-29
+Macrolanguage: doi
+%%
+Type: language
+Subtag: dgr
+Description: Dogrib
+Added: 2005-10-16
+%%
+Type: language
+Subtag: dgs
+Description: Dogoso
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgt
+Description: Ndra'ngith
+Added: 2012-08-12
+%%
+Type: language
+Subtag: dgu
+Description: Degaru
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgw
+Description: Daungwurrung
+Added: 2012-08-12
+%%
+Type: language
+Subtag: dgx
+Description: Doghoro
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dgz
+Description: Daga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dha
+Description: Dhanwar (India)
+Added: 2009-07-29
+Deprecated: 2011-08-16
+%%
+Type: language
+Subtag: dhd
+Description: Dhundari
+Added: 2009-07-29
+Macrolanguage: mwr
+%%
+Type: language
+Subtag: dhg
+Description: Dhangu
+Description: Djangu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dhi
+Description: Dhimal
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dhl
+Description: Dhalandji
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dhm
+Description: Zemba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dhn
+Description: Dhanki
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dho
+Description: Dhodia
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dhr
+Description: Dhargari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dhs
+Description: Dhaiso
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dhu
+Description: Dhurga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dhv
+Description: Dehu
+Description: Drehu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dhw
+Description: Dhanwar (Nepal)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dhx
+Description: Dhungaloo
+Added: 2013-09-10
+%%
+Type: language
+Subtag: dia
+Description: Dia
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dib
+Description: South Central Dinka
+Added: 2009-07-29
+Macrolanguage: din
+%%
+Type: language
+Subtag: dic
+Description: Lakota Dida
+Added: 2009-07-29
+%%
+Type: language
+Subtag: did
+Description: Didinga
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dif
+Description: Dieri
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dig
+Description: Digo
+Description: Chidigo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dih
+Description: Kumiai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dii
+Description: Dimbong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dij
+Description: Dai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dik
+Description: Southwestern Dinka
+Added: 2009-07-29
+Macrolanguage: din
+%%
+Type: language
+Subtag: dil
+Description: Dilling
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dim
+Description: Dime
+Added: 2009-07-29
+%%
+Type: language
+Subtag: din
+Description: Dinka
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: dio
+Description: Dibo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dip
+Description: Northeastern Dinka
+Added: 2009-07-29
+Macrolanguage: din
+%%
+Type: language
+Subtag: diq
+Description: Dimli (individual language)
+Added: 2009-07-29
+Macrolanguage: zza
+%%
+Type: language
+Subtag: dir
+Description: Dirim
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dis
+Description: Dimasa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dit
+Description: Dirari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: diu
+Description: Diriku
+Added: 2009-07-29
+%%
+Type: language
+Subtag: diw
+Description: Northwestern Dinka
+Added: 2009-07-29
+Macrolanguage: din
+%%
+Type: language
+Subtag: dix
+Description: Dixon Reef
+Added: 2009-07-29
+%%
+Type: language
+Subtag: diy
+Description: Diuwe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: diz
+Description: Ding
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dja
+Description: Djadjawurrung
+Added: 2012-08-12
+%%
+Type: language
+Subtag: djb
+Description: Djinba
+Added: 2009-07-29
+%%
+Type: language
+Subtag: djc
+Description: Dar Daju Daju
+Added: 2009-07-29
+%%
+Type: language
+Subtag: djd
+Description: Djamindjung
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dje
+Description: Zarma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: djf
+Description: Djangun
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dji
+Description: Djinang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: djj
+Description: Djeebbana
+Added: 2009-07-29
+%%
+Type: language
+Subtag: djk
+Description: Eastern Maroon Creole
+Description: Businenge Tongo
+Description: Nenge
+Added: 2009-07-29
+%%
+Type: language
+Subtag: djl
+Description: Djiwarli
+Added: 2009-07-29
+Deprecated: 2013-09-10
+Comments: see dze, iin
+%%
+Type: language
+Subtag: djm
+Description: Jamsay Dogon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: djn
+Description: Djauan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: djo
+Description: Jangkang
+Added: 2009-07-29
+%%
+Type: language
+Subtag: djr
+Description: Djambarrpuyngu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dju
+Description: Kapriman
+Added: 2009-07-29
+%%
+Type: language
+Subtag: djw
+Description: Djawi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dka
+Description: Dakpakha
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dkk
+Description: Dakka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dkl
+Description: Kolum So Dogon
+Added: 2009-07-29
+Deprecated: 2011-08-16
+Comments: see aqd, dmb
+%%
+Type: language
+Subtag: dkr
+Description: Kuijau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dks
+Description: Southeastern Dinka
+Added: 2009-07-29
+Macrolanguage: din
+%%
+Type: language
+Subtag: dkx
+Description: Mazagway
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dlg
+Description: Dolgan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dlk
+Description: Dahalik
+Added: 2013-09-10
+%%
+Type: language
+Subtag: dlm
+Description: Dalmatian
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dln
+Description: Darlong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dma
+Description: Duma
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dmb
+Description: Mombo Dogon
+Added: 2011-08-16
+%%
+Type: language
+Subtag: dmc
+Description: Gavak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dmd
+Description: Madhi Madhi
+Added: 2012-08-12
+%%
+Type: language
+Subtag: dme
+Description: Dugwor
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dmg
+Description: Upper Kinabatangan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dmk
+Description: Domaaki
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dml
+Description: Dameli
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dmm
+Description: Dama
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dmn
+Description: Mande languages
+Added: 2009-07-29
+Scope: collection
+%%
+Type: language
+Subtag: dmo
+Description: Kemedzung
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dmr
+Description: East Damar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dms
+Description: Dampelas
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dmu
+Description: Dubu
+Description: Tebi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dmv
+Description: Dumpas
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dmw
+Description: Mudburra
+Added: 2013-09-10
+%%
+Type: language
+Subtag: dmx
+Description: Dema
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dmy
+Description: Demta
+Description: Sowari
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dna
+Description: Upper Grand Valley Dani
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dnd
+Description: Daonda
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dne
+Description: Ndendeule
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dng
+Description: Dungan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dni
+Description: Lower Grand Valley Dani
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dnj
+Description: Dan
+Added: 2013-09-10
+%%
+Type: language
+Subtag: dnk
+Description: Dengka
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dnn
+Description: Dzùùngoo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dnr
+Description: Danaru
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dnt
+Description: Mid Grand Valley Dani
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dnu
+Description: Danau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dnv
+Description: Danu
+Added: 2012-08-12
+%%
+Type: language
+Subtag: dnw
+Description: Western Dani
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dny
+Description: Dení
+Added: 2009-07-29
+%%
+Type: language
+Subtag: doa
+Description: Dom
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dob
+Description: Dobu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: doc
+Description: Northern Dong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: doe
+Description: Doe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dof
+Description: Domu
+Added: 2009-07-29
+%%
+Type: language
+Subtag: doh
+Description: Dong
+Added: 2009-07-29
+%%
+Type: language
+Subtag: doi
+Description: Dogri (macrolanguage)
+Added: 2005-10-16
+Scope: macrolanguage
+%%
+Type: language
+Subtag: dok
+Description: Dondo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dol
+Description: Doso
+Added: 2009-07-29
+%%
+Type: language
+Subtag: don
+Description: Toura (Papua New Guinea)
+Added: 2009-07-29
+%%
+Type: language
+Subtag: doo
+Description: Dongo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dop
+Description: Lukpa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: doq
+Description: Dominican Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dor
+Description: Dori'o
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dos
+Description: Dogosé
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dot
+Description: Dass
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dov
+Description: Dombe
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dow
+Description: Doyayo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dox
+Description: Bussa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: doy
+Description: Dompo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: doz
+Description: Dorze
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dpp
+Description: Papar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dra
+Description: Dravidian languages
+Added: 2005-10-16
+Scope: collection
+%%
+Type: language
+Subtag: drb
+Description: Dair
+Added: 2009-07-29
+%%
+Type: language
+Subtag: drc
+Description: Minderico
+Added: 2011-08-16
+%%
+Type: language
+Subtag: drd
+Description: Darmiya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dre
+Description: Dolpo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: drg
+Description: Rungus
+Added: 2009-07-29
+%%
+Type: language
+Subtag: drh
+Description: Darkhat
+Added: 2009-07-29
+Deprecated: 2010-03-11
+Preferred-Value: khk
+%%
+Type: language
+Subtag: dri
+Description: C'lela
+Added: 2009-07-29
+%%
+Type: language
+Subtag: drl
+Description: Paakantyi
+Added: 2009-07-29
+%%
+Type: language
+Subtag: drn
+Description: West Damar
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dro
+Description: Daro-Matu Melanau
+Added: 2009-07-29
+%%
+Type: language
+Subtag: drq
+Description: Dura
+Added: 2009-07-29
+%%
+Type: language
+Subtag: drr
+Description: Dororo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: drs
+Description: Gedeo
+Added: 2009-07-29
+%%
+Type: language
+Subtag: drt
+Description: Drents
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dru
+Description: Rukai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: drw
+Description: Darwazi
+Added: 2009-07-29
+Deprecated: 2010-03-11
+Preferred-Value: prs
+%%
+Type: language
+Subtag: dry
+Description: Darai
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dsb
+Description: Lower Sorbian
+Added: 2005-10-16
+Suppress-Script: Latn
+%%
+Type: language
+Subtag: dse
+Description: Dutch Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dsh
+Description: Daasanach
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dsi
+Description: Disa
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dsl
+Description: Danish Sign Language
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dsn
+Description: Dusner
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dso
+Description: Desiya
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dsq
+Description: Tadaksahak
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dta
+Description: Daur
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dtb
+Description: Labuk-Kinabatangan Kadazan
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dtd
+Description: Ditidaht
+Added: 2011-08-16
+%%
+Type: language
+Subtag: dth
+Description: Adithinngithigh
+Added: 2012-08-12
+%%
+Type: language
+Subtag: dti
+Description: Ana Tinga Dogon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dtk
+Description: Tene Kan Dogon
+Added: 2009-07-29
+%%
+Type: language
+Subtag: dtm