Enable the rest of netstandard1.7 globalization APIs (#7935)
authorTarek Mahmoud Sayed <tarekms@microsoft.com>
Tue, 1 Nov 2016 23:17:50 +0000 (16:17 -0700)
committerGitHub <noreply@github.com>
Tue, 1 Nov 2016 23:17:50 +0000 (16:17 -0700)
* Enable more netstandard 1.7 Globalization APIs

* Enable Windows support for the new APIs

* Fix spaces and line alignments

21 files changed:
src/classlibnative/inc/nlsinfo.h
src/classlibnative/nls/nlsinfo.cpp
src/corefx/System.Globalization.Native/collation.cpp
src/mscorlib/corefx/Interop/Unix/System.Globalization.Native/Interop.Collation.cs
src/mscorlib/corefx/System/Globalization/CompareInfo.Unix.cs
src/mscorlib/corefx/System/Globalization/CompareInfo.Windows.cs
src/mscorlib/corefx/System/Globalization/CompareInfo.cs
src/mscorlib/corefx/System/Globalization/CultureData.Unix.cs
src/mscorlib/corefx/System/Globalization/CultureData.Windows.cs
src/mscorlib/corefx/System/Globalization/CultureData.cs
src/mscorlib/corefx/System/Globalization/CultureInfo.cs
src/mscorlib/corefx/System/Globalization/LocaleData.Unix.cs
src/mscorlib/model.xml
src/mscorlib/ref/mscorlib.cs
src/mscorlib/src/Microsoft/Win32/Win32Native.cs
src/mscorlib/src/System/Globalization/CompareInfo.cs
src/mscorlib/src/System/Globalization/CultureData.cs
src/mscorlib/src/System/Globalization/CultureInfo.cs
src/vm/ecalllist.h
src/vm/mscorlib.h
src/vm/object.h

index 1c1ff01..4b7a036 100644 (file)
@@ -115,8 +115,8 @@ public:
     static INT_PTR InternalInitVersionedSortHandle(LPCWSTR localeName, INT_PTR* handleOrigin);
     static INT_PTR InternalInitVersionedSortHandle(LPCWSTR localeName, INT_PTR* handleOrigin, DWORD sortVersion);
     static DWORD QCALLTYPE InternalGetSortVersion();
-    static BOOL QCALLTYPE InternalGetNlsVersionEx(INT_PTR handle, INT_PTR handleOrigin, LPCWSTR lpLocaleName, NLSVERSIONINFOEX * lpVersionInformation);
 #endif
+    static BOOL QCALLTYPE InternalGetNlsVersionEx(INT_PTR handle, INT_PTR handleOrigin, LPCWSTR lpLocaleName, NLSVERSIONINFOEX * lpVersionInformation);
 
 
 #ifndef FEATURE_CORECLR
index cd54833..b930673 100644 (file)
@@ -3411,7 +3411,6 @@ INT_PTR COMNlsInfo::InternalInitOsSortHandle(LPCWSTR localeName, __out INT_PTR*
     return pSort;
 }
 
-#ifndef FEATURE_CORECLR
 BOOL QCALLTYPE COMNlsInfo::InternalGetNlsVersionEx(INT_PTR handle, INT_PTR handleOrigin, LPCWSTR lpLocaleName, NLSVERSIONINFOEX * lpVersionInformation)
 {
     CONTRACTL {
@@ -3421,7 +3420,7 @@ BOOL QCALLTYPE COMNlsInfo::InternalGetNlsVersionEx(INT_PTR handle, INT_PTR handl
     BOOL ret = FALSE;
 
     BEGIN_QCALL;
-    
+#ifndef FEATURE_CORECLR
     AppDomain* curDomain = GetAppDomain();
 
     if(curDomain->m_bUseOsSorting)
@@ -3449,12 +3448,15 @@ BOOL QCALLTYPE COMNlsInfo::InternalGetNlsVersionEx(INT_PTR handle, INT_PTR handl
         lpVersionInformation->dwEffectiveId = 0;
         ZeroMemory(&(lpVersionInformation->guidCustomVersion), sizeof(GUID));                
     }
-    
+#else
+    ret = GetNLSVersionEx(COMPARE_STRING, lpLocaleName, lpVersionInformation);
+#endif // FEATURE_CORECLR
     END_QCALL;
  
     return ret;
 }
 
+#ifndef FEATURE_CORECLR
 DWORD QCALLTYPE COMNlsInfo::InternalGetSortVersion()
 {
     CONTRACTL {
index 4a6fafd..06d41f9 100644 (file)
@@ -325,6 +325,12 @@ bool CanIgnoreAllCollationElements(const UCollator* pColl, const UChar* lpStr, i
 
 }
 
+extern "C" int32_t GlobalizationNative_GetSortVersion()
+{
+    // we didn't use UCOL_TAILORINGS_VERSION because it is deprecated in ICU v5
+    return UCOL_RUNTIME_VERSION << 16 | UCOL_BUILDER_VERSION;
+}
+
 extern "C" SortHandle* GlobalizationNative_GetSortHandle(const char* lpLocaleName)
 {
     SortHandle* pSortHandle = new SortHandle();
index 6acf55e..111a782 100644 (file)
@@ -53,6 +53,9 @@ internal static partial class Interop
         [DllImport(Libraries.GlobalizationInterop, CharSet = CharSet.Unicode, EntryPoint = "GlobalizationNative_CompareStringOrdinalIgnoreCase")]
         internal unsafe static extern int CompareStringOrdinalIgnoreCase(char* lpStr1, int cwStr1Len, char* lpStr2, int cwStr2Len);
 
+        [DllImport(Libraries.GlobalizationInterop, EntryPoint = "GlobalizationNative_GetSortVersion")]
+        internal static extern int GetSortVersion();
+
         [SecurityCritical]
         internal class SafeSortHandle : SafeHandle
         {
index fcf6bac..608c35f 100644 (file)
@@ -373,5 +373,15 @@ namespace System.Globalization
 
             return buffer;
         }
+        
+        private SortVersion GetSortVersion()
+        {
+            int sortVersion = Interop.GlobalizationInterop.GetSortVersion();
+            return new SortVersion(sortVersion, LCID, new Guid(sortVersion, 0, 0, 0, 0, 0, 0,
+                                                             (byte) (LCID >> 24),
+                                                             (byte) ((LCID  & 0x00FF0000) >> 16),
+                                                             (byte) ((LCID  & 0x0000FF00) >> 8),
+                                                             (byte) (LCID  & 0xFF)));
+        }
     }
 }
index 492f850..9676dcc 100644 (file)
@@ -411,5 +411,10 @@ namespace System.Globalization
 
             return nativeCompareFlags;
         }
+        
+        private SortVersion GetSortVersion()
+        {
+            throw new NotImplementedException();
+        }
     }
 }
index dada63e..a82f705 100644 (file)
@@ -26,7 +26,6 @@ namespace System.Globalization
 {
     [Flags]
     [Serializable]
-    [System.Runtime.InteropServices.ComVisible(true)]
     public enum CompareOptions
     {
         None = 0x00000000,
@@ -41,7 +40,6 @@ namespace System.Globalization
     }
 
     [Serializable]
-    [System.Runtime.InteropServices.ComVisible(true)]
     public partial class CompareInfo : IDeserializationCallback
     {
         // Mask used to check if IndexOf()/LastIndexOf()/IsPrefix()/IsPostfix() has the right flags.
@@ -75,6 +73,9 @@ namespace System.Globalization
         [NonSerialized] 
         private String _sortName; // The name that defines our behavior
 
+        [OptionalField(VersionAdded = 3)]
+        private SortVersion _sortVersion;
+
         /*=================================GetCompareInfo==========================
         **Action: Get the CompareInfo constructed from the data table in the specified assembly for the specified culture.
         **       Warning: The assembly versioning mechanism is dead!
@@ -172,14 +173,12 @@ namespace System.Globalization
             return CultureInfo.GetCultureInfo(name).CompareInfo;
         }
 
-        [System.Runtime.InteropServices.ComVisible(false)]
         public unsafe static bool IsSortable(char ch)
         {
             char *pChar = &ch;
             return IsSortable(pChar, 1);
         }
 
-        [System.Runtime.InteropServices.ComVisible(false)]
         public unsafe static bool IsSortable(string text)
         {
             if (text == null) 
@@ -242,7 +241,6 @@ namespace System.Globalization
         //
         ////////////////////////////////////////////////////////////////////////
 
-        [System.Runtime.InteropServices.ComVisible(false)]
         public virtual String Name
         {
             get
@@ -1077,6 +1075,19 @@ namespace System.Globalization
             return ("CompareInfo - " + this.Name);
         }
 
+        public SortVersion Version
+        {
+            get
+            {
+                if (_sortVersion == null)
+                {
+                    _sortVersion = GetSortVersion();
+                }
+
+                return _sortVersion;
+            }
+        }
+
         public int LCID
         {
             get
index feb0c44..5742ff8 100644 (file)
@@ -401,5 +401,25 @@ namespace System.Globalization
             
             return list.ToArray();
         }
+        
+        private static string GetConsoleFallbackName(string cultureName)
+        {
+            return LocaleData.GetConsoleUICulture(cultureName);
+        }
+        
+        internal bool IsFramework // not applicable on Linux based systems 
+        {
+            get { return false; }
+        }
+        
+        internal bool IsWin32Installed // not applicable on Linux based systems
+        {
+            get { return false; }
+        }
+        
+        internal bool IsReplacementCulture // not applicable on Linux based systems
+        {
+            get { return false; }
+        }
     }
 }
index 2feaede..481e1a1 100644 (file)
@@ -607,5 +607,26 @@ namespace System.Globalization
         {
             throw new NotImplementedException();
         }
+
+        private static string GetConsoleFallbackName(string cultureName)
+        {
+            throw new NotImplementedException();
+        }
+
+        private bool IsSupplementalCustomCulture
+        {
+            get { throw new NotImplementedException(); }
+        }
+        
+        private bool IsWin32Installed
+        {
+            get { throw new NotImplementedException(); }
+        }
+        
+        private bool IsReplacementCulture
+        {
+            get { throw new NotImplementedException(); }
+        }
+        
     }
 }
index dc9ea7b..3bc63c8 100644 (file)
@@ -79,6 +79,8 @@ namespace System.Globalization
         private String _sEnglishLanguage; // English name for this language
         private String _sNativeLanguage; // Native name of this language
         private String _sAbbrevLang; // abbreviated language name (Windows Language Name) ex: ENU
+        private string _sConsoleFallbackName; // The culture name for the console fallback UI culture
+        private int    _iInputLanguageHandle=undef;// input language handle
 
         // Region
         private String _sRegionName; // (RegionInfo)
@@ -473,6 +475,8 @@ namespace System.Globalization
                     invariant._sEnglishLanguage = "Invariant Language";   // English name for this language
                     invariant._sNativeLanguage = "Invariant Language";   // Native name of this language
                            invariant._sAbbrevLang = "IVL";                  // abbreviated language name (Windows Language Name)
+                           invariant._sConsoleFallbackName = "";            // The culture name for the console fallback UI culture
+                           invariant._iInputLanguageHandle = 0x07F;         // input language handle
 
                     // Region
                     invariant._sRegionName = "IV";                    // (RegionInfo)
@@ -1131,6 +1135,39 @@ namespace System.Globalization
             }
         }
 
+        internal int IINPUTLANGUAGEHANDLE
+        {
+            get
+            {
+                if (_iInputLanguageHandle == undef)
+                {
+                    if (IsSupplementalCustomCulture)
+                    {
+                        _iInputLanguageHandle = 0x0409;
+                    }
+                    else
+                    {
+                        // Input Language is same as LCID for built-in cultures
+                        _iInputLanguageHandle = this.ILANGUAGE;
+                    }
+                }
+                return _iInputLanguageHandle;
+            }
+        }
+
+        // Console fallback name (ie: locale to use for console apps for unicode-only locales)
+        internal string SCONSOLEFALLBACKNAME
+        {
+            get
+            {
+                if (_sConsoleFallbackName == null)
+                {
+                    _sConsoleFallbackName = GetConsoleFallbackName(_sRealName);
+                }
+                return _sConsoleFallbackName;
+            }
+        }
+
         // (user can override) grouping of digits
         internal int[] WAGROUPING
         {
index 30a424c..7d44282 100644 (file)
@@ -82,6 +82,9 @@ namespace System.Globalization
         [NonSerialized]
         internal bool m_isInherited;
 
+        [NonSerialized]
+        private CultureInfo m_consoleFallbackCulture;
+
         // Names are confusing.  Here are 3 names we have:
         //
         //  new CultureInfo()   m_name        m_nonSortName   m_sortName
@@ -109,7 +112,6 @@ namespace System.Globalization
         [NonSerialized]
         private string m_sortName;
 
-
         //--------------------------------------------------------------------//
         //
         // Static data members
@@ -671,6 +673,14 @@ namespace System.Globalization
             }
         }
 
+        public virtual int KeyboardLayoutId
+        {
+            get
+            {
+                return m_cultureData.IINPUTLANGUAGEHANDLE;
+            }
+        }
+
         public static CultureInfo[] GetCultures(CultureTypes types)
         {
             Contract.Ensures(Contract.Result<CultureInfo[]>() != null);
@@ -722,6 +732,24 @@ namespace System.Globalization
             }
         }
 
+        public string IetfLanguageTag
+        {
+            get
+            {
+                Contract.Ensures(Contract.Result<string>() != null);
+
+                // special case the compatibility cultures
+                switch (this.Name)
+                {
+                    case "zh-CHT":
+                        return "zh-Hant";
+                    case "zh-CHS":
+                        return "zh-Hans";
+                    default:
+                        return this.Name;
+                }
+            }
+        }
 
         ////////////////////////////////////////////////////////////////////////
         //
@@ -963,6 +991,31 @@ namespace System.Globalization
             }
         }
 
+        public CultureTypes CultureTypes
+        {
+            get
+            {
+                CultureTypes types = 0;
+
+                if (m_cultureData.IsNeutralCulture)
+                    types |= CultureTypes.NeutralCultures;
+                else
+                    types |= CultureTypes.SpecificCultures;
+
+                types |= m_cultureData.IsWin32Installed ? CultureTypes.InstalledWin32Cultures : 0;
+
+// Disable  warning 618: System.Globalization.CultureTypes.FrameworkCultures' is obsolete
+#pragma warning disable 618
+                types |= m_cultureData.IsFramework ? CultureTypes.FrameworkCultures : 0;
+
+#pragma warning restore 618
+                types |= m_cultureData.IsSupplementalCustomCulture ? CultureTypes.UserCustomCulture : 0;
+                types |= m_cultureData.IsReplacementCulture ? CultureTypes.ReplacementCultures | CultureTypes.UserCustomCulture : 0;
+
+                return types;
+            }
+        }
+
         public virtual NumberFormatInfo NumberFormat
         {
             get
@@ -1148,6 +1201,20 @@ namespace System.Globalization
             }
         }
 
+        public CultureInfo GetConsoleFallbackUICulture()
+        {
+            Contract.Ensures(Contract.Result<CultureInfo>() != null);
+
+            CultureInfo temp = m_consoleFallbackCulture;
+            if (temp == null)
+            {
+                temp = CreateSpecificCulture(m_cultureData.SCONSOLEFALLBACKNAME);
+                temp.m_isReadOnly = true;
+                m_consoleFallbackCulture = temp;
+            }
+            return (temp);
+        }
+
         public virtual Object Clone()
         {
             CultureInfo ci = (CultureInfo)MemberwiseClone();
index c9cb325..690a461 100644 (file)
@@ -17,7 +17,8 @@ namespace System.Globalization
         EbcdicCodePage = 4,
         GeoId = 5, 
         DigitSubstitution = 6, 
-        SpecificLocaleIndex = 7
+        SpecificLocaleIndex = 7, 
+        ConsoleLocaleIndex = 8
     }
     
     internal partial class LocaleData
@@ -2636,876 +2637,877 @@ namespace System.Globalization
             4284
         };
                
-        private const int NUMERIC_LOCALE_DATA_COUNT_PER_ROW = 8;  
-        // s_nameIndexToNumericData is mapping from index in s_localeNamesIndices to locale data: 
-        //      Lcid, Ansi codepage, Oem codepage, MAC codepage, EBCDIC codepage, Geo Id, Digit Substitution, specific locale index
+        private const int NUMERIC_LOCALE_DATA_COUNT_PER_ROW = 9;
+        // s_nameIndexToNumericData is mapping from index in s_localeNamesIndices to locale data.
+        // each row in the table will have the following data:
+        //      Lcid, Ansi codepage, Oem codepage, MAC codepage, EBCDIC codepage, Geo Id, Digit Substitution, specific locale index, Console locale index
         private static readonly int[] s_nameIndexToNumericData = new int[]
         {
-         // Lcid,  Ansi CP, Oem CP, MAC CP, EBCDIC CP, Geo Id, digit substitution, Specific culture index // index - locale name
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 3   , // 0    - aa
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3e  , 1 , 1   , // 1    - aa-dj
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 2   , // 2    - aa-er
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 3   , // 3    - aa-et
-            0x36   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 6   , // 4    - af
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfe  , 1 , 5   , // 5    - af-na
-            0x436  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 6   , // 6    - af-za
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 8   , // 7    - agq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 8   , // 8    - agq-cm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 , 10  , // 9    - ak
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 , 10  , // 10   - ak-gh
-            0x5e   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 12  , // 11   - am
-            0x45e  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 12  , // 12   - am-et
-            0x1    , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 , 33  , // 13   - ar
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x989e, 0 , 14  , // 14   - ar-001
-            0x3801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xe0  , 0 , 15  , // 15   - ar-ae
-            0x3c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x11  , 0 , 16  , // 16   - ar-bh
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3e  , 0 , 17  , // 17   - ar-dj
-            0x1401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x4   , 1 , 18  , // 18   - ar-dz
-            0xc01  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x43  , 0 , 19  , // 19   - ar-eg
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x47  , 0 , 20  , // 20   - ar-er
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x75  , 0 , 21  , // 21   - ar-il
-            0x801  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 , 22  , // 22   - ar-iq
-            0x2c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x7e  , 0 , 23  , // 23   - ar-jo
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x32  , 0 , 24  , // 24   - ar-km
-            0x3401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x88  , 0 , 25  , // 25   - ar-kw
-            0x3001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x8b  , 0 , 26  , // 26   - ar-lb
-            0x1001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x94  , 1 , 27  , // 27   - ar-ly
-            0x1801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 , 28  , // 28   - ar-ma
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xa2  , 0 , 29  , // 29   - ar-mr
-            0x2001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xa4  , 0 , 30  , // 30   - ar-om
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xb8  , 0 , 31  , // 31   - ar-ps
-            0x4001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xc5  , 0 , 32  , // 32   - ar-qa
-            0x401  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 , 33  , // 33   - ar-sa
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xdb  , 0 , 34  , // 34   - ar-sd
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xd8  , 0 , 35  , // 35   - ar-so
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x114 , 0 , 36  , // 36   - ar-ss
-            0x2801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xde  , 0 , 37  , // 37   - ar-sy
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x29  , 0 , 38  , // 38   - ar-td
-            0x1c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xea  , 1 , 39  , // 39   - ar-tn
-            0x2401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x105 , 0 , 40  , // 40   - ar-ye
-            0x7a   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 , 42  , // 41   - arn
-            0x47a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 , 42  , // 42   - arn-cl
-            0x4d   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 44  , // 43   - as
-            0x44d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 44  , // 44   - as-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 46  , // 45   - asa
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 46  , // 46   - asa-tz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd9  , 1 , 48  , // 47   - ast
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd9  , 1 , 48  , // 48   - ast-es
-            0x2c   , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 , 53  , // 49   - az
-            0x742c , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x5   , 1 , 51  , // 50   - az-cyrl
-            0x82c  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x5   , 1 , 51  , // 51   - az-cyrl-az
-            0x782c , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 , 53  , // 52   - az-latn
-            0x42c  , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 , 53  , // 53   - az-latn-az
-            0x6d   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 55  , // 54   - ba
-            0x46d  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 55  , // 55   - ba-ru
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 57  , // 56   - bas
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 57  , // 57   - bas-cm
-            0x23   , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x1d  , 1 , 59  , // 58   - be
-            0x423  , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x1d  , 1 , 59  , // 59   - be-by
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x107 , 1 , 61  , // 60   - bem
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x107 , 1 , 61  , // 61   - bem-zm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 63  , // 62   - bez
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 63  , // 63   - bez-tz
-            0x2    , 0x4e3 , 0x362 , 0x2717, 0x5221, 0x23  , 1 , 65  , // 64   - bg
-            0x402  , 0x4e3 , 0x362 , 0x2717, 0x5221, 0x23  , 1 , 65  , // 65   - bg-bg
-            0x66   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 67  , // 66   - bin
-            0x466  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 67  , // 67   - bin-ng
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 70  , // 68   - bm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 70  , // 69   - bm-latn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 70  , // 70   - bm-latn-ml
-            0x45   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x17  , 1 , 72  , // 71   - bn
-            0x845  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x17  , 1 , 72  , // 72   - bn-bd
-            0x445  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 73  , // 73   - bn-in
-            0x51   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 75  , // 74   - bo
-            0x451  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 75  , // 75   - bo-cn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 76  , // 76   - bo-in
-            0x7e   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 78  , // 77   - br
-            0x47e  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 78  , // 78   - br-fr
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 80  , // 79   - brx
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 80  , // 80   - brx-in
-            0x781a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 , 85  , // 81   - bs
-            0x641a , 0x4e3 , 0x357 , 0x2762, 0x366 , 0x19  , 1 , 83  , // 82   - bs-cyrl
-            0x201a , 0x4e3 , 0x357 , 0x2762, 0x366 , 0x19  , 1 , 83  , // 83   - bs-cyrl-ba
-            0x681a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 , 85  , // 84   - bs-latn
-            0x141a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 , 85  , // 85   - bs-latn-ba
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 87  , // 86   - byn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 87  , // 87   - byn-er
-            0x3    , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 , 90  , // 88   - ca
-            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x8   , 1 , 89  , // 89   - ca-ad
-            0x403  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 , 90  , // 90   - ca-es
-            0x803  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 , 91  , // 91   - ca-es-valencia
-            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x54  , 1 , 92  , // 92   - ca-fr
-            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x76  , 1 , 93  , // 93   - ca-it
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 , 95  , // 94   - ce
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 , 95  , // 95   - ce-ru
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 97  , // 96   - cgg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 97  , // 97   - cgg-ug
-            0x5c   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 , 100 , // 98   - chr
-            0x7c5c , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 , 100 , // 99   - chr-cher
-            0x45c  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 , 100 , // 100  - chr-cher-us
-            0x83   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 102 , // 101  - co
-            0x483  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 102 , // 102  - co-fr
-            0x5    , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x4b  , 1 , 104 , // 103  - cs
-            0x405  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x4b  , 1 , 104 , // 104  - cs-cz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 , 106 , // 105  - cu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 , 106 , // 106  - cu-ru
-            0x52   , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 , 108 , // 107  - cy
-            0x452  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 , 108 , // 108  - cy-gb
-            0x6    , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x3d  , 1 , 110 , // 109  - da
-            0x406  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x3d  , 1 , 110 , // 110  - da-dk
-            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x5d  , 1 , 111 , // 111  - da-gl
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 113 , // 112  - dav
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 113 , // 113  - dav-ke
-            0x7    , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 , 118 , // 114  - de
-            0xc07  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xe   , 1 , 115 , // 115  - de-at
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x15  , 1 , 116 , // 116  - de-be
-            0x807  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 , 117 , // 117  - de-ch
-            0x407  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 , 118 , // 118  - de-de
-            0x10407, 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 , 118 , // 119  - de-de_phoneb
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 , 120 , // 120  - de-it
-            0x1407 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x91  , 1 , 121 , // 121  - de-li
-            0x1007 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x93  , 1 , 122 , // 122  - de-lu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 , 124 , // 123  - dje
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 , 124 , // 124  - dje-ne
-            0x7c2e , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 , 126 , // 125  - dsb
-            0x82e  , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 , 126 , // 126  - dsb-de
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 128 , // 127  - dua
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 128 , // 128  - dua-cm
-            0x65   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa5  , 1 , 130 , // 129  - dv
-            0x465  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa5  , 1 , 130 , // 130  - dv-mv
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd2  , 1 , 132 , // 131  - dyo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd2  , 1 , 132 , // 132  - dyo-sn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x22  , 2 , 134 , // 133  - dz
-            0xc51  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x22  , 2 , 134 , // 134  - dz-bt
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 136 , // 135  - ebu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 136 , // 136  - ebu-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 , 138 , // 137  - ee
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 , 138 , // 138  - ee-gh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe8  , 1 , 139 , // 139  - ee-tg
-            0x8    , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x62  , 1 , 142 , // 140  - el
-            0x1000 , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x3b  , 1 , 141 , // 141  - el-cy
-            0x408  , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x62  , 1 , 142 , // 142  - el-gr
-            0x9    , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 , 240 , // 143  - en
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x989e, 1 , 144 , // 144  - en-001
-            0x2409 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 , 145 , // 145  - en-029
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x292d, 1 , 146 , // 146  - en-150
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x2   , 1 , 147 , // 147  - en-ag
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12c , 1 , 148 , // 148  - en-ai
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa   , 1 , 149 , // 149  - en-as
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe   , 1 , 150 , // 150  - en-at
-            0xc09  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc   , 1 , 151 , // 151  - en-au
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12  , 1 , 152 , // 152  - en-bb
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15  , 1 , 153 , // 153  - en-be
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 , 154 , // 154  - en-bi
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14  , 1 , 155 , // 155  - en-bm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x16  , 1 , 156 , // 156  - en-bs
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13  , 1 , 157 , // 157  - en-bw
-            0x2809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x18  , 1 , 158 , // 158  - en-bz
-            0x1009 , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 , 159 , // 159  - en-ca
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x137 , 1 , 160 , // 160  - en-cc
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 , 161 , // 161  - en-ch
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x138 , 1 , 162 , // 162  - en-ck
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x31  , 1 , 163 , // 163  - en-cm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x135 , 1 , 164 , // 164  - en-cx
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b  , 1 , 165 , // 165  - en-cy
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 , 166 , // 166  - en-de
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3d  , 1 , 167 , // 167  - en-dk
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x3f  , 1 , 168 , // 168  - en-dm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x47  , 1 , 169 , // 169  - en-er
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4d  , 1 , 170 , // 170  - en-fi
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x4e  , 1 , 171 , // 171  - en-fj
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13b , 1 , 172 , // 172  - en-fk
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x50  , 1 , 173 , // 173  - en-fm
-            0x809  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 , 174 , // 174  - en-gb
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x5b  , 1 , 175 , // 175  - en-gd
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x144 , 1 , 176 , // 176  - en-gg
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x59  , 1 , 177 , // 177  - en-gh
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x5a  , 1 , 178 , // 178  - en-gi
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x56  , 1 , 179 , // 179  - en-gm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x142 , 1 , 180 , // 180  - en-gu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x65  , 1 , 181 , // 181  - en-gy
-            0x3c09 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x68  , 1 , 182 , // 182  - en-hk
-            0x3809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 183 , // 183  - en-id
-            0x1809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 , 184 , // 184  - en-ie
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x75  , 1 , 185 , // 185  - en-il
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x3b16, 1 , 186 , // 186  - en-im
-            0x4009 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x71  , 1 , 187 , // 187  - en-in
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x72  , 1 , 188 , // 188  - en-io
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x148 , 1 , 189 , // 189  - en-je
-            0x2009 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x7c  , 1 , 190 , // 190  - en-jm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x81  , 1 , 191 , // 191  - en-ke
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x85  , 1 , 192 , // 192  - en-ki
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xcf  , 1 , 193 , // 193  - en-kn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x133 , 1 , 194 , // 194  - en-ky
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xda  , 1 , 195 , // 195  - en-lc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x8e  , 1 , 196 , // 196  - en-lr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x92  , 1 , 197 , // 197  - en-ls
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x95  , 1 , 198 , // 198  - en-mg
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc7  , 1 , 199 , // 199  - en-mh
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x97  , 1 , 200 , // 200  - en-mo
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x151 , 1 , 201 , // 201  - en-mp
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14c , 1 , 202 , // 202  - en-ms
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa3  , 1 , 203 , // 203  - en-mt
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa0  , 1 , 204 , // 204  - en-mu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9c  , 1 , 205 , // 205  - en-mw
-            0x4409 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xa7  , 1 , 206 , // 206  - en-my
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfe  , 1 , 207 , // 207  - en-na
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x150 , 1 , 208 , // 208  - en-nf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 209 , // 209  - en-ng
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb0  , 1 , 210 , // 210  - en-nl
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb4  , 1 , 211 , // 211  - en-nr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14f , 1 , 212 , // 212  - en-nu
-            0x1409 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb7  , 1 , 213 , // 213  - en-nz
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc2  , 1 , 214 , // 214  - en-pg
-            0x3409 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 , 215 , // 215  - en-ph
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xbe  , 1 , 216 , // 216  - en-pk
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x153 , 1 , 217 , // 217  - en-pn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xca  , 1 , 218 , // 218  - en-pr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc3  , 1 , 219 , // 219  - en-pw
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xcc  , 1 , 220 , // 220  - en-rw
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x1e  , 1 , 221 , // 221  - en-sb
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd0  , 1 , 222 , // 222  - en-sc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xdb  , 1 , 223 , // 223  - en-sd
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdd  , 1 , 224 , // 224  - en-se
-            0x4809 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xd7  , 1 , 225 , // 225  - en-sg
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x157 , 1 , 226 , // 226  - en-sh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd4  , 1 , 227 , // 227  - en-si
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd5  , 1 , 228 , // 228  - en-sl
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x114 , 1 , 229 , // 229  - en-ss
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x78f7, 1 , 230 , // 230  - en-sx
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x104 , 1 , 231 , // 231  - en-sz
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15d , 1 , 232 , // 232  - en-tc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15b , 1 , 233 , // 233  - en-tk
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe7  , 1 , 234 , // 234  - en-to
-            0x2c09 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe1  , 1 , 235 , // 235  - en-tt
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xec  , 1 , 236 , // 236  - en-tv
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xef  , 1 , 237 , // 237  - en-tz
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xf0  , 1 , 238 , // 238  - en-ug
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9a55d40, 1 , 239 , // 239  - en-um
-            0x409  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 , 240 , // 240  - en-us
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xf8  , 1 , 241 , // 241  - en-vc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15f , 1 , 242 , // 242  - en-vg
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfc  , 1 , 243 , // 243  - en-vi
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xae  , 1 , 244 , // 244  - en-vu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x103 , 1 , 245 , // 245  - en-ws
-            0x1c09 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xd1  , 1 , 246 , // 246  - en-za
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x107 , 1 , 247 , // 247  - en-zm
-            0x3009 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x108 , 1 , 248 , // 248  - en-zw
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 250 , // 249  - eo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 250 , // 250  - eo-001
-            0xa    , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 , 262 , // 251  - es
-            0x580a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x9a55d41, 1 , 252 , // 252  - es-419
-            0x2c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb   , 1 , 253 , // 253  - es-ar
-            0x400a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 , 254 , // 254  - es-bo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x20  , 1 , 255 , // 255  - es-br
-            0x340a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 , 256 , // 256  - es-cl
-            0x240a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x33  , 1 , 257 , // 257  - es-co
-            0x140a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x36  , 1 , 258 , // 258  - es-cr
-            0x5c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x38  , 1 , 259 , // 259  - es-cu
-            0x1c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x41  , 1 , 260 , // 260  - es-do
-            0x300a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x42  , 1 , 261 , // 261  - es-ec
-            0xc0a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 , 262 , // 262  - es-es
-            0x40a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 , 263 , // 263  - es-es_tradnl
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x45  , 1 , 264 , // 264  - es-gq
-            0x100a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 , 265 , // 265  - es-gt
-            0x480a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x6a  , 1 , 266 , // 266  - es-hn
-            0x80a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xa6  , 1 , 267 , // 267  - es-mx
-            0x4c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb6  , 1 , 268 , // 268  - es-ni
-            0x180a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xc0  , 1 , 269 , // 269  - es-pa
-            0x280a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xbb  , 1 , 270 , // 270  - es-pe
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xc9  , 1 , 271 , // 271  - es-ph
-            0x500a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xca  , 1 , 272 , // 272  - es-pr
-            0x3c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 , 273 , // 273  - es-py
-            0x440a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x48  , 1 , 274 , // 274  - es-sv
-            0x540a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf4  , 1 , 275 , // 275  - es-us
-            0x380a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf6  , 1 , 276 , // 276  - es-uy
-            0x200a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf9  , 1 , 277 , // 277  - es-ve
-            0x25   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x46  , 1 , 279 , // 278  - et
-            0x425  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x46  , 1 , 279 , // 279  - et-ee
-            0x2d   , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0xd9  , 1 , 281 , // 280  - eu
-            0x42d  , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0xd9  , 1 , 281 , // 281  - eu-es
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 283 , // 282  - ewo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 283 , // 283  - ewo-cm
-            0x29   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x74  , 0 , 285 , // 284  - fa
-            0x429  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x74  , 0 , 285 , // 285  - fa-ir
-            0x67   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 290 , // 286  - ff
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x31  , 1 , 287 , // 287  - ff-cm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x64  , 1 , 288 , // 288  - ff-gn
-            0x7c67 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 290 , // 289  - ff-latn
-            0x867  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 290 , // 290  - ff-latn-sn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa2  , 1 , 291 , // 291  - ff-mr
-            0x467  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xaf  , 1 , 292 , // 292  - ff-ng
-            0xb    , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 294 , // 293  - fi
-            0x40b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 294 , // 294  - fi-fi
-            0x64   , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 , 296 , // 295  - fil
-            0x464  , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 , 296 , // 296  - fil-ph
-            0x38   , 0x4e4 , 0x352 , 0x275f, 0x4f35, 0x51  , 1 , 299 , // 297  - fo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3d  , 1 , 298 , // 298  - fo-dk
-            0x438  , 0x4e4 , 0x352 , 0x275f, 0x4f35, 0x51  , 1 , 299 , // 299  - fo-fo
-            0xc    , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 316 , // 300  - fr
-            0x1c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x993248, 1 , 301 , // 301  - fr-029
-            0x80c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x15  , 1 , 302 , // 302  - fr-be
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xf5  , 1 , 303 , // 303  - fr-bf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x26  , 1 , 304 , // 304  - fr-bi
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x1c  , 1 , 305 , // 305  - fr-bj
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9a55c4f, 1 , 306 , // 306  - fr-bl
-            0xc0c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x27  , 1 , 307 , // 307  - fr-ca
-            0x240c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x2c  , 1 , 308 , // 308  - fr-cd
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x37  , 1 , 309 , // 309  - fr-cf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x2b  , 1 , 310 , // 310  - fr-cg
-            0x100c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 , 311 , // 311  - fr-ch
-            0x300c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x77  , 1 , 312 , // 312  - fr-ci
-            0x2c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x31  , 1 , 313 , // 313  - fr-cm
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x3e  , 1 , 314 , // 314  - fr-dj
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 , 315 , // 315  - fr-dz
-            0x40c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 316 , // 316  - fr-fr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x57  , 1 , 317 , // 317  - fr-ga
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x13d , 1 , 318 , // 318  - fr-gf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x64  , 1 , 319 , // 319  - fr-gn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x141 , 1 , 320 , // 320  - fr-gp
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x45  , 1 , 321 , // 321  - fr-gq
-            0x3c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x67  , 1 , 322 , // 322  - fr-ht
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x32  , 1 , 323 , // 323  - fr-km
-            0x140c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 , 324 , // 324  - fr-lu
-            0x380c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9f  , 1 , 325 , // 325  - fr-ma
-            0x180c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9e  , 1 , 326 , // 326  - fr-mc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x7bda, 1 , 327 , // 327  - fr-mf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x95  , 1 , 328 , // 328  - fr-mg
-            0x340c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9d  , 1 , 329 , // 329  - fr-ml
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14a , 1 , 330 , // 330  - fr-mq
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa2  , 1 , 331 , // 331  - fr-mr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa0  , 1 , 332 , // 332  - fr-mu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14e , 1 , 333 , // 333  - fr-nc
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xad  , 1 , 334 , // 334  - fr-ne
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x13e , 1 , 335 , // 335  - fr-pf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xce  , 1 , 336 , // 336  - fr-pm
-            0x200c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xc6  , 1 , 337 , // 337  - fr-re
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xcc  , 1 , 338 , // 338  - fr-rw
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd0  , 1 , 339 , // 339  - fr-sc
-            0x280c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 340 , // 340  - fr-sn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xde  , 1 , 341 , // 341  - fr-sy
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x29  , 1 , 342 , // 342  - fr-td
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xe8  , 1 , 343 , // 343  - fr-tg
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xea  , 1 , 344 , // 344  - fr-tn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xae  , 1 , 345 , // 345  - fr-vu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x160 , 1 , 346 , // 346  - fr-wf
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14b , 1 , 347 , // 347  - fr-yt
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 , 349 , // 348  - fur
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 , 349 , // 349  - fur-it
-            0x62   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 , 351 , // 350  - fy
-            0x462  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 , 351 , // 351  - fy-nl
-            0x3c   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 , 353 , // 352  - ga
-            0x83c  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 , 353 , // 353  - ga-ie
-            0x91   , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 , 355 , // 354  - gd
-            0x491  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 , 355 , // 355  - gd-gb
-            0x56   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 , 357 , // 356  - gl
-            0x456  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 , 357 , // 357  - gl-es
-            0x74   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 , 359 , // 358  - gn
-            0x474  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 , 359 , // 359  - gn-py
-            0x84   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 , 361 , // 360  - gsw
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 , 361 , // 361  - gsw-ch
-            0x484  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 362 , // 362  - gsw-fr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x91  , 1 , 363 , // 363  - gsw-li
-            0x47   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 365 , // 364  - gu
-            0x447  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 365 , // 365  - gu-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 367 , // 366  - guz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 367 , // 367  - guz-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b16, 1 , 369 , // 368  - gv
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b16, 1 , 369 , // 369  - gv-im
-            0x68   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 374 , // 370  - ha
-            0x7c68 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 374 , // 371  - ha-latn
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x59  , 1 , 372 , // 372  - ha-latn-gh
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xad  , 1 , 373 , // 373  - ha-latn-ne
-            0x468  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 374 , // 374  - ha-latn-ng
-            0x75   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 , 376 , // 375  - haw
-            0x475  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 , 376 , // 376  - haw-us
-            0xd    , 0x4e7 , 0x35e , 0x2715, 0x1f4 , 0x75  , 1 , 378 , // 377  - he
-            0x40d  , 0x4e7 , 0x35e , 0x2715, 0x1f4 , 0x75  , 1 , 378 , // 378  - he-il
-            0x39   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 380 , // 379  - hi
-            0x439  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 380 , // 380  - hi-in
-            0x1a   , 0x4e2 , 0x354 , 0x2762, 0x1f4 , 0x6c  , 1 , 383 , // 381  - hr
-            0x101a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 , 382 , // 382  - hr-ba
-            0x41a  , 0x4e2 , 0x354 , 0x2762, 0x1f4 , 0x6c  , 1 , 383 , // 383  - hr-hr
-            0x2e   , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 , 385 , // 384  - hsb
-            0x42e  , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 , 385 , // 385  - hsb-de
-            0xe    , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 , 387 , // 386  - hu
-            0x40e  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 , 387 , // 387  - hu-hu
-            0x1040e, 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 , 387 , // 388  - hu-hu_technl
-            0x2b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x7   , 1 , 390 , // 389  - hy
-            0x42b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x7   , 1 , 390 , // 390  - hy-am
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x54  , 1 , 393 , // 391  - ia
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 392 , // 392  - ia-001
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x54  , 1 , 393 , // 393  - ia-fr
-            0x69   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 395 , // 394  - ibb
-            0x469  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 395 , // 395  - ibb-ng
-            0x21   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 397 , // 396  - id
-            0x421  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 397 , // 397  - id-id
-            0x70   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 399 , // 398  - ig
-            0x470  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 399 , // 399  - ig-ng
-            0x78   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 401 , // 400  - ii
-            0x478  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 401 , // 401  - ii-cn
-            0xf    , 0x4e4 , 0x352 , 0x275f, 0x5187, 0x6e  , 1 , 403 , // 402  - is
-            0x40f  , 0x4e4 , 0x352 , 0x275f, 0x5187, 0x6e  , 1 , 403 , // 403  - is-is
-            0x10   , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0x76  , 1 , 406 , // 404  - it
-            0x810  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xdf  , 1 , 405 , // 405  - it-ch
-            0x410  , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0x76  , 1 , 406 , // 406  - it-it
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0xd6  , 1 , 407 , // 407  - it-sm
-            0x5d   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 , 412 , // 408  - iu
-            0x785d , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x27  , 1 , 410 , // 409  - iu-cans
-            0x45d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x27  , 1 , 410 , // 410  - iu-cans-ca
-            0x7c5d , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 , 412 , // 411  - iu-latn
-            0x85d  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 , 412 , // 412  - iu-latn-ca
-            0x11   , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 , 414 , // 413  - ja
-            0x411  , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 , 414 , // 414  - ja-jp
-            0x40411, 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 , 414 , // 415  - ja-jp_radstr
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 417 , // 416  - jgo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 417 , // 417  - jgo-cm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 419 , // 418  - jmc
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 419 , // 419  - jmc-tz
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 424 , // 420  - jv
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 422 , // 421  - jv-java
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 422 , // 422  - jv-java-id
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 424 , // 423  - jv-latn
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 424 , // 424  - jv-latn-id
-            0x37   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 , 426 , // 425  - ka
-            0x437  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 , 426 , // 426  - ka-ge
-            0x10437, 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 , 426 , // 427  - ka-ge_modern
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4   , 1 , 429 , // 428  - kab
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4   , 1 , 429 , // 429  - kab-dz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 431 , // 430  - kam
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 431 , // 431  - kam-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 433 , // 432  - kde
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 433 , // 433  - kde-tz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x39  , 1 , 435 , // 434  - kea
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x39  , 1 , 435 , // 435  - kea-cv
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 437 , // 436  - khq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 437 , // 437  - khq-ml
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 439 , // 438  - ki
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 439 , // 439  - ki-ke
-            0x3f   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x89  , 1 , 441 , // 440  - kk
-            0x43f  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x89  , 1 , 441 , // 441  - kk-kz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 443 , // 442  - kkj
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 443 , // 443  - kkj-cm
-            0x6f   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x5d  , 1 , 445 , // 444  - kl
-            0x46f  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x5d  , 1 , 445 , // 445  - kl-gl
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 447 , // 446  - kln
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 447 , // 447  - kln-ke
-            0x53   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x28  , 2 , 449 , // 448  - km
-            0x453  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x28  , 2 , 449 , // 449  - km-kh
-            0x4b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 451 , // 450  - kn
-            0x44b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 451 , // 451  - kn-in
-            0x12   , 0x3b5 , 0x3b5 , 0x2713, 0x5161, 0x86  , 1 , 454 , // 452  - ko
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x83  , 1 , 453 , // 453  - ko-kp
-            0x412  , 0x3b5 , 0x3b5 , 0x2713, 0x5161, 0x86  , 1 , 454 , // 454  - ko-kr
-            0x57   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 456 , // 455  - kok
-            0x457  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 456 , // 456  - kok-in
-            0x71   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 458 , // 457  - kr
-            0x471  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 458 , // 458  - kr-ng
-            0x60   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 , 461 , // 459  - ks
-            0x460  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 , 461 , // 460  - ks-arab
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 , 461 , // 461  - ks-arab-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 463 , // 462  - ks-deva
-            0x860  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 463 , // 463  - ks-deva-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 465 , // 464  - ksb
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 465 , // 465  - ksb-tz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 467 , // 466  - ksf
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 467 , // 467  - ksf-cm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 , 469 , // 468  - ksh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 , 469 , // 469  - ksh-de
-            0x92   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 , 472 , // 470  - ku
-            0x7c92 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 , 472 , // 471  - ku-arab
-            0x492  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 , 472 , // 472  - ku-arab-iq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 0 , 473 , // 473  - ku-arab-ir
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf2  , 1 , 475 , // 474  - kw
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf2  , 1 , 475 , // 475  - kw-gb
-            0x40   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x82  , 1 , 477 , // 476  - ky
-            0x440  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x82  , 1 , 477 , // 477  - ky-kg
-            0x76   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x989e, 1 , 479 , // 478  - la
-            0x476  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x989e, 1 , 479 , // 479  - la-001
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 481 , // 480  - lag
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 481 , // 481  - lag-tz
-            0x6e   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 , 483 , // 482  - lb
-            0x46e  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 , 483 , // 483  - lb-lu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 485 , // 484  - lg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 485 , // 485  - lg-ug
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 , 487 , // 486  - lkt
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 , 487 , // 487  - lkt-us
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 , 490 , // 488  - ln
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9   , 1 , 489 , // 489  - ln-ao
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 , 490 , // 490  - ln-cd
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 , 491 , // 491  - ln-cf
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2b  , 1 , 492 , // 492  - ln-cg
-            0x54   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8a  , 1 , 494 , // 493  - lo
-            0x454  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8a  , 1 , 494 , // 494  - lo-la
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 , 497 , // 495  - lrc
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x79  , 2 , 496 , // 496  - lrc-iq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 , 497 , // 497  - lrc-ir
-            0x27   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8d  , 1 , 499 , // 498  - lt
-            0x427  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8d  , 1 , 499 , // 499  - lt-lt
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 , 501 , // 500  - lu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 , 501 , // 501  - lu-cd
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 503 , // 502  - luo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 503 , // 503  - luo-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 505 , // 504  - luy
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 505 , // 505  - luy-ke
-            0x26   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8c  , 1 , 507 , // 506  - lv
-            0x426  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8c  , 1 , 507 , // 507  - lv-lv
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 509 , // 508  - mas
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 509 , // 509  - mas-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 510 , // 510  - mas-tz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 512 , // 511  - mer
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 512 , // 512  - mer-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa0  , 1 , 514 , // 513  - mfe
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa0  , 1 , 514 , // 514  - mfe-mu
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x95  , 1 , 516 , // 515  - mg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x95  , 1 , 516 , // 516  - mg-mg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 , 518 , // 517  - mgh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 , 518 , // 518  - mgh-mz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 520 , // 519  - mgo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 520 , // 520  - mgo-cm
-            0x81   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb7  , 1 , 522 , // 521  - mi
-            0x481  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb7  , 1 , 522 , // 522  - mi-nz
-            0x2f   , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x4ca2, 1 , 524 , // 523  - mk
-            0x42f  , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x4ca2, 1 , 524 , // 524  - mk-mk
-            0x4c   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 526 , // 525  - ml
-            0x44c  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 526 , // 526  - ml-in
-            0x50   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 , 529 , // 527  - mn
-            0x7850 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 , 529 , // 528  - mn-cyrl
-            0x450  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 , 529 , // 529  - mn-mn
-            0x7c50 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 531 , // 530  - mn-mong
-            0x850  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 531 , // 531  - mn-mong-cn
-            0xc50  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9a  , 1 , 532 , // 532  - mn-mong-mn
-            0x58   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 534 , // 533  - mni
-            0x458  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 534 , // 534  - mni-in
-            0x7c   , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 , 536 , // 535  - moh
-            0x47c  , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 , 536 , // 536  - moh-ca
-            0x4e   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 538 , // 537  - mr
-            0x44e  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 538 , // 538  - mr-in
-            0x3e   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa7  , 1 , 541 , // 539  - ms
-            0x83e  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x25  , 1 , 540 , // 540  - ms-bn
-            0x43e  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa7  , 1 , 541 , // 541  - ms-my
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd7  , 1 , 542 , // 542  - ms-sg
-            0x3a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa3  , 1 , 544 , // 543  - mt
-            0x43a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa3  , 1 , 544 , // 544  - mt-mt
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 546 , // 545  - mua
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 546 , // 546  - mua-cm
-            0x55   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x1b  , 2 , 548 , // 547  - my
-            0x455  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x1b  , 2 , 548 , // 548  - my-mm
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 , 550 , // 549  - mzn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 , 550 , // 550  - mzn-ir
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xfe  , 1 , 552 , // 551  - naq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xfe  , 1 , 552 , // 552  - naq-na
-            0x7c14 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 554 , // 553  - nb
-            0x414  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 554 , // 554  - nb-no
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xdc  , 1 , 555 , // 555  - nb-sj
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 , 557 , // 556  - nd
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 , 557 , // 557  - nd-zw
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 , 559 , // 558  - nds
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 , 559 , // 559  - nds-de
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb0  , 1 , 560 , // 560  - nds-nl
-            0x61   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb2  , 1 , 563 , // 561  - ne
-            0x861  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 , 562 , // 562  - ne-in
-            0x461  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb2  , 1 , 563 , // 563  - ne-np
-            0x13   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 , 569 , // 564  - nl
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12e , 1 , 565 , // 565  - nl-aw
-            0x813  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15  , 1 , 566 , // 566  - nl-be
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9a55d42, 1 , 567 , // 567  - nl-bq
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x111 , 1 , 568 , // 568  - nl-cw
-            0x413  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 , 569 , // 569  - nl-nl
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb5  , 1 , 570 , // 570  - nl-sr
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x78f7, 1 , 571 , // 571  - nl-sx
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 573 , // 572  - nmg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 573 , // 573  - nmg-cm
-            0x7814 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 575 , // 574  - nn
-            0x814  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 575 , // 575  - nn-no
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 577 , // 576  - nnh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 577 , // 577  - nnh-cm
-            0x14   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 554 , // 578  - no
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x64  , 2 , 580 , // 579  - nqo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x64  , 2 , 580 , // 580  - nqo-gn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 582 , // 581  - nr
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 582 , // 582  - nr-za
-            0x6c   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 584 , // 583  - nso
-            0x46c  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 584 , // 584  - nso-za
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x114 , 1 , 586 , // 585  - nus
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x114 , 1 , 586 , // 586  - nus-ss
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 588 , // 587  - nyn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 588 , // 588  - nyn-ug
-            0x82   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 590 , // 589  - oc
-            0x482  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 590 , // 590  - oc-fr
-            0x72   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 592 , // 591  - om
-            0x472  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 592 , // 592  - om-et
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 593 , // 593  - om-ke
-            0x48   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 595 , // 594  - or
-            0x448  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 595 , // 595  - or-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 , 597 , // 596  - os
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 , 597 , // 597  - os-ge
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 , 598 , // 598  - os-ru
-            0x46   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 602 , // 599  - pa
-            0x7c46 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 , 601 , // 600  - pa-arab
-            0x846  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 , 601 , // 601  - pa-arab-pk
-            0x446  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 602 , // 602  - pa-in
-            0x79   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 , 604 , // 603  - pap
-            0x479  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 , 604 , // 604  - pap-029
-            0x15   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xbf  , 1 , 606 , // 605  - pl
-            0x415  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xbf  , 1 , 606 , // 606  - pl-pl
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 608 , // 607  - prg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 608 , // 608  - prg-001
-            0x8c   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3   , 2 , 610 , // 609  - prs
-            0x48c  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3   , 2 , 610 , // 610  - prs-af
-            0x63   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 , 612 , // 611  - ps
-            0x463  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 , 612 , // 612  - ps-af
-            0x16   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x20  , 1 , 615 , // 613  - pt
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9   , 1 , 614 , // 614  - pt-ao
-            0x416  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x20  , 1 , 615 , // 615  - pt-br
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 , 616 , // 616  - pt-ch
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x39  , 1 , 617 , // 617  - pt-cv
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x45  , 1 , 618 , // 618  - pt-gq
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc4  , 1 , 619 , // 619  - pt-gw
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x93  , 1 , 620 , // 620  - pt-lu
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x97  , 1 , 621 , // 621  - pt-mo
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa8  , 1 , 622 , // 622  - pt-mz
-            0x816  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc1  , 1 , 623 , // 623  - pt-pt
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe9  , 1 , 624 , // 624  - pt-st
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f60e7, 1 , 625 , // 625  - pt-tl
-            0x901  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x7c  , 1 , 626 , // 626  - qps-latn-x-sh
-            0x501  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xf4  , 1 , 627 , // 627  - qps-ploc
-            0x5fe  , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 , 628 , // 628  - qps-ploca
-            0x9ff  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 , 629 , // 629  - qps-plocm
-            0x86   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 , 632 , // 630  - quc
-            0x7c86 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 , 632 , // 631  - quc-latn
-            0x486  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 , 632 , // 632  - quc-latn-gt
-            0x6b   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 , 634 , // 633  - quz
-            0x46b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 , 634 , // 634  - quz-bo
-            0x86b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x42  , 1 , 635 , // 635  - quz-ec
-            0xc6b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xbb  , 1 , 636 , // 636  - quz-pe
-            0x17   , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 , 638 , // 637  - rm
-            0x417  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 , 638 , // 638  - rm-ch
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 , 640 , // 639  - rn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 , 640 , // 640  - rn-bi
-            0x18   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xc8  , 1 , 643 , // 641  - ro
-            0x818  , 0x4e2 , 0x354 , 0x2   , 0x1f4 , 0x98  , 1 , 642 , // 642  - ro-md
-            0x418  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xc8  , 1 , 643 , // 643  - ro-ro
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 645 , // 644  - rof
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 645 , // 645  - rof-tz
-            0x19   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 651 , // 646  - ru
-            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x1d  , 1 , 647 , // 647  - ru-by
-            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x82  , 1 , 648 , // 648  - ru-kg
-            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x89  , 1 , 649 , // 649  - ru-kz
-            0x819  , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x98  , 1 , 650 , // 650  - ru-md
-            0x419  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 651 , // 651  - ru-ru
-            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0xf1  , 1 , 652 , // 652  - ru-ua
-            0x87   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xcc  , 1 , 654 , // 653  - rw
-            0x487  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xcc  , 1 , 654 , // 654  - rw-rw
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 656 , // 655  - rwk
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 656 , // 656  - rwk-tz
-            0x4f   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 658 , // 657  - sa
-            0x44f  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 658 , // 658  - sa-in
-            0x85   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 660 , // 659  - sah
-            0x485  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 660 , // 660  - sah-ru
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 662 , // 661  - saq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 662 , // 662  - saq-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 664 , // 663  - sbp
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 664 , // 664  - sbp-tz
-            0x59   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 , 667 , // 665  - sd
-            0x7c59 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 , 667 , // 666  - sd-arab
-            0x859  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 , 667 , // 667  - sd-arab-pk
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 669 , // 668  - sd-deva
-            0x459  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 669 , // 669  - sd-deva-in
-            0x3b   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 672 , // 670  - se
-            0xc3b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 671 , // 671  - se-fi
-            0x43b  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 672 , // 672  - se-no
-            0x83b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 673 , // 673  - se-se
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 , 675 , // 674  - seh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 , 675 , // 675  - seh-mz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 677 , // 676  - ses
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 677 , // 677  - ses-ml
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 , 679 , // 678  - sg
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 , 679 , // 679  - sg-cf
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 684 , // 680  - shi
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 682 , // 681  - shi-latn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 682 , // 682  - shi-latn-ma
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 684 , // 683  - shi-tfng
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 684 , // 684  - shi-tfng-ma
-            0x5b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 , 686 , // 685  - si
-            0x45b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 , 686 , // 686  - si-lk
-            0x1b   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x8f  , 1 , 688 , // 687  - sk
-            0x41b  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x8f  , 1 , 688 , // 688  - sk-sk
-            0x24   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xd4  , 1 , 690 , // 689  - sl
-            0x424  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xd4  , 1 , 690 , // 690  - sl-si
-            0x783b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 693 , // 691  - sma
-            0x183b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 692 , // 692  - sma-no
-            0x1c3b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 693 , // 693  - sma-se
-            0x7c3b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 696 , // 694  - smj
-            0x103b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 695 , // 695  - smj-no
-            0x143b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 696 , // 696  - smj-se
-            0x703b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 698 , // 697  - smn
-            0x243b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 698 , // 698  - smn-fi
-            0x743b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 700 , // 699  - sms
-            0x203b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 700 , // 700  - sms-fi
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 , 703 , // 701  - sn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 , 703 , // 702  - sn-latn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 , 703 , // 703  - sn-latn-zw
-            0x77   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd8  , 1 , 708 , // 704  - so
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3e  , 1 , 705 , // 705  - so-dj
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 706 , // 706  - so-et
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 707 , // 707  - so-ke
-            0x477  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd8  , 1 , 708 , // 708  - so-so
-            0x1c   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x6   , 1 , 710 , // 709  - sq
-            0x41c  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x6   , 1 , 710 , // 710  - sq-al
-            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x4ca2, 1 , 711 , // 711  - sq-mk
-            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x974941, 1 , 712 , // 712  - sq-xk
-            0x7c1a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 , 724 , // 713  - sr
-            0x6c1a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10f , 1 , 718 , // 714  - sr-cyrl
-            0x1c1a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x19  , 1 , 715 , // 715  - sr-cyrl-ba
-            0xc1a  , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10d , 1 , 716 , // 716  - sr-cyrl-cs
-            0x301a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10e , 1 , 717 , // 717  - sr-cyrl-me
-            0x281a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10f , 1 , 718 , // 718  - sr-cyrl-rs
-            0x1000 , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x974941, 1 , 719 , // 719  - sr-cyrl-xk
-            0x701a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 , 724 , // 720  - sr-latn
-            0x181a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 , 721 , // 721  - sr-latn-ba
-            0x81a  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10d , 1 , 722 , // 722  - sr-latn-cs
-            0x2c1a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10e , 1 , 723 , // 723  - sr-latn-me
-            0x241a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 , 724 , // 724  - sr-latn-rs
-            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x974941, 1 , 725 , // 725  - sr-latn-xk
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 728 , // 726  - ss
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x104 , 1 , 727 , // 727  - ss-sz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 728 , // 728  - ss-za
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 730 , // 729  - ssy
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 730 , // 730  - ssy-er
-            0x30   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 733 , // 731  - st
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x92  , 1 , 732 , // 732  - st-ls
-            0x430  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 733 , // 733  - st-za
-            0x1d   , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 737 , // 734  - sv
-            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x9906f5, 1 , 735 , // 735  - sv-ax
-            0x81d  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 736 , // 736  - sv-fi
-            0x41d  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 737 , // 737  - sv-se
-            0x41   , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x81  , 1 , 740 , // 738  - sw
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x2c  , 1 , 739 , // 739  - sw-cd
-            0x441  , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x81  , 1 , 740 , // 740  - sw-ke
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xef  , 1 , 741 , // 741  - sw-tz
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xf0  , 1 , 742 , // 742  - sw-ug
-            0x1000 , 0x0   , 0x1   , 0x0   , 0x1f4 , 0x2c  , 1 , 744 , // 743  - swc
-            0x1000 , 0x0   , 0x1   , 0x0   , 0x1f4 , 0x2c  , 1 , 744 , // 744  - swc-cd
-            0x5a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xde  , 1 , 746 , // 745  - syr
-            0x45a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xde  , 1 , 746 , // 746  - syr-sy
-            0x49   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 748 , // 747  - ta
-            0x449  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 748 , // 748  - ta-in
-            0x849  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 , 749 , // 749  - ta-lk
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa7  , 1 , 750 , // 750  - ta-my
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd7  , 1 , 751 , // 751  - ta-sg
-            0x4a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 753 , // 752  - te
-            0x44a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 753 , // 753  - te-in
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 756 , // 754  - teo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 755 , // 755  - teo-ke
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 756 , // 756  - teo-ug
-            0x28   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 , 759 , // 757  - tg
-            0x7c28 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 , 759 , // 758  - tg-cyrl
-            0x428  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 , 759 , // 759  - tg-cyrl-tj
-            0x1e   , 0x36a , 0x36a , 0x2725, 0x5166, 0xe3  , 1 , 761 , // 760  - th
-            0x41e  , 0x36a , 0x36a , 0x2725, 0x5166, 0xe3  , 1 , 761 , // 761  - th-th
-            0x73   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 763 , // 762  - ti
-            0x873  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 763 , // 763  - ti-er
-            0x473  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 764 , // 764  - ti-et
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 766 , // 765  - tig
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 766 , // 766  - tig-er
-            0x42   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xee  , 1 , 768 , // 767  - tk
-            0x442  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xee  , 1 , 768 , // 768  - tk-tm
-            0x32   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 771 , // 769  - tn
-            0x832  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13  , 1 , 770 , // 770  - tn-bw
-            0x432  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 771 , // 771  - tn-za
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe7  , 1 , 773 , // 772  - to
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe7  , 1 , 773 , // 773  - to-to
-            0x1f   , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0xeb  , 1 , 776 , // 774  - tr
-            0x1000 , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x3b  , 1 , 775 , // 775  - tr-cy
-            0x41f  , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0xeb  , 1 , 776 , // 776  - tr-tr
-            0x31   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 778 , // 777  - ts
-            0x431  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 778 , // 778  - ts-za
-            0x44   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 780 , // 779  - tt
-            0x444  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 780 , // 780  - tt-ru
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 , 782 , // 781  - twq
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 , 782 , // 782  - twq-ne
-            0x5f   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 , 787 , // 783  - tzm
-            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 , 785 , // 784  - tzm-arab
-            0x45f  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 , 785 , // 785  - tzm-arab-ma
-            0x7c5f , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 , 787 , // 786  - tzm-latn
-            0x85f  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 , 787 , // 787  - tzm-latn-dz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 788 , // 788  - tzm-latn-ma
-            0x785f , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 790 , // 789  - tzm-tfng
-            0x105f , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 790 , // 790  - tzm-tfng-ma
-            0x80   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x2d  , 1 , 792 , // 791  - ug
-            0x480  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x2d  , 1 , 792 , // 792  - ug-cn
-            0x22   , 0x4e3 , 0x362 , 0x2721, 0x1f4 , 0xf1  , 1 , 794 , // 793  - uk
-            0x422  , 0x4e3 , 0x362 , 0x2721, 0x1f4 , 0xf1  , 1 , 794 , // 794  - uk-ua
-            0x20   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 1 , 797 , // 795  - ur
-            0x820  , 0x4e8 , 0x2d0 , 0x2   , 0x1f4 , 0x71  , 2 , 796 , // 796  - ur-in
-            0x420  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 1 , 797 , // 797  - ur-pk
-            0x43   , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 , 804 , // 798  - uz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 , 800 , // 799  - uz-arab
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 , 800 , // 800  - uz-arab-af
-            0x7843 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xf7  , 1 , 802 , // 801  - uz-cyrl
-            0x843  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xf7  , 1 , 802 , // 802  - uz-cyrl-uz
-            0x7c43 , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 , 804 , // 803  - uz-latn
-            0x443  , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 , 804 , // 804  - uz-latn-uz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 , 809 , // 805  - vai
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 , 807 , // 806  - vai-latn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 , 807 , // 807  - vai-latn-lr
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 , 809 , // 808  - vai-vaii
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 , 809 , // 809  - vai-vaii-lr
-            0x33   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 811 , // 810  - ve
-            0x433  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 811 , // 811  - ve-za
-            0x2a   , 0x4ea , 0x4ea , 0x2710, 0x1f4 , 0xfb  , 1 , 813 , // 812  - vi
-            0x42a  , 0x4ea , 0x4ea , 0x2710, 0x1f4 , 0xfb  , 1 , 813 , // 813  - vi-vn
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 815 , // 814  - vo
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 815 , // 815  - vo-001
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 817 , // 816  - vun
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 817 , // 817  - vun-tz
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 , 819 , // 818  - wae
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 , 819 , // 819  - wae-ch
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 821 , // 820  - wal
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 821 , // 821  - wal-et
-            0x88   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 823 , // 822  - wo
-            0x488  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 823 , // 823  - wo-sn
-            0x1007f, 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 , -1  , // 824  - x-iv_mathan
-            0x34   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 826 , // 825  - xh
-            0x434  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 826 , // 826  - xh-za
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 828 , // 827  - xog
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 828 , // 828  - xog-ug
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 830 , // 829  - yav
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 830 , // 830  - yav-cm
-            0x3d   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 832 , // 831  - yi
-            0x43d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 832 , // 832  - yi-001
-            0x6a   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 835 , // 833  - yo
-            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x1c  , 1 , 834 , // 834  - yo-bj
-            0x46a  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 835 , // 835  - yo-ng
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x68  , 1 , 837 , // 836  - yue
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x68  , 1 , 837 , // 837  - yue-hk
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 840 , // 838  - zgh
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 840 , // 839  - zgh-tfng
-            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 840 , // 840  - zgh-tfng-ma
-            0x7804 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 , 844 , // 841  - zh
-            0x4    , 0x3a8 , 0x3a8 , 0x0   , 0x1f4 , 0x2d  , 1 , 844 , // 842  - zh-chs
-            0x7c04 , 0x3b6 , 0x3b6 , 0x0   , 0x1f4 , 0x68  , 1 , 851 , // 843  - zh-cht
-            0x804  , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 , 844 , // 844  - zh-cn
-            0x50804, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 , 844 , // 845  - zh-cn_phoneb
-            0x20804, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 , 844 , // 846  - zh-cn_stroke
-            0x4    , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 , 844 , // 847  - zh-hans
-            0x1000 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x68  , 1 , 848 , // 848  - zh-hans-hk
-            0x1000 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x97  , 1 , 849 , // 849  - zh-hans-mo
-            0x7c04 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 , 851 , // 850  - zh-hant
-            0xc04  , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 , 851 , // 851  - zh-hk
-            0x40c04, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 , 851 , // 852  - zh-hk_radstr
-            0x1404 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 , 853 , // 853  - zh-mo
-            0x41404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 , 853 , // 854  - zh-mo_radstr
-            0x21404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 , 853 , // 855  - zh-mo_stroke
-            0x1004 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 , 856 , // 856  - zh-sg
-            0x51004, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 , 856 , // 857  - zh-sg_phoneb
-            0x21004, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 , 856 , // 858  - zh-sg_stroke
-            0x404  , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 , 859 , // 859  - zh-tw
-            0x30404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 , 859 , // 860  - zh-tw_pronun
-            0x40404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 , 859 , // 861  - zh-tw_radstr
-            0x35   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 863 , // 862  - zu
-            0x435  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 863 , // 863  - zu-za
+         // Lcid,  Ansi CP, Oem CP, MAC CP, EBCDIC CP, Geo Id, digit substitution, Specific culture index, keyboard Id, Console locale index  // index - locale name
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 3   , 240 , // 0    - aa
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3e  , 1 , 1   , 240 , // 1    - aa-dj
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 2   , 240 , // 2    - aa-er
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 3   , 240 , // 3    - aa-et
+            0x36   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 6   , 6   , // 4    - af
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfe  , 1 , 5   , 240 , // 5    - af-na
+            0x436  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 6   , 6   , // 6    - af-za
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 8   , 240 , // 7    - agq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 8   , 240 , // 8    - agq-cm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 , 10  , 240 , // 9    - ak
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 , 10  , 240 , // 10   - ak-gh
+            0x5e   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 12  , 143 , // 11   - am
+            0x45e  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 12  , 143 , // 12   - am-et
+            0x1    , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 , 33  , 143 , // 13   - ar
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x989e, 0 , 14  , 240 , // 14   - ar-001
+            0x3801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xe0  , 0 , 15  , 143 , // 15   - ar-ae
+            0x3c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x11  , 0 , 16  , 143 , // 16   - ar-bh
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3e  , 0 , 17  , 240 , // 17   - ar-dj
+            0x1401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x4   , 1 , 18  , 300 , // 18   - ar-dz
+            0xc01  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x43  , 0 , 19  , 143 , // 19   - ar-eg
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x47  , 0 , 20  , 240 , // 20   - ar-er
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x75  , 0 , 21  , 240 , // 21   - ar-il
+            0x801  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 , 22  , 143 , // 22   - ar-iq
+            0x2c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x7e  , 0 , 23  , 143 , // 23   - ar-jo
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x32  , 0 , 24  , 240 , // 24   - ar-km
+            0x3401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x88  , 0 , 25  , 143 , // 25   - ar-kw
+            0x3001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x8b  , 0 , 26  , 143 , // 26   - ar-lb
+            0x1001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x94  , 1 , 27  , 143 , // 27   - ar-ly
+            0x1801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 , 28  , 300 , // 28   - ar-ma
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xa2  , 0 , 29  , 240 , // 29   - ar-mr
+            0x2001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xa4  , 0 , 30  , 143 , // 30   - ar-om
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xb8  , 0 , 31  , 240 , // 31   - ar-ps
+            0x4001 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xc5  , 0 , 32  , 143 , // 32   - ar-qa
+            0x401  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 , 33  , 143 , // 33   - ar-sa
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xdb  , 0 , 34  , 240 , // 34   - ar-sd
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xd8  , 0 , 35  , 240 , // 35   - ar-so
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x114 , 0 , 36  , 240 , // 36   - ar-ss
+            0x2801 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xde  , 0 , 37  , 143 , // 37   - ar-sy
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x29  , 0 , 38  , 240 , // 38   - ar-td
+            0x1c01 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xea  , 1 , 39  , 300 , // 39   - ar-tn
+            0x2401 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x105 , 0 , 40  , 143 , // 40   - ar-ye
+            0x7a   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 , 42  , 42  , // 41   - arn
+            0x47a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 , 42  , 42  , // 42   - arn-cl
+            0x4d   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 44  , 143 , // 43   - as
+            0x44d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 44  , 143 , // 44   - as-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 46  , 240 , // 45   - asa
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 46  , 240 , // 46   - asa-tz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd9  , 1 , 48  , 240 , // 47   - ast
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd9  , 1 , 48  , 240 , // 48   - ast-es
+            0x2c   , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 , 53  , 53  , // 49   - az
+            0x742c , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x5   , 1 , 51  , 51  , // 50   - az-cyrl
+            0x82c  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x5   , 1 , 51  , 51  , // 51   - az-cyrl-az
+            0x782c , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 , 53  , 53  , // 52   - az-latn
+            0x42c  , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x5   , 1 , 53  , 53  , // 53   - az-latn-az
+            0x6d   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 55  , 55  , // 54   - ba
+            0x46d  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 55  , 55  , // 55   - ba-ru
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 57  , 240 , // 56   - bas
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 57  , 240 , // 57   - bas-cm
+            0x23   , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x1d  , 1 , 59  , 59  , // 58   - be
+            0x423  , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x1d  , 1 , 59  , 59  , // 59   - be-by
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x107 , 1 , 61  , 240 , // 60   - bem
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x107 , 1 , 61  , 240 , // 61   - bem-zm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 63  , 240 , // 62   - bez
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 63  , 240 , // 63   - bez-tz
+            0x2    , 0x4e3 , 0x362 , 0x2717, 0x5221, 0x23  , 1 , 65  , 65  , // 64   - bg
+            0x402  , 0x4e3 , 0x362 , 0x2717, 0x5221, 0x23  , 1 , 65  , 65  , // 65   - bg-bg
+            0x66   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 67  , 240 , // 66   - bin
+            0x466  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 67  , 240 , // 67   - bin-ng
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 70  , 240 , // 68   - bm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 70  , 240 , // 69   - bm-latn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 70  , 240 , // 70   - bm-latn-ml
+            0x45   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x17  , 1 , 72  , 143 , // 71   - bn
+            0x845  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x17  , 1 , 72  , 143 , // 72   - bn-bd
+            0x445  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 73  , 143 , // 73   - bn-in
+            0x51   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 75  , 143 , // 74   - bo
+            0x451  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 75  , 143 , // 75   - bo-cn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 76  , 240 , // 76   - bo-in
+            0x7e   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 78  , 78  , // 77   - br
+            0x47e  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 78  , 78  , // 78   - br-fr
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 80  , 240 , // 79   - brx
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 80  , 240 , // 80   - brx-in
+            0x781a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 , 85  , 85  , // 81   - bs
+            0x641a , 0x4e3 , 0x357 , 0x2762, 0x366 , 0x19  , 1 , 83  , 83  , // 82   - bs-cyrl
+            0x201a , 0x4e3 , 0x357 , 0x2762, 0x366 , 0x19  , 1 , 83  , 83  , // 83   - bs-cyrl-ba
+            0x681a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 , 85  , 85  , // 84   - bs-latn
+            0x141a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 , 85  , 85  , // 85   - bs-latn-ba
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 87  , 240 , // 86   - byn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 87  , 240 , // 87   - byn-er
+            0x3    , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 , 90  , 90  , // 88   - ca
+            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x8   , 1 , 89  , 240 , // 89   - ca-ad
+            0x403  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 , 90  , 90  , // 90   - ca-es
+            0x803  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 , 91  , 90  , // 91   - ca-es-valencia
+            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x54  , 1 , 92  , 240 , // 92   - ca-fr
+            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x76  , 1 , 93  , 240 , // 93   - ca-it
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 , 95  , 240 , // 94   - ce
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 , 95  , 240 , // 95   - ce-ru
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 97  , 240 , // 96   - cgg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 97  , 240 , // 97   - cgg-ug
+            0x5c   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 , 100 , 240 , // 98   - chr
+            0x7c5c , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 , 100 , 240 , // 99   - chr-cher
+            0x45c  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 , 100 , 240 , // 100  - chr-cher-us
+            0x83   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 102 , 102 , // 101  - co
+            0x483  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 102 , 102 , // 102  - co-fr
+            0x5    , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x4b  , 1 , 104 , 104 , // 103  - cs
+            0x405  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x4b  , 1 , 104 , 104 , // 104  - cs-cz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 , 106 , 240 , // 105  - cu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 , 106 , 240 , // 106  - cu-ru
+            0x52   , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 , 108 , 108 , // 107  - cy
+            0x452  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 , 108 , 108 , // 108  - cy-gb
+            0x6    , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x3d  , 1 , 110 , 110 , // 109  - da
+            0x406  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x3d  , 1 , 110 , 110 , // 110  - da-dk
+            0x1000 , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0x5d  , 1 , 111 , 240 , // 111  - da-gl
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 113 , 240 , // 112  - dav
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 113 , 240 , // 113  - dav-ke
+            0x7    , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 , 118 , 118 , // 114  - de
+            0xc07  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xe   , 1 , 115 , 115 , // 115  - de-at
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x15  , 1 , 116 , 240 , // 116  - de-be
+            0x807  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 , 117 , 117 , // 117  - de-ch
+            0x407  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 , 118 , 118 , // 118  - de-de
+            0x10407, 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x5e  , 1 , 118 , 118 , // 119  - de-de_phoneb
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 , 120 , 240 , // 120  - de-it
+            0x1407 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x91  , 1 , 121 , 121 , // 121  - de-li
+            0x1007 , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0x93  , 1 , 122 , 122 , // 122  - de-lu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 , 124 , 240 , // 123  - dje
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 , 124 , 240 , // 124  - dje-ne
+            0x7c2e , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 , 126 , 126 , // 125  - dsb
+            0x82e  , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 , 126 , 126 , // 126  - dsb-de
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 128 , 240 , // 127  - dua
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 128 , 240 , // 128  - dua-cm
+            0x65   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa5  , 1 , 130 , 143 , // 129  - dv
+            0x465  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa5  , 1 , 130 , 143 , // 130  - dv-mv
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd2  , 1 , 132 , 240 , // 131  - dyo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd2  , 1 , 132 , 240 , // 132  - dyo-sn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x22  , 2 , 134 , 240 , // 133  - dz
+            0xc51  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x22  , 2 , 134 , 240 , // 134  - dz-bt
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 136 , 240 , // 135  - ebu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 136 , 240 , // 136  - ebu-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 , 138 , 240 , // 137  - ee
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x59  , 1 , 138 , 240 , // 138  - ee-gh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe8  , 1 , 139 , 240 , // 139  - ee-tg
+            0x8    , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x62  , 1 , 142 , 142 , // 140  - el
+            0x1000 , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x3b  , 1 , 141 , 240 , // 141  - el-cy
+            0x408  , 0x4e5 , 0x2e1 , 0x2716, 0x4f31, 0x62  , 1 , 142 , 142 , // 142  - el-gr
+            0x9    , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 , 240 , 240 , // 143  - en
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x989e, 1 , 144 , 240 , // 144  - en-001
+            0x2409 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 , 145 , 145 , // 145  - en-029
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x292d, 1 , 146 , 240 , // 146  - en-150
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x2   , 1 , 147 , 240 , // 147  - en-ag
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12c , 1 , 148 , 240 , // 148  - en-ai
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa   , 1 , 149 , 240 , // 149  - en-as
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe   , 1 , 150 , 240 , // 150  - en-at
+            0xc09  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc   , 1 , 151 , 151 , // 151  - en-au
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12  , 1 , 152 , 240 , // 152  - en-bb
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15  , 1 , 153 , 240 , // 153  - en-be
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 , 154 , 240 , // 154  - en-bi
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14  , 1 , 155 , 240 , // 155  - en-bm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x16  , 1 , 156 , 240 , // 156  - en-bs
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13  , 1 , 157 , 240 , // 157  - en-bw
+            0x2809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x18  , 1 , 158 , 158 , // 158  - en-bz
+            0x1009 , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 , 159 , 159 , // 159  - en-ca
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x137 , 1 , 160 , 240 , // 160  - en-cc
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 , 161 , 240 , // 161  - en-ch
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x138 , 1 , 162 , 240 , // 162  - en-ck
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x31  , 1 , 163 , 240 , // 163  - en-cm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x135 , 1 , 164 , 240 , // 164  - en-cx
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b  , 1 , 165 , 240 , // 165  - en-cy
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 , 166 , 240 , // 166  - en-de
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3d  , 1 , 167 , 240 , // 167  - en-dk
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x3f  , 1 , 168 , 240 , // 168  - en-dm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x47  , 1 , 169 , 240 , // 169  - en-er
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4d  , 1 , 170 , 240 , // 170  - en-fi
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x4e  , 1 , 171 , 240 , // 171  - en-fj
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13b , 1 , 172 , 240 , // 172  - en-fk
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x50  , 1 , 173 , 240 , // 173  - en-fm
+            0x809  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 , 174 , 174 , // 174  - en-gb
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x5b  , 1 , 175 , 240 , // 175  - en-gd
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x144 , 1 , 176 , 240 , // 176  - en-gg
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x59  , 1 , 177 , 240 , // 177  - en-gh
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x5a  , 1 , 178 , 240 , // 178  - en-gi
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x56  , 1 , 179 , 240 , // 179  - en-gm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x142 , 1 , 180 , 240 , // 180  - en-gu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x65  , 1 , 181 , 240 , // 181  - en-gy
+            0x3c09 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x68  , 1 , 182 , 240 , // 182  - en-hk
+            0x3809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 183 , 240 , // 183  - en-id
+            0x1809 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 , 184 , 184 , // 184  - en-ie
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x75  , 1 , 185 , 240 , // 185  - en-il
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x3b16, 1 , 186 , 240 , // 186  - en-im
+            0x4009 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x71  , 1 , 187 , 187 , // 187  - en-in
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x72  , 1 , 188 , 240 , // 188  - en-io
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x148 , 1 , 189 , 240 , // 189  - en-je
+            0x2009 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x7c  , 1 , 190 , 190 , // 190  - en-jm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x81  , 1 , 191 , 240 , // 191  - en-ke
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x85  , 1 , 192 , 240 , // 192  - en-ki
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xcf  , 1 , 193 , 240 , // 193  - en-kn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x133 , 1 , 194 , 240 , // 194  - en-ky
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xda  , 1 , 195 , 240 , // 195  - en-lc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x8e  , 1 , 196 , 240 , // 196  - en-lr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x92  , 1 , 197 , 240 , // 197  - en-ls
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x95  , 1 , 198 , 240 , // 198  - en-mg
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc7  , 1 , 199 , 240 , // 199  - en-mh
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x97  , 1 , 200 , 240 , // 200  - en-mo
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x151 , 1 , 201 , 240 , // 201  - en-mp
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14c , 1 , 202 , 240 , // 202  - en-ms
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa3  , 1 , 203 , 240 , // 203  - en-mt
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa0  , 1 , 204 , 240 , // 204  - en-mu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9c  , 1 , 205 , 240 , // 205  - en-mw
+            0x4409 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xa7  , 1 , 206 , 206 , // 206  - en-my
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfe  , 1 , 207 , 240 , // 207  - en-na
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x150 , 1 , 208 , 240 , // 208  - en-nf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 209 , 240 , // 209  - en-ng
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb0  , 1 , 210 , 240 , // 210  - en-nl
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb4  , 1 , 211 , 240 , // 211  - en-nr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x14f , 1 , 212 , 240 , // 212  - en-nu
+            0x1409 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb7  , 1 , 213 , 213 , // 213  - en-nz
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc2  , 1 , 214 , 240 , // 214  - en-pg
+            0x3409 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 , 215 , 215 , // 215  - en-ph
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xbe  , 1 , 216 , 240 , // 216  - en-pk
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x153 , 1 , 217 , 240 , // 217  - en-pn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xca  , 1 , 218 , 240 , // 218  - en-pr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc3  , 1 , 219 , 240 , // 219  - en-pw
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xcc  , 1 , 220 , 240 , // 220  - en-rw
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x1e  , 1 , 221 , 240 , // 221  - en-sb
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd0  , 1 , 222 , 240 , // 222  - en-sc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xdb  , 1 , 223 , 240 , // 223  - en-sd
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdd  , 1 , 224 , 240 , // 224  - en-se
+            0x4809 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xd7  , 1 , 225 , 225 , // 225  - en-sg
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x157 , 1 , 226 , 240 , // 226  - en-sh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd4  , 1 , 227 , 240 , // 227  - en-si
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd5  , 1 , 228 , 240 , // 228  - en-sl
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x114 , 1 , 229 , 240 , // 229  - en-ss
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x78f7, 1 , 230 , 240 , // 230  - en-sx
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x104 , 1 , 231 , 240 , // 231  - en-sz
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15d , 1 , 232 , 240 , // 232  - en-tc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15b , 1 , 233 , 240 , // 233  - en-tk
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe7  , 1 , 234 , 240 , // 234  - en-to
+            0x2c09 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe1  , 1 , 235 , 235 , // 235  - en-tt
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xec  , 1 , 236 , 240 , // 236  - en-tv
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xef  , 1 , 237 , 240 , // 237  - en-tz
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xf0  , 1 , 238 , 240 , // 238  - en-ug
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9a55d40, 1 , 239 , 240 , // 239  - en-um
+            0x409  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 , 240 , 240 , // 240  - en-us
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xf8  , 1 , 241 , 240 , // 241  - en-vc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15f , 1 , 242 , 240 , // 242  - en-vg
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xfc  , 1 , 243 , 240 , // 243  - en-vi
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xae  , 1 , 244 , 240 , // 244  - en-vu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x103 , 1 , 245 , 240 , // 245  - en-ws
+            0x1c09 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xd1  , 1 , 246 , 246 , // 246  - en-za
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x107 , 1 , 247 , 240 , // 247  - en-zm
+            0x3009 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x108 , 1 , 248 , 248 , // 248  - en-zw
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 250 , 240 , // 249  - eo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 250 , 240 , // 250  - eo-001
+            0xa    , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 , 262 , 262 , // 251  - es
+            0x580a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x9a55d41, 1 , 252 , 240 , // 252  - es-419
+            0x2c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb   , 1 , 253 , 253 , // 253  - es-ar
+            0x400a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 , 254 , 254 , // 254  - es-bo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x20  , 1 , 255 , 240 , // 255  - es-br
+            0x340a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x2e  , 1 , 256 , 256 , // 256  - es-cl
+            0x240a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x33  , 1 , 257 , 257 , // 257  - es-co
+            0x140a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x36  , 1 , 258 , 258 , // 258  - es-cr
+            0x5c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x38  , 1 , 259 , 240 , // 259  - es-cu
+            0x1c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x41  , 1 , 260 , 260 , // 260  - es-do
+            0x300a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x42  , 1 , 261 , 261 , // 261  - es-ec
+            0xc0a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 , 262 , 262 , // 262  - es-es
+            0x40a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xd9  , 1 , 263 , 263 , // 263  - es-es_tradnl
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x45  , 1 , 264 , 240 , // 264  - es-gq
+            0x100a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 , 265 , 265 , // 265  - es-gt
+            0x480a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x6a  , 1 , 266 , 266 , // 266  - es-hn
+            0x80a  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xa6  , 1 , 267 , 267 , // 267  - es-mx
+            0x4c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb6  , 1 , 268 , 268 , // 268  - es-ni
+            0x180a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xc0  , 1 , 269 , 269 , // 269  - es-pa
+            0x280a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xbb  , 1 , 270 , 270 , // 270  - es-pe
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xc9  , 1 , 271 , 240 , // 271  - es-ph
+            0x500a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xca  , 1 , 272 , 272 , // 272  - es-pr
+            0x3c0a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 , 273 , 273 , // 273  - es-py
+            0x440a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x48  , 1 , 274 , 274 , // 274  - es-sv
+            0x540a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf4  , 1 , 275 , 275 , // 275  - es-us
+            0x380a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf6  , 1 , 276 , 276 , // 276  - es-uy
+            0x200a , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xf9  , 1 , 277 , 277 , // 277  - es-ve
+            0x25   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x46  , 1 , 279 , 279 , // 278  - et
+            0x425  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x46  , 1 , 279 , 279 , // 279  - et-ee
+            0x2d   , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0xd9  , 1 , 281 , 240 , // 280  - eu
+            0x42d  , 0x4e4 , 0x352 , 0x2   , 0x1f4 , 0xd9  , 1 , 281 , 240 , // 281  - eu-es
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 283 , 240 , // 282  - ewo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 283 , 240 , // 283  - ewo-cm
+            0x29   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x74  , 0 , 285 , 143 , // 284  - fa
+            0x429  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x74  , 0 , 285 , 143 , // 285  - fa-ir
+            0x67   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 290 , 290 , // 286  - ff
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x31  , 1 , 287 , 240 , // 287  - ff-cm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x64  , 1 , 288 , 240 , // 288  - ff-gn
+            0x7c67 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 290 , 290 , // 289  - ff-latn
+            0x867  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 290 , 290 , // 290  - ff-latn-sn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa2  , 1 , 291 , 240 , // 291  - ff-mr
+            0x467  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xaf  , 1 , 292 , 240 , // 292  - ff-ng
+            0xb    , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 294 , 294 , // 293  - fi
+            0x40b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 294 , 294 , // 294  - fi-fi
+            0x64   , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 , 296 , 296 , // 295  - fil
+            0x464  , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xc9  , 1 , 296 , 296 , // 296  - fil-ph
+            0x38   , 0x4e4 , 0x352 , 0x275f, 0x4f35, 0x51  , 1 , 299 , 299 , // 297  - fo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3d  , 1 , 298 , 240 , // 298  - fo-dk
+            0x438  , 0x4e4 , 0x352 , 0x275f, 0x4f35, 0x51  , 1 , 299 , 299 , // 299  - fo-fo
+            0xc    , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 316 , 316 , // 300  - fr
+            0x1c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x993248, 1 , 301 , 316 , // 301  - fr-029
+            0x80c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x15  , 1 , 302 , 302 , // 302  - fr-be
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xf5  , 1 , 303 , 240 , // 303  - fr-bf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x26  , 1 , 304 , 240 , // 304  - fr-bi
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x1c  , 1 , 305 , 240 , // 305  - fr-bj
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9a55c4f, 1 , 306 , 240 , // 306  - fr-bl
+            0xc0c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x27  , 1 , 307 , 307 , // 307  - fr-ca
+            0x240c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x2c  , 1 , 308 , 240 , // 308  - fr-cd
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x37  , 1 , 309 , 240 , // 309  - fr-cf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x2b  , 1 , 310 , 240 , // 310  - fr-cg
+            0x100c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 , 311 , 311 , // 311  - fr-ch
+            0x300c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x77  , 1 , 312 , 240 , // 312  - fr-ci
+            0x2c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x31  , 1 , 313 , 240 , // 313  - fr-cm
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x3e  , 1 , 314 , 240 , // 314  - fr-dj
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 , 315 , 240 , // 315  - fr-dz
+            0x40c  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 316 , 316 , // 316  - fr-fr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x57  , 1 , 317 , 240 , // 317  - fr-ga
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x13d , 1 , 318 , 240 , // 318  - fr-gf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x64  , 1 , 319 , 240 , // 319  - fr-gn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x141 , 1 , 320 , 240 , // 320  - fr-gp
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x45  , 1 , 321 , 240 , // 321  - fr-gq
+            0x3c0c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x67  , 1 , 322 , 240 , // 322  - fr-ht
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x32  , 1 , 323 , 240 , // 323  - fr-km
+            0x140c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 , 324 , 324 , // 324  - fr-lu
+            0x380c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9f  , 1 , 325 , 240 , // 325  - fr-ma
+            0x180c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9e  , 1 , 326 , 326 , // 326  - fr-mc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x7bda, 1 , 327 , 240 , // 327  - fr-mf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x95  , 1 , 328 , 240 , // 328  - fr-mg
+            0x340c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x9d  , 1 , 329 , 240 , // 329  - fr-ml
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14a , 1 , 330 , 240 , // 330  - fr-mq
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa2  , 1 , 331 , 240 , // 331  - fr-mr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xa0  , 1 , 332 , 240 , // 332  - fr-mu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14e , 1 , 333 , 240 , // 333  - fr-nc
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xad  , 1 , 334 , 240 , // 334  - fr-ne
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x13e , 1 , 335 , 240 , // 335  - fr-pf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xce  , 1 , 336 , 240 , // 336  - fr-pm
+            0x200c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xc6  , 1 , 337 , 240 , // 337  - fr-re
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xcc  , 1 , 338 , 240 , // 338  - fr-rw
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd0  , 1 , 339 , 240 , // 339  - fr-sc
+            0x280c , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 340 , 240 , // 340  - fr-sn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xde  , 1 , 341 , 240 , // 341  - fr-sy
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x29  , 1 , 342 , 240 , // 342  - fr-td
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xe8  , 1 , 343 , 240 , // 343  - fr-tg
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xea  , 1 , 344 , 240 , // 344  - fr-tn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xae  , 1 , 345 , 240 , // 345  - fr-vu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x160 , 1 , 346 , 240 , // 346  - fr-wf
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x14b , 1 , 347 , 240 , // 347  - fr-yt
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 , 349 , 240 , // 348  - fur
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x76  , 1 , 349 , 240 , // 349  - fur-it
+            0x62   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 , 351 , 351 , // 350  - fy
+            0x462  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 , 351 , 351 , // 351  - fy-nl
+            0x3c   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 , 353 , 353 , // 352  - ga
+            0x83c  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x44  , 1 , 353 , 353 , // 353  - ga-ie
+            0x91   , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 , 355 , 355 , // 354  - gd
+            0x491  , 0x4e4 , 0x352 , 0x2710, 0x4f3d, 0xf2  , 1 , 355 , 355 , // 355  - gd-gb
+            0x56   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 , 357 , 357 , // 356  - gl
+            0x456  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd9  , 1 , 357 , 357 , // 357  - gl-es
+            0x74   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 , 359 , 359 , // 358  - gn
+            0x474  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xb9  , 1 , 359 , 359 , // 359  - gn-py
+            0x84   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 , 361 , 240 , // 360  - gsw
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xdf  , 1 , 361 , 240 , // 361  - gsw-ch
+            0x484  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 362 , 362 , // 362  - gsw-fr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x91  , 1 , 363 , 240 , // 363  - gsw-li
+            0x47   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 365 , 143 , // 364  - gu
+            0x447  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 365 , 143 , // 365  - gu-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 367 , 240 , // 366  - guz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 367 , 240 , // 367  - guz-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b16, 1 , 369 , 240 , // 368  - gv
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3b16, 1 , 369 , 240 , // 369  - gv-im
+            0x68   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 374 , 374 , // 370  - ha
+            0x7c68 , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 374 , 374 , // 371  - ha-latn
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x59  , 1 , 372 , 240 , // 372  - ha-latn-gh
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xad  , 1 , 373 , 240 , // 373  - ha-latn-ne
+            0x468  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 374 , 374 , // 374  - ha-latn-ng
+            0x75   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 , 376 , 376 , // 375  - haw
+            0x475  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 , 376 , 376 , // 376  - haw-us
+            0xd    , 0x4e7 , 0x35e , 0x2715, 0x1f4 , 0x75  , 1 , 378 , 143 , // 377  - he
+            0x40d  , 0x4e7 , 0x35e , 0x2715, 0x1f4 , 0x75  , 1 , 378 , 143 , // 378  - he-il
+            0x39   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 380 , 143 , // 379  - hi
+            0x439  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 380 , 143 , // 380  - hi-in
+            0x1a   , 0x4e2 , 0x354 , 0x2762, 0x1f4 , 0x6c  , 1 , 383 , 383 , // 381  - hr
+            0x101a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 , 382 , 382 , // 382  - hr-ba
+            0x41a  , 0x4e2 , 0x354 , 0x2762, 0x1f4 , 0x6c  , 1 , 383 , 383 , // 383  - hr-hr
+            0x2e   , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 , 385 , 385 , // 384  - hsb
+            0x42e  , 0x4e4 , 0x352 , 0x2710, 0x366 , 0x5e  , 1 , 385 , 385 , // 385  - hsb-de
+            0xe    , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 , 387 , 387 , // 386  - hu
+            0x40e  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 , 387 , 387 , // 387  - hu-hu
+            0x1040e, 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x6d  , 1 , 387 , 387 , // 388  - hu-hu_technl
+            0x2b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x7   , 1 , 390 , 390 , // 389  - hy
+            0x42b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x7   , 1 , 390 , 390 , // 390  - hy-am
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x54  , 1 , 393 , 240 , // 391  - ia
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 392 , 240 , // 392  - ia-001
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x54  , 1 , 393 , 240 , // 393  - ia-fr
+            0x69   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 395 , 240 , // 394  - ibb
+            0x469  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 395 , 240 , // 395  - ibb-ng
+            0x21   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 397 , 397 , // 396  - id
+            0x421  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 397 , 397 , // 397  - id-id
+            0x70   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 399 , 399 , // 398  - ig
+            0x470  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 399 , 399 , // 399  - ig-ng
+            0x78   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 401 , 143 , // 400  - ii
+            0x478  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 401 , 143 , // 401  - ii-cn
+            0xf    , 0x4e4 , 0x352 , 0x275f, 0x5187, 0x6e  , 1 , 403 , 403 , // 402  - is
+            0x40f  , 0x4e4 , 0x352 , 0x275f, 0x5187, 0x6e  , 1 , 403 , 403 , // 403  - is-is
+            0x10   , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0x76  , 1 , 406 , 406 , // 404  - it
+            0x810  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xdf  , 1 , 405 , 405 , // 405  - it-ch
+            0x410  , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0x76  , 1 , 406 , 406 , // 406  - it-it
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f38, 0xd6  , 1 , 407 , 240 , // 407  - it-sm
+            0x5d   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 , 412 , 412 , // 408  - iu
+            0x785d , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x27  , 1 , 410 , 143 , // 409  - iu-cans
+            0x45d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x27  , 1 , 410 , 143 , // 410  - iu-cans-ca
+            0x7c5d , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 , 412 , 412 , // 411  - iu-latn
+            0x85d  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x27  , 1 , 412 , 412 , // 412  - iu-latn-ca
+            0x11   , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 , 414 , 414 , // 413  - ja
+            0x411  , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 , 414 , 414 , // 414  - ja-jp
+            0x40411, 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 , 414 , 414 , // 415  - ja-jp_radstr
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 417 , 240 , // 416  - jgo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 417 , 240 , // 417  - jgo-cm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 419 , 240 , // 418  - jmc
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 419 , 240 , // 419  - jmc-tz
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 424 , 424 , // 420  - jv
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 422 , 424 , // 421  - jv-java
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 422 , 424 , // 422  - jv-java-id
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 424 , 424 , // 423  - jv-latn
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f  , 1 , 424 , 424 , // 424  - jv-latn-id
+            0x37   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 , 426 , 426 , // 425  - ka
+            0x437  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 , 426 , 426 , // 426  - ka-ge
+            0x10437, 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 , 426 , 426 , // 427  - ka-ge_modern
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4   , 1 , 429 , 240 , // 428  - kab
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x4   , 1 , 429 , 240 , // 429  - kab-dz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 431 , 240 , // 430  - kam
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 431 , 240 , // 431  - kam-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 433 , 240 , // 432  - kde
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 433 , 240 , // 433  - kde-tz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x39  , 1 , 435 , 240 , // 434  - kea
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x39  , 1 , 435 , 240 , // 435  - kea-cv
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 437 , 240 , // 436  - khq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 437 , 240 , // 437  - khq-ml
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 439 , 240 , // 438  - ki
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 439 , 240 , // 439  - ki-ke
+            0x3f   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x89  , 1 , 441 , 441 , // 440  - kk
+            0x43f  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x89  , 1 , 441 , 441 , // 441  - kk-kz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 443 , 240 , // 442  - kkj
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 443 , 240 , // 443  - kkj-cm
+            0x6f   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x5d  , 1 , 445 , 445 , // 444  - kl
+            0x46f  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0x5d  , 1 , 445 , 445 , // 445  - kl-gl
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 447 , 240 , // 446  - kln
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 447 , 240 , // 447  - kln-ke
+            0x53   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x28  , 2 , 449 , 143 , // 448  - km
+            0x453  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x28  , 2 , 449 , 143 , // 449  - km-kh
+            0x4b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 451 , 143 , // 450  - kn
+            0x44b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 451 , 143 , // 451  - kn-in
+            0x12   , 0x3b5 , 0x3b5 , 0x2713, 0x5161, 0x86  , 1 , 454 , 454 , // 452  - ko
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x83  , 1 , 453 , 240 , // 453  - ko-kp
+            0x412  , 0x3b5 , 0x3b5 , 0x2713, 0x5161, 0x86  , 1 , 454 , 454 , // 454  - ko-kr
+            0x57   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 456 , 143 , // 455  - kok
+            0x457  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 456 , 143 , // 456  - kok-in
+            0x71   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 458 , 240 , // 457  - kr
+            0x471  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xaf  , 1 , 458 , 240 , // 458  - kr-ng
+            0x60   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 , 461 , 240 , // 459  - ks
+            0x460  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 , 461 , 240 , // 460  - ks-arab
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 , 461 , 240 , // 461  - ks-arab-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 463 , 187 , // 462  - ks-deva
+            0x860  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 463 , 187 , // 463  - ks-deva-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 465 , 240 , // 464  - ksb
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 465 , 240 , // 465  - ksb-tz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 467 , 240 , // 466  - ksf
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 467 , 240 , // 467  - ksf-cm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 , 469 , 240 , // 468  - ksh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 , 469 , 240 , // 469  - ksh-de
+            0x92   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 , 472 , 143 , // 470  - ku
+            0x7c92 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 , 472 , 143 , // 471  - ku-arab
+            0x492  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x79  , 0 , 472 , 143 , // 472  - ku-arab-iq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 0 , 473 , 240 , // 473  - ku-arab-ir
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf2  , 1 , 475 , 240 , // 474  - kw
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf2  , 1 , 475 , 240 , // 475  - kw-gb
+            0x40   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x82  , 1 , 477 , 477 , // 476  - ky
+            0x440  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x82  , 1 , 477 , 477 , // 477  - ky-kg
+            0x76   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x989e, 1 , 479 , 143 , // 478  - la
+            0x476  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0x989e, 1 , 479 , 143 , // 479  - la-001
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 481 , 240 , // 480  - lag
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 481 , 240 , // 481  - lag-tz
+            0x6e   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 , 483 , 483 , // 482  - lb
+            0x46e  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x93  , 1 , 483 , 483 , // 483  - lb-lu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 485 , 240 , // 484  - lg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 485 , 240 , // 485  - lg-ug
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 , 487 , 240 , // 486  - lkt
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf4  , 1 , 487 , 240 , // 487  - lkt-us
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 , 490 , 240 , // 488  - ln
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9   , 1 , 489 , 240 , // 489  - ln-ao
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 , 490 , 240 , // 490  - ln-cd
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 , 491 , 240 , // 491  - ln-cf
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2b  , 1 , 492 , 240 , // 492  - ln-cg
+            0x54   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8a  , 1 , 494 , 143 , // 493  - lo
+            0x454  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8a  , 1 , 494 , 143 , // 494  - lo-la
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 , 497 , 240 , // 495  - lrc
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x79  , 2 , 496 , 240 , // 496  - lrc-iq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 , 497 , 240 , // 497  - lrc-ir
+            0x27   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8d  , 1 , 499 , 499 , // 498  - lt
+            0x427  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8d  , 1 , 499 , 499 , // 499  - lt-lt
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 , 501 , 240 , // 500  - lu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2c  , 1 , 501 , 240 , // 501  - lu-cd
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 503 , 240 , // 502  - luo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 503 , 240 , // 503  - luo-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 505 , 240 , // 504  - luy
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 505 , 240 , // 505  - luy-ke
+            0x26   , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8c  , 1 , 507 , 507 , // 506  - lv
+            0x426  , 0x4e9 , 0x307 , 0x272d, 0x1f4 , 0x8c  , 1 , 507 , 507 , // 507  - lv-lv
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 509 , 240 , // 508  - mas
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 509 , 240 , // 509  - mas-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 510 , 240 , // 510  - mas-tz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 512 , 240 , // 511  - mer
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 512 , 240 , // 512  - mer-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa0  , 1 , 514 , 240 , // 513  - mfe
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa0  , 1 , 514 , 240 , // 514  - mfe-mu
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x95  , 1 , 516 , 240 , // 515  - mg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x95  , 1 , 516 , 240 , // 516  - mg-mg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 , 518 , 240 , // 517  - mgh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 , 518 , 240 , // 518  - mgh-mz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 520 , 240 , // 519  - mgo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 520 , 240 , // 520  - mgo-cm
+            0x81   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb7  , 1 , 522 , 522 , // 521  - mi
+            0x481  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb7  , 1 , 522 , 522 , // 522  - mi-nz
+            0x2f   , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x4ca2, 1 , 524 , 524 , // 523  - mk
+            0x42f  , 0x4e3 , 0x362 , 0x2717, 0x1f4 , 0x4ca2, 1 , 524 , 524 , // 524  - mk-mk
+            0x4c   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 526 , 143 , // 525  - ml
+            0x44c  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 526 , 143 , // 526  - ml-in
+            0x50   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 , 529 , 529 , // 527  - mn
+            0x7850 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 , 529 , 529 , // 528  - mn-cyrl
+            0x450  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0x9a  , 1 , 529 , 529 , // 529  - mn-mn
+            0x7c50 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 531 , 531 , // 530  - mn-mong
+            0x850  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2d  , 1 , 531 , 531 , // 531  - mn-mong-cn
+            0xc50  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9a  , 1 , 532 , 532 , // 532  - mn-mong-mn
+            0x58   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 534 , 187 , // 533  - mni
+            0x458  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 534 , 187 , // 534  - mni-in
+            0x7c   , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 , 536 , 240 , // 535  - moh
+            0x47c  , 0x4e4 , 0x352 , 0x2710, 0x25  , 0x27  , 1 , 536 , 240 , // 536  - moh-ca
+            0x4e   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 538 , 143 , // 537  - mr
+            0x44e  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 538 , 143 , // 538  - mr-in
+            0x3e   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa7  , 1 , 541 , 541 , // 539  - ms
+            0x83e  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x25  , 1 , 540 , 540 , // 540  - ms-bn
+            0x43e  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa7  , 1 , 541 , 541 , // 541  - ms-my
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd7  , 1 , 542 , 240 , // 542  - ms-sg
+            0x3a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa3  , 1 , 544 , 544 , // 543  - mt
+            0x43a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa3  , 1 , 544 , 544 , // 544  - mt-mt
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 546 , 240 , // 545  - mua
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 546 , 240 , // 546  - mua-cm
+            0x55   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x1b  , 2 , 548 , 240 , // 547  - my
+            0x455  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x1b  , 2 , 548 , 240 , // 548  - my-mm
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 , 550 , 240 , // 549  - mzn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x74  , 2 , 550 , 240 , // 550  - mzn-ir
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xfe  , 1 , 552 , 240 , // 551  - naq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xfe  , 1 , 552 , 240 , // 552  - naq-na
+            0x7c14 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 554 , 554 , // 553  - nb
+            0x414  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 554 , 554 , // 554  - nb-no
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xdc  , 1 , 555 , 240 , // 555  - nb-sj
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 , 557 , 240 , // 556  - nd
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 , 557 , 240 , // 557  - nd-zw
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 , 559 , 240 , // 558  - nds
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x5e  , 1 , 559 , 240 , // 559  - nds-de
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb0  , 1 , 560 , 240 , // 560  - nds-nl
+            0x61   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb2  , 1 , 563 , 143 , // 561  - ne
+            0x861  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 2 , 562 , 240 , // 562  - ne-in
+            0x461  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xb2  , 1 , 563 , 143 , // 563  - ne-np
+            0x13   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 , 569 , 569 , // 564  - nl
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x12e , 1 , 565 , 240 , // 565  - nl-aw
+            0x813  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x15  , 1 , 566 , 566 , // 566  - nl-be
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9a55d42, 1 , 567 , 240 , // 567  - nl-bq
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x111 , 1 , 568 , 240 , // 568  - nl-cw
+            0x413  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb0  , 1 , 569 , 569 , // 569  - nl-nl
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xb5  , 1 , 570 , 240 , // 570  - nl-sr
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x78f7, 1 , 571 , 240 , // 571  - nl-sx
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 573 , 240 , // 572  - nmg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 573 , 240 , // 573  - nmg-cm
+            0x7814 , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 575 , 575 , // 574  - nn
+            0x814  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 575 , 575 , // 575  - nn-no
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 577 , 240 , // 576  - nnh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 577 , 240 , // 577  - nnh-cm
+            0x14   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 554 , 554 , // 578  - no
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x64  , 2 , 580 , 143 , // 579  - nqo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x64  , 2 , 580 , 143 , // 580  - nqo-gn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 582 , 240 , // 581  - nr
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 582 , 240 , // 582  - nr-za
+            0x6c   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 584 , 584 , // 583  - nso
+            0x46c  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 584 , 584 , // 584  - nso-za
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x114 , 1 , 586 , 240 , // 585  - nus
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x114 , 1 , 586 , 240 , // 586  - nus-ss
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 588 , 240 , // 587  - nyn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 588 , 240 , // 588  - nyn-ug
+            0x82   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 590 , 590 , // 589  - oc
+            0x482  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x54  , 1 , 590 , 590 , // 590  - oc-fr
+            0x72   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 592 , 240 , // 591  - om
+            0x472  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 592 , 240 , // 592  - om-et
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 593 , 240 , // 593  - om-ke
+            0x48   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 595 , 143 , // 594  - or
+            0x448  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 595 , 143 , // 595  - or-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 , 597 , 240 , // 596  - os
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x58  , 1 , 597 , 240 , // 597  - os-ge
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xcb  , 1 , 598 , 240 , // 598  - os-ru
+            0x46   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 602 , 143 , // 599  - pa
+            0x7c46 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 , 601 , 143 , // 600  - pa-arab
+            0x846  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 , 601 , 143 , // 601  - pa-arab-pk
+            0x446  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 602 , 143 , // 602  - pa-in
+            0x79   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 , 604 , 145 , // 603  - pap
+            0x479  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x993248, 1 , 604 , 145 , // 604  - pap-029
+            0x15   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xbf  , 1 , 606 , 606 , // 605  - pl
+            0x415  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xbf  , 1 , 606 , 606 , // 606  - pl-pl
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 608 , 240 , // 607  - prg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 608 , 240 , // 608  - prg-001
+            0x8c   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3   , 2 , 610 , 143 , // 609  - prs
+            0x48c  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x3   , 2 , 610 , 143 , // 610  - prs-af
+            0x63   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 , 612 , 143 , // 611  - ps
+            0x463  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 , 612 , 143 , // 612  - ps-af
+            0x16   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x20  , 1 , 615 , 615 , // 613  - pt
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x9   , 1 , 614 , 240 , // 614  - pt-ao
+            0x416  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x20  , 1 , 615 , 615 , // 615  - pt-br
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 , 616 , 240 , // 616  - pt-ch
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x39  , 1 , 617 , 240 , // 617  - pt-cv
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x45  , 1 , 618 , 240 , // 618  - pt-gq
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc4  , 1 , 619 , 240 , // 619  - pt-gw
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x93  , 1 , 620 , 240 , // 620  - pt-lu
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x97  , 1 , 621 , 240 , // 621  - pt-mo
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xa8  , 1 , 622 , 240 , // 622  - pt-mz
+            0x816  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xc1  , 1 , 623 , 623 , // 623  - pt-pt
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xe9  , 1 , 624 , 240 , // 624  - pt-st
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x6f60e7, 1 , 625 , 240 , // 625  - pt-tl
+            0x901  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x7c  , 1 , 626 , 190 , // 626  - qps-latn-x-sh
+            0x501  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xf4  , 1 , 627 , 627 , // 627  - qps-ploc
+            0x5fe  , 0x3a4 , 0x3a4 , 0x2711, 0x4f42, 0x7a  , 1 , 628 , 628 , // 628  - qps-ploca
+            0x9ff  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xcd  , 0 , 629 , 143 , // 629  - qps-plocm
+            0x86   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 , 632 , 632 , // 630  - quc
+            0x7c86 , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 , 632 , 632 , // 631  - quc-latn
+            0x486  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x63  , 1 , 632 , 632 , // 632  - quc-latn-gt
+            0x6b   , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 , 634 , 634 , // 633  - quz
+            0x46b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x1a  , 1 , 634 , 634 , // 634  - quz-bo
+            0x86b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0x42  , 1 , 635 , 635 , // 635  - quz-ec
+            0xc6b  , 0x4e4 , 0x352 , 0x2710, 0x4f3c, 0xbb  , 1 , 636 , 636 , // 636  - quz-pe
+            0x17   , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 , 638 , 638 , // 637  - rm
+            0x417  , 0x4e4 , 0x352 , 0x2710, 0x4f31, 0xdf  , 1 , 638 , 638 , // 638  - rm-ch
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 , 640 , 240 , // 639  - rn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x26  , 1 , 640 , 240 , // 640  - rn-bi
+            0x18   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xc8  , 1 , 643 , 643 , // 641  - ro
+            0x818  , 0x4e2 , 0x354 , 0x2   , 0x1f4 , 0x98  , 1 , 642 , 240 , // 642  - ro-md
+            0x418  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xc8  , 1 , 643 , 643 , // 643  - ro-ro
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 645 , 240 , // 644  - rof
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 645 , 240 , // 645  - rof-tz
+            0x19   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 651 , 651 , // 646  - ru
+            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x1d  , 1 , 647 , 240 , // 647  - ru-by
+            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x82  , 1 , 648 , 240 , // 648  - ru-kg
+            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x89  , 1 , 649 , 240 , // 649  - ru-kz
+            0x819  , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0x98  , 1 , 650 , 240 , // 650  - ru-md
+            0x419  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 651 , 651 , // 651  - ru-ru
+            0x1000 , 0x4e3 , 0x362 , 0x2   , 0x1f4 , 0xf1  , 1 , 652 , 240 , // 652  - ru-ua
+            0x87   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xcc  , 1 , 654 , 654 , // 653  - rw
+            0x487  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xcc  , 1 , 654 , 654 , // 654  - rw-rw
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 656 , 240 , // 655  - rwk
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 656 , 240 , // 656  - rwk-tz
+            0x4f   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 658 , 143 , // 657  - sa
+            0x44f  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 658 , 143 , // 658  - sa-in
+            0x85   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 660 , 660 , // 659  - sah
+            0x485  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 660 , 660 , // 660  - sah-ru
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 662 , 240 , // 661  - saq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 662 , 240 , // 662  - saq-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 664 , 240 , // 663  - sbp
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 664 , 240 , // 664  - sbp-tz
+            0x59   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 , 667 , 143 , // 665  - sd
+            0x7c59 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 , 667 , 143 , // 666  - sd-arab
+            0x859  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 2 , 667 , 143 , // 667  - sd-arab-pk
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 669 , 187 , // 668  - sd-deva
+            0x459  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 669 , 187 , // 669  - sd-deva-in
+            0x3b   , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 672 , 672 , // 670  - se
+            0xc3b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 671 , 671 , // 671  - se-fi
+            0x43b  , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 672 , 672 , // 672  - se-no
+            0x83b  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 673 , 673 , // 673  - se-se
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 , 675 , 240 , // 674  - seh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa8  , 1 , 675 , 240 , // 675  - seh-mz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 677 , 240 , // 676  - ses
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9d  , 1 , 677 , 240 , // 677  - ses-ml
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 , 679 , 240 , // 678  - sg
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x37  , 1 , 679 , 240 , // 679  - sg-cf
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 684 , 240 , // 680  - shi
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 682 , 240 , // 681  - shi-latn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 682 , 240 , // 682  - shi-latn-ma
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 684 , 240 , // 683  - shi-tfng
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 684 , 240 , // 684  - shi-tfng-ma
+            0x5b   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 , 686 , 143 , // 685  - si
+            0x45b  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 , 686 , 143 , // 686  - si-lk
+            0x1b   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x8f  , 1 , 688 , 688 , // 687  - sk
+            0x41b  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x8f  , 1 , 688 , 688 , // 688  - sk-sk
+            0x24   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xd4  , 1 , 690 , 690 , // 689  - sl
+            0x424  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xd4  , 1 , 690 , 690 , // 690  - sl-si
+            0x783b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 693 , 693 , // 691  - sma
+            0x183b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 692 , 692 , // 692  - sma-no
+            0x1c3b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 693 , 693 , // 693  - sma-se
+            0x7c3b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 696 , 696 , // 694  - smj
+            0x103b , 0x4e4 , 0x352 , 0x2710, 0x4f35, 0xb1  , 1 , 695 , 695 , // 695  - smj-no
+            0x143b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 696 , 696 , // 696  - smj-se
+            0x703b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 698 , 698 , // 697  - smn
+            0x243b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 698 , 698 , // 698  - smn-fi
+            0x743b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 700 , 700 , // 699  - sms
+            0x203b , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 700 , 700 , // 700  - sms-fi
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 , 703 , 240 , // 701  - sn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 , 703 , 240 , // 702  - sn-latn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x108 , 1 , 703 , 240 , // 703  - sn-latn-zw
+            0x77   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd8  , 1 , 708 , 240 , // 704  - so
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3e  , 1 , 705 , 240 , // 705  - so-dj
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 706 , 240 , // 706  - so-et
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 707 , 240 , // 707  - so-ke
+            0x477  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd8  , 1 , 708 , 240 , // 708  - so-so
+            0x1c   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x6   , 1 , 710 , 710 , // 709  - sq
+            0x41c  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x6   , 1 , 710 , 710 , // 710  - sq-al
+            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x4ca2, 1 , 711 , 240 , // 711  - sq-mk
+            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x5190, 0x974941, 1 , 712 , 240 , // 712  - sq-xk
+            0x7c1a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 , 724 , 724 , // 713  - sr
+            0x6c1a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10f , 1 , 718 , 718 , // 714  - sr-cyrl
+            0x1c1a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x19  , 1 , 715 , 715 , // 715  - sr-cyrl-ba
+            0xc1a  , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10d , 1 , 716 , 716 , // 716  - sr-cyrl-cs
+            0x301a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10e , 1 , 717 , 717 , // 717  - sr-cyrl-me
+            0x281a , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x10f , 1 , 718 , 718 , // 718  - sr-cyrl-rs
+            0x1000 , 0x4e3 , 0x357 , 0x2717, 0x5221, 0x974941, 1 , 719 , 240 , // 719  - sr-cyrl-xk
+            0x701a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 , 724 , 724 , // 720  - sr-latn
+            0x181a , 0x4e2 , 0x354 , 0x2762, 0x366 , 0x19  , 1 , 721 , 721 , // 721  - sr-latn-ba
+            0x81a  , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10d , 1 , 722 , 722 , // 722  - sr-latn-cs
+            0x2c1a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10e , 1 , 723 , 723 , // 723  - sr-latn-me
+            0x241a , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x10f , 1 , 724 , 724 , // 724  - sr-latn-rs
+            0x1000 , 0x4e2 , 0x354 , 0x272d, 0x1f4 , 0x974941, 1 , 725 , 240 , // 725  - sr-latn-xk
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 728 , 240 , // 726  - ss
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x104 , 1 , 727 , 240 , // 727  - ss-sz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 728 , 240 , // 728  - ss-za
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 730 , 240 , // 729  - ssy
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 730 , 240 , // 730  - ssy-er
+            0x30   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 733 , 240 , // 731  - st
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x92  , 1 , 732 , 240 , // 732  - st-ls
+            0x430  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 733 , 240 , // 733  - st-za
+            0x1d   , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 737 , 737 , // 734  - sv
+            0x1000 , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x9906f5, 1 , 735 , 240 , // 735  - sv-ax
+            0x81d  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0x4d  , 1 , 736 , 736 , // 736  - sv-fi
+            0x41d  , 0x4e4 , 0x352 , 0x2710, 0x4f36, 0xdd  , 1 , 737 , 737 , // 737  - sv-se
+            0x41   , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x81  , 1 , 740 , 740 , // 738  - sw
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x2c  , 1 , 739 , 740 , // 739  - sw-cd
+            0x441  , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x81  , 1 , 740 , 740 , // 740  - sw-ke
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xef  , 1 , 741 , 240 , // 741  - sw-tz
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0xf0  , 1 , 742 , 240 , // 742  - sw-ug
+            0x1000 , 0x0   , 0x1   , 0x0   , 0x1f4 , 0x2c  , 1 , 744 , 240 , // 743  - swc
+            0x1000 , 0x0   , 0x1   , 0x0   , 0x1f4 , 0x2c  , 1 , 744 , 240 , // 744  - swc-cd
+            0x5a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xde  , 1 , 746 , 143 , // 745  - syr
+            0x45a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xde  , 1 , 746 , 143 , // 746  - syr-sy
+            0x49   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 748 , 143 , // 747  - ta
+            0x449  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 748 , 143 , // 748  - ta-in
+            0x849  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x2a  , 1 , 749 , 143 , // 749  - ta-lk
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xa7  , 1 , 750 , 240 , // 750  - ta-my
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd7  , 1 , 751 , 240 , // 751  - ta-sg
+            0x4a   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 753 , 143 , // 752  - te
+            0x44a  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x71  , 1 , 753 , 143 , // 753  - te-in
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 756 , 240 , // 754  - teo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x81  , 1 , 755 , 240 , // 755  - teo-ke
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 756 , 240 , // 756  - teo-ug
+            0x28   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 , 759 , 759 , // 757  - tg
+            0x7c28 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 , 759 , 759 , // 758  - tg-cyrl
+            0x428  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xe4  , 1 , 759 , 759 , // 759  - tg-cyrl-tj
+            0x1e   , 0x36a , 0x36a , 0x2725, 0x5166, 0xe3  , 1 , 761 , 143 , // 760  - th
+            0x41e  , 0x36a , 0x36a , 0x2725, 0x5166, 0xe3  , 1 , 761 , 143 , // 761  - th-th
+            0x73   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 763 , 143 , // 762  - ti
+            0x873  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 763 , 143 , // 763  - ti-er
+            0x473  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 764 , 143 , // 764  - ti-et
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 766 , 240 , // 765  - tig
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x47  , 1 , 766 , 240 , // 766  - tig-er
+            0x42   , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xee  , 1 , 768 , 768 , // 767  - tk
+            0x442  , 0x4e2 , 0x354 , 0x272d, 0x5190, 0xee  , 1 , 768 , 768 , // 768  - tk-tm
+            0x32   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 771 , 771 , // 769  - tn
+            0x832  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0x13  , 1 , 770 , 770 , // 770  - tn-bw
+            0x432  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 771 , 771 , // 771  - tn-za
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe7  , 1 , 773 , 240 , // 772  - to
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xe7  , 1 , 773 , 240 , // 773  - to-to
+            0x1f   , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0xeb  , 1 , 776 , 776 , // 774  - tr
+            0x1000 , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0x3b  , 1 , 775 , 240 , // 775  - tr-cy
+            0x41f  , 0x4e6 , 0x359 , 0x2761, 0x51a9, 0xeb  , 1 , 776 , 776 , // 776  - tr-tr
+            0x31   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 778 , 240 , // 777  - ts
+            0x431  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 778 , 240 , // 778  - ts-za
+            0x44   , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 780 , 780 , // 779  - tt
+            0x444  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xcb  , 1 , 780 , 780 , // 780  - tt-ru
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 , 782 , 240 , // 781  - twq
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xad  , 1 , 782 , 240 , // 782  - twq-ne
+            0x5f   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 , 787 , 787 , // 783  - tzm
+            0x1000 , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 , 785 , 240 , // 784  - tzm-arab
+            0x45f  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x9f  , 1 , 785 , 240 , // 785  - tzm-arab-ma
+            0x7c5f , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 , 787 , 787 , // 786  - tzm-latn
+            0x85f  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0x4   , 1 , 787 , 787 , // 787  - tzm-latn-dz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 788 , 240 , // 788  - tzm-latn-ma
+            0x785f , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 790 , 316 , // 789  - tzm-tfng
+            0x105f , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 790 , 316 , // 790  - tzm-tfng-ma
+            0x80   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x2d  , 1 , 792 , 143 , // 791  - ug
+            0x480  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0x2d  , 1 , 792 , 143 , // 792  - ug-cn
+            0x22   , 0x4e3 , 0x362 , 0x2721, 0x1f4 , 0xf1  , 1 , 794 , 794 , // 793  - uk
+            0x422  , 0x4e3 , 0x362 , 0x2721, 0x1f4 , 0xf1  , 1 , 794 , 794 , // 794  - uk-ua
+            0x20   , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 1 , 797 , 143 , // 795  - ur
+            0x820  , 0x4e8 , 0x2d0 , 0x2   , 0x1f4 , 0x71  , 2 , 796 , 240 , // 796  - ur-in
+            0x420  , 0x4e8 , 0x2d0 , 0x2714, 0x4fc4, 0xbe  , 1 , 797 , 143 , // 797  - ur-pk
+            0x43   , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 , 804 , 804 , // 798  - uz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 , 800 , 240 , // 799  - uz-arab
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x3   , 2 , 800 , 240 , // 800  - uz-arab-af
+            0x7843 , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xf7  , 1 , 802 , 802 , // 801  - uz-cyrl
+            0x843  , 0x4e3 , 0x362 , 0x2717, 0x5190, 0xf7  , 1 , 802 , 802 , // 802  - uz-cyrl-uz
+            0x7c43 , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 , 804 , 804 , // 803  - uz-latn
+            0x443  , 0x4e6 , 0x359 , 0x272d, 0x1f4 , 0xf7  , 1 , 804 , 804 , // 804  - uz-latn-uz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 , 809 , 240 , // 805  - vai
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 , 807 , 240 , // 806  - vai-latn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 , 807 , 240 , // 807  - vai-latn-lr
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 , 809 , 240 , // 808  - vai-vaii
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x8e  , 1 , 809 , 240 , // 809  - vai-vaii-lr
+            0x33   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 811 , 240 , // 810  - ve
+            0x433  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xd1  , 1 , 811 , 240 , // 811  - ve-za
+            0x2a   , 0x4ea , 0x4ea , 0x2710, 0x1f4 , 0xfb  , 1 , 813 , 143 , // 812  - vi
+            0x42a  , 0x4ea , 0x4ea , 0x2710, 0x1f4 , 0xfb  , 1 , 813 , 143 , // 813  - vi-vn
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 815 , 240 , // 814  - vo
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 815 , 240 , // 815  - vo-001
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 817 , 240 , // 816  - vun
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xef  , 1 , 817 , 240 , // 817  - vun-tz
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 , 819 , 240 , // 818  - wae
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xdf  , 1 , 819 , 240 , // 819  - wae-ch
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 821 , 240 , // 820  - wal
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x49  , 1 , 821 , 240 , // 821  - wal-et
+            0x88   , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 823 , 823 , // 822  - wo
+            0x488  , 0x4e4 , 0x352 , 0x2710, 0x4f49, 0xd2  , 1 , 823 , 823 , // 823  - wo-sn
+            0x1007f, 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xf4  , 1 , -1  , -1  , // 824  - x-iv_mathan
+            0x34   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 826 , 826 , // 825  - xh
+            0x434  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 826 , 826 , // 826  - xh-za
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 828 , 240 , // 827  - xog
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0xf0  , 1 , 828 , 240 , // 828  - xog-ug
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 830 , 240 , // 829  - yav
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x31  , 1 , 830 , 240 , // 830  - yav-cm
+            0x3d   , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 832 , 240 , // 831  - yi
+            0x43d  , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x989e, 1 , 832 , 240 , // 832  - yi-001
+            0x6a   , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 835 , 835 , // 833  - yo
+            0x1000 , 0x4e4 , 0x1b5 , 0x2710, 0x1f4 , 0x1c  , 1 , 834 , 240 , // 834  - yo-bj
+            0x46a  , 0x4e4 , 0x1b5 , 0x2710, 0x25  , 0xaf  , 1 , 835 , 835 , // 835  - yo-ng
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x68  , 1 , 837 , 240 , // 836  - yue
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x68  , 1 , 837 , 240 , // 837  - yue-hk
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 840 , 316 , // 838  - zgh
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 840 , 316 , // 839  - zgh-tfng
+            0x1000 , 0x0   , 0x1   , 0x2   , 0x1f4 , 0x9f  , 1 , 840 , 316 , // 840  - zgh-tfng-ma
+            0x7804 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 , 844 , 844 , // 841  - zh
+            0x4    , 0x3a8 , 0x3a8 , 0x0   , 0x1f4 , 0x2d  , 1 , 844 , 844 , // 842  - zh-chs
+            0x7c04 , 0x3b6 , 0x3b6 , 0x0   , 0x1f4 , 0x68  , 1 , 851 , 851 , // 843  - zh-cht
+            0x804  , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 , 844 , 844 , // 844  - zh-cn
+            0x50804, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 , 844 , 844 , // 845  - zh-cn_phoneb
+            0x20804, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 , 844 , 844 , // 846  - zh-cn_stroke
+            0x4    , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x2d  , 1 , 844 , 844 , // 847  - zh-hans
+            0x1000 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x68  , 1 , 848 , 240 , // 848  - zh-hans-hk
+            0x1000 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0x97  , 1 , 849 , 240 , // 849  - zh-hans-mo
+            0x7c04 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 , 851 , 851 , // 850  - zh-hant
+            0xc04  , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 , 851 , 851 , // 851  - zh-hk
+            0x40c04, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x68  , 1 , 851 , 851 , // 852  - zh-hk_radstr
+            0x1404 , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 , 853 , 853 , // 853  - zh-mo
+            0x41404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 , 853 , 853 , // 854  - zh-mo_radstr
+            0x21404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0x97  , 1 , 853 , 853 , // 855  - zh-mo_stroke
+            0x1004 , 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 , 856 , 856 , // 856  - zh-sg
+            0x51004, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 , 856 , 856 , // 857  - zh-sg_phoneb
+            0x21004, 0x3a8 , 0x3a8 , 0x2718, 0x1f4 , 0xd7  , 1 , 856 , 856 , // 858  - zh-sg_stroke
+            0x404  , 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 , 859 , 859 , // 859  - zh-tw
+            0x30404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 , 859 , 859 , // 860  - zh-tw_pronun
+            0x40404, 0x3b6 , 0x3b6 , 0x2712, 0x1f4 , 0xed  , 1 , 859 , 859 , // 861  - zh-tw_radstr
+            0x35   , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 863 , 863 , // 862  - zu
+            0x435  , 0x4e4 , 0x352 , 0x2710, 0x1f4 , 0xd1  , 1 , 863 , 863 , // 863  - zu-za
         };
 
         // s_lcids list all supported lcids. used to binary search and we use the index of the matched lcid to 
@@ -4476,9 +4478,9 @@ namespace System.Globalization
             return c_threeLetterWindowsLanguageName.Substring(index * 3, 3); 
         }
         
-        internal static string GetSpecificCultureName(string cultureName)
+        internal static string GetLocaleDataMappedCulture(string cultureName, LocaleDataParts part)
         {
-            int indexToIndicesTable = GetLocaleDataNumericPart(cultureName, LocaleDataParts.SpecificLocaleIndex);
+            int indexToIndicesTable = GetLocaleDataNumericPart(cultureName, part);
             if (indexToIndicesTable < 0)
             {
                 return ""; // fallback to invariant
@@ -4490,6 +4492,16 @@ namespace System.Globalization
                                            s_localeNamesIndices[indexToIndicesTable+1] - s_localeNamesIndices[indexToIndicesTable]);
         }
         
+        internal static string GetSpecificCultureName(string cultureName)
+        {
+            return GetLocaleDataMappedCulture(cultureName, LocaleDataParts.SpecificLocaleIndex);
+        }
+        
+        internal static string GetConsoleUICulture(string cultureName)
+        {
+            return GetLocaleDataMappedCulture(cultureName, LocaleDataParts.ConsoleLocaleIndex);
+        }
+        
         // SearchCultureName will binary search c_localeNames using s_localeNamesIndices.
         // return index in s_localeNamesIndices, or -1 if it fail finding any match   
         private static int SearchCultureName(string name)
index f9c2496..e326c79 100644 (file)
       <Member Name="Equals(System.Object)" />
       <Member Name="get_LCID" />
       <Member Name="get_Name" />
+      <Member Name="get_Version" />
       <Member Name="GetCompareInfo(System.Int32)" />
       <Member Name="GetCompareInfo(System.Int32,System.Reflection.Assembly)" />
       <Member Name="GetCompareInfo(System.String)" />
       <Member Name="ToString" />
       <Member MemberType="Property" Name="LCID" />
       <Member MemberType="Property" Name="Name" />
+      <Member MemberType="Property" Name="Version" />
     </Type>
     <Type Name="System.Globalization.CompareOptions">
       <Member MemberType="Field" Name="IgnoreCase" />
       <Member Name="get_CompareInfo" />
       <Member Name="get_CurrentCulture" />
       <Member Name="get_CurrentUICulture" />
+      <Member Name="get_CultureTypes" />
       <Member Name="get_DefaultThreadCurrentCulture" />
       <Member Name="get_DefaultThreadCurrentUICulture" />
       <Member Name="get_DateTimeFormat" />
       <Member Name="get_DisplayName" />
       <Member Name="get_EnglishName" />
+      <Member Name="get_IetfLanguageTag" />
       <Member Name="get_InstalledUICulture" />
       <Member Name="get_InvariantCulture" />
       <Member Name="get_IsNeutralCulture" />
       <Member Name="get_IsReadOnly" />
+      <Member Name="get_KeyboardLayoutId" />
       <Member Name="get_LCID" />
       <Member Name="get_Name" />
       <Member Name="get_NativeName" />
       <Member Name="get_ThreeLetterWindowsLanguageName" />
       <Member Name="get_TwoLetterISOLanguageName" />
       <Member Name="get_UseUserOverride" />
+      <Member Name="GetConsoleFallbackUICulture" />
       <Member Name="GetCultureInfo(System.Int32)" />
       <Member Name="GetCultureInfo(System.String)" />
       <Member Name="GetCultureInfo(System.String,System.String)" />
       <Member MemberType="Property" Name="CompareInfo" />
       <Member MemberType="Property" Name="CurrentCulture" />
       <Member MemberType="Property" Name="CurrentUICulture" />
+      <Member MemberType="Property" Name="CultureTypes" />
       <Member MemberType="Property" Name="DateTimeFormat" />
       <Member MemberType="Property" Name="DefaultThreadCurrentCulture" />
       <Member MemberType="Property" Name="DefaultThreadCurrentUICulture"/>
       <Member MemberType="Property" Name="DisplayName" />
       <Member MemberType="Property" Name="EnglishName" />
+      <Member MemberType="Property" Name="IetfLanguageTag" />
       <Member MemberType="Property" Name="InstalledUICulture" />
       <Member MemberType="Property" Name="InvariantCulture" />
       <Member MemberType="Property" Name="IsNeutralCulture" />
       <Member MemberType="Property" Name="IsReadOnly" />
+      <Member MemberType="Property" Name="KeyboardLayoutId" />
       <Member MemberType="Property" Name="LCID" />
       <Member MemberType="Property" Name="Name" />
       <Member MemberType="Property" Name="NativeName" />
index 542126b..105dbda 100644 (file)
@@ -5765,6 +5765,7 @@ namespace System.Globalization
         public virtual int LastIndexOf(string source, string value, int startIndex, int count, System.Globalization.CompareOptions options) { throw null; }
         void System.Runtime.Serialization.IDeserializationCallback.OnDeserialization(object sender) { }
         public override string ToString() { throw null; }
+        public SortVersion Version { get { throw null; } }
     }
     [System.FlagsAttribute]
     [System.Runtime.InteropServices.ComVisibleAttribute(true)]
@@ -5789,6 +5790,7 @@ namespace System.Globalization
         public CultureInfo(string name, bool useUserOverride) { throw null; }
         public virtual System.Globalization.Calendar Calendar { get { throw null; } }
         public virtual System.Globalization.CompareInfo CompareInfo { get { throw null; } }
+        public System.Globalization.CultureTypes CultureTypes { get { throw null; } }
         public static System.Globalization.CultureInfo CurrentCulture { get { throw null; } set { } }
         public static System.Globalization.CultureInfo CurrentUICulture { get { throw null; } set { } }
         public virtual System.Globalization.DateTimeFormatInfo DateTimeFormat { get { throw null; } set { } }
@@ -5796,10 +5798,12 @@ namespace System.Globalization
         public static System.Globalization.CultureInfo DefaultThreadCurrentUICulture { get { throw null; } [System.Security.SecuritySafeCriticalAttribute]set { } }
         public virtual string DisplayName { [System.Security.SecuritySafeCriticalAttribute]get { throw null; } }
         public virtual string EnglishName { [System.Security.SecuritySafeCriticalAttribute]get { throw null; } }
+        public string IetfLanguageTag { get { throw null; } }
         public static System.Globalization.CultureInfo InstalledUICulture { get { throw null; } }
         public static System.Globalization.CultureInfo InvariantCulture { get { throw null; } }
         public virtual bool IsNeutralCulture { get { throw null; } }
         public bool IsReadOnly { get { throw null; } }
+        public virtual int KeyboardLanguageId { get { throw null; } }
         public virtual int LCID { get { throw null; } }
         public virtual string Name { get { throw null; } }
         public virtual string NativeName { [System.Security.SecuritySafeCriticalAttribute]get { throw null; } }
@@ -5815,6 +5819,7 @@ namespace System.Globalization
         public virtual object Clone() { throw null; }
         public static System.Globalization.CultureInfo CreateSpecificCulture(string name) { throw null; }
         public override bool Equals(object value) { throw null; }
+        public System.Globalization.CultureInfo GetConsoleFallbackUICulture() { throw null; }
         public static System.Globalization.CultureInfo GetCultureInfo(int culture) { throw null; }
         public static System.Globalization.CultureInfo GetCultureInfo(string name) { throw null; }
         public static System.Globalization.CultureInfo GetCultureInfo(string name, string altName) { throw null; }
index 01fab53..0931cba 100644 (file)
@@ -1072,7 +1072,6 @@ namespace Microsoft.Win32 {
         internal const int FIND_FROMSTART   = 0x00400000; // look for value in source, starting at the beginning
         internal const int FIND_FROMEND     = 0x00800000; // look for value in source, starting at the end
 
-#if !FEATURE_CORECLR
         [StructLayout(LayoutKind.Sequential)]
         internal struct NlsVersionInfoEx 
         {
@@ -1082,7 +1081,6 @@ namespace Microsoft.Win32 {
             internal int dwEffectiveId;
             internal Guid guidCustomVersion;
         }
-#endif
 
         [DllImport(KERNEL32, CharSet=CharSet.Auto, SetLastError=true, BestFitMapping=false)]
         internal static extern int GetWindowsDirectory([Out]StringBuilder sb, int length);
index 086daf6..9da4a6b 100644 (file)
@@ -1287,6 +1287,7 @@ namespace System.Globalization {
                 return InternalGetSortVersion();
             }
         }
+#endif
 
         [OptionalField(VersionAdded = 3)]
         private SortVersion m_SortVersion;
@@ -1314,6 +1315,7 @@ namespace System.Globalization {
         [return: MarshalAs(UnmanagedType.Bool)]
         private static extern bool InternalGetNlsVersionEx(IntPtr handle, IntPtr handleOrigin, String localeName, ref Win32Native.NlsVersionInfoEx lpNlsVersionInformation);
 
+#if !FEATURE_CORECLR
         [System.Security.SecurityCritical]
         [DllImport(JitHelpers.QCall, CharSet = CharSet.Unicode)]
         [SuppressUnmanagedCodeSecurity]
index 35195cc..7b56ba4 100644 (file)
@@ -451,8 +451,8 @@ namespace System.Globalization
                    invariant.iDefaultOemCodePage = 437;                    // default oem code page ID (OCP or OEM)
                    invariant.iDefaultMacCodePage = 10000;                  // default macintosh code page
                    invariant.iDefaultEbcdicCodePage = 037;                    // default EBCDIC code page
-                   invariant.sAbbrevLang = "IVL";                  // abbreviated language name (Windows Language Name)
-                   invariant.sAbbrevCountry = "IVC";                  // abbreviated country name (RegionInfo) (Windows Region Name)
+            invariant.sAbbrevLang = "IVL";                     // abbreviated language name (Windows Language Name)
+            invariant.sAbbrevCountry = "IVC";                  // abbreviated country name (RegionInfo) (Windows Region Name)
                    invariant.sISO639Language2 = "ivl";                  // 3 char ISO 639 lang name 2
                    invariant.sISO3166CountryName2 = "ivc";                  // 3 char ISO 3166 country name 2 2(RegionInfo)
                    invariant.iInputLanguageHandle = 0x007f;                 // input language handle
index 46ff38d..baaf334 100644 (file)
@@ -89,9 +89,7 @@ namespace System.Globalization {
         [NonSerialized]private bool m_isSafeCrossDomain;
         [NonSerialized]private int m_createdDomainID;
 #endif // !FEATURE_CORECLR
-#if !FEATURE_CORECLR
         [NonSerialized]private CultureInfo m_consoleFallbackCulture;
-#endif // !FEATURE_CORECLR
 
         // Names are confusing.  Here are 3 names we have:
         //
@@ -1034,7 +1032,6 @@ namespace System.Globalization {
             }
         }
 
-#if !FEATURE_CORECLR
         [System.Runtime.InteropServices.ComVisible(false)]
         public String IetfLanguageTag
         {
@@ -1054,7 +1051,6 @@ namespace System.Globalization {
                 }
             }
         }
-#endif
 
         ////////////////////////////////////////////////////////////////////////
         //
@@ -1315,7 +1311,6 @@ namespace System.Globalization {
             }
         }
 
-#if !FEATURE_CORECLR
         [System.Runtime.InteropServices.ComVisible(false)]
         public CultureTypes CultureTypes
         {
@@ -1333,15 +1328,14 @@ namespace System.Globalization {
 // Disable  warning 618: System.Globalization.CultureTypes.FrameworkCultures' is obsolete
 #pragma warning disable 618
                 types |= m_cultureData.IsFramework ? CultureTypes.FrameworkCultures : 0;
-
 #pragma warning restore 618
+
                 types |= m_cultureData.IsSupplementalCustomCulture ? CultureTypes.UserCustomCulture : 0;
                 types |= m_cultureData.IsReplacementCulture ? CultureTypes.ReplacementCultures | CultureTypes.UserCustomCulture : 0;
 
                 return types;
             }
         }
-#endif
 
         public virtual NumberFormatInfo NumberFormat {
             get 
@@ -1534,7 +1528,6 @@ namespace System.Globalization {
             }
         }
 
-#if !FEATURE_CORECLR
         [System.Security.SecuritySafeCritical]  // auto-generated
         [System.Runtime.InteropServices.ComVisible(false)]
         public CultureInfo GetConsoleFallbackUICulture()
@@ -1550,7 +1543,6 @@ namespace System.Globalization {
             }
             return (temp);
         }
-#endif
 
         public virtual Object Clone()
         {
index 1777737..8113710 100644 (file)
@@ -1470,8 +1470,8 @@ FCFuncStart(gCompareInfoFuncs)
     QCFuncElement("InternalGetSortKey", COMNlsInfo::InternalGetSortKey)
 #ifndef FEATURE_CORECLR
     QCFuncElement("InternalGetSortVersion", COMNlsInfo::InternalGetSortVersion)
-    QCFuncElement("InternalGetNlsVersionEx", COMNlsInfo::InternalGetNlsVersionEx)
 #endif
+    QCFuncElement("InternalGetNlsVersionEx", COMNlsInfo::InternalGetNlsVersionEx)
 FCFuncEnd()
 
 FCFuncStart(gEncodingTableFuncs)
index 4bfa656..ec12fdd 100644 (file)
@@ -593,9 +593,7 @@ DEFINE_FIELD_U(textInfo,           CultureInfoBaseObject,  textInfo)
 DEFINE_FIELD_U(numInfo,            CultureInfoBaseObject,  numInfo)
 DEFINE_FIELD_U(dateTimeInfo,       CultureInfoBaseObject,  dateTimeInfo)
 DEFINE_FIELD_U(calendar,           CultureInfoBaseObject,  calendar)
-#ifndef FEATURE_CORECLR
 DEFINE_FIELD_U(m_consoleFallbackCulture, CultureInfoBaseObject, m_consoleFallbackCulture)
-#endif // FEATURE_CORECLR
 DEFINE_FIELD_U(m_name,             CultureInfoBaseObject,  m_name)
 DEFINE_FIELD_U(m_nonSortName,      CultureInfoBaseObject,  m_nonSortName)
 DEFINE_FIELD_U(m_sortName,         CultureInfoBaseObject,  m_sortName)
index a11b21a..d4ab9ef 100644 (file)
@@ -1856,9 +1856,7 @@ private:
     OBJECTREF dateTimeInfo;
     OBJECTREF calendar;
     OBJECTREF m_cultureData;
-#ifndef FEATURE_CORECLR
     OBJECTREF m_consoleFallbackCulture;
-#endif // !FEATURE_CORECLR
     STRINGREF m_name;                       // "real" name - en-US, de-DE_phoneb or fj-FJ
     STRINGREF m_nonSortName;                // name w/o sort info (de-DE for de-DE_phoneb)
     STRINGREF m_sortName;                   // Sort only name (de-DE_phoneb, en-us for fj-fj (w/us sort)