diff --git a/gyp/fontconfig.gyp b/gyp/fontconfig.gyp
new file mode 100644
index 0000000..94f6e4e
--- /dev/null
+++ b/gyp/fontconfig.gyp
@@ -0,0 +1,101 @@
+# GYP for fontconfig (
+#
+# This has been tested on Windows and Mac.
+# This library is native to Linux, so build from source is not necessary.
+#
+# Additional files for building under Windows are provided here: (LGPL)
+# http://comments.gmane.org/gmane.comp.fonts.fontconfig/4438
+
+{
+  'variables': {
+    'skia_warnings_as_errors': 0,
+  },
+  'targets': [
+    {
+      'target_name': 'fontconfig',
+      'type': 'static_library',
+      'dependencies': [
+        'freetype.gyp:freetype_poppler',
+      ],
+      'include_dirs' : [
+        '../third_party/externals/fontconfig',
+
+        '../third_party/fontconfig/config',
+        '../third_party/fontconfig/config/src',
+      ],
+      'sources': [
+        '../third_party/externals/fontconfig/src/fcatomic.c',
+        '../third_party/externals/fontconfig/src/fcblanks.c',
+        '../third_party/externals/fontconfig/src/fccache.c',
+        '../third_party/externals/fontconfig/src/fccfg.c',
+        '../third_party/externals/fontconfig/src/fccharset.c',
+        '../third_party/externals/fontconfig/src/fccompat.c',
+        '../third_party/externals/fontconfig/src/fcdbg.c',
+        '../third_party/externals/fontconfig/src/fcdefault.c',
+        '../third_party/externals/fontconfig/src/fcdir.c',
+        '../third_party/externals/fontconfig/src/fcfreetype.c',
+        '../third_party/externals/fontconfig/src/fcfs.c',
+        '../third_party/externals/fontconfig/src/fchash.c',
+        '../third_party/externals/fontconfig/src/fcinit.c',
+        '../third_party/externals/fontconfig/src/fclang.c',
+        '../third_party/externals/fontconfig/src/fclist.c',
+        '../third_party/externals/fontconfig/src/fcmatch.c',
+        '../third_party/externals/fontconfig/src/fcmatrix.c',
+        '../third_party/externals/fontconfig/src/fcname.c',
+        '../third_party/externals/fontconfig/src/fcobjs.c',
+        '../third_party/externals/fontconfig/src/fcpat.c',
+        '../third_party/externals/fontconfig/src/fcserialize.c',
+        '../third_party/externals/fontconfig/src/fcstat.c',
+        '../third_party/externals/fontconfig/src/fcstr.c',
+        '../third_party/externals/fontconfig/src/fcxml.c',
+        '../third_party/externals/fontconfig/src/ftglue.c',
+      ],
+      'defines': [
+        'HAVE_CONFIG_H',
+      ],
+      'cflags': [
+        '-fPIC',
+      ],
+
+      'direct_dependent_settings': {
+        'include_dirs': [
+          '../third_party/externals/fontconfig',
+        ],
+      },
+
+      'conditions': [
+        ['skia_os == "mac"', {
+          'include_dirs': [
+            '../third_party/fontconfig/config/mac',
+            '../third_party/fontconfig/config/mac/src',
+          ],
+          'defines': [
+            'FC_CACHEDIR',
+            'FONTCONFIG_PATH',
+          ],
+          'libraries': [
+            '$(SDKROOT)/usr/lib/libexpat.dylib',
+          ],
+          'xcode_settings': {
+            'DYLIB_INSTALL_NAME_BASE': '@executable_path',
+          },
+        }],
+        ['skia_os == "win"', {
+          'include_dirs': [
+            '../third_party/fontconfig/config/windows',
+            '../third_party/fontconfig/config/windows/src',
+          ],
+          'sources!': [
+            '../third_party/externals/fontconfig/src/fccompat.c',
+            '../third_party/externals/fontconfig/src/fcxml.c',
+          ],
+          'defines': [
+            # inline is not recognized  in C and has to be __inline
+            'inline=__inline',
+          ],
+        }],
+      ],
+    },
+  ],
+}
+
diff --git a/gyp/freetype.gyp b/gyp/freetype.gyp
index 91c92b7..30afb06 100644
--- a/gyp/freetype.gyp
+++ b/gyp/freetype.gyp
@@ -46,69 +46,20 @@
         # we are dependent upon PNG for color emoji glyphs
         'images.gyp:images'
       ],
-      'sources': [
-        # base components (required)
-        '../third_party/externals/freetype/src/base/ftsystem.c',
-        '../third_party/externals/freetype/src/base/ftinit.c',
-        '../third_party/externals/freetype/src/base/ftdebug.c',
-        '../third_party/externals/freetype/src/base/ftbase.c',
-
-        '../third_party/externals/freetype/src/base/ftbbox.c',       # recommended, see <freetype/ftbbox.h>
-        '../third_party/externals/freetype/src/base/ftglyph.c',      # recommended, see <freetype/ftglyph.h>
-
-        '../third_party/externals/freetype/src/base/ftbitmap.c',     # optional, see <freetype/ftbitmap.h>
-        '../third_party/externals/freetype/src/base/ftfstype.c',     # optional
-        '../third_party/externals/freetype/src/base/ftgasp.c',       # optional, see <freetype/ftgasp.h>
-        '../third_party/externals/freetype/src/base/ftlcdfil.c',     # optional, see <freetype/ftlcdfil.h>
-        '../third_party/externals/freetype/src/base/ftmm.c',         # optional, see <freetype/ftmm.h>
-        '../third_party/externals/freetype/src/base/ftpatent.c',     # optional
-        '../third_party/externals/freetype/src/base/ftstroke.c',     # optional, see <freetype/ftstroke.h>
-        '../third_party/externals/freetype/src/base/ftsynth.c',      # optional, see <freetype/ftsynth.h>
-        '../third_party/externals/freetype/src/base/fttype1.c',      # optional, see <freetype/t1tables.h>
-        '../third_party/externals/freetype/src/base/ftwinfnt.c',     # optional, see <freetype/ftwinfnt.h>
-        '../third_party/externals/freetype/src/base/ftxf86.c',       # optional, see <freetype/ftxf86.h>
-
-        # font drivers (optional; at least one is needed)
-        '../third_party/externals/freetype/src/cff/cff.c',           # CFF/OpenType font driver
-        '../third_party/externals/freetype/src/sfnt/sfnt.c',         # SFNT files support (TrueType & OpenType)
-        '../third_party/externals/freetype/src/truetype/truetype.c', # TrueType font driver
-
-        # rasterizers (optional; at least one is needed for vector formats)
-        '../third_party/externals/freetype/src/raster/raster.c',     # monochrome rasterizer
-        '../third_party/externals/freetype/src/smooth/smooth.c',     # anti-aliasing rasterizer
-
-        # auxiliary modules (optional)
-        '../third_party/externals/freetype/src/autofit/autofit.c',   # auto hinting module
-        '../third_party/externals/freetype/src/pshinter/pshinter.c', # PS hinting module
-        '../third_party/externals/freetype/src/psnames/psnames.c',   # PostScript glyph names support
+      'includes': [
+        # common freetype sources needed for both the base Skia build and the
+        # libpoppler build for testing only
+        'freetype.gypi',
       ],
       'include_dirs': [
         '../third_party/freetype/include_overrides',
-        '../third_party/externals/freetype/internal',
-        '../third_party/externals/freetype/builds',
-        '../third_party/externals/freetype/include',
-        '../third_party/externals/freetype',
-      ],
-      'cflags': [
-        '-DFT2_BUILD_LIBRARY',
       ],
       'direct_dependent_settings': {
         'include_dirs': [
           '../third_party/freetype/include_overrides',
-          '../third_party/externals/freetype/include',
         ],
       },
       'conditions': [
-        [ 'skia_warnings_as_errors', {
-          'cflags!': [
-            '-Werror',
-          ],
-        }],
-        [ 'skia_os == "mac"', {
-          'sources': [
-            '../third_party/externals/freetype/src/base/ftmac.c',        # only on the Macintosh
-          ],
-        }],
         [ 'skia_os == "android"', {
           # These flags are used by the Android OS.  They are probably overkill
           # for Skia, but we add them for consistency.
@@ -124,6 +75,31 @@
         }],
       ],
     },
+    {
+      'target_name': 'freetype_poppler',
+      'type': 'static_library',
+      'standalone_static_library': 1,
+      'includes': [
+        'freetype.gypi',
+      ],
+      'sources': [
+        # additional components used by poppler
+        '../third_party/externals/freetype/src/base/ftbdf.c',
+        '../third_party/externals/freetype/src/base/ftpfr.c',
+
+        '../third_party/externals/freetype/src/bdf/bdf.c',
+        '../third_party/externals/freetype/src/cid/type1cid.c',
+        '../third_party/externals/freetype/src/pcf/pcf.c',
+        '../third_party/externals/freetype/src/pfr/pfr.c',
+        '../third_party/externals/freetype/src/psaux/psaux.c',
+        '../third_party/externals/freetype/src/type1/type1.c',
+        '../third_party/externals/freetype/src/type42/type42.c',
+        '../third_party/externals/freetype/src/winfonts/winfnt.c',
+
+        '../third_party/externals/freetype/src/gzip/ftgzip.c',
+        '../third_party/externals/freetype/src/lzw/ftlzw.c',
+      ],
+    },
   ],
 }
 
diff --git a/gyp/freetype.gypi b/gyp/freetype.gypi
new file mode 100644
index 0000000..da33262
--- /dev/null
+++ b/gyp/freetype.gypi
@@ -0,0 +1,65 @@
+{
+  'sources': [
+    # base components (required)
+    '../third_party/externals/freetype/src/base/ftsystem.c',
+    '../third_party/externals/freetype/src/base/ftinit.c',
+    '../third_party/externals/freetype/src/base/ftdebug.c',
+    '../third_party/externals/freetype/src/base/ftbase.c',
+
+    '../third_party/externals/freetype/src/base/ftbbox.c',       # recommended, see <freetype/ftbbox.h>
+    '../third_party/externals/freetype/src/base/ftglyph.c',      # recommended, see <freetype/ftglyph.h>
+
+    '../third_party/externals/freetype/src/base/ftbitmap.c',     # optional, see <freetype/ftbitmap.h>
+    '../third_party/externals/freetype/src/base/ftfstype.c',     # optional
+    '../third_party/externals/freetype/src/base/ftgasp.c',       # optional, see <freetype/ftgasp.h>
+    '../third_party/externals/freetype/src/base/ftlcdfil.c',     # optional, see <freetype/ftlcdfil.h>
+    '../third_party/externals/freetype/src/base/ftmm.c',         # optional, see <freetype/ftmm.h>
+    '../third_party/externals/freetype/src/base/ftpatent.c',     # optional
+    '../third_party/externals/freetype/src/base/ftstroke.c',     # optional, see <freetype/ftstroke.h>
+    '../third_party/externals/freetype/src/base/ftsynth.c',      # optional, see <freetype/ftsynth.h>
+    '../third_party/externals/freetype/src/base/fttype1.c',      # optional, see <freetype/t1tables.h>
+    '../third_party/externals/freetype/src/base/ftwinfnt.c',     # optional, see <freetype/ftwinfnt.h>
+    '../third_party/externals/freetype/src/base/ftxf86.c',       # optional, see <freetype/ftxf86.h>
+
+    # font drivers (optional; at least one is needed)
+    '../third_party/externals/freetype/src/cff/cff.c',           # CFF/OpenType font driver
+    '../third_party/externals/freetype/src/sfnt/sfnt.c',         # SFNT files support (TrueType & OpenType)
+    '../third_party/externals/freetype/src/truetype/truetype.c', # TrueType font driver
+
+    # rasterizers (optional; at least one is needed for vector formats)
+    '../third_party/externals/freetype/src/raster/raster.c',     # monochrome rasterizer
+    '../third_party/externals/freetype/src/smooth/smooth.c',     # anti-aliasing rasterizer
+
+    # auxiliary modules (optional)
+    '../third_party/externals/freetype/src/autofit/autofit.c',   # auto hinting module
+    '../third_party/externals/freetype/src/pshinter/pshinter.c', # PS hinting module
+    '../third_party/externals/freetype/src/psnames/psnames.c',   # PostScript glyph names support
+  ],
+  'include_dirs': [
+    '../third_party/externals/freetype/internal',
+    '../third_party/externals/freetype/builds',
+    '../third_party/externals/freetype/include',
+    '../third_party/externals/freetype',
+  ],
+  'defines': [
+    'FT2_BUILD_LIBRARY',
+  ],
+  'conditions': [
+    [ 'skia_warnings_as_errors', {
+      'cflags!': [
+        '-Werror',
+      ],
+    }],
+    [ 'skia_os == "mac"', {
+      'sources': [
+        '../third_party/externals/freetype/src/base/ftmac.c',        # only on the Macintosh
+      ],
+    }],
+  ],
+  'direct_dependent_settings': {
+    'include_dirs': [
+      '../third_party/externals/freetype/include',
+    ],
+  },
+}
+
diff --git a/gyp/gm.gyp b/gyp/gm.gyp
index 6608aba..04efaa6 100644
--- a/gyp/gm.gyp
+++ b/gyp/gm.gyp
@@ -60,6 +60,17 @@
         'pdf.gyp:pdf',
       ],
       'conditions': [
+        ['skia_os in ["linux", "mac", "win"]', {
+          'dependencies': [
+            'poppler.gyp:libpoppler-cpp-gpl',
+          ],
+          'sources': [
+            '../src/utils/SkPDFRasterizer.cpp',
+          ],
+          'defines': [
+            'SK_BUILD_POPPLER',
+          ],
+        }],
         ['skia_os == "mac"', {
           'sources!': [
             '../gm/system_preferences_default.cpp',
diff --git a/gyp/iconv.gyp b/gyp/iconv.gyp
new file mode 100644
index 0000000..a727469
--- /dev/null
+++ b/gyp/iconv.gyp
@@ -0,0 +1,44 @@
+# GYP for iconv
+#
+# NOTE: WINDOWS BUILD ONLY.
+# iconv should be native to Mac and Linux.
+#
+# Based on instructions found on http://www.codeproject.com/Articles/302012/How-to-Build-libiconv-with-Microsoft-Visual-Studio
+# See the relevant README.chromium file for more information.
+
+{
+  'variables': {
+    'skia_warnings_as_errors': 0,
+  },
+  'targets': [
+    {
+      'target_name': 'iconv',
+      'type': 'static_library',
+      'include_dirs' : [
+        '../third_party/externals/iconv/lib',
+        '../third_party/iconv/config',
+      ],
+      'sources': [
+        '../third_party/externals/iconv/lib/iconv.c',
+        '../third_party/externals/iconv/libcharset/lib/localcharset.c',
+      ],
+
+      'conditions': [
+        ['skia_os == "win"', {
+          'include_dirs': [
+            '../third_party/iconv/config/windows',
+          ],
+          'direct_dependent_settings': {
+            'include_dirs': [
+              '../third_party/iconv/config/windows',
+            ],
+          },
+          'defines': [
+            'LIBDIR',
+          ],
+        }],
+      ],
+    },
+  ],
+}
+
diff --git a/gyp/poppler.gyp b/gyp/poppler.gyp
new file mode 100644
index 0000000..7b1a0cc
--- /dev/null
+++ b/gyp/poppler.gyp
@@ -0,0 +1,229 @@
+# GYP for libpoppler, a PDF rendering library.
+#
+# !!! WARNING !!! Poppler is GPL software, and should not be used in anything
+# except testing code. Or the lawyercats won't be happy.
+#
+# libpoppler should be statically linked (doesn't have DLL exports),
+# but libpopper-cpp can be dynamically linked.
+
+{
+  'variables': {
+    'skia_warnings_as_errors': 0,
+  },
+  'targets': [
+    {
+      'target_name': 'libpoppler-gpl',
+      'type': 'static_library',
+      'include_dirs' : [
+        '../third_party/externals/poppler',
+        '../third_party/externals/poppler/goo',
+      ],
+      'sources': [
+        '../third_party/externals/poppler/fofi/FoFiBase.cc',
+        '../third_party/externals/poppler/fofi/FoFiEncodings.cc',
+        '../third_party/externals/poppler/fofi/FoFiIdentifier.cc',
+        '../third_party/externals/poppler/fofi/FoFiTrueType.cc',
+        '../third_party/externals/poppler/fofi/FoFiType1.cc',
+        '../third_party/externals/poppler/fofi/FoFiType1C.cc',
+        '../third_party/externals/poppler/goo/FixedPoint.cc',
+        '../third_party/externals/poppler/goo/gfile.cc',
+        '../third_party/externals/poppler/goo/gmem.cc',
+        '../third_party/externals/poppler/goo/gmempp.cc',
+        '../third_party/externals/poppler/goo/GooHash.cc',
+        '../third_party/externals/poppler/goo/GooList.cc',
+        '../third_party/externals/poppler/goo/GooString.cc',
+        '../third_party/externals/poppler/goo/GooTimer.cc',
+        '../third_party/externals/poppler/goo/grandom.cc',
+        '../third_party/externals/poppler/goo/gstrtod.cc',
+        '../third_party/externals/poppler/goo/ImgWriter.cc',
+        '../third_party/externals/poppler/goo/JpegWriter.cc',
+        '../third_party/externals/poppler/goo/PNGWriter.cc',
+        '../third_party/externals/poppler/goo/TiffWriter.cc',
+        '../third_party/externals/poppler/poppler/Annot.cc',
+        '../third_party/externals/poppler/poppler/Array.cc',
+        '../third_party/externals/poppler/poppler/BuiltinFont.cc',
+        '../third_party/externals/poppler/poppler/BuiltinFontTables.cc',
+        '../third_party/externals/poppler/poppler/CachedFile.cc',
+        '../third_party/externals/poppler/poppler/Catalog.cc',
+        '../third_party/externals/poppler/poppler/CharCodeToUnicode.cc',
+        '../third_party/externals/poppler/poppler/CMap.cc',
+        '../third_party/externals/poppler/poppler/DateInfo.cc',
+        '../third_party/externals/poppler/poppler/Decrypt.cc',
+        '../third_party/externals/poppler/poppler/Dict.cc',
+        '../third_party/externals/poppler/poppler/Error.cc',
+        '../third_party/externals/poppler/poppler/FileSpec.cc',
+        '../third_party/externals/poppler/poppler/FontEncodingTables.cc',
+        '../third_party/externals/poppler/poppler/FontInfo.cc',
+        '../third_party/externals/poppler/poppler/Form.cc',
+        '../third_party/externals/poppler/poppler/Function.cc',
+        '../third_party/externals/poppler/poppler/Gfx.cc',
+        '../third_party/externals/poppler/poppler/GfxFont.cc',
+        '../third_party/externals/poppler/poppler/GfxState.cc',
+        '../third_party/externals/poppler/poppler/GlobalParams.cc',
+        '../third_party/externals/poppler/poppler/Hints.cc',
+        '../third_party/externals/poppler/poppler/JArithmeticDecoder.cc',
+        '../third_party/externals/poppler/poppler/JBIG2Stream.cc',
+        '../third_party/externals/poppler/poppler/JPXStream.cc',
+        '../third_party/externals/poppler/poppler/Lexer.cc',
+        '../third_party/externals/poppler/poppler/Linearization.cc',
+        '../third_party/externals/poppler/poppler/Link.cc',
+        '../third_party/externals/poppler/poppler/LocalPDFDocBuilder.cc',
+        '../third_party/externals/poppler/poppler/Movie.cc',
+        '../third_party/externals/poppler/poppler/NameToCharCode.cc',
+        '../third_party/externals/poppler/poppler/Object.cc',
+        '../third_party/externals/poppler/poppler/OptionalContent.cc',
+        '../third_party/externals/poppler/poppler/Outline.cc',
+        '../third_party/externals/poppler/poppler/OutputDev.cc',
+        '../third_party/externals/poppler/poppler/Page.cc',
+        '../third_party/externals/poppler/poppler/PageLabelInfo.cc',
+        '../third_party/externals/poppler/poppler/PageTransition.cc',
+        '../third_party/externals/poppler/poppler/Parser.cc',
+        '../third_party/externals/poppler/poppler/PDFDoc.cc',
+        '../third_party/externals/poppler/poppler/PDFDocEncoding.cc',
+        '../third_party/externals/poppler/poppler/PDFDocFactory.cc',
+        '../third_party/externals/poppler/poppler/PopplerCache.cc',
+        '../third_party/externals/poppler/poppler/PreScanOutputDev.cc',
+        '../third_party/externals/poppler/poppler/ProfileData.cc',
+        '../third_party/externals/poppler/poppler/PSOutputDev.cc',
+        '../third_party/externals/poppler/poppler/PSTokenizer.cc',
+        '../third_party/externals/poppler/poppler/Rendition.cc',
+        '../third_party/externals/poppler/poppler/SecurityHandler.cc',
+        '../third_party/externals/poppler/poppler/Sound.cc',
+        '../third_party/externals/poppler/poppler/SplashOutputDev.cc',
+        '../third_party/externals/poppler/poppler/StdinCachedFile.cc',
+        '../third_party/externals/poppler/poppler/StdinPDFDocBuilder.cc',
+        '../third_party/externals/poppler/poppler/Stream.cc',
+        '../third_party/externals/poppler/poppler/strtok_r.cpp',
+        '../third_party/externals/poppler/poppler/TextOutputDev.cc',
+        '../third_party/externals/poppler/poppler/UnicodeMap.cc',
+        '../third_party/externals/poppler/poppler/UnicodeTypeTable.cc',
+        '../third_party/externals/poppler/poppler/UTF.cc',
+        '../third_party/externals/poppler/poppler/ViewerPreferences.cc',
+        '../third_party/externals/poppler/poppler/XpdfPluginAPI.cc',
+        '../third_party/externals/poppler/poppler/XRef.cc',
+        '../third_party/externals/poppler/splash/Splash.cc',
+        '../third_party/externals/poppler/splash/SplashBitmap.cc',
+        '../third_party/externals/poppler/splash/SplashClip.cc',
+        '../third_party/externals/poppler/splash/SplashFont.cc',
+        '../third_party/externals/poppler/splash/SplashFontEngine.cc',
+        '../third_party/externals/poppler/splash/SplashFontFile.cc',
+        '../third_party/externals/poppler/splash/SplashFontFileID.cc',
+        '../third_party/externals/poppler/splash/SplashFTFont.cc',
+        '../third_party/externals/poppler/splash/SplashFTFontEngine.cc',
+        '../third_party/externals/poppler/splash/SplashFTFontFile.cc',
+        '../third_party/externals/poppler/splash/SplashPath.cc',
+        '../third_party/externals/poppler/splash/SplashPattern.cc',
+        '../third_party/externals/poppler/splash/SplashScreen.cc',
+        '../third_party/externals/poppler/splash/SplashState.cc',
+        '../third_party/externals/poppler/splash/SplashT1Font.cc',
+        '../third_party/externals/poppler/splash/SplashT1FontEngine.cc',
+        '../third_party/externals/poppler/splash/SplashT1FontFile.cc',
+        '../third_party/externals/poppler/splash/SplashXPath.cc',
+        '../third_party/externals/poppler/splash/SplashXPathScanner.cc',
+      ],
+      'direct_dependent_settings': {
+        'include_dirs': [
+          '../third_party/externals/poppler/poppler',
+        ],
+      },
+      'conditions': [
+        ['skia_os == "linux"', {
+          'include_dirs': [
+            '../third_party/poppler/config/linux',
+            '/usr/include/freetype2',
+          ],
+          'cflags': [
+            '-fPIC',
+          ],
+        }],
+        ['skia_os in ["mac", "win"]', {
+          'dependencies': [
+            'freetype.gyp:freetype_poppler',
+            'fontconfig.gyp:fontconfig',
+          ],
+        }],
+        ['skia_os == "mac"', {
+          'include_dirs': [
+            '../third_party/poppler/config/mac',
+          ],
+        }],
+        ['skia_os == "win"', {
+          'include_dirs': [
+            '../third_party/poppler/config/windows',
+          ],
+        }],
+      ],
+    },
+    
+    {
+      'target_name': 'libpoppler-cpp-gpl',
+      'dependencies': [
+        'libpoppler-gpl',
+      ],
+      'type': 'shared_library',
+      'include_dirs' : [
+        '../third_party/externals/poppler/cpp',
+        '../third_party/externals/poppler',
+        '../third_party/externals/poppler/poppler',
+        '../third_party/externals/poppler/goo',
+
+        '../third_party/poppler/config',
+      ],
+      'sources': [
+        '../third_party/externals/poppler/cpp/PNMWriter.cc',
+        '../third_party/externals/poppler/cpp/poppler-document.cpp',
+        '../third_party/externals/poppler/cpp/poppler-embedded-file.cpp',
+        '../third_party/externals/poppler/cpp/poppler-font.cpp',
+        '../third_party/externals/poppler/cpp/poppler-global.cpp',
+        '../third_party/externals/poppler/cpp/poppler-image.cpp',
+        '../third_party/externals/poppler/cpp/poppler-page.cpp',
+        '../third_party/externals/poppler/cpp/poppler-page-renderer.cpp',
+        '../third_party/externals/poppler/cpp/poppler-page-transition.cpp',
+        '../third_party/externals/poppler/cpp/poppler-private.cpp',
+        '../third_party/externals/poppler/cpp/poppler-toc.cpp',
+      ],
+      'defines': [
+        'poppler_cpp_EXPORTS',
+      ],
+      'direct_dependent_settings': {
+        'include_dirs': [
+          '../third_party/externals/poppler/cpp',
+        ],
+      },
+      'conditions': [
+        ['skia_os == "linux"', {
+          'include_dirs': [
+            '../third_party/poppler/config/linux',
+          ],
+          'cflags': [
+            '-fPIC',
+          ],
+        }],
+        ['skia_os == "mac"', {
+          'include_dirs': [
+            '../third_party/poppler/config/mac',
+          ],
+          'libraries':[
+            '$(SDKROOT)/usr/lib/libiconv.dylib',
+            '$(SDKROOT)/usr/lib/libexpat.dylib',
+          ],
+          'xcode_settings': {
+            'DYLIB_INSTALL_NAME_BASE': '@executable_path',
+            'OTHER_CPLUSPLUSFLAGS!': [
+              # poppler doesn't do gcc-style exports
+              '-fvisibility=hidden',
+            ],
+          },
+        }],
+        ['skia_os == "win"', {
+          'dependencies': [
+            'iconv.gyp:iconv',
+          ],
+          'include_dirs': [
+            '../third_party/poppler/config/windows',
+          ],
+        }],
+      ],
+    },
+  ],
+}
diff --git a/src/utils/SkPDFRasterizer.cpp b/src/utils/SkPDFRasterizer.cpp
new file mode 100644
index 0000000..3fd2728
--- /dev/null
+++ b/src/utils/SkPDFRasterizer.cpp
@@ -0,0 +1,73 @@
+
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifdef SK_BUILD_FOR_WIN32
+#pragma warning(push)
+#pragma warning(disable : 4530)
+#endif
+
+#include <poppler-document.h>
+#include <poppler-image.h>
+#include <poppler-page.h>
+#include <poppler-page-renderer.h>
+
+#include "SkPDFRasterizer.h"
+#include "SkColorPriv.h"
+
+bool SkPopplerRasterizePDF(SkStream* pdf, SkBitmap* output) {
+  size_t size = pdf->getLength();
+  void* buffer = sk_malloc_throw(size);
+  pdf->read(buffer, size);
+
+  SkAutoTDelete<poppler::document> doc(
+      poppler::document::load_from_raw_data((const char*)buffer, size));
+  if (!doc.get() || doc->is_locked()) {
+    return false;
+  }
+
+  SkAutoTDelete<poppler::page> page(doc->create_page(0));
+  poppler::page_renderer renderer;
+  poppler::image image = renderer.render_page(page.get());
+
+  if (!image.is_valid() || image.format() != poppler::image::format_argb32) {
+    return false;
+  }
+
+  size_t width = image.width(), height = image.height();
+  size_t rowSize = image.bytes_per_row();
+  char *imgData = image.data();
+
+  SkBitmap bitmap;
+  bitmap.setConfig(SkBitmap::kARGB_8888_Config, width, height);
+  if (!bitmap.allocPixels()) {
+      return false;
+  }
+  bitmap.eraseColor(SK_ColorWHITE);
+  SkPMColor* bitmapPixels = (SkPMColor*)bitmap.getPixels();
+
+  // do pixel-by-pixel copy to deal with RGBA ordering conversions
+  for (size_t y = 0; y < height; y++) {
+    char *rowData = imgData;
+    for (size_t x = 0; x < width; x++) {
+      uint8_t a = rowData[3];
+      uint8_t r = rowData[2];
+      uint8_t g = rowData[1];
+      uint8_t b = rowData[0];
+
+      *bitmapPixels = SkPreMultiplyARGB(a, r, g, b);
+
+      bitmapPixels++;
+      rowData += 4;
+    }
+    imgData += rowSize;
+  }
+
+  output->swap(bitmap);
+
+  return true;
+}
diff --git a/src/utils/SkPDFRasterizer.h b/src/utils/SkPDFRasterizer.h
new file mode 100644
index 0000000..4a4083c
--- /dev/null
+++ b/src/utils/SkPDFRasterizer.h
@@ -0,0 +1,15 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#ifndef SkPDFRasterizer_DEFINED
+#define SkPDFRasterizer_DEFINED
+
+#include "SkBitmap.h"
+#include "SkStream.h"
+
+bool SkPopplerRasterizePDF(SkStream* pdf, SkBitmap* output);
+
+#endif
diff --git a/third_party/fontconfig/LICENSE b/third_party/fontconfig/LICENSE
new file mode 100644
index 0000000..66392b1
--- /dev/null
+++ b/third_party/fontconfig/LICENSE
@@ -0,0 +1,28 @@
+fontconfig/COPYING
+
+Copyright © 2000,2001,2002,2003,2004,2006,2007 Keith Packard
+Copyright © 2005 Patrick Lam
+Copyright © 2009 Roozbeh Pournader
+Copyright © 2008,2009 Red Hat, Inc.
+Copyright © 2008 Danilo Šegan
+Copyright © 2012 Google, Inc.
+
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of the author(s) not be used in
+advertising or publicity pertaining to distribution of the software without
+specific, written prior permission.  The authors make no
+representations about the suitability of this software for any purpose.  It
+is provided "as is" without express or implied warranty.
+
+THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/third_party/fontconfig/LICENSE.win b/third_party/fontconfig/LICENSE.win
new file mode 100644
index 0000000..7359268
--- /dev/null
+++ b/third_party/fontconfig/LICENSE.win
@@ -0,0 +1,118 @@
+Copyright
+
+
+
+This MSVC++2010 solution is distributed under an LGPL license and is designed to
+
+permit you to compile FontConfig 2.10.1 with Microsoft Visual C++ 2010 Express.
+
+
+
+It is part of the EBU Media-Player project and developped at:
+
+EBU/European Broadcasting Union
+
+Technology and Innovation Department
+
+L'Ancienne-Route 17A
+
+CH-1218 Grand-Saconnex 
+
+Switzerland
+
+http://tech.ebu.ch
+
+
+
+This MSVC++ solution was created by : Marco Dos Santos Oliveira at the EBU
+
+                                      dossantos@ebu.ch
+
+
+
+########################################################################################################################
+
+
+
+Content
+
+
+
+This zip file is very similar to the Chun-wei Fan fontconfig_vs9.zip :
+https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack?action=AttachFile&do=get&target=fontconfig_vs9.zip
+
+released especially for the GTK+ MSVC++ tutorial :
+
+https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack#FontConfig
+
+
+Indeed, it contains all additional files of Chun-wei Fan's solution except his
+
+MSVC++ project because it is outdated.
+
+
+
+Changes are into config.h/config.h.vc and in fontconfig.def
+
+
+
+For more details, I invite you to read the Gtk+ MSVC++ tutorial or to contact me at
+
+dossantos@ebu.ch
+
+
+
+########################################################################################################################
+
+
+
+Modifications
+
+Definition added to fontconfig.def :
+
+- FcCacheCreateTagFile
+
+- FcDirCacheClean
+
+
+
+Modification/addition to config.h/config.h.vc :
+
+- #define FLEXIBLE_ARRAY_MEMBER 1
+
+- Version number of package
+
+
+
+########################################################################################################################
+
+
+
+How to build FontConfig-2.10.1
+
+
+
+Dependencies required :
+
+- Freetype 2.4.10
+
+- Expat 2.1.0
+
+- Libiconv 1.14
+
+
+
+Compilation procedure :
+
+1) Download the latest FontConfig release (right now, it's 2.10.1) from
+http://www.freedesktop.org/software/fontconfig/release/
+
+2) Unpack it where you want
+
+3) Unzip this MSVC++2010 project inside the FontConfig root directory
+
+4) Update the path of additional include directories and additional libraries directories.
+Maybe you should update the name of additional libraries too.
+
+5) Compile and enjoy :)
+
diff --git a/third_party/fontconfig/README.chromium b/third_party/fontconfig/README.chromium
new file mode 100644
index 0000000..f9ea5b6
--- /dev/null
+++ b/third_party/fontconfig/README.chromium
@@ -0,0 +1,41 @@
+Name: fontconfig
+Short Name: fontconfig
+URL: git://anongit.freedesktop.org/fontconfig
+Version: 2.10.93
+License: MIT, except for Windows-specific files, which are LGPL
+License File: LICENSE
+Security Critical: No
+
+Description:
+A library for configuring and customizing font access.
+Used in Skia as a dependency of libpoppler, for PDF rasterization during
+testing.
+
+Local Modifications:
+No changes to files from the upstream repository.
+Platform-specific configuration files added to
+third_party/fontconfig/config/(platform):
+  config.h
+  fcstdint.h
+  src/fcalias.h
+  src/fcaliastail.h
+  src/fcftalias.h
+  src/fcftaliastail.h
+  These are Windows replacements for POSIX headers:
+    dirent.c
+    dirent.h
+    unistd.h
+
+Autogenerated files (consistent across platforms) added to
+third_party/fontconfig/config:
+  fc-case/fccase.h
+  fc-glyphname/fcglyphname.h
+  fc-lang/fclang.h
+  src/fcobjshash.h
+
+On Linux and Mac, these are the files generated by ./configure, with no
+additional flags.
+On Windows, the configuration files were from
+http://comments.gmane.org/gmane.comp.fonts.fontconfig/4438
+(fontconfig development list).
+
diff --git a/third_party/fontconfig/config/fc-case/fccase.h b/third_party/fontconfig/config/fc-case/fccase.h
new file mode 100755
index 0000000..e80a009
--- /dev/null
+++ b/third_party/fontconfig/config/fc-case/fccase.h
@@ -0,0 +1,330 @@
+/*
+ * fontconfig/fc-case/fccase.tmpl.h
+ *
+ * Copyright © 2003 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission.  The authors make no
+ * representations about the suitability of this software for any purpose.  It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#define FC_NUM_CASE_FOLD	264
+#define FC_NUM_CASE_FOLD_CHARS	471
+#define FC_MAX_CASE_FOLD_CHARS	6
+#define FC_MAX_CASE_FOLD_EXPAND	4
+#define FC_MIN_FOLD_CHAR	0x00000041
+#define FC_MAX_FOLD_CHAR	0x00010427
+
+static const FcCaseFold    fcCaseFold[FC_NUM_CASE_FOLD] = {
+    { 0x00000041, FC_CASE_FOLD_RANGE,    0x001a,     32 },
+    { 0x000000b5, FC_CASE_FOLD_RANGE,    0x0001,    775 },
+    { 0x000000c0, FC_CASE_FOLD_RANGE,    0x0017,     32 },
+    { 0x000000d8, FC_CASE_FOLD_RANGE,    0x0007,     32 },
+    { 0x000000df, FC_CASE_FOLD_FULL,     0x0002,      0 },
+    { 0x00000100, FC_CASE_FOLD_EVEN_ODD, 0x002f,      1 },
+    { 0x00000130, FC_CASE_FOLD_FULL,     0x0003,      2 },
+    { 0x00000132, FC_CASE_FOLD_EVEN_ODD, 0x0005,      1 },
+    { 0x00000139, FC_CASE_FOLD_EVEN_ODD, 0x000f,      1 },
+    { 0x00000149, FC_CASE_FOLD_FULL,     0x0003,      5 },
+    { 0x0000014a, FC_CASE_FOLD_EVEN_ODD, 0x002d,      1 },
+    { 0x00000178, FC_CASE_FOLD_RANGE,    0x0001,   -121 },
+    { 0x00000179, FC_CASE_FOLD_EVEN_ODD, 0x0005,      1 },
+    { 0x0000017f, FC_CASE_FOLD_RANGE,    0x0001,   -268 },
+    { 0x00000181, FC_CASE_FOLD_RANGE,    0x0001,    210 },
+    { 0x00000182, FC_CASE_FOLD_EVEN_ODD, 0x0003,      1 },
+    { 0x00000186, FC_CASE_FOLD_RANGE,    0x0001,    206 },
+    { 0x00000187, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x00000189, FC_CASE_FOLD_RANGE,    0x0002,    205 },
+    { 0x0000018b, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x0000018e, FC_CASE_FOLD_RANGE,    0x0001,     79 },
+    { 0x0000018f, FC_CASE_FOLD_RANGE,    0x0001,    202 },
+    { 0x00000190, FC_CASE_FOLD_RANGE,    0x0001,    203 },
+    { 0x00000191, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x00000193, FC_CASE_FOLD_RANGE,    0x0001,    205 },
+    { 0x00000194, FC_CASE_FOLD_RANGE,    0x0001,    207 },
+    { 0x00000196, FC_CASE_FOLD_RANGE,    0x0001,    211 },
+    { 0x00000197, FC_CASE_FOLD_RANGE,    0x0001,    209 },
+    { 0x00000198, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x0000019c, FC_CASE_FOLD_RANGE,    0x0001,    211 },
+    { 0x0000019d, FC_CASE_FOLD_RANGE,    0x0001,    213 },
+    { 0x0000019f, FC_CASE_FOLD_RANGE,    0x0001,    214 },
+    { 0x000001a0, FC_CASE_FOLD_EVEN_ODD, 0x0005,      1 },
+    { 0x000001a6, FC_CASE_FOLD_RANGE,    0x0001,    218 },
+    { 0x000001a7, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x000001a9, FC_CASE_FOLD_RANGE,    0x0001,    218 },
+    { 0x000001ac, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x000001ae, FC_CASE_FOLD_RANGE,    0x0001,    218 },
+    { 0x000001af, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x000001b1, FC_CASE_FOLD_RANGE,    0x0002,    217 },
+    { 0x000001b3, FC_CASE_FOLD_EVEN_ODD, 0x0003,      1 },
+    { 0x000001b7, FC_CASE_FOLD_RANGE,    0x0001,    219 },
+    { 0x000001b8, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x000001bc, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x000001c4, FC_CASE_FOLD_RANGE,    0x0001,      2 },
+    { 0x000001c5, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x000001c7, FC_CASE_FOLD_RANGE,    0x0001,      2 },
+    { 0x000001c8, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x000001ca, FC_CASE_FOLD_RANGE,    0x0001,      2 },
+    { 0x000001cb, FC_CASE_FOLD_EVEN_ODD, 0x0011,      1 },
+    { 0x000001de, FC_CASE_FOLD_EVEN_ODD, 0x0011,      1 },
+    { 0x000001f0, FC_CASE_FOLD_FULL,     0x0003,      8 },
+    { 0x000001f1, FC_CASE_FOLD_RANGE,    0x0001,      2 },
+    { 0x000001f2, FC_CASE_FOLD_EVEN_ODD, 0x0003,      1 },
+    { 0x000001f6, FC_CASE_FOLD_RANGE,    0x0001,    -97 },
+    { 0x000001f7, FC_CASE_FOLD_RANGE,    0x0001,    -56 },
+    { 0x000001f8, FC_CASE_FOLD_EVEN_ODD, 0x0027,      1 },
+    { 0x00000220, FC_CASE_FOLD_RANGE,    0x0001,   -130 },
+    { 0x00000222, FC_CASE_FOLD_EVEN_ODD, 0x0011,      1 },
+    { 0x0000023a, FC_CASE_FOLD_RANGE,    0x0001,  10795 },
+    { 0x0000023b, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x0000023d, FC_CASE_FOLD_RANGE,    0x0001,   -163 },
+    { 0x0000023e, FC_CASE_FOLD_RANGE,    0x0001,  10792 },
+    { 0x00000241, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x00000243, FC_CASE_FOLD_RANGE,    0x0001,   -195 },
+    { 0x00000244, FC_CASE_FOLD_RANGE,    0x0001,     69 },
+    { 0x00000245, FC_CASE_FOLD_RANGE,    0x0001,     71 },
+    { 0x00000246, FC_CASE_FOLD_EVEN_ODD, 0x0009,      1 },
+    { 0x00000345, FC_CASE_FOLD_RANGE,    0x0001,    116 },
+    { 0x00000370, FC_CASE_FOLD_EVEN_ODD, 0x0003,      1 },
+    { 0x00000376, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x00000386, FC_CASE_FOLD_RANGE,    0x0001,     38 },
+    { 0x00000388, FC_CASE_FOLD_RANGE,    0x0003,     37 },
+    { 0x0000038c, FC_CASE_FOLD_RANGE,    0x0001,     64 },
+    { 0x0000038e, FC_CASE_FOLD_RANGE,    0x0002,     63 },
+    { 0x00000390, FC_CASE_FOLD_FULL,     0x0006,     11 },
+    { 0x00000391, FC_CASE_FOLD_RANGE,    0x0011,     32 },
+    { 0x000003a3, FC_CASE_FOLD_RANGE,    0x0009,     32 },
+    { 0x000003b0, FC_CASE_FOLD_FULL,     0x0006,     17 },
+    { 0x000003c2, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x000003cf, FC_CASE_FOLD_RANGE,    0x0001,      8 },
+    { 0x000003d0, FC_CASE_FOLD_RANGE,    0x0001,    -30 },
+    { 0x000003d1, FC_CASE_FOLD_RANGE,    0x0001,    -25 },
+    { 0x000003d5, FC_CASE_FOLD_RANGE,    0x0001,    -15 },
+    { 0x000003d6, FC_CASE_FOLD_RANGE,    0x0001,    -22 },
+    { 0x000003d8, FC_CASE_FOLD_EVEN_ODD, 0x0017,      1 },
+    { 0x000003f0, FC_CASE_FOLD_RANGE,    0x0001,    -54 },
+    { 0x000003f1, FC_CASE_FOLD_RANGE,    0x0001,    -48 },
+    { 0x000003f4, FC_CASE_FOLD_RANGE,    0x0001,    -60 },
+    { 0x000003f5, FC_CASE_FOLD_RANGE,    0x0001,    -64 },
+    { 0x000003f7, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x000003f9, FC_CASE_FOLD_RANGE,    0x0001,     -7 },
+    { 0x000003fa, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x000003fd, FC_CASE_FOLD_RANGE,    0x0003,   -130 },
+    { 0x00000400, FC_CASE_FOLD_RANGE,    0x0010,     80 },
+    { 0x00000410, FC_CASE_FOLD_RANGE,    0x0020,     32 },
+    { 0x00000460, FC_CASE_FOLD_EVEN_ODD, 0x0021,      1 },
+    { 0x0000048a, FC_CASE_FOLD_EVEN_ODD, 0x0035,      1 },
+    { 0x000004c0, FC_CASE_FOLD_RANGE,    0x0001,     15 },
+    { 0x000004c1, FC_CASE_FOLD_EVEN_ODD, 0x000d,      1 },
+    { 0x000004d0, FC_CASE_FOLD_EVEN_ODD, 0x0057,      1 },
+    { 0x00000531, FC_CASE_FOLD_RANGE,    0x0026,     48 },
+    { 0x00000587, FC_CASE_FOLD_FULL,     0x0004,     23 },
+    { 0x000010a0, FC_CASE_FOLD_RANGE,    0x0026,   7264 },
+    { 0x000010c7, FC_CASE_FOLD_RANGE,    0x0001,   7264 },
+    { 0x000010cd, FC_CASE_FOLD_RANGE,    0x0001,   7264 },
+    { 0x00001e00, FC_CASE_FOLD_EVEN_ODD, 0x0095,      1 },
+    { 0x00001e96, FC_CASE_FOLD_FULL,     0x0003,     27 },
+    { 0x00001e97, FC_CASE_FOLD_FULL,     0x0003,     30 },
+    { 0x00001e98, FC_CASE_FOLD_FULL,     0x0003,     33 },
+    { 0x00001e99, FC_CASE_FOLD_FULL,     0x0003,     36 },
+    { 0x00001e9a, FC_CASE_FOLD_FULL,     0x0003,     39 },
+    { 0x00001e9b, FC_CASE_FOLD_RANGE,    0x0001,    -58 },
+    { 0x00001e9e, FC_CASE_FOLD_FULL,     0x0002,     42 },
+    { 0x00001ea0, FC_CASE_FOLD_EVEN_ODD, 0x005f,      1 },
+    { 0x00001f08, FC_CASE_FOLD_RANGE,    0x0008,     -8 },
+    { 0x00001f18, FC_CASE_FOLD_RANGE,    0x0006,     -8 },
+    { 0x00001f28, FC_CASE_FOLD_RANGE,    0x0008,     -8 },
+    { 0x00001f38, FC_CASE_FOLD_RANGE,    0x0008,     -8 },
+    { 0x00001f48, FC_CASE_FOLD_RANGE,    0x0006,     -8 },
+    { 0x00001f50, FC_CASE_FOLD_FULL,     0x0004,     44 },
+    { 0x00001f52, FC_CASE_FOLD_FULL,     0x0006,     48 },
+    { 0x00001f54, FC_CASE_FOLD_FULL,     0x0006,     54 },
+    { 0x00001f56, FC_CASE_FOLD_FULL,     0x0006,     60 },
+    { 0x00001f59, FC_CASE_FOLD_RANGE,    0x0001,     -8 },
+    { 0x00001f5b, FC_CASE_FOLD_RANGE,    0x0001,     -8 },
+    { 0x00001f5d, FC_CASE_FOLD_RANGE,    0x0001,     -8 },
+    { 0x00001f5f, FC_CASE_FOLD_RANGE,    0x0001,     -8 },
+    { 0x00001f68, FC_CASE_FOLD_RANGE,    0x0008,     -8 },
+    { 0x00001f80, FC_CASE_FOLD_FULL,     0x0005,     66 },
+    { 0x00001f81, FC_CASE_FOLD_FULL,     0x0005,     71 },
+    { 0x00001f82, FC_CASE_FOLD_FULL,     0x0005,     76 },
+    { 0x00001f83, FC_CASE_FOLD_FULL,     0x0005,     81 },
+    { 0x00001f84, FC_CASE_FOLD_FULL,     0x0005,     86 },
+    { 0x00001f85, FC_CASE_FOLD_FULL,     0x0005,     91 },
+    { 0x00001f86, FC_CASE_FOLD_FULL,     0x0005,     96 },
+    { 0x00001f87, FC_CASE_FOLD_FULL,     0x0005,    101 },
+    { 0x00001f88, FC_CASE_FOLD_FULL,     0x0005,    106 },
+    { 0x00001f89, FC_CASE_FOLD_FULL,     0x0005,    111 },
+    { 0x00001f8a, FC_CASE_FOLD_FULL,     0x0005,    116 },
+    { 0x00001f8b, FC_CASE_FOLD_FULL,     0x0005,    121 },
+    { 0x00001f8c, FC_CASE_FOLD_FULL,     0x0005,    126 },
+    { 0x00001f8d, FC_CASE_FOLD_FULL,     0x0005,    131 },
+    { 0x00001f8e, FC_CASE_FOLD_FULL,     0x0005,    136 },
+    { 0x00001f8f, FC_CASE_FOLD_FULL,     0x0005,    141 },
+    { 0x00001f90, FC_CASE_FOLD_FULL,     0x0005,    146 },
+    { 0x00001f91, FC_CASE_FOLD_FULL,     0x0005,    151 },
+    { 0x00001f92, FC_CASE_FOLD_FULL,     0x0005,    156 },
+    { 0x00001f93, FC_CASE_FOLD_FULL,     0x0005,    161 },
+    { 0x00001f94, FC_CASE_FOLD_FULL,     0x0005,    166 },
+    { 0x00001f95, FC_CASE_FOLD_FULL,     0x0005,    171 },
+    { 0x00001f96, FC_CASE_FOLD_FULL,     0x0005,    176 },
+    { 0x00001f97, FC_CASE_FOLD_FULL,     0x0005,    181 },
+    { 0x00001f98, FC_CASE_FOLD_FULL,     0x0005,    186 },
+    { 0x00001f99, FC_CASE_FOLD_FULL,     0x0005,    191 },
+    { 0x00001f9a, FC_CASE_FOLD_FULL,     0x0005,    196 },
+    { 0x00001f9b, FC_CASE_FOLD_FULL,     0x0005,    201 },
+    { 0x00001f9c, FC_CASE_FOLD_FULL,     0x0005,    206 },
+    { 0x00001f9d, FC_CASE_FOLD_FULL,     0x0005,    211 },
+    { 0x00001f9e, FC_CASE_FOLD_FULL,     0x0005,    216 },
+    { 0x00001f9f, FC_CASE_FOLD_FULL,     0x0005,    221 },
+    { 0x00001fa0, FC_CASE_FOLD_FULL,     0x0005,    226 },
+    { 0x00001fa1, FC_CASE_FOLD_FULL,     0x0005,    231 },
+    { 0x00001fa2, FC_CASE_FOLD_FULL,     0x0005,    236 },
+    { 0x00001fa3, FC_CASE_FOLD_FULL,     0x0005,    241 },
+    { 0x00001fa4, FC_CASE_FOLD_FULL,     0x0005,    246 },
+    { 0x00001fa5, FC_CASE_FOLD_FULL,     0x0005,    251 },
+    { 0x00001fa6, FC_CASE_FOLD_FULL,     0x0005,    256 },
+    { 0x00001fa7, FC_CASE_FOLD_FULL,     0x0005,    261 },
+    { 0x00001fa8, FC_CASE_FOLD_FULL,     0x0005,    266 },
+    { 0x00001fa9, FC_CASE_FOLD_FULL,     0x0005,    271 },
+    { 0x00001faa, FC_CASE_FOLD_FULL,     0x0005,    276 },
+    { 0x00001fab, FC_CASE_FOLD_FULL,     0x0005,    281 },
+    { 0x00001fac, FC_CASE_FOLD_FULL,     0x0005,    286 },
+    { 0x00001fad, FC_CASE_FOLD_FULL,     0x0005,    291 },
+    { 0x00001fae, FC_CASE_FOLD_FULL,     0x0005,    296 },
+    { 0x00001faf, FC_CASE_FOLD_FULL,     0x0005,    301 },
+    { 0x00001fb2, FC_CASE_FOLD_FULL,     0x0005,    306 },
+    { 0x00001fb3, FC_CASE_FOLD_FULL,     0x0004,    311 },
+    { 0x00001fb4, FC_CASE_FOLD_FULL,     0x0004,    315 },
+    { 0x00001fb6, FC_CASE_FOLD_FULL,     0x0004,    319 },
+    { 0x00001fb7, FC_CASE_FOLD_FULL,     0x0006,    323 },
+    { 0x00001fb8, FC_CASE_FOLD_RANGE,    0x0002,     -8 },
+    { 0x00001fba, FC_CASE_FOLD_RANGE,    0x0002,    -74 },
+    { 0x00001fbc, FC_CASE_FOLD_FULL,     0x0004,    329 },
+    { 0x00001fbe, FC_CASE_FOLD_RANGE,    0x0001,  -7173 },
+    { 0x00001fc2, FC_CASE_FOLD_FULL,     0x0005,    333 },
+    { 0x00001fc3, FC_CASE_FOLD_FULL,     0x0004,    338 },
+    { 0x00001fc4, FC_CASE_FOLD_FULL,     0x0004,    342 },
+    { 0x00001fc6, FC_CASE_FOLD_FULL,     0x0004,    346 },
+    { 0x00001fc7, FC_CASE_FOLD_FULL,     0x0006,    350 },
+    { 0x00001fc8, FC_CASE_FOLD_RANGE,    0x0004,    -86 },
+    { 0x00001fcc, FC_CASE_FOLD_FULL,     0x0004,    356 },
+    { 0x00001fd2, FC_CASE_FOLD_FULL,     0x0006,    360 },
+    { 0x00001fd3, FC_CASE_FOLD_FULL,     0x0006,    366 },
+    { 0x00001fd6, FC_CASE_FOLD_FULL,     0x0004,    372 },
+    { 0x00001fd7, FC_CASE_FOLD_FULL,     0x0006,    376 },
+    { 0x00001fd8, FC_CASE_FOLD_RANGE,    0x0002,     -8 },
+    { 0x00001fda, FC_CASE_FOLD_RANGE,    0x0002,   -100 },
+    { 0x00001fe2, FC_CASE_FOLD_FULL,     0x0006,    382 },
+    { 0x00001fe3, FC_CASE_FOLD_FULL,     0x0006,    388 },
+    { 0x00001fe4, FC_CASE_FOLD_FULL,     0x0004,    394 },
+    { 0x00001fe6, FC_CASE_FOLD_FULL,     0x0004,    398 },
+    { 0x00001fe7, FC_CASE_FOLD_FULL,     0x0006,    402 },
+    { 0x00001fe8, FC_CASE_FOLD_RANGE,    0x0002,     -8 },
+    { 0x00001fea, FC_CASE_FOLD_RANGE,    0x0002,   -112 },
+    { 0x00001fec, FC_CASE_FOLD_RANGE,    0x0001,     -7 },
+    { 0x00001ff2, FC_CASE_FOLD_FULL,     0x0005,    408 },
+    { 0x00001ff3, FC_CASE_FOLD_FULL,     0x0004,    413 },
+    { 0x00001ff4, FC_CASE_FOLD_FULL,     0x0004,    417 },
+    { 0x00001ff6, FC_CASE_FOLD_FULL,     0x0004,    421 },
+    { 0x00001ff7, FC_CASE_FOLD_FULL,     0x0006,    425 },
+    { 0x00001ff8, FC_CASE_FOLD_RANGE,    0x0002,   -128 },
+    { 0x00001ffa, FC_CASE_FOLD_RANGE,    0x0002,   -126 },
+    { 0x00001ffc, FC_CASE_FOLD_FULL,     0x0004,    431 },
+    { 0x00002126, FC_CASE_FOLD_RANGE,    0x0001,  -7517 },
+    { 0x0000212a, FC_CASE_FOLD_RANGE,    0x0001,  -8383 },
+    { 0x0000212b, FC_CASE_FOLD_RANGE,    0x0001,  -8262 },
+    { 0x00002132, FC_CASE_FOLD_RANGE,    0x0001,     28 },
+    { 0x00002160, FC_CASE_FOLD_RANGE,    0x0010,     16 },
+    { 0x00002183, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x000024b6, FC_CASE_FOLD_RANGE,    0x001a,     26 },
+    { 0x00002c00, FC_CASE_FOLD_RANGE,    0x002f,     48 },
+    { 0x00002c60, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x00002c62, FC_CASE_FOLD_RANGE,    0x0001, -10743 },
+    { 0x00002c63, FC_CASE_FOLD_RANGE,    0x0001,  -3814 },
+    { 0x00002c64, FC_CASE_FOLD_RANGE,    0x0001, -10727 },
+    { 0x00002c67, FC_CASE_FOLD_EVEN_ODD, 0x0005,      1 },
+    { 0x00002c6d, FC_CASE_FOLD_RANGE,    0x0001, -10780 },
+    { 0x00002c6e, FC_CASE_FOLD_RANGE,    0x0001, -10749 },
+    { 0x00002c6f, FC_CASE_FOLD_RANGE,    0x0001, -10783 },
+    { 0x00002c70, FC_CASE_FOLD_RANGE,    0x0001, -10782 },
+    { 0x00002c72, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x00002c75, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x00002c7e, FC_CASE_FOLD_RANGE,    0x0002, -10815 },
+    { 0x00002c80, FC_CASE_FOLD_EVEN_ODD, 0x0063,      1 },
+    { 0x00002ceb, FC_CASE_FOLD_EVEN_ODD, 0x0003,      1 },
+    { 0x00002cf2, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x0000a640, FC_CASE_FOLD_EVEN_ODD, 0x002d,      1 },
+    { 0x0000a680, FC_CASE_FOLD_EVEN_ODD, 0x0017,      1 },
+    { 0x0000a722, FC_CASE_FOLD_EVEN_ODD, 0x000d,      1 },
+    { 0x0000a732, FC_CASE_FOLD_EVEN_ODD, 0x003d,      1 },
+    { 0x0000a779, FC_CASE_FOLD_EVEN_ODD, 0x0003,      1 },
+    { 0x0000a77d, FC_CASE_FOLD_RANGE,    0x0001,  30204 },
+    { 0x0000a77e, FC_CASE_FOLD_EVEN_ODD, 0x0009,      1 },
+    { 0x0000a78b, FC_CASE_FOLD_EVEN_ODD, 0x0001,      1 },
+    { 0x0000a78d, FC_CASE_FOLD_RANGE,    0x0001,  23256 },
+    { 0x0000a790, FC_CASE_FOLD_EVEN_ODD, 0x0003,      1 },
+    { 0x0000a7a0, FC_CASE_FOLD_EVEN_ODD, 0x0009,      1 },
+    { 0x0000a7aa, FC_CASE_FOLD_RANGE,    0x0001,  23228 },
+    { 0x0000fb00, FC_CASE_FOLD_FULL,     0x0002,    435 },
+    { 0x0000fb01, FC_CASE_FOLD_FULL,     0x0002,    437 },
+    { 0x0000fb02, FC_CASE_FOLD_FULL,     0x0002,    439 },
+    { 0x0000fb03, FC_CASE_FOLD_FULL,     0x0003,    441 },
+    { 0x0000fb04, FC_CASE_FOLD_FULL,     0x0003,    444 },
+    { 0x0000fb05, FC_CASE_FOLD_FULL,     0x0002,    447 },
+    { 0x0000fb06, FC_CASE_FOLD_FULL,     0x0002,    449 },
+    { 0x0000fb13, FC_CASE_FOLD_FULL,     0x0004,    451 },
+    { 0x0000fb14, FC_CASE_FOLD_FULL,     0x0004,    455 },
+    { 0x0000fb15, FC_CASE_FOLD_FULL,     0x0004,    459 },
+    { 0x0000fb16, FC_CASE_FOLD_FULL,     0x0004,    463 },
+    { 0x0000fb17, FC_CASE_FOLD_FULL,     0x0004,    467 },
+    { 0x0000ff21, FC_CASE_FOLD_RANGE,    0x001a,     32 },
+    { 0x00010400, FC_CASE_FOLD_RANGE,    0x0028,     40 },
+};
+
+static const FcChar8	fcCaseFoldChars[FC_NUM_CASE_FOLD_CHARS] = {
+0x73,0x73,0x69,0xcc,0x87,0xca,0xbc,0x6e,0x6a,0xcc,0x8c,0xce,0xb9,0xcc,0x88,0xcc,
+0x81,0xcf,0x85,0xcc,0x88,0xcc,0x81,0xd5,0xa5,0xd6,0x82,0x68,0xcc,0xb1,0x74,0xcc,
+0x88,0x77,0xcc,0x8a,0x79,0xcc,0x8a,0x61,0xca,0xbe,0x73,0x73,0xcf,0x85,0xcc,0x93,
+0xcf,0x85,0xcc,0x93,0xcc,0x80,0xcf,0x85,0xcc,0x93,0xcc,0x81,0xcf,0x85,0xcc,0x93,
+0xcd,0x82,0xe1,0xbc,0x80,0xce,0xb9,0xe1,0xbc,0x81,0xce,0xb9,0xe1,0xbc,0x82,0xce,
+0xb9,0xe1,0xbc,0x83,0xce,0xb9,0xe1,0xbc,0x84,0xce,0xb9,0xe1,0xbc,0x85,0xce,0xb9,
+0xe1,0xbc,0x86,0xce,0xb9,0xe1,0xbc,0x87,0xce,0xb9,0xe1,0xbc,0x80,0xce,0xb9,0xe1,
+0xbc,0x81,0xce,0xb9,0xe1,0xbc,0x82,0xce,0xb9,0xe1,0xbc,0x83,0xce,0xb9,0xe1,0xbc,
+0x84,0xce,0xb9,0xe1,0xbc,0x85,0xce,0xb9,0xe1,0xbc,0x86,0xce,0xb9,0xe1,0xbc,0x87,
+0xce,0xb9,0xe1,0xbc,0xa0,0xce,0xb9,0xe1,0xbc,0xa1,0xce,0xb9,0xe1,0xbc,0xa2,0xce,
+0xb9,0xe1,0xbc,0xa3,0xce,0xb9,0xe1,0xbc,0xa4,0xce,0xb9,0xe1,0xbc,0xa5,0xce,0xb9,
+0xe1,0xbc,0xa6,0xce,0xb9,0xe1,0xbc,0xa7,0xce,0xb9,0xe1,0xbc,0xa0,0xce,0xb9,0xe1,
+0xbc,0xa1,0xce,0xb9,0xe1,0xbc,0xa2,0xce,0xb9,0xe1,0xbc,0xa3,0xce,0xb9,0xe1,0xbc,
+0xa4,0xce,0xb9,0xe1,0xbc,0xa5,0xce,0xb9,0xe1,0xbc,0xa6,0xce,0xb9,0xe1,0xbc,0xa7,
+0xce,0xb9,0xe1,0xbd,0xa0,0xce,0xb9,0xe1,0xbd,0xa1,0xce,0xb9,0xe1,0xbd,0xa2,0xce,
+0xb9,0xe1,0xbd,0xa3,0xce,0xb9,0xe1,0xbd,0xa4,0xce,0xb9,0xe1,0xbd,0xa5,0xce,0xb9,
+0xe1,0xbd,0xa6,0xce,0xb9,0xe1,0xbd,0xa7,0xce,0xb9,0xe1,0xbd,0xa0,0xce,0xb9,0xe1,
+0xbd,0xa1,0xce,0xb9,0xe1,0xbd,0xa2,0xce,0xb9,0xe1,0xbd,0xa3,0xce,0xb9,0xe1,0xbd,
+0xa4,0xce,0xb9,0xe1,0xbd,0xa5,0xce,0xb9,0xe1,0xbd,0xa6,0xce,0xb9,0xe1,0xbd,0xa7,
+0xce,0xb9,0xe1,0xbd,0xb0,0xce,0xb9,0xce,0xb1,0xce,0xb9,0xce,0xac,0xce,0xb9,0xce,
+0xb1,0xcd,0x82,0xce,0xb1,0xcd,0x82,0xce,0xb9,0xce,0xb1,0xce,0xb9,0xe1,0xbd,0xb4,
+0xce,0xb9,0xce,0xb7,0xce,0xb9,0xce,0xae,0xce,0xb9,0xce,0xb7,0xcd,0x82,0xce,0xb7,
+0xcd,0x82,0xce,0xb9,0xce,0xb7,0xce,0xb9,0xce,0xb9,0xcc,0x88,0xcc,0x80,0xce,0xb9,
+0xcc,0x88,0xcc,0x81,0xce,0xb9,0xcd,0x82,0xce,0xb9,0xcc,0x88,0xcd,0x82,0xcf,0x85,
+0xcc,0x88,0xcc,0x80,0xcf,0x85,0xcc,0x88,0xcc,0x81,0xcf,0x81,0xcc,0x93,0xcf,0x85,
+0xcd,0x82,0xcf,0x85,0xcc,0x88,0xcd,0x82,0xe1,0xbd,0xbc,0xce,0xb9,0xcf,0x89,0xce,
+0xb9,0xcf,0x8e,0xce,0xb9,0xcf,0x89,0xcd,0x82,0xcf,0x89,0xcd,0x82,0xce,0xb9,0xcf,
+0x89,0xce,0xb9,0x66,0x66,0x66,0x69,0x66,0x6c,0x66,0x66,0x69,0x66,0x66,0x6c,0x73,
+0x74,0x73,0x74,0xd5,0xb4,0xd5,0xb6,0xd5,0xb4,0xd5,0xa5,0xd5,0xb4,0xd5,0xab,0xd5,
+0xbe,0xd5,0xb6,0xd5,0xb4,0xd5,0xad
+};
diff --git a/third_party/fontconfig/config/fc-glyphname/fcglyphname.h b/third_party/fontconfig/config/fc-glyphname/fcglyphname.h
new file mode 100755
index 0000000..f9e5343
--- /dev/null
+++ b/third_party/fontconfig/config/fc-glyphname/fcglyphname.h
@@ -0,0 +1,781 @@
+/*
+ * fontconfig/fc-glyphname/fcglyphname.tmpl.h
+ *
+ * Copyright © 2003 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission.  The authors make no
+ * representations about the suitability of this software for any purpose.  It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* 201 glyphnames in 271 entries, 74% occupancy */
+
+#define FC_GLYPHNAME_HASH 271
+#define FC_GLYPHNAME_REHASH 269
+#define FC_GLYPHNAME_MAXLEN 4
+
+typedef int16_t FcGlyphId;
+
+static const struct { const FcChar32 ucs; const FcChar8 name[5]; } _fc_glyph_names[201] = {
+    { 0x2701, "a1" },
+    { 0x2721, "a10" },
+    { 0x275e, "a100" },
+    { 0x2761, "a101" },
+    { 0x2762, "a102" },
+    { 0x2763, "a103" },
+    { 0x2764, "a104" },
+    { 0x2710, "a105" },
+    { 0x2765, "a106" },
+    { 0x2766, "a107" },
+    { 0x2767, "a108" },
+    { 0x2660, "a109" },
+    { 0x261b, "a11" },
+    { 0x2665, "a110" },
+    { 0x2666, "a111" },
+    { 0x2663, "a112" },
+    { 0x2709, "a117" },
+    { 0x2708, "a118" },
+    { 0x2707, "a119" },
+    { 0x261e, "a12" },
+    { 0x2460, "a120" },
+    { 0x2461, "a121" },
+    { 0x2462, "a122" },
+    { 0x2463, "a123" },
+    { 0x2464, "a124" },
+    { 0x2465, "a125" },
+    { 0x2466, "a126" },
+    { 0x2467, "a127" },
+    { 0x2468, "a128" },
+    { 0x2469, "a129" },
+    { 0x270c, "a13" },
+    { 0x2776, "a130" },
+    { 0x2777, "a131" },
+    { 0x2778, "a132" },
+    { 0x2779, "a133" },
+    { 0x277a, "a134" },
+    { 0x277b, "a135" },
+    { 0x277c, "a136" },
+    { 0x277d, "a137" },
+    { 0x277e, "a138" },
+    { 0x277f, "a139" },
+    { 0x270d, "a14" },
+    { 0x2780, "a140" },
+    { 0x2781, "a141" },
+    { 0x2782, "a142" },
+    { 0x2783, "a143" },
+    { 0x2784, "a144" },
+    { 0x2785, "a145" },
+    { 0x2786, "a146" },
+    { 0x2787, "a147" },
+    { 0x2788, "a148" },
+    { 0x2789, "a149" },
+    { 0x270e, "a15" },
+    { 0x278a, "a150" },
+    { 0x278b, "a151" },
+    { 0x278c, "a152" },
+    { 0x278d, "a153" },
+    { 0x278e, "a154" },
+    { 0x278f, "a155" },
+    { 0x2790, "a156" },
+    { 0x2791, "a157" },
+    { 0x2792, "a158" },
+    { 0x2793, "a159" },
+    { 0x270f, "a16" },
+    { 0x2794, "a160" },
+    { 0x2192, "a161" },
+    { 0x27a3, "a162" },
+    { 0x2194, "a163" },
+    { 0x2195, "a164" },
+    { 0x2799, "a165" },
+    { 0x279b, "a166" },
+    { 0x279c, "a167" },
+    { 0x279d, "a168" },
+    { 0x279e, "a169" },
+    { 0x2711, "a17" },
+    { 0x279f, "a170" },
+    { 0x27a0, "a171" },
+    { 0x27a1, "a172" },
+    { 0x27a2, "a173" },
+    { 0x27a4, "a174" },
+    { 0x27a5, "a175" },
+    { 0x27a6, "a176" },
+    { 0x27a7, "a177" },
+    { 0x27a8, "a178" },
+    { 0x27a9, "a179" },
+    { 0x2712, "a18" },
+    { 0x27ab, "a180" },
+    { 0x27ad, "a181" },
+    { 0x27af, "a182" },
+    { 0x27b2, "a183" },
+    { 0x27b3, "a184" },
+    { 0x27b5, "a185" },
+    { 0x27b8, "a186" },
+    { 0x27ba, "a187" },
+    { 0x27bb, "a188" },
+    { 0x27bc, "a189" },
+    { 0x2713, "a19" },
+    { 0x27bd, "a190" },
+    { 0x27be, "a191" },
+    { 0x279a, "a192" },
+    { 0x27aa, "a193" },
+    { 0x27b6, "a194" },
+    { 0x27b9, "a195" },
+    { 0x2798, "a196" },
+    { 0x27b4, "a197" },
+    { 0x27b7, "a198" },
+    { 0x27ac, "a199" },
+    { 0x2702, "a2" },
+    { 0x2714, "a20" },
+    { 0x27ae, "a200" },
+    { 0x27b1, "a201" },
+    { 0x2703, "a202" },
+    { 0x2750, "a203" },
+    { 0x2752, "a204" },
+    { 0x276e, "a205" },
+    { 0x2770, "a206" },
+    { 0x2715, "a21" },
+    { 0x2716, "a22" },
+    { 0x2717, "a23" },
+    { 0x2718, "a24" },
+    { 0x2719, "a25" },
+    { 0x271a, "a26" },
+    { 0x271b, "a27" },
+    { 0x271c, "a28" },
+    { 0x2722, "a29" },
+    { 0x2704, "a3" },
+    { 0x2723, "a30" },
+    { 0x2724, "a31" },
+    { 0x2725, "a32" },
+    { 0x2726, "a33" },
+    { 0x2727, "a34" },
+    { 0x2605, "a35" },
+    { 0x2729, "a36" },
+    { 0x272a, "a37" },
+    { 0x272b, "a38" },
+    { 0x272c, "a39" },
+    { 0x260e, "a4" },
+    { 0x272d, "a40" },
+    { 0x272e, "a41" },
+    { 0x272f, "a42" },
+    { 0x2730, "a43" },
+    { 0x2731, "a44" },
+    { 0x2732, "a45" },
+    { 0x2733, "a46" },
+    { 0x2734, "a47" },
+    { 0x2735, "a48" },
+    { 0x2736, "a49" },
+    { 0x2706, "a5" },
+    { 0x2737, "a50" },
+    { 0x2738, "a51" },
+    { 0x2739, "a52" },
+    { 0x273a, "a53" },
+    { 0x273b, "a54" },
+    { 0x273c, "a55" },
+    { 0x273d, "a56" },
+    { 0x273e, "a57" },
+    { 0x273f, "a58" },
+    { 0x2740, "a59" },
+    { 0x271d, "a6" },
+    { 0x2741, "a60" },
+    { 0x2742, "a61" },
+    { 0x2743, "a62" },
+    { 0x2744, "a63" },
+    { 0x2745, "a64" },
+    { 0x2746, "a65" },
+    { 0x2747, "a66" },
+    { 0x2748, "a67" },
+    { 0x2749, "a68" },
+    { 0x274a, "a69" },
+    { 0x271e, "a7" },
+    { 0x274b, "a70" },
+    { 0x25cf, "a71" },
+    { 0x274d, "a72" },
+    { 0x25a0, "a73" },
+    { 0x274f, "a74" },
+    { 0x2751, "a75" },
+    { 0x25b2, "a76" },
+    { 0x25bc, "a77" },
+    { 0x25c6, "a78" },
+    { 0x2756, "a79" },
+    { 0x271f, "a8" },
+    { 0x25d7, "a81" },
+    { 0x2758, "a82" },
+    { 0x2759, "a83" },
+    { 0x275a, "a84" },
+    { 0x276f, "a85" },
+    { 0x2771, "a86" },
+    { 0x2772, "a87" },
+    { 0x2773, "a88" },
+    { 0x2768, "a89" },
+    { 0x2720, "a9" },
+    { 0x2769, "a90" },
+    { 0x276c, "a91" },
+    { 0x276d, "a92" },
+    { 0x276a, "a93" },
+    { 0x276b, "a94" },
+    { 0x2774, "a95" },
+    { 0x2775, "a96" },
+    { 0x275b, "a97" },
+    { 0x275c, "a98" },
+    { 0x275d, "a99" },
+};
+static const FcGlyphId _fc_name_to_ucs[271] = {
+    123,
+    81,
+    198,
+    154,
+    142,
+    186,
+    82,
+    -1,
+    143,
+    172,
+    181,
+    79,
+    153,
+    191,
+    -1,
+    -1,
+    80,
+    195,
+    179,
+    170,
+    151,
+    129,
+    101,
+    194,
+    85,
+    102,
+    73,
+    171,
+    99,
+    -1,
+    -1,
+    100,
+    196,
+    -1,
+    189,
+    163,
+    110,
+    199,
+    -1,
+    -1,
+    59,
+    50,
+    -1,
+    60,
+    75,
+    -1,
+    51,
+    -1,
+    -1,
+    58,
+    -1,
+    61,
+    55,
+    -1,
+    192,
+    56,
+    62,
+    -1,
+    53,
+    166,
+    113,
+    54,
+    -1,
+    157,
+    33,
+    188,
+    177,
+    21,
+    -1,
+    -1,
+    31,
+    -1,
+    -1,
+    32,
+    -1,
+    -1,
+    24,
+    160,
+    -1,
+    38,
+    -1,
+    -1,
+    26,
+    -1,
+    161,
+    27,
+    197,
+    94,
+    95,
+    105,
+    106,
+    90,
+    91,
+    92,
+    93,
+    86,
+    87,
+    88,
+    89,
+    28,
+    29,
+    39,
+    40,
+    10,
+    11,
+    17,
+    18,
+    6,
+    7,
+    8,
+    9,
+    2,
+    3,
+    4,
+    5,
+    -1,
+    -1,
+    114,
+    108,
+    146,
+    74,
+    -1,
+    117,
+    115,
+    118,
+    156,
+    119,
+    -1,
+    120,
+    -1,
+    121,
+    131,
+    122,
+    -1,
+    109,
+    -1,
+    124,
+    141,
+    134,
+    174,
+    144,
+    -1,
+    137,
+    155,
+    138,
+    -1,
+    64,
+    -1,
+    140,
+    152,
+    65,
+    -1,
+    111,
+    -1,
+    57,
+    162,
+    -1,
+    -1,
+    67,
+    -1,
+    -1,
+    150,
+    68,
+    -1,
+    167,
+    -1,
+    69,
+    164,
+    -1,
+    116,
+    70,
+    -1,
+    -1,
+    148,
+    71,
+    -1,
+    -1,
+    184,
+    72,
+    149,
+    176,
+    193,
+    34,
+    182,
+    145,
+    -1,
+    83,
+    187,
+    -1,
+    103,
+    84,
+    104,
+    200,
+    63,
+    37,
+    41,
+    52,
+    19,
+    30,
+    1,
+    12,
+    97,
+    35,
+    98,
+    135,
+    46,
+    36,
+    47,
+    96,
+    48,
+    159,
+    49,
+    -1,
+    42,
+    112,
+    43,
+    173,
+    44,
+    168,
+    45,
+    -1,
+    20,
+    183,
+    16,
+    147,
+    22,
+    178,
+    23,
+    -1,
+    15,
+    -1,
+    25,
+    190,
+    13,
+    139,
+    14,
+    -1,
+    -1,
+    -1,
+    128,
+    107,
+    125,
+    -1,
+    0,
+    158,
+    169,
+    136,
+    126,
+    -1,
+    -1,
+    180,
+    127,
+    77,
+    -1,
+    -1,
+    132,
+    -1,
+    78,
+    -1,
+    133,
+    -1,
+    165,
+    66,
+    130,
+    -1,
+    -1,
+    -1,
+    76,
+    -1,
+    185,
+    175,
+};
+static const FcGlyphId _fc_ucs_to_name[271] = {
+    56,
+    135,
+    19,
+    138,
+    58,
+    140,
+    59,
+    142,
+    60,
+    144,
+    61,
+    146,
+    62,
+    149,
+    64,
+    151,
+    152,
+    153,
+    154,
+    155,
+    156,
+    157,
+    159,
+    160,
+    161,
+    162,
+    163,
+    131,
+    165,
+    166,
+    167,
+    168,
+    170,
+    -1,
+    172,
+    -1,
+    174,
+    112,
+    175,
+    113,
+    -1,
+    173,
+    -1,
+    179,
+    -1,
+    182,
+    183,
+    158,
+    198,
+    199,
+    200,
+    2,
+    -1,
+    -1,
+    3,
+    4,
+    5,
+    6,
+    8,
+    9,
+    10,
+    189,
+    164,
+    194,
+    195,
+    192,
+    193,
+    114,
+    11,
+    115,
+    186,
+    15,
+    188,
+    13,
+    14,
+    31,
+    32,
+    33,
+    34,
+    35,
+    36,
+    37,
+    38,
+    39,
+    40,
+    42,
+    43,
+    44,
+    45,
+    46,
+    47,
+    48,
+    49,
+    50,
+    51,
+    53,
+    54,
+    55,
+    20,
+    21,
+    22,
+    23,
+    24,
+    25,
+    26,
+    27,
+    28,
+    29,
+    -1,
+    103,
+    69,
+    99,
+    70,
+    71,
+    72,
+    73,
+    75,
+    76,
+    77,
+    78,
+    66,
+    79,
+    80,
+    81,
+    82,
+    83,
+    84,
+    100,
+    86,
+    106,
+    87,
+    109,
+    88,
+    -1,
+    110,
+    89,
+    90,
+    104,
+    91,
+    101,
+    105,
+    92,
+    102,
+    93,
+    94,
+    95,
+    97,
+    98,
+    196,
+    -1,
+    134,
+    -1,
+    -1,
+    -1,
+    -1,
+    -1,
+    137,
+    -1,
+    -1,
+    -1,
+    -1,
+    -1,
+    139,
+    -1,
+    -1,
+    176,
+    -1,
+    -1,
+    141,
+    184,
+    -1,
+    -1,
+    -1,
+    -1,
+    143,
+    177,
+    57,
+    -1,
+    -1,
+    -1,
+    145,
+    -1,
+    -1,
+    -1,
+    -1,
+    178,
+    148,
+    -1,
+    -1,
+    -1,
+    -1,
+    -1,
+    150,
+    65,
+    171,
+    67,
+    68,
+    -1,
+    -1,
+    191,
+    -1,
+    -1,
+    181,
+    -1,
+    -1,
+    -1,
+    -1,
+    -1,
+    -1,
+    -1,
+    -1,
+    185,
+    -1,
+    -1,
+    -1,
+    -1,
+    -1,
+    187,
+    -1,
+    -1,
+    -1,
+    133,
+    -1,
+    197,
+    -1,
+    -1,
+    -1,
+    -1,
+    -1,
+    0,
+    107,
+    111,
+    125,
+    -1,
+    147,
+    18,
+    17,
+    16,
+    -1,
+    -1,
+    30,
+    41,
+    52,
+    63,
+    7,
+    74,
+    85,
+    96,
+    108,
+    116,
+    117,
+    118,
+    119,
+    120,
+    121,
+    122,
+    123,
+    136,
+    169,
+    180,
+    190,
+    1,
+    124,
+    126,
+    127,
+    128,
+    129,
+    130,
+    -1,
+    132,
+    12,
+};
diff --git a/third_party/fontconfig/config/fc-lang/fclang.h b/third_party/fontconfig/config/fc-lang/fclang.h
new file mode 100755
index 0000000..14567db
--- /dev/null
+++ b/third_party/fontconfig/config/fc-lang/fclang.h
@@ -0,0 +1,4173 @@
+/*
+ * fontconfig/fc-lang/fclang.tmpl.h
+ *
+ * Copyright © 2002 Keith Packard
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of the author(s) not be used in
+ * advertising or publicity pertaining to distribution of the software without
+ * specific, written prior permission.  The authors make no
+ * representations about the suitability of this software for any purpose.  It
+ * is provided "as is" without express or implied warranty.
+ *
+ * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* total size: 909 unique leaves: 617 */
+
+#define LEAF0       (243 * sizeof (FcLangCharSet))
+#define OFF0        (LEAF0 + 617 * sizeof (FcCharLeaf))
+#define NUM0        (OFF0 + 667 * sizeof (uintptr_t))
+#define SET(n)      (n * sizeof (FcLangCharSet) + offsetof (FcLangCharSet, charset))
+#define OFF(s,o)    (OFF0 + o * sizeof (uintptr_t) - SET(s))
+#define NUM(s,n)    (NUM0 + n * sizeof (FcChar16) - SET(s))
+#define LEAF(o,l)   (LEAF0 + l * sizeof (FcCharLeaf) - (OFF0 + o * sizeof (intptr_t)))
+#define fcLangCharSets (fcLangData.langCharSets)
+#define fcLangCharSetIndices (fcLangData.langIndices)
+#define fcLangCharSetIndicesInv (fcLangData.langIndicesInv)
+
+static const struct {
+    FcLangCharSet  langCharSets[243];
+    FcCharLeaf     leaves[617];
+    uintptr_t      leaf_offsets[667];
+    FcChar16       numbers[667];
+    FcChar8        langIndices[243];
+    FcChar8        langIndicesInv[243];
+} fcLangData = {
+{
+    { "aa",  { FC_REF_CONSTANT, 1, OFF(0,0), NUM(0,0) } }, /* 0 */
+    { "ab",  { FC_REF_CONSTANT, 1, OFF(1,1), NUM(1,1) } }, /* 1 */
+    { "af",  { FC_REF_CONSTANT, 2, OFF(2,2), NUM(2,2) } }, /* 2 */
+    { "ak",  { FC_REF_CONSTANT, 5, OFF(3,4), NUM(3,4) } }, /* 3 */
+    { "am",  { FC_REF_CONSTANT, 2, OFF(4,9), NUM(4,9) } }, /* 4 */
+    { "an",  { FC_REF_CONSTANT, 1, OFF(5,11), NUM(5,11) } }, /* 5 */
+    { "ar",  { FC_REF_CONSTANT, 1, OFF(6,12), NUM(6,12) } }, /* 6 */
+    { "as",  { FC_REF_CONSTANT, 1, OFF(7,13), NUM(7,13) } }, /* 7 */
+    { "ast",  { FC_REF_CONSTANT, 2, OFF(8,14), NUM(8,14) } }, /* 8 */
+    { "av",  { FC_REF_CONSTANT, 1, OFF(9,16), NUM(9,16) } }, /* 9 */
+    { "ay",  { FC_REF_CONSTANT, 1, OFF(10,17), NUM(10,17) } }, /* 10 */
+    { "az-az",  { FC_REF_CONSTANT, 3, OFF(11,18), NUM(11,18) } }, /* 11 */
+    { "az-ir",  { FC_REF_CONSTANT, 1, OFF(12,21), NUM(12,21) } }, /* 12 */
+    { "ba",  { FC_REF_CONSTANT, 1, OFF(13,22), NUM(13,22) } }, /* 13 */
+    { "be",  { FC_REF_CONSTANT, 1, OFF(14,23), NUM(14,23) } }, /* 14 */
+    { "ber-dz",  { FC_REF_CONSTANT, 4, OFF(15,24), NUM(15,24) } }, /* 15 */
+    { "ber-ma",  { FC_REF_CONSTANT, 1, OFF(16,28), NUM(16,28) } }, /* 16 */
+    { "bg",  { FC_REF_CONSTANT, 1, OFF(17,29), NUM(17,29) } }, /* 17 */
+    { "bh",  { FC_REF_CONSTANT, 1, OFF(18,30), NUM(18,30) } }, /* 18 */
+    { "bho",  { FC_REF_CONSTANT, 1, OFF(19,30), NUM(19,30) } }, /* 19 */
+    { "bi",  { FC_REF_CONSTANT, 1, OFF(20,31), NUM(20,31) } }, /* 20 */
+    { "bin",  { FC_REF_CONSTANT, 3, OFF(21,32), NUM(21,32) } }, /* 21 */
+    { "bm",  { FC_REF_CONSTANT, 3, OFF(22,35), NUM(22,35) } }, /* 22 */
+    { "bn",  { FC_REF_CONSTANT, 1, OFF(23,38), NUM(23,38) } }, /* 23 */
+    { "bo",  { FC_REF_CONSTANT, 1, OFF(24,39), NUM(24,39) } }, /* 24 */
+    { "br",  { FC_REF_CONSTANT, 1, OFF(25,40), NUM(25,40) } }, /* 25 */
+    { "brx",  { FC_REF_CONSTANT, 1, OFF(26,41), NUM(26,41) } }, /* 26 */
+    { "bs",  { FC_REF_CONSTANT, 2, OFF(27,42), NUM(27,42) } }, /* 27 */
+    { "bua",  { FC_REF_CONSTANT, 1, OFF(28,44), NUM(28,44) } }, /* 28 */
+    { "byn",  { FC_REF_CONSTANT, 2, OFF(29,45), NUM(29,45) } }, /* 29 */
+    { "ca",  { FC_REF_CONSTANT, 2, OFF(30,47), NUM(30,47) } }, /* 30 */
+    { "ce",  { FC_REF_CONSTANT, 1, OFF(31,16), NUM(31,16) } }, /* 31 */
+    { "ch",  { FC_REF_CONSTANT, 1, OFF(32,49), NUM(32,49) } }, /* 32 */
+    { "chm",  { FC_REF_CONSTANT, 1, OFF(33,50), NUM(33,50) } }, /* 33 */
+    { "chr",  { FC_REF_CONSTANT, 1, OFF(34,51), NUM(34,51) } }, /* 34 */
+    { "co",  { FC_REF_CONSTANT, 2, OFF(35,52), NUM(35,52) } }, /* 35 */
+    { "crh",  { FC_REF_CONSTANT, 2, OFF(36,54), NUM(36,54) } }, /* 36 */
+    { "cs",  { FC_REF_CONSTANT, 2, OFF(37,56), NUM(37,56) } }, /* 37 */
+    { "csb",  { FC_REF_CONSTANT, 2, OFF(38,58), NUM(38,58) } }, /* 38 */
+    { "cu",  { FC_REF_CONSTANT, 1, OFF(39,60), NUM(39,60) } }, /* 39 */
+    { "cv",  { FC_REF_CONSTANT, 2, OFF(40,61), NUM(40,61) } }, /* 40 */
+    { "cy",  { FC_REF_CONSTANT, 3, OFF(41,63), NUM(41,63) } }, /* 41 */
+    { "da",  { FC_REF_CONSTANT, 1, OFF(42,66), NUM(42,66) } }, /* 42 */
+    { "de",  { FC_REF_CONSTANT, 1, OFF(43,67), NUM(43,67) } }, /* 43 */
+    { "doi",  { FC_REF_CONSTANT, 1, OFF(44,68), NUM(44,68) } }, /* 44 */
+    { "dv",  { FC_REF_CONSTANT, 1, OFF(45,69), NUM(45,69) } }, /* 45 */
+    { "dz",  { FC_REF_CONSTANT, 1, OFF(46,39), NUM(46,39) } }, /* 46 */
+    { "ee",  { FC_REF_CONSTANT, 4, OFF(47,70), NUM(47,70) } }, /* 47 */
+    { "el",  { FC_REF_CONSTANT, 1, OFF(48,74), NUM(48,74) } }, /* 48 */
+    { "en",  { FC_REF_CONSTANT, 1, OFF(49,75), NUM(49,75) } }, /* 49 */
+    { "eo",  { FC_REF_CONSTANT, 2, OFF(50,76), NUM(50,76) } }, /* 50 */
+    { "es",  { FC_REF_CONSTANT, 1, OFF(51,11), NUM(51,11) } }, /* 51 */
+    { "et",  { FC_REF_CONSTANT, 2, OFF(52,78), NUM(52,78) } }, /* 52 */
+    { "eu",  { FC_REF_CONSTANT, 1, OFF(53,80), NUM(53,80) } }, /* 53 */
+    { "fa",  { FC_REF_CONSTANT, 1, OFF(54,21), NUM(54,21) } }, /* 54 */
+    { "fat",  { FC_REF_CONSTANT, 5, OFF(55,4), NUM(55,4) } }, /* 55 */
+    { "ff",  { FC_REF_CONSTANT, 3, OFF(56,81), NUM(56,81) } }, /* 56 */
+    { "fi",  { FC_REF_CONSTANT, 2, OFF(57,84), NUM(57,84) } }, /* 57 */
+    { "fil",  { FC_REF_CONSTANT, 1, OFF(58,86), NUM(58,86) } }, /* 58 */
+    { "fj",  { FC_REF_CONSTANT, 1, OFF(59,87), NUM(59,87) } }, /* 59 */
+    { "fo",  { FC_REF_CONSTANT, 1, OFF(60,88), NUM(60,88) } }, /* 60 */
+    { "fr",  { FC_REF_CONSTANT, 2, OFF(61,52), NUM(61,52) } }, /* 61 */
+    { "fur",  { FC_REF_CONSTANT, 1, OFF(62,89), NUM(62,89) } }, /* 62 */
+    { "fy",  { FC_REF_CONSTANT, 1, OFF(63,90), NUM(63,90) } }, /* 63 */
+    { "ga",  { FC_REF_CONSTANT, 3, OFF(64,91), NUM(64,91) } }, /* 64 */
+    { "gd",  { FC_REF_CONSTANT, 1, OFF(65,94), NUM(65,94) } }, /* 65 */
+    { "gez",  { FC_REF_CONSTANT, 2, OFF(66,95), NUM(66,95) } }, /* 66 */
+    { "gl",  { FC_REF_CONSTANT, 1, OFF(67,11), NUM(67,11) } }, /* 67 */
+    { "gn",  { FC_REF_CONSTANT, 3, OFF(68,97), NUM(68,97) } }, /* 68 */
+    { "gu",  { FC_REF_CONSTANT, 1, OFF(69,100), NUM(69,100) } }, /* 69 */
+    { "gv",  { FC_REF_CONSTANT, 1, OFF(70,101), NUM(70,101) } }, /* 70 */
+    { "ha",  { FC_REF_CONSTANT, 3, OFF(71,102), NUM(71,102) } }, /* 71 */
+    { "haw",  { FC_REF_CONSTANT, 3, OFF(72,105), NUM(72,105) } }, /* 72 */
+    { "he",  { FC_REF_CONSTANT, 1, OFF(73,108), NUM(73,108) } }, /* 73 */
+    { "hi",  { FC_REF_CONSTANT, 1, OFF(74,30), NUM(74,30) } }, /* 74 */
+    { "hne",  { FC_REF_CONSTANT, 1, OFF(75,30), NUM(75,30) } }, /* 75 */
+    { "ho",  { FC_REF_CONSTANT, 1, OFF(76,87), NUM(76,87) } }, /* 76 */
+    { "hr",  { FC_REF_CONSTANT, 2, OFF(77,42), NUM(77,42) } }, /* 77 */
+    { "hsb",  { FC_REF_CONSTANT, 2, OFF(78,109), NUM(78,109) } }, /* 78 */
+    { "ht",  { FC_REF_CONSTANT, 1, OFF(79,111), NUM(79,111) } }, /* 79 */
+    { "hu",  { FC_REF_CONSTANT, 2, OFF(80,112), NUM(80,112) } }, /* 80 */
+    { "hy",  { FC_REF_CONSTANT, 1, OFF(81,114), NUM(81,114) } }, /* 81 */
+    { "hz",  { FC_REF_CONSTANT, 3, OFF(82,115), NUM(82,115) } }, /* 82 */
+    { "ia",  { FC_REF_CONSTANT, 1, OFF(83,87), NUM(83,87) } }, /* 83 */
+    { "id",  { FC_REF_CONSTANT, 1, OFF(84,118), NUM(84,118) } }, /* 84 */
+    { "ie",  { FC_REF_CONSTANT, 1, OFF(85,87), NUM(85,87) } }, /* 85 */
+    { "ig",  { FC_REF_CONSTANT, 2, OFF(86,119), NUM(86,119) } }, /* 86 */
+    { "ii",  { FC_REF_CONSTANT, 5, OFF(87,121), NUM(87,121) } }, /* 87 */
+    { "ik",  { FC_REF_CONSTANT, 1, OFF(88,126), NUM(88,126) } }, /* 88 */
+    { "io",  { FC_REF_CONSTANT, 1, OFF(89,87), NUM(89,87) } }, /* 89 */
+    { "is",  { FC_REF_CONSTANT, 1, OFF(90,127), NUM(90,127) } }, /* 90 */
+    { "it",  { FC_REF_CONSTANT, 1, OFF(91,128), NUM(91,128) } }, /* 91 */
+    { "iu",  { FC_REF_CONSTANT, 3, OFF(92,129), NUM(92,129) } }, /* 92 */
+    { "ja",  { FC_REF_CONSTANT, 83, OFF(93,132), NUM(93,132) } }, /* 93 */
+    { "jv",  { FC_REF_CONSTANT, 1, OFF(94,215), NUM(94,215) } }, /* 94 */
+    { "ka",  { FC_REF_CONSTANT, 1, OFF(95,216), NUM(95,216) } }, /* 95 */
+    { "kaa",  { FC_REF_CONSTANT, 1, OFF(96,217), NUM(96,217) } }, /* 96 */
+    { "kab",  { FC_REF_CONSTANT, 4, OFF(97,24), NUM(97,24) } }, /* 97 */
+    { "ki",  { FC_REF_CONSTANT, 2, OFF(98,218), NUM(98,218) } }, /* 98 */
+    { "kj",  { FC_REF_CONSTANT, 1, OFF(99,87), NUM(99,87) } }, /* 99 */
+    { "kk",  { FC_REF_CONSTANT, 1, OFF(100,220), NUM(100,220) } }, /* 100 */
+    { "kl",  { FC_REF_CONSTANT, 2, OFF(101,221), NUM(101,221) } }, /* 101 */
+    { "km",  { FC_REF_CONSTANT, 1, OFF(102,223), NUM(102,223) } }, /* 102 */
+    { "kn",  { FC_REF_CONSTANT, 1, OFF(103,224), NUM(103,224) } }, /* 103 */
+    { "ko",  { FC_REF_CONSTANT, 45, OFF(104,225), NUM(104,225) } }, /* 104 */
+    { "kok",  { FC_REF_CONSTANT, 1, OFF(105,30), NUM(105,30) } }, /* 105 */
+    { "kr",  { FC_REF_CONSTANT, 3, OFF(106,270), NUM(106,270) } }, /* 106 */
+    { "ks",  { FC_REF_CONSTANT, 1, OFF(107,273), NUM(107,273) } }, /* 107 */
+    { "ku-am",  { FC_REF_CONSTANT, 2, OFF(108,274), NUM(108,274) } }, /* 108 */
+    { "ku-iq",  { FC_REF_CONSTANT, 1, OFF(109,276), NUM(109,276) } }, /* 109 */
+    { "ku-ir",  { FC_REF_CONSTANT, 1, OFF(110,276), NUM(110,276) } }, /* 110 */
+    { "ku-tr",  { FC_REF_CONSTANT, 2, OFF(111,277), NUM(111,277) } }, /* 111 */
+    { "kum",  { FC_REF_CONSTANT, 1, OFF(112,279), NUM(112,279) } }, /* 112 */
+    { "kv",  { FC_REF_CONSTANT, 1, OFF(113,280), NUM(113,280) } }, /* 113 */
+    { "kw",  { FC_REF_CONSTANT, 3, OFF(114,281), NUM(114,281) } }, /* 114 */
+    { "kwm",  { FC_REF_CONSTANT, 1, OFF(115,87), NUM(115,87) } }, /* 115 */
+    { "ky",  { FC_REF_CONSTANT, 1, OFF(116,284), NUM(116,284) } }, /* 116 */
+    { "la",  { FC_REF_CONSTANT, 2, OFF(117,285), NUM(117,285) } }, /* 117 */
+    { "lah",  { FC_REF_CONSTANT, 1, OFF(118,287), NUM(118,287) } }, /* 118 */
+    { "lb",  { FC_REF_CONSTANT, 1, OFF(119,288), NUM(119,288) } }, /* 119 */
+    { "lez",  { FC_REF_CONSTANT, 1, OFF(120,16), NUM(120,16) } }, /* 120 */
+    { "lg",  { FC_REF_CONSTANT, 2, OFF(121,289), NUM(121,289) } }, /* 121 */
+    { "li",  { FC_REF_CONSTANT, 1, OFF(122,291), NUM(122,291) } }, /* 122 */
+    { "ln",  { FC_REF_CONSTANT, 4, OFF(123,292), NUM(123,292) } }, /* 123 */
+    { "lo",  { FC_REF_CONSTANT, 1, OFF(124,296), NUM(124,296) } }, /* 124 */
+    { "lt",  { FC_REF_CONSTANT, 2, OFF(125,297), NUM(125,297) } }, /* 125 */
+    { "lv",  { FC_REF_CONSTANT, 2, OFF(126,299), NUM(126,299) } }, /* 126 */
+    { "mai",  { FC_REF_CONSTANT, 1, OFF(127,30), NUM(127,30) } }, /* 127 */
+    { "mg",  { FC_REF_CONSTANT, 1, OFF(128,301), NUM(128,301) } }, /* 128 */
+    { "mh",  { FC_REF_CONSTANT, 2, OFF(129,302), NUM(129,302) } }, /* 129 */
+    { "mi",  { FC_REF_CONSTANT, 3, OFF(130,304), NUM(130,304) } }, /* 130 */
+    { "mk",  { FC_REF_CONSTANT, 1, OFF(131,307), NUM(131,307) } }, /* 131 */
+    { "ml",  { FC_REF_CONSTANT, 1, OFF(132,308), NUM(132,308) } }, /* 132 */
+    { "mn-cn",  { FC_REF_CONSTANT, 1, OFF(133,309), NUM(133,309) } }, /* 133 */
+    { "mn-mn",  { FC_REF_CONSTANT, 1, OFF(134,310), NUM(134,310) } }, /* 134 */
+    { "mni",  { FC_REF_CONSTANT, 1, OFF(135,311), NUM(135,311) } }, /* 135 */
+    { "mo",  { FC_REF_CONSTANT, 4, OFF(136,312), NUM(136,312) } }, /* 136 */
+    { "mr",  { FC_REF_CONSTANT, 1, OFF(137,30), NUM(137,30) } }, /* 137 */
+    { "ms",  { FC_REF_CONSTANT, 1, OFF(138,87), NUM(138,87) } }, /* 138 */
+    { "mt",  { FC_REF_CONSTANT, 2, OFF(139,316), NUM(139,316) } }, /* 139 */
+    { "my",  { FC_REF_CONSTANT, 1, OFF(140,318), NUM(140,318) } }, /* 140 */
+    { "na",  { FC_REF_CONSTANT, 2, OFF(141,319), NUM(141,319) } }, /* 141 */
+    { "nb",  { FC_REF_CONSTANT, 1, OFF(142,321), NUM(142,321) } }, /* 142 */
+    { "nds",  { FC_REF_CONSTANT, 1, OFF(143,67), NUM(143,67) } }, /* 143 */
+    { "ne",  { FC_REF_CONSTANT, 1, OFF(144,322), NUM(144,322) } }, /* 144 */
+    { "ng",  { FC_REF_CONSTANT, 1, OFF(145,87), NUM(145,87) } }, /* 145 */
+    { "nl",  { FC_REF_CONSTANT, 1, OFF(146,323), NUM(146,323) } }, /* 146 */
+    { "nn",  { FC_REF_CONSTANT, 1, OFF(147,324), NUM(147,324) } }, /* 147 */
+    { "no",  { FC_REF_CONSTANT, 1, OFF(148,321), NUM(148,321) } }, /* 148 */
+    { "nqo",  { FC_REF_CONSTANT, 1, OFF(149,325), NUM(149,325) } }, /* 149 */
+    { "nr",  { FC_REF_CONSTANT, 1, OFF(150,87), NUM(150,87) } }, /* 150 */
+    { "nso",  { FC_REF_CONSTANT, 2, OFF(151,326), NUM(151,326) } }, /* 151 */
+    { "nv",  { FC_REF_CONSTANT, 4, OFF(152,328), NUM(152,328) } }, /* 152 */
+    { "ny",  { FC_REF_CONSTANT, 2, OFF(153,332), NUM(153,332) } }, /* 153 */
+    { "oc",  { FC_REF_CONSTANT, 1, OFF(154,334), NUM(154,334) } }, /* 154 */
+    { "om",  { FC_REF_CONSTANT, 1, OFF(155,87), NUM(155,87) } }, /* 155 */
+    { "or",  { FC_REF_CONSTANT, 1, OFF(156,335), NUM(156,335) } }, /* 156 */
+    { "os",  { FC_REF_CONSTANT, 1, OFF(157,279), NUM(157,279) } }, /* 157 */
+    { "ota",  { FC_REF_CONSTANT, 1, OFF(158,336), NUM(158,336) } }, /* 158 */
+    { "pa",  { FC_REF_CONSTANT, 1, OFF(159,337), NUM(159,337) } }, /* 159 */
+    { "pa-pk",  { FC_REF_CONSTANT, 1, OFF(160,287), NUM(160,287) } }, /* 160 */
+    { "pap-an",  { FC_REF_CONSTANT, 1, OFF(161,338), NUM(161,338) } }, /* 161 */
+    { "pap-aw",  { FC_REF_CONSTANT, 1, OFF(162,339), NUM(162,339) } }, /* 162 */
+    { "pl",  { FC_REF_CONSTANT, 2, OFF(163,340), NUM(163,340) } }, /* 163 */
+    { "ps-af",  { FC_REF_CONSTANT, 1, OFF(164,342), NUM(164,342) } }, /* 164 */
+    { "ps-pk",  { FC_REF_CONSTANT, 1, OFF(165,343), NUM(165,343) } }, /* 165 */
+    { "pt",  { FC_REF_CONSTANT, 1, OFF(166,344), NUM(166,344) } }, /* 166 */
+    { "qu",  { FC_REF_CONSTANT, 2, OFF(167,345), NUM(167,345) } }, /* 167 */
+    { "rm",  { FC_REF_CONSTANT, 1, OFF(168,347), NUM(168,347) } }, /* 168 */
+    { "rn",  { FC_REF_CONSTANT, 1, OFF(169,87), NUM(169,87) } }, /* 169 */
+    { "ro",  { FC_REF_CONSTANT, 3, OFF(170,348), NUM(170,348) } }, /* 170 */
+    { "ru",  { FC_REF_CONSTANT, 1, OFF(171,279), NUM(171,279) } }, /* 171 */
+    { "rw",  { FC_REF_CONSTANT, 1, OFF(172,87), NUM(172,87) } }, /* 172 */
+    { "sa",  { FC_REF_CONSTANT, 1, OFF(173,30), NUM(173,30) } }, /* 173 */
+    { "sah",  { FC_REF_CONSTANT, 1, OFF(174,351), NUM(174,351) } }, /* 174 */
+    { "sat",  { FC_REF_CONSTANT, 1, OFF(175,352), NUM(175,352) } }, /* 175 */
+    { "sc",  { FC_REF_CONSTANT, 1, OFF(176,353), NUM(176,353) } }, /* 176 */
+    { "sco",  { FC_REF_CONSTANT, 3, OFF(177,354), NUM(177,354) } }, /* 177 */
+    { "sd",  { FC_REF_CONSTANT, 1, OFF(178,357), NUM(178,357) } }, /* 178 */
+    { "se",  { FC_REF_CONSTANT, 2, OFF(179,358), NUM(179,358) } }, /* 179 */
+    { "sel",  { FC_REF_CONSTANT, 1, OFF(180,279), NUM(180,279) } }, /* 180 */
+    { "sg",  { FC_REF_CONSTANT, 1, OFF(181,360), NUM(181,360) } }, /* 181 */
+    { "sh",  { FC_REF_CONSTANT, 3, OFF(182,361), NUM(182,361) } }, /* 182 */
+    { "shs",  { FC_REF_CONSTANT, 2, OFF(183,364), NUM(183,364) } }, /* 183 */
+    { "si",  { FC_REF_CONSTANT, 1, OFF(184,366), NUM(184,366) } }, /* 184 */
+    { "sid",  { FC_REF_CONSTANT, 2, OFF(185,367), NUM(185,367) } }, /* 185 */
+    { "sk",  { FC_REF_CONSTANT, 2, OFF(186,369), NUM(186,369) } }, /* 186 */
+    { "sl",  { FC_REF_CONSTANT, 2, OFF(187,42), NUM(187,42) } }, /* 187 */
+    { "sm",  { FC_REF_CONSTANT, 2, OFF(188,371), NUM(188,371) } }, /* 188 */
+    { "sma",  { FC_REF_CONSTANT, 1, OFF(189,373), NUM(189,373) } }, /* 189 */
+    { "smj",  { FC_REF_CONSTANT, 1, OFF(190,374), NUM(190,374) } }, /* 190 */
+    { "smn",  { FC_REF_CONSTANT, 2, OFF(191,375), NUM(191,375) } }, /* 191 */
+    { "sms",  { FC_REF_CONSTANT, 3, OFF(192,377), NUM(192,377) } }, /* 192 */
+    { "sn",  { FC_REF_CONSTANT, 1, OFF(193,87), NUM(193,87) } }, /* 193 */
+    { "so",  { FC_REF_CONSTANT, 1, OFF(194,87), NUM(194,87) } }, /* 194 */
+    { "sq",  { FC_REF_CONSTANT, 1, OFF(195,380), NUM(195,380) } }, /* 195 */
+    { "sr",  { FC_REF_CONSTANT, 1, OFF(196,381), NUM(196,381) } }, /* 196 */
+    { "ss",  { FC_REF_CONSTANT, 1, OFF(197,87), NUM(197,87) } }, /* 197 */
+    { "st",  { FC_REF_CONSTANT, 1, OFF(198,87), NUM(198,87) } }, /* 198 */
+    { "su",  { FC_REF_CONSTANT, 1, OFF(199,118), NUM(199,118) } }, /* 199 */
+    { "sv",  { FC_REF_CONSTANT, 1, OFF(200,382), NUM(200,382) } }, /* 200 */
+    { "sw",  { FC_REF_CONSTANT, 1, OFF(201,87), NUM(201,87) } }, /* 201 */
+    { "syr",  { FC_REF_CONSTANT, 1, OFF(202,383), NUM(202,383) } }, /* 202 */
+    { "ta",  { FC_REF_CONSTANT, 1, OFF(203,384), NUM(203,384) } }, /* 203 */
+    { "te",  { FC_REF_CONSTANT, 1, OFF(204,385), NUM(204,385) } }, /* 204 */
+    { "tg",  { FC_REF_CONSTANT, 1, OFF(205,386), NUM(205,386) } }, /* 205 */
+    { "th",  { FC_REF_CONSTANT, 1, OFF(206,387), NUM(206,387) } }, /* 206 */
+    { "ti-er",  { FC_REF_CONSTANT, 2, OFF(207,45), NUM(207,45) } }, /* 207 */
+    { "ti-et",  { FC_REF_CONSTANT, 2, OFF(208,367), NUM(208,367) } }, /* 208 */
+    { "tig",  { FC_REF_CONSTANT, 2, OFF(209,388), NUM(209,388) } }, /* 209 */
+    { "tk",  { FC_REF_CONSTANT, 2, OFF(210,390), NUM(210,390) } }, /* 210 */
+    { "tl",  { FC_REF_CONSTANT, 1, OFF(211,86), NUM(211,86) } }, /* 211 */
+    { "tn",  { FC_REF_CONSTANT, 2, OFF(212,326), NUM(212,326) } }, /* 212 */
+    { "to",  { FC_REF_CONSTANT, 2, OFF(213,371), NUM(213,371) } }, /* 213 */
+    { "tr",  { FC_REF_CONSTANT, 2, OFF(214,392), NUM(214,392) } }, /* 214 */
+    { "ts",  { FC_REF_CONSTANT, 1, OFF(215,87), NUM(215,87) } }, /* 215 */
+    { "tt",  { FC_REF_CONSTANT, 1, OFF(216,394), NUM(216,394) } }, /* 216 */
+    { "tw",  { FC_REF_CONSTANT, 5, OFF(217,4), NUM(217,4) } }, /* 217 */
+    { "ty",  { FC_REF_CONSTANT, 3, OFF(218,395), NUM(218,395) } }, /* 218 */
+    { "tyv",  { FC_REF_CONSTANT, 1, OFF(219,284), NUM(219,284) } }, /* 219 */
+    { "ug",  { FC_REF_CONSTANT, 1, OFF(220,398), NUM(220,398) } }, /* 220 */
+    { "uk",  { FC_REF_CONSTANT, 1, OFF(221,399), NUM(221,399) } }, /* 221 */
+    { "ur",  { FC_REF_CONSTANT, 1, OFF(222,287), NUM(222,287) } }, /* 222 */
+    { "uz",  { FC_REF_CONSTANT, 1, OFF(223,87), NUM(223,87) } }, /* 223 */
+    { "ve",  { FC_REF_CONSTANT, 2, OFF(224,400), NUM(224,400) } }, /* 224 */
+    { "vi",  { FC_REF_CONSTANT, 4, OFF(225,402), NUM(225,402) } }, /* 225 */
+    { "vo",  { FC_REF_CONSTANT, 1, OFF(226,406), NUM(226,406) } }, /* 226 */
+    { "vot",  { FC_REF_CONSTANT, 2, OFF(227,407), NUM(227,407) } }, /* 227 */
+    { "wa",  { FC_REF_CONSTANT, 1, OFF(228,409), NUM(228,409) } }, /* 228 */
+    { "wal",  { FC_REF_CONSTANT, 2, OFF(229,367), NUM(229,367) } }, /* 229 */
+    { "wen",  { FC_REF_CONSTANT, 2, OFF(230,410), NUM(230,410) } }, /* 230 */
+    { "wo",  { FC_REF_CONSTANT, 2, OFF(231,412), NUM(231,412) } }, /* 231 */
+    { "xh",  { FC_REF_CONSTANT, 1, OFF(232,87), NUM(232,87) } }, /* 232 */
+    { "yap",  { FC_REF_CONSTANT, 1, OFF(233,414), NUM(233,414) } }, /* 233 */
+    { "yi",  { FC_REF_CONSTANT, 1, OFF(234,108), NUM(234,108) } }, /* 234 */
+    { "yo",  { FC_REF_CONSTANT, 4, OFF(235,415), NUM(235,415) } }, /* 235 */
+    { "za",  { FC_REF_CONSTANT, 1, OFF(236,87), NUM(236,87) } }, /* 236 */
+    { "zh-cn",  { FC_REF_CONSTANT, 82, OFF(237,419), NUM(237,419) } }, /* 237 */
+    { "zh-hk",  { FC_REF_CONSTANT, 83, OFF(238,501), NUM(238,501) } }, /* 238 */
+    { "zh-mo",  { FC_REF_CONSTANT, 83, OFF(239,501), NUM(239,501) } }, /* 239 */
+    { "zh-sg",  { FC_REF_CONSTANT, 82, OFF(240,419), NUM(240,419) } }, /* 240 */
+    { "zh-tw",  { FC_REF_CONSTANT, 83, OFF(241,584), NUM(241,584) } }, /* 241 */
+    { "zu",  { FC_REF_CONSTANT, 1, OFF(242,87), NUM(242,87) } }, /* 242 */
+},
+{
+    { { /* 0 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x08104404, 0x08104404,
+    } },
+    { { /* 1 */
+    0xffff8002, 0xffffffff, 0x8002ffff, 0x00000000,
+    0xc0000000, 0xf0fc33c0, 0x03000000, 0x00000003,
+    } },
+    { { /* 2 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x0810cf00, 0x0810cf00,
+    } },
+    { { /* 3 */
+    0x00000000, 0x00000000, 0x00000200, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 4 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00220008, 0x00220008,
+    } },
+    { { /* 5 */
+    0x00000000, 0x00000300, 0x00000000, 0x00000300,
+    0x00010040, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 6 */
+    0x00000000, 0x00000000, 0x08100000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 7 */
+    0x00000048, 0x00000200, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 8 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x30000000, 0x00000000, 0x03000000,
+    } },
+    { { /* 9 */
+    0xff7fff7f, 0xff01ff7f, 0x00003d7f, 0xffff7fff,
+    0xffff3d7f, 0x003d7fff, 0xff7f7f00, 0x00ff7fff,
+    } },
+    { { /* 10 */
+    0x003d7fff, 0xffffffff, 0x007fff7f, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 11 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x140a2202, 0x140a2202,
+    } },
+    { { /* 12 */
+    0x00000000, 0x07fffffe, 0x000007fe, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 13 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xfff99fee, 0xd3c4fdff, 0xb000399f, 0x00030000,
+    } },
+    { { /* 14 */
+    0x00000000, 0x00c00030, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 15 */
+    0xffff0042, 0xffffffff, 0x0002ffff, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 16 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x10028010, 0x10028010,
+    } },
+    { { /* 17 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x10400080, 0x10400080,
+    } },
+    { { /* 18 */
+    0xc0000000, 0x00030000, 0xc0000000, 0x00000000,
+    0x00008000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 19 */
+    0x00000000, 0x00000000, 0x02000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 20 */
+    0x00000000, 0x07ffffde, 0x001009f6, 0x40000000,
+    0x01000040, 0x00008200, 0x00001000, 0x00000000,
+    } },
+    { { /* 21 */
+    0xffff0000, 0xffffffff, 0x0000ffff, 0x00000000,
+    0x030c0000, 0x0c00cc0f, 0x03000000, 0x00000300,
+    } },
+    { { /* 22 */
+    0xffff4040, 0xffffffff, 0x4040ffff, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 23 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 24 */
+    0x00003000, 0x00000000, 0x00000000, 0x00000000,
+    0x00110000, 0x00000000, 0x00000000, 0x000000c0,
+    } },
+    { { /* 25 */
+    0x00000000, 0x00000000, 0x08000000, 0x00000008,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 26 */
+    0x00003000, 0x00000030, 0x00000000, 0x0000300c,
+    0x000c0000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 27 */
+    0x00000000, 0x3a8b0000, 0x9e78e6b9, 0x0000802e,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 28 */
+    0xffff0000, 0xffffd7ff, 0x0000d7ff, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 29 */
+    0xffffffe0, 0x83ffffff, 0x00003fff, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 30 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x10008200, 0x10008200,
+    } },
+    { { /* 31 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x060c3303, 0x060c3303,
+    } },
+    { { /* 32 */
+    0x00000003, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 33 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x03000000, 0x00003000, 0x00000000,
+    } },
+    { { /* 34 */
+    0x00000000, 0x00000000, 0x00000c00, 0x00000000,
+    0x20010040, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 35 */
+    0x00000000, 0x00000000, 0x08100000, 0x00040000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 36 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xfff99fee, 0xd3c5fdff, 0xb000399f, 0x00000000,
+    } },
+    { { /* 37 */
+    0x00000000, 0x00000000, 0xfffffeff, 0x3d7e03ff,
+    0xfeff0003, 0x03ffffff, 0x00000000, 0x00000000,
+    } },
+    { { /* 38 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x12120404, 0x12120404,
+    } },
+    { { /* 39 */
+    0xfff99fee, 0xf3e5fdff, 0x0007399f, 0x0001ffff,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 40 */
+    0x000330c0, 0x00000000, 0x00000000, 0x60000003,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 41 */
+    0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+    0x00000000, 0x0c00c000, 0x00000000, 0x00000000,
+    } },
+    { { /* 42 */
+    0xff7fff7f, 0xff01ff00, 0x3d7f3d7f, 0xffff7fff,
+    0xffff0000, 0x003d7fff, 0xff7f7f3d, 0x00ff7fff,
+    } },
+    { { /* 43 */
+    0x003d7fff, 0xffffffff, 0x007fff00, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 44 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x140ca381, 0x140ca381,
+    } },
+    { { /* 45 */
+    0x00000000, 0x80000000, 0x00000001, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 46 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x10020004, 0x10020004,
+    } },
+    { { /* 47 */
+    0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+    0x00000000, 0x00000030, 0x000c0000, 0x030300c0,
+    } },
+    { { /* 48 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xffffffff, 0xffffffff, 0x001fffff,
+    } },
+    { { /* 49 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x1a10cfc5, 0x9a10cfc5,
+    } },
+    { { /* 50 */
+    0x00000000, 0x00000000, 0x000c0000, 0x01000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 51 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x10420084, 0x10420084,
+    } },
+    { { /* 52 */
+    0xc0000000, 0x00030000, 0xc0000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 53 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x24082202, 0x24082202,
+    } },
+    { { /* 54 */
+    0x0c00f000, 0x00000000, 0x03000180, 0x6000c033,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 55 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x021c0a08, 0x021c0a08,
+    } },
+    { { /* 56 */
+    0x00000030, 0x00000000, 0x0000001e, 0x18000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 57 */
+    0xfdffa966, 0xffffdfff, 0xa965dfff, 0x03ffffff,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 58 */
+    0x0000000c, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 59 */
+    0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+    0x00000000, 0x00000c00, 0x00c00000, 0x000c0000,
+    } },
+    { { /* 60 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x0010c604, 0x8010c604,
+    } },
+    { { /* 61 */
+    0x00000000, 0x00000000, 0x00000000, 0x01f00000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 62 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x0000003f, 0x00000000, 0x00000000, 0x000c0000,
+    } },
+    { { /* 63 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x25082262, 0x25082262,
+    } },
+    { { /* 64 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x90400010, 0x10400010,
+    } },
+    { { /* 65 */
+    0xfff99fec, 0xf3e5fdff, 0xf807399f, 0x0000ffff,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 66 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xffffffff, 0x0001ffff, 0x00000000, 0x00000000,
+    } },
+    { { /* 67 */
+    0x0c000000, 0x00000000, 0x00000c00, 0x00000000,
+    0x00170240, 0x00040000, 0x001fe000, 0x00000000,
+    } },
+    { { /* 68 */
+    0x00000000, 0x00000000, 0x08500000, 0x00000008,
+    0x00000800, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 69 */
+    0x00001003, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 70 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xffffd740, 0xfffffffb, 0x00007fff, 0x00000000,
+    } },
+    { { /* 71 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00528f81, 0x00528f81,
+    } },
+    { { /* 72 */
+    0x30000300, 0x00300030, 0x30000000, 0x00003000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 73 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x10600010, 0x10600010,
+    } },
+    { { /* 74 */
+    0x00000000, 0x00000000, 0x00000000, 0x60000003,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 75 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x10020000, 0x10020000,
+    } },
+    { { /* 76 */
+    0x00000000, 0x00000000, 0x00000c00, 0x00000000,
+    0x20000402, 0x00180000, 0x00000000, 0x00000000,
+    } },
+    { { /* 77 */
+    0x00000000, 0x00000000, 0x00880000, 0x00040000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 78 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00400030, 0x00400030,
+    } },
+    { { /* 79 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x0e1e7707, 0x0e1e7707,
+    } },
+    { { /* 80 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x25092042, 0x25092042,
+    } },
+    { { /* 81 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x02041107, 0x02041107,
+    } },
+    { { /* 82 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x9c508e14, 0x1c508e14,
+    } },
+    { { /* 83 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x04082202, 0x04082202,
+    } },
+    { { /* 84 */
+    0x00000c00, 0x00000003, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 85 */
+    0xc0000c0c, 0x00000000, 0x00c00003, 0x00000c03,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 86 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x020c1383, 0x020c1383,
+    } },
+    { { /* 87 */
+    0xff7fff7f, 0xff01ff7f, 0x00003d7f, 0x00ff00ff,
+    0x00ff3d7f, 0x003d7fff, 0xff7f7f00, 0x00ff7f00,
+    } },
+    { { /* 88 */
+    0x003d7f00, 0xffff01ff, 0x007fff7f, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 89 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x040a2202, 0x042a220a,
+    } },
+    { { /* 90 */
+    0x00000000, 0x00000200, 0x00000000, 0x00000200,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 91 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x20000000, 0x00000000, 0x02000000,
+    } },
+    { { /* 92 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xfffbafee, 0xf3edfdff, 0x00013bbf, 0x00000001,
+    } },
+    { { /* 93 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00000080, 0x00000080,
+    } },
+    { { /* 94 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x03000402, 0x00180000, 0x00000000, 0x00000000,
+    } },
+    { { /* 95 */
+    0x00000000, 0x00000000, 0x00880000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 96 */
+    0x000c0003, 0x00000c00, 0x00003000, 0x00000c00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 97 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x08000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 98 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xffff0000, 0x000007ff,
+    } },
+    { { /* 99 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00080000, 0x00080000,
+    } },
+    { { /* 100 */
+    0x0c0030c0, 0x00000000, 0x0300001e, 0x66000003,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 101 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00040100, 0x00040100,
+    } },
+    { { /* 102 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x14482202, 0x14482202,
+    } },
+    { { /* 103 */
+    0x00000000, 0x00000000, 0x00030000, 0x00030000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 104 */
+    0x00000000, 0xfffe0000, 0x007fffff, 0xfffffffe,
+    0x000000ff, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 105 */
+    0x00000000, 0x00008000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 106 */
+    0x000c0000, 0x00000000, 0x00000c00, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 107 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00000200, 0x00000200,
+    } },
+    { { /* 108 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00003c00, 0x00000030,
+    } },
+    { { /* 109 */
+    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+    } },
+    { { /* 110 */
+    0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
+    0x00001fff, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 111 */
+    0xffff4002, 0xffffffff, 0x4002ffff, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 112 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x64092242, 0x64092242,
+    } },
+    { { /* 113 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x060cb301, 0x060cb301,
+    } },
+    { { /* 114 */
+    0x00000c7e, 0x031f8000, 0x0063f200, 0x000df840,
+    0x00037e08, 0x08000dfa, 0x0df901bf, 0x5437e400,
+    } },
+    { { /* 115 */
+    0x00000025, 0x40006fc0, 0x27f91be4, 0xdee00000,
+    0x007ff83f, 0x00007f7f, 0x00000000, 0x00000000,
+    } },
+    { { /* 116 */
+    0x00000000, 0x00000000, 0x00000000, 0x007f8000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 117 */
+    0x000000e7, 0x00000000, 0xfffffffe, 0xffffffff,
+    0x780fffff, 0xfffffffe, 0xffffffff, 0x787fffff,
+    } },
+    { { /* 118 */
+    0x43f36f8b, 0x9b462442, 0xe3e0e82c, 0x400a0004,
+    0xdb365f65, 0x04497977, 0xe3f0ecd7, 0x08c56038,
+    } },
+    { { /* 119 */
+    0x3403e602, 0x35518000, 0x7eabe0c8, 0x98698200,
+    0x2942a948, 0x8060e803, 0xad93441c, 0x4568c03a,
+    } },
+    { { /* 120 */
+    0x8656aa60, 0x02403f7a, 0x14618388, 0x21741020,
+    0x07022021, 0x40bc3000, 0x4462a624, 0x0a2060a8,
+    } },
+    { { /* 121 */
+    0x85740217, 0x9c840402, 0x14157bfb, 0x11e27f24,
+    0x02efb665, 0x20ff1f75, 0x28403a70, 0x676326c3,
+    } },
+    { { /* 122 */
+    0x20924dd9, 0x0fc946b0, 0x4850bc98, 0xa03f8638,
+    0x88162388, 0x52323e09, 0xe3a422aa, 0xc72c00dd,
+    } },
+    { { /* 123 */
+    0x26e1a166, 0x8f0a840b, 0x559e27eb, 0x89bbc241,
+    0x85400014, 0x08496361, 0x8ad07f0c, 0x05cfff3e,
+    } },
+    { { /* 124 */
+    0xa803ff1a, 0x7b407a41, 0x80024745, 0x38eb0500,
+    0x0005d851, 0x710c9934, 0x01000397, 0x24046366,
+    } },
+    { { /* 125 */
+    0x005180d0, 0x430ac000, 0x30c89071, 0x58000008,
+    0xf7000e99, 0x00415f80, 0x941000b0, 0x62800018,
+    } },
+    { { /* 126 */
+    0x09d00240, 0x01568200, 0x08015004, 0x05101d10,
+    0x001084c1, 0x10504025, 0x4d8a410f, 0xa60d4009,
+    } },
+    { { /* 127 */
+    0x914cab19, 0x098121c0, 0x0003c485, 0x80000652,
+    0x00080b04, 0x0009041d, 0x905c4849, 0x16900009,
+    } },
+    { { /* 128 */
+    0x22200c65, 0x24338412, 0x47960c03, 0x42250a04,
+    0x90880028, 0x4f084900, 0xd3aa14a2, 0x3e87d830,
+    } },
+    { { /* 129 */
+    0x1f618604, 0x41867ea4, 0x05b3c390, 0x211857a5,
+    0x2a48241e, 0x4a041128, 0x161b0a40, 0x88400d60,
+    } },
+    { { /* 130 */
+    0x9502020a, 0x10608221, 0x04000243, 0x80001444,
+    0x0c040000, 0x70000000, 0x00c11a06, 0x0c00024a,
+    } },
+    { { /* 131 */
+    0x00401a00, 0x40451404, 0xbdb30029, 0x052b0a78,
+    0xbfa0bba9, 0x8379407c, 0xe81d12fc, 0xc5694bf6,
+    } },
+    { { /* 132 */
+    0x044aeff6, 0xff022115, 0x402bed63, 0x0242d033,
+    0x00131000, 0x59ca1b02, 0x020000a0, 0x2c41a703,
+    } },
+    { { /* 133 */
+    0x8ff24880, 0x00000204, 0x10055800, 0x00489200,
+    0x20011894, 0x34805004, 0x684c3200, 0x68be49ea,
+    } },
+    { { /* 134 */
+    0x2e42184c, 0x21c9a820, 0x80b050b9, 0xff7c001e,
+    0x14e0849a, 0x01e028c1, 0xac49870e, 0xdddb130f,
+    } },
+    { { /* 135 */
+    0x89fbbe1a, 0x51a2a2e0, 0x32ca5502, 0x928b3e46,
+    0x438f1dbf, 0x32186703, 0x33c03028, 0xa9230811,
+    } },
+    { { /* 136 */
+    0x3a65c000, 0x04028fe3, 0x86252c4e, 0x00a1bf3d,
+    0x8cd43a1a, 0x317c06c9, 0x950a00e0, 0x0edb018b,
+    } },
+    { { /* 137 */
+    0x8c20e34b, 0xf0101182, 0xa7287d94, 0x40fbc9ac,
+    0x06534484, 0x44445a90, 0x00013fc8, 0xf5d40048,
+    } },
+    { { /* 138 */
+    0xec577701, 0x891dc442, 0x49286b83, 0xd2424109,
+    0x59fe061d, 0x3a221800, 0x3b9fb7e4, 0xc0eaf003,
+    } },
+    { { /* 139 */
+    0x82021386, 0xe4008980, 0x10a1b200, 0x0cc44b80,
+    0x8944d309, 0x48341faf, 0x0c458259, 0x0450420a,
+    } },
+    { { /* 140 */
+    0x10c8a040, 0x44503140, 0x01004004, 0x05408280,
+    0x442c0108, 0x1a056a30, 0x051420a6, 0x645690cf,
+    } },
+    { { /* 141 */
+    0x31000021, 0xcbf09c18, 0x63e2a120, 0x01b5104c,
+    0x9a83538c, 0x3281b8b2, 0x0a84987a, 0x0c0233e7,
+    } },
+    { { /* 142 */
+    0x9018d4cc, 0x9070a1a1, 0xe0048a1e, 0x0451c3d4,
+    0x21c2439a, 0x53104844, 0x36400292, 0xf3bd0241,
+    } },
+    { { /* 143 */
+    0xe8f0ab09, 0xa5d27dc0, 0xd24bc242, 0xd0afa43f,
+    0x34a11aa0, 0x03d88247, 0x651bc452, 0xc83ad294,
+    } },
+    { { /* 144 */
+    0x40c8001c, 0x33140e06, 0xb21b614f, 0xc0d00088,
+    0xa898a02a, 0x166ba1c5, 0x85b42e50, 0x0604c08b,
+    } },
+    { { /* 145 */
+    0x1e04f933, 0xa251056e, 0x76380400, 0x73b8ec07,
+    0x18324406, 0xc8164081, 0x63097c8a, 0xaa042980,
+    } },
+    { { /* 146 */
+    0xca9c1c24, 0x27604e0e, 0x83000990, 0x81040046,
+    0x10816011, 0x0908540d, 0xcc0a000e, 0x0c000500,
+    } },
+    { { /* 147 */
+    0xa0440430, 0x6784008b, 0x8a195288, 0x8b18865e,
+    0x41602e59, 0x9cbe8c10, 0x891c6861, 0x00089800,
+    } },
+    { { /* 148 */
+    0x089a8100, 0x41900018, 0xe4a14007, 0x640d0505,
+    0x0e4d310e, 0xff0a4806, 0x2aa81632, 0x000b852e,
+    } },
+    { { /* 149 */
+    0xca841800, 0x696c0e20, 0x16000032, 0x03905658,
+    0x1a285120, 0x11248000, 0x432618e1, 0x0eaa5d52,
+    } },
+    { { /* 150 */
+    0xae280fa0, 0x4500fa7b, 0x89406408, 0xc044c880,
+    0xb1419005, 0x24c48424, 0x603a1a34, 0xc1949000,
+    } },
+    { { /* 151 */
+    0x003a8246, 0xc106180d, 0x99100022, 0x1511e050,
+    0x00824057, 0x020a041a, 0x8930004f, 0x444ad813,
+    } },
+    { { /* 152 */
+    0xed228a02, 0x400510c0, 0x01021000, 0x31018808,
+    0x02044600, 0x0708f000, 0xa2008900, 0x22020000,
+    } },
+    { { /* 153 */
+    0x16100200, 0x10400042, 0x02605200, 0x200052f4,
+    0x80308510, 0x42021100, 0x80b54308, 0x9a2070e1,
+    } },
+    { { /* 154 */
+    0x08012040, 0xfc653500, 0xab0419c1, 0x62140286,
+    0x00440087, 0x02449085, 0x0a85405c, 0x33803207,
+    } },
+    { { /* 155 */
+    0xb8c00400, 0xc0d0ce20, 0x0080c030, 0x0d250508,
+    0x00400a90, 0x080c0200, 0x40006505, 0x41026421,
+    } },
+    { { /* 156 */
+    0x00000268, 0x847c0024, 0xde200002, 0x40498619,
+    0x40000808, 0x20010084, 0x10108400, 0x01c742cd,
+    } },
+    { { /* 157 */
+    0xd52a7038, 0x1d8f1968, 0x3e12be50, 0x81d92ef5,
+    0x2412cec4, 0x732e0828, 0x4b3424ac, 0xd41d020c,
+    } },
+    { { /* 158 */
+    0x80002a02, 0x08110097, 0x114411c4, 0x7d451786,
+    0x064949d9, 0x87914000, 0xd8c4254c, 0x491444ba,
+    } },
+    { { /* 159 */
+    0xc8001b92, 0x15800271, 0x0c000081, 0xc200096a,
+    0x40024800, 0xba493021, 0x1c802080, 0x1008e2ac,
+    } },
+    { { /* 160 */
+    0x00341004, 0x841400e1, 0x20000020, 0x10149800,
+    0x04aa70c2, 0x54208688, 0x04130c62, 0x20109180,
+    } },
+    { { /* 161 */
+    0x02064082, 0x54001c40, 0xe4e90383, 0x84802125,
+    0x2000e433, 0xe60944c0, 0x81260a03, 0x080112da,
+    } },
+    { { /* 162 */
+    0x97906901, 0xf8864001, 0x0081e24d, 0xa6510a0e,
+    0x81ec011a, 0x8441c600, 0xb62cadb8, 0x8741a46f,
+    } },
+    { { /* 163 */
+    0x4b028d54, 0x02681161, 0x2057bb60, 0x043350a0,
+    0xb7b4a8c0, 0x01122402, 0x20009ad3, 0x00c82271,
+    } },
+    { { /* 164 */
+    0x809e2081, 0xe1800c8a, 0x8151b009, 0x40281031,
+    0x89a52a0e, 0x620e69b6, 0xd1444425, 0x4d548085,
+    } },
+    { { /* 165 */
+    0x1fb12c75, 0x862dd807, 0x4841d87c, 0x226e414e,
+    0x9e088200, 0xed37f80c, 0x75268c80, 0x08149313,
+    } },
+    { { /* 166 */
+    0xc8040e32, 0x6ea6484e, 0x66702c4a, 0xba0126c0,
+    0x185dd30c, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 167 */
+    0x00000000, 0x05400000, 0x81337020, 0x03a54f81,
+    0x641055ec, 0x2344c318, 0x00341462, 0x1a090a43,
+    } },
+    { { /* 168 */
+    0x13a5187b, 0xa8480102, 0xc5440440, 0xe2dd8106,
+    0x2d481af0, 0x0416b626, 0x6e405058, 0x31128032,
+    } },
+    { { /* 169 */
+    0x0c0007e4, 0x420a8208, 0x803b4840, 0x87134860,
+    0x3428850d, 0xe5290319, 0x870a2345, 0x5c1825a9,
+    } },
+    { { /* 170 */
+    0xd9c577a6, 0x03e85e00, 0xa7000081, 0x41c6cd54,
+    0xa2042800, 0x2b0ab860, 0xda9e0020, 0x0e1a08ea,
+    } },
+    { { /* 171 */
+    0x11c0427c, 0x03768908, 0x01058621, 0x18a80000,
+    0xc44846a0, 0x20220d05, 0x91485422, 0x28978a01,
+    } },
+    { { /* 172 */
+    0x00087898, 0x31221605, 0x08804240, 0x06a2fa4e,
+    0x92110814, 0x9b042002, 0x06432e52, 0x90105000,
+    } },
+    { { /* 173 */
+    0x85ba0041, 0x20203042, 0x05a04f0b, 0x40802708,
+    0x1a930591, 0x0600df50, 0x3021a202, 0x4e800630,
+    } },
+    { { /* 174 */
+    0x04c80cc4, 0x8001a004, 0xd4316000, 0x0a020880,
+    0x00281c00, 0x00418e18, 0xca106ad0, 0x4b00f210,
+    } },
+    { { /* 175 */
+    0x1506274d, 0x88900220, 0x82a85a00, 0x81504549,
+    0x80002004, 0x2c088804, 0x000508d1, 0x4ac48001,
+    } },
+    { { /* 176 */
+    0x0062e020, 0x0a42008e, 0x6a8c3055, 0xe0a5090e,
+    0x42c42906, 0x80b34814, 0xb330803e, 0x731c0102,
+    } },
+    { { /* 177 */
+    0x600d1494, 0x09400c20, 0xc040301a, 0xc094a451,
+    0x05c88dca, 0xa40c96c2, 0x34040001, 0x011000c8,
+    } },
+    { { /* 178 */
+    0xa9c9550d, 0x1c5a2428, 0x48370142, 0x100f7a4d,
+    0x452a32b4, 0x9205317b, 0x5c44b894, 0x458a68d7,
+    } },
+    { { /* 179 */
+    0x2ed15097, 0x42081943, 0x9d40d202, 0x20979840,
+    0x064d5409, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 180 */
+    0x00000000, 0x84800000, 0x04215542, 0x17001c06,
+    0x61107624, 0xb9ddff87, 0x5c0a659f, 0x3c00245d,
+    } },
+    { { /* 181 */
+    0x0059adb0, 0x00000000, 0x00000000, 0x009b28d0,
+    0x02000422, 0x44080108, 0xac409804, 0x90288d0a,
+    } },
+    { { /* 182 */
+    0xe0018700, 0x00310400, 0x82211794, 0x10540019,
+    0x021a2cb2, 0x40039c02, 0x88043d60, 0x7900080c,
+    } },
+    { { /* 183 */
+    0xba3c1628, 0xcb088640, 0x90807274, 0x0000001e,
+    0xd8000000, 0x9c87e188, 0x04124034, 0x2791ae64,
+    } },
+    { { /* 184 */
+    0xe6fbe86b, 0x5366408f, 0x537feea6, 0xb5e4e32b,
+    0x0002869f, 0x01228548, 0x08004402, 0x20a02116,
+    } },
+    { { /* 185 */
+    0x02040004, 0x00052000, 0x01547e00, 0x01ac162c,
+    0x10852a84, 0x05308c14, 0xb943fbc3, 0x906000ca,
+    } },
+    { { /* 186 */
+    0x40326000, 0x80901200, 0x4c810b30, 0x40020054,
+    0x1d6a0029, 0x02802000, 0x00048000, 0x150c2610,
+    } },
+    { { /* 187 */
+    0x07018040, 0x0c24d94d, 0x18502810, 0x50205001,
+    0x04d01000, 0x02017080, 0x21c30108, 0x00000132,
+    } },
+    { { /* 188 */
+    0x07190088, 0x05600802, 0x4c0e0012, 0xf0a10405,
+    0x00000002, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 189 */
+    0x00000000, 0x00000000, 0x00000000, 0x00800000,
+    0x035a8e8d, 0x5a0421bd, 0x11703488, 0x00000026,
+    } },
+    { { /* 190 */
+    0x10000000, 0x8804c502, 0xf801b815, 0x25ed147c,
+    0x1bb0ed60, 0x1bd70589, 0x1a627af3, 0x0ac50d0c,
+    } },
+    { { /* 191 */
+    0x524ae5d1, 0x63050490, 0x52440354, 0x16122b57,
+    0x1101a872, 0x00182949, 0x10080948, 0x886c6000,
+    } },
+    { { /* 192 */
+    0x058f916e, 0x39903012, 0x4930f840, 0x001b8880,
+    0x00000000, 0x00428500, 0x98000058, 0x7014ea04,
+    } },
+    { { /* 193 */
+    0x611d1628, 0x60005113, 0x00a71a24, 0x00000000,
+    0x03c00000, 0x10187120, 0xa9270172, 0x89066004,
+    } },
+    { { /* 194 */
+    0x020cc022, 0x40810900, 0x8ca0202d, 0x00000e34,
+    0x00000000, 0x11012100, 0xc11a8011, 0x0892ec4c,
+    } },
+    { { /* 195 */
+    0x85000040, 0x1806c7ac, 0x0512e03e, 0x00108000,
+    0x80ce4008, 0x02106d01, 0x08568641, 0x0027011e,
+    } },
+    { { /* 196 */
+    0x083d3750, 0x4e05e032, 0x048401c0, 0x01400081,
+    0x00000000, 0x00000000, 0x00000000, 0x00591aa0,
+    } },
+    { { /* 197 */
+    0x882443c8, 0xc8001d48, 0x72030152, 0x04049013,
+    0x04008280, 0x0d148a10, 0x02088056, 0x2704a040,
+    } },
+    { { /* 198 */
+    0x4c000000, 0x00000000, 0x00000000, 0xa3200000,
+    0xa0ae1902, 0xdf002660, 0x7b15f010, 0x3ad08121,
+    } },
+    { { /* 199 */
+    0x00284180, 0x48001003, 0x8014cc00, 0x00c414cf,
+    0x30202000, 0x00000001, 0x00000000, 0x00000000,
+    } },
+    { { /* 200 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00000300, 0x00000300,
+    } },
+    { { /* 201 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xffff0000, 0x0001ffff,
+    } },
+    { { /* 202 */
+    0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+    0x0c0c0000, 0x000cc00c, 0x03000000, 0x00000000,
+    } },
+    { { /* 203 */
+    0x00000000, 0x00000300, 0x00000000, 0x00000300,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 204 */
+    0xffff0000, 0xffffffff, 0x0040ffff, 0x00000000,
+    0x0c0c0000, 0x0c00000c, 0x03000000, 0x00000300,
+    } },
+    { { /* 205 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x0d10646e, 0x0d10646e,
+    } },
+    { { /* 206 */
+    0x00000000, 0x01000300, 0x00000000, 0x00000300,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 207 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x9fffffff, 0xffcffee7, 0x0000003f, 0x00000000,
+    } },
+    { { /* 208 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xfffddfec, 0xc3effdff, 0x40603ddf, 0x00000003,
+    } },
+    { { /* 209 */
+    0x00000000, 0xfffe0000, 0xffffffff, 0xffffffff,
+    0x00007fff, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 210 */
+    0x3eff0793, 0x1303b011, 0x11102801, 0x05930000,
+    0xb0111e7b, 0x3b019703, 0x00a01112, 0x306b9593,
+    } },
+    { { /* 211 */
+    0x1102b051, 0x11303201, 0x011102b0, 0xb879300a,
+    0x30011306, 0x00800010, 0x100b0113, 0x93000011,
+    } },
+    { { /* 212 */
+    0x00102b03, 0x05930000, 0xb051746b, 0x3b011323,
+    0x00001030, 0x70000000, 0x1303b011, 0x11102900,
+    } },
+    { { /* 213 */
+    0x00012180, 0xb0153000, 0x3001030e, 0x02000030,
+    0x10230111, 0x13000000, 0x10106b81, 0x01130300,
+    } },
+    { { /* 214 */
+    0x30111013, 0x00000100, 0x22b85530, 0x30000000,
+    0x9702b011, 0x113afb07, 0x011303b0, 0x00000021,
+    } },
+    { { /* 215 */
+    0x3b0d1b00, 0x03b01138, 0x11330113, 0x13000001,
+    0x111c2b05, 0x00000100, 0xb0111000, 0x2a011300,
+    } },
+    { { /* 216 */
+    0x02b01930, 0x10100001, 0x11000000, 0x10300301,
+    0x07130230, 0x0011146b, 0x2b051300, 0x8fb8f974,
+    } },
+    { { /* 217 */
+    0x103b0113, 0x00000000, 0xd9700000, 0x01134ab0,
+    0x0011103b, 0x00001103, 0x2ab15930, 0x10000111,
+    } },
+    { { /* 218 */
+    0x11010000, 0x00100b01, 0x01130000, 0x0000102b,
+    0x20000101, 0x02a01110, 0x30210111, 0x0102b059,
+    } },
+    { { /* 219 */
+    0x19300000, 0x011307b0, 0xb011383b, 0x00000003,
+    0x00000000, 0x383b0d13, 0x0103b011, 0x00001000,
+    } },
+    { { /* 220 */
+    0x01130000, 0x00101020, 0x00000100, 0x00000110,
+    0x30000000, 0x00021811, 0x00100000, 0x01110000,
+    } },
+    { { /* 221 */
+    0x00000023, 0x0b019300, 0x00301110, 0x302b0111,
+    0x13c7b011, 0x01303b01, 0x00000280, 0xb0113000,
+    } },
+    { { /* 222 */
+    0x2b011383, 0x03b01130, 0x300a0011, 0x1102b011,
+    0x00002000, 0x01110100, 0xa011102b, 0x2b011302,
+    } },
+    { { /* 223 */
+    0x01000010, 0x30000001, 0x13029011, 0x11302b01,
+    0x000066b0, 0xb0113000, 0x6b07d302, 0x07b0113a,
+    } },
+    { { /* 224 */
+    0x00200103, 0x13000000, 0x11386b05, 0x011303b0,
+    0x000010b8, 0x2b051b00, 0x03000110, 0x10000000,
+    } },
+    { { /* 225 */
+    0x1102a011, 0x79700a01, 0x0111a2b0, 0x0000100a,
+    0x00011100, 0x00901110, 0x00090111, 0x93000000,
+    } },
+    { { /* 226 */
+    0xf9f2bb05, 0x011322b0, 0x2001323b, 0x00000000,
+    0x06b05930, 0x303b0193, 0x1123a011, 0x11700000,
+    } },
+    { { /* 227 */
+    0x001102b0, 0x00001010, 0x03011301, 0x00000110,
+    0x162b0793, 0x01010010, 0x11300000, 0x01110200,
+    } },
+    { { /* 228 */
+    0xb0113029, 0x00000000, 0x0eb05130, 0x383b0513,
+    0x0303b011, 0x00000100, 0x01930000, 0x00001039,
+    } },
+    { { /* 229 */
+    0x3b000302, 0x00000000, 0x00230113, 0x00000000,
+    0x00100000, 0x00010000, 0x90113020, 0x00000002,
+    } },
+    { { /* 230 */
+    0x00000000, 0x10000000, 0x11020000, 0x00000301,
+    0x01130000, 0xb079b02b, 0x3b011323, 0x02b01130,
+    } },
+    { { /* 231 */
+    0xf0210111, 0x1343b0d9, 0x11303b01, 0x011103b0,
+    0xb0517020, 0x20011322, 0x01901110, 0x300b0111,
+    } },
+    { { /* 232 */
+    0x9302b011, 0x0016ab01, 0x01130100, 0xb0113021,
+    0x29010302, 0x02b03130, 0x30000000, 0x1b42b819,
+    } },
+    { { /* 233 */
+    0x11383301, 0x00000330, 0x00000020, 0x33051300,
+    0x00001110, 0x00000000, 0x93000000, 0x01302305,
+    } },
+    { { /* 234 */
+    0x00010100, 0x30111010, 0x00000100, 0x02301130,
+    0x10100001, 0x11000000, 0x00000000, 0x85130200,
+    } },
+    { { /* 235 */
+    0x10111003, 0x2b011300, 0x63b87730, 0x303b0113,
+    0x11a2b091, 0x7b300201, 0x011357f0, 0xf0d1702b,
+    } },
+    { { /* 236 */
+    0x1b0111e3, 0x0ab97130, 0x303b0113, 0x13029001,
+    0x11302b01, 0x071302b0, 0x3011302b, 0x23011303,
+    } },
+    { { /* 237 */
+    0x02b01130, 0x30ab0113, 0x11feb411, 0x71300901,
+    0x05d347b8, 0xb011307b, 0x21015303, 0x00001110,
+    } },
+    { { /* 238 */
+    0x306b0513, 0x1102b011, 0x00103301, 0x05130000,
+    0xa01038eb, 0x30000102, 0x02b01110, 0x30200013,
+    } },
+    { { /* 239 */
+    0x0102b071, 0x00101000, 0x01130000, 0x1011100b,
+    0x2b011300, 0x00000000, 0x366b0593, 0x1303b095,
+    } },
+    { { /* 240 */
+    0x01103b01, 0x00000200, 0xb0113000, 0x20000103,
+    0x01000010, 0x30000000, 0x030ab011, 0x00101001,
+    } },
+    { { /* 241 */
+    0x01110100, 0x00000003, 0x23011302, 0x03000010,
+    0x10000000, 0x01000000, 0x00100000, 0x00000290,
+    } },
+    { { /* 242 */
+    0x30113000, 0x7b015386, 0x03b01130, 0x00210151,
+    0x13000000, 0x11303b01, 0x001102b0, 0x00011010,
+    } },
+    { { /* 243 */
+    0x2b011302, 0x02001110, 0x10000000, 0x0102b011,
+    0x11300100, 0x000102b0, 0x00011010, 0x2b011100,
+    } },
+    { { /* 244 */
+    0x02101110, 0x002b0113, 0x93000000, 0x11302b03,
+    0x011302b0, 0x0000303b, 0x00000002, 0x03b01930,
+    } },
+    { { /* 245 */
+    0x102b0113, 0x0103b011, 0x11300000, 0x011302b0,
+    0x00001021, 0x00010102, 0x00000010, 0x102b0113,
+    } },
+    { { /* 246 */
+    0x01020011, 0x11302000, 0x011102b0, 0x30113001,
+    0x00000002, 0x02b01130, 0x303b0313, 0x0103b011,
+    } },
+    { { /* 247 */
+    0x00002000, 0x05130000, 0xb011303b, 0x10001102,
+    0x00000110, 0x142b0113, 0x01000001, 0x01100000,
+    } },
+    { { /* 248 */
+    0x00010280, 0xb0113000, 0x10000102, 0x00000010,
+    0x10230113, 0x93021011, 0x11100b05, 0x01130030,
+    } },
+    { { /* 249 */
+    0xb051702b, 0x3b011323, 0x00000030, 0x30000000,
+    0x1303b011, 0x11102b01, 0x01010330, 0xb011300a,
+    } },
+    { { /* 250 */
+    0x20000102, 0x00000000, 0x10000011, 0x9300a011,
+    0x00102b05, 0x00000200, 0x90111000, 0x29011100,
+    } },
+    { { /* 251 */
+    0x00b01110, 0x30000000, 0x1302b011, 0x11302b21,
+    0x000103b0, 0x00000020, 0x2b051300, 0x02b01130,
+    } },
+    { { /* 252 */
+    0x103b0113, 0x13002011, 0x11322b21, 0x00130280,
+    0xa0113028, 0x0a011102, 0x02921130, 0x30210111,
+    } },
+    { { /* 253 */
+    0x13020011, 0x11302b01, 0x03d30290, 0x3011122b,
+    0x2b011302, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 254 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00004000, 0x00000000, 0x20000000, 0x00000000,
+    } },
+    { { /* 255 */
+    0x00000000, 0x00000000, 0x00003000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 256 */
+    0x00000000, 0x040001df, 0x80800176, 0x420c0000,
+    0x01020140, 0x44008200, 0x00041018, 0x00000000,
+    } },
+    { { /* 257 */
+    0xffff0000, 0xffff27bf, 0x000027bf, 0x00000000,
+    0x00000000, 0x0c000000, 0x03000000, 0x000000c0,
+    } },
+    { { /* 258 */
+    0x3c000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 259 */
+    0x00000000, 0x061ef5c0, 0x000001f6, 0x40000000,
+    0x01040040, 0x00208210, 0x00005040, 0x00000000,
+    } },
+    { { /* 260 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x08004480, 0x08004480,
+    } },
+    { { /* 261 */
+    0x00000000, 0x00000000, 0xc0000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 262 */
+    0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 263 */
+    0xffff0042, 0xffffffff, 0x0042ffff, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x000000c0,
+    } },
+    { { /* 264 */
+    0x00000000, 0x000c0000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 265 */
+    0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+    0x00000000, 0x0000c00c, 0x00000000, 0x00000000,
+    } },
+    { { /* 266 */
+    0x000c0003, 0x00003c00, 0x0000f000, 0x00003c00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 267 */
+    0x00000000, 0x040001de, 0x00000176, 0x42000000,
+    0x01020140, 0x44008200, 0x00041008, 0x00000000,
+    } },
+    { { /* 268 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x98504f14, 0x18504f14,
+    } },
+    { { /* 269 */
+    0x00000000, 0x00000000, 0x00000c00, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 270 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00480910, 0x00480910,
+    } },
+    { { /* 271 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x0c186606, 0x0c186606,
+    } },
+    { { /* 272 */
+    0x0c000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00010040, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 273 */
+    0x00001006, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 274 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xfef02596, 0x3bffecae, 0x30003f5f, 0x00000000,
+    } },
+    { { /* 275 */
+    0x03c03030, 0x0000c000, 0x00000000, 0x600c0c03,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 276 */
+    0x000c3003, 0x18c00c0c, 0x00c03060, 0x60000c03,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 277 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00100002, 0x00100002,
+    } },
+    { { /* 278 */
+    0x00000003, 0x18000000, 0x00003060, 0x00000c00,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 279 */
+    0x00000000, 0x00300000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 280 */
+    0xfdffb729, 0x000001ff, 0xb7290000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 281 */
+    0xfffddfec, 0xc3fffdff, 0x00803dcf, 0x00000003,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 282 */
+    0x00000000, 0xffffffff, 0xffffffff, 0x00ffffff,
+    0xffffffff, 0x000003ff, 0x00000000, 0x00000000,
+    } },
+    { { /* 283 */
+    0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+    0x00000000, 0x0000c000, 0x00000000, 0x00000300,
+    } },
+    { { /* 284 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000010,
+    0xfff99fee, 0xf3c5fdff, 0xb000798f, 0x0002ffc0,
+    } },
+    { { /* 285 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00004004, 0x00004004,
+    } },
+    { { /* 286 */
+    0x0f000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 287 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x02045101, 0x02045101,
+    } },
+    { { /* 288 */
+    0x00000c00, 0x000000c3, 0x00000000, 0x18000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 289 */
+    0xffffffff, 0x0007f6fb, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 290 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000300,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 291 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x011c0661, 0x011c0661,
+    } },
+    { { /* 292 */
+    0xfff98fee, 0xc3e5fdff, 0x0001398f, 0x0001fff0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 293 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x1c58af16, 0x1c58af16,
+    } },
+    { { /* 294 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x115c0671, 0x115c0671,
+    } },
+    { { /* 295 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0xffffffff, 0x07ffffff,
+    } },
+    { { /* 296 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00100400, 0x00100400,
+    } },
+    { { /* 297 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000003,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 298 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00082202, 0x00082202,
+    } },
+    { { /* 299 */
+    0x03000030, 0x0000c000, 0x00000006, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000c00,
+    } },
+    { { /* 300 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x10000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 301 */
+    0x00000002, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 302 */
+    0x00000000, 0x00000000, 0x00000000, 0x00300000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 303 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x040c2383, 0x040c2383,
+    } },
+    { { /* 304 */
+    0xfff99fee, 0xf3cdfdff, 0xb0c0398f, 0x00000003,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 305 */
+    0x00000000, 0x07ffffc6, 0x000001fe, 0x40000000,
+    0x01000040, 0x0000a000, 0x00001000, 0x00000000,
+    } },
+    { { /* 306 */
+    0xfff987e0, 0xd36dfdff, 0x1e003987, 0x001f0000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 307 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x160e2302, 0x160e2302,
+    } },
+    { { /* 308 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00020000, 0x00020000,
+    } },
+    { { /* 309 */
+    0x030000f0, 0x00000000, 0x0c00001e, 0x1e000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 310 */
+    0x00000000, 0x07ffffde, 0x000005f6, 0x50000000,
+    0x05480262, 0x10000a00, 0x00013000, 0x00000000,
+    } },
+    { { /* 311 */
+    0x00000000, 0x07ffffde, 0x000005f6, 0x50000000,
+    0x05480262, 0x10000a00, 0x00052000, 0x00000000,
+    } },
+    { { /* 312 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x143c278f, 0x143c278f,
+    } },
+    { { /* 313 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000100, 0x00000000,
+    } },
+    { { /* 314 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x02045301, 0x02045301,
+    } },
+    { { /* 315 */
+    0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+    0x00300000, 0x0c00c030, 0x03000000, 0x00000000,
+    } },
+    { { /* 316 */
+    0xfff987ee, 0xf325fdff, 0x00013987, 0x0001fff0,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 317 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x02041101, 0x02041101,
+    } },
+    { { /* 318 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00800000, 0x00000000, 0x00000000,
+    } },
+    { { /* 319 */
+    0x30000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00040000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 320 */
+    0x00000000, 0x07fffdd6, 0x000005f6, 0xec000000,
+    0x0200b4d9, 0x480a8640, 0x00000000, 0x00000000,
+    } },
+    { { /* 321 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00000002, 0x00000002,
+    } },
+    { { /* 322 */
+    0x00033000, 0x00000000, 0x00000c00, 0x600000c3,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 323 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x1850cc14, 0x1850cc14,
+    } },
+    { { /* 324 */
+    0xffff8f04, 0xffffffff, 0x8f04ffff, 0x00000000,
+    0x030c0000, 0x0c00cc0f, 0x03000000, 0x00000300,
+    } },
+    { { /* 325 */
+    0x00000000, 0x00800000, 0x03bffbaa, 0x03bffbaa,
+    0x00000000, 0x00000000, 0x00002202, 0x00002202,
+    } },
+    { { /* 326 */
+    0x00080000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 327 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xfc7e3fec, 0x2ffbffbf, 0x7f5f847f, 0x00040000,
+    } },
+    { { /* 328 */
+    0xff7fff7f, 0xff01ff7f, 0x3d7f3d7f, 0xffff7fff,
+    0xffff3d7f, 0x003d7fff, 0xff7f7f3d, 0x00ff7fff,
+    } },
+    { { /* 329 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x24182212, 0x24182212,
+    } },
+    { { /* 330 */
+    0x0000f000, 0x66000000, 0x00300180, 0x60000033,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 331 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00408030, 0x00408030,
+    } },
+    { { /* 332 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00020032, 0x00020032,
+    } },
+    { { /* 333 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00000016, 0x00000016,
+    } },
+    { { /* 334 */
+    0x00033000, 0x00000000, 0x00000c00, 0x60000003,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 335 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00200034, 0x00200034,
+    } },
+    { { /* 336 */
+    0x00033000, 0x00000000, 0x00000c00, 0x60000003,
+    0x00000000, 0x00800000, 0x00000000, 0x0000c3f0,
+    } },
+    { { /* 337 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00040000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 338 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00000880, 0x00000880,
+    } },
+    { { /* 339 */
+    0xfdff8f04, 0xfdff01ff, 0x8f0401ff, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 340 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x10400a33, 0x10400a33,
+    } },
+    { { /* 341 */
+    0xffff0000, 0xffff1fff, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 342 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0xd63dc7e8, 0xc3bfc718, 0x00803dc7, 0x00000000,
+    } },
+    { { /* 343 */
+    0xfffddfee, 0xc3effdff, 0x00603ddf, 0x00000003,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 344 */
+    0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+    0x0c0c0000, 0x00cc0000, 0x00000000, 0x0000c00c,
+    } },
+    { { /* 345 */
+    0xfffffffe, 0x87ffffff, 0x00007fff, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 346 */
+    0xff7fff7f, 0xff01ff00, 0x00003d7f, 0xffff7fff,
+    0x00ff0000, 0x003d7f7f, 0xff7f7f00, 0x00ff7f00,
+    } },
+    { { /* 347 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x30400090, 0x30400090,
+    } },
+    { { /* 348 */
+    0x00000000, 0x00000000, 0xc0000180, 0x60000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 349 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x18404084, 0x18404084,
+    } },
+    { { /* 350 */
+    0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
+    0x00c00000, 0x0c00c00c, 0x03000000, 0x00000000,
+    } },
+    { { /* 351 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00008000, 0x00008000,
+    } },
+    { { /* 352 */
+    0x00000000, 0x041ed5c0, 0x0000077e, 0x40000000,
+    0x01000040, 0x4000a000, 0x002109c0, 0x00000000,
+    } },
+    { { /* 353 */
+    0xffff00d0, 0xffffffff, 0x00d0ffff, 0x00000000,
+    0x00030000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 354 */
+    0x000c0000, 0x30000000, 0x00000c30, 0x00030000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 355 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x263c370f, 0x263c370f,
+    } },
+    { { /* 356 */
+    0x0003000c, 0x00000300, 0x00000000, 0x00000300,
+    0x00000000, 0x00018003, 0x00000000, 0x00000000,
+    } },
+    { { /* 357 */
+    0x0800024f, 0x00000008, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 358 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0xffffffff, 0xffffffff, 0x03ffffff,
+    } },
+    { { /* 359 */
+    0x00000000, 0x00000000, 0x077dfffe, 0x077dfffe,
+    0x00000000, 0x00000000, 0x10400010, 0x10400010,
+    } },
+    { { /* 360 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x10400010, 0x10400010,
+    } },
+    { { /* 361 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x081047a4, 0x081047a4,
+    } },
+    { { /* 362 */
+    0x0c0030c0, 0x00000000, 0x0f30001e, 0x66000003,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 363 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x000a0a09, 0x000a0a09,
+    } },
+    { { /* 364 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x00400810, 0x00400810,
+    } },
+    { { /* 365 */
+    0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
+    0x00000000, 0x00000000, 0x0e3c770f, 0x0e3c770f,
+    } },
+    { { /* 366 */
+    0x0c000000, 0x00000300, 0x00000018, 0x00000300,
+    0x00000000, 0x00000000, 0x001fe000, 0x03000000,
+    } },
+    { { /* 367 */
+    0x0000100f, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 368 */
+    0x00000000, 0xc0000000, 0x00000000, 0x0000000c,
+    0x00000000, 0x33000000, 0x00003000, 0x00000000,
+    } },
+    { { /* 369 */
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000280, 0x00000000,
+    } },
+    { { /* 370 */
+    0x7f7b7f8b, 0xef553db4, 0xf35dfba8, 0x400b0243,
+    0x8d3efb40, 0x8c2c7bf7, 0xe3fa6eff, 0xa8ed1d3a,
+    } },
+    { { /* 371 */
+    0xcf83e602, 0x35558cf5, 0xffabe048, 0xd85992b9,
+    0x2892ab18, 0x8020d7e9, 0xf583c438, 0x450ae74a,
+    } },
+    { { /* 372 */
+    0x9714b000, 0x54007762, 0x1420d188, 0xc8c01020,
+    0x00002121, 0x0c0413a8, 0x04408000, 0x082870c0,
+    } },
+    { { /* 373 */
+    0x000408c0, 0x80000002, 0x14722b7b, 0x3bfb7924,
+    0x1ae43327, 0x38ef9835, 0x28029ad1, 0xbf69a813,
+    } },
+    { { /* 374 */
+    0x2fc665cf, 0xafc96b11, 0x5053340f, 0xa00486a2,
+    0xe8090106, 0xc00e3f0f, 0x81450a88, 0xc6010010,
+    } },
+    { { /* 375 */
+    0x26e1a161, 0xce00444b, 0xd4eec7aa, 0x85bbcadf,
+    0xa5203a74, 0x8840436c, 0x8bd23f06, 0x3befff79,
+    } },
+    { { /* 376 */
+    0xe8eff75a, 0x5b36fbcb, 0x1bfd0d49, 0x39ee0154,
+    0x2e75d855, 0xa91abfd8, 0xf6bff3d7, 0xb40c67e0,
+    } },
+    { { /* 377 */
+    0x081382c2, 0xd08bd49d, 0x1061065a, 0x59e074f2,
+    0xb3128f9f, 0x6aaa0080, 0xb05e3230, 0x60ac9d7a,
+    } },
+    { { /* 378 */
+    0xc900d303, 0x8a563098, 0x13907000, 0x18421f14,
+    0x0008c060, 0x10808008, 0xec900400, 0xe6332817,
+    } },
+    { { /* 379 */
+    0x90000758, 0x4e09f708, 0xfc83f485, 0x18c8af53,
+    0x080c187c, 0x01146adf, 0xa734c80c, 0x2710a011,
+    } },
+    { { /* 380 */
+    0x422228c5, 0x00210413, 0x41123010, 0x40001820,
+    0xc60c022b, 0x10000300, 0x00220022, 0x02495810,
+    } },
+    { { /* 381 */
+    0x9670a094, 0x1792eeb0, 0x05f2cb96, 0x23580025,
+    0x42cc25de, 0x4a04cf38, 0x359f0c40, 0x8a001128,
+    } },
+    { { /* 382 */
+    0x910a13fa, 0x10560229, 0x04200641, 0x84f00484,
+    0x0c040000, 0x412c0400, 0x11541206, 0x00020a4b,
+    } },
+    { { /* 383 */
+    0x00c00200, 0x00940000, 0xbfbb0001, 0x242b167c,
+    0x7fa89bbb, 0xe3790c7f, 0xe00d10f4, 0x9f014132,
+    } },
+    { { /* 384 */
+    0x35728652, 0xff1210b4, 0x4223cf27, 0x8602c06b,
+    0x1fd33106, 0xa1aa3a0c, 0x02040812, 0x08012572,
+    } },
+    { { /* 385 */
+    0x485040cc, 0x601062d0, 0x29001c80, 0x00109a00,
+    0x22000004, 0x00800000, 0x68002020, 0x609ecbe6,
+    } },
+    { { /* 386 */
+    0x3f73916e, 0x398260c0, 0x48301034, 0xbd5c0006,
+    0xd6fb8cd1, 0x43e820e1, 0x084e0600, 0xc4d00500,
+    } },
+    { { /* 387 */
+    0x89aa8d1f, 0x1602a6e1, 0x21ed0001, 0x1a8b3656,
+    0x13a51fb7, 0x30a06502, 0x23c7b278, 0xe9226c93,
+    } },
+    { { /* 388 */
+    0x3a74e47f, 0x98208fe3, 0x2625280e, 0xbf49bf9c,
+    0xac543218, 0x1916b949, 0xb5220c60, 0x0659fbc1,
+    } },
+    { { /* 389 */
+    0x8420e343, 0x800008d9, 0x20225500, 0x00a10184,
+    0x20104800, 0x40801380, 0x00160d04, 0x80200040,
+    } },
+    { { /* 390 */
+    0x8de7fd40, 0xe0985436, 0x091e7b8b, 0xd249fec8,
+    0x8dee0611, 0xba221937, 0x9fdd77f4, 0xf0daf3ec,
+    } },
+    { { /* 391 */
+    0xec424386, 0x26048d3f, 0xc021fa6c, 0x0cc2628e,
+    0x0145d785, 0x559977ad, 0x4045e250, 0xa154260b,
+    } },
+    { { /* 392 */
+    0x58199827, 0xa4103443, 0x411405f2, 0x07002280,
+    0x426600b4, 0x15a17210, 0x41856025, 0x00000054,
+    } },
+    { { /* 393 */
+    0x01040201, 0xcb70c820, 0x6a629320, 0x0095184c,
+    0x9a8b1880, 0x3201aab2, 0x00c4d87a, 0x04c3f3e5,
+    } },
+    { { /* 394 */
+    0xa238d44d, 0x5072a1a1, 0x84fc980a, 0x44d1c152,
+    0x20c21094, 0x42104180, 0x3a000000, 0xd29d0240,
+    } },
+    { { /* 395 */
+    0xa8b12f01, 0x2432bd40, 0xd04bd34d, 0xd0ada723,
+    0x75a10a92, 0x01e9adac, 0x771f801a, 0xa01b9225,
+    } },
+    { { /* 396 */
+    0x20cadfa1, 0x738c0602, 0x003b577f, 0x00d00bff,
+    0x0088806a, 0x0029a1c4, 0x05242a05, 0x16234009,
+    } },
+    { { /* 397 */
+    0x80056822, 0xa2112011, 0x64900004, 0x13824849,
+    0x193023d5, 0x08922980, 0x88115402, 0xa0042001,
+    } },
+    { { /* 398 */
+    0x81800400, 0x60228502, 0x0b010090, 0x12020022,
+    0x00834011, 0x00001a01, 0x00000000, 0x00000000,
+    } },
+    { { /* 399 */
+    0x00000000, 0x4684009f, 0x020012c8, 0x1a0004fc,
+    0x0c4c2ede, 0x80b80402, 0x0afca826, 0x22288c02,
+    } },
+    { { /* 400 */
+    0x8f7ba0e0, 0x2135c7d6, 0xf8b106c7, 0x62550713,
+    0x8a19936e, 0xfb0e6efa, 0x48f91630, 0x7debcd2f,
+    } },
+    { { /* 401 */
+    0x4e845892, 0x7a2e4ca0, 0x561eedea, 0x1190c649,
+    0xe83a5324, 0x8124cfdb, 0x634218f1, 0x1a8a5853,
+    } },
+    { { /* 402 */
+    0x24d37420, 0x0514aa3b, 0x89586018, 0xc0004800,
+    0x91018268, 0x2cd684a4, 0xc4ba8886, 0x02100377,
+    } },
+    { { /* 403 */
+    0x00388244, 0x404aae11, 0x510028c0, 0x15146044,
+    0x10007310, 0x02480082, 0x40060205, 0x0000c003,
+    } },
+    { { /* 404 */
+    0x0c020000, 0x02200008, 0x40009000, 0xd161b800,
+    0x32744621, 0x3b8af800, 0x8b00050f, 0x2280bbd0,
+    } },
+    { { /* 405 */
+    0x07690600, 0x00438040, 0x50005420, 0x250c41d0,
+    0x83108410, 0x02281101, 0x00304008, 0x020040a1,
+    } },
+    { { /* 406 */
+    0x20000040, 0xabe31500, 0xaa443180, 0xc624c2c6,
+    0x8004ac13, 0x03d1b000, 0x4285611e, 0x1d9ff303,
+    } },
+    { { /* 407 */
+    0x78e8440a, 0xc3925e26, 0x00852000, 0x4000b001,
+    0x88424a90, 0x0c8dca04, 0x4203a705, 0x000422a1,
+    } },
+    { { /* 408 */
+    0x0c018668, 0x10795564, 0xdea00002, 0x40c12000,
+    0x5001488b, 0x04000380, 0x50040000, 0x80d0c05d,
+    } },
+    { { /* 409 */
+    0x970aa010, 0x4dafbb20, 0x1e10d921, 0x83140460,
+    0xa6d68848, 0x733fd83b, 0x497427bc, 0x92130ddc,
+    } },
+    { { /* 410 */
+    0x8ba1142b, 0xd1392e75, 0x50503009, 0x69008808,
+    0x024a49d4, 0x80164010, 0x89d7e564, 0x5316c020,
+    } },
+    { { /* 411 */
+    0x86002b92, 0x15e0a345, 0x0c03008b, 0xe200196e,
+    0x80067031, 0xa82916a5, 0x18802000, 0xe1487aac,
+    } },
+    { { /* 412 */
+    0xb5d63207, 0x5f9132e8, 0x20e550a1, 0x10807c00,
+    0x9d8a7280, 0x421f00aa, 0x02310e22, 0x04941100,
+    } },
+    { { /* 413 */
+    0x40080022, 0x5c100010, 0xfcc80343, 0x0580a1a5,
+    0x04008433, 0x6e080080, 0x81262a4b, 0x2901aad8,
+    } },
+    { { /* 414 */
+    0x4490684d, 0xba880009, 0x00820040, 0x87d10000,
+    0xb1e6215b, 0x80083161, 0xc2400800, 0xa600a069,
+    } },
+    { { /* 415 */
+    0x4a328d58, 0x550a5d71, 0x2d579aa0, 0x4aa64005,
+    0x30b12021, 0x01123fc6, 0x260a10c2, 0x50824462,
+    } },
+    { { /* 416 */
+    0x80409880, 0x810004c0, 0x00002003, 0x38180000,
+    0xf1a60200, 0x720e4434, 0x92e035a2, 0x09008101,
+    } },
+    { { /* 417 */
+    0x00000400, 0x00008885, 0x00000000, 0x00804000,
+    0x00000000, 0x00004040, 0x00000000, 0x00000000,
+    } },
+    { { /* 418 */
+    0x00000000, 0x08000000, 0x00000082, 0x00000000,
+    0x88000004, 0xe7efbfff, 0xffbfffff, 0xfdffefef,
+    } },
+    { { /* 419 */
+    0xbffefbff, 0x057fffff, 0x85b30034, 0x42164706,
+    0xe4105402, 0xb3058092, 0x81305422, 0x180b4263,
+    } },
+    { { /* 420 */
+    0x13f5387b, 0xa9ea07e5, 0x05143c4c, 0x80020600,
+    0xbd481ad9, 0xf496ee37, 0x7ec0705f, 0x355fbfb2,
+    } },
+    { { /* 421 */
+    0x455fe644, 0x41469000, 0x063b1d40, 0xfe1362a1,
+    0x39028505, 0x0c080548, 0x0000144f, 0x58183488,
+    } },
+    { { /* 422 */
+    0xd8153077, 0x4bfbbd0e, 0x85008a90, 0xe61dc100,
+    0xb386ed14, 0x639bff72, 0xd9befd92, 0x0a92887b,
+    } },
+    { { /* 423 */
+    0x1cb2d3fe, 0x177ab980, 0xdc1782c9, 0x3980fffb,
+    0x590c4260, 0x37df0f01, 0xb15094a3, 0x23070623,
+    } },
+    { { /* 424 */
+    0x3102f85a, 0x310201f0, 0x1e820040, 0x056a3a0a,
+    0x12805b84, 0xa7148002, 0xa04b2612, 0x90011069,
+    } },
+    { { /* 425 */
+    0x848a1000, 0x3f801802, 0x42400708, 0x4e140110,
+    0x180080b0, 0x0281c510, 0x10298202, 0x88000210,
+    } },
+    { { /* 426 */
+    0x00420020, 0x11000280, 0x4413e000, 0xfe025804,
+    0x30283c07, 0x04739798, 0xcb13ced1, 0x431f6210,
+    } },
+    { { /* 427 */
+    0x55ac278d, 0xc892422e, 0x02885380, 0x78514039,
+    0x8088292c, 0x2428b900, 0x080e0c41, 0x42004421,
+    } },
+    { { /* 428 */
+    0x08680408, 0x12040006, 0x02903031, 0xe0855b3e,
+    0x10442936, 0x10822814, 0x83344266, 0x531b013c,
+    } },
+    { { /* 429 */
+    0x0e0d0404, 0x00510c22, 0xc0000012, 0x88000040,
+    0x0000004a, 0x00000000, 0x5447dff6, 0x00088868,
+    } },
+    { { /* 430 */
+    0x00000081, 0x40000000, 0x00000100, 0x02000000,
+    0x00080600, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 431 */
+    0x00000080, 0x00000040, 0x00000000, 0x00001040,
+    0x00000000, 0xf7fdefff, 0xfffeff7f, 0xfffffbff,
+    } },
+    { { /* 432 */
+    0xbffffdff, 0x00ffffff, 0x042012c2, 0x07080c06,
+    0x01101624, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 433 */
+    0xe0000000, 0xfffffffe, 0x7f79ffff, 0x00f928df,
+    0x80120c32, 0xd53a0008, 0xecc2d858, 0x2fa89d18,
+    } },
+    { { /* 434 */
+    0xe0109620, 0x2622d60c, 0x02060f97, 0x9055b240,
+    0x501180a2, 0x04049800, 0x00004000, 0x00000000,
+    } },
+    { { /* 435 */
+    0x00000000, 0x00000000, 0x00000000, 0xfffffbc0,
+    0xdffbeffe, 0x62430b08, 0xfb3b41b6, 0x23896f74,
+    } },
+    { { /* 436 */
+    0xecd7ae7f, 0x5960e047, 0x098fa096, 0xa030612c,
+    0x2aaa090d, 0x4f7bd44e, 0x388bc4b2, 0x6110a9c6,
+    } },
+    { { /* 437 */
+    0x42000014, 0x0202800c, 0x6485fe48, 0xe3f7d63e,
+    0x0c073aa0, 0x0430e40c, 0x1002f680, 0x00000000,
+    } },
+    { { /* 438 */
+    0x00000000, 0x00000000, 0x00000000, 0x00100000,
+    0x00004000, 0x00004000, 0x00000100, 0x00000000,
+    } },
+    { { /* 439 */
+    0x00000000, 0x40000000, 0x00000000, 0x00000400,
+    0x00008000, 0x00000000, 0x00400400, 0x00000000,
+    } },
+    { { /* 440 */
+    0x00000000, 0x40000000, 0x00000000, 0x00000800,
+    0xfebdffe0, 0xffffffff, 0xfbe77f7f, 0xf7ffffbf,
+    } },
+    { { /* 441 */
+    0xefffffff, 0xdff7ff7e, 0xfbdff6f7, 0x804fbffe,
+    0x00000000, 0x00000000, 0x00000000, 0x7fffef00,
+    } },
+    { { /* 442 */
+    0xb6f7ff7f, 0xb87e4406, 0x88313bf5, 0x00f41796,
+    0x1391a960, 0x72490080, 0x0024f2f3, 0x42c88701,
+    } },
+    { { /* 443 */
+    0x5048e3d3, 0x43052400, 0x4a4c0000, 0x10580227,
+    0x01162820, 0x0014a809, 0x00000000, 0x00683ec0,
+    } },
+    { { /* 444 */
+    0x00000000, 0x00000000, 0x00000000, 0xffe00000,
+    0xfddbb7ff, 0x000000f7, 0xc72e4000, 0x00000180,
+    } },
+    { { /* 445 */
+    0x00012000, 0x00004000, 0x00300000, 0xb4f7ffa8,
+    0x03ffadf3, 0x00000120, 0x00000000, 0x00000000,
+    } },
+    { { /* 446 */
+    0x00000000, 0x00000000, 0x00000000, 0xfffbf000,
+    0xfdcf9df7, 0x15c301bf, 0x810a1827, 0x0a00a842,
+    } },
+    { { /* 447 */
+    0x80088108, 0x18048008, 0x0012a3be, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 448 */
+    0x00000000, 0x00000000, 0x00000000, 0x90000000,
+    0xdc3769e6, 0x3dff6bff, 0xf3f9fcf8, 0x00000004,
+    } },
+    { { /* 449 */
+    0x80000000, 0xe7eebf6f, 0x5da2dffe, 0xc00b3fd8,
+    0xa00c0984, 0x69100040, 0xb912e210, 0x5a0086a5,
+    } },
+    { { /* 450 */
+    0x02896800, 0x6a809005, 0x00030010, 0x80000000,
+    0x8e001ff9, 0x00000001, 0x00000000, 0x00000000,
+    } },
+    { { /* 451 */
+    0x14000010, 0xa0c09512, 0x0c000200, 0x01000400,
+    0x050002a3, 0x98800009, 0x00004000, 0x01004c00,
+    } },
+    { { /* 452 */
+    0x04800008, 0x02840300, 0x00000824, 0x00040000,
+    0x00000400, 0x20010904, 0x00001100, 0x22050030,
+    } },
+    { { /* 453 */
+    0x00000108, 0x08104000, 0x01400000, 0x00001040,
+    0x00010102, 0x10000040, 0x82012000, 0x10100002,
+    } },
+    { { /* 454 */
+    0x00006002, 0x00000800, 0x00400000, 0x02100401,
+    0x14400144, 0x013c4980, 0x880e8288, 0x50102014,
+    } },
+    { { /* 455 */
+    0x80000824, 0x101000c1, 0x02800000, 0x02080101,
+    0x04118000, 0x02200112, 0x00031020, 0x02000003,
+    } },
+    { { /* 456 */
+    0x00000002, 0x090c1090, 0xa0004004, 0x60102290,
+    0x00080000, 0x00414f45, 0x07071026, 0x40c00001,
+    } },
+    { { /* 457 */
+    0x04580000, 0x0014800a, 0x00002800, 0x00002600,
+    0x50988020, 0x02140018, 0x04013800, 0x00008008,
+    } },
+    { { /* 458 */
+    0x41082004, 0x80000928, 0x20080280, 0x020e0a00,
+    0x00010040, 0x16110200, 0x41800002, 0x08231400,
+    } },
+    { { /* 459 */
+    0x40020020, 0x0080202f, 0x2015a008, 0x1c000002,
+    0xc0040e00, 0x82028012, 0x00400000, 0x2002a004,
+    } },
+    { { /* 460 */
+    0x20200001, 0xa0040000, 0x8890004c, 0xc4000080,
+    0x10012500, 0x48100482, 0x60800110, 0x40008040,
+    } },
+    { { /* 461 */
+    0x00040008, 0x04000044, 0x90000091, 0x000c1200,
+    0x06040000, 0x08610480, 0x10010800, 0x080d0001,
+    } },
+    { { /* 462 */
+    0x800204b4, 0x00140000, 0x00000000, 0x00200020,
+    0x84100200, 0x01811000, 0x02000210, 0x03018800,
+    } },
+    { { /* 463 */
+    0x04042804, 0x20001c92, 0x02100020, 0x4202490a,
+    0x02420146, 0x00000803, 0x0008c008, 0x44050010,
+    } },
+    { { /* 464 */
+    0x80222000, 0x00000800, 0x00008452, 0x10502140,
+    0xe0410005, 0x00000400, 0x00a00008, 0x80080000,
+    } },
+    { { /* 465 */
+    0x50180020, 0x00000009, 0x40080600, 0x00000000,
+    0x56000020, 0x04000000, 0x00020006, 0x00208220,
+    } },
+    { { /* 466 */
+    0x01210000, 0x40009000, 0x08c00140, 0x08110000,
+    0x00004820, 0x02400810, 0x08800002, 0x00200000,
+    } },
+    { { /* 467 */
+    0x00040a00, 0x00004000, 0x40000104, 0x84000000,
+    0x02040048, 0x20000000, 0x00012000, 0x1b100000,
+    } },
+    { { /* 468 */
+    0x00007000, 0x04000020, 0x10032000, 0x0804000a,
+    0x00000008, 0x04020090, 0x88000014, 0x00000000,
+    } },
+    { { /* 469 */
+    0x00000000, 0x08020008, 0x00040400, 0x40a00000,
+    0x40000000, 0x00080090, 0x40800000, 0x20000388,
+    } },
+    { { /* 470 */
+    0x02001080, 0x20010004, 0x12010004, 0x20008011,
+    0x13200082, 0x02800000, 0x04098001, 0x00000004,
+    } },
+    { { /* 471 */
+    0x00000000, 0x02801000, 0x00001000, 0x00000100,
+    0x20010024, 0x00000050, 0x80200028, 0x00000020,
+    } },
+    { { /* 472 */
+    0x01000000, 0x00a24000, 0x00000000, 0x82001010,
+    0x00000800, 0x02000000, 0x40020002, 0x59000044,
+    } },
+    { { /* 473 */
+    0x00000080, 0x0d040000, 0x04000000, 0x10020000,
+    0x00022000, 0x00508000, 0x20080001, 0x000004a2,
+    } },
+    { { /* 474 */
+    0xc0020400, 0x00310000, 0x80002000, 0x00002800,
+    0x00000b60, 0x40200000, 0x00120000, 0x80000009,
+    } },
+    { { /* 475 */
+    0x41000000, 0x00010008, 0x00880910, 0x20080888,
+    0x04044020, 0x80482010, 0x00006000, 0x00020000,
+    } },
+    { { /* 476 */
+    0x42405004, 0x00400020, 0x00000010, 0x00000886,
+    0x00008000, 0x80021011, 0x00c00000, 0x42000000,
+    } },
+    { { /* 477 */
+    0x4801201f, 0x40c00004, 0x20600480, 0x00000020,
+    0x01000110, 0x22400040, 0x00000428, 0x00000000,
+    } },
+    { { /* 478 */
+    0x0f00020f, 0x40401000, 0x00200048, 0x000c0092,
+    0x81000421, 0x00040004, 0x00620001, 0x06000202,
+    } },
+    { { /* 479 */
+    0x14001808, 0x00083800, 0x008c1028, 0x04120028,
+    0x22008404, 0x40260880, 0x01100700, 0x00400000,
+    } },
+    { { /* 480 */
+    0x20000020, 0x00200000, 0x00840000, 0x04108000,
+    0x00000002, 0x00000000, 0x10000002, 0x04000402,
+    } },
+    { { /* 481 */
+    0x10000000, 0x26a20000, 0x05000200, 0x82204000,
+    0x80000000, 0x00048404, 0x80004800, 0x80000400,
+    } },
+    { { /* 482 */
+    0x00000064, 0x00000050, 0x18804000, 0x00060000,
+    0x00408002, 0x02020030, 0x00000000, 0x40000000,
+    } },
+    { { /* 483 */
+    0x01208414, 0x00000600, 0x02018000, 0x10400000,
+    0x04000840, 0x09200000, 0x2e000000, 0x04000304,
+    } },
+    { { /* 484 */
+    0x00c01810, 0x20100010, 0x10400010, 0x02100000,
+    0xa0000402, 0x48200000, 0x06080000, 0x01400000,
+    } },
+    { { /* 485 */
+    0x40000008, 0x00001000, 0x10112800, 0xc2a09080,
+    0x00008a02, 0x3a0000e9, 0x80611011, 0x40220000,
+    } },
+    { { /* 486 */
+    0x20000020, 0x48381a00, 0x00028421, 0x54ea0800,
+    0x01425100, 0x0490200c, 0x20020000, 0x00600800,
+    } },
+    { { /* 487 */
+    0x00e0c201, 0x00004810, 0x10a10001, 0x00000040,
+    0x80108084, 0x00042000, 0x00002000, 0x00000004,
+    } },
+    { { /* 488 */
+    0x00010014, 0x03005d00, 0x00008102, 0x00120000,
+    0x51009000, 0x04000480, 0x0021c200, 0x0a888056,
+    } },
+    { { /* 489 */
+    0xd2b60004, 0x13800000, 0x204803a8, 0x04501921,
+    0x0a003004, 0x02100010, 0x00091100, 0x01070080,
+    } },
+    { { /* 490 */
+    0x42004020, 0x08300000, 0x002a2444, 0x04046081,
+    0x40046008, 0x00120000, 0x10000108, 0x00000000,
+    } },
+    { { /* 491 */
+    0x00000084, 0x08001000, 0x0012e001, 0x045880c0,
+    0x00010000, 0x00800022, 0x02401000, 0x00000000,
+    } },
+    { { /* 492 */
+    0x4000d000, 0x00000850, 0x01000009, 0x0d840000,
+    0x01080000, 0x42008000, 0x20000828, 0x40100040,
+    } },
+    { { /* 493 */
+    0x51000100, 0x32000000, 0x001a0894, 0x04000040,
+    0x00002102, 0x03428000, 0x018c0080, 0x00234010,
+    } },
+    { { /* 494 */
+    0x00000040, 0x185c4000, 0x03000000, 0x40020004,
+    0xa20200c9, 0x00000220, 0x00101050, 0x00120004,
+    } },
+    { { /* 495 */
+    0x00000040, 0x44002400, 0x00000228, 0x20000020,
+    0x000a0008, 0x18010000, 0x3c08830c, 0x40000684,
+    } },
+    { { /* 496 */
+    0x80101800, 0x02000280, 0x0020000c, 0x08009004,
+    0x00040000, 0x0004000c, 0x00018000, 0x14001000,
+    } },
+    { { /* 497 */
+    0x08240000, 0x00200000, 0x20420014, 0x58112000,
+    0x10004048, 0x010050c0, 0x0408228c, 0x12282040,
+    } },
+    { { /* 498 */
+    0x00000000, 0x00000020, 0x24002000, 0x00000000,
+    0x00800a00, 0x00080910, 0x1019a000, 0x60200030,
+    } },
+    { { /* 499 */
+    0x00000080, 0x00000080, 0x08000000, 0x800050a0,
+    0x80044000, 0x04001010, 0x80008080, 0x00000000,
+    } },
+    { { /* 500 */
+    0x00000040, 0x00800000, 0x000c4283, 0x01020000,
+    0x00888000, 0x00104008, 0x20000000, 0x04000080,
+    } },
+    { { /* 501 */
+    0x20000104, 0x1802c021, 0x08100000, 0x0000004e,
+    0x80000001, 0x30c00080, 0x00000040, 0x00401200,
+    } },
+    { { /* 502 */
+    0x04945288, 0x00940400, 0x06400104, 0x10002000,
+    0x00080010, 0x00400420, 0x00000102, 0x00408010,
+    } },
+    { { /* 503 */
+    0x05000000, 0x40002240, 0x00100000, 0x0e400024,
+    0x00000080, 0x80000440, 0x01018410, 0xb1804004,
+    } },
+    { { /* 504 */
+    0x25000800, 0x20000000, 0x00800000, 0x0000804c,
+    0x10020020, 0x42001000, 0x00082000, 0x00002000,
+    } },
+    { { /* 505 */
+    0x11500020, 0x40004053, 0x11280500, 0x80060014,
+    0x004c0101, 0x60002008, 0x44000000, 0x01000036,
+    } },
+    { { /* 506 */
+    0x00010028, 0x01180000, 0x84041804, 0x00098000,
+    0x00800000, 0x00000000, 0x00400002, 0x10004001,
+    } },
+    { { /* 507 */
+    0x0051a004, 0x00008100, 0x00000024, 0x40041000,
+    0x00040000, 0x00042001, 0x00000000, 0x00008000,
+    } },
+    { { /* 508 */
+    0x00000000, 0x00000000, 0x00000000, 0x20030000,
+    0x00001840, 0x00020220, 0x04404002, 0x00204000,
+    } },
+    { { /* 509 */
+    0x01008010, 0x00002080, 0x40008064, 0x00004031,
+    0x10018090, 0x80304001, 0x000080a0, 0x80200040,
+    } },
+    { { /* 510 */
+    0x00000001, 0x00000010, 0x00102088, 0x00800020,
+    0x00120681, 0x100002a0, 0x00000042, 0x00000080,
+    } },
+    { { /* 511 */
+    0x10000000, 0x21000a00, 0x00000200, 0x40000080,
+    0x10110000, 0x00108200, 0x04000000, 0x00000400,
+    } },
+    { { /* 512 */
+    0x80001000, 0x80002000, 0x40003008, 0x00000204,
+    0x0801000a, 0x40000001, 0x00000000, 0x00000004,
+    } },
+    { { /* 513 */
+    0x00000000, 0x00000000, 0x00020000, 0x00000000,
+    0x88000000, 0x00002000, 0x08502000, 0x00840a00,
+    } },
+    { { /* 514 */
+    0x31061808, 0x00000000, 0x00000000, 0x04000000,
+    0x00000004, 0x00000240, 0x00100009, 0x00000000,
+    } },
+    { { /* 515 */
+    0x00004002, 0x04002500, 0x00008040, 0x40a20100,
+    0x00000001, 0x12412080, 0x04004008, 0x00042014,
+    } },
+    { { /* 516 */
+    0x02000000, 0x00012000, 0x10000402, 0x000040c0,
+    0x00080000, 0x5fe800a1, 0x04019402, 0x02000000,
+    } },
+    { { /* 517 */
+    0x00040100, 0x00880000, 0x00401000, 0x00001012,
+    0x00000000, 0x08004100, 0x00000010, 0x00000000,
+    } },
+    { { /* 518 */
+    0x00000000, 0x00000000, 0x52020000, 0x10410080,
+    0x00005000, 0x08400200, 0x80400010, 0x44400020,
+    } },
+    { { /* 519 */
+    0x00084100, 0x10200d02, 0xa1200012, 0x00804804,
+    0x00008212, 0xc6024000, 0x08100000, 0x205c1828,
+    } },
+    { { /* 520 */
+    0x00000088, 0x00031000, 0x8000013f, 0x21184b44,
+    0x100100f2, 0xa9002001, 0x08080840, 0x001b0001,
+    } },
+    { { /* 521 */
+    0x28800112, 0x400020f0, 0x0910200c, 0x0a0010a0,
+    0x80000020, 0x00000004, 0x1000000a, 0x00400000,
+    } },
+    { { /* 522 */
+    0x00000000, 0x00002000, 0x00000080, 0x81000000,
+    0x02c00020, 0x000004c5, 0x00000000, 0x00100100,
+    } },
+    { { /* 523 */
+    0x20000000, 0x01080000, 0x00400022, 0x08000200,
+    0x00408002, 0x20400028, 0x00000000, 0x00100000,
+    } },
+    { { /* 524 */
+    0x08000008, 0x00420002, 0xa0a20003, 0x00022000,
+    0x88000280, 0x65160000, 0x00040105, 0x00244041,
+    } },
+    { { /* 525 */
+    0x80300000, 0x00184008, 0x00000880, 0x00201140,
+    0x00000000, 0x02900000, 0x50004588, 0x00221043,
+    } },
+    { { /* 526 */
+    0x12004000, 0x0b800000, 0x20002405, 0x0000000c,
+    0x08000000, 0x11000410, 0x04000030, 0x00200043,
+    } },
+    { { /* 527 */
+    0x80011000, 0x18008042, 0x11000000, 0x00001008,
+    0x00008000, 0x24440000, 0x00800000, 0x80100005,
+    } },
+    { { /* 528 */
+    0x00108204, 0x02102400, 0x00010001, 0x80000200,
+    0xa080e80a, 0x00010000, 0x20008000, 0x80122200,
+    } },
+    { { /* 529 */
+    0x88211404, 0x04208041, 0x20088020, 0x18040000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 530 */
+    0x00401004, 0x02100002, 0x40014210, 0x50006000,
+    0x00080008, 0x20000820, 0x00100211, 0x10000000,
+    } },
+    { { /* 531 */
+    0x91005400, 0x00000000, 0x00000000, 0x08000000,
+    0x41610032, 0xa0029d44, 0x000000d2, 0x41020004,
+    } },
+    { { /* 532 */
+    0x00800104, 0x020000c0, 0x04090030, 0x80000204,
+    0x82004000, 0x00000020, 0x00000000, 0x00000000,
+    } },
+    { { /* 533 */
+    0x00000000, 0x00000000, 0x00000080, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 534 */
+    0xc373ff8b, 0x1b0f6840, 0xf34ce9ac, 0xc0080200,
+    0xca3e795c, 0x06487976, 0xf7f02fdf, 0xa8ff033a,
+    } },
+    { { /* 535 */
+    0x233fef37, 0xfd59b004, 0xfffff3ca, 0xfff9de9f,
+    0x7df7abff, 0x8eecc000, 0xffdbeebf, 0x45fad003,
+    } },
+    { { /* 536 */
+    0xdffefae1, 0x10abbfef, 0xfcaaffeb, 0x24fdef3f,
+    0x7f7678ad, 0xedfff00c, 0x2cfacff6, 0xeb6bf7f9,
+    } },
+    { { /* 537 */
+    0x95bf1ffd, 0xbfbf6677, 0xfeb43bfb, 0x11e27bae,
+    0x41bea681, 0x72c31435, 0x71917d70, 0x276b0003,
+    } },
+    { { /* 538 */
+    0x70cf57cb, 0x0def4732, 0xfc747eda, 0xbdb4fe06,
+    0x8bca3f9f, 0x58007e49, 0xebec228f, 0xddbb8a5c,
+    } },
+    { { /* 539 */
+    0xb6e7ef60, 0xf293a40f, 0x549e37bb, 0x9bafd04b,
+    0xf7d4c414, 0x0a1430b0, 0x88d02f08, 0x192fff7e,
+    } },
+    { { /* 540 */
+    0xfb07ffda, 0x7beb7ff1, 0x0010c5ef, 0xfdff99ff,
+    0x056779d7, 0xfdcbffe7, 0x4040c3ff, 0xbd8e6ff7,
+    } },
+    { { /* 541 */
+    0x0497dffa, 0x5bfff4c0, 0xd0e7ed7b, 0xf8e0047e,
+    0xb73eff9f, 0x882e7dfe, 0xbe7ffffd, 0xf6c483fe,
+    } },
+    { { /* 542 */
+    0xb8fdf357, 0xef7dd680, 0x47885767, 0xc3dfff7d,
+    0x37a9f0ff, 0x70fc7de0, 0xec9a3f6f, 0x86814cb3,
+    } },
+    { { /* 543 */
+    0xdd5c3f9e, 0x4819f70d, 0x0007fea3, 0x38ffaf56,
+    0xefb8980d, 0xb760403d, 0x9035d8ce, 0x3fff72bf,
+    } },
+    { { /* 544 */
+    0x7a117ff7, 0xabfff7bb, 0x6fbeff00, 0xfe72a93c,
+    0xf11bcfef, 0xf40adb6b, 0xef7ec3e6, 0xf6109b9c,
+    } },
+    { { /* 545 */
+    0x16f4f048, 0x5182feb5, 0x15bbc7b1, 0xfbdf6e87,
+    0x63cde43f, 0x7e7ec1ff, 0x7d5ffdeb, 0xfcfe777b,
+    } },
+    { { /* 546 */
+    0xdbea960b, 0x53e86229, 0xfdef37df, 0xbd8136f5,
+    0xfcbddc18, 0xffffd2e4, 0xffe03fd7, 0xabf87f6f,
+    } },
+    { { /* 547 */
+    0x6ed99bae, 0xf115f5fb, 0xbdfb79a9, 0xadaf5a3c,
+    0x1facdbba, 0x837971fc, 0xc35f7cf7, 0x0567dfff,
+    } },
+    { { /* 548 */
+    0x8467ff9a, 0xdf8b1534, 0x3373f9f3, 0x5e1af7bd,
+    0xa03fbf40, 0x01ebffff, 0xcfdddfc0, 0xabd37500,
+    } },
+    { { /* 549 */
+    0xeed6f8c3, 0xb7ff43fd, 0x42275eaf, 0xf6869bac,
+    0xf6bc27d7, 0x35b7f787, 0xe176aacd, 0xe29f49e7,
+    } },
+    { { /* 550 */
+    0xaff2545c, 0x61d82b3f, 0xbbb8fc3b, 0x7b7dffcf,
+    0x1ce0bf95, 0x43ff7dfd, 0xfffe5ff6, 0xc4ced3ef,
+    } },
+    { { /* 551 */
+    0xadbc8db6, 0x11eb63dc, 0x23d0df59, 0xf3dbbeb4,
+    0xdbc71fe7, 0xfae4ff63, 0x63f7b22b, 0xadbaed3b,
+    } },
+    { { /* 552 */
+    0x7efffe01, 0x02bcfff7, 0xef3932ff, 0x8005fffc,
+    0xbcf577fb, 0xfff7010d, 0xbf3afffb, 0xdfff0057,
+    } },
+    { { /* 553 */
+    0xbd7def7b, 0xc8d4db88, 0xed7cfff3, 0x56ff5dee,
+    0xac5f7e0d, 0xd57fff96, 0xc1403fee, 0xffe76ff9,
+    } },
+    { { /* 554 */
+    0x8e77779b, 0xe45d6ebf, 0x5f1f6fcf, 0xfedfe07f,
+    0x01fed7db, 0xfb7bff00, 0x1fdfffd4, 0xfffff800,
+    } },
+    { { /* 555 */
+    0x007bfb8f, 0x7f5cbf00, 0x07f3ffff, 0x3de7eba0,
+    0xfbd7f7bf, 0x6003ffbf, 0xbfedfffd, 0x027fefbb,
+    } },
+    { { /* 556 */
+    0xddfdfe40, 0xe2f9fdff, 0xfb1f680b, 0xaffdfbe3,
+    0xf7ed9fa4, 0xf80f7a7d, 0x0fd5eebe, 0xfd9fbb5d,
+    } },
+    { { /* 557 */
+    0x3bf9f2db, 0xebccfe7f, 0x73fa876a, 0x9ffc95fc,
+    0xfaf7109f, 0xbbcdddb7, 0xeccdf87e, 0x3c3ff366,
+    } },
+    { { /* 558 */
+    0xb03ffffd, 0x067ee9f7, 0xfe0696ae, 0x5fd7d576,
+    0xa3f33fd1, 0x6fb7cf07, 0x7f449fd1, 0xd3dd7b59,
+    } },
+    { { /* 559 */
+    0xa9bdaf3b, 0xff3a7dcf, 0xf6ebfbe0, 0xffffb401,
+    0xb7bf7afa, 0x0ffdc000, 0xff1fff7f, 0x95fffefc,
+    } },
+    { { /* 560 */
+    0xb5dc0000, 0x3f3eef63, 0x001bfb7f, 0xfbf6e800,
+    0xb8df9eef, 0x003fff9f, 0xf5ff7bd0, 0x3fffdfdb,
+    } },
+    { { /* 561 */
+    0x00bffdf0, 0xbbbd8420, 0xffdedf37, 0x0ff3ff6d,
+    0x5efb604c, 0xfafbfffb, 0x0219fe5e, 0xf9de79f4,
+    } },
+    { { /* 562 */
+    0xebfaa7f7, 0xff3401eb, 0xef73ebd3, 0xc040afd7,
+    0xdcff72bb, 0x2fd8f17f, 0xfe0bb8ec, 0x1f0bdda3,
+    } },
+    { { /* 563 */
+    0x47cf8f1d, 0xffdeb12b, 0xda737fee, 0xcbc424ff,
+    0xcbf2f75d, 0xb4edecfd, 0x4dddbff9, 0xfb8d99dd,
+    } },
+    { { /* 564 */
+    0xaf7bbb7f, 0xc959ddfb, 0xfab5fc4f, 0x6d5fafe3,
+    0x3f7dffff, 0xffdb7800, 0x7effb6ff, 0x022ffbaf,
+    } },
+    { { /* 565 */
+    0xefc7ff9b, 0xffffffa5, 0xc7000007, 0xfff1f7ff,
+    0x01bf7ffd, 0xfdbcdc00, 0xffffbff5, 0x3effff7f,
+    } },
+    { { /* 566 */
+    0xbe000029, 0xff7ff9ff, 0xfd7e6efb, 0x039ecbff,
+    0xfbdde300, 0xf6dfccff, 0x117fffff, 0xfbf6f800,
+    } },
+    { { /* 567 */
+    0xd73ce7ef, 0xdfeffeef, 0xedbfc00b, 0xfdcdfedf,
+    0x40fd7bf5, 0xb75fffff, 0xf930ffdf, 0xdc97fbdf,
+    } },
+    { { /* 568 */
+    0xbff2fef3, 0xdfbf8fdf, 0xede6177f, 0x35530f7f,
+    0x877e447c, 0x45bbfa12, 0x779eede0, 0xbfd98017,
+    } },
+    { { /* 569 */
+    0xde897e55, 0x0447c16f, 0xf75d7ade, 0x290557ff,
+    0xfe9586f7, 0xf32f97b3, 0x9f75cfff, 0xfb1771f7,
+    } },
+    { { /* 570 */
+    0xee1934ee, 0xef6137cc, 0xef4c9fd6, 0xfbddd68f,
+    0x6def7b73, 0xa431d7fe, 0x97d75e7f, 0xffd80f5b,
+    } },
+    { { /* 571 */
+    0x7bce9d83, 0xdcff22ec, 0xef87763d, 0xfdeddfe7,
+    0xa0fc4fff, 0xdbfc3b77, 0x7fdc3ded, 0xf5706fa9,
+    } },
+    { { /* 572 */
+    0x2c403ffb, 0x847fff7f, 0xdeb7ec57, 0xf22fe69c,
+    0xd5b50feb, 0xede7afeb, 0xfff08c2f, 0xe8f0537f,
+    } },
+    { { /* 573 */
+    0xb5ffb99d, 0xe78fff66, 0xbe10d981, 0xe3c19c7c,
+    0x27339cd1, 0xff6d0cbc, 0xefb7fcb7, 0xffffa0df,
+    } },
+    { { /* 574 */
+    0xfe7bbf0b, 0x353fa3ff, 0x97cd13cc, 0xfb277637,
+    0x7e6ccfd6, 0xed31ec50, 0xfc1c677c, 0x5fbff6fa,
+    } },
+    { { /* 575 */
+    0xae2f0fba, 0x7ffea3ad, 0xde74fcf0, 0xf200ffef,
+    0xfea2fbbf, 0xbcff3daf, 0x5fb9f694, 0x3f8ff3ad,
+    } },
+    { { /* 576 */
+    0xa01ff26c, 0x01bfffef, 0x70057728, 0xda03ff35,
+    0xc7fad2f9, 0x5c1d3fbf, 0xec33ff3a, 0xfe9cb7af,
+    } },
+    { { /* 577 */
+    0x7a9f5236, 0xe722bffa, 0xfcff9ff7, 0xb61d2fbb,
+    0x1dfded06, 0xefdf7dd7, 0xf166eb23, 0x0dc07ed9,
+    } },
+    { { /* 578 */
+    0xdfbf3d3d, 0xba83c945, 0x9dd07dd1, 0xcf737b87,
+    0xc3f59ff3, 0xc5fedf0d, 0x83020cb3, 0xaec0e879,
+    } },
+    { { /* 579 */
+    0x6f0fc773, 0x093ffd7d, 0x0157fff1, 0x01ff62fb,
+    0x3bf3fdb4, 0x43b2b013, 0xff305ed3, 0xeb9f0fff,
+    } },
+    { { /* 580 */
+    0xf203feef, 0xfb893fef, 0x9e9937a9, 0xa72cdef9,
+    0xc1f63733, 0xfe3e812e, 0xf2f75d20, 0x69d7d585,
+    } },
+    { { /* 581 */
+    0xffffffff, 0xff6fdb07, 0xd97fc4ff, 0xbe0fefce,
+    0xf05ef17b, 0xffb7f6cf, 0xef845ef7, 0x0edfd7cb,
+    } },
+    { { /* 582 */
+    0xfcffff08, 0xffffee3f, 0xd7ff13ff, 0x7ffdaf0f,
+    0x1ffabdc7, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 583 */
+    0x00000000, 0xe7400000, 0xf933bd38, 0xfeed7feb,
+    0x7c767fe8, 0xffefb3f7, 0xd8b7feaf, 0xfbbfff6f,
+    } },
+    { { /* 584 */
+    0xdbf7f8fb, 0xe2f91752, 0x754785c8, 0xe3ef9090,
+    0x3f6d9ef4, 0x0536ee2e, 0x7ff3f7bc, 0x7f3fa07b,
+    } },
+    { { /* 585 */
+    0xeb600567, 0x6601babe, 0x583ffcd8, 0x87dfcaf7,
+    0xffa0bfcd, 0xfebf5bcd, 0xefa7b6fd, 0xdf9c77ef,
+    } },
+    { { /* 586 */
+    0xf8773fb7, 0xb7fc9d27, 0xdfefcab5, 0xf1b6fb5a,
+    0xef1fec39, 0x7ffbfbbf, 0xdafe000d, 0x4e7fbdfb,
+    } },
+    { { /* 587 */
+    0x5ac033ff, 0x9ffebff5, 0x005fffbf, 0xfdf80000,
+    0x6ffdffca, 0xa001cffd, 0xfbf2dfff, 0xff7fdfbf,
+    } },
+    { { /* 588 */
+    0x080ffeda, 0xbfffba08, 0xeed77afd, 0x67f9fbeb,
+    0xff93e044, 0x9f57df97, 0x08dffef7, 0xfedfdf80,
+    } },
+    { { /* 589 */
+    0xf7feffc5, 0x6803fffb, 0x6bfa67fb, 0x5fe27fff,
+    0xff73ffff, 0xe7fb87df, 0xf7a7ebfd, 0xefc7bf7e,
+    } },
+    { { /* 590 */
+    0xdf821ef3, 0xdf7e76ff, 0xda7d79c9, 0x1e9befbe,
+    0x77fb7ce0, 0xfffb87be, 0xffdb1bff, 0x4fe03f5c,
+    } },
+    { { /* 591 */
+    0x5f0e7fff, 0xddbf77ff, 0xfffff04f, 0x0ff8ffff,
+    0xfddfa3be, 0xfffdfc1c, 0xfb9e1f7d, 0xdedcbdff,
+    } },
+    { { /* 592 */
+    0xbafb3f6f, 0xfbefdf7f, 0x2eec7d1b, 0xf2f7af8e,
+    0xcfee7b0f, 0x77c61d96, 0xfff57e07, 0x7fdfd982,
+    } },
+    { { /* 593 */
+    0xc7ff5ee6, 0x79effeee, 0xffcf9a56, 0xde5efe5f,
+    0xf9e8896e, 0xe6c4f45e, 0xbe7c0001, 0xdddf3b7f,
+    } },
+    { { /* 594 */
+    0xe9efd59d, 0xde5334ac, 0x4bf7f573, 0x9eff7b4f,
+    0x476eb8fe, 0xff450dfb, 0xfbfeabfd, 0xddffe9d7,
+    } },
+    { { /* 595 */
+    0x7fffedf7, 0x7eebddfd, 0xb7ffcfe7, 0xef91bde9,
+    0xd77c5d75, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 596 */
+    0x00000000, 0xfa800000, 0xb4f1ffee, 0x2fefbf76,
+    0x77bfb677, 0xfffd9fbf, 0xf6ae95bf, 0x7f3b75ff,
+    } },
+    { { /* 597 */
+    0x0af9a7f5, 0x00000000, 0x00000000, 0x2bddfbd0,
+    0x9a7ff633, 0xd6fcfdab, 0xbfebf9e6, 0xf41fdfdf,
+    } },
+    { { /* 598 */
+    0xffffa6fd, 0xf37b4aff, 0xfef97fb7, 0x1d5cb6ff,
+    0xe5ff7ff6, 0x24041f7b, 0xf99ebe05, 0xdff2dbe3,
+    } },
+    { { /* 599 */
+    0xfdff6fef, 0xcbfcd679, 0xefffebfd, 0x0000001f,
+    0x98000000, 0x8017e148, 0x00fe6a74, 0xfdf16d7f,
+    } },
+    { { /* 600 */
+    0xfef3b87f, 0xf176e01f, 0x7b3fee96, 0xfffdeb8d,
+    0xcbb3adff, 0xe17f84ef, 0xbff04daa, 0xfe3fbf3f,
+    } },
+    { { /* 601 */
+    0xffd7ebff, 0xcf7fffdf, 0x85edfffb, 0x07bcd73f,
+    0xfe0faeff, 0x76bffdaf, 0x37bbfaef, 0xa3ba7fdc,
+    } },
+    { { /* 602 */
+    0x56f7b6ff, 0xe7df60f8, 0x4cdfff61, 0xff45b0fb,
+    0x3ffa7ded, 0x18fc1fff, 0xe3afffff, 0xdf83c7d3,
+    } },
+    { { /* 603 */
+    0xef7dfb57, 0x1378efff, 0x5ff7fec0, 0x5ee334bb,
+    0xeff6f70d, 0x00bfd7fe, 0xf7f7f59d, 0xffe051de,
+    } },
+    { { /* 604 */
+    0x037ffec9, 0xbfef5f01, 0x60a79ff1, 0xf1ffef1d,
+    0x0000000f, 0x00000000, 0x00000000, 0x00000000,
+    } },
+    { { /* 605 */
+    0x00000000, 0x00000000, 0x00000000, 0x3c800000,
+    0xd91ffb4d, 0xfee37b3a, 0xdc7f3fe9, 0x0000003f,
+    } },
+    { { /* 606 */
+    0x50000000, 0xbe07f51f, 0xf91bfc1d, 0x71ffbc1e,
+    0x5bbe6ff9, 0x9b1b5796, 0xfffc7fff, 0xafe7872e,
+    } },
+    { { /* 607 */
+    0xf34febf5, 0xe725dffd, 0x5d440bdc, 0xfddd5747,
+    0x7790ed3f, 0x8ac87d7f, 0xf3f9fafa, 0xef4b202a,
+    } },
+    { { /* 608 */
+    0x79cff5ff, 0x0ba5abd3, 0xfb8ff77a, 0x001f8ebd,
+    0x00000000, 0xfd4ef300, 0x88001a57, 0x7654aeac,
+    } },
+    { { /* 609 */
+    0xcdff17ad, 0xf42fffb2, 0xdbff5baa, 0x00000002,
+    0x73c00000, 0x2e3ff9ea, 0xbbfffa8e, 0xffd376bc,
+    } },
+    { { /* 610 */
+    0x7e72eefe, 0xe7f77ebd, 0xcefdf77f, 0x00000ff5,
+    0x00000000, 0xdb9ba900, 0x917fa4c7, 0x7ecef8ca,
+    } },
+    { { /* 611 */
+    0xc7e77d7a, 0xdcaecbbd, 0x8f76fd7e, 0x7cf391d3,
+    0x4c2f01e5, 0xa360ed77, 0x5ef807db, 0x21811df7,
+    } },
+    { { /* 612 */
+    0x309c6be0, 0xfade3b3a, 0xc3f57f53, 0x07ba61cd,
+    0x00000000, 0x00000000, 0x00000000, 0xbefe26e0,
+    } },
+    { { /* 613 */
+    0xebb503f9, 0xe9cbe36d, 0xbfde9c2f, 0xabbf9f83,
+    0xffd51ff7, 0xdffeb7df, 0xffeffdae, 0xeffdfb7e,
+    } },
+    { { /* 614 */
+    0x6ebfaaff, 0x00000000, 0x00000000, 0xb6200000,
+    0xbe9e7fcd, 0x58f162b3, 0xfd7bf10d, 0xbefde9f1,
+    } },
+    { { /* 615 */
+    0x5f6dc6c3, 0x69ffff3d, 0xfbf4ffcf, 0x4ff7dcfb,
+    0x11372000, 0x00000015, 0x00000000, 0x00000000,
+    } },
+    { { /* 616 */
+    0x00003000, 0x00000000, 0x00000000, 0x00000000,
+    0x00000000, 0x00000000, 0x00000000, 0x00000000,
+    } },
+},
+{
+    /* aa */
+    LEAF(  0,  0),
+    /* ab */
+    LEAF(  1,  1),
+    /* af */
+    LEAF(  2,  2), LEAF(  2,  3),
+    /* ak */
+    LEAF(  4,  4), LEAF(  4,  5), LEAF(  4,  6), LEAF(  4,  7),
+    LEAF(  4,  8),
+    /* am */
+    LEAF(  9,  9), LEAF(  9, 10),
+    /* an */
+    LEAF( 11, 11),
+    /* ar */
+    LEAF( 12, 12),
+    /* as */
+    LEAF( 13, 13),
+    /* ast */
+    LEAF( 14, 11), LEAF( 14, 14),
+    /* av */
+    LEAF( 16, 15),
+    /* ay */
+    LEAF( 17, 16),
+    /* az_az */
+    LEAF( 18, 17), LEAF( 18, 18), LEAF( 18, 19),
+    /* az_ir */
+    LEAF( 21, 20),
+    /* ba */
+    LEAF( 22, 21),
+    /* be */
+    LEAF( 23, 22),
+    /* ber_dz */
+    LEAF( 24, 23), LEAF( 24, 24), LEAF( 24, 25), LEAF( 24, 26),
+    /* ber_ma */
+    LEAF( 28, 27),
+    /* bg */
+    LEAF( 29, 28),
+    /* bh */
+    LEAF( 30, 29),
+    /* bi */
+    LEAF( 31, 30),
+    /* bin */
+    LEAF( 32, 31), LEAF( 32, 32), LEAF( 32, 33),
+    /* bm */
+    LEAF( 35, 23), LEAF( 35, 34), LEAF( 35, 35),
+    /* bn */
+    LEAF( 38, 36),
+    /* bo */
+    LEAF( 39, 37),
+    /* br */
+    LEAF( 40, 38),
+    /* brx */
+    LEAF( 41, 39),
+    /* bs */
+    LEAF( 42, 23), LEAF( 42, 40),
+    /* bua */
+    LEAF( 44, 41),
+    /* byn */
+    LEAF( 45, 42), LEAF( 45, 43),
+    /* ca */
+    LEAF( 47, 44), LEAF( 47, 45),
+    /* ch */
+    LEAF( 49, 46),
+    /* chm */
+    LEAF( 50, 47),
+    /* chr */
+    LEAF( 51, 48),
+    /* co */
+    LEAF( 52, 49), LEAF( 52, 50),
+    /* crh */
+    LEAF( 54, 51), LEAF( 54, 52),
+    /* cs */
+    LEAF( 56, 53), LEAF( 56, 54),
+    /* csb */
+    LEAF( 58, 55), LEAF( 58, 56),
+    /* cu */
+    LEAF( 60, 57),
+    /* cv */
+    LEAF( 61, 58), LEAF( 61, 59),
+    /* cy */
+    LEAF( 63, 60), LEAF( 63, 61), LEAF( 63, 62),
+    /* da */
+    LEAF( 66, 63),
+    /* de */
+    LEAF( 67, 64),
+    /* doi */
+    LEAF( 68, 65),
+    /* dv */
+    LEAF( 69, 66),
+    /* ee */
+    LEAF( 70, 31), LEAF( 70, 67), LEAF( 70, 68), LEAF( 70, 69),
+    /* el */
+    LEAF( 74, 70),
+    /* en */
+    LEAF( 75, 71),
+    /* eo */
+    LEAF( 76, 23), LEAF( 76, 72),
+    /* et */
+    LEAF( 78, 73), LEAF( 78, 74),
+    /* eu */
+    LEAF( 80, 75),
+    /* ff */
+    LEAF( 81, 23), LEAF( 81, 76), LEAF( 81, 77),
+    /* fi */
+    LEAF( 84, 78), LEAF( 84, 74),
+    /* fil */
+    LEAF( 86, 79),
+    /* fj */
+    LEAF( 87, 23),
+    /* fo */
+    LEAF( 88, 80),
+    /* fur */
+    LEAF( 89, 81),
+    /* fy */
+    LEAF( 90, 82),
+    /* ga */
+    LEAF( 91, 83), LEAF( 91, 84), LEAF( 91, 85),
+    /* gd */
+    LEAF( 94, 86),
+    /* gez */
+    LEAF( 95, 87), LEAF( 95, 88),
+    /* gn */
+    LEAF( 97, 89), LEAF( 97, 90), LEAF( 97, 91),
+    /* gu */
+    LEAF(100, 92),
+    /* gv */
+    LEAF(101, 93),
+    /* ha */
+    LEAF(102, 23), LEAF(102, 94), LEAF(102, 95),
+    /* haw */
+    LEAF(105, 23), LEAF(105, 96), LEAF(105, 97),
+    /* he */
+    LEAF(108, 98),
+    /* hsb */
+    LEAF(109, 99), LEAF(109,100),
+    /* ht */
+    LEAF(111,101),
+    /* hu */
+    LEAF(112,102), LEAF(112,103),
+    /* hy */
+    LEAF(114,104),
+    /* hz */
+    LEAF(115, 23), LEAF(115,105), LEAF(115,106),
+    /* id */
+    LEAF(118,107),
+    /* ig */
+    LEAF(119, 23), LEAF(119,108),
+    /* ii */
+    LEAF(121,109), LEAF(121,109), LEAF(121,109), LEAF(121,109),
+    LEAF(121,110),
+    /* ik */
+    LEAF(126,111),
+    /* is */
+    LEAF(127,112),
+    /* it */
+    LEAF(128,113),
+    /* iu */
+    LEAF(129,114), LEAF(129,115), LEAF(129,116),
+    /* ja */
+    LEAF(132,117), LEAF(132,118), LEAF(132,119), LEAF(132,120),
+    LEAF(132,121), LEAF(132,122), LEAF(132,123), LEAF(132,124),
+    LEAF(132,125), LEAF(132,126), LEAF(132,127), LEAF(132,128),
+    LEAF(132,129), LEAF(132,130), LEAF(132,131), LEAF(132,132),
+    LEAF(132,133), LEAF(132,134), LEAF(132,135), LEAF(132,136),
+    LEAF(132,137), LEAF(132,138), LEAF(132,139), LEAF(132,140),
+    LEAF(132,141), LEAF(132,142), LEAF(132,143), LEAF(132,144),
+    LEAF(132,145), LEAF(132,146), LEAF(132,147), LEAF(132,148),
+    LEAF(132,149), LEAF(132,150), LEAF(132,151), LEAF(132,152),
+    LEAF(132,153), LEAF(132,154), LEAF(132,155), LEAF(132,156),
+    LEAF(132,157), LEAF(132,158), LEAF(132,159), LEAF(132,160),
+    LEAF(132,161), LEAF(132,162), LEAF(132,163), LEAF(132,164),
+    LEAF(132,165), LEAF(132,166), LEAF(132,167), LEAF(132,168),
+    LEAF(132,169), LEAF(132,170), LEAF(132,171), LEAF(132,172),
+    LEAF(132,173), LEAF(132,174), LEAF(132,175), LEAF(132,176),
+    LEAF(132,177), LEAF(132,178), LEAF(132,179), LEAF(132,180),
+    LEAF(132,181), LEAF(132,182), LEAF(132,183), LEAF(132,184),
+    LEAF(132,185), LEAF(132,186), LEAF(132,187), LEAF(132,188),
+    LEAF(132,189), LEAF(132,190), LEAF(132,191), LEAF(132,192),
+    LEAF(132,193), LEAF(132,194), LEAF(132,195), LEAF(132,196),
+    LEAF(132,197), LEAF(132,198), LEAF(132,199),
+    /* jv */
+    LEAF(215,200),
+    /* ka */
+    LEAF(216,201),
+    /* kaa */
+    LEAF(217,202),
+    /* ki */
+    LEAF(218, 23), LEAF(218,203),
+    /* kk */
+    LEAF(220,204),
+    /* kl */
+    LEAF(221,205), LEAF(221,206),
+    /* km */
+    LEAF(223,207),
+    /* kn */
+    LEAF(224,208),
+    /* ko */
+    LEAF(225,209), LEAF(225,210), LEAF(225,211), LEAF(225,212),
+    LEAF(225,213), LEAF(225,214), LEAF(225,215), LEAF(225,216),
+    LEAF(225,217), LEAF(225,218), LEAF(225,219), LEAF(225,220),
+    LEAF(225,221), LEAF(225,222), LEAF(225,223), LEAF(225,224),
+    LEAF(225,225), LEAF(225,226), LEAF(225,227), LEAF(225,228),
+    LEAF(225,229), LEAF(225,230), LEAF(225,231), LEAF(225,232),
+    LEAF(225,233), LEAF(225,234), LEAF(225,235), LEAF(225,236),
+    LEAF(225,237), LEAF(225,238), LEAF(225,239), LEAF(225,240),
+    LEAF(225,241), LEAF(225,242), LEAF(225,243), LEAF(225,244),
+    LEAF(225,245), LEAF(225,246), LEAF(225,247), LEAF(225,248),
+    LEAF(225,249), LEAF(225,250), LEAF(225,251), LEAF(225,252),
+    LEAF(225,253),
+    /* kr */
+    LEAF(270, 23), LEAF(270,254), LEAF(270,255),
+    /* ks */
+    LEAF(273,256),
+    /* ku_am */
+    LEAF(274,257), LEAF(274,258),
+    /* ku_iq */
+    LEAF(276,259),
+    /* ku_tr */
+    LEAF(277,260), LEAF(277,261),
+    /* kum */
+    LEAF(279,262),
+    /* kv */
+    LEAF(280,263),
+    /* kw */
+    LEAF(281, 23), LEAF(281, 96), LEAF(281,264),
+    /* ky */
+    LEAF(284,265),
+    /* la */
+    LEAF(285, 23), LEAF(285,266),
+    /* lah */
+    LEAF(287,267),
+    /* lb */
+    LEAF(288,268),
+    /* lg */
+    LEAF(289, 23), LEAF(289,269),
+    /* li */
+    LEAF(291,270),
+    /* ln */
+    LEAF(292,271), LEAF(292,272), LEAF(292,  6), LEAF(292,273),
+    /* lo */
+    LEAF(296,274),
+    /* lt */
+    LEAF(297, 23), LEAF(297,275),
+    /* lv */
+    LEAF(299, 23), LEAF(299,276),
+    /* mg */
+    LEAF(301,277),
+    /* mh */
+    LEAF(302, 23), LEAF(302,278),
+    /* mi */
+    LEAF(304, 23), LEAF(304, 96), LEAF(304,279),
+    /* mk */
+    LEAF(307,280),
+    /* ml */
+    LEAF(308,281),
+    /* mn_cn */
+    LEAF(309,282),
+    /* mn_mn */
+    LEAF(310,283),
+    /* mni */
+    LEAF(311,284),
+    /* mo */
+    LEAF(312,285), LEAF(312, 58), LEAF(312,286), LEAF(312,262),
+    /* mt */
+    LEAF(316,287), LEAF(316,288),
+    /* my */
+    LEAF(318,289),
+    /* na */
+    LEAF(319,  4), LEAF(319,290),
+    /* nb */
+    LEAF(321,291),
+    /* ne */
+    LEAF(322,292),
+    /* nl */
+    LEAF(323,293),
+    /* nn */
+    LEAF(324,294),
+    /* nqo */
+    LEAF(325,295),
+    /* nso */
+    LEAF(326,296), LEAF(326,297),
+    /* nv */
+    LEAF(328,298), LEAF(328,299), LEAF(328,300), LEAF(328,301),
+    /* ny */
+    LEAF(332, 23), LEAF(332,302),
+    /* oc */
+    LEAF(334,303),
+    /* or */
+    LEAF(335,304),
+    /* ota */
+    LEAF(336,305),
+    /* pa */
+    LEAF(337,306),
+    /* pap_an */
+    LEAF(338,307),
+    /* pap_aw */
+    LEAF(339,308),
+    /* pl */
+    LEAF(340, 99), LEAF(340,309),
+    /* ps_af */
+    LEAF(342,310),
+    /* ps_pk */
+    LEAF(343,311),
+    /* pt */
+    LEAF(344,312),
+    /* qu */
+    LEAF(345,308), LEAF(345,313),
+    /* rm */
+    LEAF(347,314),
+    /* ro */
+    LEAF(348,285), LEAF(348, 58), LEAF(348,286),
+    /* sah */
+    LEAF(351,315),
+    /* sat */
+    LEAF(352,316),
+    /* sc */
+    LEAF(353,317),
+    /* sco */
+    LEAF(354, 23), LEAF(354,318), LEAF(354,319),
+    /* sd */
+    LEAF(357,320),
+    /* se */
+    LEAF(358,321), LEAF(358,322),
+    /* sg */
+    LEAF(360,323),
+    /* sh */
+    LEAF(361, 23), LEAF(361, 40), LEAF(361,324),
+    /* shs */
+    LEAF(364,325), LEAF(364,326),
+    /* si */
+    LEAF(366,327),
+    /* sid */
+    LEAF(367,328), LEAF(367, 10),
+    /* sk */
+    LEAF(369,329), LEAF(369,330),
+    /* sm */
+    LEAF(371, 23), LEAF(371, 97),
+    /* sma */
+    LEAF(373,331),
+    /* smj */
+    LEAF(374,332),
+    /* smn */
+    LEAF(375,333), LEAF(375,334),
+    /* sms */
+    LEAF(377,335), LEAF(377,336), LEAF(377,337),
+    /* sq */
+    LEAF(380,338),
+    /* sr */
+    LEAF(381,339),
+    /* sv */
+    LEAF(382,340),
+    /* syr */
+    LEAF(383,341),
+    /* ta */
+    LEAF(384,342),
+    /* te */
+    LEAF(385,343),
+    /* tg */
+    LEAF(386,344),
+    /* th */
+    LEAF(387,345),
+    /* tig */
+    LEAF(388,346), LEAF(388, 43),
+    /* tk */
+    LEAF(390,347), LEAF(390,348),
+    /* tr */
+    LEAF(392,349), LEAF(392, 52),
+    /* tt */
+    LEAF(394,350),
+    /* ty */
+    LEAF(395,351), LEAF(395, 96), LEAF(395,300),
+    /* ug */
+    LEAF(398,352),
+    /* uk */
+    LEAF(399,353),
+    /* ve */
+    LEAF(400, 23), LEAF(400,354),
+    /* vi */
+    LEAF(402,355), LEAF(402,356), LEAF(402,357), LEAF(402,358),
+    /* vo */
+    LEAF(406,359),
+    /* vot */
+    LEAF(407,360), LEAF(407, 74),
+    /* wa */
+    LEAF(409,361),
+    /* wen */
+    LEAF(410, 99), LEAF(410,362),
+    /* wo */
+    LEAF(412,363), LEAF(412,269),
+    /* yap */
+    LEAF(414,364),
+    /* yo */
+    LEAF(415,365), LEAF(415,366), LEAF(415,367), LEAF(415,368),
+    /* zh_cn */
+    LEAF(419,369), LEAF(419,370), LEAF(419,371), LEAF(419,372),
+    LEAF(419,373), LEAF(419,374), LEAF(419,375), LEAF(419,376),
+    LEAF(419,377), LEAF(419,378), LEAF(419,379), LEAF(419,380),
+    LEAF(419,381), LEAF(419,382), LEAF(419,383), LEAF(419,384),
+    LEAF(419,385), LEAF(419,386), LEAF(419,387), LEAF(419,388),
+    LEAF(419,389), LEAF(419,390), LEAF(419,391), LEAF(419,392),
+    LEAF(419,393), LEAF(419,394), LEAF(419,395), LEAF(419,396),
+    LEAF(419,397), LEAF(419,398), LEAF(419,399), LEAF(419,400),
+    LEAF(419,401), LEAF(419,402), LEAF(419,403), LEAF(419,404),
+    LEAF(419,405), LEAF(419,406), LEAF(419,407), LEAF(419,408),
+    LEAF(419,409), LEAF(419,410), LEAF(419,411), LEAF(419,412),
+    LEAF(419,413), LEAF(419,414), LEAF(419,415), LEAF(419,416),
+    LEAF(419,417), LEAF(419,418), LEAF(419,419), LEAF(419,420),
+    LEAF(419,421), LEAF(419,422), LEAF(419,423), LEAF(419,424),
+    LEAF(419,425), LEAF(419,426), LEAF(419,427), LEAF(419,428),
+    LEAF(419,429), LEAF(419,430), LEAF(419,431), LEAF(419,432),
+    LEAF(419,433), LEAF(419,434), LEAF(419,435), LEAF(419,436),
+    LEAF(419,437), LEAF(419,438), LEAF(419,439), LEAF(419,440),
+    LEAF(419,441), LEAF(419,442), LEAF(419,443), LEAF(419,444),
+    LEAF(419,445), LEAF(419,446), LEAF(419,447), LEAF(419,448),
+    LEAF(419,449), LEAF(419,450),
+    /* zh_hk */
+    LEAF(501,451), LEAF(501,452), LEAF(501,453), LEAF(501,454),
+    LEAF(501,455), LEAF(501,456), LEAF(501,457), LEAF(501,458),
+    LEAF(501,459), LEAF(501,460), LEAF(501,461), LEAF(501,462),
+    LEAF(501,463), LEAF(501,464), LEAF(501,465), LEAF(501,466),
+    LEAF(501,467), LEAF(501,468), LEAF(501,469), LEAF(501,470),
+    LEAF(501,471), LEAF(501,472), LEAF(501,473), LEAF(501,474),
+    LEAF(501,475), LEAF(501,476), LEAF(501,477), LEAF(501,478),
+    LEAF(501,479), LEAF(501,480), LEAF(501,481), LEAF(501,482),
+    LEAF(501,483), LEAF(501,484), LEAF(501,485), LEAF(501,486),
+    LEAF(501,487), LEAF(501,488), LEAF(501,489), LEAF(501,490),
+    LEAF(501,491), LEAF(501,492), LEAF(501,493), LEAF(501,494),
+    LEAF(501,495), LEAF(501,496), LEAF(501,497), LEAF(501,498),
+    LEAF(501,499), LEAF(501,500), LEAF(501,501), LEAF(501,502),
+    LEAF(501,503), LEAF(501,504), LEAF(501,505), LEAF(501,506),
+    LEAF(501,507), LEAF(501,508), LEAF(501,509), LEAF(501,510),
+    LEAF(501,511), LEAF(501,512), LEAF(501,513), LEAF(501,514),
+    LEAF(501,515), LEAF(501,516), LEAF(501,517), LEAF(501,518),
+    LEAF(501,519), LEAF(501,520), LEAF(501,521), LEAF(501,522),
+    LEAF(501,523), LEAF(501,524), LEAF(501,525), LEAF(501,526),
+    LEAF(501,527), LEAF(501,528), LEAF(501,529), LEAF(501,530),
+    LEAF(501,531), LEAF(501,532), LEAF(501,533),
+    /* zh_tw */
+    LEAF(584,534), LEAF(584,535), LEAF(584,536), LEAF(584,537),
+    LEAF(584,538), LEAF(584,539), LEAF(584,540), LEAF(584,541),
+    LEAF(584,542), LEAF(584,543), LEAF(584,544), LEAF(584,545),
+    LEAF(584,546), LEAF(584,547), LEAF(584,548), LEAF(584,549),
+    LEAF(584,550), LEAF(584,551), LEAF(584,552), LEAF(584,553),
+    LEAF(584,554), LEAF(584,555), LEAF(584,556), LEAF(584,557),
+    LEAF(584,558), LEAF(584,559), LEAF(584,560), LEAF(584,561),
+    LEAF(584,562), LEAF(584,563), LEAF(584,564), LEAF(584,565),
+    LEAF(584,566), LEAF(584,567), LEAF(584,568), LEAF(584,569),
+    LEAF(584,570), LEAF(584,571), LEAF(584,572), LEAF(584,573),
+    LEAF(584,574), LEAF(584,575), LEAF(584,576), LEAF(584,577),
+    LEAF(584,578), LEAF(584,579), LEAF(584,580), LEAF(584,581),
+    LEAF(584,582), LEAF(584,583), LEAF(584,584), LEAF(584,585),
+    LEAF(584,586), LEAF(584,587), LEAF(584,588), LEAF(584,589),
+    LEAF(584,590), LEAF(584,591), LEAF(584,592), LEAF(584,593),
+    LEAF(584,594), LEAF(584,595), LEAF(584,596), LEAF(584,597),
+    LEAF(584,598), LEAF(584,599), LEAF(584,600), LEAF(584,601),
+    LEAF(584,602), LEAF(584,603), LEAF(584,604), LEAF(584,605),
+    LEAF(584,606), LEAF(584,607), LEAF(584,608), LEAF(584,609),
+    LEAF(584,610), LEAF(584,611), LEAF(584,612), LEAF(584,613),
+    LEAF(584,614), LEAF(584,615), LEAF(584,616),
+},
+{
+    /* aa */
+    0x0000,
+    /* ab */
+    0x0004,
+    /* af */
+    0x0000, 0x0001,
+    /* ak */
+    0x0000, 0x0001, 0x0002, 0x0003, 0x001e,
+    /* am */
+    0x0012, 0x0013,
+    /* an */
+    0x0000,
+    /* ar */
+    0x0006,
+    /* as */
+    0x0009,
+    /* ast */
+    0x0000, 0x001e,
+    /* av */
+    0x0004,
+    /* ay */
+    0x0000,
+    /* az_az */
+    0x0000, 0x0001, 0x0002,
+    /* az_ir */
+    0x0006,
+    /* ba */
+    0x0004,
+    /* be */
+    0x0004,
+    /* ber_dz */
+    0x0000, 0x0001, 0x0002, 0x001e,
+    /* ber_ma */
+    0x002d,
+    /* bg */
+    0x0004,
+    /* bh */
+    0x0009,
+    /* bi */
+    0x0000,
+    /* bin */
+    0x0000, 0x0003, 0x001e,
+    /* bm */
+    0x0000, 0x0001, 0x0002,
+    /* bn */
+    0x0009,
+    /* bo */
+    0x000f,
+    /* br */
+    0x0000,
+    /* brx */
+    0x0009,
+    /* bs */
+    0x0000, 0x0001,
+    /* bua */
+    0x0004,
+    /* byn */
+    0x0012, 0x0013,
+    /* ca */
+    0x0000, 0x0001,
+    /* ch */
+    0x0000,
+    /* chm */
+    0x0004,
+    /* chr */
+    0x0013,
+    /* co */
+    0x0000, 0x0001,
+    /* crh */
+    0x0000, 0x0001,
+    /* cs */
+    0x0000, 0x0001,
+    /* csb */
+    0x0000, 0x0001,
+    /* cu */
+    0x0004,
+    /* cv */
+    0x0001, 0x0004,
+    /* cy */
+    0x0000, 0x0001, 0x001e,
+    /* da */
+    0x0000,
+    /* de */
+    0x0000,
+    /* doi */
+    0x0009,
+    /* dv */
+    0x0007,
+    /* ee */
+    0x0000, 0x0001, 0x0002, 0x0003,
+    /* el */
+    0x0003,
+    /* en */
+    0x0000,
+    /* eo */
+    0x0000, 0x0001,
+    /* et */
+    0x0000, 0x0001,
+    /* eu */
+    0x0000,
+    /* ff */
+    0x0000, 0x0001, 0x0002,
+    /* fi */
+    0x0000, 0x0001,
+    /* fil */
+    0x0000,
+    /* fj */
+    0x0000,
+    /* fo */
+    0x0000,
+    /* fur */
+    0x0000,
+    /* fy */
+    0x0000,
+    /* ga */
+    0x0000, 0x0001, 0x001e,
+    /* gd */
+    0x0000,
+    /* gez */
+    0x0012, 0x0013,
+    /* gn */
+    0x0000, 0x0001, 0x001e,
+    /* gu */
+    0x000a,
+    /* gv */
+    0x0000,
+    /* ha */
+    0x0000, 0x0001, 0x0002,
+    /* haw */
+    0x0000, 0x0001, 0x0002,
+    /* he */
+    0x0005,
+    /* hsb */
+    0x0000, 0x0001,
+    /* ht */
+    0x0000,
+    /* hu */
+    0x0000, 0x0001,
+    /* hy */
+    0x0005,
+    /* hz */
+    0x0000, 0x0003, 0x001e,
+    /* id */
+    0x0000,
+    /* ig */
+    0x0000, 0x001e,
+    /* ii */
+    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4,
+    /* ik */
+    0x0004,
+    /* is */
+    0x0000,
+    /* it */
+    0x0000,
+    /* iu */
+    0x0014, 0x0015, 0x0016,
+    /* ja */
+    0x0030, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054,
+    0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c,
+    0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064,
+    0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c,
+    0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
+    0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c,
+    0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084,
+    0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c,
+    0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094,
+    0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c,
+    0x009d, 0x009e, 0x009f,
+    /* jv */
+    0x0000,
+    /* ka */
+    0x0010,
+    /* kaa */
+    0x0004,
+    /* ki */
+    0x0000, 0x0001,
+    /* kk */
+    0x0004,
+    /* kl */
+    0x0000, 0x0001,
+    /* km */
+    0x0017,
+    /* kn */
+    0x000c,
+    /* ko */
+    0x0031, 0x00ac, 0x00ad, 0x00ae, 0x00af, 0x00b0, 0x00b1, 0x00b2,
+    0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00b8, 0x00b9, 0x00ba,
+    0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, 0x00c0, 0x00c1, 0x00c2,
+    0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca,
+    0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, 0x00d0, 0x00d1, 0x00d2,
+    0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,
+    /* kr */
+    0x0000, 0x0001, 0x0002,
+    /* ks */
+    0x0006,
+    /* ku_am */
+    0x0004, 0x0005,
+    /* ku_iq */
+    0x0006,
+    /* ku_tr */
+    0x0000, 0x0001,
+    /* kum */
+    0x0004,
+    /* kv */
+    0x0004,
+    /* kw */
+    0x0000, 0x0001, 0x0002,
+    /* ky */
+    0x0004,
+    /* la */
+    0x0000, 0x0001,
+    /* lah */
+    0x0006,
+    /* lb */
+    0x0000,
+    /* lg */
+    0x0000, 0x0001,
+    /* li */
+    0x0000,
+    /* ln */
+    0x0000, 0x0001, 0x0002, 0x0003,
+    /* lo */
+    0x000e,
+    /* lt */
+    0x0000, 0x0001,
+    /* lv */
+    0x0000, 0x0001,
+    /* mg */
+    0x0000,
+    /* mh */
+    0x0000, 0x0001,
+    /* mi */
+    0x0000, 0x0001, 0x001e,
+    /* mk */
+    0x0004,
+    /* ml */
+    0x000d,
+    /* mn_cn */
+    0x0018,
+    /* mn_mn */
+    0x0004,
+    /* mni */
+    0x0009,
+    /* mo */
+    0x0000, 0x0001, 0x0002, 0x0004,
+    /* mt */
+    0x0000, 0x0001,
+    /* my */
+    0x0010,
+    /* na */
+    0x0000, 0x0001,
+    /* nb */
+    0x0000,
+    /* ne */
+    0x0009,
+    /* nl */
+    0x0000,
+    /* nn */
+    0x0000,
+    /* nqo */
+    0x0007,
+    /* nso */
+    0x0000, 0x0001,
+    /* nv */
+    0x0000, 0x0001, 0x0002, 0x0003,
+    /* ny */
+    0x0000, 0x0001,
+    /* oc */
+    0x0000,
+    /* or */
+    0x000b,
+    /* ota */
+    0x0006,
+    /* pa */
+    0x000a,
+    /* pap_an */
+    0x0000,
+    /* pap_aw */
+    0x0000,
+    /* pl */
+    0x0000, 0x0001,
+    /* ps_af */
+    0x0006,
+    /* ps_pk */
+    0x0006,
+    /* pt */
+    0x0000,
+    /* qu */
+    0x0000, 0x0002,
+    /* rm */
+    0x0000,
+    /* ro */
+    0x0000, 0x0001, 0x0002,
+    /* sah */
+    0x0004,
+    /* sat */
+    0x0009,
+    /* sc */
+    0x0000,
+    /* sco */
+    0x0000, 0x0001, 0x0002,
+    /* sd */
+    0x0006,
+    /* se */
+    0x0000, 0x0001,
+    /* sg */
+    0x0000,
+    /* sh */
+    0x0000, 0x0001, 0x0004,
+    /* shs */
+    0x0000, 0x0003,
+    /* si */
+    0x000d,
+    /* sid */
+    0x0012, 0x0013,
+    /* sk */
+    0x0000, 0x0001,
+    /* sm */
+    0x0000, 0x0002,
+    /* sma */
+    0x0000,
+    /* smj */
+    0x0000,
+    /* smn */
+    0x0000, 0x0001,
+    /* sms */
+    0x0000, 0x0001, 0x0002,
+    /* sq */
+    0x0000,
+    /* sr */
+    0x0004,
+    /* sv */
+    0x0000,
+    /* syr */
+    0x0007,
+    /* ta */
+    0x000b,
+    /* te */
+    0x000c,
+    /* tg */
+    0x0004,
+    /* th */
+    0x000e,
+    /* tig */
+    0x0012, 0x0013,
+    /* tk */
+    0x0000, 0x0001,
+    /* tr */
+    0x0000, 0x0001,
+    /* tt */
+    0x0004,
+    /* ty */
+    0x0000, 0x0001, 0x0002,
+    /* ug */
+    0x0006,
+    /* uk */
+    0x0004,
+    /* ve */
+    0x0000, 0x001e,
+    /* vi */
+    0x0000, 0x0001, 0x0003, 0x001e,
+    /* vo */
+    0x0000,
+    /* vot */
+    0x0000, 0x0001,
+    /* wa */
+    0x0000,
+    /* wen */
+    0x0000, 0x0001,
+    /* wo */
+    0x0000, 0x0001,
+    /* yap */
+    0x0000,
+    /* yo */
+    0x0000, 0x0001, 0x0003, 0x001e,
+    /* zh_cn */
+    0x0002, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054,
+    0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c,
+    0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064,
+    0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c,
+    0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
+    0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c,
+    0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084,
+    0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c,
+    0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094,
+    0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c,
+    0x009e, 0x009f,
+    /* zh_hk */
+    0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055,
+    0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d,
+    0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065,
+    0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d,
+    0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075,
+    0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d,
+    0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085,
+    0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d,
+    0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095,
+    0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d,
+    0x009e, 0x009f, 0x0205,
+    /* zh_tw */
+    0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055,
+    0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d,
+    0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065,
+    0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d,
+    0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075,
+    0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d,
+    0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085,
+    0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d,
+    0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095,
+    0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d,
+    0x009e, 0x009f, 0x00fa,
+},
+{
+    0, /* aa */
+    1, /* ab */
+    2, /* af */
+    190, /* ak */
+    3, /* am */
+    191, /* an */
+    4, /* ar */
+    5, /* as */
+    6, /* ast */
+    7, /* av */
+    8, /* ay */
+    9, /* az_az */
+    10, /* az_ir */
+    11, /* ba */
+    13, /* be */
+    192, /* ber_dz */
+    193, /* ber_ma */
+    14, /* bg */
+    15, /* bh */
+    16, /* bho */
+    17, /* bi */
+    18, /* bin */
+    12, /* bm */
+    19, /* bn */
+    20, /* bo */
+    21, /* br */
+    239, /* brx */
+    22, /* bs */
+    23, /* bua */
+    194, /* byn */
+    24, /* ca */
+    25, /* ce */
+    26, /* ch */
+    27, /* chm */
+    28, /* chr */
+    29, /* co */
+    195, /* crh */
+    30, /* cs */
+    196, /* csb */
+    31, /* cu */
+    32, /* cv */
+    33, /* cy */
+    34, /* da */
+    35, /* de */
+    241, /* doi */
+    197, /* dv */
+    36, /* dz */
+    198, /* ee */
+    37, /* el */
+    38, /* en */
+    39, /* eo */
+    40, /* es */
+    41, /* et */
+    42, /* eu */
+    43, /* fa */
+    199, /* fat */
+    48, /* ff */
+    44, /* fi */
+    200, /* fil */
+    45, /* fj */
+    46, /* fo */
+    47, /* fr */
+    49, /* fur */
+    50, /* fy */
+    51, /* ga */
+    52, /* gd */
+    53, /* gez */
+    54, /* gl */
+    55, /* gn */
+    56, /* gu */
+    57, /* gv */
+    58, /* ha */
+    59, /* haw */
+    60, /* he */
+    61, /* hi */
+    201, /* hne */
+    62, /* ho */
+    63, /* hr */
+    202, /* hsb */
+    203, /* ht */
+    64, /* hu */
+    65, /* hy */
+    204, /* hz */
+    66, /* ia */
+    68, /* id */
+    69, /* ie */
+    67, /* ig */
+    205, /* ii */
+    70, /* ik */
+    71, /* io */
+    72, /* is */
+    73, /* it */
+    74, /* iu */
+    75, /* ja */
+    206, /* jv */
+    76, /* ka */
+    77, /* kaa */
+    207, /* kab */
+    78, /* ki */
+    208, /* kj */
+    79, /* kk */
+    80, /* kl */
+    81, /* km */
+    82, /* kn */
+    83, /* ko */
+    84, /* kok */
+    209, /* kr */
+    85, /* ks */
+    86, /* ku_am */
+    210, /* ku_iq */
+    87, /* ku_ir */
+    211, /* ku_tr */
+    88, /* kum */
+    89, /* kv */
+    90, /* kw */
+    212, /* kwm */
+    91, /* ky */
+    92, /* la */
+    237, /* lah */
+    93, /* lb */
+    94, /* lez */
+    213, /* lg */
+    214, /* li */
+    95, /* ln */
+    96, /* lo */
+    97, /* lt */
+    98, /* lv */
+    215, /* mai */
+    99, /* mg */
+    100, /* mh */
+    101, /* mi */
+    102, /* mk */
+    103, /* ml */
+    104, /* mn_cn */
+    216, /* mn_mn */
+    242, /* mni */
+    105, /* mo */
+    106, /* mr */
+    217, /* ms */
+    107, /* mt */
+    108, /* my */
+    218, /* na */
+    109, /* nb */
+    110, /* nds */
+    111, /* ne */
+    219, /* ng */
+    112, /* nl */
+    113, /* nn */
+    114, /* no */
+    238, /* nqo */
+    115, /* nr */
+    116, /* nso */
+    220, /* nv */
+    117, /* ny */
+    118, /* oc */
+    119, /* om */
+    120, /* or */
+    121, /* os */
+    221, /* ota */
+    122, /* pa */
+    222, /* pa_pk */
+    223, /* pap_an */
+    224, /* pap_aw */
+    123, /* pl */
+    124, /* ps_af */
+    125, /* ps_pk */
+    126, /* pt */
+    225, /* qu */
+    127, /* rm */
+    226, /* rn */
+    128, /* ro */
+    129, /* ru */
+    227, /* rw */
+    130, /* sa */
+    131, /* sah */
+    240, /* sat */
+    228, /* sc */
+    132, /* sco */
+    229, /* sd */
+    133, /* se */
+    134, /* sel */
+    230, /* sg */
+    135, /* sh */
+    136, /* shs */
+    137, /* si */
+    231, /* sid */
+    138, /* sk */
+    139, /* sl */
+    140, /* sm */
+    141, /* sma */
+    142, /* smj */
+    143, /* smn */
+    144, /* sms */
+    232, /* sn */
+    145, /* so */
+    146, /* sq */
+    147, /* sr */
+    148, /* ss */
+    149, /* st */
+    233, /* su */
+    150, /* sv */
+    151, /* sw */
+    152, /* syr */
+    153, /* ta */
+    154, /* te */
+    155, /* tg */
+    156, /* th */
+    157, /* ti_er */
+    158, /* ti_et */
+    159, /* tig */
+    160, /* tk */
+    161, /* tl */
+    162, /* tn */
+    163, /* to */
+    164, /* tr */
+    165, /* ts */
+    166, /* tt */
+    167, /* tw */
+    234, /* ty */
+    168, /* tyv */
+    169, /* ug */
+    170, /* uk */
+    171, /* ur */
+    172, /* uz */
+    173, /* ve */
+    174, /* vi */
+    175, /* vo */
+    176, /* vot */
+    177, /* wa */
+    235, /* wal */
+    178, /* wen */
+    179, /* wo */
+    180, /* xh */
+    181, /* yap */
+    182, /* yi */
+    183, /* yo */
+    236, /* za */
+    184, /* zh_cn */
+    185, /* zh_hk */
+    186, /* zh_mo */
+    187, /* zh_sg */
+    188, /* zh_tw */
+    189, /* zu */
+},
+{
+    0, /* aa */
+    1, /* ab */
+    2, /* af */
+    4, /* am */
+    6, /* ar */
+    7, /* as */
+    8, /* ast */
+    9, /* av */
+    10, /* ay */
+    11, /* az_az */
+    12, /* az_ir */
+    13, /* ba */
+    22, /* bm */
+    14, /* be */
+    17, /* bg */
+    18, /* bh */
+    19, /* bho */
+    20, /* bi */
+    21, /* bin */
+    23, /* bn */
+    24, /* bo */
+    25, /* br */
+    27, /* bs */
+    28, /* bua */
+    30, /* ca */
+    31, /* ce */
+    32, /* ch */
+    33, /* chm */
+    34, /* chr */
+    35, /* co */
+    37, /* cs */
+    39, /* cu */
+    40, /* cv */
+    41, /* cy */
+    42, /* da */
+    43, /* de */
+    46, /* dz */
+    48, /* el */
+    49, /* en */
+    50, /* eo */
+    51, /* es */
+    52, /* et */
+    53, /* eu */
+    54, /* fa */
+    57, /* fi */
+    59, /* fj */
+    60, /* fo */
+    61, /* fr */
+    56, /* ff */
+    62, /* fur */
+    63, /* fy */
+    64, /* ga */
+    65, /* gd */
+    66, /* gez */
+    67, /* gl */
+    68, /* gn */
+    69, /* gu */
+    70, /* gv */
+    71, /* ha */
+    72, /* haw */
+    73, /* he */
+    74, /* hi */
+    76, /* ho */
+    77, /* hr */
+    80, /* hu */
+    81, /* hy */
+    83, /* ia */
+    86, /* ig */
+    84, /* id */
+    85, /* ie */
+    88, /* ik */
+    89, /* io */
+    90, /* is */
+    91, /* it */
+    92, /* iu */
+    93, /* ja */
+    95, /* ka */
+    96, /* kaa */
+    98, /* ki */
+    100, /* kk */
+    101, /* kl */
+    102, /* km */
+    103, /* kn */
+    104, /* ko */
+    105, /* kok */
+    107, /* ks */
+    108, /* ku_am */
+    110, /* ku_ir */
+    112, /* kum */
+    113, /* kv */
+    114, /* kw */
+    116, /* ky */
+    117, /* la */
+    119, /* lb */
+    120, /* lez */
+    123, /* ln */
+    124, /* lo */
+    125, /* lt */
+    126, /* lv */
+    128, /* mg */
+    129, /* mh */
+    130, /* mi */
+    131, /* mk */
+    132, /* ml */
+    133, /* mn_cn */
+    136, /* mo */
+    137, /* mr */
+    139, /* mt */
+    140, /* my */
+    142, /* nb */
+    143, /* nds */
+    144, /* ne */
+    146, /* nl */
+    147, /* nn */
+    148, /* no */
+    150, /* nr */
+    151, /* nso */
+    153, /* ny */
+    154, /* oc */
+    155, /* om */
+    156, /* or */
+    157, /* os */
+    159, /* pa */
+    163, /* pl */
+    164, /* ps_af */
+    165, /* ps_pk */
+    166, /* pt */
+    168, /* rm */
+    170, /* ro */
+    171, /* ru */
+    173, /* sa */
+    174, /* sah */
+    177, /* sco */
+    179, /* se */
+    180, /* sel */
+    182, /* sh */
+    183, /* shs */
+    184, /* si */
+    186, /* sk */
+    187, /* sl */
+    188, /* sm */
+    189, /* sma */
+    190, /* smj */
+    191, /* smn */
+    192, /* sms */
+    194, /* so */
+    195, /* sq */
+    196, /* sr */
+    197, /* ss */
+    198, /* st */
+    200, /* sv */
+    201, /* sw */
+    202, /* syr */
+    203, /* ta */
+    204, /* te */
+    205, /* tg */
+    206, /* th */
+    207, /* ti_er */
+    208, /* ti_et */
+    209, /* tig */
+    210, /* tk */
+    211, /* tl */
+    212, /* tn */
+    213, /* to */
+    214, /* tr */
+    215, /* ts */
+    216, /* tt */
+    217, /* tw */
+    219, /* tyv */
+    220, /* ug */
+    221, /* uk */
+    222, /* ur */
+    223, /* uz */
+    224, /* ve */
+    225, /* vi */
+    226, /* vo */
+    227, /* vot */
+    228, /* wa */
+    230, /* wen */
+    231, /* wo */
+    232, /* xh */
+    233, /* yap */
+    234, /* yi */
+    235, /* yo */
+    237, /* zh_cn */
+    238, /* zh_hk */
+    239, /* zh_mo */
+    240, /* zh_sg */
+    241, /* zh_tw */
+    242, /* zu */
+    3, /* ak */
+    5, /* an */
+    15, /* ber_dz */
+    16, /* ber_ma */
+    29, /* byn */
+    36, /* crh */
+    38, /* csb */
+    45, /* dv */
+    47, /* ee */
+    55, /* fat */
+    58, /* fil */
+    75, /* hne */
+    78, /* hsb */
+    79, /* ht */
+    82, /* hz */
+    87, /* ii */
+    94, /* jv */
+    97, /* kab */
+    99, /* kj */
+    106, /* kr */
+    109, /* ku_iq */
+    111, /* ku_tr */
+    115, /* kwm */
+    121, /* lg */
+    122, /* li */
+    127, /* mai */
+    134, /* mn_mn */
+    138, /* ms */
+    141, /* na */
+    145, /* ng */
+    152, /* nv */
+    158, /* ota */
+    160, /* pa_pk */
+    161, /* pap_an */
+    162, /* pap_aw */
+    167, /* qu */
+    169, /* rn */
+    172, /* rw */
+    176, /* sc */
+    178, /* sd */
+    181, /* sg */
+    185, /* sid */
+    193, /* sn */
+    199, /* su */
+    218, /* ty */
+    229, /* wal */
+    236, /* za */
+    118, /* lah */
+    149, /* nqo */
+    26, /* brx */
+    175, /* sat */
+    44, /* doi */
+    135, /* mni */
+}
+};
+
+#define NUM_LANG_CHAR_SET	243
+#define NUM_LANG_SET_MAP	8
+
+static const FcChar32 fcLangCountrySets[][NUM_LANG_SET_MAP] = {
+    { 0x00000600, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, /* az */
+    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, }, /* ber */
+    { 0x00000000, 0x00000000, 0x00c00000, 0x00000000, 0x00000000, 0x00000000, 0x000c0000, 0x00000000, }, /* ku */
+    { 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x01000000, 0x00000000, }, /* mn */
+    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x40000000, 0x00000000, }, /* pa */
+    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000001, }, /* pap */
+    { 0x00000000, 0x00000000, 0x00000000, 0x30000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, /* ps */
+    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x60000000, 0x00000000, 0x00000000, 0x00000000, }, /* ti */
+    { 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1f000000, 0x00000000, 0x00000000, }, /* zh */
+};
+
+#define NUM_COUNTRY_SET 9
+
+static const FcLangCharSetRange  fcLangCharSetRanges[] = {
+
+    { 0, 12 }, /* a */
+    { 13, 29 }, /* b */
+    { 30, 41 }, /* c */
+    { 42, 46 }, /* d */
+    { 47, 53 }, /* e */
+    { 54, 63 }, /* f */
+    { 64, 70 }, /* g */
+    { 71, 82 }, /* h */
+    { 83, 92 }, /* i */
+    { 93, 94 }, /* j */
+    { 95, 116 }, /* k */
+    { 117, 126 }, /* l */
+    { 127, 140 }, /* m */
+    { 141, 153 }, /* n */
+    { 154, 158 }, /* o */
+    { 159, 166 }, /* p */
+    { 167, 167 }, /* q */
+    { 168, 172 }, /* r */
+    { 173, 202 }, /* s */
+    { 203, 219 }, /* t */
+    { 220, 223 }, /* u */
+    { 224, 227 }, /* v */
+    { 228, 231 }, /* w */
+    { 232, 232 }, /* x */
+    { 233, 235 }, /* y */
+    { 236, 242 }, /* z */
+};
+
diff --git a/third_party/fontconfig/config/mac/config.h b/third_party/fontconfig/config/mac/config.h
new file mode 100644
index 0000000..963ede8
--- /dev/null
+++ b/third_party/fontconfig/config/mac/config.h
@@ -0,0 +1,358 @@
+/* config.h.  Generated from config.h.in by configure.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* The normal alignment of `double', in bytes. */
+#define ALIGNOF_DOUBLE 8
+
+/* Use libxml2 instead of Expat */
+/* #undef ENABLE_LIBXML2 */
+
+/* Additional font directories */
+#define FC_ADD_FONTS "yes"
+
+/* Architecture prefix to use for cache file names */
+/* #undef FC_ARCHITECTURE */
+
+/* System font directory */
+#define FC_DEFAULT_FONTS "/usr/share/fonts"
+
+/* Define to nothing if C supports flexible array members, and to 1 if it does
+   not. That way, with a declaration like `struct s { int n; double
+   d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
+   compilers. When computing the size of such an object, don't use 'sizeof
+   (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)'
+   instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with
+   MSVC and with C++ compilers. */
+#define FLEXIBLE_ARRAY_MEMBER /**/
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#define HAVE_DIRENT_H 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+/* #undef HAVE_DOPRNT */
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the `fstatfs' function. */
+#define HAVE_FSTATFS 1
+
+/* Define to 1 if you have the `fstatvfs' function. */
+#define HAVE_FSTATVFS 1
+
+/* FT_Bitmap_Size structure includes y_ppem field */
+#define HAVE_FT_BITMAP_SIZE_Y_PPEM 1
+
+/* Define to 1 if you have the `FT_Get_BDF_Property' function. */
+#define HAVE_FT_GET_BDF_PROPERTY 1
+
+/* Define to 1 if you have the `FT_Get_Next_Char' function. */
+#define HAVE_FT_GET_NEXT_CHAR 1
+
+/* Define to 1 if you have the `FT_Get_PS_Font_Info' function. */
+#define HAVE_FT_GET_PS_FONT_INFO 1
+
+/* Define to 1 if you have the `FT_Get_X11_Font_Format' function. */
+#define HAVE_FT_GET_X11_FONT_FORMAT 1
+
+/* Define to 1 if you have the `FT_Has_PS_Glyph_Names' function. */
+#define HAVE_FT_HAS_PS_GLYPH_NAMES 1
+
+/* Define to 1 if you have the `FT_Select_Size' function. */
+#define HAVE_FT_SELECT_SIZE 1
+
+/* Define to 1 if you have the `getexecname' function. */
+/* #undef HAVE_GETEXECNAME */
+
+/* Define to 1 if you have the `getopt' function. */
+#define HAVE_GETOPT 1
+
+/* Define to 1 if you have the `getopt_long' function. */
+#define HAVE_GETOPT_LONG 1
+
+/* Define to 1 if you have the `getpagesize' function. */
+#define HAVE_GETPAGESIZE 1
+
+/* Define to 1 if you have the `getprogname' function. */
+#define HAVE_GETPROGNAME 1
+
+/* Have Intel __sync_* atomic primitives */
+#define HAVE_INTEL_ATOMIC_PRIMITIVES 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `link' function. */
+#define HAVE_LINK 1
+
+/* Define to 1 if you have the `lrand48' function. */
+#define HAVE_LRAND48 1
+
+/* Define to 1 if you have the `lstat' function. */
+#define HAVE_LSTAT 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `mkostemp' function. */
+/* #undef HAVE_MKOSTEMP */
+
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
+/* Define to 1 if you have a working `mmap' system call. */
+#define HAVE_MMAP 1
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the 'posix_fadvise' function. */
+/* #undef HAVE_POSIX_FADVISE */
+
+/* Have POSIX threads */
+#define HAVE_PTHREAD 1
+
+/* Have PTHREAD_PRIO_INHERIT. */
+#define HAVE_PTHREAD_PRIO_INHERIT 1
+
+/* Define to 1 if you have the `rand' function. */
+#define HAVE_RAND 1
+
+/* Define to 1 if you have the `random' function. */
+#define HAVE_RANDOM 1
+
+/* Define to 1 if you have the `random_r' function. */
+/* #undef HAVE_RANDOM_R */
+
+/* Define to 1 if you have the `rand_r' function. */
+#define HAVE_RAND_R 1
+
+/* Define to 1 if you have the `regcomp' function. */
+#define HAVE_REGCOMP 1
+
+/* Define to 1 if you have the `regerror' function. */
+#define HAVE_REGERROR 1
+
+/* Define to 1 if you have the `regexec' function. */
+#define HAVE_REGEXEC 1
+
+/* Define to 1 if you have the <regex.h> header file. */
+#define HAVE_REGEX_H 1
+
+/* Define to 1 if you have the `regfree' function. */
+#define HAVE_REGFREE 1
+
+/* Define to 1 if you have the <sched.h> header file. */
+/* #undef HAVE_SCHED_H */
+
+/* Have sched_yield */
+/* #undef HAVE_SCHED_YIELD */
+
+/* Have Solaris __machine_*_barrier and atomic_* operations */
+/* #undef HAVE_SOLARIS_ATOMIC_OPS */
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if `d_type' is a member of `struct dirent'. */
+#define HAVE_STRUCT_DIRENT_D_TYPE 1
+
+/* Define to 1 if `f_flags' is a member of `struct statfs'. */
+#define HAVE_STRUCT_STATFS_F_FLAGS 1
+
+/* Define to 1 if `f_fstypename' is a member of `struct statfs'. */
+#define HAVE_STRUCT_STATFS_F_FSTYPENAME 1
+
+/* Define to 1 if `f_basetype' is a member of `struct statvfs'. */
+/* #undef HAVE_STRUCT_STATVFS_F_BASETYPE */
+
+/* Define to 1 if `f_fstypename' is a member of `struct statvfs'. */
+/* #undef HAVE_STRUCT_STATVFS_F_FSTYPENAME */
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the <sys/mount.h> header file. */
+#define HAVE_SYS_MOUNT_H 1
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/statfs.h> header file. */
+/* #undef HAVE_SYS_STATFS_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <sys/vfs.h> header file. */
+/* #undef HAVE_SYS_VFS_H */
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the `vprintf' function. */
+#define HAVE_VPRINTF 1
+
+/* Can use #warning in C files */
+#define HAVE_WARNING_CPP_DIRECTIVE 1
+
+/* Use xmlparse.h instead of expat.h */
+/* #undef HAVE_XMLPARSE_H */
+
+/* Define to 1 if you have the `XML_SetDoctypeDeclHandler' function. */
+#define HAVE_XML_SETDOCTYPEDECLHANDLER 1
+
+/* Define to 1 if you have the `_mktemp_s' function. */
+/* #undef HAVE__MKTEMP_S */
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#define LT_OBJDIR ".libs/"
+
+/* Name of package */
+#define PACKAGE "fontconfig"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enger_bug.cgi?product=fontconfig"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "fontconfig"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "fontconfig 2.10.93"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "fontconfig"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "2.10.93"
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+/* #undef PTHREAD_CREATE_JOINABLE */
+
+/* The size of `char', as computed by sizeof. */
+/* #undef SIZEOF_CHAR */
+
+/* The size of `int', as computed by sizeof. */
+/* #undef SIZEOF_INT */
+
+/* The size of `long', as computed by sizeof. */
+/* #undef SIZEOF_LONG */
+
+/* The size of `short', as computed by sizeof. */
+/* #undef SIZEOF_SHORT */
+
+/* The size of `void*', as computed by sizeof. */
+/* #undef SIZEOF_VOIDP */
+
+/* The size of `void *', as computed by sizeof. */
+#define SIZEOF_VOID_P 8
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Use iconv. */
+#define USE_ICONV 0
+
+/* Use regex */
+#define USE_REGEX /**/
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+
+
+/* Version number of package */
+#define VERSION "2.10.93"
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* #  undef WORDS_BIGENDIAN */
+# endif
+#endif
+
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+/* Define to 1 if on MINIX. */
+/* #undef _MINIX */
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+/* #undef _POSIX_SOURCE */
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef pid_t */
+
+#include "config-fixups.h"
diff --git a/third_party/fontconfig/config/mac/fcstdint.h b/third_party/fontconfig/config/mac/fcstdint.h
new file mode 100644
index 0000000..a6ec23a
--- /dev/null
+++ b/third_party/fontconfig/config/mac/fcstdint.h
@@ -0,0 +1,9 @@
+#ifndef _FONTCONFIG_SRC_FCSTDINT_H
+#define _FONTCONFIG_SRC_FCSTDINT_H 1
+#ifndef _GENERATED_STDINT_H
+#define _GENERATED_STDINT_H "fontconfig 2.10.93"
+/* generated using gnu compiler i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00) */
+#define _STDINT_HAVE_STDINT_H 1
+#include <stdint.h>
+#endif
+#endif
diff --git a/third_party/fontconfig/config/mac/src/fcalias.h b/third_party/fontconfig/config/mac/src/fcalias.h
new file mode 100644
index 0000000..66d2b5f
--- /dev/null
+++ b/third_party/fontconfig/config/mac/src/fcalias.h
@@ -0,0 +1,388 @@
+extern __typeof (FcBlanksCreate) IA__FcBlanksCreate __attribute((visibility("hidden")));
+#define FcBlanksCreate IA__FcBlanksCreate
+extern __typeof (FcBlanksDestroy) IA__FcBlanksDestroy __attribute((visibility("hidden")));
+#define FcBlanksDestroy IA__FcBlanksDestroy
+extern __typeof (FcBlanksAdd) IA__FcBlanksAdd __attribute((visibility("hidden")));
+#define FcBlanksAdd IA__FcBlanksAdd
+extern __typeof (FcBlanksIsMember) IA__FcBlanksIsMember __attribute((visibility("hidden")));
+#define FcBlanksIsMember IA__FcBlanksIsMember
+extern __typeof (FcCacheCopySet) IA__FcCacheCopySet __attribute((visibility("hidden")));
+#define FcCacheCopySet IA__FcCacheCopySet
+extern __typeof (FcCacheNumSubdir) IA__FcCacheNumSubdir __attribute((visibility("hidden")));
+#define FcCacheNumSubdir IA__FcCacheNumSubdir
+extern __typeof (FcCacheNumFont) IA__FcCacheNumFont __attribute((visibility("hidden")));
+#define FcCacheNumFont IA__FcCacheNumFont
+extern __typeof (FcDirCacheUnlink) IA__FcDirCacheUnlink __attribute((visibility("hidden")));
+#define FcDirCacheUnlink IA__FcDirCacheUnlink
+extern __typeof (FcDirCacheValid) IA__FcDirCacheValid __attribute((visibility("hidden")));
+#define FcDirCacheValid IA__FcDirCacheValid
+extern __typeof (FcDirCacheClean) IA__FcDirCacheClean __attribute((visibility("hidden")));
+#define FcDirCacheClean IA__FcDirCacheClean
+extern __typeof (FcCacheCreateTagFile) IA__FcCacheCreateTagFile __attribute((visibility("hidden")));
+#define FcCacheCreateTagFile IA__FcCacheCreateTagFile
+extern __typeof (FcConfigHome) IA__FcConfigHome __attribute((visibility("hidden")));
+#define FcConfigHome IA__FcConfigHome
+extern __typeof (FcConfigEnableHome) IA__FcConfigEnableHome __attribute((visibility("hidden")));
+#define FcConfigEnableHome IA__FcConfigEnableHome
+extern __typeof (FcConfigFilename) IA__FcConfigFilename __attribute((visibility("hidden")));
+#define FcConfigFilename IA__FcConfigFilename
+extern __typeof (FcConfigCreate) IA__FcConfigCreate __attribute((visibility("hidden")));
+#define FcConfigCreate IA__FcConfigCreate
+extern __typeof (FcConfigReference) IA__FcConfigReference __attribute((visibility("hidden")));
+#define FcConfigReference IA__FcConfigReference
+extern __typeof (FcConfigDestroy) IA__FcConfigDestroy __attribute((visibility("hidden")));
+#define FcConfigDestroy IA__FcConfigDestroy
+extern __typeof (FcConfigSetCurrent) IA__FcConfigSetCurrent __attribute((visibility("hidden")));
+#define FcConfigSetCurrent IA__FcConfigSetCurrent
+extern __typeof (FcConfigGetCurrent) IA__FcConfigGetCurrent __attribute((visibility("hidden")));
+#define FcConfigGetCurrent IA__FcConfigGetCurrent
+extern __typeof (FcConfigUptoDate) IA__FcConfigUptoDate __attribute((visibility("hidden")));
+#define FcConfigUptoDate IA__FcConfigUptoDate
+extern __typeof (FcConfigBuildFonts) IA__FcConfigBuildFonts __attribute((visibility("hidden")));
+#define FcConfigBuildFonts IA__FcConfigBuildFonts
+extern __typeof (FcConfigGetFontDirs) IA__FcConfigGetFontDirs __attribute((visibility("hidden")));
+#define FcConfigGetFontDirs IA__FcConfigGetFontDirs
+extern __typeof (FcConfigGetConfigDirs) IA__FcConfigGetConfigDirs __attribute((visibility("hidden")));
+#define FcConfigGetConfigDirs IA__FcConfigGetConfigDirs
+extern __typeof (FcConfigGetConfigFiles) IA__FcConfigGetConfigFiles __attribute((visibility("hidden")));
+#define FcConfigGetConfigFiles IA__FcConfigGetConfigFiles
+extern __typeof (FcConfigGetCache) IA__FcConfigGetCache __attribute((visibility("hidden")));
+#define FcConfigGetCache IA__FcConfigGetCache
+extern __typeof (FcConfigGetBlanks) IA__FcConfigGetBlanks __attribute((visibility("hidden")));
+#define FcConfigGetBlanks IA__FcConfigGetBlanks
+extern __typeof (FcConfigGetCacheDirs) IA__FcConfigGetCacheDirs __attribute((visibility("hidden")));
+#define FcConfigGetCacheDirs IA__FcConfigGetCacheDirs
+extern __typeof (FcConfigGetRescanInterval) IA__FcConfigGetRescanInterval __attribute((visibility("hidden")));
+#define FcConfigGetRescanInterval IA__FcConfigGetRescanInterval
+extern __typeof (FcConfigSetRescanInterval) IA__FcConfigSetRescanInterval __attribute((visibility("hidden")));
+#define FcConfigSetRescanInterval IA__FcConfigSetRescanInterval
+extern __typeof (FcConfigGetFonts) IA__FcConfigGetFonts __attribute((visibility("hidden")));
+#define FcConfigGetFonts IA__FcConfigGetFonts
+extern __typeof (FcConfigAppFontAddFile) IA__FcConfigAppFontAddFile __attribute((visibility("hidden")));
+#define FcConfigAppFontAddFile IA__FcConfigAppFontAddFile
+extern __typeof (FcConfigAppFontAddDir) IA__FcConfigAppFontAddDir __attribute((visibility("hidden")));
+#define FcConfigAppFontAddDir IA__FcConfigAppFontAddDir
+extern __typeof (FcConfigAppFontClear) IA__FcConfigAppFontClear __attribute((visibility("hidden")));
+#define FcConfigAppFontClear IA__FcConfigAppFontClear
+extern __typeof (FcConfigSubstituteWithPat) IA__FcConfigSubstituteWithPat __attribute((visibility("hidden")));
+#define FcConfigSubstituteWithPat IA__FcConfigSubstituteWithPat
+extern __typeof (FcConfigSubstitute) IA__FcConfigSubstitute __attribute((visibility("hidden")));
+#define FcConfigSubstitute IA__FcConfigSubstitute
+extern __typeof (FcConfigGetSysRoot) IA__FcConfigGetSysRoot __attribute((visibility("hidden")));
+#define FcConfigGetSysRoot IA__FcConfigGetSysRoot
+extern __typeof (FcConfigSetSysRoot) IA__FcConfigSetSysRoot __attribute((visibility("hidden")));
+#define FcConfigSetSysRoot IA__FcConfigSetSysRoot
+extern __typeof (FcCharSetCreate) IA__FcCharSetCreate __attribute((visibility("hidden")));
+#define FcCharSetCreate IA__FcCharSetCreate
+extern __typeof (FcCharSetNew) IA__FcCharSetNew __attribute((visibility("hidden")));
+#define FcCharSetNew IA__FcCharSetNew
+extern __typeof (FcCharSetDestroy) IA__FcCharSetDestroy __attribute((visibility("hidden")));
+#define FcCharSetDestroy IA__FcCharSetDestroy
+extern __typeof (FcCharSetAddChar) IA__FcCharSetAddChar __attribute((visibility("hidden")));
+#define FcCharSetAddChar IA__FcCharSetAddChar
+extern __typeof (FcCharSetDelChar) IA__FcCharSetDelChar __attribute((visibility("hidden")));
+#define FcCharSetDelChar IA__FcCharSetDelChar
+extern __typeof (FcCharSetCopy) IA__FcCharSetCopy __attribute((visibility("hidden")));
+#define FcCharSetCopy IA__FcCharSetCopy
+extern __typeof (FcCharSetEqual) IA__FcCharSetEqual __attribute((visibility("hidden")));
+#define FcCharSetEqual IA__FcCharSetEqual
+extern __typeof (FcCharSetIntersect) IA__FcCharSetIntersect __attribute((visibility("hidden")));
+#define FcCharSetIntersect IA__FcCharSetIntersect
+extern __typeof (FcCharSetUnion) IA__FcCharSetUnion __attribute((visibility("hidden")));
+#define FcCharSetUnion IA__FcCharSetUnion
+extern __typeof (FcCharSetSubtract) IA__FcCharSetSubtract __attribute((visibility("hidden")));
+#define FcCharSetSubtract IA__FcCharSetSubtract
+extern __typeof (FcCharSetMerge) IA__FcCharSetMerge __attribute((visibility("hidden")));
+#define FcCharSetMerge IA__FcCharSetMerge
+extern __typeof (FcCharSetHasChar) IA__FcCharSetHasChar __attribute((visibility("hidden")));
+#define FcCharSetHasChar IA__FcCharSetHasChar
+extern __typeof (FcCharSetCount) IA__FcCharSetCount __attribute((visibility("hidden")));
+#define FcCharSetCount IA__FcCharSetCount
+extern __typeof (FcCharSetIntersectCount) IA__FcCharSetIntersectCount __attribute((visibility("hidden")));
+#define FcCharSetIntersectCount IA__FcCharSetIntersectCount
+extern __typeof (FcCharSetSubtractCount) IA__FcCharSetSubtractCount __attribute((visibility("hidden")));
+#define FcCharSetSubtractCount IA__FcCharSetSubtractCount
+extern __typeof (FcCharSetIsSubset) IA__FcCharSetIsSubset __attribute((visibility("hidden")));
+#define FcCharSetIsSubset IA__FcCharSetIsSubset
+extern __typeof (FcCharSetFirstPage) IA__FcCharSetFirstPage __attribute((visibility("hidden")));
+#define FcCharSetFirstPage IA__FcCharSetFirstPage
+extern __typeof (FcCharSetNextPage) IA__FcCharSetNextPage __attribute((visibility("hidden")));
+#define FcCharSetNextPage IA__FcCharSetNextPage
+extern __typeof (FcCharSetCoverage) IA__FcCharSetCoverage __attribute((visibility("hidden")));
+#define FcCharSetCoverage IA__FcCharSetCoverage
+extern __typeof (FcValuePrint) IA__FcValuePrint __attribute((visibility("hidden")));
+#define FcValuePrint IA__FcValuePrint
+extern __typeof (FcPatternPrint) IA__FcPatternPrint __attribute((visibility("hidden")));
+#define FcPatternPrint IA__FcPatternPrint
+extern __typeof (FcFontSetPrint) IA__FcFontSetPrint __attribute((visibility("hidden")));
+#define FcFontSetPrint IA__FcFontSetPrint
+extern __typeof (FcGetDefaultLangs) IA__FcGetDefaultLangs __attribute((visibility("hidden")));
+#define FcGetDefaultLangs IA__FcGetDefaultLangs
+extern __typeof (FcDefaultSubstitute) IA__FcDefaultSubstitute __attribute((visibility("hidden")));
+#define FcDefaultSubstitute IA__FcDefaultSubstitute
+extern __typeof (FcFileIsDir) IA__FcFileIsDir __attribute((visibility("hidden")));
+#define FcFileIsDir IA__FcFileIsDir
+extern __typeof (FcFileScan) IA__FcFileScan __attribute((visibility("hidden")));
+#define FcFileScan IA__FcFileScan
+extern __typeof (FcDirScan) IA__FcDirScan __attribute((visibility("hidden")));
+#define FcDirScan IA__FcDirScan
+extern __typeof (FcDirSave) IA__FcDirSave __attribute((visibility("hidden")));
+#define FcDirSave IA__FcDirSave
+extern __typeof (FcDirCacheLoad) IA__FcDirCacheLoad __attribute((visibility("hidden")));
+#define FcDirCacheLoad IA__FcDirCacheLoad
+extern __typeof (FcDirCacheRead) IA__FcDirCacheRead __attribute((visibility("hidden")));
+#define FcDirCacheRead IA__FcDirCacheRead
+extern __typeof (FcDirCacheLoadFile) IA__FcDirCacheLoadFile __attribute((visibility("hidden")));
+#define FcDirCacheLoadFile IA__FcDirCacheLoadFile
+extern __typeof (FcDirCacheUnload) IA__FcDirCacheUnload __attribute((visibility("hidden")));
+#define FcDirCacheUnload IA__FcDirCacheUnload
+extern __typeof (FcFreeTypeQuery) IA__FcFreeTypeQuery __attribute((visibility("hidden")));
+#define FcFreeTypeQuery IA__FcFreeTypeQuery
+extern __typeof (FcFontSetCreate) IA__FcFontSetCreate __attribute((visibility("hidden")));
+#define FcFontSetCreate IA__FcFontSetCreate
+extern __typeof (FcFontSetDestroy) IA__FcFontSetDestroy __attribute((visibility("hidden")));
+#define FcFontSetDestroy IA__FcFontSetDestroy
+extern __typeof (FcFontSetAdd) IA__FcFontSetAdd __attribute((visibility("hidden")));
+#define FcFontSetAdd IA__FcFontSetAdd
+extern __typeof (FcInitLoadConfig) IA__FcInitLoadConfig __attribute((visibility("hidden")));
+#define FcInitLoadConfig IA__FcInitLoadConfig
+extern __typeof (FcInitLoadConfigAndFonts) IA__FcInitLoadConfigAndFonts __attribute((visibility("hidden")));
+#define FcInitLoadConfigAndFonts IA__FcInitLoadConfigAndFonts
+extern __typeof (FcInit) IA__FcInit __attribute((visibility("hidden")));
+#define FcInit IA__FcInit
+extern __typeof (FcFini) IA__FcFini __attribute((visibility("hidden")));
+#define FcFini IA__FcFini
+extern __typeof (FcGetVersion) IA__FcGetVersion __attribute((visibility("hidden")));
+#define FcGetVersion IA__FcGetVersion
+extern __typeof (FcInitReinitialize) IA__FcInitReinitialize __attribute((visibility("hidden")));
+#define FcInitReinitialize IA__FcInitReinitialize
+extern __typeof (FcInitBringUptoDate) IA__FcInitBringUptoDate __attribute((visibility("hidden")));
+#define FcInitBringUptoDate IA__FcInitBringUptoDate
+extern __typeof (FcGetLangs) IA__FcGetLangs __attribute((visibility("hidden")));
+#define FcGetLangs IA__FcGetLangs
+extern __typeof (FcLangNormalize) IA__FcLangNormalize __attribute((visibility("hidden")));
+#define FcLangNormalize IA__FcLangNormalize
+extern __typeof (FcLangGetCharSet) IA__FcLangGetCharSet __attribute((visibility("hidden")));
+#define FcLangGetCharSet IA__FcLangGetCharSet
+extern __typeof (FcLangSetCreate) IA__FcLangSetCreate __attribute((visibility("hidden")));
+#define FcLangSetCreate IA__FcLangSetCreate
+extern __typeof (FcLangSetDestroy) IA__FcLangSetDestroy __attribute((visibility("hidden")));
+#define FcLangSetDestroy IA__FcLangSetDestroy
+extern __typeof (FcLangSetCopy) IA__FcLangSetCopy __attribute((visibility("hidden")));
+#define FcLangSetCopy IA__FcLangSetCopy
+extern __typeof (FcLangSetAdd) IA__FcLangSetAdd __attribute((visibility("hidden")));
+#define FcLangSetAdd IA__FcLangSetAdd
+extern __typeof (FcLangSetDel) IA__FcLangSetDel __attribute((visibility("hidden")));
+#define FcLangSetDel IA__FcLangSetDel
+extern __typeof (FcLangSetHasLang) IA__FcLangSetHasLang __attribute((visibility("hidden")));
+#define FcLangSetHasLang IA__FcLangSetHasLang
+extern __typeof (FcLangSetCompare) IA__FcLangSetCompare __attribute((visibility("hidden")));
+#define FcLangSetCompare IA__FcLangSetCompare
+extern __typeof (FcLangSetContains) IA__FcLangSetContains __attribute((visibility("hidden")));
+#define FcLangSetContains IA__FcLangSetContains
+extern __typeof (FcLangSetEqual) IA__FcLangSetEqual __attribute((visibility("hidden")));
+#define FcLangSetEqual IA__FcLangSetEqual
+extern __typeof (FcLangSetHash) IA__FcLangSetHash __attribute((visibility("hidden")));
+#define FcLangSetHash IA__FcLangSetHash
+extern __typeof (FcLangSetGetLangs) IA__FcLangSetGetLangs __attribute((visibility("hidden")));
+#define FcLangSetGetLangs IA__FcLangSetGetLangs
+extern __typeof (FcLangSetUnion) IA__FcLangSetUnion __attribute((visibility("hidden")));
+#define FcLangSetUnion IA__FcLangSetUnion
+extern __typeof (FcLangSetSubtract) IA__FcLangSetSubtract __attribute((visibility("hidden")));
+#define FcLangSetSubtract IA__FcLangSetSubtract
+extern __typeof (FcObjectSetCreate) IA__FcObjectSetCreate __attribute((visibility("hidden")));
+#define FcObjectSetCreate IA__FcObjectSetCreate
+extern __typeof (FcObjectSetAdd) IA__FcObjectSetAdd __attribute((visibility("hidden")));
+#define FcObjectSetAdd IA__FcObjectSetAdd
+extern __typeof (FcObjectSetDestroy) IA__FcObjectSetDestroy __attribute((visibility("hidden")));
+#define FcObjectSetDestroy IA__FcObjectSetDestroy
+extern __typeof (FcObjectSetVaBuild) IA__FcObjectSetVaBuild __attribute((visibility("hidden")));
+#define FcObjectSetVaBuild IA__FcObjectSetVaBuild
+extern __typeof (FcObjectSetBuild) IA__FcObjectSetBuild __attribute((visibility("hidden")));
+#define FcObjectSetBuild IA__FcObjectSetBuild
+extern __typeof (FcFontSetList) IA__FcFontSetList __attribute((visibility("hidden")));
+#define FcFontSetList IA__FcFontSetList
+extern __typeof (FcFontList) IA__FcFontList __attribute((visibility("hidden")));
+#define FcFontList IA__FcFontList
+extern __typeof (FcAtomicCreate) IA__FcAtomicCreate __attribute((visibility("hidden")));
+#define FcAtomicCreate IA__FcAtomicCreate
+extern __typeof (FcAtomicLock) IA__FcAtomicLock __attribute((visibility("hidden")));
+#define FcAtomicLock IA__FcAtomicLock
+extern __typeof (FcAtomicNewFile) IA__FcAtomicNewFile __attribute((visibility("hidden")));
+#define FcAtomicNewFile IA__FcAtomicNewFile
+extern __typeof (FcAtomicOrigFile) IA__FcAtomicOrigFile __attribute((visibility("hidden")));
+#define FcAtomicOrigFile IA__FcAtomicOrigFile
+extern __typeof (FcAtomicReplaceOrig) IA__FcAtomicReplaceOrig __attribute((visibility("hidden")));
+#define FcAtomicReplaceOrig IA__FcAtomicReplaceOrig
+extern __typeof (FcAtomicDeleteNew) IA__FcAtomicDeleteNew __attribute((visibility("hidden")));
+#define FcAtomicDeleteNew IA__FcAtomicDeleteNew
+extern __typeof (FcAtomicUnlock) IA__FcAtomicUnlock __attribute((visibility("hidden")));
+#define FcAtomicUnlock IA__FcAtomicUnlock
+extern __typeof (FcAtomicDestroy) IA__FcAtomicDestroy __attribute((visibility("hidden")));
+#define FcAtomicDestroy IA__FcAtomicDestroy
+extern __typeof (FcFontSetMatch) IA__FcFontSetMatch __attribute((visibility("hidden")));
+#define FcFontSetMatch IA__FcFontSetMatch
+extern __typeof (FcFontMatch) IA__FcFontMatch __attribute((visibility("hidden")));
+#define FcFontMatch IA__FcFontMatch
+extern __typeof (FcFontRenderPrepare) IA__FcFontRenderPrepare __attribute((visibility("hidden")));
+#define FcFontRenderPrepare IA__FcFontRenderPrepare
+extern __typeof (FcFontSetSort) IA__FcFontSetSort __attribute((visibility("hidden")));
+#define FcFontSetSort IA__FcFontSetSort
+extern __typeof (FcFontSort) IA__FcFontSort __attribute((visibility("hidden")));
+#define FcFontSort IA__FcFontSort
+extern __typeof (FcFontSetSortDestroy) IA__FcFontSetSortDestroy __attribute((visibility("hidden")));
+#define FcFontSetSortDestroy IA__FcFontSetSortDestroy
+extern __typeof (FcMatrixCopy) IA__FcMatrixCopy __attribute((visibility("hidden")));
+#define FcMatrixCopy IA__FcMatrixCopy
+extern __typeof (FcMatrixEqual) IA__FcMatrixEqual __attribute((visibility("hidden")));
+#define FcMatrixEqual IA__FcMatrixEqual
+extern __typeof (FcMatrixMultiply) IA__FcMatrixMultiply __attribute((visibility("hidden")));
+#define FcMatrixMultiply IA__FcMatrixMultiply
+extern __typeof (FcMatrixRotate) IA__FcMatrixRotate __attribute((visibility("hidden")));
+#define FcMatrixRotate IA__FcMatrixRotate
+extern __typeof (FcMatrixScale) IA__FcMatrixScale __attribute((visibility("hidden")));
+#define FcMatrixScale IA__FcMatrixScale
+extern __typeof (FcMatrixShear) IA__FcMatrixShear __attribute((visibility("hidden")));
+#define FcMatrixShear IA__FcMatrixShear
+extern __typeof (FcNameRegisterObjectTypes) IA__FcNameRegisterObjectTypes __attribute((visibility("hidden")));
+#define FcNameRegisterObjectTypes IA__FcNameRegisterObjectTypes
+extern __typeof (FcNameUnregisterObjectTypes) IA__FcNameUnregisterObjectTypes __attribute((visibility("hidden")));
+#define FcNameUnregisterObjectTypes IA__FcNameUnregisterObjectTypes
+extern __typeof (FcNameGetObjectType) IA__FcNameGetObjectType __attribute((visibility("hidden")));
+#define FcNameGetObjectType IA__FcNameGetObjectType
+extern __typeof (FcNameRegisterConstants) IA__FcNameRegisterConstants __attribute((visibility("hidden")));
+#define FcNameRegisterConstants IA__FcNameRegisterConstants
+extern __typeof (FcNameUnregisterConstants) IA__FcNameUnregisterConstants __attribute((visibility("hidden")));
+#define FcNameUnregisterConstants IA__FcNameUnregisterConstants
+extern __typeof (FcNameGetConstant) IA__FcNameGetConstant __attribute((visibility("hidden")));
+#define FcNameGetConstant IA__FcNameGetConstant
+extern __typeof (FcNameConstant) IA__FcNameConstant __attribute((visibility("hidden")));
+#define FcNameConstant IA__FcNameConstant
+extern __typeof (FcNameParse) IA__FcNameParse __attribute((visibility("hidden")));
+#define FcNameParse IA__FcNameParse
+extern __typeof (FcNameUnparse) IA__FcNameUnparse __attribute((visibility("hidden")));
+#define FcNameUnparse IA__FcNameUnparse
+extern __typeof (FcPatternCreate) IA__FcPatternCreate __attribute((visibility("hidden")));
+#define FcPatternCreate IA__FcPatternCreate
+extern __typeof (FcPatternDuplicate) IA__FcPatternDuplicate __attribute((visibility("hidden")));
+#define FcPatternDuplicate IA__FcPatternDuplicate
+extern __typeof (FcPatternReference) IA__FcPatternReference __attribute((visibility("hidden")));
+#define FcPatternReference IA__FcPatternReference
+extern __typeof (FcPatternFilter) IA__FcPatternFilter __attribute((visibility("hidden")));
+#define FcPatternFilter IA__FcPatternFilter
+extern __typeof (FcValueDestroy) IA__FcValueDestroy __attribute((visibility("hidden")));
+#define FcValueDestroy IA__FcValueDestroy
+extern __typeof (FcValueEqual) IA__FcValueEqual __attribute((visibility("hidden")));
+#define FcValueEqual IA__FcValueEqual
+extern __typeof (FcValueSave) IA__FcValueSave __attribute((visibility("hidden")));
+#define FcValueSave IA__FcValueSave
+extern __typeof (FcPatternDestroy) IA__FcPatternDestroy __attribute((visibility("hidden")));
+#define FcPatternDestroy IA__FcPatternDestroy
+extern __typeof (FcPatternEqual) IA__FcPatternEqual __attribute((visibility("hidden")));
+#define FcPatternEqual IA__FcPatternEqual
+extern __typeof (FcPatternEqualSubset) IA__FcPatternEqualSubset __attribute((visibility("hidden")));
+#define FcPatternEqualSubset IA__FcPatternEqualSubset
+extern __typeof (FcPatternHash) IA__FcPatternHash __attribute((visibility("hidden")));
+#define FcPatternHash IA__FcPatternHash
+extern __typeof (FcPatternAdd) IA__FcPatternAdd __attribute((visibility("hidden")));
+#define FcPatternAdd IA__FcPatternAdd
+extern __typeof (FcPatternAddWeak) IA__FcPatternAddWeak __attribute((visibility("hidden")));
+#define FcPatternAddWeak IA__FcPatternAddWeak
+extern __typeof (FcPatternGet) IA__FcPatternGet __attribute((visibility("hidden")));
+#define FcPatternGet IA__FcPatternGet
+extern __typeof (FcPatternDel) IA__FcPatternDel __attribute((visibility("hidden")));
+#define FcPatternDel IA__FcPatternDel
+extern __typeof (FcPatternRemove) IA__FcPatternRemove __attribute((visibility("hidden")));
+#define FcPatternRemove IA__FcPatternRemove
+extern __typeof (FcPatternAddInteger) IA__FcPatternAddInteger __attribute((visibility("hidden")));
+#define FcPatternAddInteger IA__FcPatternAddInteger
+extern __typeof (FcPatternAddDouble) IA__FcPatternAddDouble __attribute((visibility("hidden")));
+#define FcPatternAddDouble IA__FcPatternAddDouble
+extern __typeof (FcPatternAddString) IA__FcPatternAddString __attribute((visibility("hidden")));
+#define FcPatternAddString IA__FcPatternAddString
+extern __typeof (FcPatternAddMatrix) IA__FcPatternAddMatrix __attribute((visibility("hidden")));
+#define FcPatternAddMatrix IA__FcPatternAddMatrix
+extern __typeof (FcPatternAddCharSet) IA__FcPatternAddCharSet __attribute((visibility("hidden")));
+#define FcPatternAddCharSet IA__FcPatternAddCharSet
+extern __typeof (FcPatternAddBool) IA__FcPatternAddBool __attribute((visibility("hidden")));
+#define FcPatternAddBool IA__FcPatternAddBool
+extern __typeof (FcPatternAddLangSet) IA__FcPatternAddLangSet __attribute((visibility("hidden")));
+#define FcPatternAddLangSet IA__FcPatternAddLangSet
+extern __typeof (FcPatternGetInteger) IA__FcPatternGetInteger __attribute((visibility("hidden")));
+#define FcPatternGetInteger IA__FcPatternGetInteger
+extern __typeof (FcPatternGetDouble) IA__FcPatternGetDouble __attribute((visibility("hidden")));
+#define FcPatternGetDouble IA__FcPatternGetDouble
+extern __typeof (FcPatternGetString) IA__FcPatternGetString __attribute((visibility("hidden")));
+#define FcPatternGetString IA__FcPatternGetString
+extern __typeof (FcPatternGetMatrix) IA__FcPatternGetMatrix __attribute((visibility("hidden")));
+#define FcPatternGetMatrix IA__FcPatternGetMatrix
+extern __typeof (FcPatternGetCharSet) IA__FcPatternGetCharSet __attribute((visibility("hidden")));
+#define FcPatternGetCharSet IA__FcPatternGetCharSet
+extern __typeof (FcPatternGetBool) IA__FcPatternGetBool __attribute((visibility("hidden")));
+#define FcPatternGetBool IA__FcPatternGetBool
+extern __typeof (FcPatternGetLangSet) IA__FcPatternGetLangSet __attribute((visibility("hidden")));
+#define FcPatternGetLangSet IA__FcPatternGetLangSet
+extern __typeof (FcPatternVaBuild) IA__FcPatternVaBuild __attribute((visibility("hidden")));
+#define FcPatternVaBuild IA__FcPatternVaBuild
+extern __typeof (FcPatternBuild) IA__FcPatternBuild __attribute((visibility("hidden")));
+#define FcPatternBuild IA__FcPatternBuild
+extern __typeof (FcPatternFormat) IA__FcPatternFormat __attribute((visibility("hidden")));
+#define FcPatternFormat IA__FcPatternFormat
+extern __typeof (FcStrCopy) IA__FcStrCopy __attribute((visibility("hidden")));
+#define FcStrCopy IA__FcStrCopy
+extern __typeof (FcStrCopyFilename) IA__FcStrCopyFilename __attribute((visibility("hidden")));
+#define FcStrCopyFilename IA__FcStrCopyFilename
+extern __typeof (FcStrPlus) IA__FcStrPlus __attribute((visibility("hidden")));
+#define FcStrPlus IA__FcStrPlus
+extern __typeof (FcStrFree) IA__FcStrFree __attribute((visibility("hidden")));
+#define FcStrFree IA__FcStrFree
+extern __typeof (FcStrDowncase) IA__FcStrDowncase __attribute((visibility("hidden")));
+#define FcStrDowncase IA__FcStrDowncase
+extern __typeof (FcStrCmpIgnoreCase) IA__FcStrCmpIgnoreCase __attribute((visibility("hidden")));
+#define FcStrCmpIgnoreCase IA__FcStrCmpIgnoreCase
+extern __typeof (FcStrCmp) IA__FcStrCmp __attribute((visibility("hidden")));
+#define FcStrCmp IA__FcStrCmp
+extern __typeof (FcStrStrIgnoreCase) IA__FcStrStrIgnoreCase __attribute((visibility("hidden")));
+#define FcStrStrIgnoreCase IA__FcStrStrIgnoreCase
+extern __typeof (FcStrStr) IA__FcStrStr __attribute((visibility("hidden")));
+#define FcStrStr IA__FcStrStr
+extern __typeof (FcUtf8ToUcs4) IA__FcUtf8ToUcs4 __attribute((visibility("hidden")));
+#define FcUtf8ToUcs4 IA__FcUtf8ToUcs4
+extern __typeof (FcUtf8Len) IA__FcUtf8Len __attribute((visibility("hidden")));
+#define FcUtf8Len IA__FcUtf8Len
+extern __typeof (FcUcs4ToUtf8) IA__FcUcs4ToUtf8 __attribute((visibility("hidden")));
+#define FcUcs4ToUtf8 IA__FcUcs4ToUtf8
+extern __typeof (FcUtf16ToUcs4) IA__FcUtf16ToUcs4 __attribute((visibility("hidden")));
+#define FcUtf16ToUcs4 IA__FcUtf16ToUcs4
+extern __typeof (FcUtf16Len) IA__FcUtf16Len __attribute((visibility("hidden")));
+#define FcUtf16Len IA__FcUtf16Len
+extern __typeof (FcStrDirname) IA__FcStrDirname __attribute((visibility("hidden")));
+#define FcStrDirname IA__FcStrDirname
+extern __typeof (FcStrBasename) IA__FcStrBasename __attribute((visibility("hidden")));
+#define FcStrBasename IA__FcStrBasename
+extern __typeof (FcStrSetCreate) IA__FcStrSetCreate __attribute((visibility("hidden")));
+#define FcStrSetCreate IA__FcStrSetCreate
+extern __typeof (FcStrSetMember) IA__FcStrSetMember __attribute((visibility("hidden")));
+#define FcStrSetMember IA__FcStrSetMember
+extern __typeof (FcStrSetEqual) IA__FcStrSetEqual __attribute((visibility("hidden")));
+#define FcStrSetEqual IA__FcStrSetEqual
+extern __typeof (FcStrSetAdd) IA__FcStrSetAdd __attribute((visibility("hidden")));
+#define FcStrSetAdd IA__FcStrSetAdd
+extern __typeof (FcStrSetAddFilename) IA__FcStrSetAddFilename __attribute((visibility("hidden")));
+#define FcStrSetAddFilename IA__FcStrSetAddFilename
+extern __typeof (FcStrSetDel) IA__FcStrSetDel __attribute((visibility("hidden")));
+#define FcStrSetDel IA__FcStrSetDel
+extern __typeof (FcStrSetDestroy) IA__FcStrSetDestroy __attribute((visibility("hidden")));
+#define FcStrSetDestroy IA__FcStrSetDestroy
+extern __typeof (FcStrListCreate) IA__FcStrListCreate __attribute((visibility("hidden")));
+#define FcStrListCreate IA__FcStrListCreate
+extern __typeof (FcStrListNext) IA__FcStrListNext __attribute((visibility("hidden")));
+#define FcStrListNext IA__FcStrListNext
+extern __typeof (FcStrListDone) IA__FcStrListDone __attribute((visibility("hidden")));
+#define FcStrListDone IA__FcStrListDone
+extern __typeof (FcConfigParseAndLoad) IA__FcConfigParseAndLoad __attribute((visibility("hidden")));
+#define FcConfigParseAndLoad IA__FcConfigParseAndLoad
+extern __typeof (FcConfigGetRescanInverval) IA__FcConfigGetRescanInverval __attribute((visibility("hidden")));
+#define FcConfigGetRescanInverval IA__FcConfigGetRescanInverval
+extern __typeof (FcConfigSetRescanInverval) IA__FcConfigSetRescanInverval __attribute((visibility("hidden")));
+#define FcConfigSetRescanInverval IA__FcConfigSetRescanInverval
diff --git a/third_party/fontconfig/config/mac/src/fcaliastail.h b/third_party/fontconfig/config/mac/src/fcaliastail.h
new file mode 100644
index 0000000..a1b9665
--- /dev/null
+++ b/third_party/fontconfig/config/mac/src/fcaliastail.h
@@ -0,0 +1,438 @@
+#if HAVE_GNUC_ATTRIBUTE
+#ifdef __fcblanks__
+# undef FcBlanksCreate
+extern __typeof (FcBlanksCreate) FcBlanksCreate __attribute((alias("IA__FcBlanksCreate"), visibility("default")));
+# undef FcBlanksDestroy
+extern __typeof (FcBlanksDestroy) FcBlanksDestroy __attribute((alias("IA__FcBlanksDestroy"), visibility("default")));
+# undef FcBlanksAdd
+extern __typeof (FcBlanksAdd) FcBlanksAdd __attribute((alias("IA__FcBlanksAdd"), visibility("default")));
+# undef FcBlanksIsMember
+extern __typeof (FcBlanksIsMember) FcBlanksIsMember __attribute((alias("IA__FcBlanksIsMember"), visibility("default")));
+#endif /* __fcblanks__ */
+#ifdef __fccache__
+# undef FcCacheCopySet
+extern __typeof (FcCacheCopySet) FcCacheCopySet __attribute((alias("IA__FcCacheCopySet"), visibility("default")));
+# undef FcCacheNumSubdir
+extern __typeof (FcCacheNumSubdir) FcCacheNumSubdir __attribute((alias("IA__FcCacheNumSubdir"), visibility("default")));
+# undef FcCacheNumFont
+extern __typeof (FcCacheNumFont) FcCacheNumFont __attribute((alias("IA__FcCacheNumFont"), visibility("default")));
+# undef FcDirCacheUnlink
+extern __typeof (FcDirCacheUnlink) FcDirCacheUnlink __attribute((alias("IA__FcDirCacheUnlink"), visibility("default")));
+# undef FcDirCacheValid
+extern __typeof (FcDirCacheValid) FcDirCacheValid __attribute((alias("IA__FcDirCacheValid"), visibility("default")));
+# undef FcDirCacheClean
+extern __typeof (FcDirCacheClean) FcDirCacheClean __attribute((alias("IA__FcDirCacheClean"), visibility("default")));
+# undef FcCacheCreateTagFile
+extern __typeof (FcCacheCreateTagFile) FcCacheCreateTagFile __attribute((alias("IA__FcCacheCreateTagFile"), visibility("default")));
+#endif /* __fccache__ */
+#ifdef __fccfg__
+# undef FcConfigHome
+extern __typeof (FcConfigHome) FcConfigHome __attribute((alias("IA__FcConfigHome"), visibility("default")));
+# undef FcConfigEnableHome
+extern __typeof (FcConfigEnableHome) FcConfigEnableHome __attribute((alias("IA__FcConfigEnableHome"), visibility("default")));
+# undef FcConfigFilename
+extern __typeof (FcConfigFilename) FcConfigFilename __attribute((alias("IA__FcConfigFilename"), visibility("default")));
+# undef FcConfigCreate
+extern __typeof (FcConfigCreate) FcConfigCreate __attribute((alias("IA__FcConfigCreate"), visibility("default")));
+# undef FcConfigReference
+extern __typeof (FcConfigReference) FcConfigReference __attribute((alias("IA__FcConfigReference"), visibility("default")));
+# undef FcConfigDestroy
+extern __typeof (FcConfigDestroy) FcConfigDestroy __attribute((alias("IA__FcConfigDestroy"), visibility("default")));
+# undef FcConfigSetCurrent
+extern __typeof (FcConfigSetCurrent) FcConfigSetCurrent __attribute((alias("IA__FcConfigSetCurrent"), visibility("default")));
+# undef FcConfigGetCurrent
+extern __typeof (FcConfigGetCurrent) FcConfigGetCurrent __attribute((alias("IA__FcConfigGetCurrent"), visibility("default")));
+# undef FcConfigUptoDate
+extern __typeof (FcConfigUptoDate) FcConfigUptoDate __attribute((alias("IA__FcConfigUptoDate"), visibility("default")));
+# undef FcConfigBuildFonts
+extern __typeof (FcConfigBuildFonts) FcConfigBuildFonts __attribute((alias("IA__FcConfigBuildFonts"), visibility("default")));
+# undef FcConfigGetFontDirs
+extern __typeof (FcConfigGetFontDirs) FcConfigGetFontDirs __attribute((alias("IA__FcConfigGetFontDirs"), visibility("default")));
+# undef FcConfigGetConfigDirs
+extern __typeof (FcConfigGetConfigDirs) FcConfigGetConfigDirs __attribute((alias("IA__FcConfigGetConfigDirs"), visibility("default")));
+# undef FcConfigGetConfigFiles
+extern __typeof (FcConfigGetConfigFiles) FcConfigGetConfigFiles __attribute((alias("IA__FcConfigGetConfigFiles"), visibility("default")));
+# undef FcConfigGetCache
+extern __typeof (FcConfigGetCache) FcConfigGetCache __attribute((alias("IA__FcConfigGetCache"), visibility("default")));
+# undef FcConfigGetBlanks
+extern __typeof (FcConfigGetBlanks) FcConfigGetBlanks __attribute((alias("IA__FcConfigGetBlanks"), visibility("default")));
+# undef FcConfigGetCacheDirs
+extern __typeof (FcConfigGetCacheDirs) FcConfigGetCacheDirs __attribute((alias("IA__FcConfigGetCacheDirs"), visibility("default")));
+# undef FcConfigGetRescanInterval
+extern __typeof (FcConfigGetRescanInterval) FcConfigGetRescanInterval __attribute((alias("IA__FcConfigGetRescanInterval"), visibility("default")));
+# undef FcConfigSetRescanInterval
+extern __typeof (FcConfigSetRescanInterval) FcConfigSetRescanInterval __attribute((alias("IA__FcConfigSetRescanInterval"), visibility("default")));
+# undef FcConfigGetFonts
+extern __typeof (FcConfigGetFonts) FcConfigGetFonts __attribute((alias("IA__FcConfigGetFonts"), visibility("default")));
+# undef FcConfigAppFontAddFile
+extern __typeof (FcConfigAppFontAddFile) FcConfigAppFontAddFile __attribute((alias("IA__FcConfigAppFontAddFile"), visibility("default")));
+# undef FcConfigAppFontAddDir
+extern __typeof (FcConfigAppFontAddDir) FcConfigAppFontAddDir __attribute((alias("IA__FcConfigAppFontAddDir"), visibility("default")));
+# undef FcConfigAppFontClear
+extern __typeof (FcConfigAppFontClear) FcConfigAppFontClear __attribute((alias("IA__FcConfigAppFontClear"), visibility("default")));
+# undef FcConfigSubstituteWithPat
+extern __typeof (FcConfigSubstituteWithPat) FcConfigSubstituteWithPat __attribute((alias("IA__FcConfigSubstituteWithPat"), visibility("default")));
+# undef FcConfigSubstitute
+extern __typeof (FcConfigSubstitute) FcConfigSubstitute __attribute((alias("IA__FcConfigSubstitute"), visibility("default")));
+# undef FcConfigGetSysRoot
+extern __typeof (FcConfigGetSysRoot) FcConfigGetSysRoot __attribute((alias("IA__FcConfigGetSysRoot"), visibility("default")));
+# undef FcConfigSetSysRoot
+extern __typeof (FcConfigSetSysRoot) FcConfigSetSysRoot __attribute((alias("IA__FcConfigSetSysRoot"), visibility("default")));
+#endif /* __fccfg__ */
+#ifdef __fccharset__
+# undef FcCharSetCreate
+extern __typeof (FcCharSetCreate) FcCharSetCreate __attribute((alias("IA__FcCharSetCreate"), visibility("default")));
+# undef FcCharSetNew
+extern __typeof (FcCharSetNew) FcCharSetNew __attribute((alias("IA__FcCharSetNew"), visibility("default")));
+# undef FcCharSetDestroy
+extern __typeof (FcCharSetDestroy) FcCharSetDestroy __attribute((alias("IA__FcCharSetDestroy"), visibility("default")));
+# undef FcCharSetAddChar
+extern __typeof (FcCharSetAddChar) FcCharSetAddChar __attribute((alias("IA__FcCharSetAddChar"), visibility("default")));
+# undef FcCharSetDelChar
+extern __typeof (FcCharSetDelChar) FcCharSetDelChar __attribute((alias("IA__FcCharSetDelChar"), visibility("default")));
+# undef FcCharSetCopy
+extern __typeof (FcCharSetCopy) FcCharSetCopy __attribute((alias("IA__FcCharSetCopy"), visibility("default")));
+# undef FcCharSetEqual
+extern __typeof (FcCharSetEqual) FcCharSetEqual __attribute((alias("IA__FcCharSetEqual"), visibility("default")));
+# undef FcCharSetIntersect
+extern __typeof (FcCharSetIntersect) FcCharSetIntersect __attribute((alias("IA__FcCharSetIntersect"), visibility("default")));
+# undef FcCharSetUnion
+extern __typeof (FcCharSetUnion) FcCharSetUnion __attribute((alias("IA__FcCharSetUnion"), visibility("default")));
+# undef FcCharSetSubtract
+extern __typeof (FcCharSetSubtract) FcCharSetSubtract __attribute((alias("IA__FcCharSetSubtract"), visibility("default")));
+# undef FcCharSetMerge
+extern __typeof (FcCharSetMerge) FcCharSetMerge __attribute((alias("IA__FcCharSetMerge"), visibility("default")));
+# undef FcCharSetHasChar
+extern __typeof (FcCharSetHasChar) FcCharSetHasChar __attribute((alias("IA__FcCharSetHasChar"), visibility("default")));
+# undef FcCharSetCount
+extern __typeof (FcCharSetCount) FcCharSetCount __attribute((alias("IA__FcCharSetCount"), visibility("default")));
+# undef FcCharSetIntersectCount
+extern __typeof (FcCharSetIntersectCount) FcCharSetIntersectCount __attribute((alias("IA__FcCharSetIntersectCount"), visibility("default")));
+# undef FcCharSetSubtractCount
+extern __typeof (FcCharSetSubtractCount) FcCharSetSubtractCount __attribute((alias("IA__FcCharSetSubtractCount"), visibility("default")));
+# undef FcCharSetIsSubset
+extern __typeof (FcCharSetIsSubset) FcCharSetIsSubset __attribute((alias("IA__FcCharSetIsSubset"), visibility("default")));
+# undef FcCharSetFirstPage
+extern __typeof (FcCharSetFirstPage) FcCharSetFirstPage __attribute((alias("IA__FcCharSetFirstPage"), visibility("default")));
+# undef FcCharSetNextPage
+extern __typeof (FcCharSetNextPage) FcCharSetNextPage __attribute((alias("IA__FcCharSetNextPage"), visibility("default")));
+# undef FcCharSetCoverage
+extern __typeof (FcCharSetCoverage) FcCharSetCoverage __attribute((alias("IA__FcCharSetCoverage"), visibility("default")));
+#endif /* __fccharset__ */
+#ifdef __fcdbg__
+# undef FcValuePrint
+extern __typeof (FcValuePrint) FcValuePrint __attribute((alias("IA__FcValuePrint"), visibility("default")));
+# undef FcPatternPrint
+extern __typeof (FcPatternPrint) FcPatternPrint __attribute((alias("IA__FcPatternPrint"), visibility("default")));
+# undef FcFontSetPrint
+extern __typeof (FcFontSetPrint) FcFontSetPrint __attribute((alias("IA__FcFontSetPrint"), visibility("default")));
+#endif /* __fcdbg__ */
+#ifdef __fcdefault__
+# undef FcGetDefaultLangs
+extern __typeof (FcGetDefaultLangs) FcGetDefaultLangs __attribute((alias("IA__FcGetDefaultLangs"), visibility("default")));
+# undef FcDefaultSubstitute
+extern __typeof (FcDefaultSubstitute) FcDefaultSubstitute __attribute((alias("IA__FcDefaultSubstitute"), visibility("default")));
+#endif /* __fcdefault__ */
+#ifdef __fcdir__
+# undef FcFileIsDir
+extern __typeof (FcFileIsDir) FcFileIsDir __attribute((alias("IA__FcFileIsDir"), visibility("default")));
+# undef FcFileScan
+extern __typeof (FcFileScan) FcFileScan __attribute((alias("IA__FcFileScan"), visibility("default")));
+# undef FcDirScan
+extern __typeof (FcDirScan) FcDirScan __attribute((alias("IA__FcDirScan"), visibility("default")));
+# undef FcDirSave
+extern __typeof (FcDirSave) FcDirSave __attribute((alias("IA__FcDirSave"), visibility("default")));
+#endif /* __fcdir__ */
+#ifdef __fccache__
+# undef FcDirCacheLoad
+extern __typeof (FcDirCacheLoad) FcDirCacheLoad __attribute((alias("IA__FcDirCacheLoad"), visibility("default")));
+#endif /* __fccache__ */
+#ifdef __fcdir__
+# undef FcDirCacheRead
+extern __typeof (FcDirCacheRead) FcDirCacheRead __attribute((alias("IA__FcDirCacheRead"), visibility("default")));
+#endif /* __fcdir__ */
+#ifdef __fccache__
+# undef FcDirCacheLoadFile
+extern __typeof (FcDirCacheLoadFile) FcDirCacheLoadFile __attribute((alias("IA__FcDirCacheLoadFile"), visibility("default")));
+# undef FcDirCacheUnload
+extern __typeof (FcDirCacheUnload) FcDirCacheUnload __attribute((alias("IA__FcDirCacheUnload"), visibility("default")));
+#endif /* __fccache__ */
+#ifdef __fcfreetype__
+# undef FcFreeTypeQuery
+extern __typeof (FcFreeTypeQuery) FcFreeTypeQuery __attribute((alias("IA__FcFreeTypeQuery"), visibility("default")));
+#endif /* __fcfreetype__ */
+#ifdef __fcfs__
+# undef FcFontSetCreate
+extern __typeof (FcFontSetCreate) FcFontSetCreate __attribute((alias("IA__FcFontSetCreate"), visibility("default")));
+# undef FcFontSetDestroy
+extern __typeof (FcFontSetDestroy) FcFontSetDestroy __attribute((alias("IA__FcFontSetDestroy"), visibility("default")));
+# undef FcFontSetAdd
+extern __typeof (FcFontSetAdd) FcFontSetAdd __attribute((alias("IA__FcFontSetAdd"), visibility("default")));
+#endif /* __fcfs__ */
+#ifdef __fcinit__
+# undef FcInitLoadConfig
+extern __typeof (FcInitLoadConfig) FcInitLoadConfig __attribute((alias("IA__FcInitLoadConfig"), visibility("default")));
+# undef FcInitLoadConfigAndFonts
+extern __typeof (FcInitLoadConfigAndFonts) FcInitLoadConfigAndFonts __attribute((alias("IA__FcInitLoadConfigAndFonts"), visibility("default")));
+# undef FcInit
+extern __typeof (FcInit) FcInit __attribute((alias("IA__FcInit"), visibility("default")));
+# undef FcFini
+extern __typeof (FcFini) FcFini __attribute((alias("IA__FcFini"), visibility("default")));
+# undef FcGetVersion
+extern __typeof (FcGetVersion) FcGetVersion __attribute((alias("IA__FcGetVersion"), visibility("default")));
+# undef FcInitReinitialize
+extern __typeof (FcInitReinitialize) FcInitReinitialize __attribute((alias("IA__FcInitReinitialize"), visibility("default")));
+# undef FcInitBringUptoDate
+extern __typeof (FcInitBringUptoDate) FcInitBringUptoDate __attribute((alias("IA__FcInitBringUptoDate"), visibility("default")));
+#endif /* __fcinit__ */
+#ifdef __fclang__
+# undef FcGetLangs
+extern __typeof (FcGetLangs) FcGetLangs __attribute((alias("IA__FcGetLangs"), visibility("default")));
+# undef FcLangNormalize
+extern __typeof (FcLangNormalize) FcLangNormalize __attribute((alias("IA__FcLangNormalize"), visibility("default")));
+# undef FcLangGetCharSet
+extern __typeof (FcLangGetCharSet) FcLangGetCharSet __attribute((alias("IA__FcLangGetCharSet"), visibility("default")));
+# undef FcLangSetCreate
+extern __typeof (FcLangSetCreate) FcLangSetCreate __attribute((alias("IA__FcLangSetCreate"), visibility("default")));
+# undef FcLangSetDestroy
+extern __typeof (FcLangSetDestroy) FcLangSetDestroy __attribute((alias("IA__FcLangSetDestroy"), visibility("default")));
+# undef FcLangSetCopy
+extern __typeof (FcLangSetCopy) FcLangSetCopy __attribute((alias("IA__FcLangSetCopy"), visibility("default")));
+# undef FcLangSetAdd
+extern __typeof (FcLangSetAdd) FcLangSetAdd __attribute((alias("IA__FcLangSetAdd"), visibility("default")));
+# undef FcLangSetDel
+extern __typeof (FcLangSetDel) FcLangSetDel __attribute((alias("IA__FcLangSetDel"), visibility("default")));
+# undef FcLangSetHasLang
+extern __typeof (FcLangSetHasLang) FcLangSetHasLang __attribute((alias("IA__FcLangSetHasLang"), visibility("default")));
+# undef FcLangSetCompare
+extern __typeof (FcLangSetCompare) FcLangSetCompare __attribute((alias("IA__FcLangSetCompare"), visibility("default")));
+# undef FcLangSetContains
+extern __typeof (FcLangSetContains) FcLangSetContains __attribute((alias("IA__FcLangSetContains"), visibility("default")));
+# undef FcLangSetEqual
+extern __typeof (FcLangSetEqual) FcLangSetEqual __attribute((alias("IA__FcLangSetEqual"), visibility("default")));
+# undef FcLangSetHash
+extern __typeof (FcLangSetHash) FcLangSetHash __attribute((alias("IA__FcLangSetHash"), visibility("default")));
+# undef FcLangSetGetLangs
+extern __typeof (FcLangSetGetLangs) FcLangSetGetLangs __attribute((alias("IA__FcLangSetGetLangs"), visibility("default")));
+# undef FcLangSetUnion
+extern __typeof (FcLangSetUnion) FcLangSetUnion __attribute((alias("IA__FcLangSetUnion"), visibility("default")));
+# undef FcLangSetSubtract
+extern __typeof (FcLangSetSubtract) FcLangSetSubtract __attribute((alias("IA__FcLangSetSubtract"), visibility("default")));
+#endif /* __fclang__ */
+#ifdef __fclist__
+# undef FcObjectSetCreate
+extern __typeof (FcObjectSetCreate) FcObjectSetCreate __attribute((alias("IA__FcObjectSetCreate"), visibility("default")));
+# undef FcObjectSetAdd
+extern __typeof (FcObjectSetAdd) FcObjectSetAdd __attribute((alias("IA__FcObjectSetAdd"), visibility("default")));
+# undef FcObjectSetDestroy
+extern __typeof (FcObjectSetDestroy) FcObjectSetDestroy __attribute((alias("IA__FcObjectSetDestroy"), visibility("default")));
+# undef FcObjectSetVaBuild
+extern __typeof (FcObjectSetVaBuild) FcObjectSetVaBuild __attribute((alias("IA__FcObjectSetVaBuild"), visibility("default")));
+# undef FcObjectSetBuild
+extern __typeof (FcObjectSetBuild) FcObjectSetBuild __attribute((alias("IA__FcObjectSetBuild"), visibility("default")));
+# undef FcFontSetList
+extern __typeof (FcFontSetList) FcFontSetList __attribute((alias("IA__FcFontSetList"), visibility("default")));
+# undef FcFontList
+extern __typeof (FcFontList) FcFontList __attribute((alias("IA__FcFontList"), visibility("default")));
+#endif /* __fclist__ */
+#ifdef __fcatomic__
+# undef FcAtomicCreate
+extern __typeof (FcAtomicCreate) FcAtomicCreate __attribute((alias("IA__FcAtomicCreate"), visibility("default")));
+# undef FcAtomicLock
+extern __typeof (FcAtomicLock) FcAtomicLock __attribute((alias("IA__FcAtomicLock"), visibility("default")));
+# undef FcAtomicNewFile
+extern __typeof (FcAtomicNewFile) FcAtomicNewFile __attribute((alias("IA__FcAtomicNewFile"), visibility("default")));
+# undef FcAtomicOrigFile
+extern __typeof (FcAtomicOrigFile) FcAtomicOrigFile __attribute((alias("IA__FcAtomicOrigFile"), visibility("default")));
+# undef FcAtomicReplaceOrig
+extern __typeof (FcAtomicReplaceOrig) FcAtomicReplaceOrig __attribute((alias("IA__FcAtomicReplaceOrig"), visibility("default")));
+# undef FcAtomicDeleteNew
+extern __typeof (FcAtomicDeleteNew) FcAtomicDeleteNew __attribute((alias("IA__FcAtomicDeleteNew"), visibility("default")));
+# undef FcAtomicUnlock
+extern __typeof (FcAtomicUnlock) FcAtomicUnlock __attribute((alias("IA__FcAtomicUnlock"), visibility("default")));
+# undef FcAtomicDestroy
+extern __typeof (FcAtomicDestroy) FcAtomicDestroy __attribute((alias("IA__FcAtomicDestroy"), visibility("default")));
+#endif /* __fcatomic__ */
+#ifdef __fcmatch__
+# undef FcFontSetMatch
+extern __typeof (FcFontSetMatch) FcFontSetMatch __attribute((alias("IA__FcFontSetMatch"), visibility("default")));
+# undef FcFontMatch
+extern __typeof (FcFontMatch) FcFontMatch __attribute((alias("IA__FcFontMatch"), visibility("default")));
+# undef FcFontRenderPrepare
+extern __typeof (FcFontRenderPrepare) FcFontRenderPrepare __attribute((alias("IA__FcFontRenderPrepare"), visibility("default")));
+# undef FcFontSetSort
+extern __typeof (FcFontSetSort) FcFontSetSort __attribute((alias("IA__FcFontSetSort"), visibility("default")));
+# undef FcFontSort
+extern __typeof (FcFontSort) FcFontSort __attribute((alias("IA__FcFontSort"), visibility("default")));
+# undef FcFontSetSortDestroy
+extern __typeof (FcFontSetSortDestroy) FcFontSetSortDestroy __attribute((alias("IA__FcFontSetSortDestroy"), visibility("default")));
+#endif /* __fcmatch__ */
+#ifdef __fcmatrix__
+# undef FcMatrixCopy
+extern __typeof (FcMatrixCopy) FcMatrixCopy __attribute((alias("IA__FcMatrixCopy"), visibility("default")));
+# undef FcMatrixEqual
+extern __typeof (FcMatrixEqual) FcMatrixEqual __attribute((alias("IA__FcMatrixEqual"), visibility("default")));
+# undef FcMatrixMultiply
+extern __typeof (FcMatrixMultiply) FcMatrixMultiply __attribute((alias("IA__FcMatrixMultiply"), visibility("default")));
+# undef FcMatrixRotate
+extern __typeof (FcMatrixRotate) FcMatrixRotate __attribute((alias("IA__FcMatrixRotate"), visibility("default")));
+# undef FcMatrixScale
+extern __typeof (FcMatrixScale) FcMatrixScale __attribute((alias("IA__FcMatrixScale"), visibility("default")));
+# undef FcMatrixShear
+extern __typeof (FcMatrixShear) FcMatrixShear __attribute((alias("IA__FcMatrixShear"), visibility("default")));
+#endif /* __fcmatrix__ */
+#ifdef __fcname__
+# undef FcNameRegisterObjectTypes
+extern __typeof (FcNameRegisterObjectTypes) FcNameRegisterObjectTypes __attribute((alias("IA__FcNameRegisterObjectTypes"), visibility("default")));
+# undef FcNameUnregisterObjectTypes
+extern __typeof (FcNameUnregisterObjectTypes) FcNameUnregisterObjectTypes __attribute((alias("IA__FcNameUnregisterObjectTypes"), visibility("default")));
+# undef FcNameGetObjectType
+extern __typeof (FcNameGetObjectType) FcNameGetObjectType __attribute((alias("IA__FcNameGetObjectType"), visibility("default")));
+# undef FcNameRegisterConstants
+extern __typeof (FcNameRegisterConstants) FcNameRegisterConstants __attribute((alias("IA__FcNameRegisterConstants"), visibility("default")));
+# undef FcNameUnregisterConstants
+extern __typeof (FcNameUnregisterConstants) FcNameUnregisterConstants __attribute((alias("IA__FcNameUnregisterConstants"), visibility("default")));
+# undef FcNameGetConstant
+extern __typeof (FcNameGetConstant) FcNameGetConstant __attribute((alias("IA__FcNameGetConstant"), visibility("default")));
+# undef FcNameConstant
+extern __typeof (FcNameConstant) FcNameConstant __attribute((alias("IA__FcNameConstant"), visibility("default")));
+# undef FcNameParse
+extern __typeof (FcNameParse) FcNameParse __attribute((alias("IA__FcNameParse"), visibility("default")));
+# undef FcNameUnparse
+extern __typeof (FcNameUnparse) FcNameUnparse __attribute((alias("IA__FcNameUnparse"), visibility("default")));
+#endif /* __fcname__ */
+#ifdef __fcpat__
+# undef FcPatternCreate
+extern __typeof (FcPatternCreate) FcPatternCreate __attribute((alias("IA__FcPatternCreate"), visibility("default")));
+# undef FcPatternDuplicate
+extern __typeof (FcPatternDuplicate) FcPatternDuplicate __attribute((alias("IA__FcPatternDuplicate"), visibility("default")));
+# undef FcPatternReference
+extern __typeof (FcPatternReference) FcPatternReference __attribute((alias("IA__FcPatternReference"), visibility("default")));
+# undef FcPatternFilter
+extern __typeof (FcPatternFilter) FcPatternFilter __attribute((alias("IA__FcPatternFilter"), visibility("default")));
+# undef FcValueDestroy
+extern __typeof (FcValueDestroy) FcValueDestroy __attribute((alias("IA__FcValueDestroy"), visibility("default")));
+# undef FcValueEqual
+extern __typeof (FcValueEqual) FcValueEqual __attribute((alias("IA__FcValueEqual"), visibility("default")));
+# undef FcValueSave
+extern __typeof (FcValueSave) FcValueSave __attribute((alias("IA__FcValueSave"), visibility("default")));
+# undef FcPatternDestroy
+extern __typeof (FcPatternDestroy) FcPatternDestroy __attribute((alias("IA__FcPatternDestroy"), visibility("default")));
+# undef FcPatternEqual
+extern __typeof (FcPatternEqual) FcPatternEqual __attribute((alias("IA__FcPatternEqual"), visibility("default")));
+# undef FcPatternEqualSubset
+extern __typeof (FcPatternEqualSubset) FcPatternEqualSubset __attribute((alias("IA__FcPatternEqualSubset"), visibility("default")));
+# undef FcPatternHash
+extern __typeof (FcPatternHash) FcPatternHash __attribute((alias("IA__FcPatternHash"), visibility("default")));
+# undef FcPatternAdd
+extern __typeof (FcPatternAdd) FcPatternAdd __attribute((alias("IA__FcPatternAdd"), visibility("default")));
+# undef FcPatternAddWeak
+extern __typeof (FcPatternAddWeak) FcPatternAddWeak __attribute((alias("IA__FcPatternAddWeak"), visibility("default")));
+# undef FcPatternGet
+extern __typeof (FcPatternGet) FcPatternGet __attribute((alias("IA__FcPatternGet"), visibility("default")));
+# undef FcPatternDel
+extern __typeof (FcPatternDel) FcPatternDel __attribute((alias("IA__FcPatternDel"), visibility("default")));
+# undef FcPatternRemove
+extern __typeof (FcPatternRemove) FcPatternRemove __attribute((alias("IA__FcPatternRemove"), visibility("default")));
+# undef FcPatternAddInteger
+extern __typeof (FcPatternAddInteger) FcPatternAddInteger __attribute((alias("IA__FcPatternAddInteger"), visibility("default")));
+# undef FcPatternAddDouble
+extern __typeof (FcPatternAddDouble) FcPatternAddDouble __attribute((alias("IA__FcPatternAddDouble"), visibility("default")));
+# undef FcPatternAddString
+extern __typeof (FcPatternAddString) FcPatternAddString __attribute((alias("IA__FcPatternAddString"), visibility("default")));
+# undef FcPatternAddMatrix
+extern __typeof (FcPatternAddMatrix) FcPatternAddMatrix __attribute((alias("IA__FcPatternAddMatrix"), visibility("default")));
+# undef FcPatternAddCharSet
+extern __typeof (FcPatternAddCharSet) FcPatternAddCharSet __attribute((alias("IA__FcPatternAddCharSet"), visibility("default")));
+# undef FcPatternAddBool
+extern __typeof (FcPatternAddBool) FcPatternAddBool __attribute((alias("IA__FcPatternAddBool"), visibility("default")));
+# undef FcPatternAddLangSet
+extern __typeof (FcPatternAddLangSet) FcPatternAddLangSet __attribute((alias("IA__FcPatternAddLangSet"), visibility("default")));
+# undef FcPatternGetInteger
+extern __typeof (FcPatternGetInteger) FcPatternGetInteger __attribute((alias("IA__FcPatternGetInteger"), visibility("default")));
+# undef FcPatternGetDouble
+extern __typeof (FcPatternGetDouble) FcPatternGetDouble __attribute((alias("IA__FcPatternGetDouble"), visibility("default")));
+# undef FcPatternGetString
+extern __typeof (FcPatternGetString) FcPatternGetString __attribute((alias("IA__FcPatternGetString"), visibility("default")));
+# undef FcPatternGetMatrix
+extern __typeof (FcPatternGetMatrix) FcPatternGetMatrix __attribute((alias("IA__FcPatternGetMatrix"), visibility("default")));
+# undef FcPatternGetCharSet
+extern __typeof (FcPatternGetCharSet) FcPatternGetCharSet __attribute((alias("IA__FcPatternGetCharSet"), visibility("default")));
+# undef FcPatternGetBool
+extern __typeof (FcPatternGetBool) FcPatternGetBool __attribute((alias("IA__FcPatternGetBool"), visibility("default")));
+# undef FcPatternGetLangSet
+extern __typeof (FcPatternGetLangSet) FcPatternGetLangSet __attribute((alias("IA__FcPatternGetLangSet"), visibility("default")));
+# undef FcPatternVaBuild
+extern __typeof (FcPatternVaBuild) FcPatternVaBuild __attribute((alias("IA__FcPatternVaBuild"), visibility("default")));
+# undef FcPatternBuild
+extern __typeof (FcPatternBuild) FcPatternBuild __attribute((alias("IA__FcPatternBuild"), visibility("default")));
+#endif /* __fcpat__ */
+#ifdef __fcformat__
+# undef FcPatternFormat
+extern __typeof (FcPatternFormat) FcPatternFormat __attribute((alias("IA__FcPatternFormat"), visibility("default")));
+#endif /* __fcformat__ */
+#ifdef __fcstr__
+# undef FcStrCopy
+extern __typeof (FcStrCopy) FcStrCopy __attribute((alias("IA__FcStrCopy"), visibility("default")));
+# undef FcStrCopyFilename
+extern __typeof (FcStrCopyFilename) FcStrCopyFilename __attribute((alias("IA__FcStrCopyFilename"), visibility("default")));
+# undef FcStrPlus
+extern __typeof (FcStrPlus) FcStrPlus __attribute((alias("IA__FcStrPlus"), visibility("default")));
+# undef FcStrFree
+extern __typeof (FcStrFree) FcStrFree __attribute((alias("IA__FcStrFree"), visibility("default")));
+# undef FcStrDowncase
+extern __typeof (FcStrDowncase) FcStrDowncase __attribute((alias("IA__FcStrDowncase"), visibility("default")));
+# undef FcStrCmpIgnoreCase
+extern __typeof (FcStrCmpIgnoreCase) FcStrCmpIgnoreCase __attribute((alias("IA__FcStrCmpIgnoreCase"), visibility("default")));
+# undef FcStrCmp
+extern __typeof (FcStrCmp) FcStrCmp __attribute((alias("IA__FcStrCmp"), visibility("default")));
+# undef FcStrStrIgnoreCase
+extern __typeof (FcStrStrIgnoreCase) FcStrStrIgnoreCase __attribute((alias("IA__FcStrStrIgnoreCase"), visibility("default")));
+# undef FcStrStr
+extern __typeof (FcStrStr) FcStrStr __attribute((alias("IA__FcStrStr"), visibility("default")));
+# undef FcUtf8ToUcs4
+extern __typeof (FcUtf8ToUcs4) FcUtf8ToUcs4 __attribute((alias("IA__FcUtf8ToUcs4"), visibility("default")));
+# undef FcUtf8Len
+extern __typeof (FcUtf8Len) FcUtf8Len __attribute((alias("IA__FcUtf8Len"), visibility("default")));
+# undef FcUcs4ToUtf8
+extern __typeof (FcUcs4ToUtf8) FcUcs4ToUtf8 __attribute((alias("IA__FcUcs4ToUtf8"), visibility("default")));
+# undef FcUtf16ToUcs4
+extern __typeof (FcUtf16ToUcs4) FcUtf16ToUcs4 __attribute((alias("IA__FcUtf16ToUcs4"), visibility("default")));
+# undef FcUtf16Len
+extern __typeof (FcUtf16Len) FcUtf16Len __attribute((alias("IA__FcUtf16Len"), visibility("default")));
+# undef FcStrDirname
+extern __typeof (FcStrDirname) FcStrDirname __attribute((alias("IA__FcStrDirname"), visibility("default")));
+# undef FcStrBasename
+extern __typeof (FcStrBasename) FcStrBasename __attribute((alias("IA__FcStrBasename"), visibility("default")));
+# undef FcStrSetCreate
+extern __typeof (FcStrSetCreate) FcStrSetCreate __attribute((alias("IA__FcStrSetCreate"), visibility("default")));
+# undef FcStrSetMember
+extern __typeof (FcStrSetMember) FcStrSetMember __attribute((alias("IA__FcStrSetMember"), visibility("default")));
+# undef FcStrSetEqual
+extern __typeof (FcStrSetEqual) FcStrSetEqual __attribute((alias("IA__FcStrSetEqual"), visibility("default")));
+# undef FcStrSetAdd
+extern __typeof (FcStrSetAdd) FcStrSetAdd __attribute((alias("IA__FcStrSetAdd"), visibility("default")));
+# undef FcStrSetAddFilename
+extern __typeof (FcStrSetAddFilename) FcStrSetAddFilename __attribute((alias("IA__FcStrSetAddFilename"), visibility("default")));
+# undef FcStrSetDel
+extern __typeof (FcStrSetDel) FcStrSetDel __attribute((alias("IA__FcStrSetDel"), visibility("default")));
+# undef FcStrSetDestroy
+extern __typeof (FcStrSetDestroy) FcStrSetDestroy __attribute((alias("IA__FcStrSetDestroy"), visibility("default")));
+# undef FcStrListCreate
+extern __typeof (FcStrListCreate) FcStrListCreate __attribute((alias("IA__FcStrListCreate"), visibility("default")));
+# undef FcStrListNext
+extern __typeof (FcStrListNext) FcStrListNext __attribute((alias("IA__FcStrListNext"), visibility("default")));
+# undef FcStrListDone
+extern __typeof (FcStrListDone) FcStrListDone __attribute((alias("IA__FcStrListDone"), visibility("default")));
+#endif /* __fcstr__ */
+#ifdef __fcxml__
+# undef FcConfigParseAndLoad
+extern __typeof (FcConfigParseAndLoad) FcConfigParseAndLoad __attribute((alias("IA__FcConfigParseAndLoad"), visibility("default")));
+#endif /* __fcxml__ */
+#ifdef __fccfg__
+# undef FcConfigGetRescanInverval
+extern __typeof (FcConfigGetRescanInverval) FcConfigGetRescanInverval __attribute((alias("IA__FcConfigGetRescanInverval"), visibility("default")));
+# undef FcConfigSetRescanInverval
+extern __typeof (FcConfigSetRescanInverval) FcConfigSetRescanInverval __attribute((alias("IA__FcConfigSetRescanInverval"), visibility("default")));
+#endif /*  */
+#endif /* HAVE_GNUC_ATTRIBUTE */
diff --git a/third_party/fontconfig/config/mac/src/fcftalias.h b/third_party/fontconfig/config/mac/src/fcftalias.h
new file mode 100644
index 0000000..884eb4b
--- /dev/null
+++ b/third_party/fontconfig/config/mac/src/fcftalias.h
@@ -0,0 +1,12 @@
+extern __typeof (FcFreeTypeCharIndex) IA__FcFreeTypeCharIndex __attribute((visibility("hidden")));
+#define FcFreeTypeCharIndex IA__FcFreeTypeCharIndex
+extern __typeof (FcFreeTypeCharSetAndSpacing) IA__FcFreeTypeCharSetAndSpacing __attribute((visibility("hidden")));
+#define FcFreeTypeCharSetAndSpacing IA__FcFreeTypeCharSetAndSpacing
+extern __typeof (FcFreeTypeCharSet) IA__FcFreeTypeCharSet __attribute((visibility("hidden")));
+#define FcFreeTypeCharSet IA__FcFreeTypeCharSet
+extern __typeof (FcPatternGetFTFace) IA__FcPatternGetFTFace __attribute((visibility("hidden")));
+#define FcPatternGetFTFace IA__FcPatternGetFTFace
+extern __typeof (FcPatternAddFTFace) IA__FcPatternAddFTFace __attribute((visibility("hidden")));
+#define FcPatternAddFTFace IA__FcPatternAddFTFace
+extern __typeof (FcFreeTypeQueryFace) IA__FcFreeTypeQueryFace __attribute((visibility("hidden")));
+#define FcFreeTypeQueryFace IA__FcFreeTypeQueryFace
diff --git a/third_party/fontconfig/config/mac/src/fcftaliastail.h b/third_party/fontconfig/config/mac/src/fcftaliastail.h
new file mode 100644
index 0000000..f5a537d
--- /dev/null
+++ b/third_party/fontconfig/config/mac/src/fcftaliastail.h
@@ -0,0 +1,20 @@
+#if HAVE_GNUC_ATTRIBUTE
+#ifdef __fcfreetype__
+# undef FcFreeTypeCharIndex
+extern __typeof (FcFreeTypeCharIndex) FcFreeTypeCharIndex __attribute((alias("IA__FcFreeTypeCharIndex"), visibility("default")));
+# undef FcFreeTypeCharSetAndSpacing
+extern __typeof (FcFreeTypeCharSetAndSpacing) FcFreeTypeCharSetAndSpacing __attribute((alias("IA__FcFreeTypeCharSetAndSpacing"), visibility("default")));
+# undef FcFreeTypeCharSet
+extern __typeof (FcFreeTypeCharSet) FcFreeTypeCharSet __attribute((alias("IA__FcFreeTypeCharSet"), visibility("default")));
+#endif /* __fcfreetype__ */
+#ifdef __fcpat__
+# undef FcPatternGetFTFace
+extern __typeof (FcPatternGetFTFace) FcPatternGetFTFace __attribute((alias("IA__FcPatternGetFTFace"), visibility("default")));
+# undef FcPatternAddFTFace
+extern __typeof (FcPatternAddFTFace) FcPatternAddFTFace __attribute((alias("IA__FcPatternAddFTFace"), visibility("default")));
+#endif /* __fcpat__ */
+#ifdef __fcfreetype__
+# undef FcFreeTypeQueryFace
+extern __typeof (FcFreeTypeQueryFace) FcFreeTypeQueryFace __attribute((alias("IA__FcFreeTypeQueryFace"), visibility("default")));
+#endif /*  */
+#endif /* HAVE_GNUC_ATTRIBUTE */
diff --git a/third_party/fontconfig/config/src/fcobjshash.h b/third_party/fontconfig/config/src/fcobjshash.h
new file mode 100644
index 0000000..2081ce5
--- /dev/null
+++ b/third_party/fontconfig/config/src/fcobjshash.h
@@ -0,0 +1,317 @@
+/* ANSI-C code produced by gperf version 3.0.3 */
+/* Command-line: gperf -m 100 fcobjshash.gperf  */
+/* Computed positions: -k'2-3' */
+
+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
+/* The character set is not based on ISO-646.  */
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#endif
+
+#line 1 "fcobjshash.gperf"
+
+#line 13 "fcobjshash.gperf"
+struct FcObjectTypeInfo {
+int name;
+int id;
+};
+#include <string.h>
+/* maximum key range = 52, duplicates = 0 */
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+FcObjectTypeHash (register const char *str, register unsigned int len)
+{
+  static const unsigned char asso_values[] =
+    {
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 17, 12,  1,
+      35,  0, 56, 27, 15,  0, 56, 56,  0,  7,
+       7,  0, 22, 56, 21, 10, 13,  0, 56, 56,
+       0, 26,  1, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+      56, 56, 56, 56, 56, 56
+    };
+  return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[1]];
+}
+
+struct FcObjectTypeNamePool_t
+  {
+    char FcObjectTypeNamePool_str4[sizeof("file")];
+    char FcObjectTypeNamePool_str5[sizeof("size")];
+    char FcObjectTypeNamePool_str6[sizeof("weight")];
+    char FcObjectTypeNamePool_str7[sizeof("foundry")];
+    char FcObjectTypeNamePool_str8[sizeof("fullname")];
+    char FcObjectTypeNamePool_str9[sizeof("pixelsize")];
+    char FcObjectTypeNamePool_str11[sizeof("decorative")];
+    char FcObjectTypeNamePool_str12[sizeof("fullnamelang")];
+    char FcObjectTypeNamePool_str13[sizeof("globaladvance")];
+    char FcObjectTypeNamePool_str14[sizeof("hinting")];
+    char FcObjectTypeNamePool_str15[sizeof("minspace")];
+    char FcObjectTypeNamePool_str16[sizeof("hintstyle")];
+    char FcObjectTypeNamePool_str17[sizeof("fontformat")];
+    char FcObjectTypeNamePool_str18[sizeof("fontversion")];
+    char FcObjectTypeNamePool_str19[sizeof("fontfeatures")];
+    char FcObjectTypeNamePool_str20[sizeof("outline")];
+    char FcObjectTypeNamePool_str21[sizeof("autohint")];
+    char FcObjectTypeNamePool_str22[sizeof("slant")];
+    char FcObjectTypeNamePool_str23[sizeof("scale")];
+    char FcObjectTypeNamePool_str24[sizeof("postscriptname")];
+    char FcObjectTypeNamePool_str25[sizeof("dpi")];
+    char FcObjectTypeNamePool_str26[sizeof("scalable")];
+    char FcObjectTypeNamePool_str27[sizeof("embolden")];
+    char FcObjectTypeNamePool_str28[sizeof("lang")];
+    char FcObjectTypeNamePool_str29[sizeof("antialias")];
+    char FcObjectTypeNamePool_str30[sizeof("family")];
+    char FcObjectTypeNamePool_str31[sizeof("hash")];
+    char FcObjectTypeNamePool_str32[sizeof("namelang")];
+    char FcObjectTypeNamePool_str33[sizeof("embeddedbitmap")];
+    char FcObjectTypeNamePool_str34[sizeof("familylang")];
+    char FcObjectTypeNamePool_str35[sizeof("verticallayout")];
+    char FcObjectTypeNamePool_str36[sizeof("matrix")];
+    char FcObjectTypeNamePool_str37[sizeof("rasterizer")];
+    char FcObjectTypeNamePool_str38[sizeof("aspect")];
+    char FcObjectTypeNamePool_str39[sizeof("charset")];
+    char FcObjectTypeNamePool_str40[sizeof("width")];
+    char FcObjectTypeNamePool_str41[sizeof("charwidth")];
+    char FcObjectTypeNamePool_str42[sizeof("charheight")];
+    char FcObjectTypeNamePool_str43[sizeof("rgba")];
+    char FcObjectTypeNamePool_str44[sizeof("style")];
+    char FcObjectTypeNamePool_str45[sizeof("lcdfilter")];
+    char FcObjectTypeNamePool_str46[sizeof("spacing")];
+    char FcObjectTypeNamePool_str47[sizeof("index")];
+    char FcObjectTypeNamePool_str48[sizeof("stylelang")];
+    char FcObjectTypeNamePool_str49[sizeof("capability")];
+    char FcObjectTypeNamePool_str55[sizeof("prgname")];
+  };
+static const struct FcObjectTypeNamePool_t FcObjectTypeNamePool_contents =
+  {
+    "file",
+    "size",
+    "weight",
+    "foundry",
+    "fullname",
+    "pixelsize",
+    "decorative",
+    "fullnamelang",
+    "globaladvance",
+    "hinting",
+    "minspace",
+    "hintstyle",
+    "fontformat",
+    "fontversion",
+    "fontfeatures",
+    "outline",
+    "autohint",
+    "slant",
+    "scale",
+    "postscriptname",
+    "dpi",
+    "scalable",
+    "embolden",
+    "lang",
+    "antialias",
+    "family",
+    "hash",
+    "namelang",
+    "embeddedbitmap",
+    "familylang",
+    "verticallayout",
+    "matrix",
+    "rasterizer",
+    "aspect",
+    "charset",
+    "width",
+    "charwidth",
+    "charheight",
+    "rgba",
+    "style",
+    "lcdfilter",
+    "spacing",
+    "index",
+    "stylelang",
+    "capability",
+    "prgname"
+  };
+#define FcObjectTypeNamePool ((const char *) &FcObjectTypeNamePool_contents)
+#ifdef __GNUC__
+__inline
+#ifdef __GNUC_STDC_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
+#endif
+const struct FcObjectTypeInfo *
+FcObjectTypeLookup (register const char *str, register unsigned int len)
+{
+  enum
+    {
+      TOTAL_KEYWORDS = 46,
+      MIN_WORD_LENGTH = 3,
+      MAX_WORD_LENGTH = 14,
+      MIN_HASH_VALUE = 4,
+      MAX_HASH_VALUE = 55
+    };
+
+  static const struct FcObjectTypeInfo wordlist[] =
+    {
+      {-1}, {-1}, {-1}, {-1},
+#line 38 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str4,FC_FILE_OBJECT},
+#line 27 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str5,FC_SIZE_OBJECT},
+#line 25 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str6,FC_WEIGHT_OBJECT},
+#line 31 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str7,FC_FOUNDRY_OBJECT},
+#line 22 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str8,FC_FULLNAME_OBJECT},
+#line 29 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str9,FC_PIXEL_SIZE_OBJECT},
+      {-1},
+#line 57 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str11,FC_DECORATIVE_OBJECT},
+#line 23 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str12,FC_FULLNAMELANG_OBJECT},
+#line 37 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str13,FC_GLOBAL_ADVANCE_OBJECT},
+#line 34 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str14,FC_HINTING_OBJECT},
+#line 46 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str15,FC_MINSPACE_OBJECT},
+#line 33 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str16,FC_HINT_STYLE_OBJECT},
+#line 54 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str17,FC_FONTFORMAT_OBJECT},
+#line 52 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str18,FC_FONTVERSION_OBJECT},
+#line 60 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str19,FC_FONT_FEATURES_OBJECT},
+#line 41 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str20,FC_OUTLINE_OBJECT},
+#line 36 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str21,FC_AUTOHINT_OBJECT},
+#line 24 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str22,FC_SLANT_OBJECT},
+#line 45 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str23,FC_SCALE_OBJECT},
+#line 63 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str24,FC_POSTSCRIPT_NAME_OBJECT},
+#line 43 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str25,FC_DPI_OBJECT},
+#line 42 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str26,FC_SCALABLE_OBJECT},
+#line 55 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str27,FC_EMBOLDEN_OBJECT},
+#line 51 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str28,FC_LANG_OBJECT},
+#line 32 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str29,FC_ANTIALIAS_OBJECT},
+#line 18 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str30,FC_FAMILY_OBJECT},
+#line 62 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str31,FC_HASH_OBJECT},
+#line 59 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str32,FC_NAMELANG_OBJECT},
+#line 56 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str33,FC_EMBEDDED_BITMAP_OBJECT},
+#line 19 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str34,FC_FAMILYLANG_OBJECT},
+#line 35 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str35,FC_VERTICAL_LAYOUT_OBJECT},
+#line 49 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str36,FC_MATRIX_OBJECT},
+#line 40 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str37,FC_RASTERIZER_OBJECT},
+#line 28 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str38,FC_ASPECT_OBJECT},
+#line 50 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str39,FC_CHARSET_OBJECT},
+#line 26 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str40,FC_WIDTH_OBJECT},
+#line 47 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str41,FC_CHAR_WIDTH_OBJECT},
+#line 48 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str42,FC_CHAR_HEIGHT_OBJECT},
+#line 44 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_RGBA_OBJECT},
+#line 20 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str44,FC_STYLE_OBJECT},
+#line 58 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_LCD_FILTER_OBJECT},
+#line 30 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_SPACING_OBJECT},
+#line 39 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str47,FC_INDEX_OBJECT},
+#line 21 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str48,FC_STYLELANG_OBJECT},
+#line 53 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str49,FC_CAPABILITY_OBJECT},
+      {-1}, {-1}, {-1}, {-1}, {-1},
+#line 61 "fcobjshash.gperf"
+      {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str55,FC_PRGNAME_OBJECT}
+    };
+
+  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+    {
+      register int key = FcObjectTypeHash (str, len);
+
+      if (key <= MAX_HASH_VALUE && key >= 0)
+        {
+          register int o = wordlist[key].name;
+          if (o >= 0)
+            {
+              register const char *s = o + FcObjectTypeNamePool;
+
+              if (*str == *s && !strcmp (str + 1, s + 1))
+                return &wordlist[key];
+            }
+        }
+    }
+  return 0;
+}
diff --git a/third_party/fontconfig/config/windows/config.h b/third_party/fontconfig/config/windows/config.h
new file mode 100644
index 0000000..e7d49f8
--- /dev/null
+++ b/third_party/fontconfig/config/windows/config.h
@@ -0,0 +1,237 @@
+/* config.h.  Generated from config.h.in by configure.  */
+/* config.h.in.  Generated from configure.in by autoheader.  */
+
+#include <direct.h>
+#ifndef _S_IFDIR
+#define	_S_IFDIR	0x4000
+#endif
+#ifndef S_IFDIR
+#define	S_IFDIR _S_IFDIR
+#endif
+#ifndef _S_IFMT
+#define	_S_IFMT		0xF000
+#endif
+#ifndef S_IFMT
+#define	S_IFMT _S_IFMT
+#endif
+
+#ifndef S_ISDIR
+#   ifdef S_IFDIR
+#       define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#   else
+#       define S_ISDIR(m) 0
+#   endif
+#endif /* !S_ISDIR */
+#ifndef F_OK
+#    define F_OK 0x00
+#endif
+#ifndef X_OK
+#    define X_OK 0x01
+#endif
+#ifndef W_OK
+#    define W_OK 0x02
+#endif
+
+#define snprintf _snprintf
+/* Font configuration directory */
+#define CONFDIR "c:/windows/etc"
+
+/* Use libxml2 instead of Expat */
+/* #undef ENABLE_LIBXML2 */
+
+/* Additional font directories */
+#define FC_ADD_FONTS "yes"
+
+/* System font directory */
+#define FC_DEFAULT_FONTS "c:/windows/fonts"
+
+#define FC_CACHEDIR "c:/temp"
+
+/* Define to 1 if you have the `chsize' function. */
+#define HAVE_CHSIZE 1
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#define HAVE_DIRENT_H 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+/* #undef HAVE_DLFCN_H */
+
+/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
+/* #undef HAVE_DOPRNT */
+
+/* Found a useable expat library */
+#define HAVE_EXPAT 1
+
+#define FLEXIBLE_ARRAY_MEMBER 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the `ftruncate' function. */
+/*#define HAVE_FTRUNCATE 1*/
+
+/* FT_Bitmap_Size structure includes y_ppem field */
+#define HAVE_FT_BITMAP_SIZE_Y_PPEM 1
+
+/* Define to 1 if you have the `FT_Get_BDF_Property' function. */
+#define HAVE_FT_GET_BDF_PROPERTY 1
+
+/* Define to 1 if you have the `FT_Get_Next_Char' function. */
+#define HAVE_FT_GET_NEXT_CHAR 1
+
+/* Define to 1 if you have the `FT_Get_PS_Font_Info' function. */
+#define HAVE_FT_GET_PS_FONT_INFO 1
+
+/* Define to 1 if you have the `FT_Get_X11_Font_Format' function. */
+#define HAVE_FT_GET_X11_FONT_FORMAT 1
+
+/* Define to 1 if you have the `FT_Has_PS_Glyph_Names' function. */
+#define HAVE_FT_HAS_PS_GLYPH_NAMES 1
+
+/* Define to 1 if you have the `FT_Select_Size' function. */
+#define HAVE_FT_SELECT_SIZE 1
+
+/* Define to 1 if you have the `geteuid' function. */
+/* #undef HAVE_GETEUID */
+
+/* Define to 1 if you have the `getopt' function. */
+/*#define HAVE_GETOPT 1*/
+
+/* Define to 1 if you have the `getopt_long' function. */
+/*#define HAVE_GETOPT_LONG 1*/
+
+/* Define to 1 if you have the `getpagesize' function. */
+/*#define HAVE_GETPAGESIZE 1*/
+
+/* Define to 1 if you have the `getuid' function. */
+/* #undef HAVE_GETUID */
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+/*#define HAVE_INTTYPES_H 1*/
+
+/* Define to 1 if you have the `link' function. */
+/* #undef HAVE_LINK */
+
+/* Define to 1 if you have the `lrand48' function. */
+/* #undef HAVE_LRAND48 */
+
+/* Define to 1 if you have the `memmove' function. */
+#define HAVE_MEMMOVE 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `memset' function. */
+#define HAVE_MEMSET 1
+
+/* Define to 1 if you have the `mkstemp' function. */
+/* #undef HAVE_MKSTEMP */
+
+/* Define to 1 if you have a working `mmap' system call. */
+/* #undef HAVE_MMAP */
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the `rand' function. */
+#define HAVE_RAND 1
+
+/* Define to 1 if you have the `random' function. */
+/* #undef HAVE_RANDOM */
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+/*#define HAVE_STRINGS_H 1*/
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strrchr' function. */
+#define HAVE_STRRCHR 1
+
+/* Define to 1 if you have the `strtol' function. */
+#define HAVE_STRTOL 1
+
+/* Define to 1 if you have the `sysconf' function. */
+/* #undef HAVE_SYSCONF */
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+/*#define HAVE_UNISTD_H 1*/
+
+/* Define to 1 if you have the `vprintf' function. */
+#define HAVE_VPRINTF 1
+
+/* Can use #warning in C files */
+#define HAVE_WARNING_CPP_DIRECTIVE 1
+
+/* Use xmlparse.h instead of expat.h */
+/* #undef HAVE_XMLPARSE_H */
+
+/* Define to 1 if you have the `XML_SetDoctypeDeclHandler' function. */
+#define HAVE_XML_SETDOCTYPEDECLHANDLER 1
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#define LT_OBJDIR ".libs/"
+
+/* Name of package */
+#define PACKAGE "fontconfig"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT ""
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME ""
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING ""
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION ""
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Use iconv. */
+/*#define USE_ICONV 1*/
+
+/* Version number of package */
+#define VERSION "2.10.1"
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef pid_t */
diff --git a/third_party/fontconfig/config/windows/dirent.c b/third_party/fontconfig/config/windows/dirent.c
new file mode 100644
index 0000000..221955b
--- /dev/null
+++ b/third_party/fontconfig/config/windows/dirent.c
@@ -0,0 +1,145 @@
+/*
+
+    Implementation of POSIX directory browsing functions and types for Win32.
+
+    Author:  Kevlin Henney (kevlin@acm.org, kevlin@curbralan.com)
+    History: Created March 1997. Updated June 2003.
+    Rights:  See end of file.
+
+*/
+
+#include <dirent.h>
+#include <errno.h>
+#include <io.h> /* _findfirst and _findnext set errno iff they return -1 */
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct DIR
+{
+    long                handle; /* -1 for failed rewind */
+    struct _finddata_t  info;
+    struct dirent       result; /* d_name null iff first time */
+    char                *name;  /* null-terminated char string */
+};
+
+DIR *opendir(const char *name)
+{
+    DIR *dir = 0;
+
+    if(name && name[0])
+    {
+        size_t base_length = strlen(name);
+        const char *all = /* search pattern must end with suitable wildcard */
+            strchr("/\\", name[base_length - 1]) ? "*" : "/*";
+
+        if((dir = (DIR *) malloc(sizeof *dir)) != 0 &&
+           (dir->name = (char *) malloc(base_length + strlen(all) + 1)) != 0)
+        {
+            strcat(strcpy(dir->name, name), all);
+
+            if((dir->handle = (long) _findfirst(dir->name, &dir->info)) != -1)
+            {
+                dir->result.d_name = 0;
+            }
+            else /* rollback */
+            {
+                free(dir->name);
+                free(dir);
+                dir = 0;
+            }
+        }
+        else /* rollback */
+        {
+            free(dir);
+            dir   = 0;
+            errno = ENOMEM;
+        }
+    }
+    else
+    {
+        errno = EINVAL;
+    }
+
+    return dir;
+}
+
+int closedir(DIR *dir)
+{
+    int result = -1;
+
+    if(dir)
+    {
+        if(dir->handle != -1)
+        {
+            result = _findclose(dir->handle);
+        }
+
+        free(dir->name);
+        free(dir);
+    }
+
+    if(result == -1) /* map all errors to EBADF */
+    {
+        errno = EBADF;
+    }
+
+    return result;
+}
+
+struct dirent *readdir(DIR *dir)
+{
+    struct dirent *result = 0;
+
+    if(dir && dir->handle != -1)
+    {
+        if(!dir->result.d_name || _findnext(dir->handle, &dir->info) != -1)
+        {
+            result         = &dir->result;
+            result->d_name = dir->info.name;
+        }
+    }
+    else
+    {
+        errno = EBADF;
+    }
+
+    return result;
+}
+
+void rewinddir(DIR *dir)
+{
+    if(dir && dir->handle != -1)
+    {
+        _findclose(dir->handle);
+        dir->handle = (long) _findfirst(dir->name, &dir->info);
+        dir->result.d_name = 0;
+    }
+    else
+    {
+        errno = EBADF;
+    }
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/*
+
+    Copyright Kevlin Henney, 1997, 2003. All rights reserved.
+
+    Permission to use, copy, modify, and distribute this software and its
+    documentation for any purpose is hereby granted without fee, provided
+    that this copyright and permissions notice appear in all copies and
+    derivatives.
+   
+    This software is supplied "as is" without express or implied warranty.
+
+    But that said, if there are any problems please get in touch.
+
+*/
diff --git a/third_party/fontconfig/config/windows/dirent.h b/third_party/fontconfig/config/windows/dirent.h
new file mode 100644
index 0000000..a02a0d8
--- /dev/null
+++ b/third_party/fontconfig/config/windows/dirent.h
@@ -0,0 +1,50 @@
+#ifndef DIRENT_INCLUDED
+#define DIRENT_INCLUDED
+
+/*
+
+    Declaration of POSIX directory browsing functions and types for Win32.
+
+    Author:  Kevlin Henney (kevlin@acm.org, kevlin@curbralan.com)
+    History: Created March 1997. Updated June 2003.
+    Rights:  See end of file.
+    
+*/
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct DIR DIR;
+
+struct dirent
+{
+    char *d_name;
+};
+
+DIR           *opendir(const char *);
+int           closedir(DIR *);
+struct dirent *readdir(DIR *);
+void          rewinddir(DIR *);
+
+/*
+
+    Copyright Kevlin Henney, 1997, 2003. All rights reserved.
+
+    Permission to use, copy, modify, and distribute this software and its
+    documentation for any purpose is hereby granted without fee, provided
+    that this copyright and permissions notice appear in all copies and
+    derivatives.
+    
+    This software is supplied "as is" without express or implied warranty.
+
+    But that said, if there are any problems please get in touch.
+
+*/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/third_party/fontconfig/config/windows/fcstdint.h b/third_party/fontconfig/config/windows/fcstdint.h
new file mode 100644
index 0000000..cbc20d2
--- /dev/null
+++ b/third_party/fontconfig/config/windows/fcstdint.h
@@ -0,0 +1,237 @@
+// ISO C9x  compliant stdint.h for Microsoft Visual Studio
+// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 
+// 
+//  Copyright (c) 2006-2008 Alexander Chemeris
+// 
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+// 
+//   1. Redistributions of source code must retain the above copyright notice,
+//      this list of conditions and the following disclaimer.
+// 
+//   2. Redistributions in binary form must reproduce the above copyright
+//      notice, this list of conditions and the following disclaimer in the
+//      documentation and/or other materials provided with the distribution.
+// 
+//   3. The name of the author may be used to endorse or promote products
+//      derived from this software without specific prior written permission.
+// 
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// 
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _MSC_VER // [
+#error "Use this header only with Microsoft Visual C++ compilers!"
+#endif // _MSC_VER ]
+
+#ifndef _MSC_STDINT_H_ // [
+#define _MSC_STDINT_H_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif
+
+#include <limits.h>
+
+// For Visual Studio 6 in C++ mode wrap <wchar.h> include with 'extern "C++" {}'
+// or compiler give many errors like this:
+//   error C2733: second C linkage of overloaded function 'wmemchr' not allowed
+#if (_MSC_VER < 1300) && defined(__cplusplus)
+   extern "C++" {
+#endif 
+#     include <wchar.h>
+#if (_MSC_VER < 1300) && defined(__cplusplus)
+   }
+#endif
+
+// Define _W64 macros to mark types changing their size, like intptr_t.
+#ifndef _W64
+#  if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
+#     define _W64 __w64
+#  else
+#     define _W64
+#  endif
+#endif
+
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+#ifndef PHONON_PULSESUPPORT
+typedef signed __int8            int8_t;
+typedef signed __int16           int16_t;
+typedef signed __int32           int32_t;
+typedef signed __int64           int64_t;
+typedef unsigned __int8   uint8_t;
+typedef unsigned __int16  uint16_t;
+typedef unsigned __int32  uint32_t;
+typedef unsigned __int64  uint64_t;
+#endif
+
+// 7.18.1.2 Minimum-width integer types
+typedef int8_t    int_least8_t;
+typedef int16_t   int_least16_t;
+typedef int32_t   int_least32_t;
+typedef int64_t   int_least64_t;
+typedef uint8_t   uint_least8_t;
+typedef uint16_t  uint_least16_t;
+typedef uint32_t  uint_least32_t;
+typedef uint64_t  uint_least64_t;
+
+// 7.18.1.3 Fastest minimum-width integer types
+#ifndef KDE_FULL_TEMPLATE_EXPORT_INSTANTIATION
+typedef int8_t    int_fast8_t;
+typedef int16_t   int_fast16_t;
+typedef int32_t   int_fast32_t;
+typedef int64_t   int_fast64_t;
+typedef uint8_t   uint_fast8_t;
+typedef uint16_t  uint_fast16_t;
+typedef uint32_t  uint_fast32_t;
+typedef uint64_t  uint_fast64_t;
+
+
+// 7.18.1.4 Integer types capable of holding object pointers
+#ifdef _WIN64 // [
+   typedef __int64           intptr_t;
+   typedef unsigned __int64  uintptr_t;
+#else // _WIN64 ][
+   typedef _W64 int               intptr_t;
+   typedef _W64 unsigned int      uintptr_t;
+#endif // _WIN64 ]
+#endif
+
+// 7.18.1.5 Greatest-width integer types
+typedef int64_t   intmax_t;
+typedef uint64_t  uintmax_t;
+
+
+// 7.18.2 Limits of specified-width integer types
+
+#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [   See footnote 220 at page 257 and footnote 221 at page 259
+
+// 7.18.2.1 Limits of exact-width integer types
+#define INT8_MIN     ((int8_t)_I8_MIN)
+#define INT8_MAX     _I8_MAX
+#define INT16_MIN    ((int16_t)_I16_MIN)
+#define INT16_MAX    _I16_MAX
+#define INT32_MIN    ((int32_t)_I32_MIN)
+#define INT32_MAX    _I32_MAX
+#define INT64_MIN    ((int64_t)_I64_MIN)
+#define INT64_MAX    _I64_MAX
+#define UINT8_MAX    _UI8_MAX
+#define UINT16_MAX   _UI16_MAX
+#define UINT32_MAX   _UI32_MAX
+#define UINT64_MAX   _UI64_MAX
+
+// 7.18.2.2 Limits of minimum-width integer types
+#define INT_LEAST8_MIN    INT8_MIN
+#define INT_LEAST8_MAX    INT8_MAX
+#define INT_LEAST16_MIN   INT16_MIN
+#define INT_LEAST16_MAX   INT16_MAX
+#define INT_LEAST32_MIN   INT32_MIN
+#define INT_LEAST32_MAX   INT32_MAX
+#define INT_LEAST64_MIN   INT64_MIN
+#define INT_LEAST64_MAX   INT64_MAX
+#define UINT_LEAST8_MAX   UINT8_MAX
+#define UINT_LEAST16_MAX  UINT16_MAX
+#define UINT_LEAST32_MAX  UINT32_MAX
+#define UINT_LEAST64_MAX  UINT64_MAX
+
+// 7.18.2.3 Limits of fastest minimum-width integer types
+#define INT_FAST8_MIN    INT8_MIN
+#define INT_FAST8_MAX    INT8_MAX
+#define INT_FAST16_MIN   INT16_MIN
+#define INT_FAST16_MAX   INT16_MAX
+#define INT_FAST32_MIN   INT32_MIN
+#define INT_FAST32_MAX   INT32_MAX
+#define INT_FAST64_MIN   INT64_MIN
+#define INT_FAST64_MAX   INT64_MAX
+#define UINT_FAST8_MAX   UINT8_MAX
+#define UINT_FAST16_MAX  UINT16_MAX
+#define UINT_FAST32_MAX  UINT32_MAX
+#define UINT_FAST64_MAX  UINT64_MAX
+
+// 7.18.2.4 Limits of integer types capable of holding object pointers
+#ifdef _WIN64 // [
+#  define INTPTR_MIN   INT64_MIN
+#  define INTPTR_MAX   INT64_MAX
+#  define UINTPTR_MAX  UINT64_MAX
+#else // _WIN64 ][
+#  define INTPTR_MIN   INT32_MIN
+#  define INTPTR_MAX   INT32_MAX
+#  define UINTPTR_MAX  UINT32_MAX
+#endif // _WIN64 ]
+
+// 7.18.2.5 Limits of greatest-width integer types
+#define INTMAX_MIN   INT64_MIN
+#define INTMAX_MAX   INT64_MAX
+#define UINTMAX_MAX  UINT64_MAX
+
+// 7.18.3 Limits of other integer types
+
+#ifdef _WIN64 // [
+#  define PTRDIFF_MIN  _I64_MIN
+#  define PTRDIFF_MAX  _I64_MAX
+#else  // _WIN64 ][
+#  define PTRDIFF_MIN  _I32_MIN
+#  define PTRDIFF_MAX  _I32_MAX
+#endif  // _WIN64 ]
+
+#define SIG_ATOMIC_MIN  INT_MIN
+#define SIG_ATOMIC_MAX  INT_MAX
+
+#ifndef SIZE_MAX // [
+#  ifdef _WIN64 // [
+#     define SIZE_MAX  _UI64_MAX
+#  else // _WIN64 ][
+#     define SIZE_MAX  _UI32_MAX
+#  endif // _WIN64 ]
+#endif // SIZE_MAX ]
+
+// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h>
+#ifndef WCHAR_MIN // [
+#  define WCHAR_MIN  0
+#endif  // WCHAR_MIN ]
+#ifndef WCHAR_MAX // [
+#  define WCHAR_MAX  _UI16_MAX
+#endif  // WCHAR_MAX ]
+
+#define WINT_MIN  0
+#define WINT_MAX  _UI16_MAX
+
+#endif // __STDC_LIMIT_MACROS ]
+
+
+// 7.18.4 Limits of other integer types
+
+#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [   See footnote 224 at page 260
+
+// 7.18.4.1 Macros for minimum-width integer constants
+
+#define INT8_C(val)  val##i8
+#define INT16_C(val) val##i16
+#define INT32_C(val) val##i32
+#define INT64_C(val) val##i64
+
+#define UINT8_C(val)  val##ui8
+#define UINT16_C(val) val##ui16
+#define UINT32_C(val) val##ui32
+#define UINT64_C(val) val##ui64
+
+// 7.18.4.2 Macros for greatest-width integer constants
+#define INTMAX_C   INT64_C
+#define UINTMAX_C  UINT64_C
+
+#endif // __STDC_CONSTANT_MACROS ]
+
+
+#endif // _MSC_STDINT_H_ ]
diff --git a/third_party/fontconfig/config/windows/src/fcalias.h b/third_party/fontconfig/config/windows/src/fcalias.h
new file mode 100644
index 0000000..2fb073a
--- /dev/null
+++ b/third_party/fontconfig/config/windows/src/fcalias.h
@@ -0,0 +1,368 @@
+extern __typeof (FcBlanksCreate) IA__FcBlanksCreate __attribute((visibility("hidden")));
+#define FcBlanksCreate IA__FcBlanksCreate
+extern __typeof (FcBlanksDestroy) IA__FcBlanksDestroy __attribute((visibility("hidden")));
+#define FcBlanksDestroy IA__FcBlanksDestroy
+extern __typeof (FcBlanksAdd) IA__FcBlanksAdd __attribute((visibility("hidden")));
+#define FcBlanksAdd IA__FcBlanksAdd
+extern __typeof (FcBlanksIsMember) IA__FcBlanksIsMember __attribute((visibility("hidden")));
+#define FcBlanksIsMember IA__FcBlanksIsMember
+extern __typeof (FcCacheCopySet) IA__FcCacheCopySet __attribute((visibility("hidden")));
+#define FcCacheCopySet IA__FcCacheCopySet
+extern __typeof (FcCacheNumSubdir) IA__FcCacheNumSubdir __attribute((visibility("hidden")));
+#define FcCacheNumSubdir IA__FcCacheNumSubdir
+extern __typeof (FcCacheNumFont) IA__FcCacheNumFont __attribute((visibility("hidden")));
+#define FcCacheNumFont IA__FcCacheNumFont
+extern __typeof (FcDirCacheUnlink) IA__FcDirCacheUnlink __attribute((visibility("hidden")));
+#define FcDirCacheUnlink IA__FcDirCacheUnlink
+extern __typeof (FcDirCacheValid) IA__FcDirCacheValid __attribute((visibility("hidden")));
+#define FcDirCacheValid IA__FcDirCacheValid
+extern __typeof (FcConfigHome) IA__FcConfigHome __attribute((visibility("hidden")));
+#define FcConfigHome IA__FcConfigHome
+extern __typeof (FcConfigEnableHome) IA__FcConfigEnableHome __attribute((visibility("hidden")));
+#define FcConfigEnableHome IA__FcConfigEnableHome
+extern __typeof (FcConfigFilename) IA__FcConfigFilename __attribute((visibility("hidden")));
+#define FcConfigFilename IA__FcConfigFilename
+extern __typeof (FcConfigCreate) IA__FcConfigCreate __attribute((visibility("hidden")));
+#define FcConfigCreate IA__FcConfigCreate
+extern __typeof (FcConfigReference) IA__FcConfigReference __attribute((visibility("hidden")));
+#define FcConfigReference IA__FcConfigReference
+extern __typeof (FcConfigDestroy) IA__FcConfigDestroy __attribute((visibility("hidden")));
+#define FcConfigDestroy IA__FcConfigDestroy
+extern __typeof (FcConfigSetCurrent) IA__FcConfigSetCurrent __attribute((visibility("hidden")));
+#define FcConfigSetCurrent IA__FcConfigSetCurrent
+extern __typeof (FcConfigGetCurrent) IA__FcConfigGetCurrent __attribute((visibility("hidden")));
+#define FcConfigGetCurrent IA__FcConfigGetCurrent
+extern __typeof (FcConfigUptoDate) IA__FcConfigUptoDate __attribute((visibility("hidden")));
+#define FcConfigUptoDate IA__FcConfigUptoDate
+extern __typeof (FcConfigBuildFonts) IA__FcConfigBuildFonts __attribute((visibility("hidden")));
+#define FcConfigBuildFonts IA__FcConfigBuildFonts
+extern __typeof (FcConfigGetFontDirs) IA__FcConfigGetFontDirs __attribute((visibility("hidden")));
+#define FcConfigGetFontDirs IA__FcConfigGetFontDirs
+extern __typeof (FcConfigGetConfigDirs) IA__FcConfigGetConfigDirs __attribute((visibility("hidden")));
+#define FcConfigGetConfigDirs IA__FcConfigGetConfigDirs
+extern __typeof (FcConfigGetConfigFiles) IA__FcConfigGetConfigFiles __attribute((visibility("hidden")));
+#define FcConfigGetConfigFiles IA__FcConfigGetConfigFiles
+extern __typeof (FcConfigGetCache) IA__FcConfigGetCache __attribute((visibility("hidden")));
+#define FcConfigGetCache IA__FcConfigGetCache
+extern __typeof (FcConfigGetBlanks) IA__FcConfigGetBlanks __attribute((visibility("hidden")));
+#define FcConfigGetBlanks IA__FcConfigGetBlanks
+extern __typeof (FcConfigGetCacheDirs) IA__FcConfigGetCacheDirs __attribute((visibility("hidden")));
+#define FcConfigGetCacheDirs IA__FcConfigGetCacheDirs
+extern __typeof (FcConfigGetRescanInterval) IA__FcConfigGetRescanInterval __attribute((visibility("hidden")));
+#define FcConfigGetRescanInterval IA__FcConfigGetRescanInterval
+extern __typeof (FcConfigSetRescanInterval) IA__FcConfigSetRescanInterval __attribute((visibility("hidden")));
+#define FcConfigSetRescanInterval IA__FcConfigSetRescanInterval
+extern __typeof (FcConfigGetFonts) IA__FcConfigGetFonts __attribute((visibility("hidden")));
+#define FcConfigGetFonts IA__FcConfigGetFonts
+extern __typeof (FcConfigAppFontAddFile) IA__FcConfigAppFontAddFile __attribute((visibility("hidden")));
+#define FcConfigAppFontAddFile IA__FcConfigAppFontAddFile
+extern __typeof (FcConfigAppFontAddDir) IA__FcConfigAppFontAddDir __attribute((visibility("hidden")));
+#define FcConfigAppFontAddDir IA__FcConfigAppFontAddDir
+extern __typeof (FcConfigAppFontClear) IA__FcConfigAppFontClear __attribute((visibility("hidden")));
+#define FcConfigAppFontClear IA__FcConfigAppFontClear
+extern __typeof (FcConfigSubstituteWithPat) IA__FcConfigSubstituteWithPat __attribute((visibility("hidden")));
+#define FcConfigSubstituteWithPat IA__FcConfigSubstituteWithPat
+extern __typeof (FcConfigSubstitute) IA__FcConfigSubstitute __attribute((visibility("hidden")));
+#define FcConfigSubstitute IA__FcConfigSubstitute
+extern __typeof (FcCharSetCreate) IA__FcCharSetCreate __attribute((visibility("hidden")));
+#define FcCharSetCreate IA__FcCharSetCreate
+extern __typeof (FcCharSetNew) IA__FcCharSetNew __attribute((visibility("hidden")));
+#define FcCharSetNew IA__FcCharSetNew
+extern __typeof (FcCharSetDestroy) IA__FcCharSetDestroy __attribute((visibility("hidden")));
+#define FcCharSetDestroy IA__FcCharSetDestroy
+extern __typeof (FcCharSetAddChar) IA__FcCharSetAddChar __attribute((visibility("hidden")));
+#define FcCharSetAddChar IA__FcCharSetAddChar
+extern __typeof (FcCharSetCopy) IA__FcCharSetCopy __attribute((visibility("hidden")));
+#define FcCharSetCopy IA__FcCharSetCopy
+extern __typeof (FcCharSetEqual) IA__FcCharSetEqual __attribute((visibility("hidden")));
+#define FcCharSetEqual IA__FcCharSetEqual
+extern __typeof (FcCharSetIntersect) IA__FcCharSetIntersect __attribute((visibility("hidden")));
+#define FcCharSetIntersect IA__FcCharSetIntersect
+extern __typeof (FcCharSetUnion) IA__FcCharSetUnion __attribute((visibility("hidden")));
+#define FcCharSetUnion IA__FcCharSetUnion
+extern __typeof (FcCharSetSubtract) IA__FcCharSetSubtract __attribute((visibility("hidden")));
+#define FcCharSetSubtract IA__FcCharSetSubtract
+extern __typeof (FcCharSetMerge) IA__FcCharSetMerge __attribute((visibility("hidden")));
+#define FcCharSetMerge IA__FcCharSetMerge
+extern __typeof (FcCharSetHasChar) IA__FcCharSetHasChar __attribute((visibility("hidden")));
+#define FcCharSetHasChar IA__FcCharSetHasChar
+extern __typeof (FcCharSetCount) IA__FcCharSetCount __attribute((visibility("hidden")));
+#define FcCharSetCount IA__FcCharSetCount
+extern __typeof (FcCharSetIntersectCount) IA__FcCharSetIntersectCount __attribute((visibility("hidden")));
+#define FcCharSetIntersectCount IA__FcCharSetIntersectCount
+extern __typeof (FcCharSetSubtractCount) IA__FcCharSetSubtractCount __attribute((visibility("hidden")));
+#define FcCharSetSubtractCount IA__FcCharSetSubtractCount
+extern __typeof (FcCharSetIsSubset) IA__FcCharSetIsSubset __attribute((visibility("hidden")));
+#define FcCharSetIsSubset IA__FcCharSetIsSubset
+extern __typeof (FcCharSetFirstPage) IA__FcCharSetFirstPage __attribute((visibility("hidden")));
+#define FcCharSetFirstPage IA__FcCharSetFirstPage
+extern __typeof (FcCharSetNextPage) IA__FcCharSetNextPage __attribute((visibility("hidden")));
+#define FcCharSetNextPage IA__FcCharSetNextPage
+extern __typeof (FcCharSetCoverage) IA__FcCharSetCoverage __attribute((visibility("hidden")));
+#define FcCharSetCoverage IA__FcCharSetCoverage
+extern __typeof (FcValuePrint) IA__FcValuePrint __attribute((visibility("hidden")));
+#define FcValuePrint IA__FcValuePrint
+extern __typeof (FcPatternPrint) IA__FcPatternPrint __attribute((visibility("hidden")));
+#define FcPatternPrint IA__FcPatternPrint
+extern __typeof (FcFontSetPrint) IA__FcFontSetPrint __attribute((visibility("hidden")));
+#define FcFontSetPrint IA__FcFontSetPrint
+extern __typeof (FcDefaultSubstitute) IA__FcDefaultSubstitute __attribute((visibility("hidden")));
+#define FcDefaultSubstitute IA__FcDefaultSubstitute
+extern __typeof (FcFileIsDir) IA__FcFileIsDir __attribute((visibility("hidden")));
+#define FcFileIsDir IA__FcFileIsDir
+extern __typeof (FcFileScan) IA__FcFileScan __attribute((visibility("hidden")));
+#define FcFileScan IA__FcFileScan
+extern __typeof (FcDirScan) IA__FcDirScan __attribute((visibility("hidden")));
+#define FcDirScan IA__FcDirScan
+extern __typeof (FcDirSave) IA__FcDirSave __attribute((visibility("hidden")));
+#define FcDirSave IA__FcDirSave
+extern __typeof (FcDirCacheLoad) IA__FcDirCacheLoad __attribute((visibility("hidden")));
+#define FcDirCacheLoad IA__FcDirCacheLoad
+extern __typeof (FcDirCacheRead) IA__FcDirCacheRead __attribute((visibility("hidden")));
+#define FcDirCacheRead IA__FcDirCacheRead
+extern __typeof (FcDirCacheLoadFile) IA__FcDirCacheLoadFile __attribute((visibility("hidden")));
+#define FcDirCacheLoadFile IA__FcDirCacheLoadFile
+extern __typeof (FcDirCacheUnload) IA__FcDirCacheUnload __attribute((visibility("hidden")));
+#define FcDirCacheUnload IA__FcDirCacheUnload
+extern __typeof (FcFreeTypeQuery) IA__FcFreeTypeQuery __attribute((visibility("hidden")));
+#define FcFreeTypeQuery IA__FcFreeTypeQuery
+extern __typeof (FcFontSetCreate) IA__FcFontSetCreate __attribute((visibility("hidden")));
+#define FcFontSetCreate IA__FcFontSetCreate
+extern __typeof (FcFontSetDestroy) IA__FcFontSetDestroy __attribute((visibility("hidden")));
+#define FcFontSetDestroy IA__FcFontSetDestroy
+extern __typeof (FcFontSetAdd) IA__FcFontSetAdd __attribute((visibility("hidden")));
+#define FcFontSetAdd IA__FcFontSetAdd
+extern __typeof (FcInitLoadConfig) IA__FcInitLoadConfig __attribute((visibility("hidden")));
+#define FcInitLoadConfig IA__FcInitLoadConfig
+extern __typeof (FcInitLoadConfigAndFonts) IA__FcInitLoadConfigAndFonts __attribute((visibility("hidden")));
+#define FcInitLoadConfigAndFonts IA__FcInitLoadConfigAndFonts
+extern __typeof (FcInit) IA__FcInit __attribute((visibility("hidden")));
+#define FcInit IA__FcInit
+extern __typeof (FcFini) IA__FcFini __attribute((visibility("hidden")));
+#define FcFini IA__FcFini
+extern __typeof (FcGetVersion) IA__FcGetVersion __attribute((visibility("hidden")));
+#define FcGetVersion IA__FcGetVersion
+extern __typeof (FcInitReinitialize) IA__FcInitReinitialize __attribute((visibility("hidden")));
+#define FcInitReinitialize IA__FcInitReinitialize
+extern __typeof (FcInitBringUptoDate) IA__FcInitBringUptoDate __attribute((visibility("hidden")));
+#define FcInitBringUptoDate IA__FcInitBringUptoDate
+extern __typeof (FcGetLangs) IA__FcGetLangs __attribute((visibility("hidden")));
+#define FcGetLangs IA__FcGetLangs
+extern __typeof (FcLangGetCharSet) IA__FcLangGetCharSet __attribute((visibility("hidden")));
+#define FcLangGetCharSet IA__FcLangGetCharSet
+extern __typeof (FcLangSetCreate) IA__FcLangSetCreate __attribute((visibility("hidden")));
+#define FcLangSetCreate IA__FcLangSetCreate
+extern __typeof (FcLangSetDestroy) IA__FcLangSetDestroy __attribute((visibility("hidden")));
+#define FcLangSetDestroy IA__FcLangSetDestroy
+extern __typeof (FcLangSetCopy) IA__FcLangSetCopy __attribute((visibility("hidden")));
+#define FcLangSetCopy IA__FcLangSetCopy
+extern __typeof (FcLangSetAdd) IA__FcLangSetAdd __attribute((visibility("hidden")));
+#define FcLangSetAdd IA__FcLangSetAdd
+extern __typeof (FcLangSetHasLang) IA__FcLangSetHasLang __attribute((visibility("hidden")));
+#define FcLangSetHasLang IA__FcLangSetHasLang
+extern __typeof (FcLangSetCompare) IA__FcLangSetCompare __attribute((visibility("hidden")));
+#define FcLangSetCompare IA__FcLangSetCompare
+extern __typeof (FcLangSetContains) IA__FcLangSetContains __attribute((visibility("hidden")));
+#define FcLangSetContains IA__FcLangSetContains
+extern __typeof (FcLangSetEqual) IA__FcLangSetEqual __attribute((visibility("hidden")));
+#define FcLangSetEqual IA__FcLangSetEqual
+extern __typeof (FcLangSetHash) IA__FcLangSetHash __attribute((visibility("hidden")));
+#define FcLangSetHash IA__FcLangSetHash
+extern __typeof (FcLangSetGetLangs) IA__FcLangSetGetLangs __attribute((visibility("hidden")));
+#define FcLangSetGetLangs IA__FcLangSetGetLangs
+extern __typeof (FcObjectSetCreate) IA__FcObjectSetCreate __attribute((visibility("hidden")));
+#define FcObjectSetCreate IA__FcObjectSetCreate
+extern __typeof (FcObjectSetAdd) IA__FcObjectSetAdd __attribute((visibility("hidden")));
+#define FcObjectSetAdd IA__FcObjectSetAdd
+extern __typeof (FcObjectSetDestroy) IA__FcObjectSetDestroy __attribute((visibility("hidden")));
+#define FcObjectSetDestroy IA__FcObjectSetDestroy
+extern __typeof (FcObjectSetVaBuild) IA__FcObjectSetVaBuild __attribute((visibility("hidden")));
+#define FcObjectSetVaBuild IA__FcObjectSetVaBuild
+extern __typeof (FcObjectSetBuild) IA__FcObjectSetBuild __attribute((visibility("hidden")));
+#define FcObjectSetBuild IA__FcObjectSetBuild
+extern __typeof (FcFontSetList) IA__FcFontSetList __attribute((visibility("hidden")));
+#define FcFontSetList IA__FcFontSetList
+extern __typeof (FcFontList) IA__FcFontList __attribute((visibility("hidden")));
+#define FcFontList IA__FcFontList
+extern __typeof (FcAtomicCreate) IA__FcAtomicCreate __attribute((visibility("hidden")));
+#define FcAtomicCreate IA__FcAtomicCreate
+extern __typeof (FcAtomicLock) IA__FcAtomicLock __attribute((visibility("hidden")));
+#define FcAtomicLock IA__FcAtomicLock
+extern __typeof (FcAtomicNewFile) IA__FcAtomicNewFile __attribute((visibility("hidden")));
+#define FcAtomicNewFile IA__FcAtomicNewFile
+extern __typeof (FcAtomicOrigFile) IA__FcAtomicOrigFile __attribute((visibility("hidden")));
+#define FcAtomicOrigFile IA__FcAtomicOrigFile
+extern __typeof (FcAtomicReplaceOrig) IA__FcAtomicReplaceOrig __attribute((visibility("hidden")));
+#define FcAtomicReplaceOrig IA__FcAtomicReplaceOrig
+extern __typeof (FcAtomicDeleteNew) IA__FcAtomicDeleteNew __attribute((visibility("hidden")));
+#define FcAtomicDeleteNew IA__FcAtomicDeleteNew
+extern __typeof (FcAtomicUnlock) IA__FcAtomicUnlock __attribute((visibility("hidden")));
+#define FcAtomicUnlock IA__FcAtomicUnlock
+extern __typeof (FcAtomicDestroy) IA__FcAtomicDestroy __attribute((visibility("hidden")));
+#define FcAtomicDestroy IA__FcAtomicDestroy
+extern __typeof (FcFontSetMatch) IA__FcFontSetMatch __attribute((visibility("hidden")));
+#define FcFontSetMatch IA__FcFontSetMatch
+extern __typeof (FcFontMatch) IA__FcFontMatch __attribute((visibility("hidden")));
+#define FcFontMatch IA__FcFontMatch
+extern __typeof (FcFontRenderPrepare) IA__FcFontRenderPrepare __attribute((visibility("hidden")));
+#define FcFontRenderPrepare IA__FcFontRenderPrepare
+extern __typeof (FcFontSetSort) IA__FcFontSetSort __attribute((visibility("hidden")));
+#define FcFontSetSort IA__FcFontSetSort
+extern __typeof (FcFontSort) IA__FcFontSort __attribute((visibility("hidden")));
+#define FcFontSort IA__FcFontSort
+extern __typeof (FcFontSetSortDestroy) IA__FcFontSetSortDestroy __attribute((visibility("hidden")));
+#define FcFontSetSortDestroy IA__FcFontSetSortDestroy
+extern __typeof (FcMatrixCopy) IA__FcMatrixCopy __attribute((visibility("hidden")));
+#define FcMatrixCopy IA__FcMatrixCopy
+extern __typeof (FcMatrixEqual) IA__FcMatrixEqual __attribute((visibility("hidden")));
+#define FcMatrixEqual IA__FcMatrixEqual
+extern __typeof (FcMatrixMultiply) IA__FcMatrixMultiply __attribute((visibility("hidden")));
+#define FcMatrixMultiply IA__FcMatrixMultiply
+extern __typeof (FcMatrixRotate) IA__FcMatrixRotate __attribute((visibility("hidden")));
+#define FcMatrixRotate IA__FcMatrixRotate
+extern __typeof (FcMatrixScale) IA__FcMatrixScale __attribute((visibility("hidden")));
+#define FcMatrixScale IA__FcMatrixScale
+extern __typeof (FcMatrixShear) IA__FcMatrixShear __attribute((visibility("hidden")));
+#define FcMatrixShear IA__FcMatrixShear
+extern __typeof (FcNameRegisterObjectTypes) IA__FcNameRegisterObjectTypes __attribute((visibility("hidden")));
+#define FcNameRegisterObjectTypes IA__FcNameRegisterObjectTypes
+extern __typeof (FcNameUnregisterObjectTypes) IA__FcNameUnregisterObjectTypes __attribute((visibility("hidden")));
+#define FcNameUnregisterObjectTypes IA__FcNameUnregisterObjectTypes
+extern __typeof (FcNameGetObjectType) IA__FcNameGetObjectType __attribute((visibility("hidden")));
+#define FcNameGetObjectType IA__FcNameGetObjectType
+extern __typeof (FcNameRegisterConstants) IA__FcNameRegisterConstants __attribute((visibility("hidden")));
+#define FcNameRegisterConstants IA__FcNameRegisterConstants
+extern __typeof (FcNameUnregisterConstants) IA__FcNameUnregisterConstants __attribute((visibility("hidden")));
+#define FcNameUnregisterConstants IA__FcNameUnregisterConstants
+extern __typeof (FcNameGetConstant) IA__FcNameGetConstant __attribute((visibility("hidden")));
+#define FcNameGetConstant IA__FcNameGetConstant
+extern __typeof (FcNameConstant) IA__FcNameConstant __attribute((visibility("hidden")));
+#define FcNameConstant IA__FcNameConstant
+extern __typeof (FcNameParse) IA__FcNameParse __attribute((visibility("hidden")));
+#define FcNameParse IA__FcNameParse
+extern __typeof (FcNameUnparse) IA__FcNameUnparse __attribute((visibility("hidden")));
+#define FcNameUnparse IA__FcNameUnparse
+extern __typeof (FcPatternCreate) IA__FcPatternCreate __attribute((visibility("hidden")));
+#define FcPatternCreate IA__FcPatternCreate
+extern __typeof (FcPatternDuplicate) IA__FcPatternDuplicate __attribute((visibility("hidden")));
+#define FcPatternDuplicate IA__FcPatternDuplicate
+extern __typeof (FcPatternReference) IA__FcPatternReference __attribute((visibility("hidden")));
+#define FcPatternReference IA__FcPatternReference
+extern __typeof (FcPatternFilter) IA__FcPatternFilter __attribute((visibility("hidden")));
+#define FcPatternFilter IA__FcPatternFilter
+extern __typeof (FcValueDestroy) IA__FcValueDestroy __attribute((visibility("hidden")));
+#define FcValueDestroy IA__FcValueDestroy
+extern __typeof (FcValueEqual) IA__FcValueEqual __attribute((visibility("hidden")));
+#define FcValueEqual IA__FcValueEqual
+extern __typeof (FcValueSave) IA__FcValueSave __attribute((visibility("hidden")));
+#define FcValueSave IA__FcValueSave
+extern __typeof (FcPatternDestroy) IA__FcPatternDestroy __attribute((visibility("hidden")));
+#define FcPatternDestroy IA__FcPatternDestroy
+extern __typeof (FcPatternEqual) IA__FcPatternEqual __attribute((visibility("hidden")));
+#define FcPatternEqual IA__FcPatternEqual
+extern __typeof (FcPatternEqualSubset) IA__FcPatternEqualSubset __attribute((visibility("hidden")));
+#define FcPatternEqualSubset IA__FcPatternEqualSubset
+extern __typeof (FcPatternHash) IA__FcPatternHash __attribute((visibility("hidden")));
+#define FcPatternHash IA__FcPatternHash
+extern __typeof (FcPatternAdd) IA__FcPatternAdd __attribute((visibility("hidden")));
+#define FcPatternAdd IA__FcPatternAdd
+extern __typeof (FcPatternAddWeak) IA__FcPatternAddWeak __attribute((visibility("hidden")));
+#define FcPatternAddWeak IA__FcPatternAddWeak
+extern __typeof (FcPatternGet) IA__FcPatternGet __attribute((visibility("hidden")));
+#define FcPatternGet IA__FcPatternGet
+extern __typeof (FcPatternDel) IA__FcPatternDel __attribute((visibility("hidden")));
+#define FcPatternDel IA__FcPatternDel
+extern __typeof (FcPatternRemove) IA__FcPatternRemove __attribute((visibility("hidden")));
+#define FcPatternRemove IA__FcPatternRemove
+extern __typeof (FcPatternAddInteger) IA__FcPatternAddInteger __attribute((visibility("hidden")));
+#define FcPatternAddInteger IA__FcPatternAddInteger
+extern __typeof (FcPatternAddDouble) IA__FcPatternAddDouble __attribute((visibility("hidden")));
+#define FcPatternAddDouble IA__FcPatternAddDouble
+extern __typeof (FcPatternAddString) IA__FcPatternAddString __attribute((visibility("hidden")));
+#define FcPatternAddString IA__FcPatternAddString
+extern __typeof (FcPatternAddMatrix) IA__FcPatternAddMatrix __attribute((visibility("hidden")));
+#define FcPatternAddMatrix IA__FcPatternAddMatrix
+extern __typeof (FcPatternAddCharSet) IA__FcPatternAddCharSet __attribute((visibility("hidden")));
+#define FcPatternAddCharSet IA__FcPatternAddCharSet
+extern __typeof (FcPatternAddBool) IA__FcPatternAddBool __attribute((visibility("hidden")));
+#define FcPatternAddBool IA__FcPatternAddBool
+extern __typeof (FcPatternAddLangSet) IA__FcPatternAddLangSet __attribute((visibility("hidden")));
+#define FcPatternAddLangSet IA__FcPatternAddLangSet
+extern __typeof (FcPatternGetInteger) IA__FcPatternGetInteger __attribute((visibility("hidden")));
+#define FcPatternGetInteger IA__FcPatternGetInteger
+extern __typeof (FcPatternGetDouble) IA__FcPatternGetDouble __attribute((visibility("hidden")));
+#define FcPatternGetDouble IA__FcPatternGetDouble
+extern __typeof (FcPatternGetString) IA__FcPatternGetString __attribute((visibility("hidden")));
+#define FcPatternGetString IA__FcPatternGetString
+extern __typeof (FcPatternGetMatrix) IA__FcPatternGetMatrix __attribute((visibility("hidden")));
+#define FcPatternGetMatrix IA__FcPatternGetMatrix
+extern __typeof (FcPatternGetCharSet) IA__FcPatternGetCharSet __attribute((visibility("hidden")));
+#define FcPatternGetCharSet IA__FcPatternGetCharSet
+extern __typeof (FcPatternGetBool) IA__FcPatternGetBool __attribute((visibility("hidden")));
+#define FcPatternGetBool IA__FcPatternGetBool
+extern __typeof (FcPatternGetLangSet) IA__FcPatternGetLangSet __attribute((visibility("hidden")));
+#define FcPatternGetLangSet IA__FcPatternGetLangSet
+extern __typeof (FcPatternVaBuild) IA__FcPatternVaBuild __attribute((visibility("hidden")));
+#define FcPatternVaBuild IA__FcPatternVaBuild
+extern __typeof (FcPatternBuild) IA__FcPatternBuild __attribute((visibility("hidden")));
+#define FcPatternBuild IA__FcPatternBuild
+extern __typeof (FcPatternFormat) IA__FcPatternFormat __attribute((visibility("hidden")));
+#define FcPatternFormat IA__FcPatternFormat
+extern __typeof (FcStrCopy) IA__FcStrCopy __attribute((visibility("hidden")));
+#define FcStrCopy IA__FcStrCopy
+extern __typeof (FcStrCopyFilename) IA__FcStrCopyFilename __attribute((visibility("hidden")));
+#define FcStrCopyFilename IA__FcStrCopyFilename
+extern __typeof (FcStrPlus) IA__FcStrPlus __attribute((visibility("hidden")));
+#define FcStrPlus IA__FcStrPlus
+extern __typeof (FcStrFree) IA__FcStrFree __attribute((visibility("hidden")));
+#define FcStrFree IA__FcStrFree
+extern __typeof (FcStrDowncase) IA__FcStrDowncase __attribute((visibility("hidden")));
+#define FcStrDowncase IA__FcStrDowncase
+extern __typeof (FcStrCmpIgnoreCase) IA__FcStrCmpIgnoreCase __attribute((visibility("hidden")));
+#define FcStrCmpIgnoreCase IA__FcStrCmpIgnoreCase
+extern __typeof (FcStrCmp) IA__FcStrCmp __attribute((visibility("hidden")));
+#define FcStrCmp IA__FcStrCmp
+extern __typeof (FcStrStrIgnoreCase) IA__FcStrStrIgnoreCase __attribute((visibility("hidden")));
+#define FcStrStrIgnoreCase IA__FcStrStrIgnoreCase
+extern __typeof (FcStrStr) IA__FcStrStr __attribute((visibility("hidden")));
+#define FcStrStr IA__FcStrStr
+extern __typeof (FcUtf8ToUcs4) IA__FcUtf8ToUcs4 __attribute((visibility("hidden")));
+#define FcUtf8ToUcs4 IA__FcUtf8ToUcs4
+extern __typeof (FcUtf8Len) IA__FcUtf8Len __attribute((visibility("hidden")));
+#define FcUtf8Len IA__FcUtf8Len
+extern __typeof (FcUcs4ToUtf8) IA__FcUcs4ToUtf8 __attribute((visibility("hidden")));
+#define FcUcs4ToUtf8 IA__FcUcs4ToUtf8
+extern __typeof (FcUtf16ToUcs4) IA__FcUtf16ToUcs4 __attribute((visibility("hidden")));
+#define FcUtf16ToUcs4 IA__FcUtf16ToUcs4
+extern __typeof (FcUtf16Len) IA__FcUtf16Len __attribute((visibility("hidden")));
+#define FcUtf16Len IA__FcUtf16Len
+extern __typeof (FcStrDirname) IA__FcStrDirname __attribute((visibility("hidden")));
+#define FcStrDirname IA__FcStrDirname
+extern __typeof (FcStrBasename) IA__FcStrBasename __attribute((visibility("hidden")));
+#define FcStrBasename IA__FcStrBasename
+extern __typeof (FcStrSetCreate) IA__FcStrSetCreate __attribute((visibility("hidden")));
+#define FcStrSetCreate IA__FcStrSetCreate
+extern __typeof (FcStrSetMember) IA__FcStrSetMember __attribute((visibility("hidden")));
+#define FcStrSetMember IA__FcStrSetMember
+extern __typeof (FcStrSetEqual) IA__FcStrSetEqual __attribute((visibility("hidden")));
+#define FcStrSetEqual IA__FcStrSetEqual
+extern __typeof (FcStrSetAdd) IA__FcStrSetAdd __attribute((visibility("hidden")));
+#define FcStrSetAdd IA__FcStrSetAdd
+extern __typeof (FcStrSetAddFilename) IA__FcStrSetAddFilename __attribute((visibility("hidden")));
+#define FcStrSetAddFilename IA__FcStrSetAddFilename
+extern __typeof (FcStrSetDel) IA__FcStrSetDel __attribute((visibility("hidden")));
+#define FcStrSetDel IA__FcStrSetDel
+extern __typeof (FcStrSetDestroy) IA__FcStrSetDestroy __attribute((visibility("hidden")));
+#define FcStrSetDestroy IA__FcStrSetDestroy
+extern __typeof (FcStrListCreate) IA__FcStrListCreate __attribute((visibility("hidden")));
+#define FcStrListCreate IA__FcStrListCreate
+extern __typeof (FcStrListNext) IA__FcStrListNext __attribute((visibility("hidden")));
+#define FcStrListNext IA__FcStrListNext
+extern __typeof (FcStrListDone) IA__FcStrListDone __attribute((visibility("hidden")));
+#define FcStrListDone IA__FcStrListDone
+extern __typeof (FcConfigParseAndLoad) IA__FcConfigParseAndLoad __attribute((visibility("hidden")));
+#define FcConfigParseAndLoad IA__FcConfigParseAndLoad
+extern __typeof (FcConfigGetRescanInverval) IA__FcConfigGetRescanInverval __attribute((visibility("hidden")));
+#define FcConfigGetRescanInverval IA__FcConfigGetRescanInverval
+extern __typeof (FcConfigSetRescanInverval) IA__FcConfigSetRescanInverval __attribute((visibility("hidden")));
+#define FcConfigSetRescanInverval IA__FcConfigSetRescanInverval
diff --git a/third_party/fontconfig/config/windows/src/fcaliastail.h b/third_party/fontconfig/config/windows/src/fcaliastail.h
new file mode 100644
index 0000000..f765dd4
--- /dev/null
+++ b/third_party/fontconfig/config/windows/src/fcaliastail.h
@@ -0,0 +1,738 @@
+#if HAVE_GNUC_ATTRIBUTE
+#ifdef __fcblanks__
+#undef FcBlanksCreate
+extern __typeof (FcBlanksCreate) FcBlanksCreate __attribute((alias("IA__FcBlanksCreate"), visibility("default")));
+#endif
+#ifdef __fcblanks__
+#undef FcBlanksDestroy
+extern __typeof (FcBlanksDestroy) FcBlanksDestroy __attribute((alias("IA__FcBlanksDestroy"), visibility("default")));
+#endif
+#ifdef __fcblanks__
+#undef FcBlanksAdd
+extern __typeof (FcBlanksAdd) FcBlanksAdd __attribute((alias("IA__FcBlanksAdd"), visibility("default")));
+#endif
+#ifdef __fcblanks__
+#undef FcBlanksIsMember
+extern __typeof (FcBlanksIsMember) FcBlanksIsMember __attribute((alias("IA__FcBlanksIsMember"), visibility("default")));
+#endif
+#ifdef __fccache__
+#undef FcCacheCopySet
+extern __typeof (FcCacheCopySet) FcCacheCopySet __attribute((alias("IA__FcCacheCopySet"), visibility("default")));
+#endif
+#ifdef __fccache__
+#undef FcCacheNumSubdir
+extern __typeof (FcCacheNumSubdir) FcCacheNumSubdir __attribute((alias("IA__FcCacheNumSubdir"), visibility("default")));
+#endif
+#ifdef __fccache__
+#undef FcCacheNumFont
+extern __typeof (FcCacheNumFont) FcCacheNumFont __attribute((alias("IA__FcCacheNumFont"), visibility("default")));
+#endif
+#ifdef __fccache__
+#undef FcDirCacheUnlink
+extern __typeof (FcDirCacheUnlink) FcDirCacheUnlink __attribute((alias("IA__FcDirCacheUnlink"), visibility("default")));
+#endif
+#ifdef __fccache__
+#undef FcDirCacheValid
+extern __typeof (FcDirCacheValid) FcDirCacheValid __attribute((alias("IA__FcDirCacheValid"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigHome
+extern __typeof (FcConfigHome) FcConfigHome __attribute((alias("IA__FcConfigHome"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigEnableHome
+extern __typeof (FcConfigEnableHome) FcConfigEnableHome __attribute((alias("IA__FcConfigEnableHome"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigFilename
+extern __typeof (FcConfigFilename) FcConfigFilename __attribute((alias("IA__FcConfigFilename"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigCreate
+extern __typeof (FcConfigCreate) FcConfigCreate __attribute((alias("IA__FcConfigCreate"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigReference
+extern __typeof (FcConfigReference) FcConfigReference __attribute((alias("IA__FcConfigReference"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigDestroy
+extern __typeof (FcConfigDestroy) FcConfigDestroy __attribute((alias("IA__FcConfigDestroy"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigSetCurrent
+extern __typeof (FcConfigSetCurrent) FcConfigSetCurrent __attribute((alias("IA__FcConfigSetCurrent"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigGetCurrent
+extern __typeof (FcConfigGetCurrent) FcConfigGetCurrent __attribute((alias("IA__FcConfigGetCurrent"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigUptoDate
+extern __typeof (FcConfigUptoDate) FcConfigUptoDate __attribute((alias("IA__FcConfigUptoDate"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigBuildFonts
+extern __typeof (FcConfigBuildFonts) FcConfigBuildFonts __attribute((alias("IA__FcConfigBuildFonts"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigGetFontDirs
+extern __typeof (FcConfigGetFontDirs) FcConfigGetFontDirs __attribute((alias("IA__FcConfigGetFontDirs"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigGetConfigDirs
+extern __typeof (FcConfigGetConfigDirs) FcConfigGetConfigDirs __attribute((alias("IA__FcConfigGetConfigDirs"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigGetConfigFiles
+extern __typeof (FcConfigGetConfigFiles) FcConfigGetConfigFiles __attribute((alias("IA__FcConfigGetConfigFiles"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigGetCache
+extern __typeof (FcConfigGetCache) FcConfigGetCache __attribute((alias("IA__FcConfigGetCache"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigGetBlanks
+extern __typeof (FcConfigGetBlanks) FcConfigGetBlanks __attribute((alias("IA__FcConfigGetBlanks"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigGetCacheDirs
+extern __typeof (FcConfigGetCacheDirs) FcConfigGetCacheDirs __attribute((alias("IA__FcConfigGetCacheDirs"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigGetRescanInterval
+extern __typeof (FcConfigGetRescanInterval) FcConfigGetRescanInterval __attribute((alias("IA__FcConfigGetRescanInterval"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigSetRescanInterval
+extern __typeof (FcConfigSetRescanInterval) FcConfigSetRescanInterval __attribute((alias("IA__FcConfigSetRescanInterval"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigGetFonts
+extern __typeof (FcConfigGetFonts) FcConfigGetFonts __attribute((alias("IA__FcConfigGetFonts"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigAppFontAddFile
+extern __typeof (FcConfigAppFontAddFile) FcConfigAppFontAddFile __attribute((alias("IA__FcConfigAppFontAddFile"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigAppFontAddDir
+extern __typeof (FcConfigAppFontAddDir) FcConfigAppFontAddDir __attribute((alias("IA__FcConfigAppFontAddDir"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigAppFontClear
+extern __typeof (FcConfigAppFontClear) FcConfigAppFontClear __attribute((alias("IA__FcConfigAppFontClear"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigSubstituteWithPat
+extern __typeof (FcConfigSubstituteWithPat) FcConfigSubstituteWithPat __attribute((alias("IA__FcConfigSubstituteWithPat"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigSubstitute
+extern __typeof (FcConfigSubstitute) FcConfigSubstitute __attribute((alias("IA__FcConfigSubstitute"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetCreate
+extern __typeof (FcCharSetCreate) FcCharSetCreate __attribute((alias("IA__FcCharSetCreate"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetNew
+extern __typeof (FcCharSetNew) FcCharSetNew __attribute((alias("IA__FcCharSetNew"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetDestroy
+extern __typeof (FcCharSetDestroy) FcCharSetDestroy __attribute((alias("IA__FcCharSetDestroy"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetAddChar
+extern __typeof (FcCharSetAddChar) FcCharSetAddChar __attribute((alias("IA__FcCharSetAddChar"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetCopy
+extern __typeof (FcCharSetCopy) FcCharSetCopy __attribute((alias("IA__FcCharSetCopy"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetEqual
+extern __typeof (FcCharSetEqual) FcCharSetEqual __attribute((alias("IA__FcCharSetEqual"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetIntersect
+extern __typeof (FcCharSetIntersect) FcCharSetIntersect __attribute((alias("IA__FcCharSetIntersect"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetUnion
+extern __typeof (FcCharSetUnion) FcCharSetUnion __attribute((alias("IA__FcCharSetUnion"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetSubtract
+extern __typeof (FcCharSetSubtract) FcCharSetSubtract __attribute((alias("IA__FcCharSetSubtract"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetMerge
+extern __typeof (FcCharSetMerge) FcCharSetMerge __attribute((alias("IA__FcCharSetMerge"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetHasChar
+extern __typeof (FcCharSetHasChar) FcCharSetHasChar __attribute((alias("IA__FcCharSetHasChar"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetCount
+extern __typeof (FcCharSetCount) FcCharSetCount __attribute((alias("IA__FcCharSetCount"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetIntersectCount
+extern __typeof (FcCharSetIntersectCount) FcCharSetIntersectCount __attribute((alias("IA__FcCharSetIntersectCount"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetSubtractCount
+extern __typeof (FcCharSetSubtractCount) FcCharSetSubtractCount __attribute((alias("IA__FcCharSetSubtractCount"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetIsSubset
+extern __typeof (FcCharSetIsSubset) FcCharSetIsSubset __attribute((alias("IA__FcCharSetIsSubset"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetFirstPage
+extern __typeof (FcCharSetFirstPage) FcCharSetFirstPage __attribute((alias("IA__FcCharSetFirstPage"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetNextPage
+extern __typeof (FcCharSetNextPage) FcCharSetNextPage __attribute((alias("IA__FcCharSetNextPage"), visibility("default")));
+#endif
+#ifdef __fccharset__
+#undef FcCharSetCoverage
+extern __typeof (FcCharSetCoverage) FcCharSetCoverage __attribute((alias("IA__FcCharSetCoverage"), visibility("default")));
+#endif
+#ifdef __fcdbg__
+#undef FcValuePrint
+extern __typeof (FcValuePrint) FcValuePrint __attribute((alias("IA__FcValuePrint"), visibility("default")));
+#endif
+#ifdef __fcdbg__
+#undef FcPatternPrint
+extern __typeof (FcPatternPrint) FcPatternPrint __attribute((alias("IA__FcPatternPrint"), visibility("default")));
+#endif
+#ifdef __fcdbg__
+#undef FcFontSetPrint
+extern __typeof (FcFontSetPrint) FcFontSetPrint __attribute((alias("IA__FcFontSetPrint"), visibility("default")));
+#endif
+#ifdef __fcdefault__
+#undef FcDefaultSubstitute
+extern __typeof (FcDefaultSubstitute) FcDefaultSubstitute __attribute((alias("IA__FcDefaultSubstitute"), visibility("default")));
+#endif
+#ifdef __fcdir__
+#undef FcFileIsDir
+extern __typeof (FcFileIsDir) FcFileIsDir __attribute((alias("IA__FcFileIsDir"), visibility("default")));
+#endif
+#ifdef __fcdir__
+#undef FcFileScan
+extern __typeof (FcFileScan) FcFileScan __attribute((alias("IA__FcFileScan"), visibility("default")));
+#endif
+#ifdef __fcdir__
+#undef FcDirScan
+extern __typeof (FcDirScan) FcDirScan __attribute((alias("IA__FcDirScan"), visibility("default")));
+#endif
+#ifdef __fcdir__
+#undef FcDirSave
+extern __typeof (FcDirSave) FcDirSave __attribute((alias("IA__FcDirSave"), visibility("default")));
+#endif
+#ifdef __fccache__
+#undef FcDirCacheLoad
+extern __typeof (FcDirCacheLoad) FcDirCacheLoad __attribute((alias("IA__FcDirCacheLoad"), visibility("default")));
+#endif
+#ifdef __fcdir__
+#undef FcDirCacheRead
+extern __typeof (FcDirCacheRead) FcDirCacheRead __attribute((alias("IA__FcDirCacheRead"), visibility("default")));
+#endif
+#ifdef __fccache__
+#undef FcDirCacheLoadFile
+extern __typeof (FcDirCacheLoadFile) FcDirCacheLoadFile __attribute((alias("IA__FcDirCacheLoadFile"), visibility("default")));
+#endif
+#ifdef __fccache__
+#undef FcDirCacheUnload
+extern __typeof (FcDirCacheUnload) FcDirCacheUnload __attribute((alias("IA__FcDirCacheUnload"), visibility("default")));
+#endif
+#ifdef __fcfreetype__
+#undef FcFreeTypeQuery
+extern __typeof (FcFreeTypeQuery) FcFreeTypeQuery __attribute((alias("IA__FcFreeTypeQuery"), visibility("default")));
+#endif
+#ifdef __fcfs__
+#undef FcFontSetCreate
+extern __typeof (FcFontSetCreate) FcFontSetCreate __attribute((alias("IA__FcFontSetCreate"), visibility("default")));
+#endif
+#ifdef __fcfs__
+#undef FcFontSetDestroy
+extern __typeof (FcFontSetDestroy) FcFontSetDestroy __attribute((alias("IA__FcFontSetDestroy"), visibility("default")));
+#endif
+#ifdef __fcfs__
+#undef FcFontSetAdd
+extern __typeof (FcFontSetAdd) FcFontSetAdd __attribute((alias("IA__FcFontSetAdd"), visibility("default")));
+#endif
+#ifdef __fcinit__
+#undef FcInitLoadConfig
+extern __typeof (FcInitLoadConfig) FcInitLoadConfig __attribute((alias("IA__FcInitLoadConfig"), visibility("default")));
+#endif
+#ifdef __fcinit__
+#undef FcInitLoadConfigAndFonts
+extern __typeof (FcInitLoadConfigAndFonts) FcInitLoadConfigAndFonts __attribute((alias("IA__FcInitLoadConfigAndFonts"), visibility("default")));
+#endif
+#ifdef __fcinit__
+#undef FcInit
+extern __typeof (FcInit) FcInit __attribute((alias("IA__FcInit"), visibility("default")));
+#endif
+#ifdef __fcinit__
+#undef FcFini
+extern __typeof (FcFini) FcFini __attribute((alias("IA__FcFini"), visibility("default")));
+#endif
+#ifdef __fcinit__
+#undef FcGetVersion
+extern __typeof (FcGetVersion) FcGetVersion __attribute((alias("IA__FcGetVersion"), visibility("default")));
+#endif
+#ifdef __fcinit__
+#undef FcInitReinitialize
+extern __typeof (FcInitReinitialize) FcInitReinitialize __attribute((alias("IA__FcInitReinitialize"), visibility("default")));
+#endif
+#ifdef __fcinit__
+#undef FcInitBringUptoDate
+extern __typeof (FcInitBringUptoDate) FcInitBringUptoDate __attribute((alias("IA__FcInitBringUptoDate"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcGetLangs
+extern __typeof (FcGetLangs) FcGetLangs __attribute((alias("IA__FcGetLangs"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcLangGetCharSet
+extern __typeof (FcLangGetCharSet) FcLangGetCharSet __attribute((alias("IA__FcLangGetCharSet"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcLangSetCreate
+extern __typeof (FcLangSetCreate) FcLangSetCreate __attribute((alias("IA__FcLangSetCreate"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcLangSetDestroy
+extern __typeof (FcLangSetDestroy) FcLangSetDestroy __attribute((alias("IA__FcLangSetDestroy"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcLangSetCopy
+extern __typeof (FcLangSetCopy) FcLangSetCopy __attribute((alias("IA__FcLangSetCopy"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcLangSetAdd
+extern __typeof (FcLangSetAdd) FcLangSetAdd __attribute((alias("IA__FcLangSetAdd"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcLangSetHasLang
+extern __typeof (FcLangSetHasLang) FcLangSetHasLang __attribute((alias("IA__FcLangSetHasLang"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcLangSetCompare
+extern __typeof (FcLangSetCompare) FcLangSetCompare __attribute((alias("IA__FcLangSetCompare"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcLangSetContains
+extern __typeof (FcLangSetContains) FcLangSetContains __attribute((alias("IA__FcLangSetContains"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcLangSetEqual
+extern __typeof (FcLangSetEqual) FcLangSetEqual __attribute((alias("IA__FcLangSetEqual"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcLangSetHash
+extern __typeof (FcLangSetHash) FcLangSetHash __attribute((alias("IA__FcLangSetHash"), visibility("default")));
+#endif
+#ifdef __fclang__
+#undef FcLangSetGetLangs
+extern __typeof (FcLangSetGetLangs) FcLangSetGetLangs __attribute((alias("IA__FcLangSetGetLangs"), visibility("default")));
+#endif
+#ifdef __fclist__
+#undef FcObjectSetCreate
+extern __typeof (FcObjectSetCreate) FcObjectSetCreate __attribute((alias("IA__FcObjectSetCreate"), visibility("default")));
+#endif
+#ifdef __fclist__
+#undef FcObjectSetAdd
+extern __typeof (FcObjectSetAdd) FcObjectSetAdd __attribute((alias("IA__FcObjectSetAdd"), visibility("default")));
+#endif
+#ifdef __fclist__
+#undef FcObjectSetDestroy
+extern __typeof (FcObjectSetDestroy) FcObjectSetDestroy __attribute((alias("IA__FcObjectSetDestroy"), visibility("default")));
+#endif
+#ifdef __fclist__
+#undef FcObjectSetVaBuild
+extern __typeof (FcObjectSetVaBuild) FcObjectSetVaBuild __attribute((alias("IA__FcObjectSetVaBuild"), visibility("default")));
+#endif
+#ifdef __fclist__
+#undef FcObjectSetBuild
+extern __typeof (FcObjectSetBuild) FcObjectSetBuild __attribute((alias("IA__FcObjectSetBuild"), visibility("default")));
+#endif
+#ifdef __fclist__
+#undef FcFontSetList
+extern __typeof (FcFontSetList) FcFontSetList __attribute((alias("IA__FcFontSetList"), visibility("default")));
+#endif
+#ifdef __fclist__
+#undef FcFontList
+extern __typeof (FcFontList) FcFontList __attribute((alias("IA__FcFontList"), visibility("default")));
+#endif
+#ifdef __fcatomic__
+#undef FcAtomicCreate
+extern __typeof (FcAtomicCreate) FcAtomicCreate __attribute((alias("IA__FcAtomicCreate"), visibility("default")));
+#endif
+#ifdef __fcatomic__
+#undef FcAtomicLock
+extern __typeof (FcAtomicLock) FcAtomicLock __attribute((alias("IA__FcAtomicLock"), visibility("default")));
+#endif
+#ifdef __fcatomic__
+#undef FcAtomicNewFile
+extern __typeof (FcAtomicNewFile) FcAtomicNewFile __attribute((alias("IA__FcAtomicNewFile"), visibility("default")));
+#endif
+#ifdef __fcatomic__
+#undef FcAtomicOrigFile
+extern __typeof (FcAtomicOrigFile) FcAtomicOrigFile __attribute((alias("IA__FcAtomicOrigFile"), visibility("default")));
+#endif
+#ifdef __fcatomic__
+#undef FcAtomicReplaceOrig
+extern __typeof (FcAtomicReplaceOrig) FcAtomicReplaceOrig __attribute((alias("IA__FcAtomicReplaceOrig"), visibility("default")));
+#endif
+#ifdef __fcatomic__
+#undef FcAtomicDeleteNew
+extern __typeof (FcAtomicDeleteNew) FcAtomicDeleteNew __attribute((alias("IA__FcAtomicDeleteNew"), visibility("default")));
+#endif
+#ifdef __fcatomic__
+#undef FcAtomicUnlock
+extern __typeof (FcAtomicUnlock) FcAtomicUnlock __attribute((alias("IA__FcAtomicUnlock"), visibility("default")));
+#endif
+#ifdef __fcatomic__
+#undef FcAtomicDestroy
+extern __typeof (FcAtomicDestroy) FcAtomicDestroy __attribute((alias("IA__FcAtomicDestroy"), visibility("default")));
+#endif
+#ifdef __fcmatch__
+#undef FcFontSetMatch
+extern __typeof (FcFontSetMatch) FcFontSetMatch __attribute((alias("IA__FcFontSetMatch"), visibility("default")));
+#endif
+#ifdef __fcmatch__
+#undef FcFontMatch
+extern __typeof (FcFontMatch) FcFontMatch __attribute((alias("IA__FcFontMatch"), visibility("default")));
+#endif
+#ifdef __fcmatch__
+#undef FcFontRenderPrepare
+extern __typeof (FcFontRenderPrepare) FcFontRenderPrepare __attribute((alias("IA__FcFontRenderPrepare"), visibility("default")));
+#endif
+#ifdef __fcmatch__
+#undef FcFontSetSort
+extern __typeof (FcFontSetSort) FcFontSetSort __attribute((alias("IA__FcFontSetSort"), visibility("default")));
+#endif
+#ifdef __fcmatch__
+#undef FcFontSort
+extern __typeof (FcFontSort) FcFontSort __attribute((alias("IA__FcFontSort"), visibility("default")));
+#endif
+#ifdef __fcmatch__
+#undef FcFontSetSortDestroy
+extern __typeof (FcFontSetSortDestroy) FcFontSetSortDestroy __attribute((alias("IA__FcFontSetSortDestroy"), visibility("default")));
+#endif
+#ifdef __fcmatrix__
+#undef FcMatrixCopy
+extern __typeof (FcMatrixCopy) FcMatrixCopy __attribute((alias("IA__FcMatrixCopy"), visibility("default")));
+#endif
+#ifdef __fcmatrix__
+#undef FcMatrixEqual
+extern __typeof (FcMatrixEqual) FcMatrixEqual __attribute((alias("IA__FcMatrixEqual"), visibility("default")));
+#endif
+#ifdef __fcmatrix__
+#undef FcMatrixMultiply
+extern __typeof (FcMatrixMultiply) FcMatrixMultiply __attribute((alias("IA__FcMatrixMultiply"), visibility("default")));
+#endif
+#ifdef __fcmatrix__
+#undef FcMatrixRotate
+extern __typeof (FcMatrixRotate) FcMatrixRotate __attribute((alias("IA__FcMatrixRotate"), visibility("default")));
+#endif
+#ifdef __fcmatrix__
+#undef FcMatrixScale
+extern __typeof (FcMatrixScale) FcMatrixScale __attribute((alias("IA__FcMatrixScale"), visibility("default")));
+#endif
+#ifdef __fcmatrix__
+#undef FcMatrixShear
+extern __typeof (FcMatrixShear) FcMatrixShear __attribute((alias("IA__FcMatrixShear"), visibility("default")));
+#endif
+#ifdef __fcname__
+#undef FcNameRegisterObjectTypes
+extern __typeof (FcNameRegisterObjectTypes) FcNameRegisterObjectTypes __attribute((alias("IA__FcNameRegisterObjectTypes"), visibility("default")));
+#endif
+#ifdef __fcname__
+#undef FcNameUnregisterObjectTypes
+extern __typeof (FcNameUnregisterObjectTypes) FcNameUnregisterObjectTypes __attribute((alias("IA__FcNameUnregisterObjectTypes"), visibility("default")));
+#endif
+#ifdef __fcname__
+#undef FcNameGetObjectType
+extern __typeof (FcNameGetObjectType) FcNameGetObjectType __attribute((alias("IA__FcNameGetObjectType"), visibility("default")));
+#endif
+#ifdef __fcname__
+#undef FcNameRegisterConstants
+extern __typeof (FcNameRegisterConstants) FcNameRegisterConstants __attribute((alias("IA__FcNameRegisterConstants"), visibility("default")));
+#endif
+#ifdef __fcname__
+#undef FcNameUnregisterConstants
+extern __typeof (FcNameUnregisterConstants) FcNameUnregisterConstants __attribute((alias("IA__FcNameUnregisterConstants"), visibility("default")));
+#endif
+#ifdef __fcname__
+#undef FcNameGetConstant
+extern __typeof (FcNameGetConstant) FcNameGetConstant __attribute((alias("IA__FcNameGetConstant"), visibility("default")));
+#endif
+#ifdef __fcname__
+#undef FcNameConstant
+extern __typeof (FcNameConstant) FcNameConstant __attribute((alias("IA__FcNameConstant"), visibility("default")));
+#endif
+#ifdef __fcname__
+#undef FcNameParse
+extern __typeof (FcNameParse) FcNameParse __attribute((alias("IA__FcNameParse"), visibility("default")));
+#endif
+#ifdef __fcname__
+#undef FcNameUnparse
+extern __typeof (FcNameUnparse) FcNameUnparse __attribute((alias("IA__FcNameUnparse"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternCreate
+extern __typeof (FcPatternCreate) FcPatternCreate __attribute((alias("IA__FcPatternCreate"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternDuplicate
+extern __typeof (FcPatternDuplicate) FcPatternDuplicate __attribute((alias("IA__FcPatternDuplicate"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternReference
+extern __typeof (FcPatternReference) FcPatternReference __attribute((alias("IA__FcPatternReference"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternFilter
+extern __typeof (FcPatternFilter) FcPatternFilter __attribute((alias("IA__FcPatternFilter"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcValueDestroy
+extern __typeof (FcValueDestroy) FcValueDestroy __attribute((alias("IA__FcValueDestroy"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcValueEqual
+extern __typeof (FcValueEqual) FcValueEqual __attribute((alias("IA__FcValueEqual"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcValueSave
+extern __typeof (FcValueSave) FcValueSave __attribute((alias("IA__FcValueSave"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternDestroy
+extern __typeof (FcPatternDestroy) FcPatternDestroy __attribute((alias("IA__FcPatternDestroy"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternEqual
+extern __typeof (FcPatternEqual) FcPatternEqual __attribute((alias("IA__FcPatternEqual"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternEqualSubset
+extern __typeof (FcPatternEqualSubset) FcPatternEqualSubset __attribute((alias("IA__FcPatternEqualSubset"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternHash
+extern __typeof (FcPatternHash) FcPatternHash __attribute((alias("IA__FcPatternHash"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternAdd
+extern __typeof (FcPatternAdd) FcPatternAdd __attribute((alias("IA__FcPatternAdd"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternAddWeak
+extern __typeof (FcPatternAddWeak) FcPatternAddWeak __attribute((alias("IA__FcPatternAddWeak"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternGet
+extern __typeof (FcPatternGet) FcPatternGet __attribute((alias("IA__FcPatternGet"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternDel
+extern __typeof (FcPatternDel) FcPatternDel __attribute((alias("IA__FcPatternDel"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternRemove
+extern __typeof (FcPatternRemove) FcPatternRemove __attribute((alias("IA__FcPatternRemove"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternAddInteger
+extern __typeof (FcPatternAddInteger) FcPatternAddInteger __attribute((alias("IA__FcPatternAddInteger"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternAddDouble
+extern __typeof (FcPatternAddDouble) FcPatternAddDouble __attribute((alias("IA__FcPatternAddDouble"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternAddString
+extern __typeof (FcPatternAddString) FcPatternAddString __attribute((alias("IA__FcPatternAddString"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternAddMatrix
+extern __typeof (FcPatternAddMatrix) FcPatternAddMatrix __attribute((alias("IA__FcPatternAddMatrix"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternAddCharSet
+extern __typeof (FcPatternAddCharSet) FcPatternAddCharSet __attribute((alias("IA__FcPatternAddCharSet"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternAddBool
+extern __typeof (FcPatternAddBool) FcPatternAddBool __attribute((alias("IA__FcPatternAddBool"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternAddLangSet
+extern __typeof (FcPatternAddLangSet) FcPatternAddLangSet __attribute((alias("IA__FcPatternAddLangSet"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternGetInteger
+extern __typeof (FcPatternGetInteger) FcPatternGetInteger __attribute((alias("IA__FcPatternGetInteger"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternGetDouble
+extern __typeof (FcPatternGetDouble) FcPatternGetDouble __attribute((alias("IA__FcPatternGetDouble"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternGetString
+extern __typeof (FcPatternGetString) FcPatternGetString __attribute((alias("IA__FcPatternGetString"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternGetMatrix
+extern __typeof (FcPatternGetMatrix) FcPatternGetMatrix __attribute((alias("IA__FcPatternGetMatrix"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternGetCharSet
+extern __typeof (FcPatternGetCharSet) FcPatternGetCharSet __attribute((alias("IA__FcPatternGetCharSet"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternGetBool
+extern __typeof (FcPatternGetBool) FcPatternGetBool __attribute((alias("IA__FcPatternGetBool"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternGetLangSet
+extern __typeof (FcPatternGetLangSet) FcPatternGetLangSet __attribute((alias("IA__FcPatternGetLangSet"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternVaBuild
+extern __typeof (FcPatternVaBuild) FcPatternVaBuild __attribute((alias("IA__FcPatternVaBuild"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternBuild
+extern __typeof (FcPatternBuild) FcPatternBuild __attribute((alias("IA__FcPatternBuild"), visibility("default")));
+#endif
+#ifdef __fcformat__
+#undef FcPatternFormat
+extern __typeof (FcPatternFormat) FcPatternFormat __attribute((alias("IA__FcPatternFormat"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrCopy
+extern __typeof (FcStrCopy) FcStrCopy __attribute((alias("IA__FcStrCopy"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrCopyFilename
+extern __typeof (FcStrCopyFilename) FcStrCopyFilename __attribute((alias("IA__FcStrCopyFilename"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrPlus
+extern __typeof (FcStrPlus) FcStrPlus __attribute((alias("IA__FcStrPlus"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrFree
+extern __typeof (FcStrFree) FcStrFree __attribute((alias("IA__FcStrFree"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrDowncase
+extern __typeof (FcStrDowncase) FcStrDowncase __attribute((alias("IA__FcStrDowncase"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrCmpIgnoreCase
+extern __typeof (FcStrCmpIgnoreCase) FcStrCmpIgnoreCase __attribute((alias("IA__FcStrCmpIgnoreCase"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrCmp
+extern __typeof (FcStrCmp) FcStrCmp __attribute((alias("IA__FcStrCmp"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrStrIgnoreCase
+extern __typeof (FcStrStrIgnoreCase) FcStrStrIgnoreCase __attribute((alias("IA__FcStrStrIgnoreCase"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrStr
+extern __typeof (FcStrStr) FcStrStr __attribute((alias("IA__FcStrStr"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcUtf8ToUcs4
+extern __typeof (FcUtf8ToUcs4) FcUtf8ToUcs4 __attribute((alias("IA__FcUtf8ToUcs4"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcUtf8Len
+extern __typeof (FcUtf8Len) FcUtf8Len __attribute((alias("IA__FcUtf8Len"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcUcs4ToUtf8
+extern __typeof (FcUcs4ToUtf8) FcUcs4ToUtf8 __attribute((alias("IA__FcUcs4ToUtf8"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcUtf16ToUcs4
+extern __typeof (FcUtf16ToUcs4) FcUtf16ToUcs4 __attribute((alias("IA__FcUtf16ToUcs4"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcUtf16Len
+extern __typeof (FcUtf16Len) FcUtf16Len __attribute((alias("IA__FcUtf16Len"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrDirname
+extern __typeof (FcStrDirname) FcStrDirname __attribute((alias("IA__FcStrDirname"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrBasename
+extern __typeof (FcStrBasename) FcStrBasename __attribute((alias("IA__FcStrBasename"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrSetCreate
+extern __typeof (FcStrSetCreate) FcStrSetCreate __attribute((alias("IA__FcStrSetCreate"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrSetMember
+extern __typeof (FcStrSetMember) FcStrSetMember __attribute((alias("IA__FcStrSetMember"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrSetEqual
+extern __typeof (FcStrSetEqual) FcStrSetEqual __attribute((alias("IA__FcStrSetEqual"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrSetAdd
+extern __typeof (FcStrSetAdd) FcStrSetAdd __attribute((alias("IA__FcStrSetAdd"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrSetAddFilename
+extern __typeof (FcStrSetAddFilename) FcStrSetAddFilename __attribute((alias("IA__FcStrSetAddFilename"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrSetDel
+extern __typeof (FcStrSetDel) FcStrSetDel __attribute((alias("IA__FcStrSetDel"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrSetDestroy
+extern __typeof (FcStrSetDestroy) FcStrSetDestroy __attribute((alias("IA__FcStrSetDestroy"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrListCreate
+extern __typeof (FcStrListCreate) FcStrListCreate __attribute((alias("IA__FcStrListCreate"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrListNext
+extern __typeof (FcStrListNext) FcStrListNext __attribute((alias("IA__FcStrListNext"), visibility("default")));
+#endif
+#ifdef __fcstr__
+#undef FcStrListDone
+extern __typeof (FcStrListDone) FcStrListDone __attribute((alias("IA__FcStrListDone"), visibility("default")));
+#endif
+#ifdef __fcxml__
+#undef FcConfigParseAndLoad
+extern __typeof (FcConfigParseAndLoad) FcConfigParseAndLoad __attribute((alias("IA__FcConfigParseAndLoad"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigGetRescanInverval
+extern __typeof (FcConfigGetRescanInverval) FcConfigGetRescanInverval __attribute((alias("IA__FcConfigGetRescanInverval"), visibility("default")));
+#endif
+#ifdef __fccfg__
+#undef FcConfigSetRescanInverval
+extern __typeof (FcConfigSetRescanInverval) FcConfigSetRescanInverval __attribute((alias("IA__FcConfigSetRescanInverval"), visibility("default")));
+#endif
+#endif
diff --git a/third_party/fontconfig/config/windows/src/fcftalias.h b/third_party/fontconfig/config/windows/src/fcftalias.h
new file mode 100644
index 0000000..884eb4b
--- /dev/null
+++ b/third_party/fontconfig/config/windows/src/fcftalias.h
@@ -0,0 +1,12 @@
+extern __typeof (FcFreeTypeCharIndex) IA__FcFreeTypeCharIndex __attribute((visibility("hidden")));
+#define FcFreeTypeCharIndex IA__FcFreeTypeCharIndex
+extern __typeof (FcFreeTypeCharSetAndSpacing) IA__FcFreeTypeCharSetAndSpacing __attribute((visibility("hidden")));
+#define FcFreeTypeCharSetAndSpacing IA__FcFreeTypeCharSetAndSpacing
+extern __typeof (FcFreeTypeCharSet) IA__FcFreeTypeCharSet __attribute((visibility("hidden")));
+#define FcFreeTypeCharSet IA__FcFreeTypeCharSet
+extern __typeof (FcPatternGetFTFace) IA__FcPatternGetFTFace __attribute((visibility("hidden")));
+#define FcPatternGetFTFace IA__FcPatternGetFTFace
+extern __typeof (FcPatternAddFTFace) IA__FcPatternAddFTFace __attribute((visibility("hidden")));
+#define FcPatternAddFTFace IA__FcPatternAddFTFace
+extern __typeof (FcFreeTypeQueryFace) IA__FcFreeTypeQueryFace __attribute((visibility("hidden")));
+#define FcFreeTypeQueryFace IA__FcFreeTypeQueryFace
diff --git a/third_party/fontconfig/config/windows/src/fcftaliastail.h b/third_party/fontconfig/config/windows/src/fcftaliastail.h
new file mode 100644
index 0000000..f30f0f0
--- /dev/null
+++ b/third_party/fontconfig/config/windows/src/fcftaliastail.h
@@ -0,0 +1,26 @@
+#if HAVE_GNUC_ATTRIBUTE
+#ifdef __fcfreetype__
+#undef FcFreeTypeCharIndex
+extern __typeof (FcFreeTypeCharIndex) FcFreeTypeCharIndex __attribute((alias("IA__FcFreeTypeCharIndex"), visibility("default")));
+#endif
+#ifdef __fcfreetype__
+#undef FcFreeTypeCharSetAndSpacing
+extern __typeof (FcFreeTypeCharSetAndSpacing) FcFreeTypeCharSetAndSpacing __attribute((alias("IA__FcFreeTypeCharSetAndSpacing"), visibility("default")));
+#endif
+#ifdef __fcfreetype__
+#undef FcFreeTypeCharSet
+extern __typeof (FcFreeTypeCharSet) FcFreeTypeCharSet __attribute((alias("IA__FcFreeTypeCharSet"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternGetFTFace
+extern __typeof (FcPatternGetFTFace) FcPatternGetFTFace __attribute((alias("IA__FcPatternGetFTFace"), visibility("default")));
+#endif
+#ifdef __fcpat__
+#undef FcPatternAddFTFace
+extern __typeof (FcPatternAddFTFace) FcPatternAddFTFace __attribute((alias("IA__FcPatternAddFTFace"), visibility("default")));
+#endif
+#ifdef __fcfreetype__
+#undef FcFreeTypeQueryFace
+extern __typeof (FcFreeTypeQueryFace) FcFreeTypeQueryFace __attribute((alias("IA__FcFreeTypeQueryFace"), visibility("default")));
+#endif
+#endif
diff --git a/third_party/fontconfig/config/windows/unistd.h b/third_party/fontconfig/config/windows/unistd.h
new file mode 100644
index 0000000..23dcdc0
--- /dev/null
+++ b/third_party/fontconfig/config/windows/unistd.h
@@ -0,0 +1,4 @@
+/* stub unistd.h for use for MSVC compilers */
+
+#include <io.h>
+
diff --git a/third_party/iconv/LICENSE b/third_party/iconv/LICENSE
new file mode 100644
index 0000000..778d0bb
--- /dev/null
+++ b/third_party/iconv/LICENSE
@@ -0,0 +1,482 @@
+		  GNU LIBRARY GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL.  It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it.  You can use it for
+your libraries, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library.  If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software.  To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+  Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs.  This
+license, the GNU Library General Public License, applies to certain
+designated libraries.  This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+  The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it.  Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program.  However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+  Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries.  We
+concluded that weaker conditions might promote sharing better.
+
+  However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves.  This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them.  (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.)  The hope is that this
+will lead to faster development of free libraries.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+  Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+		  GNU LIBRARY GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License").  Each licensee is
+addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    c) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    d) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+     Appendix: How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Library General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Library General Public License for more details.
+
+    You should have received a copy of the GNU Library General Public
+    License along with this library; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+    MA 02110-1301, USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/third_party/iconv/README.chromium b/third_party/iconv/README.chromium
new file mode 100644
index 0000000..e9e4df5
--- /dev/null
+++ b/third_party/iconv/README.chromium
@@ -0,0 +1,77 @@
+Name: libiconv
+Short Name: libiconv
+URL: git://git.savannah.gnu.org/libiconv.git
+Version: 1.14
+License: Libraries under LGPL, program under GPL
+License File: NOT_SHIPPED
+Security Critical: No
+
+Description:
+iconv is a library for converting between different character encodings.
+Used in Skia as a dependency of libpoppler, for PDF rasterization during
+testing.
+
+Local Modifications:
+No changes to files from the upstream repository.
+Platform-specific configuration files added to
+third_party/iconv/config/windows:
+  config.h
+  iconv.h
+  localcharset.h
+
+These files were created from the header templates based on instructions in:
+http://www.codeproject.com/Articles/302012/How-to-Build-libiconv-with-Microsoft-Visual-Studio,
+then kludging it to build. The process used to create them from release
+sources are:
+1. Download the libiconv-1.14 tarball from
+   http://www.gnu.org/software/libiconv/#downloading
+2. Copy and rename these files:
+    (libiconv-1.14)/libcharset/include/localcharset.h.build.in
+      -> third_party/iconv/config/windows/localcharset.h
+    (libiconv-1.14)/include/iconv.h.build.in
+      -> third_party/iconv/config/windows/iconv.h
+    (libiconv-1.14)/config.h.in
+      -> third_party/iconv/config/windows/config.h
+3. Modify localcharset.h as follows:
+    Replace
+      #if @HAVE_VISIBILITY@ && BUILDING_LIBCHARSET
+      #define LIBCHARSET_DLL_EXPORTED __attribute__((__visibility__("default")))
+      #else
+      #define LIBCHARSET_DLL_EXPORTED
+      #endif
+    with
+      #define LIBCHARSET_DLL_EXPORTED
+4. Modify config.h as follows:
+    Delete line 30:
+      #undef EILSEQ
+    Change line 686 to:
+      #define ICONV_CONST const
+5. Modify iconv.h as follows:
+    Replace
+      #if @HAVE_VISIBILITY@ && BUILDING_LIBICONV
+      #define LIBICONV_DLL_EXPORTED __attribute__((__visibility__("default")))
+      #else
+      #define LIBICONV_DLL_EXPORTED
+      #endif
+    with
+      #define LIBICONV_DLL_EXPORTED 
+    Delete all references to @DLL_VARIABLE@ (find and replace with nothing).
+    Find and replace these:
+      @ICONV_CONST@ -> const
+      @USE_MBSTATE_T@ -> USE_MBSTATE_T
+      @BROKEN_WCHAR_H@ -> BROKEN_WCHAR_H
+      @HAVE_WCHAR_T@ -> HAVE_WCHAR_T
+Note: if a dynamic library is needed for whatever reason,
+LIBCHARSET_DLL_EXPORTED and LIBICONV_DLL_EXPORTED needs to be defined as
+either __declspec(dllexport) or __declspec(dllimport).
+
+Autogenerated files (consistent across platforms) added to
+third_party/iconv/config:
+  aliases.h
+  canonical_dos.h
+  canonical.h
+  canonical_local.h
+  flags.h
+
+These files were pulled from a release tarball.
+
diff --git a/third_party/iconv/config/aliases.h b/third_party/iconv/config/aliases.h
new file mode 100644
index 0000000..b68ea2d
--- /dev/null
+++ b/third_party/iconv/config/aliases.h
@@ -0,0 +1,1719 @@
+/* ANSI-C code produced by gperf version 3.0.4 */
+/* Command-line: gperf -m 10 lib/aliases.gperf  */
+/* Computed positions: -k'1,3-11,$' */
+
+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
+/* The character set is not based on ISO-646.  */
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#endif
+
+#line 1 "lib/aliases.gperf"
+struct alias { int name; unsigned int encoding_index; };
+
+#define TOTAL_KEYWORDS 347
+#define MIN_WORD_LENGTH 2
+#define MAX_WORD_LENGTH 45
+#define MIN_HASH_VALUE 7
+#define MAX_HASH_VALUE 935
+/* maximum key range = 929, duplicates = 0 */
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+aliases_hash (register const char *str, register unsigned int len)
+{
+  static const unsigned short asso_values[] =
+    {
+      936, 936, 936, 936, 936, 936, 936, 936, 936, 936,
+      936, 936, 936, 936, 936, 936, 936, 936, 936, 936,
+      936, 936, 936, 936, 936, 936, 936, 936, 936, 936,
+      936, 936, 936, 936, 936, 936, 936, 936, 936, 936,
+      936, 936, 936, 936, 936,  16,  62, 936,  73,   0,
+        5,   2,  47,   4,   1, 168,   8,  12, 357, 936,
+      936, 936, 936, 936, 936, 112, 123,   3,  14,  34,
+       71, 142, 147,   0, 258,  79,  39, 122,   4,   0,
+      109, 936,  76,   1,  54, 147, 114, 180, 102,   3,
+       10, 936, 936, 936, 936,  34, 936, 936, 936, 936,
+      936, 936, 936, 936, 936, 936, 936, 936, 936, 936,
+      936, 936, 936, 936, 936, 936, 936, 936, 936, 936,
+      936, 936, 936, 936, 936, 936, 936, 936
+    };
+  register int hval = len;
+
+  switch (hval)
+    {
+      default:
+        hval += asso_values[(unsigned char)str[10]];
+      /*FALLTHROUGH*/
+      case 10:
+        hval += asso_values[(unsigned char)str[9]];
+      /*FALLTHROUGH*/
+      case 9:
+        hval += asso_values[(unsigned char)str[8]];
+      /*FALLTHROUGH*/
+      case 8:
+        hval += asso_values[(unsigned char)str[7]];
+      /*FALLTHROUGH*/
+      case 7:
+        hval += asso_values[(unsigned char)str[6]];
+      /*FALLTHROUGH*/
+      case 6:
+        hval += asso_values[(unsigned char)str[5]];
+      /*FALLTHROUGH*/
+      case 5:
+        hval += asso_values[(unsigned char)str[4]];
+      /*FALLTHROUGH*/
+      case 4:
+        hval += asso_values[(unsigned char)str[3]];
+      /*FALLTHROUGH*/
+      case 3:
+        hval += asso_values[(unsigned char)str[2]];
+      /*FALLTHROUGH*/
+      case 2:
+      case 1:
+        hval += asso_values[(unsigned char)str[0]];
+        break;
+    }
+  return hval + asso_values[(unsigned char)str[len - 1]];
+}
+
+struct stringpool_t
+  {
+    char stringpool_str7[sizeof("SJIS")];
+    char stringpool_str9[sizeof("CN")];
+    char stringpool_str11[sizeof("CP1131")];
+    char stringpool_str12[sizeof("CP1361")];
+    char stringpool_str13[sizeof("866")];
+    char stringpool_str15[sizeof("CP1133")];
+    char stringpool_str18[sizeof("CP1251")];
+    char stringpool_str19[sizeof("CP866")];
+    char stringpool_str20[sizeof("CP1256")];
+    char stringpool_str21[sizeof("862")];
+    char stringpool_str22[sizeof("CP1253")];
+    char stringpool_str24[sizeof("CP936")];
+    char stringpool_str26[sizeof("CP1255")];
+    char stringpool_str27[sizeof("CP862")];
+    char stringpool_str28[sizeof("CP1252")];
+    char stringpool_str30[sizeof("C99")];
+    char stringpool_str32[sizeof("CP932")];
+    char stringpool_str34[sizeof("CP1258")];
+    char stringpool_str40[sizeof("CP819")];
+    char stringpool_str41[sizeof("L1")];
+    char stringpool_str42[sizeof("L6")];
+    char stringpool_str43[sizeof("L3")];
+    char stringpool_str45[sizeof("L5")];
+    char stringpool_str46[sizeof("L2")];
+    char stringpool_str49[sizeof("L8")];
+    char stringpool_str53[sizeof("EUCCN")];
+    char stringpool_str57[sizeof("ISO8859-1")];
+    char stringpool_str58[sizeof("ISO8859-11")];
+    char stringpool_str59[sizeof("ISO8859-6")];
+    char stringpool_str60[sizeof("ISO8859-16")];
+    char stringpool_str61[sizeof("ISO8859-3")];
+    char stringpool_str62[sizeof("ISO8859-13")];
+    char stringpool_str65[sizeof("ISO8859-5")];
+    char stringpool_str66[sizeof("ISO8859-15")];
+    char stringpool_str67[sizeof("ISO8859-2")];
+    char stringpool_str70[sizeof("EUC-CN")];
+    char stringpool_str73[sizeof("ISO8859-8")];
+    char stringpool_str74[sizeof("ISO-8859-1")];
+    char stringpool_str75[sizeof("ISO-8859-11")];
+    char stringpool_str76[sizeof("ISO-8859-6")];
+    char stringpool_str77[sizeof("ISO-8859-16")];
+    char stringpool_str78[sizeof("ISO-8859-3")];
+    char stringpool_str79[sizeof("ISO-8859-13")];
+    char stringpool_str81[sizeof("ISO8859-9")];
+    char stringpool_str82[sizeof("ISO-8859-5")];
+    char stringpool_str83[sizeof("ISO-8859-15")];
+    char stringpool_str84[sizeof("ISO-8859-2")];
+    char stringpool_str85[sizeof("ISO646-CN")];
+    char stringpool_str86[sizeof("R8")];
+    char stringpool_str88[sizeof("L4")];
+    char stringpool_str90[sizeof("ISO-8859-8")];
+    char stringpool_str91[sizeof("CP949")];
+    char stringpool_str92[sizeof("ISO_8859-1")];
+    char stringpool_str93[sizeof("ISO_8859-11")];
+    char stringpool_str94[sizeof("ISO_8859-6")];
+    char stringpool_str95[sizeof("ISO_8859-16")];
+    char stringpool_str96[sizeof("ISO_8859-3")];
+    char stringpool_str97[sizeof("ISO_8859-13")];
+    char stringpool_str98[sizeof("ISO-8859-9")];
+    char stringpool_str99[sizeof("ISO_8859-16:2001")];
+    char stringpool_str100[sizeof("ISO_8859-5")];
+    char stringpool_str101[sizeof("ISO_8859-15")];
+    char stringpool_str102[sizeof("ISO_8859-2")];
+    char stringpool_str103[sizeof("LATIN1")];
+    char stringpool_str105[sizeof("LATIN6")];
+    char stringpool_str106[sizeof("CP154")];
+    char stringpool_str107[sizeof("LATIN3")];
+    char stringpool_str108[sizeof("ISO_8859-8")];
+    char stringpool_str110[sizeof("ISO_8859-15:1998")];
+    char stringpool_str111[sizeof("LATIN5")];
+    char stringpool_str112[sizeof("CP1254")];
+    char stringpool_str113[sizeof("LATIN2")];
+    char stringpool_str114[sizeof("CSISO2022CN")];
+    char stringpool_str116[sizeof("ISO_8859-9")];
+    char stringpool_str117[sizeof("CHINESE")];
+    char stringpool_str118[sizeof("ISO-IR-6")];
+    char stringpool_str119[sizeof("LATIN8")];
+    char stringpool_str120[sizeof("ASCII")];
+    char stringpool_str121[sizeof("ISO-IR-166")];
+    char stringpool_str122[sizeof("X0212")];
+    char stringpool_str124[sizeof("VISCII")];
+    char stringpool_str125[sizeof("ISO-IR-126")];
+    char stringpool_str126[sizeof("CSASCII")];
+    char stringpool_str127[sizeof("ISO-IR-165")];
+    char stringpool_str129[sizeof("CSVISCII")];
+    char stringpool_str130[sizeof("ISO-IR-226")];
+    char stringpool_str131[sizeof("MAC")];
+    char stringpool_str136[sizeof("ISO-IR-138")];
+    char stringpool_str137[sizeof("ISO-IR-58")];
+    char stringpool_str139[sizeof("IBM866")];
+    char stringpool_str142[sizeof("ISO-2022-CN")];
+    char stringpool_str143[sizeof("MS936")];
+    char stringpool_str144[sizeof("LATIN-9")];
+    char stringpool_str146[sizeof("ISO-IR-159")];
+    char stringpool_str147[sizeof("IBM862")];
+    char stringpool_str150[sizeof("US")];
+    char stringpool_str151[sizeof("ISO8859-4")];
+    char stringpool_str152[sizeof("ISO8859-14")];
+    char stringpool_str153[sizeof("ISO_8859-14:1998")];
+    char stringpool_str154[sizeof("ISO-IR-199")];
+    char stringpool_str156[sizeof("UHC")];
+    char stringpool_str157[sizeof("850")];
+    char stringpool_str159[sizeof("HZ")];
+    char stringpool_str160[sizeof("IBM819")];
+    char stringpool_str162[sizeof("ISO-CELTIC")];
+    char stringpool_str163[sizeof("ELOT_928")];
+    char stringpool_str164[sizeof("CP1250")];
+    char stringpool_str165[sizeof("GB2312")];
+    char stringpool_str166[sizeof("CP850")];
+    char stringpool_str168[sizeof("ISO-8859-4")];
+    char stringpool_str169[sizeof("ISO-8859-14")];
+    char stringpool_str170[sizeof("CP950")];
+    char stringpool_str171[sizeof("CYRILLIC")];
+    char stringpool_str176[sizeof("ISO_8859-10:1992")];
+    char stringpool_str179[sizeof("UCS-2")];
+    char stringpool_str180[sizeof("TCVN")];
+    char stringpool_str181[sizeof("ISO-IR-148")];
+    char stringpool_str185[sizeof("X0201")];
+    char stringpool_str186[sizeof("ISO_8859-4")];
+    char stringpool_str187[sizeof("ISO_8859-14")];
+    char stringpool_str188[sizeof("L10")];
+    char stringpool_str189[sizeof("ISO-IR-149")];
+    char stringpool_str191[sizeof("ISO-IR-101")];
+    char stringpool_str196[sizeof("ISO-2022-CN-EXT")];
+    char stringpool_str197[sizeof("LATIN4")];
+    char stringpool_str200[sizeof("ISO-IR-203")];
+    char stringpool_str201[sizeof("X0208")];
+    char stringpool_str202[sizeof("KSC_5601")];
+    char stringpool_str204[sizeof("ISO8859-10")];
+    char stringpool_str207[sizeof("VISCII1.1-1")];
+    char stringpool_str209[sizeof("L7")];
+    char stringpool_str211[sizeof("ISO-IR-14")];
+    char stringpool_str212[sizeof("PT154")];
+    char stringpool_str213[sizeof("TIS620")];
+    char stringpool_str215[sizeof("ISO-IR-109")];
+    char stringpool_str216[sizeof("CSUNICODE11")];
+    char stringpool_str217[sizeof("KOI8-T")];
+    char stringpool_str218[sizeof("RK1048")];
+    char stringpool_str221[sizeof("ISO-8859-10")];
+    char stringpool_str222[sizeof("TIS620.2533-1")];
+    char stringpool_str223[sizeof("ISO646-US")];
+    char stringpool_str224[sizeof("CSISOLATIN1")];
+    char stringpool_str226[sizeof("CSISOLATIN6")];
+    char stringpool_str228[sizeof("CSISOLATIN3")];
+    char stringpool_str230[sizeof("TIS-620")];
+    char stringpool_str232[sizeof("CSISOLATIN5")];
+    char stringpool_str234[sizeof("CSISOLATIN2")];
+    char stringpool_str235[sizeof("TIS620.2529-1")];
+    char stringpool_str236[sizeof("CSKZ1048")];
+    char stringpool_str237[sizeof("CSISOLATINCYRILLIC")];
+    char stringpool_str238[sizeof("KZ-1048")];
+    char stringpool_str239[sizeof("ISO_8859-10")];
+    char stringpool_str241[sizeof("UNICODE-1-1")];
+    char stringpool_str242[sizeof("UTF-16")];
+    char stringpool_str245[sizeof("MS-EE")];
+    char stringpool_str248[sizeof("CSUNICODE")];
+    char stringpool_str249[sizeof("CSKOI8R")];
+    char stringpool_str250[sizeof("LATIN10")];
+    char stringpool_str252[sizeof("UTF-32")];
+    char stringpool_str254[sizeof("CSUCS4")];
+    char stringpool_str255[sizeof("UTF-8")];
+    char stringpool_str259[sizeof("ISO-IR-144")];
+    char stringpool_str261[sizeof("KOI8-R")];
+    char stringpool_str262[sizeof("MS-ANSI")];
+    char stringpool_str263[sizeof("UCS-4")];
+    char stringpool_str264[sizeof("ISO-IR-110")];
+    char stringpool_str266[sizeof("IBM-CP1133")];
+    char stringpool_str267[sizeof("CSIBM866")];
+    char stringpool_str270[sizeof("KS_C_5601-1989")];
+    char stringpool_str271[sizeof("CHAR")];
+    char stringpool_str273[sizeof("EUCKR")];
+    char stringpool_str277[sizeof("BIG5")];
+    char stringpool_str278[sizeof("CP874")];
+    char stringpool_str279[sizeof("ARMSCII-8")];
+    char stringpool_str282[sizeof("CSBIG5")];
+    char stringpool_str283[sizeof("UCS-2LE")];
+    char stringpool_str286[sizeof("IBM850")];
+    char stringpool_str287[sizeof("US-ASCII")];
+    char stringpool_str290[sizeof("EUC-KR")];
+    char stringpool_str293[sizeof("CSGB2312")];
+    char stringpool_str294[sizeof("BIG-5")];
+    char stringpool_str295[sizeof("TIS620.2533-0")];
+    char stringpool_str299[sizeof("CN-BIG5")];
+    char stringpool_str302[sizeof("MACCYRILLIC")];
+    char stringpool_str303[sizeof("GBK")];
+    char stringpool_str304[sizeof("TIS620-0")];
+    char stringpool_str305[sizeof("MS-CYRL")];
+    char stringpool_str307[sizeof("CYRILLIC-ASIAN")];
+    char stringpool_str308[sizeof("ECMA-118")];
+    char stringpool_str310[sizeof("ISO-IR-179")];
+    char stringpool_str311[sizeof("GREEK8")];
+    char stringpool_str315[sizeof("KOREAN")];
+    char stringpool_str318[sizeof("CSISOLATIN4")];
+    char stringpool_str321[sizeof("ISO-10646-UCS-2")];
+    char stringpool_str325[sizeof("UCS-4LE")];
+    char stringpool_str326[sizeof("PTCP154")];
+    char stringpool_str330[sizeof("CSISO14JISC6220RO")];
+    char stringpool_str334[sizeof("CSISO2022KR")];
+    char stringpool_str336[sizeof("ROMAN8")];
+    char stringpool_str337[sizeof("ISO-IR-100")];
+    char stringpool_str340[sizeof("JIS_C6226-1983")];
+    char stringpool_str344[sizeof("CSISOLATINARABIC")];
+    char stringpool_str347[sizeof("CP367")];
+    char stringpool_str350[sizeof("UTF-16LE")];
+    char stringpool_str351[sizeof("ISO_646.IRV:1991")];
+    char stringpool_str354[sizeof("CP1257")];
+    char stringpool_str355[sizeof("MACICELAND")];
+    char stringpool_str356[sizeof("UTF-32LE")];
+    char stringpool_str357[sizeof("CSKSC56011987")];
+    char stringpool_str359[sizeof("ARABIC")];
+    char stringpool_str362[sizeof("ISO-2022-KR")];
+    char stringpool_str363[sizeof("ISO-10646-UCS-4")];
+    char stringpool_str367[sizeof("UCS-2BE")];
+    char stringpool_str368[sizeof("GB_2312-80")];
+    char stringpool_str369[sizeof("JP")];
+    char stringpool_str371[sizeof("MULELAO-1")];
+    char stringpool_str372[sizeof("CSISO159JISX02121990")];
+    char stringpool_str373[sizeof("GREEK")];
+    char stringpool_str375[sizeof("TCVN5712-1")];
+    char stringpool_str376[sizeof("CSISO58GB231280")];
+    char stringpool_str378[sizeof("GB18030")];
+    char stringpool_str379[sizeof("TCVN-5712")];
+    char stringpool_str384[sizeof("GB_1988-80")];
+    char stringpool_str385[sizeof("CSPTCP154")];
+    char stringpool_str386[sizeof("ECMA-114")];
+    char stringpool_str388[sizeof("CSUNICODE11UTF7")];
+    char stringpool_str391[sizeof("ANSI_X3.4-1986")];
+    char stringpool_str392[sizeof("UNICODELITTLE")];
+    char stringpool_str393[sizeof("ISO8859-7")];
+    char stringpool_str395[sizeof("CN-GB-ISOIR165")];
+    char stringpool_str396[sizeof("STRK1048-2002")];
+    char stringpool_str398[sizeof("ANSI_X3.4-1968")];
+    char stringpool_str403[sizeof("KOI8-U")];
+    char stringpool_str406[sizeof("UCS-2-INTERNAL")];
+    char stringpool_str409[sizeof("UCS-4BE")];
+    char stringpool_str410[sizeof("ISO-8859-7")];
+    char stringpool_str411[sizeof("SHIFT-JIS")];
+    char stringpool_str412[sizeof("CN-GB")];
+    char stringpool_str413[sizeof("JIS_C6220-1969-RO")];
+    char stringpool_str415[sizeof("UNICODE-1-1-UTF-7")];
+    char stringpool_str416[sizeof("WINDOWS-1251")];
+    char stringpool_str417[sizeof("WINDOWS-1256")];
+    char stringpool_str418[sizeof("WINDOWS-1253")];
+    char stringpool_str420[sizeof("WINDOWS-1255")];
+    char stringpool_str421[sizeof("WINDOWS-1252")];
+    char stringpool_str422[sizeof("WINDOWS-936")];
+    char stringpool_str424[sizeof("WINDOWS-1258")];
+    char stringpool_str425[sizeof("CSEUCKR")];
+    char stringpool_str426[sizeof("KS_C_5601-1987")];
+    char stringpool_str428[sizeof("ISO_8859-7")];
+    char stringpool_str429[sizeof("SHIFT_JIS")];
+    char stringpool_str433[sizeof("JIS0208")];
+    char stringpool_str434[sizeof("UTF-16BE")];
+    char stringpool_str439[sizeof("LATIN7")];
+    char stringpool_str440[sizeof("UTF-32BE")];
+    char stringpool_str445[sizeof("MACTHAI")];
+    char stringpool_str448[sizeof("UCS-4-INTERNAL")];
+    char stringpool_str449[sizeof("CSISOLATINGREEK")];
+    char stringpool_str451[sizeof("MACROMAN")];
+    char stringpool_str452[sizeof("EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE")];
+    char stringpool_str456[sizeof("EUCTW")];
+    char stringpool_str457[sizeof("ISO-IR-57")];
+    char stringpool_str458[sizeof("ISO-IR-157")];
+    char stringpool_str459[sizeof("ISO-IR-127")];
+    char stringpool_str461[sizeof("ISO-IR-87")];
+    char stringpool_str463[sizeof("WINDOWS-1254")];
+    char stringpool_str464[sizeof("ISO_8859-3:1988")];
+    char stringpool_str466[sizeof("ISO_8859-5:1988")];
+    char stringpool_str467[sizeof("IBM367")];
+    char stringpool_str470[sizeof("ISO_8859-8:1988")];
+    char stringpool_str471[sizeof("HZ-GB-2312")];
+    char stringpool_str473[sizeof("EUC-TW")];
+    char stringpool_str474[sizeof("CSISO57GB1988")];
+    char stringpool_str475[sizeof("NEXTSTEP")];
+    char stringpool_str476[sizeof("CSISO2022JP2")];
+    char stringpool_str478[sizeof("ISO_8859-9:1989")];
+    char stringpool_str480[sizeof("KOI8-RU")];
+    char stringpool_str487[sizeof("MACINTOSH")];
+    char stringpool_str489[sizeof("WINDOWS-1250")];
+    char stringpool_str492[sizeof("JIS_X0212")];
+    char stringpool_str500[sizeof("ISO-2022-JP-1")];
+    char stringpool_str501[sizeof("MACCROATIAN")];
+    char stringpool_str502[sizeof("HP-ROMAN8")];
+    char stringpool_str505[sizeof("ISO-2022-JP-2")];
+    char stringpool_str509[sizeof("ISO_8859-4:1988")];
+    char stringpool_str510[sizeof("BIG5HKSCS")];
+    char stringpool_str515[sizeof("ASMO-708")];
+    char stringpool_str518[sizeof("EUCJP")];
+    char stringpool_str525[sizeof("BIGFIVE")];
+    char stringpool_str527[sizeof("BIG5-HKSCS")];
+    char stringpool_str531[sizeof("MACCENTRALEUROPE")];
+    char stringpool_str532[sizeof("CSPC862LATINHEBREW")];
+    char stringpool_str535[sizeof("EUC-JP")];
+    char stringpool_str542[sizeof("BIG-FIVE")];
+    char stringpool_str546[sizeof("CSSHIFTJIS")];
+    char stringpool_str550[sizeof("ISO646-JP")];
+    char stringpool_str554[sizeof("JISX0201-1976")];
+    char stringpool_str555[sizeof("JIS_X0201")];
+    char stringpool_str556[sizeof("CSISOLATINHEBREW")];
+    char stringpool_str563[sizeof("MACARABIC")];
+    char stringpool_str564[sizeof("CSISO87JISX0208")];
+    char stringpool_str571[sizeof("JIS_X0208")];
+    char stringpool_str575[sizeof("UTF-7")];
+    char stringpool_str577[sizeof("MACGREEK")];
+    char stringpool_str579[sizeof("CSISO2022JP")];
+    char stringpool_str580[sizeof("MS-TURK")];
+    char stringpool_str581[sizeof("JIS_X0212-1990")];
+    char stringpool_str584[sizeof("WINDOWS-1257")];
+    char stringpool_str586[sizeof("JIS_X0208-1983")];
+    char stringpool_str590[sizeof("MS-GREEK")];
+    char stringpool_str599[sizeof("CSHPROMAN8")];
+    char stringpool_str600[sizeof("JAVA")];
+    char stringpool_str601[sizeof("MS-HEBR")];
+    char stringpool_str604[sizeof("CSMACINTOSH")];
+    char stringpool_str607[sizeof("ISO-2022-JP")];
+    char stringpool_str608[sizeof("CSEUCTW")];
+    char stringpool_str614[sizeof("GEORGIAN-PS")];
+    char stringpool_str615[sizeof("UNICODEBIG")];
+    char stringpool_str617[sizeof("MS_KANJI")];
+    char stringpool_str620[sizeof("CSPC850MULTILINGUAL")];
+    char stringpool_str621[sizeof("MACUKRAINE")];
+    char stringpool_str622[sizeof("ISO_8859-1:1987")];
+    char stringpool_str623[sizeof("ISO_8859-6:1987")];
+    char stringpool_str624[sizeof("ISO_8859-7:2003")];
+    char stringpool_str626[sizeof("GEORGIAN-ACADEMY")];
+    char stringpool_str627[sizeof("ISO_8859-2:1987")];
+    char stringpool_str629[sizeof("JIS_X0212.1990-0")];
+    char stringpool_str657[sizeof("JIS_X0208-1990")];
+    char stringpool_str664[sizeof("WCHAR_T")];
+    char stringpool_str673[sizeof("MACROMANIA")];
+    char stringpool_str676[sizeof("WINDOWS-874")];
+    char stringpool_str689[sizeof("CSEUCPKDFMTJAPANESE")];
+    char stringpool_str691[sizeof("MS-ARAB")];
+    char stringpool_str723[sizeof("UCS-2-SWAPPED")];
+    char stringpool_str739[sizeof("TCVN5712-1:1993")];
+    char stringpool_str746[sizeof("HEBREW")];
+    char stringpool_str765[sizeof("UCS-4-SWAPPED")];
+    char stringpool_str768[sizeof("JOHAB")];
+    char stringpool_str786[sizeof("MACTURKISH")];
+    char stringpool_str790[sizeof("ISO_8859-7:1987")];
+    char stringpool_str842[sizeof("WINBALTRIM")];
+    char stringpool_str888[sizeof("BIG5-HKSCS:2001")];
+    char stringpool_str896[sizeof("BIG5-HKSCS:2008")];
+    char stringpool_str898[sizeof("CSHALFWIDTHKATAKANA")];
+    char stringpool_str900[sizeof("BIG5-HKSCS:1999")];
+    char stringpool_str908[sizeof("MACHEBREW")];
+    char stringpool_str935[sizeof("BIG5-HKSCS:2004")];
+  };
+static const struct stringpool_t stringpool_contents =
+  {
+    "SJIS",
+    "CN",
+    "CP1131",
+    "CP1361",
+    "866",
+    "CP1133",
+    "CP1251",
+    "CP866",
+    "CP1256",
+    "862",
+    "CP1253",
+    "CP936",
+    "CP1255",
+    "CP862",
+    "CP1252",
+    "C99",
+    "CP932",
+    "CP1258",
+    "CP819",
+    "L1",
+    "L6",
+    "L3",
+    "L5",
+    "L2",
+    "L8",
+    "EUCCN",
+    "ISO8859-1",
+    "ISO8859-11",
+    "ISO8859-6",
+    "ISO8859-16",
+    "ISO8859-3",
+    "ISO8859-13",
+    "ISO8859-5",
+    "ISO8859-15",
+    "ISO8859-2",
+    "EUC-CN",
+    "ISO8859-8",
+    "ISO-8859-1",
+    "ISO-8859-11",
+    "ISO-8859-6",
+    "ISO-8859-16",
+    "ISO-8859-3",
+    "ISO-8859-13",
+    "ISO8859-9",
+    "ISO-8859-5",
+    "ISO-8859-15",
+    "ISO-8859-2",
+    "ISO646-CN",
+    "R8",
+    "L4",
+    "ISO-8859-8",
+    "CP949",
+    "ISO_8859-1",
+    "ISO_8859-11",
+    "ISO_8859-6",
+    "ISO_8859-16",
+    "ISO_8859-3",
+    "ISO_8859-13",
+    "ISO-8859-9",
+    "ISO_8859-16:2001",
+    "ISO_8859-5",
+    "ISO_8859-15",
+    "ISO_8859-2",
+    "LATIN1",
+    "LATIN6",
+    "CP154",
+    "LATIN3",
+    "ISO_8859-8",
+    "ISO_8859-15:1998",
+    "LATIN5",
+    "CP1254",
+    "LATIN2",
+    "CSISO2022CN",
+    "ISO_8859-9",
+    "CHINESE",
+    "ISO-IR-6",
+    "LATIN8",
+    "ASCII",
+    "ISO-IR-166",
+    "X0212",
+    "VISCII",
+    "ISO-IR-126",
+    "CSASCII",
+    "ISO-IR-165",
+    "CSVISCII",
+    "ISO-IR-226",
+    "MAC",
+    "ISO-IR-138",
+    "ISO-IR-58",
+    "IBM866",
+    "ISO-2022-CN",
+    "MS936",
+    "LATIN-9",
+    "ISO-IR-159",
+    "IBM862",
+    "US",
+    "ISO8859-4",
+    "ISO8859-14",
+    "ISO_8859-14:1998",
+    "ISO-IR-199",
+    "UHC",
+    "850",
+    "HZ",
+    "IBM819",
+    "ISO-CELTIC",
+    "ELOT_928",
+    "CP1250",
+    "GB2312",
+    "CP850",
+    "ISO-8859-4",
+    "ISO-8859-14",
+    "CP950",
+    "CYRILLIC",
+    "ISO_8859-10:1992",
+    "UCS-2",
+    "TCVN",
+    "ISO-IR-148",
+    "X0201",
+    "ISO_8859-4",
+    "ISO_8859-14",
+    "L10",
+    "ISO-IR-149",
+    "ISO-IR-101",
+    "ISO-2022-CN-EXT",
+    "LATIN4",
+    "ISO-IR-203",
+    "X0208",
+    "KSC_5601",
+    "ISO8859-10",
+    "VISCII1.1-1",
+    "L7",
+    "ISO-IR-14",
+    "PT154",
+    "TIS620",
+    "ISO-IR-109",
+    "CSUNICODE11",
+    "KOI8-T",
+    "RK1048",
+    "ISO-8859-10",
+    "TIS620.2533-1",
+    "ISO646-US",
+    "CSISOLATIN1",
+    "CSISOLATIN6",
+    "CSISOLATIN3",
+    "TIS-620",
+    "CSISOLATIN5",
+    "CSISOLATIN2",
+    "TIS620.2529-1",
+    "CSKZ1048",
+    "CSISOLATINCYRILLIC",
+    "KZ-1048",
+    "ISO_8859-10",
+    "UNICODE-1-1",
+    "UTF-16",
+    "MS-EE",
+    "CSUNICODE",
+    "CSKOI8R",
+    "LATIN10",
+    "UTF-32",
+    "CSUCS4",
+    "UTF-8",
+    "ISO-IR-144",
+    "KOI8-R",
+    "MS-ANSI",
+    "UCS-4",
+    "ISO-IR-110",
+    "IBM-CP1133",
+    "CSIBM866",
+    "KS_C_5601-1989",
+    "CHAR",
+    "EUCKR",
+    "BIG5",
+    "CP874",
+    "ARMSCII-8",
+    "CSBIG5",
+    "UCS-2LE",
+    "IBM850",
+    "US-ASCII",
+    "EUC-KR",
+    "CSGB2312",
+    "BIG-5",
+    "TIS620.2533-0",
+    "CN-BIG5",
+    "MACCYRILLIC",
+    "GBK",
+    "TIS620-0",
+    "MS-CYRL",
+    "CYRILLIC-ASIAN",
+    "ECMA-118",
+    "ISO-IR-179",
+    "GREEK8",
+    "KOREAN",
+    "CSISOLATIN4",
+    "ISO-10646-UCS-2",
+    "UCS-4LE",
+    "PTCP154",
+    "CSISO14JISC6220RO",
+    "CSISO2022KR",
+    "ROMAN8",
+    "ISO-IR-100",
+    "JIS_C6226-1983",
+    "CSISOLATINARABIC",
+    "CP367",
+    "UTF-16LE",
+    "ISO_646.IRV:1991",
+    "CP1257",
+    "MACICELAND",
+    "UTF-32LE",
+    "CSKSC56011987",
+    "ARABIC",
+    "ISO-2022-KR",
+    "ISO-10646-UCS-4",
+    "UCS-2BE",
+    "GB_2312-80",
+    "JP",
+    "MULELAO-1",
+    "CSISO159JISX02121990",
+    "GREEK",
+    "TCVN5712-1",
+    "CSISO58GB231280",
+    "GB18030",
+    "TCVN-5712",
+    "GB_1988-80",
+    "CSPTCP154",
+    "ECMA-114",
+    "CSUNICODE11UTF7",
+    "ANSI_X3.4-1986",
+    "UNICODELITTLE",
+    "ISO8859-7",
+    "CN-GB-ISOIR165",
+    "STRK1048-2002",
+    "ANSI_X3.4-1968",
+    "KOI8-U",
+    "UCS-2-INTERNAL",
+    "UCS-4BE",
+    "ISO-8859-7",
+    "SHIFT-JIS",
+    "CN-GB",
+    "JIS_C6220-1969-RO",
+    "UNICODE-1-1-UTF-7",
+    "WINDOWS-1251",
+    "WINDOWS-1256",
+    "WINDOWS-1253",
+    "WINDOWS-1255",
+    "WINDOWS-1252",
+    "WINDOWS-936",
+    "WINDOWS-1258",
+    "CSEUCKR",
+    "KS_C_5601-1987",
+    "ISO_8859-7",
+    "SHIFT_JIS",
+    "JIS0208",
+    "UTF-16BE",
+    "LATIN7",
+    "UTF-32BE",
+    "MACTHAI",
+    "UCS-4-INTERNAL",
+    "CSISOLATINGREEK",
+    "MACROMAN",
+    "EXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESE",
+    "EUCTW",
+    "ISO-IR-57",
+    "ISO-IR-157",
+    "ISO-IR-127",
+    "ISO-IR-87",
+    "WINDOWS-1254",
+    "ISO_8859-3:1988",
+    "ISO_8859-5:1988",
+    "IBM367",
+    "ISO_8859-8:1988",
+    "HZ-GB-2312",
+    "EUC-TW",
+    "CSISO57GB1988",
+    "NEXTSTEP",
+    "CSISO2022JP2",
+    "ISO_8859-9:1989",
+    "KOI8-RU",
+    "MACINTOSH",
+    "WINDOWS-1250",
+    "JIS_X0212",
+    "ISO-2022-JP-1",
+    "MACCROATIAN",
+    "HP-ROMAN8",
+    "ISO-2022-JP-2",
+    "ISO_8859-4:1988",
+    "BIG5HKSCS",
+    "ASMO-708",
+    "EUCJP",
+    "BIGFIVE",
+    "BIG5-HKSCS",
+    "MACCENTRALEUROPE",
+    "CSPC862LATINHEBREW",
+    "EUC-JP",
+    "BIG-FIVE",
+    "CSSHIFTJIS",
+    "ISO646-JP",
+    "JISX0201-1976",
+    "JIS_X0201",
+    "CSISOLATINHEBREW",
+    "MACARABIC",
+    "CSISO87JISX0208",
+    "JIS_X0208",
+    "UTF-7",
+    "MACGREEK",
+    "CSISO2022JP",
+    "MS-TURK",
+    "JIS_X0212-1990",
+    "WINDOWS-1257",
+    "JIS_X0208-1983",
+    "MS-GREEK",
+    "CSHPROMAN8",
+    "JAVA",
+    "MS-HEBR",
+    "CSMACINTOSH",
+    "ISO-2022-JP",
+    "CSEUCTW",
+    "GEORGIAN-PS",
+    "UNICODEBIG",
+    "MS_KANJI",
+    "CSPC850MULTILINGUAL",
+    "MACUKRAINE",
+    "ISO_8859-1:1987",
+    "ISO_8859-6:1987",
+    "ISO_8859-7:2003",
+    "GEORGIAN-ACADEMY",
+    "ISO_8859-2:1987",
+    "JIS_X0212.1990-0",
+    "JIS_X0208-1990",
+    "WCHAR_T",
+    "MACROMANIA",
+    "WINDOWS-874",
+    "CSEUCPKDFMTJAPANESE",
+    "MS-ARAB",
+    "UCS-2-SWAPPED",
+    "TCVN5712-1:1993",
+    "HEBREW",
+    "UCS-4-SWAPPED",
+    "JOHAB",
+    "MACTURKISH",
+    "ISO_8859-7:1987",
+    "WINBALTRIM",
+    "BIG5-HKSCS:2001",
+    "BIG5-HKSCS:2008",
+    "CSHALFWIDTHKATAKANA",
+    "BIG5-HKSCS:1999",
+    "MACHEBREW",
+    "BIG5-HKSCS:2004"
+  };
+#define stringpool ((const char *) &stringpool_contents)
+
+static const struct alias aliases[] =
+  {
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 308 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str7, ei_sjis},
+    {-1},
+#line 288 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str9, ei_iso646_cn},
+    {-1},
+#line 209 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str11, ei_cp1131},
+#line 354 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str12, ei_johab},
+#line 207 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str13, ei_cp866},
+    {-1},
+#line 244 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str15, ei_cp1133},
+    {-1}, {-1},
+#line 174 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str18, ei_cp1251},
+#line 205 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str19, ei_cp866},
+#line 189 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str20, ei_cp1256},
+#line 203 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str21, ei_cp862},
+#line 180 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str22, ei_cp1253},
+    {-1},
+#line 323 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str24, ei_cp936},
+    {-1},
+#line 186 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str26, ei_cp1255},
+#line 201 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str27, ei_cp862},
+#line 177 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str28, ei_cp1252},
+    {-1},
+#line 51 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str30, ei_c99},
+    {-1},
+#line 311 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str32, ei_cp932},
+    {-1},
+#line 195 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str34, ei_cp1258},
+    {-1}, {-1}, {-1}, {-1}, {-1},
+#line 57 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str40, ei_iso8859_1},
+#line 60 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str41, ei_iso8859_1},
+#line 134 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str42, ei_iso8859_10},
+#line 76 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str43, ei_iso8859_3},
+    {-1},
+#line 126 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str45, ei_iso8859_9},
+#line 68 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str46, ei_iso8859_2},
+    {-1}, {-1},
+#line 151 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str49, ei_iso8859_14},
+    {-1}, {-1}, {-1},
+#line 318 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str53, ei_euc_cn},
+    {-1}, {-1}, {-1},
+#line 62 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str57, ei_iso8859_1},
+#line 139 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str58, ei_iso8859_11},
+#line 102 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str59, ei_iso8859_6},
+#line 166 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str60, ei_iso8859_16},
+#line 78 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str61, ei_iso8859_3},
+#line 145 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str62, ei_iso8859_13},
+    {-1}, {-1},
+#line 93 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str65, ei_iso8859_5},
+#line 159 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str66, ei_iso8859_15},
+#line 70 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str67, ei_iso8859_2},
+    {-1}, {-1},
+#line 317 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str70, ei_euc_cn},
+    {-1}, {-1},
+#line 120 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str73, ei_iso8859_8},
+#line 53 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str74, ei_iso8859_1},
+#line 137 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str75, ei_iso8859_11},
+#line 94 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str76, ei_iso8859_6},
+#line 160 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str77, ei_iso8859_16},
+#line 71 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str78, ei_iso8859_3},
+#line 140 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str79, ei_iso8859_13},
+    {-1},
+#line 128 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str81, ei_iso8859_9},
+#line 87 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str82, ei_iso8859_5},
+#line 154 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str83, ei_iso8859_15},
+#line 63 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str84, ei_iso8859_2},
+#line 286 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str85, ei_iso646_cn},
+#line 227 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str86, ei_hp_roman8},
+    {-1},
+#line 84 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str88, ei_iso8859_4},
+    {-1},
+#line 114 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str90, ei_iso8859_8},
+#line 351 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str91, ei_cp949},
+#line 54 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str92, ei_iso8859_1},
+#line 138 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str93, ei_iso8859_11},
+#line 95 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str94, ei_iso8859_6},
+#line 161 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str95, ei_iso8859_16},
+#line 72 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str96, ei_iso8859_3},
+#line 141 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str97, ei_iso8859_13},
+#line 121 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str98, ei_iso8859_9},
+#line 162 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str99, ei_iso8859_16},
+#line 88 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str100, ei_iso8859_5},
+#line 155 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str101, ei_iso8859_15},
+#line 64 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str102, ei_iso8859_2},
+#line 59 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str103, ei_iso8859_1},
+    {-1},
+#line 133 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str105, ei_iso8859_10},
+#line 236 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str106, ei_pt154},
+#line 75 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str107, ei_iso8859_3},
+#line 115 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str108, ei_iso8859_8},
+    {-1},
+#line 156 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str110, ei_iso8859_15},
+#line 125 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str111, ei_iso8859_9},
+#line 183 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str112, ei_cp1254},
+#line 67 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str113, ei_iso8859_2},
+#line 328 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str114, ei_iso2022_cn},
+    {-1},
+#line 122 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str116, ei_iso8859_9},
+#line 293 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str117, ei_gb2312},
+#line 16 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str118, ei_ascii},
+#line 150 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str119, ei_iso8859_14},
+#line 13 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str120, ei_ascii},
+#line 252 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str121, ei_tis620},
+#line 282 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str122, ei_jisx0212},
+    {-1},
+#line 255 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str124, ei_viscii},
+#line 107 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str125, ei_iso8859_7},
+#line 22 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str126, ei_ascii},
+#line 294 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str127, ei_isoir165},
+    {-1},
+#line 257 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str129, ei_viscii},
+#line 163 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str130, ei_iso8859_16},
+#line 212 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str131, ei_mac_roman},
+    {-1}, {-1}, {-1}, {-1},
+#line 117 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str136, ei_iso8859_8},
+#line 291 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str137, ei_gb2312},
+    {-1},
+#line 206 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str139, ei_cp866},
+    {-1}, {-1},
+#line 327 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str142, ei_iso2022_cn},
+#line 324 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str143, ei_cp936},
+#line 158 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str144, ei_iso8859_15},
+    {-1},
+#line 283 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str146, ei_jisx0212},
+#line 202 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str147, ei_cp862},
+    {-1}, {-1},
+#line 21 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str150, ei_ascii},
+#line 86 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str151, ei_iso8859_4},
+#line 153 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str152, ei_iso8859_14},
+#line 148 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str153, ei_iso8859_14},
+#line 149 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str154, ei_iso8859_14},
+    {-1},
+#line 352 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str156, ei_cp949},
+#line 199 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str157, ei_cp850},
+    {-1},
+#line 330 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str159, ei_hz},
+#line 58 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str160, ei_iso8859_1},
+    {-1},
+#line 152 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str162, ei_iso8859_14},
+#line 109 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str163, ei_iso8859_7},
+#line 171 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str164, ei_cp1250},
+#line 319 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str165, ei_euc_cn},
+#line 197 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str166, ei_cp850},
+    {-1},
+#line 79 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str168, ei_iso8859_4},
+#line 146 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str169, ei_iso8859_14},
+#line 341 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str170, ei_cp950},
+#line 91 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str171, ei_iso8859_5},
+    {-1}, {-1}, {-1}, {-1},
+#line 131 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str176, ei_iso8859_10},
+    {-1}, {-1},
+#line 24 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str179, ei_ucs2},
+#line 258 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str180, ei_tcvn},
+#line 124 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str181, ei_iso8859_9},
+    {-1}, {-1}, {-1},
+#line 269 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str185, ei_jisx0201},
+#line 80 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str186, ei_iso8859_4},
+#line 147 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str187, ei_iso8859_14},
+#line 165 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str188, ei_iso8859_16},
+#line 299 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str189, ei_ksc5601},
+    {-1},
+#line 66 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str191, ei_iso8859_2},
+    {-1}, {-1}, {-1}, {-1},
+#line 329 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str196, ei_iso2022_cn_ext},
+#line 83 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str197, ei_iso8859_4},
+    {-1}, {-1},
+#line 157 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str200, ei_iso8859_15},
+#line 275 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str201, ei_jisx0208},
+#line 296 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str202, ei_ksc5601},
+    {-1},
+#line 136 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str204, ei_iso8859_10},
+    {-1}, {-1},
+#line 256 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str207, ei_viscii},
+    {-1},
+#line 144 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str209, ei_iso8859_13},
+    {-1},
+#line 264 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str211, ei_iso646_jp},
+#line 234 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str212, ei_pt154},
+#line 247 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str213, ei_tis620},
+    {-1},
+#line 74 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str215, ei_iso8859_3},
+#line 30 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str216, ei_ucs2be},
+#line 233 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str217, ei_koi8_t},
+#line 239 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str218, ei_rk1048},
+    {-1}, {-1},
+#line 129 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str221, ei_iso8859_10},
+#line 251 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str222, ei_tis620},
+#line 14 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str223, ei_ascii},
+#line 61 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str224, ei_iso8859_1},
+    {-1},
+#line 135 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str226, ei_iso8859_10},
+    {-1},
+#line 77 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str228, ei_iso8859_3},
+    {-1},
+#line 246 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str230, ei_tis620},
+    {-1},
+#line 127 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str232, ei_iso8859_9},
+    {-1},
+#line 69 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str234, ei_iso8859_2},
+#line 249 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str235, ei_tis620},
+#line 242 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str236, ei_rk1048},
+#line 92 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str237, ei_iso8859_5},
+#line 241 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str238, ei_rk1048},
+#line 130 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str239, ei_iso8859_10},
+    {-1},
+#line 29 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str241, ei_ucs2be},
+#line 38 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str242, ei_utf16},
+    {-1}, {-1},
+#line 173 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str245, ei_cp1250},
+    {-1}, {-1},
+#line 26 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str248, ei_ucs2},
+#line 168 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str249, ei_koi8_r},
+#line 164 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str250, ei_iso8859_16},
+    {-1},
+#line 41 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str252, ei_utf32},
+    {-1},
+#line 35 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str254, ei_ucs4},
+#line 23 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str255, ei_utf8},
+    {-1}, {-1}, {-1},
+#line 90 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str259, ei_iso8859_5},
+    {-1},
+#line 167 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str261, ei_koi8_r},
+#line 179 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str262, ei_cp1252},
+#line 33 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str263, ei_ucs4},
+#line 82 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str264, ei_iso8859_4},
+    {-1},
+#line 245 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str266, ei_cp1133},
+#line 208 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str267, ei_cp866},
+    {-1}, {-1},
+#line 298 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str270, ei_ksc5601},
+#line 357 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str271, ei_local_char},
+    {-1},
+#line 349 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str273, ei_euc_kr},
+    {-1}, {-1}, {-1},
+#line 335 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str277, ei_ces_big5},
+#line 253 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str278, ei_cp874},
+#line 230 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str279, ei_armscii_8},
+    {-1}, {-1},
+#line 340 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str282, ei_ces_big5},
+#line 31 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str283, ei_ucs2le},
+    {-1}, {-1},
+#line 198 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str286, ei_cp850},
+#line 12 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str287, ei_ascii},
+    {-1}, {-1},
+#line 348 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str290, ei_euc_kr},
+    {-1}, {-1},
+#line 321 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str293, ei_euc_cn},
+#line 336 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str294, ei_ces_big5},
+#line 250 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str295, ei_tis620},
+    {-1}, {-1}, {-1},
+#line 339 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str299, ei_ces_big5},
+    {-1}, {-1},
+#line 218 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str302, ei_mac_cyrillic},
+#line 322 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str303, ei_ces_gbk},
+#line 248 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str304, ei_tis620},
+#line 176 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str305, ei_cp1251},
+    {-1},
+#line 237 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str307, ei_pt154},
+#line 108 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str308, ei_iso8859_7},
+    {-1},
+#line 142 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str310, ei_iso8859_13},
+#line 110 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str311, ei_iso8859_7},
+    {-1}, {-1}, {-1},
+#line 301 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str315, ei_ksc5601},
+    {-1}, {-1},
+#line 85 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str318, ei_iso8859_4},
+    {-1}, {-1},
+#line 25 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str321, ei_ucs2},
+    {-1}, {-1}, {-1},
+#line 37 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str325, ei_ucs4le},
+#line 235 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str326, ei_pt154},
+    {-1}, {-1}, {-1},
+#line 266 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str330, ei_iso646_jp},
+    {-1}, {-1}, {-1},
+#line 356 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str334, ei_iso2022_kr},
+    {-1},
+#line 226 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str336, ei_hp_roman8},
+#line 56 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str337, ei_iso8859_1},
+    {-1}, {-1},
+#line 277 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str340, ei_jisx0208},
+    {-1}, {-1}, {-1},
+#line 101 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str344, ei_iso8859_6},
+    {-1}, {-1},
+#line 19 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str347, ei_ascii},
+    {-1}, {-1},
+#line 40 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str350, ei_utf16le},
+#line 15 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str351, ei_ascii},
+    {-1}, {-1},
+#line 192 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str354, ei_cp1257},
+#line 215 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str355, ei_mac_iceland},
+#line 43 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str356, ei_utf32le},
+#line 300 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str357, ei_ksc5601},
+    {-1},
+#line 100 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str359, ei_iso8859_6},
+    {-1}, {-1},
+#line 355 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str362, ei_iso2022_kr},
+#line 34 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str363, ei_ucs4},
+    {-1}, {-1}, {-1},
+#line 27 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str367, ei_ucs2be},
+#line 290 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str368, ei_gb2312},
+#line 265 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str369, ei_iso646_jp},
+    {-1},
+#line 243 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str371, ei_mulelao},
+#line 284 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str372, ei_jisx0212},
+#line 111 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str373, ei_iso8859_7},
+    {-1},
+#line 260 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str375, ei_tcvn},
+#line 292 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str376, ei_gb2312},
+    {-1},
+#line 326 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str378, ei_gb18030},
+#line 259 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str379, ei_tcvn},
+    {-1}, {-1}, {-1}, {-1},
+#line 285 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str384, ei_iso646_cn},
+#line 238 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str385, ei_pt154},
+#line 98 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str386, ei_iso8859_6},
+    {-1},
+#line 46 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str388, ei_utf7},
+    {-1}, {-1},
+#line 18 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str391, ei_ascii},
+#line 32 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str392, ei_ucs2le},
+#line 113 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str393, ei_iso8859_7},
+    {-1},
+#line 295 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str395, ei_isoir165},
+#line 240 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str396, ei_rk1048},
+    {-1},
+#line 17 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str398, ei_ascii},
+    {-1}, {-1}, {-1}, {-1},
+#line 169 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str403, ei_koi8_u},
+    {-1}, {-1},
+#line 47 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str406, ei_ucs2internal},
+    {-1}, {-1},
+#line 36 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str409, ei_ucs4be},
+#line 103 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str410, ei_iso8859_7},
+#line 307 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str411, ei_sjis},
+#line 320 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str412, ei_euc_cn},
+#line 262 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str413, ei_iso646_jp},
+    {-1},
+#line 45 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str415, ei_utf7},
+#line 175 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str416, ei_cp1251},
+#line 190 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str417, ei_cp1256},
+#line 181 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str418, ei_cp1253},
+    {-1},
+#line 187 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str420, ei_cp1255},
+#line 178 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str421, ei_cp1252},
+#line 325 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str422, ei_cp936},
+    {-1},
+#line 196 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str424, ei_cp1258},
+#line 350 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str425, ei_euc_kr},
+#line 297 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str426, ei_ksc5601},
+    {-1},
+#line 104 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str428, ei_iso8859_7},
+#line 306 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str429, ei_sjis},
+    {-1}, {-1}, {-1},
+#line 274 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str433, ei_jisx0208},
+#line 39 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str434, ei_utf16be},
+    {-1}, {-1}, {-1}, {-1},
+#line 143 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str439, ei_iso8859_13},
+#line 42 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str440, ei_utf32be},
+    {-1}, {-1}, {-1}, {-1},
+#line 224 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str445, ei_mac_thai},
+    {-1}, {-1},
+#line 49 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str448, ei_ucs4internal},
+#line 112 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str449, ei_iso8859_7},
+    {-1},
+#line 210 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str451, ei_mac_roman},
+#line 304 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str452, ei_euc_jp},
+    {-1}, {-1}, {-1},
+#line 333 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str456, ei_euc_tw},
+#line 287 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str457, ei_iso646_cn},
+#line 132 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str458, ei_iso8859_10},
+#line 97 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str459, ei_iso8859_6},
+    {-1},
+#line 276 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str461, ei_jisx0208},
+    {-1},
+#line 184 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str463, ei_cp1254},
+#line 73 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str464, ei_iso8859_3},
+    {-1},
+#line 89 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str466, ei_iso8859_5},
+#line 20 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str467, ei_ascii},
+    {-1}, {-1},
+#line 116 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str470, ei_iso8859_8},
+#line 331 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str471, ei_hz},
+    {-1},
+#line 332 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str473, ei_euc_tw},
+#line 289 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str474, ei_iso646_cn},
+#line 229 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str475, ei_nextstep},
+#line 316 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str476, ei_iso2022_jp2},
+    {-1},
+#line 123 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str478, ei_iso8859_9},
+    {-1},
+#line 170 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str480, ei_koi8_ru},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 211 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str487, ei_mac_roman},
+    {-1},
+#line 172 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str489, ei_cp1250},
+    {-1}, {-1},
+#line 279 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str492, ei_jisx0212},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 314 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str500, ei_iso2022_jp1},
+#line 216 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str501, ei_mac_croatian},
+#line 225 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str502, ei_hp_roman8},
+    {-1}, {-1},
+#line 315 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str505, ei_iso2022_jp2},
+    {-1}, {-1}, {-1},
+#line 81 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str509, ei_iso8859_4},
+#line 346 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str510, ei_big5hkscs2008},
+    {-1}, {-1}, {-1}, {-1},
+#line 99 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str515, ei_iso8859_6},
+    {-1}, {-1},
+#line 303 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str518, ei_euc_jp},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 338 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str525, ei_ces_big5},
+    {-1},
+#line 345 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str527, ei_big5hkscs2008},
+    {-1}, {-1}, {-1},
+#line 214 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str531, ei_mac_centraleurope},
+#line 204 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str532, ei_cp862},
+    {-1}, {-1},
+#line 302 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str535, ei_euc_jp},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 337 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str542, ei_ces_big5},
+    {-1}, {-1}, {-1},
+#line 310 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str546, ei_sjis},
+    {-1}, {-1}, {-1},
+#line 263 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str550, ei_iso646_jp},
+    {-1}, {-1}, {-1},
+#line 268 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str554, ei_jisx0201},
+#line 267 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str555, ei_jisx0201},
+#line 119 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str556, ei_iso8859_8},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 223 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str563, ei_mac_arabic},
+#line 278 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str564, ei_jisx0208},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 271 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str571, ei_jisx0208},
+    {-1}, {-1}, {-1},
+#line 44 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str575, ei_utf7},
+    {-1},
+#line 220 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str577, ei_mac_greek},
+    {-1},
+#line 313 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str579, ei_iso2022_jp},
+#line 185 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str580, ei_cp1254},
+#line 281 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str581, ei_jisx0212},
+    {-1}, {-1},
+#line 193 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str584, ei_cp1257},
+    {-1},
+#line 272 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str586, ei_jisx0208},
+    {-1}, {-1}, {-1},
+#line 182 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str590, ei_cp1253},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 228 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str599, ei_hp_roman8},
+#line 52 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str600, ei_java},
+#line 188 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str601, ei_cp1255},
+    {-1}, {-1},
+#line 213 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str604, ei_mac_roman},
+    {-1}, {-1},
+#line 312 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str607, ei_iso2022_jp},
+#line 334 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str608, ei_euc_tw},
+    {-1}, {-1}, {-1}, {-1}, {-1},
+#line 232 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str614, ei_georgian_ps},
+#line 28 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str615, ei_ucs2be},
+    {-1},
+#line 309 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str617, ei_sjis},
+    {-1}, {-1},
+#line 200 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str620, ei_cp850},
+#line 219 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str621, ei_mac_ukraine},
+#line 55 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str622, ei_iso8859_1},
+#line 96 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str623, ei_iso8859_6},
+#line 106 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str624, ei_iso8859_7},
+    {-1},
+#line 231 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str626, ei_georgian_academy},
+#line 65 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str627, ei_iso8859_2},
+    {-1},
+#line 280 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str629, ei_jisx0212},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 273 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str657, ei_jisx0208},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 358 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str664, ei_local_wchar_t},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 217 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str673, ei_mac_romania},
+    {-1}, {-1},
+#line 254 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str676, ei_cp874},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1},
+#line 305 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str689, ei_euc_jp},
+    {-1},
+#line 191 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str691, ei_cp1256},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1},
+#line 48 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str723, ei_ucs2swapped},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 261 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str739, ei_tcvn},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 118 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str746, ei_iso8859_8},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 50 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str765, ei_ucs4swapped},
+    {-1}, {-1},
+#line 353 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str768, ei_johab},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 221 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str786, ei_mac_turkish},
+    {-1}, {-1}, {-1},
+#line 105 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str790, ei_iso8859_7},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 194 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str842, ei_cp1257},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 343 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str888, ei_big5hkscs2001},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 347 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str896, ei_big5hkscs2008},
+    {-1},
+#line 270 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str898, ei_jisx0201},
+    {-1},
+#line 342 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str900, ei_big5hkscs1999},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 222 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str908, ei_mac_hebrew},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+    {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 344 "lib/aliases.gperf"
+    {(int)(long)&((struct stringpool_t *)0)->stringpool_str935, ei_big5hkscs2004}
+  };
+
+#ifdef __GNUC__
+__inline
+#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
+#endif
+const struct alias *
+aliases_lookup (register const char *str, register unsigned int len)
+{
+  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+    {
+      register int key = aliases_hash (str, len);
+
+      if (key <= MAX_HASH_VALUE && key >= 0)
+        {
+          register int o = aliases[key].name;
+          if (o >= 0)
+            {
+              register const char *s = o + stringpool;
+
+              if (*str == *s && !strcmp (str + 1, s + 1))
+                return &aliases[key];
+            }
+        }
+    }
+  return 0;
+}
diff --git a/third_party/iconv/config/canonical.h b/third_party/iconv/config/canonical.h
new file mode 100644
index 0000000..550cc64
--- /dev/null
+++ b/third_party/iconv/config/canonical.h
@@ -0,0 +1,110 @@
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str287,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str255,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str179,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str367,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str283,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str263,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str409,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str325,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str242,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str434,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str350,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str252,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str440,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str356,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str575,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str406,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str723,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str448,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str765,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str30,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str600,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str74,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str84,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str78,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str168,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str82,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str76,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str410,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str90,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str98,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str221,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str75,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str79,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str169,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str83,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str77,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str261,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str403,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str480,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str164,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str18,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str28,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str22,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str112,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str26,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str20,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str354,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str34,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str166,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str27,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str19,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str11,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str451,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str531,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str355,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str501,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str673,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str302,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str621,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str577,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str786,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str908,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str563,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str445,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str502,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str475,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str279,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str626,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str614,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str217,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str212,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str218,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str371,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str15,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str230,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str278,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str124,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str180,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str413,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str555,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str571,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str492,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str384,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str368,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str127,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str202,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str535,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str429,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str32,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str607,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str500,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str505,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str70,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str303,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str24,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str378,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str142,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str196,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str159,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str473,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str277,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str170,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str900,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str888,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str935,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str527,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str290,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str91,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str768,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str362,
diff --git a/third_party/iconv/config/canonical_dos.h b/third_party/iconv/config/canonical_dos.h
new file mode 100644
index 0000000..aa82651
--- /dev/null
+++ b/third_party/iconv/config/canonical_dos.h
@@ -0,0 +1,15 @@
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_0,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_4,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_5,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_8,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_12,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_13,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_17,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_21,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_22,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_26,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_31,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_35,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_38,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_42,
+  (int)(long)&((struct stringpool2_t *)0)->stringpool_dos_47,
diff --git a/third_party/iconv/config/canonical_local.h b/third_party/iconv/config/canonical_local.h
new file mode 100644
index 0000000..a2209a8
--- /dev/null
+++ b/third_party/iconv/config/canonical_local.h
@@ -0,0 +1,2 @@
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str271,
+  (int)(long)&((struct stringpool_t *)0)->stringpool_str664,
diff --git a/third_party/iconv/config/flags.h b/third_party/iconv/config/flags.h
new file mode 100644
index 0000000..e91934a
--- /dev/null
+++ b/third_party/iconv/config/flags.h
@@ -0,0 +1,157 @@
+/* Generated automatically by genflags. */
+
+/* Set if the encoding can encode
+   the acute and grave accents U+00B4 and U+0060. */
+#define HAVE_ACCENTS 1
+
+/* Set if the encoding can encode
+   the single quotation marks U+2018 and U+2019. */
+#define HAVE_QUOTATION_MARKS 2
+
+/* Set if the encoding can encode
+   the double-width Hangul letters (Jamo) U+3131 to U+3163. */
+#define HAVE_HANGUL_JAMO 4
+
+#define ei_ascii_oflags (0)
+#define ei_utf8_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_ucs2_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_ucs2be_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_ucs2le_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_ucs4_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_ucs4be_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_ucs4le_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_utf16_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_utf16be_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_utf16le_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_utf32_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_utf32be_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_utf32le_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_utf7_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_ucs2internal_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_ucs2swapped_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_ucs4internal_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_ucs4swapped_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_c99_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_java_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_iso8859_1_oflags (HAVE_ACCENTS)
+#define ei_iso8859_2_oflags (HAVE_ACCENTS)
+#define ei_iso8859_3_oflags (HAVE_ACCENTS)
+#define ei_iso8859_4_oflags (HAVE_ACCENTS)
+#define ei_iso8859_5_oflags (0)
+#define ei_iso8859_6_oflags (0)
+#define ei_iso8859_7_oflags (HAVE_QUOTATION_MARKS)
+#define ei_iso8859_8_oflags (HAVE_ACCENTS)
+#define ei_iso8859_9_oflags (HAVE_ACCENTS)
+#define ei_iso8859_10_oflags (0)
+#define ei_iso8859_11_oflags (0)
+#define ei_iso8859_13_oflags (0)
+#define ei_iso8859_14_oflags (0)
+#define ei_iso8859_15_oflags (0)
+#define ei_iso8859_16_oflags (0)
+#define ei_koi8_r_oflags (0)
+#define ei_koi8_u_oflags (0)
+#define ei_koi8_ru_oflags (0)
+#define ei_cp1250_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_cp1251_oflags (HAVE_QUOTATION_MARKS)
+#define ei_cp1252_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_cp1253_oflags (HAVE_QUOTATION_MARKS)
+#define ei_cp1254_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_cp1255_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_cp1256_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_cp1257_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_cp1258_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_cp850_oflags (HAVE_ACCENTS)
+#define ei_cp862_oflags (0)
+#define ei_cp866_oflags (0)
+#define ei_cp1131_oflags (0)
+#define ei_mac_roman_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_mac_centraleurope_oflags (HAVE_QUOTATION_MARKS)
+#define ei_mac_iceland_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_mac_croatian_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_mac_romania_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_mac_cyrillic_oflags (HAVE_QUOTATION_MARKS)
+#define ei_mac_ukraine_oflags (HAVE_QUOTATION_MARKS)
+#define ei_mac_greek_oflags (HAVE_QUOTATION_MARKS)
+#define ei_mac_turkish_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_mac_hebrew_oflags (HAVE_QUOTATION_MARKS)
+#define ei_mac_arabic_oflags (0)
+#define ei_mac_thai_oflags (HAVE_QUOTATION_MARKS)
+#define ei_hp_roman8_oflags (HAVE_ACCENTS)
+#define ei_nextstep_oflags (HAVE_ACCENTS)
+#define ei_armscii_8_oflags (0)
+#define ei_georgian_academy_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_georgian_ps_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_koi8_t_oflags (HAVE_QUOTATION_MARKS)
+#define ei_pt154_oflags (HAVE_QUOTATION_MARKS)
+#define ei_rk1048_oflags (HAVE_QUOTATION_MARKS)
+#define ei_mulelao_oflags (0)
+#define ei_cp1133_oflags (0)
+#define ei_tis620_oflags (0)
+#define ei_cp874_oflags (HAVE_QUOTATION_MARKS)
+#define ei_viscii_oflags (0)
+#define ei_tcvn_oflags (HAVE_ACCENTS)
+#define ei_iso646_jp_oflags (0)
+#define ei_jisx0201_oflags (0)
+#define ei_jisx0208_oflags (HAVE_QUOTATION_MARKS)
+#define ei_jisx0212_oflags (0)
+#define ei_iso646_cn_oflags (0)
+#define ei_gb2312_oflags (HAVE_QUOTATION_MARKS)
+#define ei_isoir165_oflags (HAVE_QUOTATION_MARKS)
+#define ei_ksc5601_oflags (HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_euc_jp_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_sjis_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_cp932_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_iso2022_jp_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_iso2022_jp1_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_iso2022_jp2_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_euc_cn_oflags (HAVE_QUOTATION_MARKS)
+#define ei_ces_gbk_oflags (HAVE_QUOTATION_MARKS)
+#define ei_cp936_oflags (HAVE_QUOTATION_MARKS)
+#define ei_gb18030_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_iso2022_cn_oflags (HAVE_QUOTATION_MARKS)
+#define ei_iso2022_cn_ext_oflags (HAVE_QUOTATION_MARKS)
+#define ei_hz_oflags (HAVE_QUOTATION_MARKS)
+#define ei_euc_tw_oflags (HAVE_QUOTATION_MARKS)
+#define ei_ces_big5_oflags (HAVE_QUOTATION_MARKS)
+#define ei_cp950_oflags (HAVE_QUOTATION_MARKS)
+#define ei_big5hkscs1999_oflags (HAVE_QUOTATION_MARKS)
+#define ei_big5hkscs2001_oflags (HAVE_QUOTATION_MARKS)
+#define ei_big5hkscs2004_oflags (HAVE_QUOTATION_MARKS)
+#define ei_big5hkscs2008_oflags (HAVE_QUOTATION_MARKS)
+#define ei_euc_kr_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_cp949_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_johab_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_iso2022_kr_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS | HAVE_HANGUL_JAMO)
+#define ei_cp856_oflags (HAVE_ACCENTS)
+#define ei_cp922_oflags (HAVE_ACCENTS)
+#define ei_cp943_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_cp1046_oflags (0)
+#define ei_cp1124_oflags (0)
+#define ei_cp1129_oflags (0)
+#define ei_cp1161_oflags (0)
+#define ei_cp1162_oflags (HAVE_QUOTATION_MARKS)
+#define ei_cp1163_oflags (0)
+#define ei_dec_kanji_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_dec_hanyu_oflags (HAVE_QUOTATION_MARKS)
+#define ei_cp437_oflags (0)
+#define ei_cp737_oflags (0)
+#define ei_cp775_oflags (0)
+#define ei_cp852_oflags (HAVE_ACCENTS)
+#define ei_cp853_oflags (HAVE_ACCENTS)
+#define ei_cp855_oflags (0)
+#define ei_cp857_oflags (HAVE_ACCENTS)
+#define ei_cp858_oflags (HAVE_ACCENTS)
+#define ei_cp860_oflags (0)
+#define ei_cp861_oflags (0)
+#define ei_cp863_oflags (HAVE_ACCENTS)
+#define ei_cp864_oflags (0)
+#define ei_cp865_oflags (0)
+#define ei_cp869_oflags (HAVE_QUOTATION_MARKS)
+#define ei_cp1125_oflags (0)
+#define ei_euc_jisx0213_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_shift_jisx0213_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_iso2022_jp3_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
+#define ei_big5_2003_oflags (HAVE_QUOTATION_MARKS)
+#define ei_tds565_oflags (0)
+#define ei_atarist_oflags (HAVE_ACCENTS)
+#define ei_riscos1_oflags (HAVE_ACCENTS | HAVE_QUOTATION_MARKS)
diff --git a/third_party/iconv/config/windows/config.h b/third_party/iconv/config/windows/config.h
new file mode 100644
index 0000000..2399b6b
--- /dev/null
+++ b/third_party/iconv/config/windows/config.h
@@ -0,0 +1,926 @@
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define to the number of bits in type 'ptrdiff_t'. */
+#undef BITSIZEOF_PTRDIFF_T
+
+/* Define to the number of bits in type 'sig_atomic_t'. */
+#undef BITSIZEOF_SIG_ATOMIC_T
+
+/* Define to the number of bits in type 'size_t'. */
+#undef BITSIZEOF_SIZE_T
+
+/* Define to the number of bits in type 'wchar_t'. */
+#undef BITSIZEOF_WCHAR_T
+
+/* Define to the number of bits in type 'wint_t'. */
+#undef BITSIZEOF_WINT_T
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+#undef CRAY_STACKSEG_END
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Define to 1 if // is a file system root distinct from /. */
+#undef DOUBLE_SLASH_IS_DISTINCT_ROOT
+
+/* Define as good substitute value for EILSEQ. */
+//#undef EILSEQ
+
+/* Define to 1 to enable a few rarely used encodings. */
+#undef ENABLE_EXTRA
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+#undef ENABLE_NLS
+
+/* Define to 1 if the package shall run at any location in the file system. */
+#undef ENABLE_RELOCATABLE
+
+/* Define to 1 if realpath() can malloc memory, always gives an absolute path,
+   and handles trailing slash correctly. */
+#undef FUNC_REALPATH_WORKS
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module canonicalize-lgpl shall be considered present. */
+#undef GNULIB_CANONICALIZE_LGPL
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module sigpipe shall be considered present. */
+#undef GNULIB_SIGPIPE
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module strerror shall be considered present. */
+#undef GNULIB_STRERROR
+
+/* Define to 1 when the gnulib module canonicalize_file_name should be tested.
+   */
+#undef GNULIB_TEST_CANONICALIZE_FILE_NAME
+
+/* Define to 1 when the gnulib module environ should be tested. */
+#undef GNULIB_TEST_ENVIRON
+
+/* Define to 1 when the gnulib module lstat should be tested. */
+#undef GNULIB_TEST_LSTAT
+
+/* Define to 1 when the gnulib module read should be tested. */
+#undef GNULIB_TEST_READ
+
+/* Define to 1 when the gnulib module readlink should be tested. */
+#undef GNULIB_TEST_READLINK
+
+/* Define to 1 when the gnulib module realpath should be tested. */
+#undef GNULIB_TEST_REALPATH
+
+/* Define to 1 when the gnulib module sigprocmask should be tested. */
+#undef GNULIB_TEST_SIGPROCMASK
+
+/* Define to 1 when the gnulib module stat should be tested. */
+#undef GNULIB_TEST_STAT
+
+/* Define to 1 when the gnulib module strerror should be tested. */
+#undef GNULIB_TEST_STRERROR
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#undef HAVE_ALLOCA_H
+
+/* Define to 1 if you have the `canonicalize_file_name' function. */
+#undef HAVE_CANONICALIZE_FILE_NAME
+
+/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
+   CoreFoundation framework. */
+#undef HAVE_CFLOCALECOPYCURRENT
+
+/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
+   the CoreFoundation framework. */
+#undef HAVE_CFPREFERENCESCOPYAPPVALUE
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+   */
+#undef HAVE_DCGETTEXT
+
+/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if
+   you don't. */
+#undef HAVE_DECL_CLEARERR_UNLOCKED
+
+/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
+   don't. */
+#undef HAVE_DECL_FEOF_UNLOCKED
+
+/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if
+   you don't. */
+#undef HAVE_DECL_FERROR_UNLOCKED
+
+/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if
+   you don't. */
+#undef HAVE_DECL_FFLUSH_UNLOCKED
+
+/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if
+   you don't. */
+#undef HAVE_DECL_FGETS_UNLOCKED
+
+/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if
+   you don't. */
+#undef HAVE_DECL_FPUTC_UNLOCKED
+
+/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if
+   you don't. */
+#undef HAVE_DECL_FPUTS_UNLOCKED
+
+/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if
+   you don't. */
+#undef HAVE_DECL_FREAD_UNLOCKED
+
+/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if
+   you don't. */
+#undef HAVE_DECL_FWRITE_UNLOCKED
+
+/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if
+   you don't. */
+#undef HAVE_DECL_GETCHAR_UNLOCKED
+
+/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
+   don't. */
+#undef HAVE_DECL_GETC_UNLOCKED
+
+/* Define to 1 if you have the declaration of `program_invocation_name', and
+   to 0 if you don't. */
+#undef HAVE_DECL_PROGRAM_INVOCATION_NAME
+
+/* Define to 1 if you have the declaration of `program_invocation_short_name',
+   and to 0 if you don't. */
+#undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
+
+/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if
+   you don't. */
+#undef HAVE_DECL_PUTCHAR_UNLOCKED
+
+/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you
+   don't. */
+#undef HAVE_DECL_PUTC_UNLOCKED
+
+/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't.
+   */
+#undef HAVE_DECL_SETENV
+
+/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
+   don't. */
+#undef HAVE_DECL_STRERROR_R
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define if you have the declaration of environ. */
+#undef HAVE_ENVIRON_DECL
+
+/* Define to 1 if you have the `getcwd' function. */
+#undef HAVE_GETCWD
+
+/* Define to 1 if you have the `getc_unlocked' function. */
+#undef HAVE_GETC_UNLOCKED
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT
+
+/* Define if you have the iconv() function and it works. */
+#undef HAVE_ICONV
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#undef HAVE_LANGINFO_CODESET
+
+/* Define to 1 if the system has the type `long long int'. */
+#undef HAVE_LONG_LONG_INT
+
+/* Define to 1 if you have the `lstat' function. */
+#undef HAVE_LSTAT
+
+/* Define to 1 if you have the <mach-o/dyld.h> header file. */
+#undef HAVE_MACH_O_DYLD_H
+
+/* Define to 1 if you have the `mbrtowc' function. */
+#undef HAVE_MBRTOWC
+
+/* Define to 1 if you have the `mbsinit' function. */
+#undef HAVE_MBSINIT
+
+/* Define to 1 if <wchar.h> declares mbstate_t. */
+#undef HAVE_MBSTATE_T
+
+/* Define to 1 if you have the `memmove' function. */
+#undef HAVE_MEMMOVE
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if atoll is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ATOLL
+
+/* Define to 1 if canonicalize_file_name is declared even after undefining
+   macros. */
+#undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
+
+/* Define to 1 if chown is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_CHOWN
+
+/* Define to 1 if dprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_DPRINTF
+
+/* Define to 1 if dup2 is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_DUP2
+
+/* Define to 1 if dup3 is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_DUP3
+
+/* Define to 1 if endusershell is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ENDUSERSHELL
+
+/* Define to 1 if environ is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_ENVIRON
+
+/* Define to 1 if euidaccess is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_EUIDACCESS
+
+/* Define to 1 if faccessat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FACCESSAT
+
+/* Define to 1 if fchdir is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FCHDIR
+
+/* Define to 1 if fchmodat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FCHMODAT
+
+/* Define to 1 if fchownat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FCHOWNAT
+
+/* Define to 1 if fcntl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FCNTL
+
+/* Define to 1 if ffsl is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FFSL
+
+/* Define to 1 if ffsll is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FFSLL
+
+/* Define to 1 if fpurge is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FPURGE
+
+/* Define to 1 if fseeko is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FSEEKO
+
+/* Define to 1 if fstatat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FSTATAT
+
+/* Define to 1 if fsync is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FSYNC
+
+/* Define to 1 if ftello is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FTELLO
+
+/* Define to 1 if ftruncate is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FTRUNCATE
+
+/* Define to 1 if futimens is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_FUTIMENS
+
+/* Define to 1 if getcwd is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETCWD
+
+/* Define to 1 if getdelim is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETDELIM
+
+/* Define to 1 if getdomainname is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETDOMAINNAME
+
+/* Define to 1 if getdtablesize is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETDTABLESIZE
+
+/* Define to 1 if getgroups is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETGROUPS
+
+/* Define to 1 if gethostname is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETHOSTNAME
+
+/* Define to 1 if getline is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETLINE
+
+/* Define to 1 if getloadavg is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETLOADAVG
+
+/* Define to 1 if getlogin is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETLOGIN
+
+/* Define to 1 if getlogin_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETLOGIN_R
+
+/* Define to 1 if getpagesize is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETPAGESIZE
+
+/* Define to 1 if getsubopt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETSUBOPT
+
+/* Define to 1 if getusershell is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GETUSERSHELL
+
+/* Define to 1 if grantpt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GRANTPT
+
+/* Define to 1 if group_member is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_GROUP_MEMBER
+
+/* Define to 1 if initstat_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_INITSTAT_R
+
+/* Define to 1 if lchmod is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LCHMOD
+
+/* Define to 1 if lchown is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LCHOWN
+
+/* Define to 1 if link is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LINK
+
+/* Define to 1 if linkat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LINKAT
+
+/* Define to 1 if lseek is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LSEEK
+
+/* Define to 1 if lstat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_LSTAT
+
+/* Define to 1 if memmem is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MEMMEM
+
+/* Define to 1 if mempcpy is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MEMPCPY
+
+/* Define to 1 if memrchr is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MEMRCHR
+
+/* Define to 1 if mkdirat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKDIRAT
+
+/* Define to 1 if mkdtemp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKDTEMP
+
+/* Define to 1 if mkfifo is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKFIFO
+
+/* Define to 1 if mkfifoat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKFIFOAT
+
+/* Define to 1 if mknod is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKNOD
+
+/* Define to 1 if mknodat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKNODAT
+
+/* Define to 1 if mkostemp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKOSTEMP
+
+/* Define to 1 if mkostemps is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKOSTEMPS
+
+/* Define to 1 if mkstemp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKSTEMP
+
+/* Define to 1 if mkstemps is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_MKSTEMPS
+
+/* Define to 1 if openat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_OPENAT
+
+/* Define to 1 if pipe is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PIPE
+
+/* Define to 1 if pipe2 is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PIPE2
+
+/* Define to 1 if popen is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_POPEN
+
+/* Define to 1 if pread is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PREAD
+
+/* Define to 1 if pthread_sigmask is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PTHREAD_SIGMASK
+
+/* Define to 1 if ptsname is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PTSNAME
+
+/* Define to 1 if pwrite is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_PWRITE
+
+/* Define to 1 if random_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RANDOM_R
+
+/* Define to 1 if rawmemchr is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RAWMEMCHR
+
+/* Define to 1 if readlink is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_READLINK
+
+/* Define to 1 if readlinkat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_READLINKAT
+
+/* Define to 1 if realpath is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_REALPATH
+
+/* Define to 1 if renameat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RENAMEAT
+
+/* Define to 1 if rmdir is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RMDIR
+
+/* Define to 1 if rpmatch is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_RPMATCH
+
+/* Define to 1 if setenv is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETENV
+
+/* Define to 1 if setstate_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETSTATE_R
+
+/* Define to 1 if setusershell is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SETUSERSHELL
+
+/* Define to 1 if sigaction is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SIGACTION
+
+/* Define to 1 if sigaddset is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SIGADDSET
+
+/* Define to 1 if sigdelset is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SIGDELSET
+
+/* Define to 1 if sigemptyset is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SIGEMPTYSET
+
+/* Define to 1 if sigfillset is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SIGFILLSET
+
+/* Define to 1 if sigismember is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SIGISMEMBER
+
+/* Define to 1 if sigpending is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SIGPENDING
+
+/* Define to 1 if sigprocmask is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SIGPROCMASK
+
+/* Define to 1 if sleep is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SLEEP
+
+/* Define to 1 if snprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SNPRINTF
+
+/* Define to 1 if srandom_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SRANDOM_R
+
+/* Define to 1 if stat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STAT
+
+/* Define to 1 if stpcpy is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STPCPY
+
+/* Define to 1 if stpncpy is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STPNCPY
+
+/* Define to 1 if strcasestr is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRCASESTR
+
+/* Define to 1 if strchrnul is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRCHRNUL
+
+/* Define to 1 if strdup is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRDUP
+
+/* Define to 1 if strerror_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRERROR_R
+
+/* Define to 1 if strncat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRNCAT
+
+/* Define to 1 if strndup is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRNDUP
+
+/* Define to 1 if strnlen is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRNLEN
+
+/* Define to 1 if strpbrk is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRPBRK
+
+/* Define to 1 if strsep is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRSEP
+
+/* Define to 1 if strsignal is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRSIGNAL
+
+/* Define to 1 if strtod is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOD
+
+/* Define to 1 if strtok_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOK_R
+
+/* Define to 1 if strtoll is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOLL
+
+/* Define to 1 if strtoull is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRTOULL
+
+/* Define to 1 if strverscmp is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_STRVERSCMP
+
+/* Define to 1 if symlink is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SYMLINK
+
+/* Define to 1 if symlinkat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_SYMLINKAT
+
+/* Define to 1 if tmpfile is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TMPFILE
+
+/* Define to 1 if ttyname_r is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_TTYNAME_R
+
+/* Define to 1 if unlink is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UNLINK
+
+/* Define to 1 if unlinkat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UNLINKAT
+
+/* Define to 1 if unlockpt is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UNLOCKPT
+
+/* Define to 1 if unsetenv is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UNSETENV
+
+/* Define to 1 if usleep is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_USLEEP
+
+/* Define to 1 if utimensat is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_UTIMENSAT
+
+/* Define to 1 if vdprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_VDPRINTF
+
+/* Define to 1 if vsnprintf is declared even after undefining macros. */
+#undef HAVE_RAW_DECL_VSNPRINTF
+
+/* Define to 1 if _Exit is declared even after undefining macros. */
+#undef HAVE_RAW_DECL__EXIT
+
+/* Define to 1 if you have the `readlink' function. */
+#undef HAVE_READLINK
+
+/* Define to 1 if you have the `readlinkat' function. */
+#undef HAVE_READLINKAT
+
+/* Define to 1 if you have the `realpath' function. */
+#undef HAVE_REALPATH
+
+/* Define to 1 if you have the <search.h> header file. */
+#undef HAVE_SEARCH_H
+
+/* Define to 1 if you have the `setenv' function. */
+#undef HAVE_SETENV
+
+/* Define to 1 if you have the `setlocale' function. */
+#undef HAVE_SETLOCALE
+
+/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
+#undef HAVE_SIGNED_SIG_ATOMIC_T
+
+/* Define to 1 if 'wchar_t' is a signed integer type. */
+#undef HAVE_SIGNED_WCHAR_T
+
+/* Define to 1 if 'wint_t' is a signed integer type. */
+#undef HAVE_SIGNED_WINT_T
+
+/* Define to 1 if the system has the type `sigset_t'. */
+#undef HAVE_SIGSET_T
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strerror_r' function. */
+#undef HAVE_STRERROR_R
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/bitypes.h> header file. */
+#undef HAVE_SYS_BITYPES_H
+
+/* Define to 1 if you have the <sys/inttypes.h> header file. */
+#undef HAVE_SYS_INTTYPES_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the `tsearch' function. */
+#undef HAVE_TSEARCH
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to 1 if the system has the type `unsigned long long int'. */
+#undef HAVE_UNSIGNED_LONG_LONG_INT
+
+/* Define to 1 or 0, depending whether the compiler supports simple visibility
+   declarations. */
+#undef HAVE_VISIBILITY
+
+/* Define to 1 if you have the <wchar.h> header file. */
+#undef HAVE_WCHAR_H
+
+/* Define if you have the 'wchar_t' type. */
+#undef HAVE_WCHAR_T
+
+/* Define to 1 if you have the `wcrtomb' function. */
+#undef HAVE_WCRTOMB
+
+/* Define to 1 if you have the <winsock2.h> header file. */
+#undef HAVE_WINSOCK2_H
+
+/* Define to 1 if O_NOATIME works. */
+#undef HAVE_WORKING_O_NOATIME
+
+/* Define to 1 if O_NOFOLLOW works. */
+#undef HAVE_WORKING_O_NOFOLLOW
+
+/* Define to 1 if the system has the type `_Bool'. */
+#undef HAVE__BOOL
+
+/* Define to 1 if you have the `_NSGetExecutablePath' function. */
+#undef HAVE__NSGETEXECUTABLEPATH
+
+/* Define as const if the declaration of iconv() needs const. */
+#define ICONV_CONST const
+
+/* Define to the value of ${prefix}, as a string. */
+#undef INSTALLPREFIX
+
+/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
+   slash. */
+#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
+/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
+#undef MALLOC_0_IS_NONNULL
+
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'ptrdiff_t'. */
+#undef PTRDIFF_T_SUFFIX
+
+/* Define to 1 if readlink fails to recognize a trailing slash. */
+#undef READLINK_TRAILING_SLASH_BUG
+
+/* Define to 1 if stat needs help when passed a directory name with a trailing
+   slash */
+#undef REPLACE_FUNC_STAT_DIR
+
+/* Define to 1 if stat needs help when passed a file name with a trailing
+   slash */
+#undef REPLACE_FUNC_STAT_FILE
+
+/* Define to 1 if strerror(0) does not return a message implying success. */
+#undef REPLACE_STRERROR_0
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'sig_atomic_t'. */
+#undef SIG_ATOMIC_T_SUFFIX
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'size_t'. */
+#undef SIZE_T_SUFFIX
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+#undef STAT_MACROS_BROKEN
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Define to 1 if strerror_r returns char *. */
+#undef STRERROR_R_CHAR_P
+
+/* Define to the prefix of C symbols at the assembler and linker level, either
+   an underscore or empty. */
+#undef USER_LABEL_PREFIX
+
+/* Define to 1 if you want getc etc. to use unlocked I/O if available.
+   Unlocked I/O can improve performance in unithreaded apps, but it is not
+   safe for multithreaded apps. */
+#undef USE_UNLOCKED_IO
+
+/* Version number of package */
+#undef VERSION
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'wchar_t'. */
+#undef WCHAR_T_SUFFIX
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'wint_t'. */
+#undef WINT_T_SUFFIX
+
+/* Define if the machine's byte ordering is little endian. */
+#undef WORDS_LITTLEENDIAN
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* The _Noreturn keyword of draft C1X.  */
+#ifndef _Noreturn
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+      || 0x5110 <= __SUNPRO_C)
+#  define _Noreturn __attribute__ ((__noreturn__))
+# elif 1200 <= _MSC_VER
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn
+# endif
+#endif
+
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
+/* Define to 500 only on HP-UX. */
+#undef _XOPEN_SOURCE
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable general extensions on MacOS X.  */
+#ifndef _DARWIN_C_SOURCE
+# undef _DARWIN_C_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+#undef gid_t
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
+   the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
+   earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
+   __APPLE__ && __MACH__ test for MacOS X.
+   __APPLE_CC__ tests for the Apple compiler and its version.
+   __STDC_VERSION__ tests for the C99 mode.  */
+#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
+# define __GNUC_STDC_INLINE__ 1
+#endif
+
+/* Define to a type if <wchar.h> does not define. */
+#undef mbstate_t
+
+/* Define to the type of st_nlink in struct stat, or a supertype. */
+#undef nlink_t
+
+/* Define to the equivalent of the C99 'restrict' keyword, or to
+   nothing if this is not supported.  Do not define if restrict is
+   supported directly.  */
+#undef restrict
+/* Work around a bug in Sun C++: it does not support _Restrict or
+   __restrict__, even though the corresponding Sun C compiler ends up with
+   "#define restrict _Restrict" or "#define restrict __restrict__" in the
+   previous line.  Perhaps some future version of Sun C++ will work with
+   restrict; if so, hopefully it defines __RESTRICT like Sun C does.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT
+# define _Restrict
+# define __restrict__
+#endif
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#undef size_t
+
+/* Define as a signed type of the same size as size_t. */
+#undef ssize_t
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+#undef uid_t
+
+/* Define as a marker that can be attached to declarations that might not
+    be used.  This helps to reduce warnings, such as from
+    GCC -Wunused-parameter.  */
+#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+# define _GL_UNUSED __attribute__ ((__unused__))
+#else
+# define _GL_UNUSED
+#endif
+/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name
+   is a misnomer outside of parameter lists.  */
+#define _UNUSED_PARAMETER_ _GL_UNUSED
+
+/* The __pure__ attribute was added in gcc 2.96.  */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE /* empty */
+#endif
+
+/* The __const__ attribute was added in gcc 2.95.  */
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
+# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
+#else
+# define _GL_ATTRIBUTE_CONST /* empty */
+#endif
+
+
+
+/* On Windows, variables that may be in a DLL must be marked specially.  */
+#if defined _MSC_VER && defined _DLL
+# define DLL_VARIABLE __declspec (dllimport)
+#else
+# define DLL_VARIABLE
+#endif
+
diff --git a/third_party/iconv/config/windows/iconv.h b/third_party/iconv/config/windows/iconv.h
new file mode 100644
index 0000000..dec499d
--- /dev/null
+++ b/third_party/iconv/config/windows/iconv.h
@@ -0,0 +1,244 @@
+/* Copyright (C) 1999-2003, 2005-2006, 2008-2011 Free Software Foundation, Inc.
+   This file is part of the GNU LIBICONV Library.
+
+   The GNU LIBICONV Library is free software; you can redistribute it
+   and/or modify it under the terms of the GNU Library General Public
+   License as published by the Free Software Foundation; either version 2
+   of the License, or (at your option) any later version.
+
+   The GNU LIBICONV Library is distributed in the hope that it will be
+   useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU LIBICONV Library; see the file COPYING.LIB.
+   If not, write to the Free Software Foundation, Inc., 51 Franklin Street,
+   Fifth Floor, Boston, MA 02110-1301, USA.  */
+
+/* When installed, this file is called "iconv.h". */
+
+#ifndef _LIBICONV_H
+#define _LIBICONV_H
+
+#define _LIBICONV_VERSION 0x010E    /* version number: (major<<8) + minor */
+
+#define LIBICONV_DLL_EXPORTED
+extern LIBICONV_DLL_EXPORTED  int _libiconv_version; /* Likewise */
+
+/* We would like to #include any system header file which could define
+   iconv_t, 1. in order to eliminate the risk that the user gets compilation
+   errors because some other system header file includes /usr/include/iconv.h
+   which defines iconv_t or declares iconv after this file, 2. when compiling
+   for LIBICONV_PLUG, we need the proper iconv_t type in order to produce
+   binary compatible code.
+   But gcc's #include_next is not portable. Thus, once libiconv's iconv.h
+   has been installed in /usr/local/include, there is no way any more to
+   include the original /usr/include/iconv.h. We simply have to get away
+   without it.
+   Ad 1. The risk that a system header file does
+   #include "iconv.h"  or  #include_next "iconv.h"
+   is small. They all do #include <iconv.h>.
+   Ad 2. The iconv_t type is a pointer type in all cases I have seen. (It
+   has to be a scalar type because (iconv_t)(-1) is a possible return value
+   from iconv_open().) */
+
+/* Define iconv_t ourselves. */
+#undef iconv_t
+#define iconv_t libiconv_t
+typedef void* iconv_t;
+
+/* Get size_t declaration.
+   Get wchar_t declaration if it exists. */
+#include <stddef.h>
+
+/* Get errno declaration and values. */
+#include <errno.h>
+/* Some systems, like SunOS 4, don't have EILSEQ. Some systems, like BSD/OS,
+   have EILSEQ in a different header.  On these systems, define EILSEQ
+   ourselves. */
+#ifndef EILSEQ
+#define EILSEQ @EILSEQ@
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Allocates descriptor for code conversion from encoding ‘fromcode’ to
+   encoding ‘tocode’. */
+#ifndef LIBICONV_PLUG
+#define iconv_open libiconv_open
+#endif
+extern LIBICONV_DLL_EXPORTED iconv_t iconv_open (const char* tocode, const char* fromcode);
+
+/* Converts, using conversion descriptor ‘cd’, at most ‘*inbytesleft’ bytes
+   starting at ‘*inbuf’, writing at most ‘*outbytesleft’ bytes starting at
+   ‘*outbuf’.
+   Decrements ‘*inbytesleft’ and increments ‘*inbuf’ by the same amount.
+   Decrements ‘*outbytesleft’ and increments ‘*outbuf’ by the same amount. */
+#ifndef LIBICONV_PLUG
+#define iconv libiconv
+#endif
+extern LIBICONV_DLL_EXPORTED size_t iconv (iconv_t cd, const char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);
+
+/* Frees resources allocated for conversion descriptor ‘cd’. */
+#ifndef LIBICONV_PLUG
+#define iconv_close libiconv_close
+#endif
+extern LIBICONV_DLL_EXPORTED int iconv_close (iconv_t cd);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#ifndef LIBICONV_PLUG
+
+/* Nonstandard extensions. */
+
+#if USE_MBSTATE_T
+#if BROKEN_WCHAR_H
+/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
+   <wchar.h>.
+   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
+   included before <wchar.h>.  */
+#include <stddef.h>
+#include <stdio.h>
+#include <time.h>
+#endif
+#include <wchar.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* A type that holds all memory needed by a conversion descriptor.
+   A pointer to such an object can be used as an iconv_t. */
+typedef struct {
+  void* dummy1[28];
+#if USE_MBSTATE_T
+  mbstate_t dummy2;
+#endif
+} iconv_allocation_t;
+
+/* Allocates descriptor for code conversion from encoding ‘fromcode’ to
+   encoding ‘tocode’ into preallocated memory. Returns an error indicator
+   (0 or -1 with errno set). */
+#define iconv_open_into libiconv_open_into
+extern LIBICONV_DLL_EXPORTED int iconv_open_into (const char* tocode, const char* fromcode,
+                            iconv_allocation_t* resultp);
+
+/* Control of attributes. */
+#define iconvctl libiconvctl
+extern LIBICONV_DLL_EXPORTED int iconvctl (iconv_t cd, int request, void* argument);
+
+/* Hook performed after every successful conversion of a Unicode character. */
+typedef void (*iconv_unicode_char_hook) (unsigned int uc, void* data);
+/* Hook performed after every successful conversion of a wide character. */
+typedef void (*iconv_wide_char_hook) (wchar_t wc, void* data);
+/* Set of hooks. */
+struct iconv_hooks {
+  iconv_unicode_char_hook uc_hook;
+  iconv_wide_char_hook wc_hook;
+  void* data;
+};
+
+/* Fallback function.  Invoked when a small number of bytes could not be
+   converted to a Unicode character.  This function should process all
+   bytes from inbuf and may produce replacement Unicode characters by calling
+   the write_replacement callback repeatedly.  */
+typedef void (*iconv_unicode_mb_to_uc_fallback)
+             (const char* inbuf, size_t inbufsize,
+              void (*write_replacement) (const unsigned int *buf, size_t buflen,
+                                         void* callback_arg),
+              void* callback_arg,
+              void* data);
+/* Fallback function.  Invoked when a Unicode character could not be converted
+   to the target encoding.  This function should process the character and
+   may produce replacement bytes (in the target encoding) by calling the
+   write_replacement callback repeatedly.  */
+typedef void (*iconv_unicode_uc_to_mb_fallback)
+             (unsigned int code,
+              void (*write_replacement) (const char *buf, size_t buflen,
+                                         void* callback_arg),
+              void* callback_arg,
+              void* data);
+#if HAVE_WCHAR_T
+/* Fallback function.  Invoked when a number of bytes could not be converted to
+   a wide character.  This function should process all bytes from inbuf and may
+   produce replacement wide characters by calling the write_replacement
+   callback repeatedly.  */
+typedef void (*iconv_wchar_mb_to_wc_fallback)
+             (const char* inbuf, size_t inbufsize,
+              void (*write_replacement) (const wchar_t *buf, size_t buflen,
+                                         void* callback_arg),
+              void* callback_arg,
+              void* data);
+/* Fallback function.  Invoked when a wide character could not be converted to
+   the target encoding.  This function should process the character and may
+   produce replacement bytes (in the target encoding) by calling the
+   write_replacement callback repeatedly.  */
+typedef void (*iconv_wchar_wc_to_mb_fallback)
+             (wchar_t code,
+              void (*write_replacement) (const char *buf, size_t buflen,
+                                         void* callback_arg),
+              void* callback_arg,
+              void* data);
+#else
+/* If the wchar_t type does not exist, these two fallback functions are never
+   invoked.  Their argument list therefore does not matter.  */
+typedef void (*iconv_wchar_mb_to_wc_fallback) ();
+typedef void (*iconv_wchar_wc_to_mb_fallback) ();
+#endif
+/* Set of fallbacks. */
+struct iconv_fallbacks {
+  iconv_unicode_mb_to_uc_fallback mb_to_uc_fallback;
+  iconv_unicode_uc_to_mb_fallback uc_to_mb_fallback;
+  iconv_wchar_mb_to_wc_fallback mb_to_wc_fallback;
+  iconv_wchar_wc_to_mb_fallback wc_to_mb_fallback;
+  void* data;
+};
+
+/* Requests for iconvctl. */
+#define ICONV_TRIVIALP            0  /* int *argument */
+#define ICONV_GET_TRANSLITERATE   1  /* int *argument */
+#define ICONV_SET_TRANSLITERATE   2  /* const int *argument */
+#define ICONV_GET_DISCARD_ILSEQ   3  /* int *argument */
+#define ICONV_SET_DISCARD_ILSEQ   4  /* const int *argument */
+#define ICONV_SET_HOOKS           5  /* const struct iconv_hooks *argument */
+#define ICONV_SET_FALLBACKS       6  /* const struct iconv_fallbacks *argument */
+
+/* Listing of locale independent encodings. */
+#define iconvlist libiconvlist
+extern LIBICONV_DLL_EXPORTED void iconvlist (int (*do_one) (unsigned int namescount,
+                                      const char * const * names,
+                                      void* data),
+                       void* data);
+
+/* Canonicalize an encoding name.
+   The result is either a canonical encoding name, or name itself. */
+extern LIBICONV_DLL_EXPORTED const char * iconv_canonicalize (const char * name);
+
+/* Support for relocatable packages.  */
+
+/* Sets the original and the current installation prefix of the package.
+   Relocation simply replaces a pathname starting with the original prefix
+   by the corresponding pathname with the current prefix instead.  Both
+   prefixes should be directory names without trailing slash (i.e. use ""
+   instead of "/").  */
+extern LIBICONV_DLL_EXPORTED void libiconv_set_relocation_prefix (const char *orig_prefix,
+                                            const char *curr_prefix);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
+#endif /* _LIBICONV_H */
diff --git a/third_party/iconv/config/windows/localcharset.h b/third_party/iconv/config/windows/localcharset.h
new file mode 100644
index 0000000..4cdce22
--- /dev/null
+++ b/third_party/iconv/config/windows/localcharset.h
@@ -0,0 +1,44 @@
+/* Determine a canonical name for the current locale's character encoding.
+   Copyright (C) 2000-2003 Free Software Foundation, Inc.
+   This file is part of the GNU CHARSET Library.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU Library General Public License as published
+   by the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+   USA.  */
+
+#ifndef _LOCALCHARSET_H
+#define _LOCALCHARSET_H
+
+#define LIBCHARSET_DLL_EXPORTED
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/* Determine the current locale's character encoding, and canonicalize it
+   into one of the canonical names listed in config.charset.
+   The result must not be freed; it is statically allocated.
+   If the canonical name cannot be determined, the result is a non-canonical
+   name.  */
+extern LIBCHARSET_DLL_EXPORTED const char * locale_charset (void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* _LOCALCHARSET_H */
diff --git a/third_party/poppler/LICENSE b/third_party/poppler/LICENSE
new file mode 100644
index 0000000..d511905
--- /dev/null
+++ b/third_party/poppler/LICENSE
@@ -0,0 +1,339 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/third_party/poppler/README.chromium b/third_party/poppler/README.chromium
new file mode 100644
index 0000000..150023c
--- /dev/null
+++ b/third_party/poppler/README.chromium
@@ -0,0 +1,34 @@
+Name: libpoppler
+Short Name: libpoppler
+URL: git://git.freedesktop.org/git/poppler/poppler
+Version: 0.22.5
+License: GPLv2 / GPLv3
+License File: NOT_SHIPPED
+Security Critical: No
+
+Description:
+A PDF rendering library, currently used in the Skia gm for regression
+testing PDF output.
+This should ONLY be used for testing code.
+
+Local Modifications:
+No changes to files from the upstream repository.
+
+Platform-specific configuration files added to
+third_party/poppler/config/(platform):
+  config.h
+  poppler/poppler-config.h
+
+Autogenerated files (consistent across platforms) added to
+third_party/poppler:
+  cpp/poppler-version.h
+
+On Linux and Mac, these are the files generated by ./configure, using these
+flags:
+--disable-libopenjpeg --disable-libtiff --disable-largefile
+--disable-libjpeg --disable-libpng --disable-cairo-output
+--disable-poppler-glib --disable-poppler-qt4 --disable-gtk-test
+--disable-utils 
+On Windows, these are the files generated with CMake and selecting a minimal
+feature set.
+
diff --git a/third_party/poppler/config/linux/config.h b/third_party/poppler/config/linux/config.h
new file mode 100644
index 0000000..8f7edd7
--- /dev/null
+++ b/third_party/poppler/config/linux/config.h
@@ -0,0 +1,259 @@
+/* config.h.  Generated from config.h.in by configure.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Build against libcurl. */
+/* #undef ENABLE_LIBCURL */
+
+/* Use libjpeg instead of builtin jpeg decoder. */
+/* #undef ENABLE_LIBJPEG */
+
+/* Use libopenjpeg instead of builtin jpeg2000 decoder. */
+/* #undef ENABLE_LIBOPENJPEG */
+
+/* Build against libpng. */
+/* #undef ENABLE_LIBPNG */
+
+/* Build against libtiff. */
+/* #undef ENABLE_LIBTIFF */
+
+/* Do not hardcode the library location */
+/* #undef ENABLE_RELOCATABLE */
+
+/* Use zlib instead of builtin zlib decoder. */
+/* #undef ENABLE_ZLIB */
+
+/* Use cairo for rendering. */
+/* #undef HAVE_CAIRO */
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#define HAVE_DIRENT_H 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+/* #undef HAVE_FCNTL_H */
+
+/* Have FreeType2 include files */
+#define HAVE_FREETYPE_H 1
+
+/* Define to 1 if you have the `fseek64' function. */
+/* #undef HAVE_FSEEK64 */
+
+/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+#define HAVE_FSEEKO 1
+
+/* Define to 1 if you have the `ftell64' function. */
+/* #undef HAVE_FTELL64 */
+
+/* Defines if gettimeofday is available on your system */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Defines if gmtime_r is available on your system */
+#define HAVE_GMTIME_R 1
+
+/* Define if you have the iconv() function and it works. */
+#define HAVE_ICONV 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `tiff' library (-ltiff). */
+/* #undef HAVE_LIBTIFF */
+
+/* Define to 1 if you have the `z' library (-lz). */
+/* #undef HAVE_LIBZ */
+
+/* Defines if localtime_r is available on your system */
+#define HAVE_LOCALTIME_R 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
+/* Define to 1 if you have the `mkstemps' function. */
+#define HAVE_MKSTEMPS 1
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the <openjpeg.h> header file. */
+/* #undef HAVE_OPENJPEG_H */
+
+/* Define to 1 if you have the `popen' function. */
+#define HAVE_POPEN 1
+
+/* Define if you have POSIX threads libraries and header files. */
+#define HAVE_PTHREAD 1
+
+/* Defines if rand_r is available on your system */
+#define HAVE_RAND_R 1
+
+/* Use splash for rendering. */
+#define HAVE_SPLASH 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strcat_s' function. */
+/* #undef HAVE_STRCAT_S */
+
+/* Define to 1 if you have the `strcpy_s' function. */
+/* #undef HAVE_STRCPY_S */
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+/* #undef HAVE_SYS_MMAN_H */
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <tiffio.h> header file. */
+/* #undef HAVE_TIFFIO_H */
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the <zlib.h> header file. */
+/* #undef HAVE_ZLIB_H */
+
+/* Define as const if the declaration of iconv() needs const. */
+#define ICONV_CONST 
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#define LT_OBJDIR ".libs/"
+
+/* Enable multithreading support. */
+#define MULTITHREADED 1
+
+/* Generate OPI comments in PS output. */
+#define OPI_SUPPORT 1
+
+/* Name of package */
+#define PACKAGE "poppler"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=poppler"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "poppler"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "poppler 0.22.5"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "poppler"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "0.22.5"
+
+/* Poppler data dir */
+#define POPPLER_DATADIR "/usr/local/share/poppler"
+
+/* Support for curl based doc builder is compiled in. */
+/* #undef POPPLER_HAS_CURL_SUPPORT */
+
+/* Defines the poppler version */
+#define POPPLER_VERSION "0.22.5"
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+/* #undef PTHREAD_CREATE_JOINABLE */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Enable word list support. */
+#define TEXTOUT_WORD_LIST 1
+
+/* Defines if use cms */
+/* #undef USE_CMS */
+
+/* Use fixed point arithmetic in the Splash backend */
+/* #undef USE_FIXEDPOINT */
+
+/* Use single precision arithmetic in the Splash backend */
+/* #undef USE_FLOAT */
+
+/* Defines if use lcms1 */
+/* #undef USE_LCMS1 */
+
+/* Version number of package */
+#define VERSION "0.22.5"
+
+/* Use fontconfig font configuration backend */
+#define WITH_FONTCONFIGURATION_FONTCONFIG 1
+
+/* Use win32 font configuration backend */
+/* #undef WITH_FONTCONFIGURATION_WIN32 */
+
+/* OpenJPEG with the OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG flag. */
+/* #undef WITH_OPENJPEG_IGNORE_PCLR_CMAP_CDEF_FLAG */
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* #  undef WORDS_BIGENDIAN */
+# endif
+#endif
+
+/* Define to 1 if the X Window System is missing or not being used. */
+/* #undef X_DISPLAY_MISSING */
+
+/*
+ * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
+ * headers and I'm too lazy to write a configure test as long as only
+ * unixware is related
+ */
+#ifdef _UNIXWARE
+#define HAVE_BOOLEAN
+#endif
+
+
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
+/* #undef _LARGEFILE_SOURCE */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
diff --git a/third_party/poppler/config/linux/poppler-config.h b/third_party/poppler/config/linux/poppler-config.h
new file mode 100644
index 0000000..eda28fb
--- /dev/null
+++ b/third_party/poppler/config/linux/poppler-config.h
@@ -0,0 +1,174 @@
+/* poppler/poppler-config.h.  Generated from poppler-config.h.in by configure.  */
+//================================================= -*- mode: c++ -*- ====
+//
+// poppler-config.h
+//
+// Copyright 1996-2011 Glyph & Cog, LLC
+//
+//========================================================================
+
+#ifndef POPPLER_CONFIG_H
+#define POPPLER_CONFIG_H
+
+// We duplicate some of the config.h #define's here since they are
+// used in some of the header files we install.  The #ifndef/#endif
+// around #undef look odd, but it's to silence warnings about
+// redefining those symbols.
+
+/* Defines the poppler version. */
+#ifndef POPPLER_VERSION
+#define POPPLER_VERSION "0.22.5"
+#endif
+
+/* Enable multithreading support. */
+#ifndef MULTITHREADED
+#define MULTITHREADED 1
+#endif
+
+/* Use fixedpoint. */
+#ifndef USE_FIXEDPOINT
+/* #undef USE_FIXEDPOINT */
+#endif
+
+/* Use single precision arithmetic in the Splash backend */
+#ifndef USE_FLOAT
+/* #undef USE_FLOAT */
+#endif
+
+/* Include support for OPI comments. */
+#ifndef OPI_SUPPORT
+#define OPI_SUPPORT 1
+#endif
+
+/* Enable word list support. */
+#ifndef TEXTOUT_WORD_LIST
+#define TEXTOUT_WORD_LIST 1
+#endif
+
+/* Support for curl is compiled in. */
+#ifndef POPPLER_HAS_CURL_SUPPORT
+/* #undef POPPLER_HAS_CURL_SUPPORT */
+#endif
+
+/* Use libjpeg instead of builtin jpeg decoder. */
+#ifndef ENABLE_LIBJPEG
+/* #undef ENABLE_LIBJPEG */
+#endif
+
+/* Build against libtiff. */
+#ifndef ENABLE_LIBTIFF
+/* #undef ENABLE_LIBTIFF */
+#endif
+
+/* Build against libpng. */
+#ifndef ENABLE_LIBPNG
+/* #undef ENABLE_LIBPNG */
+#endif
+
+/* Use zlib instead of builtin zlib decoder. */
+#ifndef ENABLE_ZLIB
+/* #undef ENABLE_ZLIB */
+#endif
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_DIRENT_H
+#define HAVE_DIRENT_H 1
+#endif
+
+/* Defines if gettimeofday is available on your system */
+#ifndef HAVE_GETTIMEOFDAY
+#define HAVE_GETTIMEOFDAY 1
+#endif
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#ifndef HAVE_NDIR_H
+/* #undef HAVE_NDIR_H */
+#endif
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_SYS_DIR_H
+/* #undef HAVE_SYS_DIR_H */
+#endif
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_SYS_NDIR_H
+/* #undef HAVE_SYS_NDIR_H */
+#endif
+
+/* Have FreeType2 include files */
+#ifndef HAVE_FREETYPE_H
+#define HAVE_FREETYPE_H 1
+#endif
+
+/* Defines if use cms */
+#ifndef USE_CMS
+/* #undef USE_CMS */
+#endif
+
+// Also, there are preprocessor symbols in the header files
+// that are used but never defined when building poppler using configure
+// or cmake: DISABLE_OUTLINE, DEBUG_MEM, SPLASH_CMYK, HAVE_T1LIB_H,
+// ENABLE_PLUGINS, DEBUG_FORMS, HAVE_FREETYPE_FREETYPE_H
+
+//------------------------------------------------------------------------
+// version
+//------------------------------------------------------------------------
+
+// copyright notice
+#define popplerCopyright "Copyright 2005-2013 The Poppler Developers - http://poppler.freedesktop.org"
+#define xpdfCopyright "Copyright 1996-2011 Glyph & Cog, LLC"
+
+//------------------------------------------------------------------------
+// popen
+//------------------------------------------------------------------------
+
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+#define popen _popen
+#define pclose _pclose
+#endif
+
+#if defined(VMS) || defined(VMCMS) || defined(DOS) || defined(OS2) || defined(__EMX__) || defined(_WIN32) || defined(__DJGPP__) || defined(MACOS)
+#define POPEN_READ_MODE "rb"
+#else
+#define POPEN_READ_MODE "r"
+#endif
+
+//------------------------------------------------------------------------
+// Win32 stuff
+//------------------------------------------------------------------------
+
+#if defined(_WIN32) && !defined(_MSC_VER)
+#include <windef.h>
+#else
+#define CDECL
+#endif
+
+#if defined(_WIN32)
+#ifdef _MSC_VER
+#define strtok_r strtok_s
+#elif __MINGW32__ && !defined(__WINPTHREADS_VERSION)
+char * strtok_r (char *s, const char *delim, char **save_ptr);
+#endif
+#endif
+
+//------------------------------------------------------------------------
+// Compiler
+//------------------------------------------------------------------------
+
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+#define GCC_PRINTF_FORMAT(fmt_index, va_index) \
+	__attribute__((__format__(__printf__, fmt_index, va_index)))
+#else
+#define GCC_PRINTF_FORMAT(fmt_index, va_index)
+#endif
+
+#if defined(_MSC_VER)
+#define fmax(a, b) max(a, b)
+#define fmin(a, b) min(a, b)
+#endif
+
+
+#endif /* POPPLER_CONFIG_H */
diff --git a/third_party/poppler/config/mac/config.h b/third_party/poppler/config/mac/config.h
new file mode 100644
index 0000000..b903716
--- /dev/null
+++ b/third_party/poppler/config/mac/config.h
@@ -0,0 +1,259 @@
+/* config.h.  Generated from config.h.in by configure.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Build against libcurl. */
+/* #undef ENABLE_LIBCURL */
+
+/* Use libjpeg instead of builtin jpeg decoder. */
+/* #undef ENABLE_LIBJPEG */
+
+/* Use libopenjpeg instead of builtin jpeg2000 decoder. */
+/* #undef ENABLE_LIBOPENJPEG */
+
+/* Build against libpng. */
+/* #undef ENABLE_LIBPNG */
+
+/* Build against libtiff. */
+/* #undef ENABLE_LIBTIFF */
+
+/* Do not hardcode the library location */
+/* #undef ENABLE_RELOCATABLE */
+
+/* Use zlib instead of builtin zlib decoder. */
+/* #undef ENABLE_ZLIB */
+
+/* Use cairo for rendering. */
+/* #undef HAVE_CAIRO */
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#define HAVE_DIRENT_H 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+/* #undef HAVE_FCNTL_H */
+
+/* Have FreeType2 include files */
+#define HAVE_FREETYPE_H 1
+
+/* Define to 1 if you have the `fseek64' function. */
+/* #undef HAVE_FSEEK64 */
+
+/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+#define HAVE_FSEEKO 1
+
+/* Define to 1 if you have the `ftell64' function. */
+/* #undef HAVE_FTELL64 */
+
+/* Defines if gettimeofday is available on your system */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Defines if gmtime_r is available on your system */
+#define HAVE_GMTIME_R 1
+
+/* Define if you have the iconv() function and it works. */
+#define HAVE_ICONV 0
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `tiff' library (-ltiff). */
+/* #undef HAVE_LIBTIFF */
+
+/* Define to 1 if you have the `z' library (-lz). */
+/* #undef HAVE_LIBZ */
+
+/* Defines if localtime_r is available on your system */
+#define HAVE_LOCALTIME_R 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
+/* Define to 1 if you have the `mkstemps' function. */
+#define HAVE_MKSTEMPS 1
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the <openjpeg.h> header file. */
+/* #undef HAVE_OPENJPEG_H */
+
+/* Define to 1 if you have the `popen' function. */
+#define HAVE_POPEN 1
+
+/* Define if you have POSIX threads libraries and header files. */
+#define HAVE_PTHREAD 1
+
+/* Defines if rand_r is available on your system */
+#define HAVE_RAND_R 1
+
+/* Use splash for rendering. */
+#define HAVE_SPLASH 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strcat_s' function. */
+/* #undef HAVE_STRCAT_S */
+
+/* Define to 1 if you have the `strcpy_s' function. */
+/* #undef HAVE_STRCPY_S */
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+/* #undef HAVE_SYS_MMAN_H */
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <tiffio.h> header file. */
+/* #undef HAVE_TIFFIO_H */
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the <zlib.h> header file. */
+/* #undef HAVE_ZLIB_H */
+
+/* Define as const if the declaration of iconv() needs const. */
+#define ICONV_CONST 
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#define LT_OBJDIR ".libs/"
+
+/* Enable multithreading support. */
+#define MULTITHREADED 1
+
+/* Generate OPI comments in PS output. */
+#define OPI_SUPPORT 1
+
+/* Name of package */
+#define PACKAGE "poppler"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=poppler"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "poppler"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "poppler 0.22.5"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "poppler"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "0.22.5"
+
+/* Poppler data dir */
+#define POPPLER_DATADIR "/usr/local/share/poppler"
+
+/* Support for curl based doc builder is compiled in. */
+/* #undef POPPLER_HAS_CURL_SUPPORT */
+
+/* Defines the poppler version */
+#define POPPLER_VERSION "0.22.5"
+
+/* Define to necessary symbol if this constant uses a non-standard name on
+   your system. */
+/* #undef PTHREAD_CREATE_JOINABLE */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Enable word list support. */
+#define TEXTOUT_WORD_LIST 1
+
+/* Defines if use cms */
+/* #undef USE_CMS */
+
+/* Use fixed point arithmetic in the Splash backend */
+/* #undef USE_FIXEDPOINT */
+
+/* Use single precision arithmetic in the Splash backend */
+/* #undef USE_FLOAT */
+
+/* Defines if use lcms1 */
+/* #undef USE_LCMS1 */
+
+/* Version number of package */
+#define VERSION "0.22.5"
+
+/* Use fontconfig font configuration backend */
+#define WITH_FONTCONFIGURATION_FONTCONFIG 1
+
+/* Use win32 font configuration backend */
+/* #undef WITH_FONTCONFIGURATION_WIN32 */
+
+/* OpenJPEG with the OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG flag. */
+/* #undef WITH_OPENJPEG_IGNORE_PCLR_CMAP_CDEF_FLAG */
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* #  undef WORDS_BIGENDIAN */
+# endif
+#endif
+
+/* Define to 1 if the X Window System is missing or not being used. */
+#define X_DISPLAY_MISSING 1
+
+/*
+ * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
+ * headers and I'm too lazy to write a configure test as long as only
+ * unixware is related
+ */
+#ifdef _UNIXWARE
+#define HAVE_BOOLEAN
+#endif
+
+
+/* Enable large inode numbers on Mac OS X 10.5.  */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
+/* #undef _LARGEFILE_SOURCE */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
diff --git a/third_party/poppler/config/mac/poppler-config.h b/third_party/poppler/config/mac/poppler-config.h
new file mode 100644
index 0000000..eda28fb
--- /dev/null
+++ b/third_party/poppler/config/mac/poppler-config.h
@@ -0,0 +1,174 @@
+/* poppler/poppler-config.h.  Generated from poppler-config.h.in by configure.  */
+//================================================= -*- mode: c++ -*- ====
+//
+// poppler-config.h
+//
+// Copyright 1996-2011 Glyph & Cog, LLC
+//
+//========================================================================
+
+#ifndef POPPLER_CONFIG_H
+#define POPPLER_CONFIG_H
+
+// We duplicate some of the config.h #define's here since they are
+// used in some of the header files we install.  The #ifndef/#endif
+// around #undef look odd, but it's to silence warnings about
+// redefining those symbols.
+
+/* Defines the poppler version. */
+#ifndef POPPLER_VERSION
+#define POPPLER_VERSION "0.22.5"
+#endif
+
+/* Enable multithreading support. */
+#ifndef MULTITHREADED
+#define MULTITHREADED 1
+#endif
+
+/* Use fixedpoint. */
+#ifndef USE_FIXEDPOINT
+/* #undef USE_FIXEDPOINT */
+#endif
+
+/* Use single precision arithmetic in the Splash backend */
+#ifndef USE_FLOAT
+/* #undef USE_FLOAT */
+#endif
+
+/* Include support for OPI comments. */
+#ifndef OPI_SUPPORT
+#define OPI_SUPPORT 1
+#endif
+
+/* Enable word list support. */
+#ifndef TEXTOUT_WORD_LIST
+#define TEXTOUT_WORD_LIST 1
+#endif
+
+/* Support for curl is compiled in. */
+#ifndef POPPLER_HAS_CURL_SUPPORT
+/* #undef POPPLER_HAS_CURL_SUPPORT */
+#endif
+
+/* Use libjpeg instead of builtin jpeg decoder. */
+#ifndef ENABLE_LIBJPEG
+/* #undef ENABLE_LIBJPEG */
+#endif
+
+/* Build against libtiff. */
+#ifndef ENABLE_LIBTIFF
+/* #undef ENABLE_LIBTIFF */
+#endif
+
+/* Build against libpng. */
+#ifndef ENABLE_LIBPNG
+/* #undef ENABLE_LIBPNG */
+#endif
+
+/* Use zlib instead of builtin zlib decoder. */
+#ifndef ENABLE_ZLIB
+/* #undef ENABLE_ZLIB */
+#endif
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_DIRENT_H
+#define HAVE_DIRENT_H 1
+#endif
+
+/* Defines if gettimeofday is available on your system */
+#ifndef HAVE_GETTIMEOFDAY
+#define HAVE_GETTIMEOFDAY 1
+#endif
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#ifndef HAVE_NDIR_H
+/* #undef HAVE_NDIR_H */
+#endif
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_SYS_DIR_H
+/* #undef HAVE_SYS_DIR_H */
+#endif
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_SYS_NDIR_H
+/* #undef HAVE_SYS_NDIR_H */
+#endif
+
+/* Have FreeType2 include files */
+#ifndef HAVE_FREETYPE_H
+#define HAVE_FREETYPE_H 1
+#endif
+
+/* Defines if use cms */
+#ifndef USE_CMS
+/* #undef USE_CMS */
+#endif
+
+// Also, there are preprocessor symbols in the header files
+// that are used but never defined when building poppler using configure
+// or cmake: DISABLE_OUTLINE, DEBUG_MEM, SPLASH_CMYK, HAVE_T1LIB_H,
+// ENABLE_PLUGINS, DEBUG_FORMS, HAVE_FREETYPE_FREETYPE_H
+
+//------------------------------------------------------------------------
+// version
+//------------------------------------------------------------------------
+
+// copyright notice
+#define popplerCopyright "Copyright 2005-2013 The Poppler Developers - http://poppler.freedesktop.org"
+#define xpdfCopyright "Copyright 1996-2011 Glyph & Cog, LLC"
+
+//------------------------------------------------------------------------
+// popen
+//------------------------------------------------------------------------
+
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+#define popen _popen
+#define pclose _pclose
+#endif
+
+#if defined(VMS) || defined(VMCMS) || defined(DOS) || defined(OS2) || defined(__EMX__) || defined(_WIN32) || defined(__DJGPP__) || defined(MACOS)
+#define POPEN_READ_MODE "rb"
+#else
+#define POPEN_READ_MODE "r"
+#endif
+
+//------------------------------------------------------------------------
+// Win32 stuff
+//------------------------------------------------------------------------
+
+#if defined(_WIN32) && !defined(_MSC_VER)
+#include <windef.h>
+#else
+#define CDECL
+#endif
+
+#if defined(_WIN32)
+#ifdef _MSC_VER
+#define strtok_r strtok_s
+#elif __MINGW32__ && !defined(__WINPTHREADS_VERSION)
+char * strtok_r (char *s, const char *delim, char **save_ptr);
+#endif
+#endif
+
+//------------------------------------------------------------------------
+// Compiler
+//------------------------------------------------------------------------
+
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+#define GCC_PRINTF_FORMAT(fmt_index, va_index) \
+	__attribute__((__format__(__printf__, fmt_index, va_index)))
+#else
+#define GCC_PRINTF_FORMAT(fmt_index, va_index)
+#endif
+
+#if defined(_MSC_VER)
+#define fmax(a, b) max(a, b)
+#define fmin(a, b) min(a, b)
+#endif
+
+
+#endif /* POPPLER_CONFIG_H */
diff --git a/third_party/poppler/config/poppler-version.h b/third_party/poppler/config/poppler-version.h
new file mode 100644
index 0000000..cc0822e
--- /dev/null
+++ b/third_party/poppler/config/poppler-version.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2009, Pino Toscano <pino@kde.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef POPPLER_VERSION_H
+#define POPPLER_VERSION_H
+
+#include "poppler-global.h"
+
+#define POPPLER_VERSION "0.22.5"
+#define POPPLER_VERSION_MAJOR 0
+#define POPPLER_VERSION_MINOR 22
+#define POPPLER_VERSION_MICRO 5
+
+namespace poppler
+{
+
+POPPLER_CPP_EXPORT std::string version_string();
+POPPLER_CPP_EXPORT unsigned int version_major();
+POPPLER_CPP_EXPORT unsigned int version_minor();
+POPPLER_CPP_EXPORT unsigned int version_micro();
+
+}
+
+#endif
diff --git a/third_party/poppler/config/windows/config.h b/third_party/poppler/config/windows/config.h
new file mode 100755
index 0000000..846f7a4
--- /dev/null
+++ b/third_party/poppler/config/windows/config.h
@@ -0,0 +1,225 @@
+/* config.h.  Generated from config.h.cmake by cmake.  */
+
+/* Build against libcurl. */
+/* #undef ENABLE_LIBCURL */
+
+/* Use libjpeg instead of builtin jpeg decoder. */
+/* #undef ENABLE_LIBJPEG */
+
+/* Use libopenjpeg instead of builtin jpeg2000 decoder. */
+/* #undef ENABLE_LIBOPENJPEG */
+
+/* Build against libtiff. */
+/* #undef ENABLE_LIBTIFF */
+
+/* Build against libpng. */
+/* #undef ENABLE_LIBPNG */
+
+/* Do not hardcode the library location */
+#define ENABLE_RELOCATABLE 1
+
+/* Use zlib instead of builtin zlib decoder. */
+/* #undef ENABLE_ZLIB */
+
+/* Use cairo for rendering. */
+/* #undef HAVE_CAIRO */
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_DIRENT_H */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+/* #undef HAVE_DLFCN_H */
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Have FreeType2 include files */
+#define HAVE_FREETYPE_H 1
+
+/* Define to 1 if you have the `fseek64' function. */
+/* #undef HAVE_FSEEK64 */
+
+/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+/* #undef HAVE_FSEEKO */
+
+/* Define to 1 if you have the `ftell64' function. */
+/* #undef HAVE_FTELL64 */
+
+/* Defines if gettimeofday is available on your system */
+/* #undef HAVE_GETTIMEOFDAY */
+
+/* Defines if gmtime_r is available on your system */
+/* #undef HAVE_GMTIME_R */
+
+/* Define if you have the iconv() function and it works. */
+/* #undef HAVE_ICONV */
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+/* #undef HAVE_INTTYPES_H */
+
+/* Define to 1 if you have the `openjpeg' library (-lopenjpeg). */
+/* #undef HAVE_LIBOPENJPEG */
+
+/* Define to 1 if you have the `z' library (-lz). */
+/* #undef HAVE_LIBZ */
+
+/* Defines if localtime_r is available on your system */
+/* #undef HAVE_LOCALTIME_R */
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `mkstemp' function. */
+/* #undef HAVE_MKSTEMP */
+
+/* Define to 1 if you have the `mkstemps' function. */
+/* #undef HAVE_MKSTEMPS */
+
+/* Define to 1 if you have the `rand_r' function. */
+/* #undef HAVE_RAND_R */
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+/* #undef HAVE_NDIR_H */
+
+/* Define to 1 if you have the <openjpeg.h> header file. */
+/* #undef HAVE_OPENJPEG_H */
+
+/* Define to 1 if you have the `popen' function. */
+/* #undef HAVE_POPEN */
+
+/* Define if you have POSIX threads libraries and header files. */
+/* #undef HAVE_PTHREAD */
+
+/* Use splash for rendering. */
+#define HAVE_SPLASH 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+/* #undef HAVE_STRINGS_H */
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+/* #undef HAVE_SYS_MMAN_H */
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+/* #undef HAVE_UNISTD_H */
+
+/* Define to 1 if you have the <zlib.h> header file. */
+/* #undef HAVE_ZLIB_H */
+
+/* Define to 1 if you have a big endian machine */
+/* #undef WORDS_BIGENDIAN */
+
+/* Define as const if the declaration of iconv() needs const. */
+#define ICONV_CONST const
+
+/* Enable multithreading support. */
+#define MULTITHREADED 1
+
+/* Generate OPI comments in PS output. */
+#define OPI_SUPPORT 1
+
+/* Name of package */
+#define PACKAGE "poppler"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=poppler"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "poppler"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "poppler 0.22.5"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "poppler"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "0.22.5"
+
+/* Poppler data dir */
+#define POPPLER_DATADIR "C:/Program Files (x86)/poppler/share/poppler"
+
+/* Support for curl based doc builder is compiled in. */
+/* #undef POPPLER_HAS_CURL_SUPPORT */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Enable word list support. */
+#define TEXTOUT_WORD_LIST 1
+
+/* Defines if use cms */
+/* #undef USE_CMS */
+
+/* Use fixed point arithmetic in the Splash backend */
+/* #undef USE_FIXEDPOINT */
+
+/* Use single precision arithmetic in the Splash backend */
+/* #undef USE_FLOAT */
+
+/* Defines if use lcms1 */
+/* #undef USE_LCMS1 */
+
+/* Version number of package */
+#define VERSION "0.22.5"
+
+/* Use fontconfig font configuration backend */
+/* #undef WITH_FONTCONFIGURATION_FONTCONFIG */
+
+/* Use win32 font configuration backend */
+#define WITH_FONTCONFIGURATION_WIN32 1
+
+/* OpenJPEG with the OPJ_DPARAMETERS_IGNORE_PCLR_CMAP_CDEF_FLAG flag */
+/* #undef WITH_OPENJPEG_IGNORE_PCLR_CMAP_CDEF_FLAG */
+
+/* Define to 1 if the X Window System is missing or not being used. */
+/* #undef X_DISPLAY_MISSING */
+
+/*
+ * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
+ * headers and I'm too lazy to write a configure test as long as only
+ * unixware is related
+ */
+#ifdef _UNIXWARE
+#define HAVE_BOOLEAN
+#endif
+
+/* MS has defined snprintf as deprecated */
+#ifdef _MSC_VER
+#define snprintf _snprintf
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
+/* #undef _LARGEFILE_SOURCE */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
diff --git a/third_party/poppler/config/windows/poppler-config.h b/third_party/poppler/config/windows/poppler-config.h
new file mode 100755
index 0000000..985081f
--- /dev/null
+++ b/third_party/poppler/config/windows/poppler-config.h
@@ -0,0 +1,173 @@
+//================================================= -*- mode: c++ -*- ====
+//
+// poppler-config.h
+//
+// Copyright 1996-2011 Glyph & Cog, LLC
+//
+//========================================================================
+
+#ifndef POPPLER_CONFIG_H
+#define POPPLER_CONFIG_H
+
+// We duplicate some of the config.h #define's here since they are
+// used in some of the header files we install.  The #ifndef/#endif
+// around #undef look odd, but it's to silence warnings about
+// redefining those symbols.
+
+/* Defines the poppler version */
+#ifndef POPPLER_VERSION
+#define POPPLER_VERSION "0.22.5"
+#endif
+
+/* Enable multithreading support. */
+#ifndef MULTITHREADED
+#define MULTITHREADED 1
+#endif
+
+/* Use fixedpoint. */
+#ifndef USE_FIXEDPOINT
+/* #undef USE_FIXEDPOINT */
+#endif
+
+/* Use single precision arithmetic in the Splash backend */
+#ifndef USE_FLOAT
+/* #undef USE_FLOAT */
+#endif
+
+/* Include support for OPI comments. */
+#ifndef OPI_SUPPORT
+#define OPI_SUPPORT 1
+#endif
+
+/* Enable word list support. */
+#ifndef TEXTOUT_WORD_LIST
+#define TEXTOUT_WORD_LIST 1
+#endif
+
+/* Support for curl is compiled in. */
+#ifndef POPPLER_HAS_CURL_SUPPORT
+/* #undef POPPLER_HAS_CURL_SUPPORT */
+#endif
+
+/* Use libjpeg instead of builtin jpeg decoder. */
+#ifndef ENABLE_LIBJPEG
+/* #undef ENABLE_LIBJPEG */
+#endif
+
+/* Build against libtiff. */
+#ifndef ENABLE_LIBTIFF
+/* #undef ENABLE_LIBTIFF */
+#endif
+
+/* Build against libpng. */
+#ifndef ENABLE_LIBPNG
+/* #undef ENABLE_LIBPNG */
+#endif
+
+/* Use zlib instead of builtin zlib decoder. */
+#ifndef ENABLE_ZLIB
+/* #undef ENABLE_ZLIB */
+#endif
+
+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_DIRENT_H
+/* #undef HAVE_DIRENT_H */
+#endif
+
+/* Defines if gettimeofday is available on your system */
+#ifndef HAVE_GETTIMEOFDAY
+/* #undef HAVE_GETTIMEOFDAY */
+#endif
+
+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#ifndef HAVE_NDIR_H
+/* #undef HAVE_NDIR_H */
+#endif
+
+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_SYS_DIR_H
+/* #undef HAVE_SYS_DIR_H */
+#endif
+
+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
+   */
+#ifndef HAVE_SYS_NDIR_H
+/* #undef HAVE_SYS_NDIR_H */
+#endif
+
+/* Have FreeType2 include files */
+#ifndef HAVE_FREETYPE_H
+#define HAVE_FREETYPE_H 1
+#endif
+
+/* Defines if use cms */
+#ifndef USE_CMS
+/* #undef USE_CMS */
+#endif
+
+// Also, there are preprocessor symbols in the header files
+// that are used but never defined when building poppler using configure
+// or cmake: DISABLE_OUTLINE, DEBUG_MEM, SPLASH_CMYK, HAVE_T1LIB_H,
+// ENABLE_PLUGINS, DEBUG_FORMS, HAVE_FREETYPE_FREETYPE_H
+
+//------------------------------------------------------------------------
+// version
+//------------------------------------------------------------------------
+
+// copyright notice
+#define popplerCopyright "Copyright 2005-2013 The Poppler Developers - http://poppler.freedesktop.org"
+#define xpdfCopyright "Copyright 1996-2011 Glyph & Cog, LLC"
+
+//------------------------------------------------------------------------
+// popen
+//------------------------------------------------------------------------
+
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+#define popen _popen
+#define pclose _pclose
+#endif
+
+#if defined(VMS) || defined(VMCMS) || defined(DOS) || defined(OS2) || defined(__EMX__) || defined(_WIN32) || defined(__DJGPP__) || defined(MACOS)
+#define POPEN_READ_MODE "rb"
+#else
+#define POPEN_READ_MODE "r"
+#endif
+
+//------------------------------------------------------------------------
+// Win32 stuff
+//------------------------------------------------------------------------
+
+#if defined(_WIN32) && !defined(_MSC_VER)
+#include <windef.h>
+#else
+#define CDECL
+#endif
+
+#if defined(_WIN32)
+#ifdef _MSC_VER
+#define strtok_r strtok_s
+#elif __MINGW32__ && !defined(__WINPTHREADS_VERSION)
+char * strtok_r (char *s, const char *delim, char **save_ptr);
+#endif
+#endif
+
+//------------------------------------------------------------------------
+// Compiler
+//------------------------------------------------------------------------
+
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+#define GCC_PRINTF_FORMAT(fmt_index, va_index) \
+	__attribute__((__format__(__printf__, fmt_index, va_index)))
+#else
+#define GCC_PRINTF_FORMAT(fmt_index, va_index)
+#endif
+
+#if defined(_MSC_VER)
+#define fmax(a, b) max(a, b)
+#define fmin(a, b) min(a, b)
+#endif
+
+
+#endif /* POPPLER_CONFIG_H */
