Index: src/vendor/autoload.php
===================================================================
--- src/vendor/autoload.php	(nonexistent)
+++ src/vendor/autoload.php	(working copy)
@@ -0,0 +1,7 @@
+<?php
+
+// autoload.php @generated by Composer
+
+require_once __DIR__ . '/composer' . '/autoload_real.php';
+
+return ComposerAutoloaderInit710c4d189b643946867e98aea6152d0f::getLoader();
Index: src/vendor/autoload_52.php
===================================================================
--- src/vendor/autoload_52.php	(nonexistent)
+++ src/vendor/autoload_52.php	(working copy)
@@ -0,0 +1,7 @@
+<?php
+
+// autoload_52.php generated by xrstf/composer-php52
+
+require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
+
+return ComposerAutoloaderInitfe3f8ca3b3ba0d6b3d6b2528450949a7::getLoader();
Index: src/vendor/composer/ClassLoader.php
===================================================================
--- src/vendor/composer/ClassLoader.php	(nonexistent)
+++ src/vendor/composer/ClassLoader.php	(working copy)
@@ -0,0 +1,413 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ *     Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Autoload;
+
+/**
+ * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
+ *
+ *     $loader = new \Composer\Autoload\ClassLoader();
+ *
+ *     // register classes with namespaces
+ *     $loader->add('Symfony\Component', __DIR__.'/component');
+ *     $loader->add('Symfony',           __DIR__.'/framework');
+ *
+ *     // activate the autoloader
+ *     $loader->register();
+ *
+ *     // to enable searching the include path (eg. for PEAR packages)
+ *     $loader->setUseIncludePath(true);
+ *
+ * In this example, if you try to use a class in the Symfony\Component
+ * namespace or one of its children (Symfony\Component\Console for instance),
+ * the autoloader will first look for the class under the component/
+ * directory, and it will then fallback to the framework/ directory if not
+ * found before giving up.
+ *
+ * This class is loosely based on the Symfony UniversalClassLoader.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ * @see    http://www.php-fig.org/psr/psr-0/
+ * @see    http://www.php-fig.org/psr/psr-4/
+ */
+class ClassLoader
+{
+    // PSR-4
+    private $prefixLengthsPsr4 = array();
+    private $prefixDirsPsr4 = array();
+    private $fallbackDirsPsr4 = array();
+
+    // PSR-0
+    private $prefixesPsr0 = array();
+    private $fallbackDirsPsr0 = array();
+
+    private $useIncludePath = false;
+    private $classMap = array();
+
+    private $classMapAuthoritative = false;
+
+    public function getPrefixes()
+    {
+        if (!empty($this->prefixesPsr0)) {
+            return call_user_func_array('array_merge', $this->prefixesPsr0);
+        }
+
+        return array();
+    }
+
+    public function getPrefixesPsr4()
+    {
+        return $this->prefixDirsPsr4;
+    }
+
+    public function getFallbackDirs()
+    {
+        return $this->fallbackDirsPsr0;
+    }
+
+    public function getFallbackDirsPsr4()
+    {
+        return $this->fallbackDirsPsr4;
+    }
+
+    public function getClassMap()
+    {
+        return $this->classMap;
+    }
+
+    /**
+     * @param array $classMap Class to filename map
+     */
+    public function addClassMap(array $classMap)
+    {
+        if ($this->classMap) {
+            $this->classMap = array_merge($this->classMap, $classMap);
+        } else {
+            $this->classMap = $classMap;
+        }
+    }
+
+    /**
+     * Registers a set of PSR-0 directories for a given prefix, either
+     * appending or prepending to the ones previously set for this prefix.
+     *
+     * @param string       $prefix  The prefix
+     * @param array|string $paths   The PSR-0 root directories
+     * @param bool         $prepend Whether to prepend the directories
+     */
+    public function add($prefix, $paths, $prepend = false)
+    {
+        if (!$prefix) {
+            if ($prepend) {
+                $this->fallbackDirsPsr0 = array_merge(
+                    (array) $paths,
+                    $this->fallbackDirsPsr0
+                );
+            } else {
+                $this->fallbackDirsPsr0 = array_merge(
+                    $this->fallbackDirsPsr0,
+                    (array) $paths
+                );
+            }
+
+            return;
+        }
+
+        $first = $prefix[0];
+        if (!isset($this->prefixesPsr0[$first][$prefix])) {
+            $this->prefixesPsr0[$first][$prefix] = (array) $paths;
+
+            return;
+        }
+        if ($prepend) {
+            $this->prefixesPsr0[$first][$prefix] = array_merge(
+                (array) $paths,
+                $this->prefixesPsr0[$first][$prefix]
+            );
+        } else {
+            $this->prefixesPsr0[$first][$prefix] = array_merge(
+                $this->prefixesPsr0[$first][$prefix],
+                (array) $paths
+            );
+        }
+    }
+
+    /**
+     * Registers a set of PSR-4 directories for a given namespace, either
+     * appending or prepending to the ones previously set for this namespace.
+     *
+     * @param string       $prefix  The prefix/namespace, with trailing '\\'
+     * @param array|string $paths   The PSR-4 base directories
+     * @param bool         $prepend Whether to prepend the directories
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function addPsr4($prefix, $paths, $prepend = false)
+    {
+        if (!$prefix) {
+            // Register directories for the root namespace.
+            if ($prepend) {
+                $this->fallbackDirsPsr4 = array_merge(
+                    (array) $paths,
+                    $this->fallbackDirsPsr4
+                );
+            } else {
+                $this->fallbackDirsPsr4 = array_merge(
+                    $this->fallbackDirsPsr4,
+                    (array) $paths
+                );
+            }
+        } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
+            // Register directories for a new namespace.
+            $length = strlen($prefix);
+            if ('\\' !== $prefix[$length - 1]) {
+                throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+            }
+            $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+            $this->prefixDirsPsr4[$prefix] = (array) $paths;
+        } elseif ($prepend) {
+            // Prepend directories for an already registered namespace.
+            $this->prefixDirsPsr4[$prefix] = array_merge(
+                (array) $paths,
+                $this->prefixDirsPsr4[$prefix]
+            );
+        } else {
+            // Append directories for an already registered namespace.
+            $this->prefixDirsPsr4[$prefix] = array_merge(
+                $this->prefixDirsPsr4[$prefix],
+                (array) $paths
+            );
+        }
+    }
+
+    /**
+     * Registers a set of PSR-0 directories for a given prefix,
+     * replacing any others previously set for this prefix.
+     *
+     * @param string       $prefix The prefix
+     * @param array|string $paths  The PSR-0 base directories
+     */
+    public function set($prefix, $paths)
+    {
+        if (!$prefix) {
+            $this->fallbackDirsPsr0 = (array) $paths;
+        } else {
+            $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
+        }
+    }
+
+    /**
+     * Registers a set of PSR-4 directories for a given namespace,
+     * replacing any others previously set for this namespace.
+     *
+     * @param string       $prefix The prefix/namespace, with trailing '\\'
+     * @param array|string $paths  The PSR-4 base directories
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function setPsr4($prefix, $paths)
+    {
+        if (!$prefix) {
+            $this->fallbackDirsPsr4 = (array) $paths;
+        } else {
+            $length = strlen($prefix);
+            if ('\\' !== $prefix[$length - 1]) {
+                throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
+            }
+            $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
+            $this->prefixDirsPsr4[$prefix] = (array) $paths;
+        }
+    }
+
+    /**
+     * Turns on searching the include path for class files.
+     *
+     * @param bool $useIncludePath
+     */
+    public function setUseIncludePath($useIncludePath)
+    {
+        $this->useIncludePath = $useIncludePath;
+    }
+
+    /**
+     * Can be used to check if the autoloader uses the include path to check
+     * for classes.
+     *
+     * @return bool
+     */
+    public function getUseIncludePath()
+    {
+        return $this->useIncludePath;
+    }
+
+    /**
+     * Turns off searching the prefix and fallback directories for classes
+     * that have not been registered with the class map.
+     *
+     * @param bool $classMapAuthoritative
+     */
+    public function setClassMapAuthoritative($classMapAuthoritative)
+    {
+        $this->classMapAuthoritative = $classMapAuthoritative;
+    }
+
+    /**
+     * Should class lookup fail if not found in the current class map?
+     *
+     * @return bool
+     */
+    public function isClassMapAuthoritative()
+    {
+        return $this->classMapAuthoritative;
+    }
+
+    /**
+     * Registers this instance as an autoloader.
+     *
+     * @param bool $prepend Whether to prepend the autoloader or not
+     */
+    public function register($prepend = false)
+    {
+        spl_autoload_register(array($this, 'loadClass'), true, $prepend);
+    }
+
+    /**
+     * Unregisters this instance as an autoloader.
+     */
+    public function unregister()
+    {
+        spl_autoload_unregister(array($this, 'loadClass'));
+    }
+
+    /**
+     * Loads the given class or interface.
+     *
+     * @param  string    $class The name of the class
+     * @return bool|null True if loaded, null otherwise
+     */
+    public function loadClass($class)
+    {
+        if ($file = $this->findFile($class)) {
+            includeFile($file);
+
+            return true;
+        }
+    }
+
+    /**
+     * Finds the path to the file where the class is defined.
+     *
+     * @param string $class The name of the class
+     *
+     * @return string|false The path if found, false otherwise
+     */
+    public function findFile($class)
+    {
+        // work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
+        if ('\\' == $class[0]) {
+            $class = substr($class, 1);
+        }
+
+        // class map lookup
+        if (isset($this->classMap[$class])) {
+            return $this->classMap[$class];
+        }
+        if ($this->classMapAuthoritative) {
+            return false;
+        }
+
+        $file = $this->findFileWithExtension($class, '.php');
+
+        // Search for Hack files if we are running on HHVM
+        if ($file === null && defined('HHVM_VERSION')) {
+            $file = $this->findFileWithExtension($class, '.hh');
+        }
+
+        if ($file === null) {
+            // Remember that this class does not exist.
+            return $this->classMap[$class] = false;
+        }
+
+        return $file;
+    }
+
+    private function findFileWithExtension($class, $ext)
+    {
+        // PSR-4 lookup
+        $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
+
+        $first = $class[0];
+        if (isset($this->prefixLengthsPsr4[$first])) {
+            foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
+                if (0 === strpos($class, $prefix)) {
+                    foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
+                        if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+                            return $file;
+                        }
+                    }
+                }
+            }
+        }
+
+        // PSR-4 fallback dirs
+        foreach ($this->fallbackDirsPsr4 as $dir) {
+            if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
+                return $file;
+            }
+        }
+
+        // PSR-0 lookup
+        if (false !== $pos = strrpos($class, '\\')) {
+            // namespaced class name
+            $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
+                . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
+        } else {
+            // PEAR-like class name
+            $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
+        }
+
+        if (isset($this->prefixesPsr0[$first])) {
+            foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
+                if (0 === strpos($class, $prefix)) {
+                    foreach ($dirs as $dir) {
+                        if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+                            return $file;
+                        }
+                    }
+                }
+            }
+        }
+
+        // PSR-0 fallback dirs
+        foreach ($this->fallbackDirsPsr0 as $dir) {
+            if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
+                return $file;
+            }
+        }
+
+        // PSR-0 include paths.
+        if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
+            return $file;
+        }
+    }
+}
+
+/**
+ * Scope isolated include.
+ *
+ * Prevents access to $this/self from included files.
+ */
+function includeFile($file)
+{
+    include $file;
+}
Index: src/vendor/composer/ClassLoader52.php
===================================================================
--- src/vendor/composer/ClassLoader52.php	(nonexistent)
+++ src/vendor/composer/ClassLoader52.php	(working copy)
@@ -0,0 +1,271 @@
+<?php
+/*
+ * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
+ *
+ * This file is released under the terms of the MIT license. You can find the
+ * complete text in the attached LICENSE file or online at:
+ *
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * --------------------------------------------------------------------------
+ *
+ * 99% of this is copied as-is from the original Composer source code and is
+ * released under MIT license as well. Copyright goes to:
+ *
+ * - Fabien Potencier <fabien@symfony.com>
+ * - Jordi Boggiano <j.boggiano@seld.be>
+ */
+
+class xrstf_Composer52_ClassLoader {
+	private $prefixes              = array();
+	private $fallbackDirs          = array();
+	private $useIncludePath        = false;
+	private $classMap              = array();
+	private $classMapAuthoratative = false;
+	private $allowUnderscore       = false;
+
+	/**
+	 * @param boolean $flag  true to allow class names with a leading underscore, false to disable
+	 */
+	public function setAllowUnderscore($flag) {
+		$this->allowUnderscore = (boolean) $flag;
+	}
+
+	/**
+	 * @return array
+	 */
+	public function getPrefixes() {
+		return $this->prefixes;
+	}
+
+	/**
+	 * Turns off searching the prefix and fallback directories for classes
+	 * that have not been registered with the class map.
+	 *
+	 * @param bool $classMapAuthoratative
+	 */
+	public function setClassMapAuthoritative($classMapAuthoratative) {
+		$this->classMapAuthoratative = $classMapAuthoratative;
+	}
+
+	/**
+	 * Should class lookup fail if not found in the current class map?
+	 *
+	 * @return bool
+	 */
+	public function getClassMapAuthoratative() {
+		return $this->classMapAuthoratative;
+	}
+
+	/**
+	 * @return array
+	 */
+	public function getFallbackDirs() {
+		return $this->fallbackDirs;
+	}
+
+	/**
+	 * @return array
+	 */
+	public function getClassMap() {
+		return $this->classMap;
+	}
+
+	/**
+	 * @param array $classMap  class to filename map
+	 */
+	public function addClassMap(array $classMap) {
+		if ($this->classMap) {
+			$this->classMap = array_merge($this->classMap, $classMap);
+		}
+		else {
+			$this->classMap = $classMap;
+		}
+	}
+
+	/**
+	 * Registers a set of classes, merging with any others previously set.
+	 *
+	 * @param string       $prefix   the classes prefix
+	 * @param array|string $paths    the location(s) of the classes
+	 * @param bool         $prepend  prepend the location(s)
+	 */
+	public function add($prefix, $paths, $prepend = false) {
+		if (!$prefix) {
+			if ($prepend) {
+				$this->fallbackDirs = array_merge(
+					(array) $paths,
+					$this->fallbackDirs
+				);
+			}
+			else {
+				$this->fallbackDirs = array_merge(
+					$this->fallbackDirs,
+					(array) $paths
+				);
+			}
+
+			return;
+		}
+
+		if (!isset($this->prefixes[$prefix])) {
+			$this->prefixes[$prefix] = (array) $paths;
+			return;
+		}
+
+		if ($prepend) {
+			$this->prefixes[$prefix] = array_merge(
+				(array) $paths,
+				$this->prefixes[$prefix]
+			);
+		}
+		else {
+			$this->prefixes[$prefix] = array_merge(
+				$this->prefixes[$prefix],
+				(array) $paths
+			);
+		}
+	}
+
+	/**
+	 * Registers a set of classes, replacing any others previously set.
+	 *
+	 * @param string       $prefix  the classes prefix
+	 * @param array|string $paths   the location(s) of the classes
+	 */
+	public function set($prefix, $paths) {
+		if (!$prefix) {
+			$this->fallbackDirs = (array) $paths;
+			return;
+		}
+
+		$this->prefixes[$prefix] = (array) $paths;
+	}
+
+	/**
+	 * Turns on searching the include path for class files.
+	 *
+	 * @param bool $useIncludePath
+	 */
+	public function setUseIncludePath($useIncludePath) {
+		$this->useIncludePath = $useIncludePath;
+	}
+
+	/**
+	 * Can be used to check if the autoloader uses the include path to check
+	 * for classes.
+	 *
+	 * @return bool
+	 */
+	public function getUseIncludePath() {
+		return $this->useIncludePath;
+	}
+
+	/**
+	 * Registers this instance as an autoloader.
+	 */
+	public function register() {
+		spl_autoload_register(array($this, 'loadClass'), true);
+	}
+
+	/**
+	 * Unregisters this instance as an autoloader.
+	 */
+	public function unregister() {
+		spl_autoload_unregister(array($this, 'loadClass'));
+	}
+
+	/**
+	 * Loads the given class or interface.
+	 *
+	 * @param  string $class  the name of the class
+	 * @return bool|null      true, if loaded
+	 */
+	public function loadClass($class) {
+		if ($file = $this->findFile($class)) {
+			include $file;
+			return true;
+		}
+	}
+
+	/**
+	 * Finds the path to the file where the class is defined.
+	 *
+	 * @param  string $class  the name of the class
+	 * @return string|null    the path, if found
+	 */
+	public function findFile($class) {
+		if ('\\' === $class[0]) {
+			$class = substr($class, 1);
+		}
+
+		if (isset($this->classMap[$class])) {
+			return $this->classMap[$class];
+		}
+		elseif ($this->classMapAuthoratative) {
+			return false;
+		}
+
+		$classPath = $this->getClassPath($class);
+
+		foreach ($this->prefixes as $prefix => $dirs) {
+			if (0 === strpos($class, $prefix)) {
+				foreach ($dirs as $dir) {
+					if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
+						return $dir.DIRECTORY_SEPARATOR.$classPath;
+					}
+				}
+			}
+		}
+
+		foreach ($this->fallbackDirs as $dir) {
+			if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
+				return $dir.DIRECTORY_SEPARATOR.$classPath;
+			}
+		}
+
+		if ($this->useIncludePath && $file = self::resolveIncludePath($classPath)) {
+			return $file;
+		}
+
+		return $this->classMap[$class] = false;
+	}
+
+	private function getClassPath($class) {
+		if (false !== $pos = strrpos($class, '\\')) {
+			// namespaced class name
+			$classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)).DIRECTORY_SEPARATOR;
+			$className = substr($class, $pos + 1);
+		}
+		else {
+			// PEAR-like class name
+			$classPath = null;
+			$className = $class;
+		}
+
+		$className = str_replace('_', DIRECTORY_SEPARATOR, $className);
+
+		// restore the prefix
+		if ($this->allowUnderscore && DIRECTORY_SEPARATOR === $className[0]) {
+			$className[0] = '_';
+		}
+
+		$classPath .= $className.'.php';
+
+		return $classPath;
+	}
+
+	public static function resolveIncludePath($classPath) {
+		$paths = explode(PATH_SEPARATOR, get_include_path());
+
+		foreach ($paths as $path) {
+			$path = rtrim($path, '/\\');
+
+			if ($file = file_exists($path.DIRECTORY_SEPARATOR.$file)) {
+				return $file;
+			}
+		}
+
+		return false;
+	}
+}
Index: src/vendor/composer/LICENSE
===================================================================
--- src/vendor/composer/LICENSE	(nonexistent)
+++ src/vendor/composer/LICENSE	(working copy)
@@ -0,0 +1,21 @@
+
+Copyright (c) 2016 Nils Adermann, Jordi Boggiano
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
Index: src/vendor/composer/autoload_classmap.php
===================================================================
--- src/vendor/composer/autoload_classmap.php	(nonexistent)
+++ src/vendor/composer/autoload_classmap.php	(working copy)
@@ -0,0 +1,201 @@
+<?php
+
+// autoload_classmap.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname(dirname($vendorDir));
+
+return array(
+    'Automatic_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-automatic-upgrader-skin.php',
+    'Bulk_Plugin_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-bulk-plugin-upgrader-skin.php',
+    'Bulk_Theme_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-bulk-theme-upgrader-skin.php',
+    'Bulk_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-bulk-upgrader-skin.php',
+    'Core_Upgrader' => $baseDir . '/src/wp-admin/includes/class-core-upgrader.php',
+    'Custom_Background' => $baseDir . '/src/wp-admin/custom-background.php',
+    'Custom_Image_Header' => $baseDir . '/src/wp-admin/custom-header.php',
+    'File_Upload_Upgrader' => $baseDir . '/src/wp-admin/includes/class-file-upload-upgrader.php',
+    'IXR_Base64' => $baseDir . '/src/wp-includes/IXR/class-IXR-base64.php',
+    'IXR_Client' => $baseDir . '/src/wp-includes/IXR/class-IXR-client.php',
+    'IXR_ClientMulticall' => $baseDir . '/src/wp-includes/IXR/class-IXR-clientmulticall.php',
+    'IXR_Date' => $baseDir . '/src/wp-includes/IXR/class-IXR-date.php',
+    'IXR_Error' => $baseDir . '/src/wp-includes/IXR/class-IXR-error.php',
+    'IXR_IntrospectionServer' => $baseDir . '/src/wp-includes/IXR/class-IXR-introspectionserver.php',
+    'IXR_Message' => $baseDir . '/src/wp-includes/IXR/class-IXR-message.php',
+    'IXR_Request' => $baseDir . '/src/wp-includes/IXR/class-IXR-request.php',
+    'IXR_Server' => $baseDir . '/src/wp-includes/IXR/class-IXR-server.php',
+    'IXR_Value' => $baseDir . '/src/wp-includes/IXR/class-IXR-value.php',
+    'Language_Pack_Upgrader' => $baseDir . '/src/wp-admin/includes/class-language-pack-upgrader.php',
+    'Language_Pack_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-language-pack-upgrader-skin.php',
+    'PHPMailer' => $baseDir . '/src/wp-includes/class-phpmailer.php',
+    'POP3' => $baseDir . '/src/wp-includes/class-pop3.php',
+    'PasswordHash' => $baseDir . '/src/wp-includes/class-phpass.php',
+    'PclZip' => $baseDir . '/src/wp-admin/includes/class-pclzip.php',
+    'Plugin_Installer_Skin' => $baseDir . '/src/wp-admin/includes/class-plugin-installer-skin.php',
+    'Plugin_Upgrader' => $baseDir . '/src/wp-admin/includes/class-plugin-upgrader.php',
+    'Plugin_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-plugin-upgrader-skin.php',
+    'Requests' => $baseDir . '/src/wp-includes/class-requests.php',
+    'SMTP' => $baseDir . '/src/wp-includes/class-smtp.php',
+    'Services_JSON' => $baseDir . '/src/wp-includes/class-json.php',
+    'Services_JSON_Error' => $baseDir . '/src/wp-includes/class-json.php',
+    'SimplePie' => $baseDir . '/src/wp-includes/class-simplepie.php',
+    'Theme_Installer_Skin' => $baseDir . '/src/wp-admin/includes/class-theme-installer-skin.php',
+    'Theme_Upgrader' => $baseDir . '/src/wp-admin/includes/class-theme-upgrader.php',
+    'Theme_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-theme-upgrader-skin.php',
+    'WP' => $baseDir . '/src/wp-includes/class-wp.php',
+    'WP_Admin_Bar' => $baseDir . '/src/wp-includes/class-wp-admin-bar.php',
+    'WP_Ajax_Response' => $baseDir . '/src/wp-includes/class-wp-ajax-response.php',
+    'WP_Ajax_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-wp-ajax-upgrader-skin.php',
+    'WP_Automatic_Updater' => $baseDir . '/src/wp-admin/includes/class-wp-automatic-updater.php',
+    'WP_Comment' => $baseDir . '/src/wp-includes/class-wp-comment.php',
+    'WP_Comment_Query' => $baseDir . '/src/wp-includes/class-wp-comment-query.php',
+    'WP_Comments_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-comments-list-table.php',
+    'WP_Customize_Background_Image_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-background-image-control.php',
+    'WP_Customize_Background_Image_Setting' => $baseDir . '/src/wp-includes/customize/class-wp-customize-background-image-setting.php',
+    'WP_Customize_Color_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-color-control.php',
+    'WP_Customize_Control' => $baseDir . '/src/wp-includes/class-wp-customize-control.php',
+    'WP_Customize_Cropped_Image_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-cropped-image-control.php',
+    'WP_Customize_Filter_Setting' => $baseDir . '/src/wp-includes/customize/class-wp-customize-filter-setting.php',
+    'WP_Customize_Header_Image_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-header-image-control.php',
+    'WP_Customize_Header_Image_Setting' => $baseDir . '/src/wp-includes/customize/class-wp-customize-header-image-setting.php',
+    'WP_Customize_Image_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-image-control.php',
+    'WP_Customize_Manager' => $baseDir . '/src/wp-includes/class-wp-customize-manager.php',
+    'WP_Customize_Media_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-media-control.php',
+    'WP_Customize_Nav_Menu_Auto_Add_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-auto-add-control.php',
+    'WP_Customize_Nav_Menu_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-control.php',
+    'WP_Customize_Nav_Menu_Item_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-item-control.php',
+    'WP_Customize_Nav_Menu_Item_Setting' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php',
+    'WP_Customize_Nav_Menu_Location_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-location-control.php',
+    'WP_Customize_Nav_Menu_Name_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-name-control.php',
+    'WP_Customize_Nav_Menu_Section' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-section.php',
+    'WP_Customize_Nav_Menu_Setting' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menu-setting.php',
+    'WP_Customize_Nav_Menus' => $baseDir . '/src/wp-includes/class-wp-customize-nav-menus.php',
+    'WP_Customize_Nav_Menus_Panel' => $baseDir . '/src/wp-includes/customize/class-wp-customize-nav-menus-panel.php',
+    'WP_Customize_New_Menu_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-new-menu-control.php',
+    'WP_Customize_New_Menu_Section' => $baseDir . '/src/wp-includes/customize/class-wp-customize-new-menu-section.php',
+    'WP_Customize_Panel' => $baseDir . '/src/wp-includes/class-wp-customize-panel.php',
+    'WP_Customize_Partial' => $baseDir . '/src/wp-includes/customize/class-wp-customize-partial.php',
+    'WP_Customize_Section' => $baseDir . '/src/wp-includes/class-wp-customize-section.php',
+    'WP_Customize_Selective_Refresh' => $baseDir . '/src/wp-includes/customize/class-wp-customize-selective-refresh.php',
+    'WP_Customize_Setting' => $baseDir . '/src/wp-includes/class-wp-customize-setting.php',
+    'WP_Customize_Sidebar_Section' => $baseDir . '/src/wp-includes/customize/class-wp-customize-sidebar-section.php',
+    'WP_Customize_Site_Icon_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-site-icon-control.php',
+    'WP_Customize_Theme_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-theme-control.php',
+    'WP_Customize_Themes_Section' => $baseDir . '/src/wp-includes/customize/class-wp-customize-themes-section.php',
+    'WP_Customize_Upload_Control' => $baseDir . '/src/wp-includes/customize/class-wp-customize-upload-control.php',
+    'WP_Customize_Widgets' => $baseDir . '/src/wp-includes/class-wp-customize-widgets.php',
+    'WP_Date_Query' => $baseDir . '/src/wp-includes/date.php',
+    'WP_Dependencies' => $baseDir . '/src/wp-includes/class.wp-dependencies.php',
+    'WP_Embed' => $baseDir . '/src/wp-includes/class-wp-embed.php',
+    'WP_Error' => $baseDir . '/src/wp-includes/class-wp-error.php',
+    'WP_Feed_Cache' => $baseDir . '/src/wp-includes/class-wp-feed-cache.php',
+    'WP_Feed_Cache_Transient' => $baseDir . '/src/wp-includes/class-wp-feed-cache-transient.php',
+    'WP_Filesystem_Base' => $baseDir . '/src/wp-admin/includes/class-wp-filesystem-base.php',
+    'WP_Filesystem_Direct' => $baseDir . '/src/wp-admin/includes/class-wp-filesystem-direct.php',
+    'WP_Filesystem_FTPext' => $baseDir . '/src/wp-admin/includes/class-wp-filesystem-ftpext.php',
+    'WP_Filesystem_SSH2' => $baseDir . '/src/wp-admin/includes/class-wp-filesystem-ssh2.php',
+    'WP_Filesystem_ftpsockets' => $baseDir . '/src/wp-admin/includes/class-wp-filesystem-ftpsockets.php',
+    'WP_HTTP_Fsockopen' => $baseDir . '/src/wp-includes/class-wp-http-streams.php',
+    'WP_HTTP_IXR_Client' => $baseDir . '/src/wp-includes/class-wp-http-ixr-client.php',
+    'WP_HTTP_Proxy' => $baseDir . '/src/wp-includes/class-wp-http-proxy.php',
+    'WP_HTTP_Requests_Response' => $baseDir . '/src/wp-includes/class-wp-http-requests-response.php',
+    'WP_HTTP_Response' => $baseDir . '/src/wp-includes/class-wp-http-response.php',
+    'WP_Http' => $baseDir . '/src/wp-includes/class-http.php',
+    'WP_Http_Cookie' => $baseDir . '/src/wp-includes/class-wp-http-cookie.php',
+    'WP_Http_Curl' => $baseDir . '/src/wp-includes/class-wp-http-curl.php',
+    'WP_Http_Encoding' => $baseDir . '/src/wp-includes/class-wp-http-encoding.php',
+    'WP_Http_Streams' => $baseDir . '/src/wp-includes/class-wp-http-streams.php',
+    'WP_Image_Editor' => $baseDir . '/src/wp-includes/class-wp-image-editor.php',
+    'WP_Image_Editor_GD' => $baseDir . '/src/wp-includes/class-wp-image-editor-gd.php',
+    'WP_Image_Editor_Imagick' => $baseDir . '/src/wp-includes/class-wp-image-editor-imagick.php',
+    'WP_Importer' => $baseDir . '/src/wp-admin/includes/class-wp-importer.php',
+    'WP_Internal_Pointers' => $baseDir . '/src/wp-admin/includes/class-wp-internal-pointers.php',
+    'WP_Links_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-links-list-table.php',
+    'WP_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-list-table.php',
+    'WP_Locale' => $baseDir . '/src/wp-includes/class-wp-locale.php',
+    'WP_MS_Sites_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-ms-sites-list-table.php',
+    'WP_MS_Themes_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-ms-themes-list-table.php',
+    'WP_MS_Users_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-ms-users-list-table.php',
+    'WP_MatchesMapRegex' => $baseDir . '/src/wp-includes/class-wp-matchesmapregex.php',
+    'WP_Media_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-media-list-table.php',
+    'WP_Meta_Query' => $baseDir . '/src/wp-includes/class-wp-meta-query.php',
+    'WP_Metadata_Lazyloader' => $baseDir . '/src/wp-includes/class-wp-metadata-lazyloader.php',
+    'WP_Nav_Menu_Widget' => $baseDir . '/src/wp-includes/widgets/class-wp-nav-menu-widget.php',
+    'WP_Network' => $baseDir . '/src/wp-includes/class-wp-network.php',
+    'WP_Network_Query' => $baseDir . '/src/wp-includes/class-wp-network-query.php',
+    'WP_Plugin_Install_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-plugin-install-list-table.php',
+    'WP_Plugins_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-plugins-list-table.php',
+    'WP_Post' => $baseDir . '/src/wp-includes/class-wp-post.php',
+    'WP_Post_Comments_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-post-comments-list-table.php',
+    'WP_Post_Type' => $baseDir . '/src/wp-includes/class-wp-post-type.php',
+    'WP_Posts_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-posts-list-table.php',
+    'WP_Press_This' => $baseDir . '/src/wp-admin/includes/class-wp-press-this.php',
+    'WP_Query' => $baseDir . '/src/wp-includes/class-wp-query.php',
+    'WP_REST_Request' => $baseDir . '/src/wp-includes/rest-api/class-wp-rest-request.php',
+    'WP_REST_Response' => $baseDir . '/src/wp-includes/rest-api/class-wp-rest-response.php',
+    'WP_REST_Server' => $baseDir . '/src/wp-includes/rest-api/class-wp-rest-server.php',
+    'WP_Rewrite' => $baseDir . '/src/wp-includes/class-wp-rewrite.php',
+    'WP_Role' => $baseDir . '/src/wp-includes/class-wp-role.php',
+    'WP_Roles' => $baseDir . '/src/wp-includes/class-wp-roles.php',
+    'WP_Screen' => $baseDir . '/src/wp-admin/includes/class-wp-screen.php',
+    'WP_Scripts' => $baseDir . '/src/wp-includes/class.wp-scripts.php',
+    'WP_Session_Tokens' => $baseDir . '/src/wp-includes/class-wp-session-tokens.php',
+    'WP_SimplePie_File' => $baseDir . '/src/wp-includes/class-wp-simplepie-file.php',
+    'WP_SimplePie_Sanitize_KSES' => $baseDir . '/src/wp-includes/class-wp-simplepie-sanitize-kses.php',
+    'WP_Site' => $baseDir . '/src/wp-includes/class-wp-site.php',
+    'WP_Site_Icon' => $baseDir . '/src/wp-admin/includes/class-wp-site-icon.php',
+    'WP_Site_Query' => $baseDir . '/src/wp-includes/class-wp-site-query.php',
+    'WP_Styles' => $baseDir . '/src/wp-includes/class.wp-styles.php',
+    'WP_Tax_Query' => $baseDir . '/src/wp-includes/class-wp-tax-query.php',
+    'WP_Term' => $baseDir . '/src/wp-includes/class-wp-term.php',
+    'WP_Term_Query' => $baseDir . '/src/wp-includes/class-wp-term-query.php',
+    'WP_Terms_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-terms-list-table.php',
+    'WP_Text_Diff_Renderer_Table' => $baseDir . '/src/wp-includes/class-wp-text-diff-renderer-table.php',
+    'WP_Text_Diff_Renderer_inline' => $baseDir . '/src/wp-includes/class-wp-text-diff-renderer-inline.php',
+    'WP_Theme' => $baseDir . '/src/wp-includes/class-wp-theme.php',
+    'WP_Theme_Install_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-theme-install-list-table.php',
+    'WP_Themes_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-themes-list-table.php',
+    'WP_Upgrader' => $baseDir . '/src/wp-admin/includes/class-wp-upgrader.php',
+    'WP_Upgrader_Skin' => $baseDir . '/src/wp-admin/includes/class-wp-upgrader-skin.php',
+    'WP_User' => $baseDir . '/src/wp-includes/class-wp-user.php',
+    'WP_User_Meta_Session_Tokens' => $baseDir . '/src/wp-includes/class-wp-user-meta-session-tokens.php',
+    'WP_User_Query' => $baseDir . '/src/wp-includes/class-wp-user-query.php',
+    'WP_Users_List_Table' => $baseDir . '/src/wp-admin/includes/class-wp-users-list-table.php',
+    'WP_Widget' => $baseDir . '/src/wp-includes/class-wp-widget.php',
+    'WP_Widget_Archives' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-archives.php',
+    'WP_Widget_Area_Customize_Control' => $baseDir . '/src/wp-includes/customize/class-wp-widget-area-customize-control.php',
+    'WP_Widget_Calendar' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-calendar.php',
+    'WP_Widget_Categories' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-categories.php',
+    'WP_Widget_Factory' => $baseDir . '/src/wp-includes/class-wp-widget-factory.php',
+    'WP_Widget_Form_Customize_Control' => $baseDir . '/src/wp-includes/customize/class-wp-widget-form-customize-control.php',
+    'WP_Widget_Links' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-links.php',
+    'WP_Widget_Meta' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-meta.php',
+    'WP_Widget_Pages' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-pages.php',
+    'WP_Widget_RSS' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-rss.php',
+    'WP_Widget_Recent_Comments' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-recent-comments.php',
+    'WP_Widget_Recent_Posts' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-recent-posts.php',
+    'WP_Widget_Search' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-search.php',
+    'WP_Widget_Tag_Cloud' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-tag-cloud.php',
+    'WP_Widget_Text' => $baseDir . '/src/wp-includes/widgets/class-wp-widget-text.php',
+    'WP_oEmbed' => $baseDir . '/src/wp-includes/class-oembed.php',
+    'WP_oEmbed_Controller' => $baseDir . '/src/wp-includes/class-wp-oembed-controller.php',
+    'Walker' => $baseDir . '/src/wp-includes/class-wp-walker.php',
+    'Walker_Category' => $baseDir . '/src/wp-includes/class-walker-category.php',
+    'Walker_CategoryDropdown' => $baseDir . '/src/wp-includes/class-walker-category-dropdown.php',
+    'Walker_Category_Checklist' => $baseDir . '/src/wp-admin/includes/class-walker-category-checklist.php',
+    'Walker_Comment' => $baseDir . '/src/wp-includes/class-walker-comment.php',
+    'Walker_Nav_Menu' => $baseDir . '/src/wp-includes/class-walker-nav-menu.php',
+    'Walker_Nav_Menu_Checklist' => $baseDir . '/src/wp-admin/includes/class-walker-nav-menu-checklist.php',
+    'Walker_Nav_Menu_Edit' => $baseDir . '/src/wp-admin/includes/class-walker-nav-menu-edit.php',
+    'Walker_Page' => $baseDir . '/src/wp-includes/class-walker-page.php',
+    'Walker_PageDropdown' => $baseDir . '/src/wp-includes/class-walker-page-dropdown.php',
+    '_WP_Dependency' => $baseDir . '/src/wp-includes/class-wp-dependency.php',
+    '_WP_Editors' => $baseDir . '/src/wp-includes/class-wp-editor.php',
+    '_WP_List_Table_Compat' => $baseDir . '/src/wp-admin/includes/class-wp-list-table-compat.php',
+    'ftp' => $baseDir . '/src/wp-admin/includes/class-ftp.php',
+    'ftp_base' => $baseDir . '/src/wp-admin/includes/class-ftp.php',
+    'ftp_pure' => $baseDir . '/src/wp-admin/includes/class-ftp-pure.php',
+    'ftp_sockets' => $baseDir . '/src/wp-admin/includes/class-ftp-sockets.php',
+    'phpmailerException' => $baseDir . '/src/wp-includes/class-phpmailer.php',
+    'wp_xmlrpc_server' => $baseDir . '/src/wp-includes/class-wp-xmlrpc-server.php',
+    'wpdb' => $baseDir . '/src/wp-includes/wp-db.php',
+);
Index: src/vendor/composer/autoload_namespaces.php
===================================================================
--- src/vendor/composer/autoload_namespaces.php	(nonexistent)
+++ src/vendor/composer/autoload_namespaces.php	(working copy)
@@ -0,0 +1,10 @@
+<?php
+
+// autoload_namespaces.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname(dirname($vendorDir));
+
+return array(
+    'xrstf\\Composer52' => array($vendorDir . '/xrstf/composer-php52/lib'),
+);
Index: src/vendor/composer/autoload_psr4.php
===================================================================
--- src/vendor/composer/autoload_psr4.php	(nonexistent)
+++ src/vendor/composer/autoload_psr4.php	(working copy)
@@ -0,0 +1,9 @@
+<?php
+
+// autoload_psr4.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname(dirname($vendorDir));
+
+return array(
+);
Index: src/vendor/composer/autoload_real.php
===================================================================
--- src/vendor/composer/autoload_real.php	(nonexistent)
+++ src/vendor/composer/autoload_real.php	(working copy)
@@ -0,0 +1,52 @@
+<?php
+
+// autoload_real.php @generated by Composer
+
+class ComposerAutoloaderInit710c4d189b643946867e98aea6152d0f
+{
+    private static $loader;
+
+    public static function loadClassLoader($class)
+    {
+        if ('Composer\Autoload\ClassLoader' === $class) {
+            require __DIR__ . '/ClassLoader.php';
+        }
+    }
+
+    public static function getLoader()
+    {
+        if (null !== self::$loader) {
+            return self::$loader;
+        }
+
+        spl_autoload_register(array('ComposerAutoloaderInit710c4d189b643946867e98aea6152d0f', 'loadClassLoader'), true, true);
+        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
+        spl_autoload_unregister(array('ComposerAutoloaderInit710c4d189b643946867e98aea6152d0f', 'loadClassLoader'));
+
+        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
+        if ($useStaticLoader) {
+            require_once __DIR__ . '/autoload_static.php';
+
+            call_user_func(\Composer\Autoload\ComposerStaticInit710c4d189b643946867e98aea6152d0f::getInitializer($loader));
+        } else {
+            $map = require __DIR__ . '/autoload_namespaces.php';
+            foreach ($map as $namespace => $path) {
+                $loader->set($namespace, $path);
+            }
+
+            $map = require __DIR__ . '/autoload_psr4.php';
+            foreach ($map as $namespace => $path) {
+                $loader->setPsr4($namespace, $path);
+            }
+
+            $classMap = require __DIR__ . '/autoload_classmap.php';
+            if ($classMap) {
+                $loader->addClassMap($classMap);
+            }
+        }
+
+        $loader->register(true);
+
+        return $loader;
+    }
+}
Index: src/vendor/composer/autoload_real_52.php
===================================================================
--- src/vendor/composer/autoload_real_52.php	(nonexistent)
+++ src/vendor/composer/autoload_real_52.php	(working copy)
@@ -0,0 +1,44 @@
+<?php
+
+// autoload_real_52.php generated by xrstf/composer-php52
+
+class ComposerAutoloaderInitfe3f8ca3b3ba0d6b3d6b2528450949a7 {
+	private static $loader;
+
+	public static function loadClassLoader($class) {
+		if ('xrstf_Composer52_ClassLoader' === $class) {
+			require dirname(__FILE__).'/ClassLoader52.php';
+		}
+	}
+
+	/**
+	 * @return xrstf_Composer52_ClassLoader
+	 */
+	public static function getLoader() {
+		if (null !== self::$loader) {
+			return self::$loader;
+		}
+
+		spl_autoload_register(array('ComposerAutoloaderInitfe3f8ca3b3ba0d6b3d6b2528450949a7', 'loadClassLoader'), true /*, true */);
+		self::$loader = $loader = new xrstf_Composer52_ClassLoader();
+		spl_autoload_unregister(array('ComposerAutoloaderInitfe3f8ca3b3ba0d6b3d6b2528450949a7', 'loadClassLoader'));
+
+		$vendorDir = dirname(dirname(__FILE__));
+		$baseDir   = dirname(dirname($vendorDir));
+		$dir       = dirname(__FILE__);
+
+		$map = require $dir.'/autoload_namespaces.php';
+		foreach ($map as $namespace => $path) {
+			$loader->add($namespace, $path);
+		}
+
+		$classMap = require $dir.'/autoload_classmap.php';
+		if ($classMap) {
+			$loader->addClassMap($classMap);
+		}
+
+		$loader->register(true);
+
+		return $loader;
+	}
+}
Index: src/vendor/composer/autoload_static.php
===================================================================
--- src/vendor/composer/autoload_static.php	(nonexistent)
+++ src/vendor/composer/autoload_static.php	(working copy)
@@ -0,0 +1,222 @@
+<?php
+
+// autoload_static.php @generated by Composer
+
+namespace Composer\Autoload;
+
+class ComposerStaticInit710c4d189b643946867e98aea6152d0f
+{
+    public static $prefixesPsr0 = array (
+        'x' => 
+        array (
+            'xrstf\\Composer52' => 
+            array (
+                0 => __DIR__ . '/..' . '/xrstf/composer-php52/lib',
+            ),
+        ),
+    );
+
+    public static $classMap = array (
+        'Automatic_Upgrader_Skin' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-automatic-upgrader-skin.php',
+        'Bulk_Plugin_Upgrader_Skin' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-bulk-plugin-upgrader-skin.php',
+        'Bulk_Theme_Upgrader_Skin' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-bulk-theme-upgrader-skin.php',
+        'Bulk_Upgrader_Skin' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-bulk-upgrader-skin.php',
+        'Core_Upgrader' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-core-upgrader.php',
+        'Custom_Background' => __DIR__ . '/../../..' . '/src/wp-admin/custom-background.php',
+        'Custom_Image_Header' => __DIR__ . '/../../..' . '/src/wp-admin/custom-header.php',
+        'File_Upload_Upgrader' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-file-upload-upgrader.php',
+        'IXR_Base64' => __DIR__ . '/../../..' . '/src/wp-includes/IXR/class-IXR-base64.php',
+        'IXR_Client' => __DIR__ . '/../../..' . '/src/wp-includes/IXR/class-IXR-client.php',
+        'IXR_ClientMulticall' => __DIR__ . '/../../..' . '/src/wp-includes/IXR/class-IXR-clientmulticall.php',
+        'IXR_Date' => __DIR__ . '/../../..' . '/src/wp-includes/IXR/class-IXR-date.php',
+        'IXR_Error' => __DIR__ . '/../../..' . '/src/wp-includes/IXR/class-IXR-error.php',
+        'IXR_IntrospectionServer' => __DIR__ . '/../../..' . '/src/wp-includes/IXR/class-IXR-introspectionserver.php',
+        'IXR_Message' => __DIR__ . '/../../..' . '/src/wp-includes/IXR/class-IXR-message.php',
+        'IXR_Request' => __DIR__ . '/../../..' . '/src/wp-includes/IXR/class-IXR-request.php',
+        'IXR_Server' => __DIR__ . '/../../..' . '/src/wp-includes/IXR/class-IXR-server.php',
+        'IXR_Value' => __DIR__ . '/../../..' . '/src/wp-includes/IXR/class-IXR-value.php',
+        'Language_Pack_Upgrader' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-language-pack-upgrader.php',
+        'Language_Pack_Upgrader_Skin' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-language-pack-upgrader-skin.php',
+        'PHPMailer' => __DIR__ . '/../../..' . '/src/wp-includes/class-phpmailer.php',
+        'POP3' => __DIR__ . '/../../..' . '/src/wp-includes/class-pop3.php',
+        'PasswordHash' => __DIR__ . '/../../..' . '/src/wp-includes/class-phpass.php',
+        'PclZip' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-pclzip.php',
+        'Plugin_Installer_Skin' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-plugin-installer-skin.php',
+        'Plugin_Upgrader' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-plugin-upgrader.php',
+        'Plugin_Upgrader_Skin' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-plugin-upgrader-skin.php',
+        'Requests' => __DIR__ . '/../../..' . '/src/wp-includes/class-requests.php',
+        'SMTP' => __DIR__ . '/../../..' . '/src/wp-includes/class-smtp.php',
+        'Services_JSON' => __DIR__ . '/../../..' . '/src/wp-includes/class-json.php',
+        'Services_JSON_Error' => __DIR__ . '/../../..' . '/src/wp-includes/class-json.php',
+        'SimplePie' => __DIR__ . '/../../..' . '/src/wp-includes/class-simplepie.php',
+        'Theme_Installer_Skin' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-theme-installer-skin.php',
+        'Theme_Upgrader' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-theme-upgrader.php',
+        'Theme_Upgrader_Skin' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-theme-upgrader-skin.php',
+        'WP' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp.php',
+        'WP_Admin_Bar' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-admin-bar.php',
+        'WP_Ajax_Response' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-ajax-response.php',
+        'WP_Ajax_Upgrader_Skin' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-ajax-upgrader-skin.php',
+        'WP_Automatic_Updater' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-automatic-updater.php',
+        'WP_Comment' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-comment.php',
+        'WP_Comment_Query' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-comment-query.php',
+        'WP_Comments_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-comments-list-table.php',
+        'WP_Customize_Background_Image_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-background-image-control.php',
+        'WP_Customize_Background_Image_Setting' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-background-image-setting.php',
+        'WP_Customize_Color_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-color-control.php',
+        'WP_Customize_Control' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-customize-control.php',
+        'WP_Customize_Cropped_Image_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-cropped-image-control.php',
+        'WP_Customize_Filter_Setting' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-filter-setting.php',
+        'WP_Customize_Header_Image_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-header-image-control.php',
+        'WP_Customize_Header_Image_Setting' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-header-image-setting.php',
+        'WP_Customize_Image_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-image-control.php',
+        'WP_Customize_Manager' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-customize-manager.php',
+        'WP_Customize_Media_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-media-control.php',
+        'WP_Customize_Nav_Menu_Auto_Add_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-nav-menu-auto-add-control.php',
+        'WP_Customize_Nav_Menu_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-nav-menu-control.php',
+        'WP_Customize_Nav_Menu_Item_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-nav-menu-item-control.php',
+        'WP_Customize_Nav_Menu_Item_Setting' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-nav-menu-item-setting.php',
+        'WP_Customize_Nav_Menu_Location_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-nav-menu-location-control.php',
+        'WP_Customize_Nav_Menu_Name_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-nav-menu-name-control.php',
+        'WP_Customize_Nav_Menu_Section' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-nav-menu-section.php',
+        'WP_Customize_Nav_Menu_Setting' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-nav-menu-setting.php',
+        'WP_Customize_Nav_Menus' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-customize-nav-menus.php',
+        'WP_Customize_Nav_Menus_Panel' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-nav-menus-panel.php',
+        'WP_Customize_New_Menu_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-new-menu-control.php',
+        'WP_Customize_New_Menu_Section' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-new-menu-section.php',
+        'WP_Customize_Panel' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-customize-panel.php',
+        'WP_Customize_Partial' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-partial.php',
+        'WP_Customize_Section' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-customize-section.php',
+        'WP_Customize_Selective_Refresh' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-selective-refresh.php',
+        'WP_Customize_Setting' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-customize-setting.php',
+        'WP_Customize_Sidebar_Section' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-sidebar-section.php',
+        'WP_Customize_Site_Icon_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-site-icon-control.php',
+        'WP_Customize_Theme_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-theme-control.php',
+        'WP_Customize_Themes_Section' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-themes-section.php',
+        'WP_Customize_Upload_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-customize-upload-control.php',
+        'WP_Customize_Widgets' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-customize-widgets.php',
+        'WP_Date_Query' => __DIR__ . '/../../..' . '/src/wp-includes/date.php',
+        'WP_Dependencies' => __DIR__ . '/../../..' . '/src/wp-includes/class.wp-dependencies.php',
+        'WP_Embed' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-embed.php',
+        'WP_Error' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-error.php',
+        'WP_Feed_Cache' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-feed-cache.php',
+        'WP_Feed_Cache_Transient' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-feed-cache-transient.php',
+        'WP_Filesystem_Base' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-filesystem-base.php',
+        'WP_Filesystem_Direct' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-filesystem-direct.php',
+        'WP_Filesystem_FTPext' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-filesystem-ftpext.php',
+        'WP_Filesystem_SSH2' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-filesystem-ssh2.php',
+        'WP_Filesystem_ftpsockets' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-filesystem-ftpsockets.php',
+        'WP_HTTP_Fsockopen' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-http-streams.php',
+        'WP_HTTP_IXR_Client' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-http-ixr-client.php',
+        'WP_HTTP_Proxy' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-http-proxy.php',
+        'WP_HTTP_Requests_Response' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-http-requests-response.php',
+        'WP_HTTP_Response' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-http-response.php',
+        'WP_Http' => __DIR__ . '/../../..' . '/src/wp-includes/class-http.php',
+        'WP_Http_Cookie' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-http-cookie.php',
+        'WP_Http_Curl' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-http-curl.php',
+        'WP_Http_Encoding' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-http-encoding.php',
+        'WP_Http_Streams' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-http-streams.php',
+        'WP_Image_Editor' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-image-editor.php',
+        'WP_Image_Editor_GD' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-image-editor-gd.php',
+        'WP_Image_Editor_Imagick' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-image-editor-imagick.php',
+        'WP_Importer' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-importer.php',
+        'WP_Internal_Pointers' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-internal-pointers.php',
+        'WP_Links_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-links-list-table.php',
+        'WP_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-list-table.php',
+        'WP_Locale' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-locale.php',
+        'WP_MS_Sites_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-ms-sites-list-table.php',
+        'WP_MS_Themes_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-ms-themes-list-table.php',
+        'WP_MS_Users_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-ms-users-list-table.php',
+        'WP_MatchesMapRegex' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-matchesmapregex.php',
+        'WP_Media_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-media-list-table.php',
+        'WP_Meta_Query' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-meta-query.php',
+        'WP_Metadata_Lazyloader' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-metadata-lazyloader.php',
+        'WP_Nav_Menu_Widget' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-nav-menu-widget.php',
+        'WP_Network' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-network.php',
+        'WP_Network_Query' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-network-query.php',
+        'WP_Plugin_Install_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-plugin-install-list-table.php',
+        'WP_Plugins_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-plugins-list-table.php',
+        'WP_Post' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-post.php',
+        'WP_Post_Comments_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-post-comments-list-table.php',
+        'WP_Post_Type' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-post-type.php',
+        'WP_Posts_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-posts-list-table.php',
+        'WP_Press_This' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-press-this.php',
+        'WP_Query' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-query.php',
+        'WP_REST_Request' => __DIR__ . '/../../..' . '/src/wp-includes/rest-api/class-wp-rest-request.php',
+        'WP_REST_Response' => __DIR__ . '/../../..' . '/src/wp-includes/rest-api/class-wp-rest-response.php',
+        'WP_REST_Server' => __DIR__ . '/../../..' . '/src/wp-includes/rest-api/class-wp-rest-server.php',
+        'WP_Rewrite' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-rewrite.php',
+        'WP_Role' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-role.php',
+        'WP_Roles' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-roles.php',
+        'WP_Screen' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-screen.php',
+        'WP_Scripts' => __DIR__ . '/../../..' . '/src/wp-includes/class.wp-scripts.php',
+        'WP_Session_Tokens' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-session-tokens.php',
+        'WP_SimplePie_File' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-simplepie-file.php',
+        'WP_SimplePie_Sanitize_KSES' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-simplepie-sanitize-kses.php',
+        'WP_Site' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-site.php',
+        'WP_Site_Icon' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-site-icon.php',
+        'WP_Site_Query' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-site-query.php',
+        'WP_Styles' => __DIR__ . '/../../..' . '/src/wp-includes/class.wp-styles.php',
+        'WP_Tax_Query' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-tax-query.php',
+        'WP_Term' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-term.php',
+        'WP_Term_Query' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-term-query.php',
+        'WP_Terms_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-terms-list-table.php',
+        'WP_Text_Diff_Renderer_Table' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-text-diff-renderer-table.php',
+        'WP_Text_Diff_Renderer_inline' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-text-diff-renderer-inline.php',
+        'WP_Theme' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-theme.php',
+        'WP_Theme_Install_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-theme-install-list-table.php',
+        'WP_Themes_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-themes-list-table.php',
+        'WP_Upgrader' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-upgrader.php',
+        'WP_Upgrader_Skin' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-upgrader-skin.php',
+        'WP_User' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-user.php',
+        'WP_User_Meta_Session_Tokens' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-user-meta-session-tokens.php',
+        'WP_User_Query' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-user-query.php',
+        'WP_Users_List_Table' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-users-list-table.php',
+        'WP_Widget' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-widget.php',
+        'WP_Widget_Archives' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-archives.php',
+        'WP_Widget_Area_Customize_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-widget-area-customize-control.php',
+        'WP_Widget_Calendar' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-calendar.php',
+        'WP_Widget_Categories' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-categories.php',
+        'WP_Widget_Factory' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-widget-factory.php',
+        'WP_Widget_Form_Customize_Control' => __DIR__ . '/../../..' . '/src/wp-includes/customize/class-wp-widget-form-customize-control.php',
+        'WP_Widget_Links' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-links.php',
+        'WP_Widget_Meta' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-meta.php',
+        'WP_Widget_Pages' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-pages.php',
+        'WP_Widget_RSS' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-rss.php',
+        'WP_Widget_Recent_Comments' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-recent-comments.php',
+        'WP_Widget_Recent_Posts' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-recent-posts.php',
+        'WP_Widget_Search' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-search.php',
+        'WP_Widget_Tag_Cloud' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-tag-cloud.php',
+        'WP_Widget_Text' => __DIR__ . '/../../..' . '/src/wp-includes/widgets/class-wp-widget-text.php',
+        'WP_oEmbed' => __DIR__ . '/../../..' . '/src/wp-includes/class-oembed.php',
+        'WP_oEmbed_Controller' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-oembed-controller.php',
+        'Walker' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-walker.php',
+        'Walker_Category' => __DIR__ . '/../../..' . '/src/wp-includes/class-walker-category.php',
+        'Walker_CategoryDropdown' => __DIR__ . '/../../..' . '/src/wp-includes/class-walker-category-dropdown.php',
+        'Walker_Category_Checklist' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-walker-category-checklist.php',
+        'Walker_Comment' => __DIR__ . '/../../..' . '/src/wp-includes/class-walker-comment.php',
+        'Walker_Nav_Menu' => __DIR__ . '/../../..' . '/src/wp-includes/class-walker-nav-menu.php',
+        'Walker_Nav_Menu_Checklist' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-walker-nav-menu-checklist.php',
+        'Walker_Nav_Menu_Edit' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-walker-nav-menu-edit.php',
+        'Walker_Page' => __DIR__ . '/../../..' . '/src/wp-includes/class-walker-page.php',
+        'Walker_PageDropdown' => __DIR__ . '/../../..' . '/src/wp-includes/class-walker-page-dropdown.php',
+        '_WP_Dependency' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-dependency.php',
+        '_WP_Editors' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-editor.php',
+        '_WP_List_Table_Compat' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-wp-list-table-compat.php',
+        'ftp' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-ftp.php',
+        'ftp_base' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-ftp.php',
+        'ftp_pure' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-ftp-pure.php',
+        'ftp_sockets' => __DIR__ . '/../../..' . '/src/wp-admin/includes/class-ftp-sockets.php',
+        'phpmailerException' => __DIR__ . '/../../..' . '/src/wp-includes/class-phpmailer.php',
+        'wp_xmlrpc_server' => __DIR__ . '/../../..' . '/src/wp-includes/class-wp-xmlrpc-server.php',
+        'wpdb' => __DIR__ . '/../../..' . '/src/wp-includes/wp-db.php',
+    );
+
+    public static function getInitializer(ClassLoader $loader)
+    {
+        return \Closure::bind(function () use ($loader) {
+            $loader->prefixesPsr0 = ComposerStaticInit710c4d189b643946867e98aea6152d0f::$prefixesPsr0;
+            $loader->classMap = ComposerStaticInit710c4d189b643946867e98aea6152d0f::$classMap;
+
+        }, null, ClassLoader::class);
+    }
+}
Index: src/vendor/composer/installed.json
===================================================================
--- src/vendor/composer/installed.json	(nonexistent)
+++ src/vendor/composer/installed.json	(working copy)
@@ -0,0 +1,35 @@
+[
+    {
+        "name": "xrstf/composer-php52",
+        "version": "v1.0.20",
+        "version_normalized": "1.0.20.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/composer-php52/composer-php52.git",
+            "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/composer-php52/composer-php52/zipball/bd41459d5e27df8d33057842b32377c39e97a5a8",
+            "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8",
+            "shasum": ""
+        },
+        "time": "2016-04-16 21:52:24",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-default": "1.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "xrstf\\Composer52": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ]
+    }
+]
Index: src/vendor/xrstf/composer-php52/LICENSE
===================================================================
--- src/vendor/xrstf/composer-php52/LICENSE	(nonexistent)
+++ src/vendor/xrstf/composer-php52/LICENSE	(working copy)
@@ -0,0 +1,19 @@
+Copyright (c) 2013 Christoph Mewes
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
Index: src/vendor/xrstf/composer-php52/README.md
===================================================================
--- src/vendor/xrstf/composer-php52/README.md	(nonexistent)
+++ src/vendor/xrstf/composer-php52/README.md	(working copy)
@@ -0,0 +1,37 @@
+PHP 5.2 Autoloading for Composer
+================================
+
+This package provides an easy way to get a PHP 5.2 compatible autoloader out of Composer. The generated autoloader is fully compatible to the original and is written into separate files, each ending with `_52.php`.
+
+Legacy
+------
+
+Please do not use this, if you can avoid it. It's a horrible hack, often breaks and is extremely tied to Composer's interna. This package was originally developed in 2012, when PHP 5.2 was much more common on cheap webhosts.
+
+In 2016, this package has been moved from Bitbucket to a Github organization, because the original developer could no longer reliably maintain it. This is the reason for this legacy package name ``xrstf/...``.
+
+Usage
+-----
+
+In your project's `composer.json`, add the following lines:
+
+```json
+{
+    "require": {
+        "xrstf/composer-php52": "1.*"
+    },
+    "scripts": {
+        "post-install-cmd": [
+            "xrstf\\Composer52\\Generator::onPostInstallCmd"
+        ],
+        "post-update-cmd": [
+            "xrstf\\Composer52\\Generator::onPostInstallCmd"
+        ],
+        "post-autoload-dump": [
+            "xrstf\\Composer52\\Generator::onPostInstallCmd"
+        ]
+    }
+}
+```
+
+After the next update/install, you will have a `vendor/autoload_52.php` file, that you can simply include and use in PHP 5.2 projects.
Index: src/vendor/xrstf/composer-php52/composer.json
===================================================================
--- src/vendor/xrstf/composer-php52/composer.json	(nonexistent)
+++ src/vendor/xrstf/composer-php52/composer.json	(working copy)
@@ -0,0 +1,26 @@
+{
+    "name": "xrstf/composer-php52",
+    "license": "MIT",
+    "support": {
+        "source": "https://github.com/composer-php52/composer-php52",
+        "issues": "https://github.com/composer-php52/composer-php52/issues"
+    },
+    "autoload": {
+        "psr-0": {
+            "xrstf\\Composer52": "lib/"
+        }
+    },
+    "scripts": {
+        "post-install-cmd": [
+            "xrstf\\Composer52\\Generator::onPostInstallCmd"
+        ],
+        "post-update-cmd": [
+            "xrstf\\Composer52\\Generator::onPostInstallCmd"
+        ]
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-default": "1.x-dev"
+        }
+    }
+}
Index: src/vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php
===================================================================
--- src/vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php	(nonexistent)
+++ src/vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php	(working copy)
@@ -0,0 +1,346 @@
+<?php
+/*
+ * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
+ *
+ * This file is released under the terms of the MIT license. You can find the
+ * complete text in the attached LICENSE file or online at:
+ *
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * --------------------------------------------------------------------------
+ *
+ * 99% of this is copied as-is from the original Composer source code and is
+ * released under MIT license as well. Copyright goes to:
+ *
+ * - Igor Wiedler <igor@wiedler.ch>
+ * - Jordi Boggiano <j.boggiano@seld.be>
+ */
+
+namespace xrstf\Composer52;
+
+use Composer\Autoload\AutoloadGenerator as BaseGenerator;
+use Composer\Autoload\ClassMapGenerator;
+use Composer\Config;
+use Composer\Installer\InstallationManager;
+use Composer\Package\AliasPackage;
+use Composer\Package\PackageInterface;
+use Composer\Repository\InstalledRepositoryInterface;
+use Composer\Util\Filesystem;
+
+class AutoloadGenerator extends BaseGenerator {
+
+	/**
+	 * @var bool
+	 */
+	private $classMapAuthoritative = false;
+
+	public function __construct() {
+		// do nothing (but keep this constructor so we can build an instance without the need for an event dispatcher)
+	}
+
+	/**
+	 * Whether or not generated autoloader considers the class map
+	 * authoritative.
+	 *
+	 * @param bool $classMapAuthoritative
+	 */
+	public function setClassMapAuthoritative($classMapAuthoritative)
+	{
+		$this->classMapAuthoritative = (boolean) $classMapAuthoritative;
+	}
+
+	public function dump(Config $config, InstalledRepositoryInterface $localRepo, PackageInterface $mainPackage, InstallationManager $installationManager, $targetDir, $scanPsr0Packages = false, $suffix = '') {
+		if ($this->classMapAuthoritative) {
+			// Force scanPsr0Packages when classmap is authoritative
+			$scanPsr0Packages = true;
+		}
+
+		$filesystem = new Filesystem();
+		$filesystem->ensureDirectoryExists($config->get('vendor-dir'));
+
+		$cwd        = getcwd();
+		$basePath   = $filesystem->normalizePath($cwd);
+		$vendorPath = $filesystem->normalizePath(realpath($config->get('vendor-dir')));
+		$targetDir  = $vendorPath.'/'.$targetDir;
+		$filesystem->ensureDirectoryExists($targetDir);
+
+		$useGlobalIncludePath  = (bool) $config->get('use-include-path');
+		$prependAutoloader     = $config->get('prepend-autoloader') === false ? 'false' : 'true';
+		$classMapAuthoritative = $config->get('classmap-authoritative');
+
+		$vendorPathCode            = $filesystem->findShortestPathCode(realpath($targetDir), $vendorPath, true);
+		$vendorPathToTargetDirCode = $filesystem->findShortestPathCode($vendorPath, realpath($targetDir), true);
+
+		$appBaseDirCode = $filesystem->findShortestPathCode($vendorPath, $basePath, true);
+		$appBaseDirCode = str_replace('__DIR__', '$vendorDir', $appBaseDirCode);
+
+		// add 5.2 compat
+		$vendorPathCode            = str_replace('__DIR__', 'dirname(__FILE__)', $vendorPathCode);
+		$vendorPathToTargetDirCode = str_replace('__DIR__', 'dirname(__FILE__)', $vendorPathToTargetDirCode);
+
+		$packageMap = $this->buildPackageMap($installationManager, $mainPackage, $localRepo->getCanonicalPackages());
+		$autoloads = $this->parseAutoloads($packageMap, $mainPackage);
+
+		// add custom psr-0 autoloading if the root package has a target dir
+		$targetDirLoader = null;
+		$mainAutoload = $mainPackage->getAutoload();
+		if ($mainPackage->getTargetDir() && !empty($mainAutoload['psr-0'])) {
+			$levels   = count(explode('/', $filesystem->normalizePath($mainPackage->getTargetDir())));
+			$prefixes = implode(', ', array_map(function ($prefix) {
+				return var_export($prefix, true);
+			}, array_keys($mainAutoload['psr-0'])));
+
+			$baseDirFromTargetDirCode = $filesystem->findShortestPathCode($targetDir, $basePath, true);
+
+			$targetDirLoader = <<<EOF
+
+	public static function autoload(\$class) {
+		\$dir      = $baseDirFromTargetDirCode.'/';
+		\$prefixes = array($prefixes);
+
+		foreach (\$prefixes as \$prefix) {
+			if (0 !== strpos(\$class, \$prefix)) {
+				continue;
+			}
+
+			\$path = explode(DIRECTORY_SEPARATOR, self::getClassPath(\$class));
+			\$path = \$dir.implode('/', array_slice(\$path, $levels));
+
+			if (!\$path = self::resolveIncludePath(\$path)) {
+				return false;
+			}
+
+			require \$path;
+			return true;
+		}
+	}
+
+EOF;
+		}
+
+		$filesCode = "";
+		$autoloads['files'] = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($autoloads['files']));
+		foreach ($autoloads['files'] as $functionFile) {
+			// don't include file if it is using PHP 5.3+ syntax
+			// https://bitbucket.org/xrstf/composer-php52/issue/4
+			if ($this->isPHP53($functionFile)) {
+				$filesCode .= '//		require '.$this->getPathCode($filesystem, $basePath, $vendorPath, $functionFile)."; // disabled because of PHP 5.3 syntax\n";
+			}
+			else {
+				$filesCode .= '		require '.$this->getPathCode($filesystem, $basePath, $vendorPath, $functionFile).";\n";
+			}
+		}
+
+		if (!$suffix) {
+			$suffix = md5(uniqid('', true));
+		}
+
+		$includePathFile = $this->getIncludePathsFile($packageMap, $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode);
+
+		file_put_contents($vendorPath.'/autoload_52.php', $this->getAutoloadFile($vendorPathToTargetDirCode, $suffix));
+		file_put_contents($targetDir.'/autoload_real_52.php', $this->getAutoloadRealFile(true, (bool) $includePathFile, $targetDirLoader, $filesCode, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader));
+
+		// use stream_copy_to_stream instead of copy
+		// to work around https://bugs.php.net/bug.php?id=64634
+		$sourceLoader = fopen(__DIR__.'/ClassLoader.php', 'r');
+		$targetLoader = fopen($targetDir.'/ClassLoader52.php', 'w+');
+		stream_copy_to_stream($sourceLoader, $targetLoader);
+		fclose($sourceLoader);
+		fclose($targetLoader);
+		unset($sourceLoader, $targetLoader);
+	}
+
+	protected function isPHP53($file) {
+		$tokens = token_get_all(file_get_contents($file));
+		$php53  = array(T_DIR, T_GOTO, T_NAMESPACE, T_NS_C, T_NS_SEPARATOR, T_USE);
+
+		// PHP 5.4+
+		if (defined('T_TRAIT')) {
+			$php53[] = T_TRAIT;
+			$php53[] = T_TRAIT_C;
+			$php53[] = T_TRAIT_C;
+		}
+
+		// PHP 5.5+
+		if (defined('T_FINALLY')) {
+			$php53[] = T_FINALLY;
+			$php53[] = T_YIELD;
+		}
+
+		foreach ($tokens as $token) {
+			if (is_array($token) && in_array($token[0], $php53)) {
+				return true;
+			}
+		}
+
+		return false;
+	}
+
+	protected function getIncludePathsFile(array $packageMap, Filesystem $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode) {
+		$includePaths = array();
+
+		foreach ($packageMap as $item) {
+			list($package, $installPath) = $item;
+
+			if (null !== $package->getTargetDir() && strlen($package->getTargetDir()) > 0) {
+				$installPath = substr($installPath, 0, -strlen('/'.$package->getTargetDir()));
+			}
+
+			foreach ($package->getIncludePaths() as $includePath) {
+				$includePath = trim($includePath, '/');
+				$includePaths[] = empty($installPath) ? $includePath : $installPath.'/'.$includePath;
+			}
+		}
+
+		if (!$includePaths) {
+			return;
+		}
+
+		$includePathsFile = <<<EOF
+<?php
+
+// include_paths_52.php generated by xrstf/composer-php52
+
+\$vendorDir = $vendorPathCode;
+\$baseDir = $appBaseDirCode;
+
+return array(
+
+EOF;
+
+		foreach ($includePaths as $path) {
+			$includePathsFile .= "\t" . $this->getPathCode($filesystem, $basePath, $vendorPath, $path) . ",\n";
+		}
+
+		return $includePathsFile . ");\n";
+	}
+
+	protected function getAutoloadFile($vendorPathToTargetDirCode, $suffix) {
+		return <<<AUTOLOAD
+<?php
+
+// autoload_52.php generated by xrstf/composer-php52
+
+require_once $vendorPathToTargetDirCode.'/autoload_real_52.php';
+
+return ComposerAutoloaderInit$suffix::getLoader();
+
+AUTOLOAD;
+	}
+
+	protected function getAutoloadRealFile($useClassMap, $useIncludePath, $targetDirLoader, $filesCode, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader, $staticPhpVersion = 70000) {
+		// TODO the class ComposerAutoloaderInit should be revert to a closure
+		// when APC has been fixed:
+		// - https://github.com/composer/composer/issues/959
+		// - https://bugs.php.net/bug.php?id=52144
+		// - https://bugs.php.net/bug.php?id=61576
+		// - https://bugs.php.net/bug.php?id=59298
+
+		if ($filesCode) {
+				$filesCode = "\n\n".rtrim($filesCode);
+		}
+
+		$file = <<<HEADER
+<?php
+
+// autoload_real_52.php generated by xrstf/composer-php52
+
+class ComposerAutoloaderInit$suffix {
+	private static \$loader;
+
+	public static function loadClassLoader(\$class) {
+		if ('xrstf_Composer52_ClassLoader' === \$class) {
+			require dirname(__FILE__).'/ClassLoader52.php';
+		}
+	}
+
+	/**
+	 * @return xrstf_Composer52_ClassLoader
+	 */
+	public static function getLoader() {
+		if (null !== self::\$loader) {
+			return self::\$loader;
+		}
+
+		spl_autoload_register(array('ComposerAutoloaderInit$suffix', 'loadClassLoader'), true /*, true */);
+		self::\$loader = \$loader = new xrstf_Composer52_ClassLoader();
+		spl_autoload_unregister(array('ComposerAutoloaderInit$suffix', 'loadClassLoader'));
+
+		\$vendorDir = $vendorPathCode;
+		\$baseDir   = $appBaseDirCode;
+		\$dir       = dirname(__FILE__);
+
+
+HEADER;
+
+		if ($useIncludePath) {
+			$file .= <<<'INCLUDE_PATH'
+		$includePaths = require $dir.'/include_paths.php';
+		array_push($includePaths, get_include_path());
+		set_include_path(implode(PATH_SEPARATOR, $includePaths));
+
+
+INCLUDE_PATH;
+		}
+
+		$file .= <<<'PSR0'
+		$map = require $dir.'/autoload_namespaces.php';
+		foreach ($map as $namespace => $path) {
+			$loader->add($namespace, $path);
+		}
+
+
+PSR0;
+
+		if ($useClassMap) {
+			$file .= <<<'CLASSMAP'
+		$classMap = require $dir.'/autoload_classmap.php';
+		if ($classMap) {
+			$loader->addClassMap($classMap);
+		}
+
+
+CLASSMAP;
+		}
+
+		if ($this->classMapAuthoritative) {
+			$file .= <<<'CLASSMAPAUTHORITATIVE'
+		$loader->setClassMapAuthoritative(true);
+
+CLASSMAPAUTHORITATIVE;
+		}
+
+		if ($useGlobalIncludePath) {
+			$file .= <<<'INCLUDEPATH'
+		$loader->setUseIncludePath(true);
+
+
+INCLUDEPATH;
+		}
+
+		if ($targetDirLoader) {
+			$file .= <<<REGISTER_AUTOLOAD
+		spl_autoload_register(array('ComposerAutoloaderInit$suffix', 'autoload'), true);
+
+
+REGISTER_AUTOLOAD;
+
+		}
+
+		$file .= <<<METHOD_FOOTER
+		\$loader->register($prependAutoloader);{$filesCode}
+
+		return \$loader;
+	}
+
+METHOD_FOOTER;
+
+		$file .= $targetDirLoader;
+
+		return $file . <<<FOOTER
+}
+
+FOOTER;
+
+	}
+}
Index: src/vendor/xrstf/composer-php52/lib/xrstf/Composer52/ClassLoader.php
===================================================================
--- src/vendor/xrstf/composer-php52/lib/xrstf/Composer52/ClassLoader.php	(nonexistent)
+++ src/vendor/xrstf/composer-php52/lib/xrstf/Composer52/ClassLoader.php	(working copy)
@@ -0,0 +1,271 @@
+<?php
+/*
+ * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
+ *
+ * This file is released under the terms of the MIT license. You can find the
+ * complete text in the attached LICENSE file or online at:
+ *
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * --------------------------------------------------------------------------
+ *
+ * 99% of this is copied as-is from the original Composer source code and is
+ * released under MIT license as well. Copyright goes to:
+ *
+ * - Fabien Potencier <fabien@symfony.com>
+ * - Jordi Boggiano <j.boggiano@seld.be>
+ */
+
+class xrstf_Composer52_ClassLoader {
+	private $prefixes              = array();
+	private $fallbackDirs          = array();
+	private $useIncludePath        = false;
+	private $classMap              = array();
+	private $classMapAuthoratative = false;
+	private $allowUnderscore       = false;
+
+	/**
+	 * @param boolean $flag  true to allow class names with a leading underscore, false to disable
+	 */
+	public function setAllowUnderscore($flag) {
+		$this->allowUnderscore = (boolean) $flag;
+	}
+
+	/**
+	 * @return array
+	 */
+	public function getPrefixes() {
+		return $this->prefixes;
+	}
+
+	/**
+	 * Turns off searching the prefix and fallback directories for classes
+	 * that have not been registered with the class map.
+	 *
+	 * @param bool $classMapAuthoratative
+	 */
+	public function setClassMapAuthoritative($classMapAuthoratative) {
+		$this->classMapAuthoratative = $classMapAuthoratative;
+	}
+
+	/**
+	 * Should class lookup fail if not found in the current class map?
+	 *
+	 * @return bool
+	 */
+	public function getClassMapAuthoratative() {
+		return $this->classMapAuthoratative;
+	}
+
+	/**
+	 * @return array
+	 */
+	public function getFallbackDirs() {
+		return $this->fallbackDirs;
+	}
+
+	/**
+	 * @return array
+	 */
+	public function getClassMap() {
+		return $this->classMap;
+	}
+
+	/**
+	 * @param array $classMap  class to filename map
+	 */
+	public function addClassMap(array $classMap) {
+		if ($this->classMap) {
+			$this->classMap = array_merge($this->classMap, $classMap);
+		}
+		else {
+			$this->classMap = $classMap;
+		}
+	}
+
+	/**
+	 * Registers a set of classes, merging with any others previously set.
+	 *
+	 * @param string       $prefix   the classes prefix
+	 * @param array|string $paths    the location(s) of the classes
+	 * @param bool         $prepend  prepend the location(s)
+	 */
+	public function add($prefix, $paths, $prepend = false) {
+		if (!$prefix) {
+			if ($prepend) {
+				$this->fallbackDirs = array_merge(
+					(array) $paths,
+					$this->fallbackDirs
+				);
+			}
+			else {
+				$this->fallbackDirs = array_merge(
+					$this->fallbackDirs,
+					(array) $paths
+				);
+			}
+
+			return;
+		}
+
+		if (!isset($this->prefixes[$prefix])) {
+			$this->prefixes[$prefix] = (array) $paths;
+			return;
+		}
+
+		if ($prepend) {
+			$this->prefixes[$prefix] = array_merge(
+				(array) $paths,
+				$this->prefixes[$prefix]
+			);
+		}
+		else {
+			$this->prefixes[$prefix] = array_merge(
+				$this->prefixes[$prefix],
+				(array) $paths
+			);
+		}
+	}
+
+	/**
+	 * Registers a set of classes, replacing any others previously set.
+	 *
+	 * @param string       $prefix  the classes prefix
+	 * @param array|string $paths   the location(s) of the classes
+	 */
+	public function set($prefix, $paths) {
+		if (!$prefix) {
+			$this->fallbackDirs = (array) $paths;
+			return;
+		}
+
+		$this->prefixes[$prefix] = (array) $paths;
+	}
+
+	/**
+	 * Turns on searching the include path for class files.
+	 *
+	 * @param bool $useIncludePath
+	 */
+	public function setUseIncludePath($useIncludePath) {
+		$this->useIncludePath = $useIncludePath;
+	}
+
+	/**
+	 * Can be used to check if the autoloader uses the include path to check
+	 * for classes.
+	 *
+	 * @return bool
+	 */
+	public function getUseIncludePath() {
+		return $this->useIncludePath;
+	}
+
+	/**
+	 * Registers this instance as an autoloader.
+	 */
+	public function register() {
+		spl_autoload_register(array($this, 'loadClass'), true);
+	}
+
+	/**
+	 * Unregisters this instance as an autoloader.
+	 */
+	public function unregister() {
+		spl_autoload_unregister(array($this, 'loadClass'));
+	}
+
+	/**
+	 * Loads the given class or interface.
+	 *
+	 * @param  string $class  the name of the class
+	 * @return bool|null      true, if loaded
+	 */
+	public function loadClass($class) {
+		if ($file = $this->findFile($class)) {
+			include $file;
+			return true;
+		}
+	}
+
+	/**
+	 * Finds the path to the file where the class is defined.
+	 *
+	 * @param  string $class  the name of the class
+	 * @return string|null    the path, if found
+	 */
+	public function findFile($class) {
+		if ('\\' === $class[0]) {
+			$class = substr($class, 1);
+		}
+
+		if (isset($this->classMap[$class])) {
+			return $this->classMap[$class];
+		}
+		elseif ($this->classMapAuthoratative) {
+			return false;
+		}
+
+		$classPath = $this->getClassPath($class);
+
+		foreach ($this->prefixes as $prefix => $dirs) {
+			if (0 === strpos($class, $prefix)) {
+				foreach ($dirs as $dir) {
+					if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
+						return $dir.DIRECTORY_SEPARATOR.$classPath;
+					}
+				}
+			}
+		}
+
+		foreach ($this->fallbackDirs as $dir) {
+			if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
+				return $dir.DIRECTORY_SEPARATOR.$classPath;
+			}
+		}
+
+		if ($this->useIncludePath && $file = self::resolveIncludePath($classPath)) {
+			return $file;
+		}
+
+		return $this->classMap[$class] = false;
+	}
+
+	private function getClassPath($class) {
+		if (false !== $pos = strrpos($class, '\\')) {
+			// namespaced class name
+			$classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)).DIRECTORY_SEPARATOR;
+			$className = substr($class, $pos + 1);
+		}
+		else {
+			// PEAR-like class name
+			$classPath = null;
+			$className = $class;
+		}
+
+		$className = str_replace('_', DIRECTORY_SEPARATOR, $className);
+
+		// restore the prefix
+		if ($this->allowUnderscore && DIRECTORY_SEPARATOR === $className[0]) {
+			$className[0] = '_';
+		}
+
+		$classPath .= $className.'.php';
+
+		return $classPath;
+	}
+
+	public static function resolveIncludePath($classPath) {
+		$paths = explode(PATH_SEPARATOR, get_include_path());
+
+		foreach ($paths as $path) {
+			$path = rtrim($path, '/\\');
+
+			if ($file = file_exists($path.DIRECTORY_SEPARATOR.$file)) {
+				return $file;
+			}
+		}
+
+		return false;
+	}
+}
Index: src/vendor/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php
===================================================================
--- src/vendor/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php	(nonexistent)
+++ src/vendor/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php	(working copy)
@@ -0,0 +1,39 @@
+<?php
+/*
+ * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
+ *
+ * This file is released under the terms of the MIT license. You can find the
+ * complete text in the attached LICENSE file or online at:
+ *
+ * http://www.opensource.org/licenses/mit-license.php
+ */
+
+namespace xrstf\Composer52;
+
+use Composer\Repository\CompositeRepository;
+use Composer\Script\Event;
+
+class Generator {
+	public static function onPostInstallCmd(Event $event) {
+		$composer            = $event->getComposer();
+		$installationManager = $composer->getInstallationManager();
+		$repoManager         = $composer->getRepositoryManager();
+		$localRepo           = $repoManager->getLocalRepository();
+		$package             = $composer->getPackage();
+		$config              = $composer->getConfig();
+
+		// We can't gain access to the Command's input object, so we have to look
+		// for -o / --optimize-autoloader ourselves. Sadly, neither getopt() works
+		// (always returns an empty array), nor does Symfony's Console Input, as
+		// it expects a full definition of the current command line and we can't
+		// provide that.
+
+		$args     = $_SERVER['argv'];
+		$optimize = in_array('-o', $args) || in_array('--optimize-autoloader', $args) || in_array('--optimize', $args);
+
+		$suffix   = $config->get('autoloader-suffix');
+
+		$generator = new AutoloadGenerator();
+		$generator->dump($config, $localRepo, $package, $installationManager, 'composer', $optimize, $suffix);
+	}
+}
