diff --git a/vendor/ZF2/bin/check-cs.sh b/vendor/ZF2/bin/check-cs.sh
new file mode 100644
index 0000000000000000000000000000000000000000..6cc200f780e6d9116dd1812d8e57576c1c4b424d
--- /dev/null
+++ b/vendor/ZF2/bin/check-cs.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+cd "$(dirname $(dirname "$0"))"
+
+output=$(php php-cs-fixer.phar fix -v --dry-run --level=psr2 .)
+echo $output
+cs=0
+if [[ "$output" -ne "" ]];then
+    cs=2
+fi
+echo "Coding standards exited with status $cs"
+
+if [[ "$cs" -eq "2" ]];then
+    echo "Exiting with status 2 due to CS";
+    exit 2;
+fi
+
+exit 0
diff --git a/vendor/ZF2/library/Zend/Authentication/Adapter/AbstractAdapter.php b/vendor/ZF2/library/Zend/Authentication/Adapter/AbstractAdapter.php
index 4fe904e90b0b4cab67cfcd3e4dc0af25161564bb..6671a40f594bb1d1e6e61e431294b82750601ac6 100644
--- a/vendor/ZF2/library/Zend/Authentication/Adapter/AbstractAdapter.php
+++ b/vendor/ZF2/library/Zend/Authentication/Adapter/AbstractAdapter.php
@@ -61,7 +61,7 @@ abstract class AbstractAdapter implements ValidatableAdapterInterface
      * Sets the identity for binding
      *
      * @param  mixed          $identity
-     * @return AbstractAdpter
+     * @return AbstractAdapter
      */
     public function setIdentity($identity)
     {
diff --git a/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php b/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
index 446f803113d3904d28db01b067d223c8a49e5b16..3b4113528f93a62274b6213502a5b906a5d5f357 100644
--- a/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
+++ b/vendor/ZF2/library/Zend/Authentication/Adapter/DbTable.php
@@ -330,7 +330,7 @@ class DbTable extends AbstractAdapter
      * _authenticateCreateSelect() - This method creates a Zend\Db\Sql\Select object that
      * is completely configured to be queried against the database.
      *
-     * @return DbSelect
+     * @return Sql\Select
      */
     protected function _authenticateCreateSelect()
     {
@@ -358,7 +358,7 @@ class DbTable extends AbstractAdapter
      * _authenticateQuerySelect() - This method accepts a Zend\Db\Sql\Select object and
      * performs a query against the database with that object.
      *
-     * @param  DbSelect $dbSelect
+     * @param  Sql\Select $dbSelect
      * @throws Exception\RuntimeException when an invalid select object is encountered
      * @return array
      */
diff --git a/vendor/ZF2/library/Zend/Authentication/README.md b/vendor/ZF2/library/Zend/Authentication/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..4ed7b06b76e5da9f10b757061fe0b255a51f67c1
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Authentication/README.md
@@ -0,0 +1,14 @@
+Authentication Component from ZF2
+=================================
+
+This is the Authentication component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
diff --git a/vendor/ZF2/library/Zend/Authentication/Validator/Authentication.php b/vendor/ZF2/library/Zend/Authentication/Validator/Authentication.php
index 533c212629666cc0d9140893992cd0dc0b50064b..906841e9af24af59a02766d696b04cc5ad7a12ff 100644
--- a/vendor/ZF2/library/Zend/Authentication/Validator/Authentication.php
+++ b/vendor/ZF2/library/Zend/Authentication/Validator/Authentication.php
@@ -46,7 +46,7 @@ class Authentication extends AbstractValidator
 
     /**
      * Authentication Adapter
-     * @var Zend\Authentication\Adapter\Adapter
+     * @var ValidatableAdapterInterface
      */
     protected $adapter;
 
@@ -64,7 +64,7 @@ class Authentication extends AbstractValidator
 
     /**
      * Authentication Service
-     * @var Zend\Authentication\AuthenticationService
+     * @var AuthenticationService
      */
     protected $service;
 
@@ -99,7 +99,7 @@ class Authentication extends AbstractValidator
     /**
      * Get Adapter
      *
-     * @return Zend\Authentication\Adapter\ValidatableAdapterInterface
+     * @return ValidatableAdapterInterface
      */
     public function getAdapter()
     {
@@ -109,7 +109,7 @@ class Authentication extends AbstractValidator
     /**
      * Set Adapter
      *
-     * @param  Zend\Authentication\Adapter\ValidatableAdapterInterface $adapter
+     * @param  ValidatableAdapterInterface $adapter
      * @return Authentication
      */
     public function setAdapter(ValidatableAdapterInterface $adapter)
@@ -168,7 +168,7 @@ class Authentication extends AbstractValidator
     /**
      * Get Service
      *
-     * @return Zend\Authentication\AuthenticationService
+     * @return AuthenticationService
      */
     public function getService()
     {
@@ -178,7 +178,7 @@ class Authentication extends AbstractValidator
     /**
      * Set Service
      *
-     * @param  Zend\Authentication\AuthenticationService $service
+     * @param  AuthenticationService $service
      * @return Authentication
      */
     public function setService(AuthenticationService $service)
diff --git a/vendor/ZF2/library/Zend/Authentication/composer.json b/vendor/ZF2/library/Zend/Authentication/composer.json
index 4304fb7c9c568fabe8e2ed0a7f1be61e557b59d9..c8fab06210bbdd8382be8dec3c75dd26fcabeb3a 100644
--- a/vendor/ZF2/library/Zend/Authentication/composer.json
+++ b/vendor/ZF2/library/Zend/Authentication/composer.json
@@ -20,5 +20,11 @@
         "zendframework/zend-db": "Zend\\Db component",
         "zendframework/zend-uri": "Zend\\Uri component",
         "zendframework/zend-session": "Zend\\Session component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Barcode/ObjectPluginManager.php b/vendor/ZF2/library/Zend/Barcode/ObjectPluginManager.php
index d06da4dce7560b12954081752ab4aed727fbaa4f..991c4b5f60a98650596fd2a1efdb2aa10a04293c 100644
--- a/vendor/ZF2/library/Zend/Barcode/ObjectPluginManager.php
+++ b/vendor/ZF2/library/Zend/Barcode/ObjectPluginManager.php
@@ -20,6 +20,11 @@ use Zend\ServiceManager\AbstractPluginManager;
  */
 class ObjectPluginManager extends AbstractPluginManager
 {
+    /**
+     * @var bool Ensure services are not shared
+     */
+    protected $shareByDefault = false;
+
     /**
      * Default set of barcode parsers
      *
diff --git a/vendor/ZF2/library/Zend/Barcode/README.md b/vendor/ZF2/library/Zend/Barcode/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..2dc1c0895f74192ae90e812f1de115e27cf79971
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Barcode/README.md
@@ -0,0 +1,14 @@
+Barcode Component from ZF2
+==========================
+
+This is the Barcode component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
diff --git a/vendor/ZF2/library/Zend/Barcode/RendererPluginManager.php b/vendor/ZF2/library/Zend/Barcode/RendererPluginManager.php
index d34dd00f81942d3afd8347159d75cadf9daa16af..93258e46a4bffeeb142f77c0e8cf838cbbbdfbbb 100644
--- a/vendor/ZF2/library/Zend/Barcode/RendererPluginManager.php
+++ b/vendor/ZF2/library/Zend/Barcode/RendererPluginManager.php
@@ -20,6 +20,11 @@ use Zend\ServiceManager\AbstractPluginManager;
  */
 class RendererPluginManager extends AbstractPluginManager
 {
+    /**
+     * @var bool Ensure services are not shared
+     */
+    protected $shareByDefault = false;
+
     /**
      * Default set of barcode renderers
      *
diff --git a/vendor/ZF2/library/Zend/Barcode/composer.json b/vendor/ZF2/library/Zend/Barcode/composer.json
index c107f08b685f6e506dd78840b14bb20702014732..f9f8002d993ce5d16b18529e58353b835d23ea5a 100644
--- a/vendor/ZF2/library/Zend/Barcode/composer.json
+++ b/vendor/ZF2/library/Zend/Barcode/composer.json
@@ -22,5 +22,11 @@
     "suggest": {
         "zendframework/zend-validator": "Zend\\Validator component",
         "zendframework/zendpdf": "ZendPdf component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Cache/README.md b/vendor/ZF2/library/Zend/Cache/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..62aa9e0e0cde2c43ffbfb008be62aa325a09537b
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Cache/README.md
@@ -0,0 +1,14 @@
+Cache Component from ZF2
+========================
+
+This is the Cache component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
diff --git a/vendor/ZF2/library/Zend/Cache/composer.json b/vendor/ZF2/library/Zend/Cache/composer.json
index 8d06a2bf0c3163ba28536c346f4010dd2714d4d9..0dd7cc51d90cd3d59df3b0a0f414d582c40d642c 100644
--- a/vendor/ZF2/library/Zend/Cache/composer.json
+++ b/vendor/ZF2/library/Zend/Cache/composer.json
@@ -28,5 +28,11 @@
         "ext-dba": "DBA, to use the DBA storage adapter",
         "ext-memcached": "Memcached >= 1.0.0 to use the Memcached storage adapter",
         "ext-wincache": "WinCache, to use the WinCache storage adapter"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Captcha/README.md b/vendor/ZF2/library/Zend/Captcha/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..1240158c596968c80d9f32416cf1bf9305fad284
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Captcha/README.md
@@ -0,0 +1,15 @@
+Captcha Component from ZF2
+==========================
+
+This is the Captcha component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Captcha/composer.json b/vendor/ZF2/library/Zend/Captcha/composer.json
index 0f5c81c67c891a6f3afdef917055bd884f469aa0..6b504d0d82a336329dfecb01ac9713f55e4f3d6a 100644
--- a/vendor/ZF2/library/Zend/Captcha/composer.json
+++ b/vendor/ZF2/library/Zend/Captcha/composer.json
@@ -22,5 +22,11 @@
     },
     "suggest": {
         "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Code/Generator/DocBlockGenerator.php b/vendor/ZF2/library/Zend/Code/Generator/DocBlockGenerator.php
index 0c693928267eb55cd5e35f231e0dc5f4b492eed0..ce6073bc5d60e5f1a2f443aa7530a34a56a47e82 100644
--- a/vendor/ZF2/library/Zend/Code/Generator/DocBlockGenerator.php
+++ b/vendor/ZF2/library/Zend/Code/Generator/DocBlockGenerator.php
@@ -34,6 +34,11 @@ class DocBlockGenerator extends AbstractGenerator
      */
     protected $indentation = '';
 
+    /**
+     * @var boolean
+     */
+    protected $wordwrap = true;
+
     /**
      * Build a DocBlock generator object from a reflection object
      *
@@ -188,6 +193,29 @@ class DocBlockGenerator extends AbstractGenerator
         return $this->tags;
     }
 
+    /**
+     * Set the word wrap
+     *
+     * @param boolean $value
+     * @return \Zend\Code\Generator\DocBlockGenerator
+     */
+    public function setWordWrap($value)
+    {
+        $this->wordwrap = (boolean) $value;
+
+        return $this;
+    }
+
+    /**
+     * Get the word wrap
+     *
+     * @return boolean
+     */
+    public function getWordWrap()
+    {
+        return $this->wordwrap;
+    }
+
     /**
      * @return string
      */
@@ -220,7 +248,7 @@ class DocBlockGenerator extends AbstractGenerator
     {
         $indent  = $this->getIndentation();
         $output  = $indent . '/**' . self::LINE_FEED;
-        $content = wordwrap($content, 80, self::LINE_FEED);
+        $content = $this->getWordWrap() == true ? wordwrap($content, 80, self::LINE_FEED) : $content;
         $lines   = explode(self::LINE_FEED, $content);
         foreach ($lines as $line) {
             $output .= $indent . ' *';
diff --git a/vendor/ZF2/library/Zend/Code/Generator/PropertyGenerator.php b/vendor/ZF2/library/Zend/Code/Generator/PropertyGenerator.php
index 9e16cd4475734181ab048963ac31bd8f1677e7e0..1e9ad3aa6909687d9f39fc1d873e0e04c18ca2f1 100644
--- a/vendor/ZF2/library/Zend/Code/Generator/PropertyGenerator.php
+++ b/vendor/ZF2/library/Zend/Code/Generator/PropertyGenerator.php
@@ -162,21 +162,17 @@ class PropertyGenerator extends AbstractMemberGenerator
     }
 
     /**
-     * @param  PropertyValueGenerator|string|array $defaultValue
+     * @param PropertyValueGenerator|mixed $defaultValue
+     * @param string                       $defaultValueType
+     * @param string                       $defaultValueOutputMode
+     *
      * @return PropertyGenerator
      */
-    public function setDefaultValue($defaultValue)
+    public function setDefaultValue($defaultValue, $defaultValueType = PropertyValueGenerator::TYPE_AUTO, $defaultValueOutputMode = PropertyValueGenerator::OUTPUT_MULTIPLE_LINE)
     {
-        // if it looks like
-        if (is_array($defaultValue)
-            && isset($defaultValue['value'])
-            && isset($defaultValue['type'])
-        ) {
-            $defaultValue = new PropertyValueGenerator($defaultValue);
-        }
-
         if (!($defaultValue instanceof PropertyValueGenerator)) {
-            $defaultValue = new PropertyValueGenerator($defaultValue);
+
+            $defaultValue = new PropertyValueGenerator($defaultValue, $defaultValueType, $defaultValueOutputMode);
         }
 
         $this->defaultValue = $defaultValue;
diff --git a/vendor/ZF2/library/Zend/Code/NameInformation.php b/vendor/ZF2/library/Zend/Code/NameInformation.php
index 0913e226f2e1372144b49a9c52909fad9a9e60d8..2270398a242e275e15059bc17bcbb99966857e49 100644
--- a/vendor/ZF2/library/Zend/Code/NameInformation.php
+++ b/vendor/ZF2/library/Zend/Code/NameInformation.php
@@ -63,6 +63,7 @@ class NameInformation
 
     /**
      * @param  array $uses
+     * @return NameInformation
      */
     public function setUses(array $uses)
     {
@@ -74,6 +75,7 @@ class NameInformation
 
     /**
      * @param  array $uses
+     * @return NameInformation
      */
     public function addUses(array $uses)
     {
diff --git a/vendor/ZF2/library/Zend/Code/README.md b/vendor/ZF2/library/Zend/Code/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..640084b572f8b8f6cf270658ee01cfeb4c820546
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Code/README.md
@@ -0,0 +1,15 @@
+Code Component from ZF2
+=======================
+
+This is the Code component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Code/composer.json b/vendor/ZF2/library/Zend/Code/composer.json
index 8b0354fa8fab0f70555b6a35cb8da55d807d2764..d56f6b7a90c88446e4c0d3c0f0d47d2a1f36f9ef 100644
--- a/vendor/ZF2/library/Zend/Code/composer.json
+++ b/vendor/ZF2/library/Zend/Code/composer.json
@@ -21,5 +21,11 @@
     },
     "suggest": {
         "doctrine/common": "Doctrine\\Common >=2.1 for annotation features"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Config/README.md b/vendor/ZF2/library/Zend/Config/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..650ba568d84513aa898bb693da7253dcf4cca51c
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Config/README.md
@@ -0,0 +1,15 @@
+Config Component from ZF2
+=========================
+
+This is the Config component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Config/composer.json b/vendor/ZF2/library/Zend/Config/composer.json
index 2dc3a6440300e403a6df66cdbc36903d43447195..d15e7c1a212ea05acc93a70a6e6a0a1e63dbdf3c 100644
--- a/vendor/ZF2/library/Zend/Config/composer.json
+++ b/vendor/ZF2/library/Zend/Config/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Console/README.md b/vendor/ZF2/library/Zend/Console/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..eb8566c0f210b38b761ebfbf076daebe2b8bee67
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Console/README.md
@@ -0,0 +1,15 @@
+Console Component from ZF2
+==========================
+
+This is the Console component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Console/composer.json b/vendor/ZF2/library/Zend/Console/composer.json
index 73bf97d479b91a87355f94d080777ccf18e7ce61..c85e9e9a38ffd2b5fe3339325109575a8b159912 100644
--- a/vendor/ZF2/library/Zend/Console/composer.json
+++ b/vendor/ZF2/library/Zend/Console/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Crypt/BlockCipher.php b/vendor/ZF2/library/Zend/Crypt/BlockCipher.php
index 34ab0de8595631362fb81f894f4b1a4e43fef4dc..6aa55f30fab44dfb2c2b86ebd1a8c2251acd8b52 100644
--- a/vendor/ZF2/library/Zend/Crypt/BlockCipher.php
+++ b/vendor/ZF2/library/Zend/Crypt/BlockCipher.php
@@ -214,7 +214,7 @@ class BlockCipher
     /**
      * Get the original salt value
      *
-     * @return type
+     * @return string
      */
     public function getOriginalSalt()
     {
diff --git a/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php b/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php
index 8552d983a2a4c8cb0c1d289fbe161e8a4371aa36..4e4dbfe41f0814208e995a958f145ac75a79d1a4 100644
--- a/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php
+++ b/vendor/ZF2/library/Zend/Crypt/Password/Bcrypt.php
@@ -178,6 +178,7 @@ class Bcrypt implements PasswordInterface
      * Set the backward compatibility $2a$ instead of $2y$ for PHP 5.3.7+
      *
      * @param boolean $value
+     * @return Bcrypt
      */
     public function setBackwardCompatibility($value)
     {
diff --git a/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa.php b/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa.php
index 67bb57f1d4f39cdb637d09fb428c6253eb1c546f..873ca3f051390f779c2f04fd40ca34fbd0d8e43c 100644
--- a/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa.php
+++ b/vendor/ZF2/library/Zend/Crypt/PublicKey/Rsa.php
@@ -135,6 +135,20 @@ class Rsa
         return $this->options;
     }
 
+    /**
+     * Return last openssl error(s)
+     *
+     * @return string
+     */
+    public function getOpensslErrorString()
+    {
+        $message = '';
+        while (false !== ($error = openssl_error_string())) {
+            $message .= $error . "\n";
+        }
+        return trim($message);
+    }
+
     /**
      * Sign with private key
      *
@@ -158,7 +172,7 @@ class Rsa
         );
         if (false === $result) {
             throw new Exception\RuntimeException(
-                'Can not generate signature; openssl ' . openssl_error_string()
+                'Can not generate signature; openssl ' . $this->getOpensslErrorString()
             );
         }
 
@@ -221,7 +235,7 @@ class Rsa
         );
         if (-1 === $result) {
             throw new Exception\RuntimeException(
-                'Can not verify signature; openssl ' . openssl_error_string()
+                'Can not verify signature; openssl ' . $this->getOpensslErrorString()
             );
         }
 
diff --git a/vendor/ZF2/library/Zend/Crypt/README.md b/vendor/ZF2/library/Zend/Crypt/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..1e2e5af919792db831b8912d51337b365db671a4
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Crypt/README.md
@@ -0,0 +1,15 @@
+Crypt Component from ZF2
+========================
+
+This is the Crypt component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Crypt/composer.json b/vendor/ZF2/library/Zend/Crypt/composer.json
index 375161199fe27772ff10077a1c184771d9957581..9e718313973d36217ba4b25bcedd49de7404683b 100644
--- a/vendor/ZF2/library/Zend/Crypt/composer.json
+++ b/vendor/ZF2/library/Zend/Crypt/composer.json
@@ -17,5 +17,11 @@
         "zendframework/zend-math": "self.version",
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-servicemanager": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php
index 73d5736bcc66dc406ed84a300233e99959d87b8b..2c9dbd9b2798d33d2a1f29b0de3cdf24abd8bef1 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php
@@ -146,7 +146,7 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
     public function connect()
     {
         if (is_resource($this->resource)) {
-            return;
+            return $this;
         }
 
         // localize
@@ -242,7 +242,7 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
      * Execute
      *
      * @param  string $sql
-     * @return ResultInterface
+     * @return Result
      */
     public function execute($sql)
     {
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php
index 7ad6e1047fcc02ed3965ed075482dd333f35bd42..e4fe97f52013aa4878991a41dfb2c8be98507cab 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Mysqli/Connection.php
@@ -156,12 +156,12 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
      * Connect
      *
      * @throws Exception\RuntimeException
-     * @return void
+     * @return Connection
      */
     public function connect()
     {
         if ($this->resource instanceof \mysqli) {
-            return;
+            return $this;
         }
 
         // localize
@@ -214,6 +214,7 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
             $this->resource->set_charset($p['charset']);
         }
 
+        return $this;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Oci8.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Oci8.php
index 5a3593be2e89917435b01038c578a2c0e3db051c..e4c8318f079cd3d3933532bdf76b021079705527 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Oci8.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Oci8.php
@@ -103,6 +103,7 @@ class Oci8 implements DriverInterface, Profiler\ProfilerAwareInterface
      * Register statement prototype
      *
      * @param Statement $statementPrototype
+     * @return Oci8
      */
     public function registerStatementPrototype(Statement $statementPrototype)
     {
@@ -123,6 +124,7 @@ class Oci8 implements DriverInterface, Profiler\ProfilerAwareInterface
      * Register result prototype
      *
      * @param Result $resultPrototype
+     * @return Oci8
      */
     public function registerResultPrototype(Result $resultPrototype)
     {
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Statement.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Statement.php
index c26064102f36917148cdf0b2072d245fcdb00a32..ead25cfd7d72b05dcaf8abbb6f639a243ad9990e 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Statement.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Oci8/Statement.php
@@ -119,6 +119,7 @@ class Statement implements StatementInterface, Profiler\ProfilerAwareInterface
      * Set Parameter container
      *
      * @param ParameterContainer $parameterContainer
+     * @return Statement
      */
     public function setParameterContainer(ParameterContainer $parameterContainer)
     {
@@ -184,6 +185,7 @@ class Statement implements StatementInterface, Profiler\ProfilerAwareInterface
 
     /**
      * @param string $sql
+     * @return Statement
      */
     public function prepare($sql = null)
     {
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php
index aa46c6e84ea1ba9e90b6977bdc093f62d4369485..feac1c666be34961a71392416aa43a11b2e21017 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pgsql/Connection.php
@@ -143,13 +143,13 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
     /**
      * Connect to the database
      *
-     * @return void
+     * @return Connection
      * @throws Exception\RuntimeException on failure
      */
     public function connect()
     {
         if (is_resource($this->resource)) {
-            return;
+            return $this;
         }
 
         // localize
@@ -184,6 +184,8 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
                 __METHOD__
             ));
         }
+
+        return $this;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php
index fd69c1adaf9570b2f13dd1ae59bb1983bae4dc03..7b785d9ebffd2bb93dc5e1e57ec0037cb9e15c03 100644
--- a/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php
+++ b/vendor/ZF2/library/Zend/Db/Adapter/Driver/Sqlsrv/Connection.php
@@ -154,12 +154,12 @@ class Connection implements ConnectionInterface, Profiler\ProfilerAwareInterface
      * Connect
      *
      * @throws Exception\RuntimeException
-     * @return null
+     * @return Connection
      */
     public function connect()
     {
         if ($this->resource) {
-            return;
+            return $this;
         }
 
         $serverName = '.';
diff --git a/vendor/ZF2/library/Zend/Db/README.md b/vendor/ZF2/library/Zend/Db/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..5c67884071b97abd9d83402d9472be8b1b24e331
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Db/README.md
@@ -0,0 +1,15 @@
+DB Component from ZF2
+=====================
+
+This is the DB component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Literal.php b/vendor/ZF2/library/Zend/Db/Sql/Literal.php
index a6323aebf5074ec0bd81d93281962f710bcf4ab7..48722b1bcb73ef139b76649d03e36529df8c547e 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Literal.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Literal.php
@@ -41,7 +41,7 @@ class Literal implements ExpressionInterface
     public function getExpressionData()
     {
         return array(array(
-            $this->literal,
+            str_replace('%', '%%', $this->literal),
             array(),
             array()
         ));
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Predicate/Predicate.php b/vendor/ZF2/library/Zend/Db/Sql/Predicate/Predicate.php
index bdc7fc7e89e122d0223a32136406c0779fbef65d..7581e2a7b55a7f8d4ab5080d6abc93b54baff0b6 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Predicate/Predicate.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Predicate/Predicate.php
@@ -215,6 +215,13 @@ class Predicate extends PredicateSet
         return $this;
     }
 
+    /**
+     * Create an expression, with parameter placeholders
+     *
+     * @param $expression
+     * @param $parameters
+     * @return $this
+     */
     public function expression($expression, $parameters)
     {
         $this->addPredicate(
@@ -229,19 +236,24 @@ class Predicate extends PredicateSet
     /**
      * Create "Literal" predicate
      *
-     * Utilizes Like predicate
+     * Literal predicate, for parameters, use expression()
      *
      * @param  string $literal
-     * @param  int|float|bool|string|array $parameter
      * @return Predicate
      */
-    public function literal($literal, $expressionParameters = null)
+    public function literal($literal)
     {
-        if ($expressionParameters) {
-            $predicate = new Expression($literal, $expressionParameters);
-        } else {
+        // process deprecated parameters from previous literal($literal, $parameters = null) signature
+        if (func_num_args() >= 2) {
+            $parameters = func_get_arg(1);
+            $predicate = new Expression($literal, $parameters);
+        }
+
+        // normal workflow for "Literals" here
+        if (!isset($predicate)) {
             $predicate = new Literal($literal);
         }
+
         $this->addPredicate(
             $predicate,
             ($this->nextPredicateCombineOperator) ?: $this->defaultCombination
@@ -295,7 +307,7 @@ class Predicate extends PredicateSet
      * Utilizes In predicate
      *
      * @param  string $identifier
-     * @param  array|Select $valueSet
+     * @param  array|\Zend\Db\Sql\Select $valueSet
      * @return Predicate
      */
     public function in($identifier, $valueSet = null)
diff --git a/vendor/ZF2/library/Zend/Db/Sql/Select.php b/vendor/ZF2/library/Zend/Db/Sql/Select.php
index 50554347c0341b81a2bd82e656e7c60dafd8789d..e083d25c8a324e510294a2068e17c07d8e7feead 100644
--- a/vendor/ZF2/library/Zend/Db/Sql/Select.php
+++ b/vendor/ZF2/library/Zend/Db/Sql/Select.php
@@ -260,6 +260,7 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
      *
      * @param  Where|\Closure|string|array|Predicate\PredicateInterface $predicate
      * @param  string $combination One of the OP_* constants from Predicate\PredicateSet
+     * @throws Exception\InvalidArgumentException
      * @return Select
      */
     public function where($predicate, $combination = Predicate\PredicateSet::OP_AND)
@@ -295,6 +296,11 @@ class Select extends AbstractSql implements SqlInterface, PreparableSqlInterface
                         } elseif (is_array($pvalue)) {
                             // if the value is an array, assume IN() is desired
                             $predicate = new Predicate\In($pkey, $pvalue);
+                        } elseif ($pvalue instanceof Predicate\PredicateInterface) {
+                            // 
+                            throw new Exception\InvalidArgumentException(
+                                'Using Predicate must not use string keys'
+                            ); 
                         } else {
                             // otherwise assume that array('foo' => 'bar') means "foo" = 'bar'
                             $predicate = new Predicate\Operator($pkey, Predicate\Operator::OP_EQ, $pvalue);
diff --git a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/MasterSlaveFeature.php b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/MasterSlaveFeature.php
index dd64c6081d00c39a9f7d307068b5d1824ad905bd..571adf25d2ac2b2500335ad56b463b243abc0ec9 100644
--- a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/MasterSlaveFeature.php
+++ b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/MasterSlaveFeature.php
@@ -33,7 +33,7 @@ class MasterSlaveFeature extends AbstractFeature
     /**
      * Constructor
      *
-     * @param Adapter $slaveAdapter
+     * @param AdapterInterface $slaveAdapter
      */
     public function __construct(AdapterInterface $slaveAdapter, Sql $slaveSql = null)
     {
diff --git a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/SequenceFeature.php b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/SequenceFeature.php
index 1d2b084eec8b82b4eb4a66afe1024b0eed59c84a..175fc211a088dc7b2702d7760719aabdb9b40d17 100644
--- a/vendor/ZF2/library/Zend/Db/TableGateway/Feature/SequenceFeature.php
+++ b/vendor/ZF2/library/Zend/Db/TableGateway/Feature/SequenceFeature.php
@@ -83,7 +83,7 @@ class SequenceFeature extends AbstractFeature
                 $sql = 'SELECT ' . $platform->quoteIdentifier($this->sequenceName) . '.NEXTVAL FROM dual';
                 break;
             case 'PostgreSQL':
-                $sql = 'SELECT NEXTVAL(' . $platform->quoteIdentifier($this->sequenceName) . ')';
+                $sql = 'SELECT NEXTVAL(\'' . $this->sequenceName . '\')';
                 break;
             default :
                 return null;
@@ -112,7 +112,7 @@ class SequenceFeature extends AbstractFeature
                 $sql = 'SELECT ' . $platform->quoteIdentifier($this->sequenceName) . '.CURRVAL FROM dual';
                 break;
             case 'PostgreSQL':
-                $sql = 'SELECT CURRVAL(' . $platform->quoteIdentifier($this->sequenceName) . ')';
+                $sql = 'SELECT CURRVAL(\'' . $this->sequenceName . '\')';
                 break;
             default :
                 return null;
diff --git a/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php b/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php
index 4fd31e622d6ca75e0f6994552133a028888c2d82..781646f2f981f196b3fc0adfe3cd1525a32e8d55 100644
--- a/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php
+++ b/vendor/ZF2/library/Zend/Db/TableGateway/TableGateway.php
@@ -22,7 +22,7 @@ class TableGateway extends AbstractTableGateway
      * Constructor
      *
      * @param string $table
-     * @param Adapter $adapter
+     * @param AdapterInterface $adapter
      * @param Feature\AbstractFeature|Feature\FeatureSet|Feature\AbstractFeature[] $features
      * @param ResultSetInterface $resultSetPrototype
      * @param Sql $sql
diff --git a/vendor/ZF2/library/Zend/Db/composer.json b/vendor/ZF2/library/Zend/Db/composer.json
index d2740a049183164e1cfcb06857822140c9b2d1c9..098156a3658c1e84c1bea370c777f757840f335d 100644
--- a/vendor/ZF2/library/Zend/Db/composer.json
+++ b/vendor/ZF2/library/Zend/Db/composer.json
@@ -17,5 +17,11 @@
     },
     "suggest": {
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Debug/Debug.php b/vendor/ZF2/library/Zend/Debug/Debug.php
index 673afc264f7833df5a386b182b12817c61fffc3f..e20c500b21f890615f92bff2d969ddd07aa0126b 100644
--- a/vendor/ZF2/library/Zend/Debug/Debug.php
+++ b/vendor/ZF2/library/Zend/Debug/Debug.php
@@ -87,7 +87,7 @@ class Debug
      * @param  bool   $echo  OPTIONAL Echo output if true.
      * @return string
      */
-    public static function dump($var, $label=null, $echo=true)
+    public static function dump($var, $label = null, $echo = true)
     {
         // format the label
         $label = ($label===null) ? '' : rtrim($label) . ' ';
diff --git a/vendor/ZF2/library/Zend/Debug/README.md b/vendor/ZF2/library/Zend/Debug/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..8797b8e216567b3cea64d19e7eb2aa4269bcb7b3
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Debug/README.md
@@ -0,0 +1,15 @@
+Debug Component from ZF2
+========================
+
+This is the Debug component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Debug/composer.json b/vendor/ZF2/library/Zend/Debug/composer.json
index b045cbf22cacb20b9bed335f7bd0dc893b59dd53..9f62c7e0c101a64807fc67c0a2f87526952ee56c 100644
--- a/vendor/ZF2/library/Zend/Debug/composer.json
+++ b/vendor/ZF2/library/Zend/Debug/composer.json
@@ -18,5 +18,11 @@
     },
     "suggest": {
         "ext/xdebug": "XDebug, for better backtrace output"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Di/Di.php b/vendor/ZF2/library/Zend/Di/Di.php
index a476391d3f5ac8c2253a9d84cf21b7667651473a..b2404b27e37f4d46e06e5c2007bf1e82fa5534b1 100644
--- a/vendor/ZF2/library/Zend/Di/Di.php
+++ b/vendor/ZF2/library/Zend/Di/Di.php
@@ -163,13 +163,14 @@ class Di implements DependencyInjectionInterface
                 array_pop($this->instanceContext);
                 return $im->getSharedInstanceWithParameters(null, array(), $fastHash);
             }
-        } else {
-            if ($im->hasSharedInstance($name, $callParameters)) {
-                array_pop($this->instanceContext);
-                return $im->getSharedInstance($name, $callParameters);
-            }
         }
 
+        if ($im->hasSharedInstance($name, $callParameters)) {
+            array_pop($this->instanceContext);
+            return $im->getSharedInstance($name, $callParameters);
+        }
+
+
         $config   = $im->getConfig($name);
         $instance = $this->newInstance($name, $params, $config['shared']);
         array_pop($this->instanceContext);
diff --git a/vendor/ZF2/library/Zend/Di/README.md b/vendor/ZF2/library/Zend/Di/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..4485999f265315a984b6aa2f391f31fb84c0dcf7
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Di/README.md
@@ -0,0 +1,15 @@
+Di Component from ZF2
+=====================
+
+This is the Di component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Di/composer.json b/vendor/ZF2/library/Zend/Di/composer.json
index 3fe67f8bc34e907dc7c2bb796a69cbbd364c8dbf..fc3b5839c334fe0a9b6e6802ee6e6b16e8a2e17b 100644
--- a/vendor/ZF2/library/Zend/Di/composer.json
+++ b/vendor/ZF2/library/Zend/Di/composer.json
@@ -16,5 +16,11 @@
         "php": ">=5.3.3",
         "zendframework/zend-code": "self.version",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Dom/README.md b/vendor/ZF2/library/Zend/Dom/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..b82c2b9ffc2c54da841fcf6b4b9c91e099a09fe0
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Dom/README.md
@@ -0,0 +1,15 @@
+DOM Component from ZF2
+======================
+
+This is the DOM component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Dom/composer.json b/vendor/ZF2/library/Zend/Dom/composer.json
index b6124abfd6f82d144c0e45e59da3c65752657fa5..47d4ac327e695b1cc532a7a5e25eb0c742059271 100644
--- a/vendor/ZF2/library/Zend/Dom/composer.json
+++ b/vendor/ZF2/library/Zend/Dom/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Escaper/README.md b/vendor/ZF2/library/Zend/Escaper/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..83bd91628059eb6d34d7eb4828269d5ee769d7c2
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Escaper/README.md
@@ -0,0 +1,15 @@
+Escaper Component from ZF2
+==========================
+
+This is the Escaper component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Escaper/composer.json b/vendor/ZF2/library/Zend/Escaper/composer.json
index 4aff32b67634fa01d3e71a50a7efbde5705b8b84..c30c3f7cdc118cb32f0edc14d4d0bbd15fb4afd0 100644
--- a/vendor/ZF2/library/Zend/Escaper/composer.json
+++ b/vendor/ZF2/library/Zend/Escaper/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Escaper",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/EventManager/README.md b/vendor/ZF2/library/Zend/EventManager/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..474b103d7be74cf9deadfecc2985d8a097e51320
--- /dev/null
+++ b/vendor/ZF2/library/Zend/EventManager/README.md
@@ -0,0 +1,15 @@
+EventManager Component from ZF2
+===============================
+
+This is the EventManager component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/EventManager/composer.json b/vendor/ZF2/library/Zend/EventManager/composer.json
index 115c88252f3abb019b3aa662375f22a304c58628..577b7697eff03d10b19aa00e8b5c012b38c10925 100644
--- a/vendor/ZF2/library/Zend/EventManager/composer.json
+++ b/vendor/ZF2/library/Zend/EventManager/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Feed/README.md b/vendor/ZF2/library/Zend/Feed/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..ffc73a9c262e2137aa7f0b307de8aae31af45e58
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Feed/README.md
@@ -0,0 +1,15 @@
+Feed Component from ZF2
+=======================
+
+This is the Feed component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Feed/Writer/Entry.php b/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
index 1df24456db2159fa277da04f919563dd7127a66b..ea62bddfa38efc293804f8a1e9c11f04927c7a05 100644
--- a/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
+++ b/vendor/ZF2/library/Zend/Feed/Writer/Entry.php
@@ -177,7 +177,7 @@ class Entry
     /**
      * Set the feed creation date
      *
-     * @param string|null|DateTime $date
+     * @param null|integer|DateTime $date
      * @throws Exception\InvalidArgumentException
      * @return Entry
      */
@@ -198,7 +198,7 @@ class Entry
     /**
      * Set the feed modification date
      *
-     * @param string|null|DateTime $date
+     * @param null|integer|DateTime $date
      * @throws Exception\InvalidArgumentException
      * @return Entry
      */
diff --git a/vendor/ZF2/library/Zend/Feed/composer.json b/vendor/ZF2/library/Zend/Feed/composer.json
index cf0646db1204ab27a33af69193c0701f9fb9dd88..4dabb6b97b236a6b24d33b7b5460b6cab212803c 100644
--- a/vendor/ZF2/library/Zend/Feed/composer.json
+++ b/vendor/ZF2/library/Zend/Feed/composer.json
@@ -22,5 +22,11 @@
     },
     "suggest": {
         "zendframework/zend-validator": "Zend\\Validator component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/File/README.md b/vendor/ZF2/library/Zend/File/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..8e1ab787f52710f1e21afbd0cf00526077320ca3
--- /dev/null
+++ b/vendor/ZF2/library/Zend/File/README.md
@@ -0,0 +1,15 @@
+File Component from ZF2
+=======================
+
+This is the File component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php b/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
index a699c813ca58f3b62bb16a688fd464d9eb877ffd..002e958d230a7f7bf5714652f4d7fa930af96dd6 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/AbstractAdapter.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Adapter;
@@ -30,8 +29,6 @@ use Zend\Validator;
  * and filter chains instead.
  *
  * @todo      Rewrite
- * @category  Zend
- * @package   Zend_File_Transfer
  */
 abstract class AbstractAdapter implements TranslatorAwareInterface
 {
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Adapter/FilterPluginManager.php b/vendor/ZF2/library/Zend/File/Transfer/Adapter/FilterPluginManager.php
index 91e0a57e23d45ae40bdceb58cc2ee4c4e3257e12..0f2107ae14eb1a0ebe4d59f7b1245cb066025c9f 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/FilterPluginManager.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/FilterPluginManager.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File_Transfer
  */
 
 namespace Zend\File\Transfer\Adapter;
@@ -18,8 +17,6 @@ use Zend\Filter\FilterPluginManager as BaseManager;
  * Enforces that filters retrieved are instances of
  * FilterInterface. Additionally, it registers a number of default filters.
  *
- * @category   Zend
- * @package    Zend_File_Transfer
  */
 class FilterPluginManager extends BaseManager
 {
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php b/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php
index e6fa968b28d2aa52117f1eaf8d4e6fe094977cde..082f012f825008c868ef57fe88700cce89c04ad9 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/Http.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Adapter;
@@ -18,8 +17,6 @@ use Zend\ProgressBar\Adapter;
 /**
  * File transfer adapter class for the HTTP protocol
  *
- * @category  Zend
- * @package   Zend_File_Transfer
  */
 class Http extends AbstractAdapter
 {
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Adapter/ValidatorPluginManager.php b/vendor/ZF2/library/Zend/File/Transfer/Adapter/ValidatorPluginManager.php
index ff68e5ad9754e2a1658ae42b1e5944f9040dd520..22fe78ca3b2912ce4f7fc2be9b5072254e2eb181 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Adapter/ValidatorPluginManager.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Adapter/ValidatorPluginManager.php
@@ -5,17 +5,12 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File_Transfer
  */
 
 namespace Zend\File\Transfer\Adapter;
 
 use Zend\Validator\ValidatorPluginManager as BaseManager;
 
-/**
- * @category   Zend
- * @package    Zend_File_Transfer
- */
 class ValidatorPluginManager extends BaseManager
 {
     protected $aliases = array(
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Exception/BadMethodCallException.php b/vendor/ZF2/library/Zend/File/Transfer/Exception/BadMethodCallException.php
index c5e7a0638464311daf806111f48a160d4ab13cd9..9bf2917d19816ef81a1b2a99d7395ba426601c47 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Exception/BadMethodCallException.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Exception/BadMethodCallException.php
@@ -5,17 +5,12 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Exception;
 
 use Zend\File\Exception;
 
-/**
- * @category   Zend
- * @package    Zend_File_Transfer
- */
 class BadMethodCallException extends Exception\BadMethodCallException implements
     ExceptionInterface
 {}
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Exception/ExceptionInterface.php b/vendor/ZF2/library/Zend/File/Transfer/Exception/ExceptionInterface.php
index e6efefeec9f3fc3088b07d0c645959bb8d9671a3..283cf3b66099277b00efae1a9a991197838d8922 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Exception/ExceptionInterface.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Exception/ExceptionInterface.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Exception;
@@ -15,8 +14,6 @@ use Zend\File\Exception\ExceptionInterface as FileException;
 /**
  * Exception class for Zend\File\Transfer
  *
- * @category   Zend
- * @package    Zend_File_Transfer
  */
 interface ExceptionInterface
     extends FileException
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Exception/InvalidArgumentException.php b/vendor/ZF2/library/Zend/File/Transfer/Exception/InvalidArgumentException.php
index c84807a33271ad6fbba74fd60cafd258c8687360..993a00d936e7c38cad3fffba0f66cb2ddd9d57f6 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Exception/InvalidArgumentException.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Exception/InvalidArgumentException.php
@@ -5,17 +5,12 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Exception;
 
 use Zend\File\Exception;
 
-/**
- * @category   Zend
- * @package    Zend_File_Transfer
- */
 class InvalidArgumentException extends Exception\InvalidArgumentException implements
     ExceptionInterface
 {}
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Exception/PhpEnvironmentException.php b/vendor/ZF2/library/Zend/File/Transfer/Exception/PhpEnvironmentException.php
index b7218fa393522431423b04358525577471a711b7..c7ca44ee1634e7b8716fe058b5a11c9b1604ad48 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Exception/PhpEnvironmentException.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Exception/PhpEnvironmentException.php
@@ -5,14 +5,9 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Exception;
 
-/**
- * @category   Zend
- * @package    Zend_File_Transfer
- */
 class PhpEnvironmentException extends RuntimeException
 {}
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Exception/RuntimeException.php b/vendor/ZF2/library/Zend/File/Transfer/Exception/RuntimeException.php
index a6f467419942fedf17908e92167b3dd771cc7e41..1fa150ff9aede3df5a19a7a28d9045e3ce057f5f 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Exception/RuntimeException.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Exception/RuntimeException.php
@@ -5,17 +5,12 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer\Exception;
 
 use Zend\File\Exception;
 
-/**
- * @category   Zend
- * @package    Zend_File_Transfer
- */
 class RuntimeException extends Exception\RuntimeException implements
     ExceptionInterface
 {}
diff --git a/vendor/ZF2/library/Zend/File/Transfer/Transfer.php b/vendor/ZF2/library/Zend/File/Transfer/Transfer.php
index 02a4f9b1a9315b65b1fe310bd05511ad24965c74..92bf86d2ec0af1fb74f4a7a2d893957b2ee0b98a 100644
--- a/vendor/ZF2/library/Zend/File/Transfer/Transfer.php
+++ b/vendor/ZF2/library/Zend/File/Transfer/Transfer.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_File
  */
 
 namespace Zend\File\Transfer;
@@ -13,8 +12,6 @@ namespace Zend\File\Transfer;
 /**
  * Base class for all protocols supporting file transfers
  *
- * @category  Zend
- * @package   Zend_File_Transfer
  */
 class Transfer
 {
diff --git a/vendor/ZF2/library/Zend/File/composer.json b/vendor/ZF2/library/Zend/File/composer.json
index 620194d3d919d5ee889ff6456abaad5124fb8611..ffa232e3972d2ac1654aa2cd370deb13e2f05a5f 100644
--- a/vendor/ZF2/library/Zend/File/composer.json
+++ b/vendor/ZF2/library/Zend/File/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php b/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php
index 576987f73c19bd1a73ecbc39681ff7518654d624..2de6461aa76594dac071bacff9867a438532ca45 100644
--- a/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php
+++ b/vendor/ZF2/library/Zend/Filter/Encrypt/BlockCipher.php
@@ -251,8 +251,6 @@ class BlockCipher implements EncryptionAlgorithmInterface
             $encrypted = $this->blockCipher->encrypt($value);
         } catch (CryptException\InvalidArgumentException $e) {
             throw new Exception\InvalidArgumentException($e->getMessage());
-        } catch (SymmetricException\InvalidArgumentException $e) {
-            throw new Exception\InvalidArgumentException($e->getMessage());
         }
         return $encrypted;
     }
diff --git a/vendor/ZF2/library/Zend/Filter/File/RenameUpload.php b/vendor/ZF2/library/Zend/Filter/File/RenameUpload.php
index d453e40975f61c4d188249214e8bcc01e59e607a..ce1772f6ee634c00e95b0780d97b63c33d9ea05f 100644
--- a/vendor/ZF2/library/Zend/Filter/File/RenameUpload.php
+++ b/vendor/ZF2/library/Zend/Filter/File/RenameUpload.php
@@ -25,6 +25,15 @@ class RenameUpload extends AbstractFilter
         'randomize'       => false,
     );
 
+    /**
+     * Store already filtered values, so we can filter multiple
+     * times the same file without being block by move_uploaded_file
+     * internal checks
+     *
+     * @var array
+     */
+    protected $alreadyFiltered = array();
+
     /**
      * Constructor
      *
@@ -143,28 +152,48 @@ class RenameUpload extends AbstractFilter
             $sourceFile = $value;
         }
 
+        if (isset($this->alreadyFiltered[$sourceFile])) {
+            return $this->alreadyFiltered[$sourceFile];
+        }
+
         $targetFile = $this->getFinalTarget($uploadData);
         if (!file_exists($sourceFile) || $sourceFile == $targetFile) {
             return $value;
         }
 
         $this->checkFileExists($targetFile);
+        $this->moveUploadedFile($sourceFile, $targetFile);
+
+        $return = $targetFile;
+        if ($isFileUpload) {
+            $return = $uploadData;
+            $return['tmp_name'] = $targetFile;
+        }
 
+        $this->alreadyFiltered[$sourceFile] = $return;
+
+        return $return;
+    }
+
+    /**
+     * @param  string $sourceFile Source file path
+     * @param  string $targetFile Target file path
+     * @throws \Zend\Filter\Exception\RuntimeException
+     * @return boolean
+     */
+    protected function moveUploadedFile($sourceFile, $targetFile)
+    {
         ErrorHandler::start();
         $result = move_uploaded_file($sourceFile, $targetFile);
         $warningException = ErrorHandler::stop();
         if (!$result || null !== $warningException) {
             throw new Exception\RuntimeException(
-                sprintf("File '%s' could not be renamed. An error occurred while processing the file.", $value),
+                sprintf("File '%s' could not be renamed. An error occurred while processing the file.", $sourceFile),
                 0, $warningException
             );
         }
 
-        if ($isFileUpload) {
-            $uploadData['tmp_name'] = $targetFile;
-            return $uploadData;
-        }
-        return $targetFile;
+        return $result;
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Filter/PregReplace.php b/vendor/ZF2/library/Zend/Filter/PregReplace.php
index 43df0da2305239996947bef89c987f4c12c69f97..2c595d6fe3d113c266e779591df773c27e44bbb7 100644
--- a/vendor/ZF2/library/Zend/Filter/PregReplace.php
+++ b/vendor/ZF2/library/Zend/Filter/PregReplace.php
@@ -143,6 +143,7 @@ class PregReplace extends AbstractFilter
      * Validate a pattern and ensure it does not contain the "e" modifier
      *
      * @param  string $pattern
+     * @return bool
      * @throws Exception\InvalidArgumentException
      */
     protected function validatePattern($pattern)
diff --git a/vendor/ZF2/library/Zend/Filter/README.md b/vendor/ZF2/library/Zend/Filter/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..2aeb60bf215eff08bbee83accc00e3cc3a7032a5
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Filter/README.md
@@ -0,0 +1,15 @@
+Filter Component from ZF2
+=========================
+
+This is the Filter component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Filter/composer.json b/vendor/ZF2/library/Zend/Filter/composer.json
index 40edff1d0f24aabbf89ed305efed7f482de8ca49..646cd51cd74c00f5390618dbe8bc30d0b83a6985 100644
--- a/vendor/ZF2/library/Zend/Filter/composer.json
+++ b/vendor/ZF2/library/Zend/Filter/composer.json
@@ -25,5 +25,11 @@
         "zendframework/zend-validator": "Zend\\Validator component",
         "zendframework/zend-crypt": "Zend\\Crypt component",
         "zendframework/zend-stdlib": "Zend\\Stdlib component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Form/Annotation/ElementAnnotationsListener.php b/vendor/ZF2/library/Zend/Form/Annotation/ElementAnnotationsListener.php
index b7eb5697a0123e09aa9c14a875a61fb76e333928..df8fa91400b55e05bdfb8ecaf832e0ef4a6f5114 100644
--- a/vendor/ZF2/library/Zend/Form/Annotation/ElementAnnotationsListener.php
+++ b/vendor/ZF2/library/Zend/Form/Annotation/ElementAnnotationsListener.php
@@ -234,8 +234,8 @@ class ElementAnnotationsListener extends AbstractAnnotationsListener
             return;
         }
 
-        $elementSpec = $e->getParam('element');
-        $elementSpec['hydrator'] = $annotation->getHydrator();
+        $elementSpec = $e->getParam('elementSpec');
+        $elementSpec['spec']['hydrator'] = $annotation->getHydrator();
     }
 
     /**
@@ -275,7 +275,7 @@ class ElementAnnotationsListener extends AbstractAnnotationsListener
         }
 
         $elementSpec = $e->getParam('elementSpec');
-        $elementSpec['object'] = $annotation->getObject();
+        $elementSpec['spec']['object'] = $annotation->getObject();
     }
 
     /**
diff --git a/vendor/ZF2/library/Zend/Form/Element/DateSelect.php b/vendor/ZF2/library/Zend/Form/Element/DateSelect.php
index c4ca3d0cdcace5496c32b244a20c03fd82b8d867..c1afb1600c23d398d1dea2f7b2f3a5e8291b8d43 100644
--- a/vendor/ZF2/library/Zend/Form/Element/DateSelect.php
+++ b/vendor/ZF2/library/Zend/Form/Element/DateSelect.php
@@ -87,7 +87,7 @@ class DateSelect extends MonthSelect
     }
 
     /**
-     * @param  string|array|ArrayAccess|PhpDateTime $value
+     * @param  string|array|\ArrayAccess|PhpDateTime $value
      * @throws \Zend\Form\Exception\InvalidArgumentException
      * @return void|\Zend\Form\Element
      */
diff --git a/vendor/ZF2/library/Zend/Form/Element/DateTimeSelect.php b/vendor/ZF2/library/Zend/Form/Element/DateTimeSelect.php
index 09441052f9d93ec2267f20207f8a4cd9b4e16aa5..c2c16004f369945059943493084d21081a2eb1b6 100644
--- a/vendor/ZF2/library/Zend/Form/Element/DateTimeSelect.php
+++ b/vendor/ZF2/library/Zend/Form/Element/DateTimeSelect.php
@@ -291,6 +291,9 @@ class DateTimeSelect extends DateSelect
                         'callback' => function($date) {
                             // Convert the date to a specific format
                             if (is_array($date)) {
+                                if (!isset($date['second'])) {
+                                    $date['second'] = '00';
+                                }
                                 $date = sprintf('%s-%s-%s %s:%s:%s',
                                     $date['year'], $date['month'], $date['day'],
                                     $date['hour'], $date['minute'], $date['second']
diff --git a/vendor/ZF2/library/Zend/Form/Element/MonthSelect.php b/vendor/ZF2/library/Zend/Form/Element/MonthSelect.php
index 1daf1e92225a06c30be1347121e9dc4dd9f20824..6ab28de442e032675021611ca06648cf9bdb99d6 100644
--- a/vendor/ZF2/library/Zend/Form/Element/MonthSelect.php
+++ b/vendor/ZF2/library/Zend/Form/Element/MonthSelect.php
@@ -55,6 +55,14 @@ class MonthSelect extends Element implements InputProviderInterface, ElementPrep
      */
     protected $createEmptyOption = false;
 
+    /**
+     * If set to true, view helpers will render delimiters between <select> elements, according to the
+     * specified locale
+     *
+     * @var bool
+     */
+    protected $renderDelimiters = true;
+
     /**
      * @var ValidatorInterface
      */
@@ -112,6 +120,10 @@ class MonthSelect extends Element implements InputProviderInterface, ElementPrep
             $this->setShouldCreateEmptyOption($options['create_empty_option']);
         }
 
+        if (isset($options['render_delimiters'])) {
+            $this->setShouldRenderDelimiters($options['render_delimiters']);
+        }
+
         return $this;
     }
 
@@ -229,6 +241,24 @@ class MonthSelect extends Element implements InputProviderInterface, ElementPrep
         return $this->createEmptyOption;
     }
 
+    /**
+     * @param  bool $renderDelimiters
+     * @return MonthSelect
+     */
+    public function setShouldRenderDelimiters($renderDelimiters)
+    {
+        $this->renderDelimiters = (bool) $renderDelimiters;
+        return $this;
+    }
+
+    /**
+     * @return bool
+     */
+    public function shouldRenderDelimiters()
+    {
+        return $this->renderDelimiters;
+    }
+
     /**
      * @param mixed $value
      * @return void|\Zend\Form\Element
diff --git a/vendor/ZF2/library/Zend/Form/Form.php b/vendor/ZF2/library/Zend/Form/Form.php
index 02b9f3c3c61093a8c29852d291ca0c92940371d2..f650023fcfba74b174c9d0622c73b753cc868bbc 100644
--- a/vendor/ZF2/library/Zend/Form/Form.php
+++ b/vendor/ZF2/library/Zend/Form/Form.php
@@ -321,7 +321,7 @@ class Form extends Fieldset implements FormInterface
                 continue;
             }
 
-            if (is_array($value)) {
+            if (is_array($value) && is_array($match[$name])) {
                 $data[$name] = $this->prepareBindData($value, $match[$name]);
             } else {
                 $data[$name] = $value;
@@ -558,10 +558,8 @@ class Form extends Fieldset implements FormInterface
                 $values = array();
 
                 if (isset($data[$key])) {
-                    $count = count($data[$key]);
-
-                    for ($i = 0; $i != $count; ++$i) {
-                        $values[] = $value;
+                    foreach(array_keys($data[$key]) as $cKey) {
+                        $values[$cKey] = $value;
                     }
                 }
 
diff --git a/vendor/ZF2/library/Zend/Form/FormElementManager.php b/vendor/ZF2/library/Zend/Form/FormElementManager.php
index 3e38b3c6913365d109f14a9f67e0d5bdbd30b8b0..da30fd943241e4208f3c2e58661e8329448d5215 100644
--- a/vendor/ZF2/library/Zend/Form/FormElementManager.php
+++ b/vendor/ZF2/library/Zend/Form/FormElementManager.php
@@ -36,6 +36,7 @@ class FormElementManager extends AbstractPluginManager
         'dateselect'    => 'Zend\Form\Element\DateSelect',
         'datetime'      => 'Zend\Form\Element\DateTime',
         'datetimelocal' => 'Zend\Form\Element\DateTimeLocal',
+        'datetimeselect' => 'Zend\Form\Element\DateTimeSelect',
         'element'       => 'Zend\Form\Element',
         'email'         => 'Zend\Form\Element\Email',
         'fieldset'      => 'Zend\Form\Fieldset',
@@ -84,7 +85,7 @@ class FormElementManager extends AbstractPluginManager
     public function injectFactory($element)
     {
         if ($element instanceof FormFactoryAwareInterface) {
-            $element->setFormFactory(new Factory($this));
+            $element->getFormFactory()->setFormElementManager($this);
         }
     }
 
diff --git a/vendor/ZF2/library/Zend/Form/README.md b/vendor/ZF2/library/Zend/Form/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..25786c2e9d4badad798c6202c55a6fe6850fa172
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Form/README.md
@@ -0,0 +1,15 @@
+Form Component from ZF2
+=======================
+
+This is the Form component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormDateSelect.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormDateSelect.php
index 2ca13638ae96b92f0d5ca1a866b4b4ae9abb7651..21bc4f45863c09c8f1be34e0634cb96ec87787ce 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormDateSelect.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormDateSelect.php
@@ -44,7 +44,7 @@ class FormDateSelect extends FormMonthSelectHelper
         }
 
         $selectHelper = $this->getSelectElementHelper();
-        $pattern      = $this->parsePattern();
+        $pattern      = $this->parsePattern($element->shouldRenderDelimiters());
 
         $daysOptions   = $this->getDaysOptions($pattern['day']);
         $monthsOptions = $this->getMonthsOptions($pattern['month']);
@@ -60,19 +60,20 @@ class FormDateSelect extends FormMonthSelectHelper
             $monthElement->setEmptyOption('');
         }
 
-        $markup = array();
-        $markup[$pattern['day']]   = $selectHelper->render($dayElement);
-        $markup[$pattern['month']] = $selectHelper->render($monthElement);
-        $markup[$pattern['year']]  = $selectHelper->render($yearElement);
+        $data = array();
+        $data[$pattern['day']]   = $selectHelper->render($dayElement);
+        $data[$pattern['month']] = $selectHelper->render($monthElement);
+        $data[$pattern['year']]  = $selectHelper->render($yearElement);
 
-        $markup = sprintf(
-            '%s %s %s %s %s',
-            $markup[array_shift($pattern)],
-            array_shift($pattern), // Delimiter
-            $markup[array_shift($pattern)],
-            array_shift($pattern), // Delimiter
-            $markup[array_shift($pattern)]
-        );
+        $markup = '';
+        foreach ($pattern as $key => $value) {
+            // Delimiter
+            if (is_numeric($key)) {
+                $markup .= $value;
+            } else {
+                $markup .= $data[$value];
+            }
+        }
 
         return $markup;
     }
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormDateTimeSelect.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormDateTimeSelect.php
index 3c4281b017a89f0edcda45ae5b2aef199334d642..0815caf701243cb0d890c708299d4eac4f2fe1c6 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormDateTimeSelect.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormDateTimeSelect.php
@@ -52,7 +52,7 @@ class FormDateTimeSelect extends FormDateSelectHelper
         }
 
         $selectHelper = $this->getSelectElementHelper();
-        $pattern      = $this->parsePattern();
+        $pattern      = $this->parsePattern($element->shouldRenderDelimiters());
 
         $daysOptions   = $this->getDaysOptions($pattern['day']);
         $monthsOptions = $this->getMonthsOptions($pattern['month']);
@@ -77,43 +77,27 @@ class FormDateTimeSelect extends FormDateSelectHelper
             $secondElement->setEmptyOption('');
         }
 
-        $markup = array();
-        $markup[$pattern['day']]   = $selectHelper->render($dayElement);
-        $markup[$pattern['month']] = $selectHelper->render($monthElement);
-        $markup[$pattern['year']]  = $selectHelper->render($yearElement);
-        $markup[$pattern['hour']]  = $selectHelper->render($hourElement);
-        $markup[$pattern['minute']]  = $selectHelper->render($minuteElement);
+        $data = array();
+        $data[$pattern['day']]   = $selectHelper->render($dayElement);
+        $data[$pattern['month']] = $selectHelper->render($monthElement);
+        $data[$pattern['year']]  = $selectHelper->render($yearElement);
+        $data[$pattern['hour']]  = $selectHelper->render($hourElement);
+        $data[$pattern['minute']]  = $selectHelper->render($minuteElement);
 
         if ($element->shouldShowSeconds()) {
-            $markup[$pattern['second']]  = $selectHelper->render($secondElement);
-
-            $markup = sprintf(
-                '%s %s %s %s %s %s %s %s %s %s %s',
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)]
-            );
+            $data[$pattern['second']]  = $selectHelper->render($secondElement);
         } else {
-            $markup = sprintf(
-                '%s %s %s %s %s %s %s %s %s',
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)],
-                array_shift($pattern), // Delimiter
-                $markup[array_shift($pattern)]
-            );
+            unset($pattern['second']);
+        }
+
+        $markup = '';
+        foreach ($pattern as $key => $value) {
+            // Delimiter
+            if (is_numeric($key)) {
+                $markup .= $value;
+            } else {
+                $markup .= $data[$value];
+            }
         }
 
         return $markup;
@@ -183,7 +167,9 @@ class FormDateTimeSelect extends FormDateSelectHelper
     {
         if ($this->pattern === null) {
             $intl           = new IntlDateFormatter($this->getLocale(), $this->dateType, $this->timeType);
-            $this->pattern  = $intl->getPattern();
+            // remove time zone format character
+            $pattern = rtrim($intl->getPattern(), ' z');
+            $this->pattern  = $pattern;
         }
 
         return $this->pattern;
@@ -192,29 +178,30 @@ class FormDateTimeSelect extends FormDateSelectHelper
     /**
      * Parse the pattern
      *
+     * @param  bool $renderDelimiters
      * @return array
      */
-    protected function parsePattern()
+    protected function parsePattern($renderDelimiters = true)
     {
         $pattern    = $this->getPattern();
-        $pregResult = preg_split('/([ -,.:\/]+)/', $pattern, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
+        $pregResult = preg_split("/([ -,.:\/]*'.*?'[ -,.:\/]*)|([ -,.:\/]+)/", $pattern, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
 
         $result = array();
         foreach ($pregResult as $value) {
-            if (stripos($value, 'd') !== false) {
+            if (stripos($value, "'") === false && stripos($value, 'd') !== false) {
                 $result['day'] = $value;
-            } elseif (strpos($value, 'M') !== false) {
+            } elseif (stripos($value, "'") === false && strpos($value, 'M') !== false) {
                 $result['month'] = $value;
-            } elseif (stripos($value, 'y') !== false) {
+            } elseif (stripos($value, "'") === false && stripos($value, 'y') !== false) {
                 $result['year'] = $value;
-            } elseif (stripos($value, 'h') !==  false) {
+            } elseif (stripos($value, "'") === false && stripos($value, 'h') !==  false) {
                 $result['hour'] = $value;
-            } elseif (stripos($value, 'm') !== false) {
+            } elseif (stripos($value, "'") === false && stripos($value, 'm') !== false) {
                 $result['minute'] = $value;
-            } elseif (strpos($value, 's') !== false) {
+            } elseif (stripos($value, "'") === false && strpos($value, 's') !== false) {
                 $result['second'] = $value;
-            } else {
-                $result[] = $value;
+            } elseif ($renderDelimiters) {
+                $result[] = str_replace("'", '', $value);
             }
         }
 
@@ -234,7 +221,7 @@ class FormDateTimeSelect extends FormDateSelectHelper
         $date           = new DateTime('1970-01-01 00:00:00');
 
         $result = array();
-        for ($hour = 1; $hour <= 31; $hour++) {
+        for ($hour = 1; $hour <= 24; $hour++) {
             $key   = $keyFormatter->format($date);
             $value = $valueFormatter->format($date);
             $result[$key] = $value;
@@ -258,7 +245,7 @@ class FormDateTimeSelect extends FormDateSelectHelper
         $date           = new DateTime('1970-01-01 00:00:00');
 
         $result = array();
-        for ($hour = 1; $hour <= 31; $hour++) {
+        for ($min = 1; $min <= 60; $min++) {
             $key   = $keyFormatter->format($date);
             $value = $valueFormatter->format($date);
             $result[$key] = $value;
@@ -282,7 +269,7 @@ class FormDateTimeSelect extends FormDateSelectHelper
         $date           = new DateTime('1970-01-01 00:00:00');
 
         $result = array();
-        for ($hour = 1; $hour <= 31; $hour++) {
+        for ($sec = 1; $sec <= 60; $sec++) {
             $key   = $keyFormatter->format($date);
             $value = $valueFormatter->format($date);
             $result[$key] = $value;
diff --git a/vendor/ZF2/library/Zend/Form/View/Helper/FormMonthSelect.php b/vendor/ZF2/library/Zend/Form/View/Helper/FormMonthSelect.php
index 3dbb12e3f6723cccdb67733d1fe32638518836e0..298aeb0c5712612dd0877b6def66d9f99764e4dd 100644
--- a/vendor/ZF2/library/Zend/Form/View/Helper/FormMonthSelect.php
+++ b/vendor/ZF2/library/Zend/Form/View/Helper/FormMonthSelect.php
@@ -73,7 +73,7 @@ class FormMonthSelect extends AbstractHelper
         }
 
         $selectHelper = $this->getSelectElementHelper();
-        $pattern      = $this->parsePattern();
+        $pattern      = $this->parsePattern($element->shouldRenderDelimiters());
 
         // The pattern always contains "day" part and the first separator, so we have to remove it
         unset($pattern['day']);
@@ -90,16 +90,19 @@ class FormMonthSelect extends AbstractHelper
             $yearElement->setEmptyOption('');
         }
 
-        $markup = array();
-        $markup[$pattern['month']] = $selectHelper->render($monthElement);
-        $markup[$pattern['year']]  = $selectHelper->render($yearElement);
+        $data = array();
+        $data[$pattern['month']] = $selectHelper->render($monthElement);
+        $data[$pattern['year']]  = $selectHelper->render($yearElement);
 
-        $markup = sprintf(
-            '%s %s %s',
-            $markup[array_shift($pattern)],
-            array_shift($pattern), // Delimiter
-            $markup[array_shift($pattern)]
-        );
+        $markup = '';
+        foreach ($pattern as $key => $value) {
+            // Delimiter
+            if (is_numeric($key)) {
+                $markup .= $value;
+            } else {
+                $markup .= $data[$value];
+            }
+        }
 
         return $markup;
     }
@@ -145,23 +148,24 @@ class FormMonthSelect extends AbstractHelper
     /**
      * Parse the pattern
      *
+     * @param  bool $renderDelimiters
      * @return array
      */
-    protected function parsePattern()
+    protected function parsePattern($renderDelimiters = true)
     {
         $pattern    = $this->getPattern();
-        $pregResult = preg_split('/([ -,.\/]+)/', $pattern, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
+        $pregResult = preg_split("/([ -,.\/]*(?:'[a-zA-Z]+')*[ -,.\/]+)/", $pattern, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
 
         $result = array();
         foreach ($pregResult as $value) {
-            if (stripos($value, 'd') !== false) {
+            if (stripos($value, "'") === false && stripos($value, 'd') !== false) {
                 $result['day'] = $value;
-            } elseif (stripos($value, 'm') !== false) {
+            } elseif (stripos($value, "'") === false && stripos($value, 'm') !== false) {
                 $result['month'] = $value;
-            } elseif (stripos($value, 'y') !== false) {
+            } elseif (stripos($value, "'") === false && stripos($value, 'y') !== false) {
                 $result['year'] = $value;
-            } else {
-                $result[] = $value;
+            } elseif ($renderDelimiters) {
+                $result[] = str_replace("'", '', $value);
             }
         }
 
diff --git a/vendor/ZF2/library/Zend/Form/composer.json b/vendor/ZF2/library/Zend/Form/composer.json
index 44c075392888a38ece4191875c90eaad411f771f..3bc8941e61e78ceee8973fc191bedc41432b58af 100644
--- a/vendor/ZF2/library/Zend/Form/composer.json
+++ b/vendor/ZF2/library/Zend/Form/composer.json
@@ -22,5 +22,11 @@
     },
     "suggest": {
         "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Http/Client.php b/vendor/ZF2/library/Zend/Http/Client.php
index 6236f24d8e969fd6b3e9e875c6d6aa5113d5fb7c..ce76e1eb07ae54193586779dd71bd6059879b2b5 100644
--- a/vendor/ZF2/library/Zend/Http/Client.php
+++ b/vendor/ZF2/library/Zend/Http/Client.php
@@ -1334,7 +1334,7 @@ class Client implements Stdlib\DispatchableInterface
      * @param string $password
      * @param string $type
      * @return string
-     * @throws Zend\Http\Client\Exception\InvalidArgumentException
+     * @throws Client\Exception\InvalidArgumentException
      */
     public static function encodeAuthHeader($user, $password, $type = self::AUTH_BASIC)
     {
diff --git a/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php b/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php
index bac9c7839dc1d08380657e19368b89e19628f790..ed518b277cac4f6ae0bb708030a9c8bc264c955f 100644
--- a/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php
+++ b/vendor/ZF2/library/Zend/Http/Header/AbstractAccept.php
@@ -168,7 +168,7 @@ abstract class AbstractAccept implements HeaderInterface
                 $explode = explode('=', $param, 2);
 
                 $value = trim($explode[1]);
-                if ($value[0] == '"' && substr($value, -1) == '"') {
+                if (isset($value[0]) && $value[0] == '"' && substr($value, -1) == '"') {
                     $value = substr(substr($value, 1), 0, -1);
                 }
 
@@ -341,10 +341,17 @@ abstract class AbstractAccept implements HeaderInterface
         foreach ($match2->params as $key => $value) {
             if (isset($match1->params[$key])) {
                 if (strpos($value, '-')) {
-                    $values = explode('-', $value, 2);
-                    if ($values[0] > $match1->params[$key] ||
-                            $values[1] < $match1->params[$key])
-                    {
+                    preg_match(
+                        '/^(?|([^"-]*)|"([^"]*)")-(?|([^"-]*)|"([^"]*)")\z/',
+                        $value,
+                        $pieces
+                    );
+
+                    if (count($pieces) == 3 &&
+                        (version_compare($pieces[1], $match1->params[$key], '<=')  xor
+                         version_compare($pieces[2], $match1->params[$key], '>=')
+                        )
+                    ) {
                         return false;
                     }
                 } elseif (strpos($value, '|')) {
diff --git a/vendor/ZF2/library/Zend/Http/Header/SetCookie.php b/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
index fde66b9b558ed31e68f071725a8e5b9f0c0c2d39..4c24fdc6962b23ebc7b556e00f0fc9b6ce8aa648 100644
--- a/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
+++ b/vendor/ZF2/library/Zend/Http/Header/SetCookie.php
@@ -132,7 +132,8 @@ class SetCookie implements MultipleHeaderInterface
             };
         }
 
-        list($name, $value) = explode(': ', $headerLine, 2);
+        list($name, $value) = explode(':', $headerLine, 2);
+        $value = ltrim($value);
 
         // some sites return set-cookie::value, this is to get rid of the second :
         $name = (strtolower($name) =='set-cookie:') ? 'set-cookie' : $name;
@@ -227,7 +228,7 @@ class SetCookie implements MultipleHeaderInterface
     public function getFieldValue()
     {
         if ($this->getName() == '') {
-            throw new Exception\RuntimeException('A cookie name is required to generate a field value for this cookie');
+            return '';
         }
 
         $value = $this->getValue();
diff --git a/vendor/ZF2/library/Zend/Http/README.md b/vendor/ZF2/library/Zend/Http/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..64b4436f8130853f55802dfe56f84f102b9d3233
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Http/README.md
@@ -0,0 +1,15 @@
+HTTP Component from ZF2
+=======================
+
+This is the HTTP component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Http/composer.json b/vendor/ZF2/library/Zend/Http/composer.json
index ae276fbce332169b5da9c5601e5bbaeda2061c85..d4017f0cc370e20626874c9e494db662a693a45a 100644
--- a/vendor/ZF2/library/Zend/Http/composer.json
+++ b/vendor/ZF2/library/Zend/Http/composer.json
@@ -17,5 +17,11 @@
         "zendframework/zend-loader": "self.version",
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-uri": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/I18n/README.md b/vendor/ZF2/library/Zend/I18n/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..56711765fe86adda0658c741efaa6d812d2066a8
--- /dev/null
+++ b/vendor/ZF2/library/Zend/I18n/README.md
@@ -0,0 +1,15 @@
+i18n Component from ZF2
+=======================
+
+This is the i18n component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/I18n/composer.json b/vendor/ZF2/library/Zend/I18n/composer.json
index 09aa2c98ce52d99ed844de73095da643ca57161f..85cad1b9847a6d8c62fbe9607b1a98cc395a40a5 100644
--- a/vendor/ZF2/library/Zend/I18n/composer.json
+++ b/vendor/ZF2/library/Zend/I18n/composer.json
@@ -17,5 +17,11 @@
         "ext-intl": "*",
         "zendframework/zend-filter": "self.version",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/InputFilter/Input.php b/vendor/ZF2/library/Zend/InputFilter/Input.php
index dbd23cc2cdf552d5ea7173fd12a05cd08e98a8ab..277340be139d3e7d1f78de4f4cad0bd54791fd06 100644
--- a/vendor/ZF2/library/Zend/InputFilter/Input.php
+++ b/vendor/ZF2/library/Zend/InputFilter/Input.php
@@ -313,13 +313,13 @@ class Input implements InputInterface
         }
         $chain = $this->getValidatorChain();
 
-        // Check if NotEmpty validator is already first in chain
+        // Check if NotEmpty validator is already in chain
         $validators = $chain->getValidators();
-        if (isset($validators[0]['instance'])
-            && $validators[0]['instance'] instanceof NotEmpty
-        ) {
-            $this->notEmptyValidator = true;
-            return;
+        foreach ($validators as $validator) {
+            if ($validator['instance'] instanceof NotEmpty) {
+                $this->notEmptyValidator = true;
+                return;
+            }
         }
 
         $chain->prependByName('NotEmpty', array(), true);
diff --git a/vendor/ZF2/library/Zend/InputFilter/README.md b/vendor/ZF2/library/Zend/InputFilter/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..9971f883c1b2bf82eb635654a3960ea7739a6aa3
--- /dev/null
+++ b/vendor/ZF2/library/Zend/InputFilter/README.md
@@ -0,0 +1,15 @@
+InputFilter Component from ZF2
+==============================
+
+This is the InputFilter component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/InputFilter/composer.json b/vendor/ZF2/library/Zend/InputFilter/composer.json
index 9c11e4217760ec54b08dd90e8545b4e59a6d4e9a..d64678fd8aed9c094b7d8035249dfbd701b6f717 100644
--- a/vendor/ZF2/library/Zend/InputFilter/composer.json
+++ b/vendor/ZF2/library/Zend/InputFilter/composer.json
@@ -17,5 +17,11 @@
         "zendframework/zend-filter": "self.version",
         "zendframework/zend-validator": "self.version",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Json/Json.php b/vendor/ZF2/library/Zend/Json/Json.php
index bd873933e0e8a7f787b15af3fc2f3841ff8b89e3..68190ebc8a95f76ba00095d355187e30c99e5022 100644
--- a/vendor/ZF2/library/Zend/Json/Json.php
+++ b/vendor/ZF2/library/Zend/Json/Json.php
@@ -306,7 +306,7 @@ class Json
      * @return mixed - JSON formatted string on success
      * @throws \Zend\Json\Exception\RuntimeException if the input not a XML formatted string
      */
-    public static function fromXml ($xmlStringContents, $ignoreXmlAttributes=true)
+    public static function fromXml($xmlStringContents, $ignoreXmlAttributes = true)
     {
         // Load the XML formatted string into a Simple XML Element object.
         $simpleXmlElementObject = simplexml_load_string($xmlStringContents);
diff --git a/vendor/ZF2/library/Zend/Json/README.md b/vendor/ZF2/library/Zend/Json/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..59676a452a2bc32278e49ec0dbaf38f484367d13
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Json/README.md
@@ -0,0 +1,15 @@
+JSON Component from ZF2
+=======================
+
+This is the JSON component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Json/composer.json b/vendor/ZF2/library/Zend/Json/composer.json
index dcfcc0f4d13dbfcc49da36171c734dc533a0021e..f9af106f119027af5234242820a7492e3b77fdf0 100644
--- a/vendor/ZF2/library/Zend/Json/composer.json
+++ b/vendor/ZF2/library/Zend/Json/composer.json
@@ -18,5 +18,11 @@
     },
     "suggest": {
         "zendframework/zend-server": "Zend\\Server component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Ldap/README.md b/vendor/ZF2/library/Zend/Ldap/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..5f85fb781018fc5618580e8547267e919d092cf5
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Ldap/README.md
@@ -0,0 +1,15 @@
+LDAP Component from ZF2
+=======================
+
+This is the LDAP component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Ldap/composer.json b/vendor/ZF2/library/Zend/Ldap/composer.json
index 33038d0a7c7636b805e3ee817a3c29edf1876057..d9c838f60556a7b74d62da102a70b591ebe40be1 100644
--- a/vendor/ZF2/library/Zend/Ldap/composer.json
+++ b/vendor/ZF2/library/Zend/Ldap/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php b/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
index cd88954c9b30173de59350ef55ee6cdb1b173cdf..1c691a5e45603e5bdb92619baaa96d3c33a87648 100644
--- a/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
+++ b/vendor/ZF2/library/Zend/Loader/ModuleAutoloader.php
@@ -111,7 +111,7 @@ class ModuleAutoloader implements SplAutoloader
      * Sets the class map used to speed up the module autoloading.
      *
      * @param  array $classmap
-     * @return ModuleLoader
+     * @return ModuleAutoloader
      */
     public function setModuleClassMap(array $classmap)
     {
diff --git a/vendor/ZF2/library/Zend/Loader/README.md b/vendor/ZF2/library/Zend/Loader/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..87e954df5e8e25adc74cf6e03082f798096466ad
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Loader/README.md
@@ -0,0 +1,15 @@
+Loader Component from ZF2
+=========================
+
+This is the Loader component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Loader/composer.json b/vendor/ZF2/library/Zend/Loader/composer.json
index 9a91a0fa1e0663b30400bd4823352612f1fc9340..c7bd13ac7ca0d211610f3d9cb39cefb2f9516859 100644
--- a/vendor/ZF2/library/Zend/Loader/composer.json
+++ b/vendor/ZF2/library/Zend/Loader/composer.json
@@ -17,5 +17,11 @@
     },
     "suggest": {
         "zendframework/zend-stdlib": "Zend\\Stdlib component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php b/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php
index c7f637f44511cb78eefd0427a4f9943ecd536184..419154f589d0cebbe18cdd0ffd6d448a1d89dbf3 100644
--- a/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php
+++ b/vendor/ZF2/library/Zend/Log/Filter/SuppressFilter.php
@@ -9,6 +9,7 @@
 
 namespace Zend\Log\Filter;
 
+use Traversable;
 use Zend\Log\Exception;
 
 class SuppressFilter implements FilterInterface
diff --git a/vendor/ZF2/library/Zend/Log/Processor/ProcessorInterface.php b/vendor/ZF2/library/Zend/Log/Processor/ProcessorInterface.php
index ef0c045e503dece7c58c6fc1e72bd79f0f0faf47..af97e2754d6848ed706905372a752373bb74946d 100644
--- a/vendor/ZF2/library/Zend/Log/Processor/ProcessorInterface.php
+++ b/vendor/ZF2/library/Zend/Log/Processor/ProcessorInterface.php
@@ -15,7 +15,7 @@ interface ProcessorInterface
      * Processes a log message before it is given to the writers
      *
      * @param  array $event
-     * @return WriterInterface
+     * @return array
      */
     public function process(array $event);
 
diff --git a/vendor/ZF2/library/Zend/Log/README.md b/vendor/ZF2/library/Zend/Log/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..3e224cfe5b55e08cdc452ad9190639c8bc16cd03
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Log/README.md
@@ -0,0 +1,15 @@
+Log Component from ZF2
+======================
+
+This is the Log component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php b/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php
index e5ea4429d1aa8b878bf53e2aa8968da623a165a3..8a10475a452c93f8fe04d9ad61ebe67ed08b9947 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/AbstractWriter.php
@@ -41,7 +41,7 @@ abstract class AbstractWriter implements WriterInterface
     /**
      * Formats the log message before writing
      *
-     * @var Formatter
+     * @var Formatter\FormatterInterface
      */
     protected $formatter;
 
diff --git a/vendor/ZF2/library/Zend/Log/Writer/FingersCrossed.php b/vendor/ZF2/library/Zend/Log/Writer/FingersCrossed.php
index 6c2dd378418ed16e0be2aa9eb8e73f52264b5a22..a9228ec30a22f3b42d0e97effd261ec024c3fcc0 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/FingersCrossed.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/FingersCrossed.php
@@ -166,7 +166,7 @@ class FingersCrossed extends AbstractWriter
      *
      * @param string $name
      * @param array|null $options
-     * @return Writer\WriterInterface
+     * @return WriterInterface
      */
     public function writerPlugin($name, array $options = null)
     {
@@ -243,7 +243,7 @@ class FingersCrossed extends AbstractWriter
      * Stub in accordance to parent method signature.
      * Fomatters must be set on the wrapped writer.
      *
-     * @param string|Formatter\FormatterInterface $formatter
+     * @param string|FormatterInterface $formatter
      * @return WriterInterface
      */
     public function setFormatter($formatter)
diff --git a/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php b/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php
index a75f37dc53b7cdbab54a89501ddfc68202f184cb..7366398ae41d321cc1a9284136180486eb4eb288 100644
--- a/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php
+++ b/vendor/ZF2/library/Zend/Log/Writer/MongoDB.php
@@ -87,7 +87,7 @@ class MongoDB extends AbstractWriter
     /**
      * This writer does not support formatting.
      *
-     * @param string|Zend\Log\Formatter\FormatterInterface $formatter
+     * @param string|FormatterInterface $formatter
      * @return WriterInterface
      */
     public function setFormatter($formatter)
@@ -100,7 +100,7 @@ class MongoDB extends AbstractWriter
      *
      * @param array $event Event data
      * @return void
-     * @throws Zend\Log\Exception\RuntimeException
+     * @throws Exception\RuntimeException
      */
     protected function doWrite(array $event)
     {
diff --git a/vendor/ZF2/library/Zend/Log/composer.json b/vendor/ZF2/library/Zend/Log/composer.json
index f6932482fa8436438991ca1bbb26607aa3b10e34..5dfe65b8626c4b8e355bde49a84f5b543c6b08ed 100644
--- a/vendor/ZF2/library/Zend/Log/composer.json
+++ b/vendor/ZF2/library/Zend/Log/composer.json
@@ -23,5 +23,11 @@
         "zendframework/zend-escaper": "Zend\\Escaper component, for use in the XML formatter",
         "zendframework/zend-mail": "Zend\\Mail component",
         "zendframework/zend-validator": "Zend\\Validator component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Mail/Header/AbstractAddressList.php b/vendor/ZF2/library/Zend/Mail/Header/AbstractAddressList.php
index 97cbd5f1e6ba635601942d2accd60e15e107e46e..6f801933a3c9920a8b0eb7593d14bf7e6e97aeba 100644
--- a/vendor/ZF2/library/Zend/Mail/Header/AbstractAddressList.php
+++ b/vendor/ZF2/library/Zend/Mail/Header/AbstractAddressList.php
@@ -43,7 +43,9 @@ abstract class AbstractAddressList implements HeaderInterface
     {
         $decodedLine = iconv_mime_decode($headerLine, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8');
         // split into name/value
-        list($fieldName, $fieldValue) = explode(': ', $decodedLine, 2);
+        list($fieldName, $fieldValue) = explode(':', $decodedLine, 2);
+        $fieldName  = trim($fieldName);
+        $fieldValue = trim($fieldValue);
 
         if (strtolower($fieldName) !== static::$type) {
             throw new Exception\InvalidArgumentException(sprintf(
diff --git a/vendor/ZF2/library/Zend/Mail/README.md b/vendor/ZF2/library/Zend/Mail/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..21c97e554af63c126ff4a6bd383fd52213ea812c
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Mail/README.md
@@ -0,0 +1,15 @@
+Mail Component from ZF2
+=======================
+
+This is the Mail component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php b/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php
index d5d607cf9723a60e107fae8dbe70e3abed2d18c2..fbe8583fd0130ecb09d4c65680ccf17ce16e7a18 100644
--- a/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php
+++ b/vendor/ZF2/library/Zend/Mail/Transport/Sendmail.php
@@ -127,6 +127,15 @@ class Sendmail implements TransportInterface
         $headers = $this->prepareHeaders($message);
         $params  = $this->prepareParameters($message);
 
+        // On *nix platforms, we need to replace \r\n with \n
+        // sendmail is not an SMTP server, it is a unix command - it expects LF
+        if (!$this->isWindowsOs()) {
+            $to      = str_replace("\r\n", "\n", $to);
+            $subject = str_replace("\r\n", "\n", $subject);
+            $body    = str_replace("\r\n", "\n", $body);
+            $headers = str_replace("\r\n", "\n", $headers);
+        }
+
         call_user_func($this->callable, $to, $subject, $body, $headers, $params);
     }
 
diff --git a/vendor/ZF2/library/Zend/Mail/composer.json b/vendor/ZF2/library/Zend/Mail/composer.json
index 77aa2aef6e75ce88a21757c16ccda3d75ad6032f..326bf6e0487156071fea7e0b7e078f219d2adc5b 100644
--- a/vendor/ZF2/library/Zend/Mail/composer.json
+++ b/vendor/ZF2/library/Zend/Mail/composer.json
@@ -21,5 +21,11 @@
     "suggest": {
         "zendframework/zend-validator": "Zend\\Validator component",
         "zendframework/zend-servicemanager": "Zend\\ServiceManager component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Math/README.md b/vendor/ZF2/library/Zend/Math/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..e3a5e851a6e7abb586a8b30b9f0ddc5391826594
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Math/README.md
@@ -0,0 +1,15 @@
+Math Component from ZF2
+=======================
+
+This is the Math component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Math/composer.json b/vendor/ZF2/library/Zend/Math/composer.json
index 60b59dd8e734540b8461a5edfc10e898856ad817..2cd6a86462d90d8ed933732041b716124cd7ae04 100644
--- a/vendor/ZF2/library/Zend/Math/composer.json
+++ b/vendor/ZF2/library/Zend/Math/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Math",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Memory/README.md b/vendor/ZF2/library/Zend/Memory/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..a896e73531866a98825ad3562cb7e9c38c4963bb
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Memory/README.md
@@ -0,0 +1,15 @@
+Memory Component from ZF2
+=========================
+
+This is the Memory component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Memory/composer.json b/vendor/ZF2/library/Zend/Memory/composer.json
index dd0e7b18ec5e864bf5e3db9077e01bf6ed5d1b8a..c430d5f9c7d3827dce0587b6fc35b0b4ff353efb 100644
--- a/vendor/ZF2/library/Zend/Memory/composer.json
+++ b/vendor/ZF2/library/Zend/Memory/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Memory",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Mime/README.md b/vendor/ZF2/library/Zend/Mime/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..9dcacb166297699c68307d75c7228af0ccb13681
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Mime/README.md
@@ -0,0 +1,15 @@
+MIME Component from ZF2
+=======================
+
+This is the MIME component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Mime/composer.json b/vendor/ZF2/library/Zend/Mime/composer.json
index 57ebcde3ff37e40831c82748eaae34286087abe6..ee08a3bf7c389a114ce7c738639e2d949d1b582c 100644
--- a/vendor/ZF2/library/Zend/Mime/composer.json
+++ b/vendor/ZF2/library/Zend/Mime/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/ModuleManager/README.md b/vendor/ZF2/library/Zend/ModuleManager/README.md
index ff200e30ae907e1c6dae4e165772b9d72da092fe..5e710bd7cb5daebd7fcb222c619d1b77c852be0b 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/README.md
+++ b/vendor/ZF2/library/Zend/ModuleManager/README.md
@@ -1,5 +1,17 @@
-ZF2 Module Manager
-==================
+ModuleManager Component from ZF2
+================================
+
+This is the ModuleManager component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
 
 Description
 -----------
diff --git a/vendor/ZF2/library/Zend/ModuleManager/composer.json b/vendor/ZF2/library/Zend/ModuleManager/composer.json
index 2b74f5e18b5daff8e76b451646c8d4f8a5bfed1f..6c6236cf4fb2dbaba87ed4f2746ace93f7ac21ea 100644
--- a/vendor/ZF2/library/Zend/ModuleManager/composer.json
+++ b/vendor/ZF2/library/Zend/ModuleManager/composer.json
@@ -21,5 +21,11 @@
         "zendframework/zend-config": "Zend\\Config component",
         "zendframework/zend-loader": "Zend\\Loader component",
         "zendframework/zend-servicemanager": "Zend\\ServiceManager component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Mvc/Application.php b/vendor/ZF2/library/Zend/Mvc/Application.php
index fc49693fe0936e608a49d6005de68afb16ecb763..7d42a8496183a647765c4012415571b6293fa06d 100644
--- a/vendor/ZF2/library/Zend/Mvc/Application.php
+++ b/vendor/ZF2/library/Zend/Mvc/Application.php
@@ -13,7 +13,6 @@ use Zend\EventManager\EventManagerAwareInterface;
 use Zend\EventManager\EventManagerInterface;
 use Zend\ServiceManager\ServiceManager;
 use Zend\Stdlib\ResponseInterface;
-use Zend\Stdlib\Nop;
 
 /**
  * Main application class for invoking applications
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php b/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php
index 5198a541c0fbf8d7c3bb8e91caec9123e7b77c7f..a8275b5a13ec10c76fe6ec78d2860f518626f232 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/AbstractController.php
@@ -255,6 +255,7 @@ abstract class AbstractController implements
             $this->setPluginManager(new PluginManager());
         }
 
+        $this->plugins->setController($this);
         return $this->plugins;
     }
 
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php
index 91d5ba0ff57da04d8dbe15f7200384254cf8d76e..521c22538ef6da3dd25f61b2d5f77e777ab3be2e 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/FilePostRedirectGet.php
@@ -178,7 +178,7 @@ class FilePostRedirectGet extends AbstractPlugin
      */
     public function setSessionContainer(Container $container)
     {
-        $this->sessionContainer = container;
+        $this->sessionContainer = $container;
         return $this;
     }
 
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php
index 96daa2bc3a16a8dc305c21796553ecd67625ab60..ce038a47539c2503720d45957c09f9660142a5f0 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/PostRedirectGet.php
@@ -39,7 +39,7 @@ class PostRedirectGet extends AbstractPlugin
      *
      * @param  null|string $redirect
      * @param  bool $redirectToUrl
-     * @return \Zend\Http\Response|array|Traversable|false
+     * @return \Zend\Http\Response|array|\Traversable|false
      */
     public function __invoke($redirect = null, $redirectToUrl = false)
     {
@@ -88,7 +88,7 @@ class PostRedirectGet extends AbstractPlugin
      *
      * @param  string  $redirect
      * @param  boolean $redirectToUrl
-     * @return Response
+     * @return \Zend\Http\Response
      * @throws \Zend\Mvc\Exception\RuntimeException
      */
     protected function redirect($redirect, $redirectToUrl)
diff --git a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php
index 48b114ce3802af10577d5298cc4597a4ee5fb1ff..f2660ff93f995eeaa8c846d50e2bbff553ff9ce8 100644
--- a/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php
+++ b/vendor/ZF2/library/Zend/Mvc/Controller/Plugin/Url.php
@@ -39,7 +39,7 @@ class Url extends AbstractPlugin
 
         $event   = $controller->getEvent();
         $router  = null;
-        $matches =null;
+        $matches = null;
         if ($event instanceof MvcEvent) {
             $router  = $event->getRouter();
             $matches = $event->getRouteMatch();
diff --git a/vendor/ZF2/library/Zend/Mvc/README.md b/vendor/ZF2/library/Zend/Mvc/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..c337188ce5c5c4164d5a93a8f28ebab8a4d15bd7
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Mvc/README.md
@@ -0,0 +1,15 @@
+MVC Component from ZF2
+======================
+
+This is the MVC component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Mvc/ResponseSender/ResponseSenderInterface.php b/vendor/ZF2/library/Zend/Mvc/ResponseSender/ResponseSenderInterface.php
index 65b89e89ad6cb67e94d77a4a3d0a82bded6307a8..7ede12dff8460dbf7d597c431d28e7cd2ff635fb 100644
--- a/vendor/ZF2/library/Zend/Mvc/ResponseSender/ResponseSenderInterface.php
+++ b/vendor/ZF2/library/Zend/Mvc/ResponseSender/ResponseSenderInterface.php
@@ -9,7 +9,7 @@
 
 namespace Zend\Mvc\ResponseSender;
 
-use Zend\Mvc\ResponseSender\SendResponseEvent;;
+use Zend\Mvc\ResponseSender\SendResponseEvent;
 
 interface ResponseSenderInterface
 {
diff --git a/vendor/ZF2/library/Zend/Mvc/RouteListener.php b/vendor/ZF2/library/Zend/Mvc/RouteListener.php
index 7f12a4f1a32be7b2033c42d5060d5671944cc82b..71ee3bf8cfbc145a8ea2a6c542f7a097206edb06 100644
--- a/vendor/ZF2/library/Zend/Mvc/RouteListener.php
+++ b/vendor/ZF2/library/Zend/Mvc/RouteListener.php
@@ -11,6 +11,7 @@ namespace Zend\Mvc;
 
 use Zend\EventManager\EventManagerInterface;
 use Zend\EventManager\ListenerAggregateInterface;
+use Zend\Mvc\Application;
 
 class RouteListener implements ListenerAggregateInterface
 {
@@ -64,7 +65,7 @@ class RouteListener implements ListenerAggregateInterface
         $routeMatch = $router->match($request);
 
         if (!$routeMatch instanceof Router\RouteMatch) {
-            $e->setError($target::ERROR_ROUTER_NO_MATCH);
+            $e->setError(Application::ERROR_ROUTER_NO_MATCH);
 
             $results = $target->getEventManager()->trigger(MvcEvent::EVENT_DISPATCH_ERROR, $e);
             if (count($results)) {
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php b/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php
index fcbeeb78778e55af2c983bea44b59954ffbcc78c..fadcafb6c28d484478e330a53162223e539a806c 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Console/Catchall.php
@@ -90,7 +90,7 @@ class Catchall implements RouteInterface
     /**
      * factory(): defined by Route interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @return Simple
      */
@@ -118,7 +118,7 @@ class Catchall implements RouteInterface
     /**
      * assemble(): Defined by Route interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -131,7 +131,7 @@ class Catchall implements RouteInterface
     /**
      * getAssembledParams(): defined by Route interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php b/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php
index 90ed22d5be67b51a8e72a98eee27bf95a5bd0928..15428dc781746bac9d75a78d9be7be6d36a7d5b3 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Console/Simple.php
@@ -136,7 +136,7 @@ class Simple implements RouteInterface
     /**
      * factory(): defined by Route interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws \Zend\Mvc\Router\Exception\InvalidArgumentException
      * @return Simple
@@ -203,7 +203,7 @@ class Simple implements RouteInterface
              *    --param=
              *    --param=whatever
              */
-            if (preg_match( '/\G--(?<name>[a-zA-Z0-9][a-zA-Z0-9\_\-]+)(?<hasValue>=\S*?)?(?: +|$)/s', $def, $m, 0, $pos )) {
+            if (preg_match('/\G--(?<name>[a-zA-Z0-9][a-zA-Z0-9\_\-]+)(?<hasValue>=\S*?)?(?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => strtolower( $m['name'] ),
                     'short'      => false,
@@ -213,6 +213,22 @@ class Simple implements RouteInterface
                     'hasValue'   => !empty($m['hasValue']),
                 );
             }
+            /**
+             * Optional long flag
+             *    [--param]
+             */
+            elseif (preg_match(
+                '/\G\[ *?--(?<name>[a-zA-Z0-9][a-zA-Z0-9\_\-]+) *?\](?: +|$)/s', $def, $m, 0, $pos
+            )) {
+                $item = array(
+                    'name'       => strtolower($m['name']),
+                    'short'      => false,
+                    'literal'    => false,
+                    'required'   => false,
+                    'positional' => false,
+                    'hasValue'   => false,
+                );
+            }
             /**
              * Optional long param
              *    [--param=]
@@ -237,9 +253,9 @@ class Simple implements RouteInterface
              *    -a=s
              *    -a=w
              */
-            elseif (preg_match( '/\G-(?<name>[a-zA-Z0-9])(?:=(?<type>[ns]))?(?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G-(?<name>[a-zA-Z0-9])(?:=(?<type>[ns]))?(?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
-                    'name'       => strtolower( $m['name'] ),
+                    'name'       => strtolower($m['name']),
                     'short'      => true,
                     'literal'    => false,
                     'required'   => true,
@@ -268,7 +284,7 @@ class Simple implements RouteInterface
              *    [ something | somethingElse | anotherOne ]
              *    [ something | somethingElse | anotherOne ]:namedGroup
              */
-            elseif (preg_match( '/
+            elseif (preg_match('/
                 \G
                 \[
                     (?<options>
@@ -308,7 +324,7 @@ class Simple implements RouteInterface
              *    ( something | somethingElse | anotherOne )
              *    ( something | somethingElse | anotherOne ):namedGroup
              */
-            elseif (preg_match( '/
+            elseif (preg_match('/
                 \G
                 \(
                     (?<options>
@@ -346,7 +362,7 @@ class Simple implements RouteInterface
              *    ( --something | --somethingElse | --anotherOne | -s | -a )
              *    ( --something | --somethingElse | --anotherOne | -s | -a ):namedGroup
              */
-            elseif (preg_match( '/
+            elseif (preg_match('/
                 \G
                 \(
                     (?<options>
@@ -389,7 +405,7 @@ class Simple implements RouteInterface
              *    [ --something | --somethingElse | --anotherOne | -s | -a ]
              *    [ --something | --somethingElse | --anotherOne | -s | -a ]:namedGroup
              */
-            elseif (preg_match( '/
+            elseif (preg_match('/
                 \G
                 \[
                     (?<options>
@@ -431,7 +447,7 @@ class Simple implements RouteInterface
              * Optional literal param, i.e.
              *    [something]
              */
-            elseif (preg_match( '/\G\[ *?(?<name>[a-z0-9][a-zA-Z0-9\_]*?) *?\](?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G\[ *?(?<name>[a-z0-9][a-zA-Z0-9\_]*?) *?\](?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => $m['name'],
                     'literal'    => true,
@@ -444,7 +460,7 @@ class Simple implements RouteInterface
              * Optional value param, i.e.
              *    [SOMETHING]
              */
-            elseif (preg_match( '/\G\[(?<name>[A-Z0-9\_]+)\](?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G\[(?<name>[A-Z0-9\_]+)\](?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => strtolower( $m['name'] ),
                     'literal'    => false,
@@ -457,7 +473,7 @@ class Simple implements RouteInterface
              * Optional value param, syntax 2, i.e.
              *    [<SOMETHING>]
              */
-            elseif (preg_match( '/\G\[ *\<(?<name>[a-zA-Z0-9\_]+)\> *\](?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G\[ *\<(?<name>[a-zA-Z0-9\_]+)\> *\](?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => strtolower( $m['name'] ),
                     'literal'    => false,
@@ -470,7 +486,7 @@ class Simple implements RouteInterface
              * Mandatory value param, i.e.
              *    <something>
              */
-            elseif (preg_match( '/\G\< *(?<name>[a-zA-Z0-9\_]+) *\>(?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G\< *(?<name>[a-zA-Z0-9\_]+) *\>(?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => $m['name'],
                     'literal'    => false,
@@ -483,7 +499,7 @@ class Simple implements RouteInterface
              * Mandatory value param, i.e.
              *   SOMETHING
              */
-            elseif (preg_match( '/\G(?<name>[A-Z0-9\_]*?)(?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G(?<name>[A-Z0-9\_]*?)(?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => strtolower( $m['name'] ),
                     'literal'    => false,
@@ -496,7 +512,7 @@ class Simple implements RouteInterface
              * Mandatory literal param, i.e.
              *   something
              */
-            elseif (preg_match( '/\G(?<name>[a-z0-9][a-zA-Z0-9\_]*?)(?: +|$)/s', $def, $m, 0, $pos )) {
+            elseif (preg_match('/\G(?<name>[a-z0-9][a-zA-Z0-9\_]*?)(?: +|$)/s', $def, $m, 0, $pos)) {
                 $item = array(
                     'name'       => $m['name'],
                     'literal'    => true,
@@ -510,7 +526,7 @@ class Simple implements RouteInterface
                 );
             }
 
-            $pos += strlen( $m[0] );
+            $pos += strlen($m[0]);
             $parts[] = $item;
         }
 
@@ -613,7 +629,7 @@ class Simple implements RouteInterface
                  * Drop out if that was a mandatory param
                  */
                 if ($part['required']) {
-                    return;
+                    return null;
                 }
 
                 /**
@@ -644,7 +660,7 @@ class Simple implements RouteInterface
                     array_splice($params, $x, 1);
                 } else {
                     // there are no more params available
-                    return;
+                    return null;
                 }
             }
 
@@ -656,7 +672,7 @@ class Simple implements RouteInterface
                     !preg_match($this->constraints[$part['name']], $value)
                 ) {
                     // constraint failed
-                    return;
+                    return null;
                 }
             }
 
@@ -698,7 +714,7 @@ class Simple implements RouteInterface
          */
         foreach ($params as $param) {
             if (preg_match('#^\-+#', $param)) {
-                return; // there is an unrecognized flag
+                return null; // there is an unrecognized flag
             }
         }
 
@@ -713,7 +729,7 @@ class Simple implements RouteInterface
             if (!isset($params[$argPos])) {
                 if ($part['required']) {
                     // cannot find required positional param
-                    return;
+                    return null;
                 } else {
                     // stop matching
                     break;
@@ -730,7 +746,7 @@ class Simple implements RouteInterface
                     (isset($part['alternatives']) && !in_array($value, $part['alternatives'])) ||
                     (!isset($part['alternatives']) && $value != $part['name'])
                 ) {
-                    return;
+                    return null;
                 }
             }
 
@@ -742,7 +758,7 @@ class Simple implements RouteInterface
                     !preg_match($this->constraints[$part['name']], $value)
                 ) {
                     // constraint failed
-                    return;
+                    return null;
                 }
             }
 
@@ -777,18 +793,16 @@ class Simple implements RouteInterface
          * Check if we have consumed all positional parameters
          */
         if ($argPos < count($params)) {
-            return; // there are extraneous params that were not consumed
+            return null; // there are extraneous params that were not consumed
         }
 
-
-
         return new RouteMatch(array_merge($this->defaults, $matches));
     }
 
     /**
      * assemble(): Defined by Route interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -801,7 +815,7 @@ class Simple implements RouteInterface
     /**
      * getAssembledParams(): defined by Route interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php b/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
index 5874e79cc54a9e7e17ce28f6f17f119eff78e50a..fd4f55ce75e01951aabc0e21155d163ef881bb9d 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Console/SimpleRouteStack.php
@@ -22,7 +22,7 @@ class SimpleRouteStack extends BaseSimpleRouteStack
     /**
      * init(): defined by SimpleRouteStack.
      *
-     * @see    SimpleRouteStack::init()
+     * @see    BaseSimpleRouteStack::init()
      */
     protected function init()
     {
@@ -39,7 +39,7 @@ class SimpleRouteStack extends BaseSimpleRouteStack
     /**
      * addRoute(): defined by RouteStackInterface interface.
      *
-     * @see    RouteStack::addRoute()
+     * @see    RouteStackInterface::addRoute()
      * @param  string  $name
      * @param  mixed   $route
      * @param  integer $priority
@@ -57,7 +57,7 @@ class SimpleRouteStack extends BaseSimpleRouteStack
     /**
      * routeFromArray(): defined by SimpleRouteStack.
      *
-     * @see    SimpleRouteStack::routeFromArray()
+     * @see    BaseSimpleRouteStack::routeFromArray()
      * @param  array|Traversable $specs
      * @return RouteInterface
      * @throws Exception\InvalidArgumentException
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Hostname.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Hostname.php
index 68e9bcbbb893cbfaf0984ccc0a3b69e9997ea5d7..de5ca8df44dc40ee56fa4b26ad3301dfbaf0b927 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Hostname.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Hostname.php
@@ -22,18 +22,25 @@ use Zend\Stdlib\RequestInterface as Request;
 class Hostname implements RouteInterface
 {
     /**
-     * RouteInterface to match.
+     * Parts of the route.
      *
      * @var array
      */
-    protected $route;
+    protected $parts;
 
     /**
-     * Constraints for parameters.
+     * Regex used for matching the route.
+     *
+     * @var string
+     */
+    protected $regex;
+
+    /**
+     * Map from regex groups to parameter names.
      *
      * @var array
      */
-    protected $constraints;
+    protected $paramMap = array();
 
     /**
      * Default values.
@@ -58,15 +65,15 @@ class Hostname implements RouteInterface
      */
     public function __construct($route, array $constraints = array(), array $defaults = array())
     {
-        $this->route       = explode('.', $route);
-        $this->constraints = $constraints;
-        $this->defaults    = $defaults;
+        $this->defaults = $defaults;
+        $this->parts    = $this->parseRouteDefinition($route);
+        $this->regex    = $this->buildRegex($this->parts, $constraints);
     }
 
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws \Zend\Mvc\Router\Exception\InvalidArgumentException
      * @return Hostname
@@ -94,10 +101,168 @@ class Hostname implements RouteInterface
         return new static($options['route'], $options['constraints'], $options['defaults']);
     }
 
+    /**
+     * Parse a route definition.
+     *
+     * @param  string $def
+     * @return array
+     * @throws Exception\RuntimeException
+     */
+    protected function parseRouteDefinition($def)
+    {
+        $currentPos = 0;
+        $length     = strlen($def);
+        $parts      = array();
+        $levelParts = array(&$parts);
+        $level      = 0;
+
+        while ($currentPos < $length) {
+            preg_match('(\G(?P<literal>[a-z0-9-.]*)(?P<token>[:{\[\]]|$))', $def, $matches, 0, $currentPos);
+
+            $currentPos += strlen($matches[0]);
+
+            if (!empty($matches['literal'])) {
+                $levelParts[$level][] = array('literal', $matches['literal']);
+            }
+
+            if ($matches['token'] === ':') {
+                if (!preg_match('(\G(?P<name>[^:.{\[\]]+)(?:{(?P<delimiters>[^}]+)})?:?)', $def, $matches, 0, $currentPos)) {
+                    throw new Exception\RuntimeException('Found empty parameter name');
+                }
+
+                $levelParts[$level][] = array('parameter', $matches['name'], isset($matches['delimiters']) ? $matches['delimiters'] : null);
+
+                $currentPos += strlen($matches[0]);
+            } elseif ($matches['token'] === '[') {
+                $levelParts[$level][] = array('optional', array());
+                $levelParts[$level + 1] = &$levelParts[$level][count($levelParts[$level]) - 1][1];
+
+                $level++;
+            } elseif ($matches['token'] === ']') {
+                unset($levelParts[$level]);
+                $level--;
+
+                if ($level < 0) {
+                    throw new Exception\RuntimeException('Found closing bracket without matching opening bracket');
+                }
+            } else {
+                break;
+            }
+        }
+
+        if ($level > 0) {
+            throw new Exception\RuntimeException('Found unbalanced brackets');
+        }
+
+        return $parts;
+    }
+
+    /**
+     * Build the matching regex from parsed parts.
+     *
+     * @param  array   $parts
+     * @param  array   $constraints
+     * @param  integer $groupIndex
+     * @return string
+     * @throws Exception\RuntimeException
+     */
+    protected function buildRegex(array $parts, array $constraints, &$groupIndex = 1)
+    {
+        $regex = '';
+
+        // Reverse the parts to build the regex in reverse
+        foreach (array_reverse($parts) as $part) {
+            switch ($part[0]) {
+                case 'literal':
+                    $regex .= preg_quote(strrev($part[1]));
+                    break;
+
+                case 'parameter':
+                    $groupName = '?P<param' . $groupIndex . '>';
+
+                    if (isset($constraints[$part[1]])) {
+                        $regex .= '(' . $groupName . $constraints[$part[1]] . ')';
+                    } elseif ($part[2] === null) {
+                        $regex .= '(' . $groupName . '[^.]+)';
+                    } else {
+                        $regex .= '(' . $groupName . '[^' . $part[2] . ']+)';
+                    }
+
+                    $this->paramMap['param' . $groupIndex++] = $part[1];
+                    break;
+
+                case 'optional':
+                    $regex .= '(?:' . $this->buildRegex($part[1], $constraints, $groupIndex) . ')?';
+                    break;
+            }
+        }
+
+        return $regex;
+    }
+
+    /**
+     * Build host.
+     *
+     * @param  array   $parts
+     * @param  array   $mergedParams
+     * @param  bool $isOptional
+     * @return string
+     * @throws Exception\RuntimeException
+     * @throws Exception\InvalidArgumentException
+     */
+    protected function buildHost(array $parts, array $mergedParams, $isOptional)
+    {
+        $host      = '';
+        $skip      = true;
+        $skippable = false;
+
+        foreach ($parts as $part) {
+            switch ($part[0]) {
+                case 'literal':
+                    $host .= $part[1];
+                    break;
+
+                case 'parameter':
+                    $skippable = true;
+
+                    if (!isset($mergedParams[$part[1]])) {
+                        if (!$isOptional) {
+                            throw new Exception\InvalidArgumentException(sprintf('Missing parameter "%s"', $part[1]));
+                        }
+
+                        return '';
+                    } elseif (!$isOptional || !isset($this->defaults[$part[1]]) || $this->defaults[$part[1]] !== $mergedParams[$part[1]]) {
+                        $skip = false;
+                    }
+
+                    $host .= $mergedParams[$part[1]];
+
+                    $this->assembledParams[] = $part[1];
+                    break;
+
+                case 'optional':
+                    $skippable    = true;
+                    $optionalPart = $this->buildHost($part[1], $mergedParams, true);
+
+                    if ($optionalPart !== '') {
+                        $host .= $optionalPart;
+                        $skip  = false;
+                    }
+                    break;
+            }
+        }
+
+        if ($isOptional && $skippable && $skip) {
+            return '';
+        }
+
+        return $host;
+    }
+
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @return RouteMatch
      */
@@ -107,23 +272,22 @@ class Hostname implements RouteInterface
             return null;
         }
 
-        $uri      = $request->getUri();
-        $hostname = explode('.', $uri->getHost());
-        $params   = array();
+        $uri  = $request->getUri();
+        $host = $uri->getHost();
 
-        if (count($hostname) !== count($this->route)) {
+        // reverse the host as the regex was built backwards
+        $result = preg_match('(^' . $this->regex . '$)', strrev($host), $matches);
+
+        if (!$result) {
             return null;
         }
 
-        foreach ($this->route as $index => $routePart) {
-            if (preg_match('(^:(?P<name>.+)$)', $routePart, $matches)) {
-                if (isset($this->constraints[$matches['name']]) && !preg_match('(^' . $this->constraints[$matches['name']] . '$)', $hostname[$index])) {
-                    return null;
-                }
+        $params        = array();
 
-                $params[$matches['name']] = $hostname[$index];
-            } elseif ($hostname[$index] !== $routePart) {
-                return null;
+        foreach ($this->paramMap as $index => $name) {
+            if (isset($matches[$index]) && $matches[$index] !== '') {
+                // reverse the param as the preg_match was done on reverse host
+                $params[$name] = strrev($matches[$index]);
             }
         }
 
@@ -133,35 +297,23 @@ class Hostname implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
-     * @throws Exception\InvalidArgumentException
      */
     public function assemble(array $params = array(), array $options = array())
     {
-        $mergedParams          = array_merge($this->defaults, $params);
         $this->assembledParams = array();
 
         if (isset($options['uri'])) {
-            $parts = array();
-
-            foreach ($this->route as $routePart) {
-                if (preg_match('(^:(?P<name>.+)$)', $routePart, $matches)) {
-                    if (!isset($mergedParams[$matches['name']])) {
-                        throw new Exception\InvalidArgumentException(sprintf('Missing parameter "%s"', $matches['name']));
-                    }
-
-                    $parts[] = $mergedParams[$matches['name']];
-
-                    $this->assembledParams[] = $matches['name'];
-                } else {
-                    $parts[] = $routePart;
-                }
-            }
+            $host = $this->buildHost(
+                $this->parts,
+                array_merge($this->defaults, $params),
+                false
+            );
 
-            $options['uri']->setHost(implode('.', $parts));
+            $options['uri']->setHost($host);
         }
 
         // A hostname does not contribute to the path, thus nothing is returned.
@@ -171,7 +323,7 @@ class Hostname implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Literal.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Literal.php
index d42fffbeb03c6af913227f680886e953587cfe8b..302628e64b100ae5e1300d66e52ab07693f1ef29 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Literal.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Literal.php
@@ -50,7 +50,7 @@ class Literal implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws Exception\InvalidArgumentException
      * @return Literal
@@ -77,7 +77,7 @@ class Literal implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request  $request
      * @param  int|null $pathOffset
      * @return RouteMatch|null
@@ -111,7 +111,7 @@ class Literal implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -124,7 +124,7 @@ class Literal implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Method.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Method.php
index 6efd25d886374b9e71be3ec8c354e206e938153d..1791c9bffd0ae7fd27b37a3fc3749b54eeaa4c3d 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Method.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Method.php
@@ -48,7 +48,7 @@ class Method implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws Exception\InvalidArgumentException
      * @return Method
@@ -75,7 +75,7 @@ class Method implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @return RouteMatch|null
      */
@@ -99,7 +99,7 @@ class Method implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -113,7 +113,7 @@ class Method implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Part.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Part.php
index 0e2310e541fd31df6d0da642fae98d4071f3aa9d..1f66a83f5826efbba35534c65ed3cbe4fcb63063 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Part.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Part.php
@@ -74,7 +74,7 @@ class Part extends TreeRouteStack implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  mixed $options
      * @throws Exception\InvalidArgumentException
      * @return Part
@@ -112,7 +112,7 @@ class Part extends TreeRouteStack implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request  $request
      * @param  int|null $pathOffset
      * @return RouteMatch|null
@@ -136,8 +136,11 @@ class Part extends TreeRouteStack implements RouteInterface
             $uri        = $request->getUri();
             $pathLength = strlen($uri->getPath());
 
-            if ($this->mayTerminate && $nextOffset === $pathLength && trim($uri->getQuery()) == "") {
-                return $match;
+            if ($this->mayTerminate && $nextOffset === $pathLength) {
+                $query = $uri->getQuery();
+                if ('' == trim($query) || !$this->hasQueryChild()) {
+                    return $match;
+                }
             }
 
             foreach ($this->routes as $name => $route) {
@@ -155,7 +158,7 @@ class Part extends TreeRouteStack implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -191,7 +194,7 @@ class Part extends TreeRouteStack implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
@@ -200,4 +203,19 @@ class Part extends TreeRouteStack implements RouteInterface
         // don't have to return anything here.
         return array();
     }
+
+    /**
+     * Is one of the child routes a query route?
+     *
+     * @return bool
+     */
+    protected function hasQueryChild()
+    {
+        foreach ($this->routes as $route) {
+            if ($route instanceof Query) {
+                return true;
+            }
+        }
+        return false;
+    }
 }
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Query.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Query.php
index a937bf1df89658eb8f5461f98868e35b8a2698ba..a807e966c053978ca42b3c2ed7361b8cc33fd04f 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Query.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Query.php
@@ -19,6 +19,7 @@ use Zend\Stdlib\RequestInterface as Request;
  * Query route.
  *
  * @see        http://guides.rubyonrails.org/routing.html
+ * @deprecated
  */
 class Query implements RouteInterface
 {
@@ -50,7 +51,7 @@ class Query implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws Exception\InvalidArgumentException
      * @return Query
@@ -74,7 +75,7 @@ class Query implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @param  int|null $pathOffset
      * @return RouteMatch
@@ -111,7 +112,7 @@ class Query implements RouteInterface
 
     /**
      * assemble(): Defined by RouteInterface interface.
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      *
      * @param  array $params
      * @param  array $options
@@ -137,7 +138,7 @@ class Query implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Regex.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Regex.php
index 4155305e3dcde3e3a91ff5def36fa1a11cfb6003..8b153f089bdca3a65d1760a3062c0394ba6d1d35 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Regex.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Regex.php
@@ -68,7 +68,7 @@ class Regex implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws \Zend\Mvc\Router\Exception\InvalidArgumentException
      * @return Regex
@@ -138,7 +138,7 @@ class Regex implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -165,7 +165,7 @@ class Regex implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Scheme.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Scheme.php
index 0c9893f99679930536d758e690423df5047d18d3..a19c67149e2b443b7587eeadf98e1c8887214ade 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Scheme.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Scheme.php
@@ -50,7 +50,7 @@ class Scheme implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @return Scheme
      * @throws Exception\InvalidArgumentException
@@ -77,7 +77,7 @@ class Scheme implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @return RouteMatch
      */
@@ -100,7 +100,7 @@ class Scheme implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -118,7 +118,7 @@ class Scheme implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
index f8b92d514e01f238fc3b599f136c5d2223b8b0b4..1be9dc2aec9a41dae1316cd3253c649d4d6a9ae7 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Segment.php
@@ -110,7 +110,7 @@ class Segment implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws \Zend\Mvc\Router\Exception\InvalidArgumentException
      * @return Segment
@@ -335,7 +335,7 @@ class Segment implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @param  string|null $pathOffset
      * @return RouteMatch
@@ -374,7 +374,7 @@ class Segment implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -394,7 +394,7 @@ class Segment implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php
index 33e3c6ca47836874f2be6b3160097fea7649504f..1818d9d20dcd581550e1d08400c5e801a3345708 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/TreeRouteStack.php
@@ -62,7 +62,7 @@ class TreeRouteStack extends SimpleRouteStack
     /**
      * addRoute(): defined by RouteStackInterface interface.
      *
-     * @see    RouteStack::addRoute()
+     * @see    RouteStackInterface::addRoute()
      * @param  string  $name
      * @param  mixed   $route
      * @param  integer $priority
@@ -217,6 +217,14 @@ class TreeRouteStack extends SimpleRouteStack
 
         $path = $this->baseUrl . $route->assemble(array_merge($this->defaultParams, $params), $options);
 
+        if (isset($options['query'])) {
+            $uri->setQuery($options['query']);
+        }
+
+        if (isset($options['fragment'])) {
+            $uri->setFragment($options['fragment']);
+        }
+
         if ((isset($options['force_canonical']) && $options['force_canonical']) || $uri->getHost() !== null) {
             if ($uri->getScheme() === null) {
                 if ($this->requestUri === null) {
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/Http/Wildcard.php b/vendor/ZF2/library/Zend/Mvc/Router/Http/Wildcard.php
index 01b40b7ad0f6d4992f7f626686b402b70eadbb29..eb4e6c1a1e3cf7c1171b4e7a3a9a331b7f4421d5 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/Http/Wildcard.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/Http/Wildcard.php
@@ -66,7 +66,7 @@ class Wildcard implements RouteInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @throws \Zend\Mvc\Router\Exception\InvalidArgumentException
      * @return Wildcard
@@ -97,7 +97,7 @@ class Wildcard implements RouteInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @param  int|null $pathOffset
      * @return RouteMatch
@@ -152,7 +152,7 @@ class Wildcard implements RouteInterface
     /**
      * assemble(): Defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
@@ -179,7 +179,7 @@ class Wildcard implements RouteInterface
     /**
      * getAssembledParams(): defined by RouteInterface interface.
      *
-     * @see    Route::getAssembledParams
+     * @see    RouteInterface::getAssembledParams
      * @return array
      */
     public function getAssembledParams()
diff --git a/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php b/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php
index 822ab31a45a9dd24039cab6f456334f762908c2c..08625c81fb5621430980f2a2b1aa465432bb628b 100644
--- a/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php
+++ b/vendor/ZF2/library/Zend/Mvc/Router/SimpleRouteStack.php
@@ -60,7 +60,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * factory(): defined by RouteInterface interface.
      *
-     * @see    Route::factory()
+     * @see    \Zend\Mvc\Router\RouteInterface::factory()
      * @param  array|Traversable $options
      * @return SimpleRouteStack
      * @throws Exception\InvalidArgumentException
@@ -124,7 +124,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * addRoutes(): defined by RouteStackInterface interface.
      *
-     * @see    RouteStack::addRoutes()
+     * @see    RouteStackInterface::addRoutes()
      * @param  array|Traversable $routes
      * @return SimpleRouteStack
      * @throws Exception\InvalidArgumentException
@@ -145,7 +145,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * addRoute(): defined by RouteStackInterface interface.
      *
-     * @see    RouteStack::addRoute()
+     * @see    RouteStackInterface::addRoute()
      * @param  string  $name
      * @param  mixed   $route
      * @param  integer $priority
@@ -169,7 +169,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * removeRoute(): defined by RouteStackInterface interface.
      *
-     * @see    RouteStack::removeRoute()
+     * @see    RouteStackInterface::removeRoute()
      * @param  string  $name
      * @return SimpleRouteStack
      */
@@ -282,7 +282,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * match(): defined by RouteInterface interface.
      *
-     * @see    Route::match()
+     * @see    \Zend\Mvc\Router\RouteInterface::match()
      * @param  Request $request
      * @return RouteMatch|null
      */
@@ -308,7 +308,7 @@ class SimpleRouteStack implements RouteStackInterface
     /**
      * assemble(): defined by RouteInterface interface.
      *
-     * @see    Route::assemble()
+     * @see    \Zend\Mvc\Router\RouteInterface::assemble()
      * @param  array $params
      * @param  array $options
      * @return mixed
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/FilterManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/FilterManagerFactory.php
index b08f15d25d249feae49b2b5a258c3668127b64e0..34ffb97dd84c219227e2f5c25a67189338420c3a 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/FilterManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/FilterManagerFactory.php
@@ -20,7 +20,7 @@ class FilterManagerFactory extends AbstractPluginManagerFactory
      * Create and return the filter plugin manager
      *
      * @param  ServiceLocatorInterface $serviceLocator
-     * @return FilterPluginManager
+     * @return \Zend\Filter\FilterPluginManager
      */
     public function createService(ServiceLocatorInterface $serviceLocator)
     {
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/PaginatorPluginManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/PaginatorPluginManagerFactory.php
index 8537f6f15c1488d6e6c3a22d2b77c59ef5857279..86fc9cc919a8b2a0e8b66e8191ee8fd2288bc6eb 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/PaginatorPluginManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/PaginatorPluginManagerFactory.php
@@ -19,7 +19,7 @@ class PaginatorPluginManagerFactory extends AbstractPluginManagerFactory
      * Create and return the MVC controller plugin manager
      *
      * @param  ServiceLocatorInterface $serviceLocator
-     * @return ControllerPluginManager
+     * @return \Zend\Paginator\AdapterPluginManager
      */
     public function createService(ServiceLocatorInterface $serviceLocator)
     {
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ServiceManagerConfig.php b/vendor/ZF2/library/Zend/Mvc/Service/ServiceManagerConfig.php
index 614310112be4dd69e10a084e99c769bb0fae5fc5..2514bf2153c45d0ef07db0a9dce63a3cb8318f93 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ServiceManagerConfig.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ServiceManagerConfig.php
@@ -130,10 +130,14 @@ class ServiceManagerConfig implements ConfigInterface
         }
 
         $serviceManager->addInitializer(function ($instance) use ($serviceManager) {
-            if ($instance instanceof EventManagerAwareInterface
-                && !$instance->getEventManager() instanceof EventManagerInterface
-            ) {
-                $instance->setEventManager($serviceManager->get('EventManager'));
+            if ($instance instanceof EventManagerAwareInterface) {
+                if ($instance->getEventManager() instanceof EventManagerInterface) {
+                    $instance->getEventManager()->setSharedManager(
+                        $serviceManager->get('SharedEventManager')
+                    );
+                } else {
+                    $instance->setEventManager($serviceManager->get('EventManager'));
+                }
             }
         });
 
diff --git a/vendor/ZF2/library/Zend/Mvc/Service/ValidatorManagerFactory.php b/vendor/ZF2/library/Zend/Mvc/Service/ValidatorManagerFactory.php
index dca8d8693a42b7b2527b891e31f5144b0d9b8e2e..7ee8159099ad629beca513c66fc7ad573802f2d5 100644
--- a/vendor/ZF2/library/Zend/Mvc/Service/ValidatorManagerFactory.php
+++ b/vendor/ZF2/library/Zend/Mvc/Service/ValidatorManagerFactory.php
@@ -20,7 +20,7 @@ class ValidatorManagerFactory extends AbstractPluginManagerFactory
      * Create and return the validator plugin manager
      *
      * @param  ServiceLocatorInterface $serviceLocator
-     * @return ValidatorPluginManager
+     * @return \Zend\Validator\ValidatorPluginManager
      */
     public function createService(ServiceLocatorInterface $serviceLocator)
     {
diff --git a/vendor/ZF2/library/Zend/Mvc/composer.json b/vendor/ZF2/library/Zend/Mvc/composer.json
index 8792ae7f0d7ac2d7f489582a0a0b2c21e5a9b9f6..0020728a7e047b9207e554daebf35b9694401f06 100644
--- a/vendor/ZF2/library/Zend/Mvc/composer.json
+++ b/vendor/ZF2/library/Zend/Mvc/composer.json
@@ -17,6 +17,7 @@
         "zendframework/zend-console": "self.version",
         "zendframework/zend-di": "self.version",
         "zendframework/zend-eventmanager": "self.version",
+        "zendframework/zend-form": "self.version",
         "zendframework/zend-modulemanager": "self.version",
         "zendframework/zend-http": "self.version",
         "zendframework/zend-uri": "self.version",
@@ -24,5 +25,11 @@
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-text": "self.version",
         "zendframework/zend-view": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Navigation/README.md b/vendor/ZF2/library/Zend/Navigation/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..60ba2dfc8072873b7016a0f1cdc7800447dfa496
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Navigation/README.md
@@ -0,0 +1,15 @@
+Navigation Component from ZF2
+=============================
+
+This is the Navigation component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Navigation/composer.json b/vendor/ZF2/library/Zend/Navigation/composer.json
index cb6d6572c90bbd50262f3ad55dafc9f173a5af40..7ee10fb64af7cba597f513bb1c4ca4f330c3404f 100644
--- a/vendor/ZF2/library/Zend/Navigation/composer.json
+++ b/vendor/ZF2/library/Zend/Navigation/composer.json
@@ -20,5 +20,11 @@
         "zendframework/zend-config": "Zend\\Config component",
         "zendframework/zend-mvc": "Zend\\Mvc component",
         "zendframework/zend-view": "Zend\\View component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php b/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php
index d4a894e526ab53044386eed401ea3d50467c7b0b..3919de15a91d4b71ae8ee9e397b1cc51d9335239 100644
--- a/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php
+++ b/vendor/ZF2/library/Zend/Paginator/Adapter/DbSelect.php
@@ -107,7 +107,15 @@ class DbSelect implements AdapterInterface
         $select->reset(Select::LIMIT);
         $select->reset(Select::OFFSET);
         $select->reset(Select::ORDER);
+        $select->reset(Select::GROUP);
 
+        // get join information, clear, and repopulate without columns
+        $joins = $select->getRawState(Select::JOINS);
+        $select->reset(Select::JOINS);
+        foreach ($joins as $join) {
+            $select->join($join['name'], $join['on'], array(), $join['type']);
+        }
+        
         $select->columns(array('c' => new Expression('COUNT(1)')));
 
         $statement = $this->sql->prepareStatementForSqlObject($select);
diff --git a/vendor/ZF2/library/Zend/Paginator/AdapterPluginManager.php b/vendor/ZF2/library/Zend/Paginator/AdapterPluginManager.php
index 30a6410c8d98f76f98696e6818b641252f0a5def..f7d5315267e435719cb8116087f2f32db2a4c4fc 100644
--- a/vendor/ZF2/library/Zend/Paginator/AdapterPluginManager.php
+++ b/vendor/ZF2/library/Zend/Paginator/AdapterPluginManager.php
@@ -46,7 +46,7 @@ class AdapterPluginManager extends AbstractPluginManager
      * @param  string $canonicalName
      * @param  string $requestedName
      * @return mixed
-     * @throws Exception\ServiceNotCreatedException If factory is not callable
+     * @throws \Zend\ServiceManager\Exception\ServiceNotCreatedException If factory is not callable
      */
     protected function createFromFactory($canonicalName, $requestedName)
     {
diff --git a/vendor/ZF2/library/Zend/Paginator/README.md b/vendor/ZF2/library/Zend/Paginator/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..9fd28086f047e630baec99196f0321449fcffa6d
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Paginator/README.md
@@ -0,0 +1,15 @@
+Paginator Component from ZF2
+============================
+
+This is the Paginator component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Paginator/composer.json b/vendor/ZF2/library/Zend/Paginator/composer.json
index 201a51b88b85792d5bc1ad149e23280d3abd897b..abaaf42c84c4699b8221a4ccedd7ff6ec8eb7033 100644
--- a/vendor/ZF2/library/Zend/Paginator/composer.json
+++ b/vendor/ZF2/library/Zend/Paginator/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Permissions/Acl/README.md b/vendor/ZF2/library/Zend/Permissions/Acl/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..aae630aa3f5f5a43714408ec3cd7788cc0d8649c
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Permissions/Acl/README.md
@@ -0,0 +1,15 @@
+ACL Component from ZF2
+======================
+
+This is the ACL component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Permissions/Acl/composer.json b/vendor/ZF2/library/Zend/Permissions/Acl/composer.json
index dd3c9eba29aafb83e871089563c878faec79dca2..ff54dc82feb88d43eb464016f31eb87597cbf831 100644
--- a/vendor/ZF2/library/Zend/Permissions/Acl/composer.json
+++ b/vendor/ZF2/library/Zend/Permissions/Acl/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Permissions/Acl",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Permissions/Rbac/README.md b/vendor/ZF2/library/Zend/Permissions/Rbac/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..4d32c6102804562b5769bc72759612bf37834023
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Permissions/Rbac/README.md
@@ -0,0 +1,15 @@
+RBAC Component from ZF2
+=======================
+
+This is the RBAC component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Permissions/Rbac/Rbac.php b/vendor/ZF2/library/Zend/Permissions/Rbac/Rbac.php
index 9fca9b468ab8889461c14d4f986fc4dc93b1ec3b..d4b00f8bc6318f48a333e9cb4149ecd3a655ca23 100644
--- a/vendor/ZF2/library/Zend/Permissions/Rbac/Rbac.php
+++ b/vendor/ZF2/library/Zend/Permissions/Rbac/Rbac.php
@@ -123,8 +123,9 @@ class Rbac extends AbstractIterator
     /**
      * Determines if access is granted by checking the role and child roles for permission.
      *
-     * @param string                                                  $permission
-     * @param \Zend\Permissions\Rbac\AssertionInterface|Callable|null $assert
+     * @param  string                                                  $permission
+     * @param  \Zend\Permissions\Rbac\AssertionInterface|Callable|null $assert
+     * @return bool
      */
     public function isGranted($role, $permission, $assert = null)
     {
diff --git a/vendor/ZF2/library/Zend/Permissions/Rbac/composer.json b/vendor/ZF2/library/Zend/Permissions/Rbac/composer.json
index f64d23217ae6b253957454013e46db5e592c0f54..f210df8d76e16142df8f7cf8e533ab62f2f7006e 100644
--- a/vendor/ZF2/library/Zend/Permissions/Rbac/composer.json
+++ b/vendor/ZF2/library/Zend/Permissions/Rbac/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Permissions/Rbac",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/ProgressBar/README.md b/vendor/ZF2/library/Zend/ProgressBar/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..3c2d4283dcd7e43c85b75868355b181397d657ed
--- /dev/null
+++ b/vendor/ZF2/library/Zend/ProgressBar/README.md
@@ -0,0 +1,15 @@
+ProgressBar Component from ZF2
+==============================
+
+This is the ProgressBar component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/ProgressBar/composer.json b/vendor/ZF2/library/Zend/ProgressBar/composer.json
index 149ceb7b815b906f3c12ae83e4be77b4a46eb9ed..b6e8bc9075f37830d9623c2250eeb241138357e2 100644
--- a/vendor/ZF2/library/Zend/ProgressBar/composer.json
+++ b/vendor/ZF2/library/Zend/ProgressBar/composer.json
@@ -15,5 +15,11 @@
     "require": {
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Serializer/README.md b/vendor/ZF2/library/Zend/Serializer/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..d44d85463c444bdfcc83ababfb3d7465792ee979
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Serializer/README.md
@@ -0,0 +1,15 @@
+Serializer Component from ZF2
+=============================
+
+This is the Serializer component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Serializer/composer.json b/vendor/ZF2/library/Zend/Serializer/composer.json
index 4243aaa0bd9ce4565c3e05e5c82e8a5e8749e674..947696c46bca5057ef6036e88c40acbb2af718aa 100644
--- a/vendor/ZF2/library/Zend/Serializer/composer.json
+++ b/vendor/ZF2/library/Zend/Serializer/composer.json
@@ -17,5 +17,11 @@
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-json": "self.version",
         "zendframework/zend-math": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Server/README.md b/vendor/ZF2/library/Zend/Server/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..4b727c9929acc5cd5a7ce8143bea0ce5f231f5ae
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Server/README.md
@@ -0,0 +1,15 @@
+Server Component from ZF2
+=========================
+
+This is the Server component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Server/composer.json b/vendor/ZF2/library/Zend/Server/composer.json
index a5d47e894806de130c95bc70ebd78ad678761b49..f4490e4efb8bedbb49fda1af07c6945c55916eab 100644
--- a/vendor/ZF2/library/Zend/Server/composer.json
+++ b/vendor/ZF2/library/Zend/Server/composer.json
@@ -16,5 +16,11 @@
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-code": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/ServiceManager/README.md b/vendor/ZF2/library/Zend/ServiceManager/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..9a4ed6507167bb9a4fd2fdb79ea40aad5500a2a4
--- /dev/null
+++ b/vendor/ZF2/library/Zend/ServiceManager/README.md
@@ -0,0 +1,15 @@
+ServiceManager Component from ZF2
+=================================
+
+This is the ServiceManager component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php b/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
index b897acbe497da07100e2076d98b5427eb000824e..21bb9309ce8b30bbdd6a85442396c0e2070f90c9 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
+++ b/vendor/ZF2/library/Zend/ServiceManager/ServiceManager.php
@@ -445,7 +445,7 @@ class ServiceManager implements ServiceLocatorInterface
         }
 
         // Still no instance? raise an exception
-        if (!$instance && !is_array($instance)) {
+        if ($instance === null && !is_array($instance)) {
             if ($isAlias) {
                 throw new Exception\ServiceNotFoundException(sprintf(
                     'An alias "%s" was requested but no service could be found.',
@@ -494,11 +494,11 @@ class ServiceManager implements ServiceLocatorInterface
             $instance = $this->createFromFactory($cName, $rName);
         }
 
-        if (!$instance && isset($this->invokableClasses[$cName])) {
+        if ($instance === false && isset($this->invokableClasses[$cName])) {
             $instance = $this->createFromInvokable($cName, $rName);
         }
 
-        if (!$instance && $this->canCreateFromAbstractFactory($cName, $rName)) {
+        if ($instance === false && $this->canCreateFromAbstractFactory($cName, $rName)) {
             $instance = $this->createFromAbstractFactory($cName, $rName);
         }
 
diff --git a/vendor/ZF2/library/Zend/ServiceManager/composer.json b/vendor/ZF2/library/Zend/ServiceManager/composer.json
index 0382d5d5eb1d82fee976d1de48c8a0adcbd8459a..8702817737242923ddf086c54857f64075b3d70b 100644
--- a/vendor/ZF2/library/Zend/ServiceManager/composer.json
+++ b/vendor/ZF2/library/Zend/ServiceManager/composer.json
@@ -17,5 +17,11 @@
     },
     "suggest": {
         "zendframework/zend-di": "Zend\\Di component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Session/AbstractContainer.php b/vendor/ZF2/library/Zend/Session/AbstractContainer.php
index ef9d419a22aee45e5933f7fc85cb5b3a4f993f7e..68f8740cc01a466079e63a4719eedaa244b678b0 100644
--- a/vendor/ZF2/library/Zend/Session/AbstractContainer.php
+++ b/vendor/ZF2/library/Zend/Session/AbstractContainer.php
@@ -198,7 +198,7 @@ abstract class AbstractContainer extends ArrayObject
             }
             $storage[$name] = $this->createContainer();
         }
-        if (!is_array($storage[$name]) && !$storage[$name] instanceof ArrayObject) {
+        if (!is_array($storage[$name]) && !$storage[$name] instanceof Traversable) {
             throw new Exception\RuntimeException('Container cannot write to storage due to type mismatch');
         }
 
@@ -456,8 +456,16 @@ abstract class AbstractContainer extends ArrayObject
      * @return array        Returns the old array
      * @see ArrayObject::exchangeArray()
      */
-    protected function exchangeArrayCompat($input)
+    public function exchangeArray($input)
     {
+        // handle arrayobject, iterators and the like:
+        if (is_object($input) && ($input instanceof ArrayObject || $input instanceof \ArrayObject)) {
+            $input = $input->getArrayCopy();
+        }
+        if (!is_array($input)) {
+            $input = (array) $input;
+        }
+
         $storage = $this->verifyNamespace();
         $name    = $this->getName();
 
@@ -484,6 +492,7 @@ abstract class AbstractContainer extends ArrayObject
         if ($container instanceof Traversable) {
             return $container;
         }
+
         return new ArrayIterator($container);
     }
 
diff --git a/vendor/ZF2/library/Zend/Session/Container.php b/vendor/ZF2/library/Zend/Session/Container.php
index d10c54b5825546105f1c2c0af8082df1abc63542..ceb28f3a95b177dc691c1c1d6588f85195ebeac5 100644
--- a/vendor/ZF2/library/Zend/Session/Container.php
+++ b/vendor/ZF2/library/Zend/Session/Container.php
@@ -19,18 +19,6 @@ namespace Zend\Session;
  */
 class Container extends AbstractContainer
 {
-    /**
-     * Exchange the current array with another array or object.
-     *
-     * @param  array|object $input
-     * @return array        Returns the old array
-     * @see ArrayObject::exchangeArray()
-     */
-    public function exchangeArray(array $input)
-    {
-        return parent::exchangeArrayCompat($input);
-    }
-
     /**
      * Retrieve a specific key in the container
      *
diff --git a/vendor/ZF2/library/Zend/Session/README.md b/vendor/ZF2/library/Zend/Session/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..28cde0d5895e8d57438f98f485ddab6a082e4622
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Session/README.md
@@ -0,0 +1,15 @@
+Session Component from ZF2
+==========================
+
+This is the Session component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Session/SaveHandler/MongoDBOptions.php b/vendor/ZF2/library/Zend/Session/SaveHandler/MongoDBOptions.php
index 9831d906ba56ec2ce40085f6b7cf8ba52b8b8b2d..aad7dfdbb6a43e7b58634c245257826d3db957e2 100644
--- a/vendor/ZF2/library/Zend/Session/SaveHandler/MongoDBOptions.php
+++ b/vendor/ZF2/library/Zend/Session/SaveHandler/MongoDBOptions.php
@@ -73,7 +73,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $database
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setDatabase($database)
     {
@@ -100,7 +100,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $collection
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setCollection($collection)
     {
@@ -150,7 +150,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $nameField
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setNameField($nameField)
     {
@@ -177,7 +177,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $dataField
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setDataField($dataField)
     {
@@ -204,7 +204,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $lifetimeField
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setLifetimeField($lifetimeField)
     {
@@ -231,7 +231,7 @@ class MongoDBOptions extends AbstractOptions
      *
      * @param string $modifiedField
      * @return MongoDBOptions
-     * @throws Zend\Session\Exception\InvalidArgumentException
+     * @throws InvalidArgumentException
      */
     public function setModifiedField($modifiedField)
     {
diff --git a/vendor/ZF2/library/Zend/Session/Storage/SessionArrayStorage.php b/vendor/ZF2/library/Zend/Session/Storage/SessionArrayStorage.php
index d45141521ffe3a47e2b49afb8727e0cde3bbaa10..4efff64a6313a028c76f4ae91d7eae33b435c210 100644
--- a/vendor/ZF2/library/Zend/Session/Storage/SessionArrayStorage.php
+++ b/vendor/ZF2/library/Zend/Session/Storage/SessionArrayStorage.php
@@ -22,11 +22,7 @@ class SessionArrayStorage extends AbstractSessionArrayStorage
      */
     public function &__get($key)
     {
-        if (isset($_SESSION[$key])) {
-            return $_SESSION[$key];
-        }
-
-        return null;
+        return $_SESSION[$key];
     }
 
     /**
@@ -37,10 +33,6 @@ class SessionArrayStorage extends AbstractSessionArrayStorage
      */
     public function &offsetGet($key)
     {
-        if (isset($_SESSION[$key])) {
-            return $_SESSION[$key];
-        }
-
-        return null;
+        return $_SESSION[$key];
     }
 }
diff --git a/vendor/ZF2/library/Zend/Session/compatibility/Container.php b/vendor/ZF2/library/Zend/Session/compatibility/Container.php
index f887b47e63156728fd3e384b5ab65c8f92a75d2c..0ad57524bcb53e97c5a3fcc3253985037ca81de2 100644
--- a/vendor/ZF2/library/Zend/Session/compatibility/Container.php
+++ b/vendor/ZF2/library/Zend/Session/compatibility/Container.php
@@ -14,15 +14,4 @@ namespace Zend\Session;
  */
 class Container extends AbstractContainer
 {
-    /**
-     * Exchange the current array with another array or object.
-     *
-     * @param  array|object $input
-     * @return array        Returns the old array
-     * @see ArrayObject::exchangeArray()
-     */
-    public function exchangeArray($input)
-    {
-        return parent::exchangeArrayCompat($input);
-    }
 }
diff --git a/vendor/ZF2/library/Zend/Session/compatibility/autoload.php b/vendor/ZF2/library/Zend/Session/compatibility/autoload.php
index c724caffb6b4224897f171ebc7ded3876b3a8440..9eabad4ec8838da762b41205a006f91e057ae3de 100644
--- a/vendor/ZF2/library/Zend/Session/compatibility/autoload.php
+++ b/vendor/ZF2/library/Zend/Session/compatibility/autoload.php
@@ -1,5 +1,5 @@
 <?php
-if (version_compare(PHP_VERSION, '5.3.3', 'le')) {
+if (version_compare(PHP_VERSION, '5.3.4', 'lt')) {
     require_once __DIR__ . '/Container.php';
     require_once __DIR__ . '/Storage/SessionArrayStorage.php';
 }
diff --git a/vendor/ZF2/library/Zend/Session/composer.json b/vendor/ZF2/library/Zend/Session/composer.json
index db4f8b96f61c01c82ee7d544266768d07bb99b09..a6034b3b5bfcddbbc2333ede89b89cc9d215f1be 100644
--- a/vendor/ZF2/library/Zend/Session/composer.json
+++ b/vendor/ZF2/library/Zend/Session/composer.json
@@ -11,7 +11,7 @@
             "Zend\\Session\\": ""
         },
         "files": [
-            "compatibility/autoload.php"
+            "Zend/Session/compatibility/autoload.php"
         ]
     },
     "target-dir": "Zend/Session",
@@ -22,5 +22,11 @@
     "suggest": {
         "zendframework/zend-validator": "Zend\\Validator component",
         "zendframework/zend-eventmanager": "Zend\\EventManager component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Soap/README.md b/vendor/ZF2/library/Zend/Soap/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..63fd42c5e14dd10981210741738bbe694e1fe500
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Soap/README.md
@@ -0,0 +1,15 @@
+SOAP Component from ZF2
+=======================
+
+This is the SOAP component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Soap/composer.json b/vendor/ZF2/library/Zend/Soap/composer.json
index 777a0a5e52d6d3ce6e17b6ae3f34fd358ccfddf7..4cce72a7f8cc948b849f89504281620687b0b1bf 100644
--- a/vendor/ZF2/library/Zend/Soap/composer.json
+++ b/vendor/ZF2/library/Zend/Soap/composer.json
@@ -17,5 +17,11 @@
         "zendframework/zend-server": "self.version",
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-uri": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/Stdlib/ArrayObject.php b/vendor/ZF2/library/Zend/Stdlib/ArrayObject.php
index 98f3a09bdb94fdf7201cb4a874bb2969ea8c9ff0..1cb37060858d4b27d1d45d155b11db243aa30c2f 100644
--- a/vendor/ZF2/library/Zend/Stdlib/ArrayObject.php
+++ b/vendor/ZF2/library/Zend/Stdlib/ArrayObject.php
@@ -178,11 +178,22 @@ class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Count
     /**
      * Exchange the array for another one.
      *
-     * @param  array $data
+     * @param  array|ArrayObject $data
      * @return array
      */
-    public function exchangeArray(array $data)
+    public function exchangeArray($data)
     {
+        if (!is_array($data) && !is_object($data)) {
+            throw new Exception\InvalidArgumentException('Passed variable is not an array or object, using empty array instead');
+        }
+
+        if (is_object($data) && ($data instanceof ArrayObject || $data instanceof \ArrayObject)) {
+            $data = $data->getArrayCopy();
+        }
+        if (!is_array($data)) {
+            $data = (array) $data;
+        }
+
         $storage = $this->storage;
 
         $this->storage = $data;
@@ -213,7 +224,7 @@ class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Count
     /**
      * Create a new iterator from an ArrayObject instance
      *
-     * @return Iterator
+     * @return \Iterator
      */
     public function getIterator()
     {
diff --git a/vendor/ZF2/library/Zend/Stdlib/Hydrator/AbstractHydrator.php b/vendor/ZF2/library/Zend/Stdlib/Hydrator/AbstractHydrator.php
index 5d62edc855165b4ffe6060146c3a2e8e07d0039a..b7af0d2b1ebb2024d5de4ee46b1314d06086faa1 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Hydrator/AbstractHydrator.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Hydrator/AbstractHydrator.php
@@ -158,7 +158,7 @@ abstract class AbstractHydrator implements HydratorInterface, StrategyEnabledInt
      * </code>
      *
      * @param string $name Index in the composite
-     * @param callable|Zend\Stdlib\Hydrator\Filter\FilterInterface $filter
+     * @param callable|Filter\FilterInterface $filter
      * @param int $condition
      * @return Filter\FilterComposite
      */
diff --git a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php
index 640f6e8e282a0adf93f30546e43bb6134cafbf59..c9e2dd5a35a31e34a27d58aa0492e9962f364ee0 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Filter/NumberOfParameterFilter.php
@@ -32,6 +32,7 @@ class NumberOfParameterFilter implements FilterInterface
 
     /**
      * @param string $property the name of the property
+     * @return bool
      * @throws InvalidArgumentException
      */
     public function filter($property)
diff --git a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Strategy/SerializableStrategy.php b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Strategy/SerializableStrategy.php
index 868fea543ebc107c78953e68c94f99a7d2855e7b..d4a90d52131077df3e18771e5903665e1f587078 100644
--- a/vendor/ZF2/library/Zend/Stdlib/Hydrator/Strategy/SerializableStrategy.php
+++ b/vendor/ZF2/library/Zend/Stdlib/Hydrator/Strategy/SerializableStrategy.php
@@ -65,7 +65,7 @@ class SerializableStrategy implements StrategyInterface
      * Set serializer
      *
      * @param  string|SerializerAdapter $serializer
-     * @return Serializer
+     * @return SerializableStrategy
      */
     public function setSerializer($serializer)
     {
diff --git a/vendor/ZF2/library/Zend/Stdlib/README.md b/vendor/ZF2/library/Zend/Stdlib/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..a2dcb84191c2f6c83f97e6b83707c447326b62f8
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Stdlib/README.md
@@ -0,0 +1,15 @@
+Stdlib Component from ZF2
+=========================
+
+This is the Stdlib component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php b/vendor/ZF2/library/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php
index 948b77513c74c73e0ceb3c149b59de4e638bfa2d..ce1b149e3eba922e4716417b9d08dd95b7e16de4 100644
--- a/vendor/ZF2/library/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php
+++ b/vendor/ZF2/library/Zend/Stdlib/StringWrapper/AbstractStringWrapper.php
@@ -30,8 +30,9 @@ abstract class AbstractStringWrapper implements StringWrapperInterface
      * Check if the given character encoding is supported by this wrapper
      * and the character encoding to convert to is also supported.
      *
-     * @param string      $encoding
-     * @param string|null $convertEncoding
+     * @param  string      $encoding
+     * @param  string|null $convertEncoding
+     * @return bool
      */
     public static function isSupported($encoding, $convertEncoding = null)
     {
diff --git a/vendor/ZF2/library/Zend/Stdlib/StringWrapper/Native.php b/vendor/ZF2/library/Zend/Stdlib/StringWrapper/Native.php
index 505109880fa4efea4ac8fddf689f52dc879ad9ba..978b731118d096055d7a008847dcdec54c40dfd2 100644
--- a/vendor/ZF2/library/Zend/Stdlib/StringWrapper/Native.php
+++ b/vendor/ZF2/library/Zend/Stdlib/StringWrapper/Native.php
@@ -26,8 +26,9 @@ class Native extends AbstractStringWrapper
      * Check if the given character encoding is supported by this wrapper
      * and the character encoding to convert to is also supported.
      *
-     * @param string      $encoding
-     * @param string|null $convertEncoding
+     * @param  string      $encoding
+     * @param  string|null $convertEncoding
+     * @return bool
      */
     public static function isSupported($encoding, $convertEncoding = null)
     {
diff --git a/vendor/ZF2/library/Zend/Stdlib/compatibility/autoload.php b/vendor/ZF2/library/Zend/Stdlib/compatibility/autoload.php
index e0b13a781c60d74f819a013751dbeddfeceb2702..8141ab34bc80e0d315ad115eb1a4a7eeb5b87564 100644
--- a/vendor/ZF2/library/Zend/Stdlib/compatibility/autoload.php
+++ b/vendor/ZF2/library/Zend/Stdlib/compatibility/autoload.php
@@ -1,4 +1,4 @@
 <?php
-if (version_compare(PHP_VERSION, '5.3.3', 'le')) {
+if (version_compare(PHP_VERSION, '5.3.4', 'lt')) {
     require_once __DIR__ . '/ArrayObject.php';
 }
diff --git a/vendor/ZF2/library/Zend/Stdlib/composer.json b/vendor/ZF2/library/Zend/Stdlib/composer.json
index 662aff2a177fe2c65e8c883ddfee33a8efb36d42..017b1ca8254810350d78ee1f26ef38c6a7ad6346 100644
--- a/vendor/ZF2/library/Zend/Stdlib/composer.json
+++ b/vendor/ZF2/library/Zend/Stdlib/composer.json
@@ -11,7 +11,7 @@
             "Zend\\Stdlib\\": ""
         },
         "files": [
-            "compatibility/autoload.php"
+            "Zend/Stdlib/compatibility/autoload.php"
         ]
     },
     "target-dir": "Zend/Stdlib",
@@ -20,5 +20,11 @@
     },
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Tag/README.md b/vendor/ZF2/library/Zend/Tag/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..ca9eb4f3c7722b26e55ea61997c9cbe70b40567b
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Tag/README.md
@@ -0,0 +1,15 @@
+Tag Component from ZF2
+======================
+
+This is the Tag component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Tag/composer.json b/vendor/ZF2/library/Zend/Tag/composer.json
index 34e7b51ae4470de76f962ff89c415d435755114d..8f340ad5d280769ef01ee534dbd83fec3d680a0c 100644
--- a/vendor/ZF2/library/Zend/Tag/composer.json
+++ b/vendor/ZF2/library/Zend/Tag/composer.json
@@ -16,5 +16,11 @@
         "php": ">=5.3.3",
         "zendframework/zend-escaper": "self.version",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php b/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php
index 6e7dcbdb2fc98d10dc80b04f51290cc4b746dd45..2a0f37d02326929e47c0cc6a869b9b13b470fdce 100644
--- a/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php
+++ b/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractControllerTestCase.php
@@ -105,6 +105,7 @@ abstract class AbstractControllerTestCase extends PHPUnit_Framework_TestCase
     /**
      * Set the application config
      * @param  array $applicationConfig
+     * @return AbstractControllerTestCase
      * @throws LogicException
      */
     public function setApplicationConfig($applicationConfig)
diff --git a/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php b/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php
index a2fd752ad80cea12b7294afb00623e1d97f57ab8..5519277cfac4b4f626c29dde6d6fae2b5c3a0e45 100644
--- a/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php
+++ b/vendor/ZF2/library/Zend/Test/PHPUnit/Controller/AbstractHttpControllerTestCase.php
@@ -125,7 +125,7 @@ abstract class AbstractHttpControllerTestCase extends AbstractControllerTestCase
      */
     public function assertResponseHeaderRegex($header, $pattern)
     {
-        $responseHeader = $this->getResponseHeader($header);;
+        $responseHeader = $this->getResponseHeader($header);
         if (!$responseHeader) {
             throw new PHPUnit_Framework_ExpectationFailedException(sprintf(
                 'Failed asserting response header, header "%s" do not exists', $header
diff --git a/vendor/ZF2/library/Zend/Test/README.md b/vendor/ZF2/library/Zend/Test/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..73f66998282cc51674273f114c9ac38af4feaaea
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Test/README.md
@@ -0,0 +1,15 @@
+Test Component from ZF2
+=======================
+
+This is the Test component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Test/composer.json b/vendor/ZF2/library/Zend/Test/composer.json
index 2ea2af94c9d60e1f57b761355635da30c875349c..3b6e386f6ae2a84389bd3a2f6bdce3c30116b707 100644
--- a/vendor/ZF2/library/Zend/Test/composer.json
+++ b/vendor/ZF2/library/Zend/Test/composer.json
@@ -23,5 +23,11 @@
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-uri": "self.version",
         "zendframework/zend-view": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Text/README.md b/vendor/ZF2/library/Zend/Text/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..d74bb0cb37cc5a100de14e0591e460404b746327
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Text/README.md
@@ -0,0 +1,15 @@
+Text Component from ZF2
+=======================
+
+This is the Text component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Text/composer.json b/vendor/ZF2/library/Zend/Text/composer.json
index ed434962b05e046727552e931868d31b6a3d99fe..21b77a2bc21ee92a70beafd862b37984221b685d 100644
--- a/vendor/ZF2/library/Zend/Text/composer.json
+++ b/vendor/ZF2/library/Zend/Text/composer.json
@@ -16,5 +16,11 @@
         "php": ">=5.3.3",
         "zendframework/zend-stdlib": "self.version",
         "zendframework/zend-servicemanager": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Uri/README.md b/vendor/ZF2/library/Zend/Uri/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..334047d4536870290f09971a7d897a1ce55b05f1
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Uri/README.md
@@ -0,0 +1,15 @@
+URI Component from ZF2
+======================
+
+This is the URI component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Uri/composer.json b/vendor/ZF2/library/Zend/Uri/composer.json
index 82dedad04383045efe8a3bd21b2d79c8fca185cb..a9bbcd4e5bda17e0f3e6ca215afe48ca8af458bb 100644
--- a/vendor/ZF2/library/Zend/Uri/composer.json
+++ b/vendor/ZF2/library/Zend/Uri/composer.json
@@ -16,5 +16,11 @@
         "php": ">=5.3.3",
         "zendframework/zend-escaper": "self.version",
         "zendframework/zend-validator": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php b/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php
index be031d50e90eac3f17dfc625f8191aedef8efa37..d07213698fbfcf5909aa6b5d934e65ef2af7b00d 100644
--- a/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php
+++ b/vendor/ZF2/library/Zend/Validator/Barcode/Code128.php
@@ -18,7 +18,7 @@ class Code128 extends AbstractAdapter
     /**
      * The used string wrapper used for basic UTF-8 string functions
      *
-     * @var SrtringWrapperInterface
+     * @var StringWrapperInterface
      */
     protected $utf8StringWrapper;
 
diff --git a/vendor/ZF2/library/Zend/Validator/CreditCard.php b/vendor/ZF2/library/Zend/Validator/CreditCard.php
index aa8458c0a7d4b5193fd61d8be55fbaee888cbb80..9867e56b62d0259bfbfd8ddb9ae8d6f998a5c0c5 100644
--- a/vendor/ZF2/library/Zend/Validator/CreditCard.php
+++ b/vendor/ZF2/library/Zend/Validator/CreditCard.php
@@ -51,7 +51,7 @@ class CreditCard extends AbstractValidator
         self::INVALID        => "Invalid type given. String expected",
         self::LENGTH         => "The input contains an invalid amount of digits",
         self::PREFIX         => "The input is not from an allowed institute",
-        self::SERVICE        => "The input seems to be an invalid creditcard number",
+        self::SERVICE        => "The input seems to be an invalid credit card number.",
         self::SERVICEFAILURE => "An exception has been raised while validating the input",
     );
 
diff --git a/vendor/ZF2/library/Zend/Validator/File/Count.php b/vendor/ZF2/library/Zend/Validator/File/Count.php
index ff4b89d54f4263a8b8f68c4a70b773888ee68ac7..26a48edf25935e9b7b5f2d39953cd289e4fc320a 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Count.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Count.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_Validator
  */
 
 namespace Zend\Validator\File;
@@ -16,8 +15,6 @@ use Zend\Validator\Exception;
 /**
  * Validator for counting all given files
  *
- * @category  Zend
- * @package   Zend_Validator
  */
 class Count extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Crc32.php b/vendor/ZF2/library/Zend/Validator/File/Crc32.php
index 728f9bd3b6d4a904a09da6d8eea77a7b414a9506..32199d38cdf0de1d0f469a2db44f73415dfca911 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Crc32.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Crc32.php
@@ -80,11 +80,16 @@ class Crc32 extends Hash
      * Returns true if and only if the given file confirms the set hash
      *
      * @param  string|array $value Filename to check for hash
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php b/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php
index ee69001c48a2877a19667ff5d75272fa81bb3959..d74429215957435ef07e3f6b163dc917600cce04 100644
--- a/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php
+++ b/vendor/ZF2/library/Zend/Validator/File/ExcludeExtension.php
@@ -35,11 +35,16 @@ class ExcludeExtension extends Extension
      * set extension list
      *
      * @param  string|array $value Real file to check for extension
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php b/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php
index 8e86c106d4bd315af2387c3158acf812dc20e9f6..942c7c4f44c365acd43ad1f8b20505a3677d572c 100644
--- a/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php
+++ b/vendor/ZF2/library/Zend/Validator/File/ExcludeMimeType.php
@@ -27,11 +27,17 @@ class ExcludeMimeType extends MimeType
      * mime types will not be accepted like "image/gif", "image/jpeg" and so on.
      *
      * @param  string|array $value Real file to check for mimetype
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $filetype = $file['type'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name']) || !isset($value['type'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/Exists.php b/vendor/ZF2/library/Zend/Validator/File/Exists.php
index 4c7362a87d217c251d3c5d178d0906b804d46224..bd84320ca50f5bf22df59068e44b6673efba6816 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Exists.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Exists.php
@@ -139,11 +139,17 @@ class Exists extends AbstractValidator
      * Returns true if and only if the file already exists in the set directories
      *
      * @param  string|array $value Real file to check for existence
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+            $this->setValue($filename);
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/Extension.php b/vendor/ZF2/library/Zend/Validator/File/Extension.php
index c13286f9b557562d9cd769b7758e232728812885..6854762c310bac2bddadbd62f7c90ec6508cd60f 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Extension.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Extension.php
@@ -171,11 +171,16 @@ class Extension extends AbstractValidator
      * set extension list
      *
      * @param  string|array $value Real file to check for extension
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/FilesSize.php b/vendor/ZF2/library/Zend/Validator/File/FilesSize.php
index 33fa1c88c8ad4ec6c83cf0c60832392bbe6d881e..84e39145f95d6f552d19b072a65f91435a372f6b 100644
--- a/vendor/ZF2/library/Zend/Validator/File/FilesSize.php
+++ b/vendor/ZF2/library/Zend/Validator/File/FilesSize.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_Validator
  */
 
 namespace Zend\Validator\File;
@@ -18,8 +17,6 @@ use Zend\Validator\Exception;
 /**
  * Validator for the size of all files which will be validated in sum
  *
- * @category  Zend
- * @package   Zend_Validator
  */
 class FilesSize extends Size
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/Hash.php b/vendor/ZF2/library/Zend/Validator/File/Hash.php
index fb9dd1abcd1e63a78232eb81f42d880b48b2d8cb..fff47a92c87d7c7b1c819e42a312682fa8210435 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Hash.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Hash.php
@@ -124,11 +124,16 @@ class Hash extends AbstractValidator
      * Returns true if and only if the given file confirms the set hash
      *
      * @param  string|array $value File to check for hash
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/ImageSize.php b/vendor/ZF2/library/Zend/Validator/File/ImageSize.php
index 570a0c4870d9288c485be905edda7254d4f2d9f1..7788434e52c84d3c11ce4f8ad44c216ac322a617 100644
--- a/vendor/ZF2/library/Zend/Validator/File/ImageSize.php
+++ b/vendor/ZF2/library/Zend/Validator/File/ImageSize.php
@@ -319,11 +319,16 @@ class ImageSize extends AbstractValidator
      * not bigger than max
      *
      * @param  string|array $value Real file to check for image size
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php b/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php
index 63bb09a161520188916606d079f79063b2e6ccf4..d80af4e72e93ab4fffffbaa3f2b302b9f0b434f9 100644
--- a/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php
+++ b/vendor/ZF2/library/Zend/Validator/File/IsCompressed.php
@@ -79,10 +79,14 @@ class IsCompressed extends MimeType
             $options = ArrayUtils::iteratorToArray($options);
         }
 
-        if (empty($options)) {
-            $options = array('mimeType' => $default);
+        if ($options === null) {
+            $options = array();
         }
 
         parent::__construct($options);
+
+        if (!$this->getMimeType()) {
+            $this->setMimeType($default);
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Validator/File/IsImage.php b/vendor/ZF2/library/Zend/Validator/File/IsImage.php
index 7946b1e70e4c85e5cd81a1bb225318d56f173474..0f0e02a626014692ae0b7e2887cd03059a51a665 100644
--- a/vendor/ZF2/library/Zend/Validator/File/IsImage.php
+++ b/vendor/ZF2/library/Zend/Validator/File/IsImage.php
@@ -104,10 +104,14 @@ class IsImage extends MimeType
             $options = ArrayUtils::iteratorToArray($options);
         }
 
-        if (empty($options)) {
-            $options = array('mimeType' => $default);
+        if ($options === null) {
+            $options = array();
         }
 
         parent::__construct($options);
+
+        if (!$this->getMimeType()) {
+            $this->setMimeType($default);
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Validator/File/Md5.php b/vendor/ZF2/library/Zend/Validator/File/Md5.php
index e5bb29466f9338db15efdc97c89e150aabd4e896..028a5cf9eabf565222d3bd8d24d97c104a0d2d17 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Md5.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Md5.php
@@ -28,7 +28,7 @@ class Md5 extends Hash
      */
     protected $messageTemplates = array(
         self::DOES_NOT_MATCH => "File does not match the given md5 hashes",
-        self::NOT_DETECTED   => "A md5 hash could not be evaluated for the given file",
+        self::NOT_DETECTED   => "An md5 hash could not be evaluated for the given file",
         self::NOT_FOUND      => "File is not readable or does not exist",
     );
 
@@ -80,11 +80,16 @@ class Md5 extends Hash
      * Returns true if and only if the given file confirms the set hash
      *
      * @param  string|array $value Filename to check for hash
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/MimeType.php b/vendor/ZF2/library/Zend/Validator/File/MimeType.php
index ee6241c2e5156d162897e49158002ff935caa2b5..c565b1e5d44a58fcfa2490d41303cd50e0dd0e5e 100644
--- a/vendor/ZF2/library/Zend/Validator/File/MimeType.php
+++ b/vendor/ZF2/library/Zend/Validator/File/MimeType.php
@@ -342,11 +342,17 @@ class MimeType extends AbstractValidator
      * mime types will be accepted like "image/gif", "image/jpeg" and so on.
      *
      * @param  string|array $value Real file to check for mimetype
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $filetype = $file['type'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name']) || !isset($value['type'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/NotExists.php b/vendor/ZF2/library/Zend/Validator/File/NotExists.php
index 5994ff23d450b4e15c6cf7219aecd4a909f84fc6..df13531d8d2a8c2dd2ef3ce98b63099a72400047 100644
--- a/vendor/ZF2/library/Zend/Validator/File/NotExists.php
+++ b/vendor/ZF2/library/Zend/Validator/File/NotExists.php
@@ -32,11 +32,17 @@ class NotExists extends Exists
      * Returns true if and only if the file does not exist in the set destinations
      *
      * @param  string|array $value Real file to check for existence
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+            $this->setValue($filename);
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/Sha1.php b/vendor/ZF2/library/Zend/Validator/File/Sha1.php
index 5f6d30bc871e6e9c6706c7a32295263ecc6e750b..9f29615640b1804cc36fc8d050e7b0c2a3ab5303 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Sha1.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Sha1.php
@@ -80,11 +80,16 @@ class Sha1 extends Hash
      * Returns true if and only if the given file confirms the set hash
      *
      * @param  string $value|array Filename to check for hash
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/Size.php b/vendor/ZF2/library/Zend/Validator/File/Size.php
index 8b3a6f4c0575d9f6c8832140f0c958e6c19a6598..eca157df657832618f071ed9a498a7567370eadb 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Size.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Size.php
@@ -229,11 +229,16 @@ class Size extends AbstractValidator
      * not bigger than max (when max is not null).
      *
      * @param  string|array $value File to check for size
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/File/Upload.php b/vendor/ZF2/library/Zend/Validator/File/Upload.php
index b62609b5b347bc126d12822648cf18873478f39f..b3cd005ba9721fbbdc0c845cb222b6c24fbb412f 100644
--- a/vendor/ZF2/library/Zend/Validator/File/Upload.php
+++ b/vendor/ZF2/library/Zend/Validator/File/Upload.php
@@ -5,7 +5,6 @@
  * @link      http://github.com/zendframework/zf2 for the canonical source repository
  * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license   http://framework.zend.com/license/new-bsd New BSD License
- * @package   Zend_Validator
  */
 
 namespace Zend\Validator\File;
@@ -16,8 +15,6 @@ use Zend\Validator\Exception;
 /**
  * Validator for the maximum size of a file up to a max of 2GB
  *
- * @category  Zend
- * @package   Zend_Validator
  */
 class Upload extends AbstractValidator
 {
diff --git a/vendor/ZF2/library/Zend/Validator/File/UploadFile.php b/vendor/ZF2/library/Zend/Validator/File/UploadFile.php
index 2aa6fa267f95e8036e905d8b01994a4bce2dddf5..f5c4e036c4a69dbe039530ed86b7fc57ccf79de9 100644
--- a/vendor/ZF2/library/Zend/Validator/File/UploadFile.php
+++ b/vendor/ZF2/library/Zend/Validator/File/UploadFile.php
@@ -77,37 +77,37 @@ class UploadFile extends AbstractValidator
         }
 
         switch ($error) {
-            case 0:
+            case UPLOAD_ERR_OK:
                 if (!is_uploaded_file($file)) {
                     $this->error(self::ATTACK);
                 }
                 break;
 
-            case 1:
+            case UPLOAD_ERR_INI_SIZE:
                 $this->error(self::INI_SIZE);
                 break;
 
-            case 2:
+            case UPLOAD_ERR_FORM_SIZE:
                 $this->error(self::FORM_SIZE);
                 break;
 
-            case 3:
+            case UPLOAD_ERR_PARTIAL:
                 $this->error(self::PARTIAL);
                 break;
 
-            case 4:
+            case UPLOAD_ERR_NO_FILE:
                 $this->error(self::NO_FILE);
                 break;
 
-            case 6:
+            case UPLOAD_ERR_NO_TMP_DIR:
                 $this->error(self::NO_TMP_DIR);
                 break;
 
-            case 7:
+            case UPLOAD_ERR_CANT_WRITE:
                 $this->error(self::CANT_WRITE);
                 break;
 
-            case 8:
+            case UPLOAD_ERR_EXTENSION:
                 $this->error(self::EXTENSION);
                 break;
 
diff --git a/vendor/ZF2/library/Zend/Validator/File/WordCount.php b/vendor/ZF2/library/Zend/Validator/File/WordCount.php
index 3e79b5d22d030987709be1ff6ab32834403cc287..2d0223bdcbdce1e46e0280cecd7c7aca463ebbdc 100644
--- a/vendor/ZF2/library/Zend/Validator/File/WordCount.php
+++ b/vendor/ZF2/library/Zend/Validator/File/WordCount.php
@@ -28,7 +28,7 @@ class WordCount extends AbstractValidator
      * @var array Error message templates
      */
     protected $messageTemplates = array(
-        self::TOO_MUCH => "Too much words, maximum '%max%' are allowed but '%count%' were counted",
+        self::TOO_MUCH => "Too many words, maximum '%max%' are allowed but '%count%' were counted.",
         self::TOO_LESS => "Too less words, minimum '%min%' are expected but '%count%' were counted",
         self::NOT_FOUND => "File is not readable or does not exist",
     );
@@ -166,12 +166,17 @@ class WordCount extends AbstractValidator
      * Returns true if and only if the counted words are at least min and
      * not bigger than max (when max is not null).
      *
-     * @param  string $value|array Filename to check for word count
+     * @param  string|array $value Filename to check for word count
+     * @param  array        $file  File data from \Zend\File\Transfer\Transfer (optional)
      * @return bool
      */
-    public function isValid($value)
+    public function isValid($value, $file = null)
     {
-        if (is_array($value)) {
+        if (is_string($value) && is_array($file)) {
+            // Legacy Zend\Transfer API support
+            $filename = $file['name'];
+            $file     = $file['tmp_name'];
+        } elseif (is_array($value)) {
             if (!isset($value['tmp_name']) || !isset($value['name'])) {
                 throw new Exception\InvalidArgumentException(
                     'Value array must be in $_FILES format'
diff --git a/vendor/ZF2/library/Zend/Validator/Identical.php b/vendor/ZF2/library/Zend/Validator/Identical.php
index d4b6300a8957fceed63402420cb7c34baf7f88f6..f2cec5ee9ad04c75ad12d77b6d8a114df361c737 100644
--- a/vendor/ZF2/library/Zend/Validator/Identical.php
+++ b/vendor/ZF2/library/Zend/Validator/Identical.php
@@ -87,7 +87,7 @@ class Identical extends AbstractValidator
      */
     public function setToken($token)
     {
-        $this->tokenString = (is_array($token) ? implode($token) : (string) $token);
+        $this->tokenString = (is_array($token) ? var_export($token, true) : (string) $token);
         $this->token       = $token;
         return $this;
     }
@@ -121,15 +121,41 @@ class Identical extends AbstractValidator
      * @param  mixed $value
      * @param  array $context
      * @return bool
+     * @throws Exception\RuntimeException if the token doesn't exist in the context array
      */
     public function isValid($value, $context = null)
     {
         $this->setValue($value);
 
-        if (($context !== null) && isset($context) && array_key_exists($this->getToken(), $context)) {
-            $token = $context[$this->getToken()];
-        } else {
-            $token = $this->getToken();
+        $token = $this->getToken();
+
+        if ($context !== null) {
+            if (!is_array($context)) {
+                throw new Exception\InvalidArgumentException(sprintf(
+                    'Context passed to %s must be an array or null; received "%s"',
+                    __METHOD__,
+                    (is_object($context) ? get_class($context) : gettype($context))
+                ));
+            }
+
+            if (is_array($token)) {
+                while (is_array($token)){
+                    $key = key($token);
+                    if (!isset($context[$key])) {
+                        break;
+                    }
+                    $context = $context[$key];
+                    $token   = $token[$key];
+                }
+            }
+
+            // if $token is an array it means the above loop didn't went all the way down to the leaf,
+            // so the $token structure doesn't match the $context structure
+            if (is_array($token) || !isset($context[$token])) {
+                throw new Exception\RuntimeException("The token doesn't exist in the context");
+            } else {
+                $token = $context[$token];
+            }
         }
 
         if ($token === null) {
diff --git a/vendor/ZF2/library/Zend/Validator/README.md b/vendor/ZF2/library/Zend/Validator/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..a402c2e366be9e2b22ac40bbf711cea7ff18a94c
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Validator/README.md
@@ -0,0 +1,15 @@
+Validator Component from ZF2
+============================
+
+This is the Validator component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Validator/composer.json b/vendor/ZF2/library/Zend/Validator/composer.json
index e2a0bffed04e402fe6e4785aee308fafe024f779..693c1b1912aefa0d9b7c29e13a077a3ed17a37ee 100644
--- a/vendor/ZF2/library/Zend/Validator/composer.json
+++ b/vendor/ZF2/library/Zend/Validator/composer.json
@@ -24,5 +24,11 @@
     "suggest": {
         "zendframework/zend-db": "Zend\\Db component",
         "zendframework/zend-math": "Zend\\Math component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/library/Zend/Version/README.md b/vendor/ZF2/library/Zend/Version/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..98e86bb465614f48ac09f3a81f3502131728991d
--- /dev/null
+++ b/vendor/ZF2/library/Zend/Version/README.md
@@ -0,0 +1,15 @@
+Version Component from ZF2
+==========================
+
+This is the Version component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/Version/Version.php b/vendor/ZF2/library/Zend/Version/Version.php
index 4ebf7ee94dd950a210e1251b234d84278ed99a6c..06947637720e0fd9a766b60802d363089717b508 100644
--- a/vendor/ZF2/library/Zend/Version/Version.php
+++ b/vendor/ZF2/library/Zend/Version/Version.php
@@ -19,7 +19,7 @@ final class Version
     /**
      * Zend Framework version identification - see compareVersion()
      */
-    const VERSION = '2.1.1';
+    const VERSION = '2.1.2';
 
     /**
      * Github Service Identifier for version information is retreived from
diff --git a/vendor/ZF2/library/Zend/Version/composer.json b/vendor/ZF2/library/Zend/Version/composer.json
index bb8c3dfd195068eaf1d180deacd23a1a763ffd74..7dce27611fc9882d98b57ca312f0c97631e45091 100644
--- a/vendor/ZF2/library/Zend/Version/composer.json
+++ b/vendor/ZF2/library/Zend/Version/composer.json
@@ -14,5 +14,11 @@
     "target-dir": "Zend/Version",
     "require": {
         "php": ">=5.3.3"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/View/Helper/FlashMessenger.php b/vendor/ZF2/library/Zend/View/Helper/FlashMessenger.php
index 7500a3ed2facbf0d1cbcb6e78b12918d3d2b77c7..9806aac61f88042a1837f028573744176f61702e 100644
--- a/vendor/ZF2/library/Zend/View/Helper/FlashMessenger.php
+++ b/vendor/ZF2/library/Zend/View/Helper/FlashMessenger.php
@@ -56,7 +56,7 @@ class FlashMessenger extends AbstractTranslatorHelper implements ServiceLocatorA
     /**
      * Returns the flash messenger plugin controller
      *
-     * @return FlashMessenger|FlashMessenger\Controller\Plugin\FlashMessenger
+     * @return FlashMessenger|PluginFlashMessenger
      */
     public function __invoke($namespace = null)
     {
diff --git a/vendor/ZF2/library/Zend/View/Helper/Navigation.php b/vendor/ZF2/library/Zend/View/Helper/Navigation.php
index f77caffca03c7d28d2ebe4a41e6876c90f13f60f..b0185427999ba82473ab133d48a5810513045c54 100644
--- a/vendor/ZF2/library/Zend/View/Helper/Navigation.php
+++ b/vendor/ZF2/library/Zend/View/Helper/Navigation.php
@@ -182,12 +182,14 @@ class Navigation extends AbstractNavigationHelper
             return false;
         }
 
-        $helper = $plugins->get($proxy);
-        $class  = get_class($helper);
+        $helper    = $plugins->get($proxy);
+        $container = $this->getContainer();
+        $hash      = spl_object_hash($container);
 
-        if (!isset($this->injected[$class])) {
+        if (!isset($this->injected[$hash])) {
+            $helper->setContainer();
             $this->inject($helper);
-            $this->injected[$class] = true;
+            $this->injected[$hash] = true;
         }
 
         return $helper;
diff --git a/vendor/ZF2/library/Zend/View/README.md b/vendor/ZF2/library/Zend/View/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..ec19b2c016df8489e55573c4b4d6275601c973e0
--- /dev/null
+++ b/vendor/ZF2/library/Zend/View/README.md
@@ -0,0 +1,15 @@
+View Component from ZF2
+=======================
+
+This is the View component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php b/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php
index b5f88b58e4a3ba85d70213f726f4f705b193b1ce..60a1952040e7207e2443f73774fed47c071ab108 100644
--- a/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php
+++ b/vendor/ZF2/library/Zend/View/Renderer/JsonRenderer.php
@@ -84,7 +84,7 @@ class JsonRenderer implements Renderer, TreeRendererInterface
      * Set the JSONP callback function name
      *
      * @param  string $callback
-     * @return JsonpModel
+     * @return JsonRenderer
      */
     public function setJsonpCallback($callback)
     {
@@ -130,6 +130,8 @@ class JsonRenderer implements Renderer, TreeRendererInterface
         // Serialize variables in view model
         if ($nameOrModel instanceof Model) {
             if ($nameOrModel instanceof JsonModel) {
+                $children = $this->recurseModel($nameOrModel, false);
+                $this->injectChildren($nameOrModel, $children);
                 $values = $nameOrModel->serialize();
             } else {
                 $values = $this->recurseModel($nameOrModel);
@@ -183,11 +185,17 @@ class JsonRenderer implements Renderer, TreeRendererInterface
      * Retrieve values from a model and recurse its children to build a data structure
      *
      * @param  Model $model
+     * @param  bool $mergeWithVariables Whether or not to merge children with
+     *         the variables of the $model
      * @return array
      */
-    protected function recurseModel(Model $model)
+    protected function recurseModel(Model $model, $mergeWithVariables = true)
     {
-        $values = $model->getVariables();
+        $values = array();
+        if ($mergeWithVariables) {
+            $values = $model->getVariables();
+        }
+
         if ($values instanceof Traversable) {
             $values = ArrayUtils::iteratorToArray($values);
         }
@@ -207,7 +215,8 @@ class JsonRenderer implements Renderer, TreeRendererInterface
             $childValues = $this->recurseModel($child);
             if ($captureTo) {
                 // Capturing to a specific key
-                //TODO please complete if append is true. must change old value to array and append to array?
+                // TODO please complete if append is true. must change old
+                // value to array and append to array?
                 $values[$captureTo] = $childValues;
             } elseif ($mergeChildren) {
                 // Merging values with parent
@@ -216,4 +225,19 @@ class JsonRenderer implements Renderer, TreeRendererInterface
         }
         return $values;
     }
+
+    /**
+     * Inject discovered child model values into parent model
+     *
+     * @todo   detect collisions and decide whether to append and/or aggregate?
+     * @param  Model $model
+     * @param  array $children
+     */
+    protected function injectChildren(Model $model, array $children)
+    {
+        foreach ($children as $child => $value) {
+            // TODO detect collisions and decide whether to append and/or aggregate?
+            $model->setVariable($child, $value);
+        }
+    }
 }
diff --git a/vendor/ZF2/library/Zend/View/composer.json b/vendor/ZF2/library/Zend/View/composer.json
index 8f7d523b4e9ced75e7b167108409031b918a82ba..bb22db9ebcb6fcfbf34b0ce1a39440acea005eb6 100644
--- a/vendor/ZF2/library/Zend/View/composer.json
+++ b/vendor/ZF2/library/Zend/View/composer.json
@@ -20,5 +20,11 @@
     },
     "suggest": {
         "zendframework/zend-filter": "Zend\\Filter component"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
-}
\ No newline at end of file
+}
diff --git a/vendor/ZF2/library/Zend/XmlRpc/README.md b/vendor/ZF2/library/Zend/XmlRpc/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..f003296a435f55b76f07a3cdcd6b09bef4a5393c
--- /dev/null
+++ b/vendor/ZF2/library/Zend/XmlRpc/README.md
@@ -0,0 +1,15 @@
+XML-RPC Component from ZF2
+==========================
+
+This is the XML-RPC component for ZF2.
+
+- File issues at https://github.com/zendframework/zf2/issues
+- Create pull requests against https://github.com/zendframework/zf2
+- Documentation is at http://framework.zend.com/docs
+
+LICENSE
+-------
+
+The files in this archive are released under the [Zend Framework
+license](http://framework.zend.com/license), which is a 3-clause BSD license.
+
diff --git a/vendor/ZF2/library/Zend/XmlRpc/composer.json b/vendor/ZF2/library/Zend/XmlRpc/composer.json
index a0dea8e464c06e9c17061fc1252b2e3820a1f794..65aa363c04c214314ec78c356159f4eddda62781 100644
--- a/vendor/ZF2/library/Zend/XmlRpc/composer.json
+++ b/vendor/ZF2/library/Zend/XmlRpc/composer.json
@@ -18,5 +18,11 @@
         "zendframework/zend-math": "self.version",
         "zendframework/zend-server": "self.version",
         "zendframework/zend-stdlib": "self.version"
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.1-dev",
+            "dev-develop": "2.2-dev"
+        }
     }
 }
diff --git a/vendor/ZF2/resources/languages/ar/Zend_Captcha.php b/vendor/ZF2/resources/languages/ar/Zend_Captcha.php
index 3bdf2c33f6be37c77348bb3386d7a0f5569d7eb9..03bb216050a32ccf366b62a782723d581812627c 100644
--- a/vendor/ZF2/resources/languages/ar/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/ar/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/ar/Zend_Validate.php b/vendor/ZF2/resources/languages/ar/Zend_Validate.php
index 8fa2fed4340b65d7ae24a82ae7c904fb10c472b4..93d0b875ef82755a7c46afb37002b6b26de55615 100644
--- a/vendor/ZF2/resources/languages/ar/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/ar/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/bg/Zend_Captcha.php b/vendor/ZF2/resources/languages/bg/Zend_Captcha.php
index 0952b26bf94d7b384bff0bcdc07d3395b4bdfbd5..1395f691d6269a28a434a198d6eee034ebeb3ae7 100644
--- a/vendor/ZF2/resources/languages/bg/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/bg/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/bg/Zend_Validate.php b/vendor/ZF2/resources/languages/bg/Zend_Validate.php
index 439a4d0176468a44e526ec7a36367b8c4d4387e3..a6936a0397e3d9b5c68a05e4103bba9d0ad70fce 100644
--- a/vendor/ZF2/resources/languages/bg/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/bg/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/cs/Zend_Captcha.php b/vendor/ZF2/resources/languages/cs/Zend_Captcha.php
index b3b6be4ca276235c3ff2da5b3e657a2e472a2db6..b44a9b7dfe6820636f5932d907cdda77c2b59b3e 100644
--- a/vendor/ZF2/resources/languages/cs/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/cs/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/cs/Zend_Validate.php b/vendor/ZF2/resources/languages/cs/Zend_Validate.php
index a2a7fbc2722f17bf326189601f8c96274458e25c..ef7ae698ea3581565e9e8ca16e119bc85d09c891 100644
--- a/vendor/ZF2/resources/languages/cs/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/cs/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/de/Zend_Captcha.php b/vendor/ZF2/resources/languages/de/Zend_Captcha.php
index dd04f68588a7f16bf0648469b70ec9cbe37ef6f8..7397cb1e823fffcb1901f2215fa48477a43cf49e 100644
--- a/vendor/ZF2/resources/languages/de/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/de/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/de/Zend_Validate.php b/vendor/ZF2/resources/languages/de/Zend_Validate.php
index 6687ceb19ca00be1b51d23f01d79e5cf438d711f..1199dd869bb55075888737e173c4c2771c8657b4 100644
--- a/vendor/ZF2/resources/languages/de/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/de/Zend_Validate.php
@@ -10,9 +10,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/en/Zend_Captcha.php b/vendor/ZF2/resources/languages/en/Zend_Captcha.php
index 21b5a72bf105f67ab304e4e9c5419f13cb318060..fd5a92a3b14ce06e424f32152af028cee0116769 100644
--- a/vendor/ZF2/resources/languages/en/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/en/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/en/Zend_Validate.php b/vendor/ZF2/resources/languages/en/Zend_Validate.php
index fcd5bbc40eab8a8108247faea9ab4deee3d4805d..45ccfbd628803594f2ba6b3a1dc90d4a8e1f49b0 100644
--- a/vendor/ZF2/resources/languages/en/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/en/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/es/Zend_Validate.php b/vendor/ZF2/resources/languages/es/Zend_Validate.php
index 725e94e790716632bb89476ab3426a468dc9a73a..8c5ef6e660727376745dc70fd748829f17c59ecc 100644
--- a/vendor/ZF2/resources/languages/es/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/es/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/fi/Zend_Validate.php b/vendor/ZF2/resources/languages/fi/Zend_Validate.php
index c8f36a47bdc58794174426f84a75fe3d3f69619d..832d9070a543c807d4c12dc0be9e26b09534f255 100644
--- a/vendor/ZF2/resources/languages/fi/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/fi/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/fr/Zend_Captcha.php b/vendor/ZF2/resources/languages/fr/Zend_Captcha.php
index d68819a085672b2ba882a115f2f42c1196614927..8e8ef73d7e9bc9a1ac17d788636707e5def0ba53 100644
--- a/vendor/ZF2/resources/languages/fr/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/fr/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/fr/Zend_Validate.php b/vendor/ZF2/resources/languages/fr/Zend_Validate.php
index 068452a65fd3c3443923fa039b114403f6deab28..08d6a6c0f77105c8a744a30ef0d1c3b4316d5a95 100644
--- a/vendor/ZF2/resources/languages/fr/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/fr/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/hr/Zend_Validate.php b/vendor/ZF2/resources/languages/hr/Zend_Validate.php
index a086e4525fb50f60a81b10cb3e50432235de013e..a81b2b9c89db2ecab1bda044b33a193d20cf9930 100644
--- a/vendor/ZF2/resources/languages/hr/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/hr/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/it/Zend_Captcha.php b/vendor/ZF2/resources/languages/it/Zend_Captcha.php
index ad52b93d255a2bac5aa357e03ad343091e04e6de..797c1521dba40aee9b72a4f635b975936cf3f86f 100644
--- a/vendor/ZF2/resources/languages/it/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/it/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/it/Zend_Validate.php b/vendor/ZF2/resources/languages/it/Zend_Validate.php
index 1d14119ce0ee634b7f1d64dca7a9ccafd33733ba..d8804ef94befb1136fdca2fec0c677f61b5a75b4 100644
--- a/vendor/ZF2/resources/languages/it/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/it/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/ja/Zend_Validate.php b/vendor/ZF2/resources/languages/ja/Zend_Validate.php
index 6f7f10b721822c117ec8ecc36f025a1288242be6..fc494368774bf30a09c6d2ff343a33cc481b1afb 100644
--- a/vendor/ZF2/resources/languages/ja/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/ja/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/nl/Zend_Validate.php b/vendor/ZF2/resources/languages/nl/Zend_Validate.php
index f2333fef5f26436da2b1d661edd02bb2ccf77e1d..92acdb27afbda5c5e5f83a8e215a826319a8263d 100644
--- a/vendor/ZF2/resources/languages/nl/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/nl/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/no/Zend_Captcha.php b/vendor/ZF2/resources/languages/no/Zend_Captcha.php
index 4b81ac596d21ef8583c45ec1d548ccdadf14fce7..9bae46b1f8ac8ebb4a8f7c5f34613fd2788d37ac 100644
--- a/vendor/ZF2/resources/languages/no/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/no/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/no/Zend_Validate.php b/vendor/ZF2/resources/languages/no/Zend_Validate.php
index f2f3d657dde302ab03b6edcb15b08cbf1bfe74c9..6ae35616f0ee7b4224fc150641f851a2e37bf3b6 100644
--- a/vendor/ZF2/resources/languages/no/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/no/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
@@ -230,7 +227,7 @@ return array(
     "'%value%' is not less than '%max%'" => "'%value%' er ikke mindre enn '%max%'",
 
     // Zend_Validate_NotEmpty
-    "Invalid type given. String, integer, float, boolean or array expected" => "Ugyldig type gitt. Forventet streng, heltall, flyt-tall, boolean eller matrise", 
+    "Invalid type given. String, integer, float, boolean or array expected" => "Ugyldig type gitt. Forventet streng, heltall, flyt-tall, boolean eller matrise",
     "Value is required and can't be empty" => "Verdi er påkrevd, og kan ikke være tomt",
 
     // Zend_Validate_PostCode
diff --git a/vendor/ZF2/resources/languages/pl/Zend_Validate.php b/vendor/ZF2/resources/languages/pl/Zend_Validate.php
index 80ea581924f0c2d595515c87d046f105e8ad75c6..384442cec490a3a4a43633df2b20027e81791e95 100644
--- a/vendor/ZF2/resources/languages/pl/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/pl/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/pt_BR/Zend_Captcha.php b/vendor/ZF2/resources/languages/pt_BR/Zend_Captcha.php
new file mode 100644
index 0000000000000000000000000000000000000000..06ab6c1ab1807dc9c7bfe4d1f2825de350264fe5
--- /dev/null
+++ b/vendor/ZF2/resources/languages/pt_BR/Zend_Captcha.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+
+/**
+ * EN-Revision: 07.Feb.2013
+ */
+return array(
+    // Zend_Captcha_ReCaptcha
+    "Missing captcha fields" => "Faltando campos do captcha",
+    "Failed to validate captcha" => "A validação do captcha falhou",
+    "Captcha value is wrong: %value%" => "Valor do captcha está errado: %value%",
+
+    // Zend_Captcha_Word
+    "Empty captcha value" => "Valor do captcha vazio",
+    "Captcha ID field is missing" => "Faltando campo ID do captcha",
+    "Captcha value is wrong" => "Valor do captcha está errado",
+);
diff --git a/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php b/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php
index 35056b2589327bb7a3193f729ac0f271716ec356..ce925b8d5908be0db94f283f60dee2cde018f505 100644
--- a/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/pt_BR/Zend_Validate.php
@@ -12,156 +12,168 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
 
 /**
- * EN-Revision: 25.Jul.2011
+ * EN-Revision: 06.Feb.2013
  */
 return array(
-    // Zend_Validate_Alnum
+    // Zend_I18n_Validator_Alnum
     "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser float, string, ou inteiro",
-    "'%value%' contains characters which are non alphabetic and no digits" => "'%value%' contém caracteres que não são alfabéticos e nem dígitos",
-    "'%value%' is an empty string" => "'%value%' é uma string vazia",
+    "The input contains characters which are non alphabetic and no digits" => "O valor de entrada contém caracteres que não são alfabéticos e nem dígitos",
+    "The input is an empty string" => "O valor de entrada é uma string vazia",
 
-    // Zend_Validate_Alpha
+    // Zend_I18n_Validator_Alpha
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' contains non alphabetic characters" => "'%value%' contém caracteres não alfabéticos",
-    "'%value%' is an empty string" => "'%value%' é uma string vazia",
+    "The input contains non alphabetic characters" => "O valor de entrada contém caracteres não alfabéticos",
+    "The input is an empty string" => "O valor de entrada é uma string vazia",
 
-    // Zend_Validate_Barcode
-    "'%value%' failed checksum validation" => "'%value%' falhou na validação do checksum",
-    "'%value%' contains invalid characters" => "'%value%' contém caracteres inválidos",
-    "'%value%' should have a length of %length% characters" => "'%value%' tem um comprimento de %length% caracteres",
-    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser string",
-
-    // Zend_Validate_Between
-    "'%value%' is not between '%min%' and '%max%', inclusively" => "'%value%' não está entre '%min%' e '%max%', inclusivamente",
-    "'%value%' is not strictly between '%min%' and '%max%'" => "'%value%' não está exatamente entre '%min%' e '%max%'",
+    // Zend_I18n_Validator_Float
+    "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser float, string, ou inteiro",
+    "The input does not appear to be a float" => "O valor de entrada não parece ser to tipo float",
 
-    // Zend_Validate_Callback
-    "'%value%' is not valid" => "'%value%' não é válido",
-    "An exception has been raised within the callback" => "Falha na chamada de retorno, exceção retornada",
+    // Zend_I18n_Validator_Int
+    "Invalid type given. String or integer expected" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
+    "The input does not appear to be an integer" => "O valor de entrada não parece ser do tipo inteiro",
 
-    // Zend_Validate_Ccnum
-    "'%value%' must contain between 13 and 19 digits" => "'%value%' deve conter entre 13 e 19 dígitos",
-    "Luhn algorithm (mod-10 checksum) failed on '%value%'" => "O algoritmo de Luhn (checksum de módulo 10) falhou em '%value%'",
+    // Zend_I18n_Validator_PostCode
+    "Invalid type given. String or integer expected" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
+    "The input does not appear to be a postal code" => "O valor de entrada não parece ser um código postal",
+    "An exception has been raised while validating the input" => "Uma exceção foi lançada durante a validação do valor de entrada",
 
-    // Zend_Validate_CreditCard
-    "'%value%' seems to contain an invalid checksum" => "'%value%' contém um checksum inválido",
-    "'%value%' must contain only digits" => "'%value%' deve conter apenas dígitos",
-    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' contains an invalid amount of digits" => "'%value%' contém uma quantidade inválida de dígitos",
-    "'%value%' is not from an allowed institute" => "'%value%' não vem de uma instituição autorizada",
-    "'%value%' seems to be an invalid creditcard number" => "'%value%' é um número de cartão de crédito inválido",
-    "An exception has been raised while validating '%value%'" => "O serviço devolveu um erro enquanto validava '%value%'",
+    // Zend_Validator_Barcode
+    "The input failed checksum validation" => "O valor de entrada falhou na validação do checksum",
+    "The input contains invalid characters" => "O valor de entrada contém caracteres inválidos",
+    "The input should have a length of %length% characters" => "O valor de entrada deveria ter %length% caracteres de comprimento",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser string",
 
-    // Zend_Validate_Date
-    "Invalid type given. String, integer, array or Zend_Date expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro, matriz ou Zend_Date",
-    "'%value%' does not appear to be a valid date" => "'%value%' não parece ser uma data válida",
-    "'%value%' does not fit the date format '%format%'" => "'%value%' não se encaixa no formato de data '%format%'",
+    // Zend_Validator_Between
+    "The input is not between '%min%' and '%max%', inclusively" => "O valor de entrada não está entre '%min%' e '%max%', inclusivamente",
+    "The input is not strictly between '%min%' and '%max%'" => "O valor de entrada não está exatamente entre '%min%' e '%max%'",
 
-    // Zend_Validate_Db_Abstract
-    "No record matching '%value%' was found" => "Não foram encontrados registros para '%value%'",
-    "A record matching '%value%' was found" => "Um registro foi encontrado para '%value%'",
+    // Zend_Validator_Callback
+    "The input is not valid" => "O valor de entrada não é válido",
+    "An exception has been raised within the callback" => "Uma exceçao foi lançada na chamada de retorno",
 
-    // Zend_Validate_Digits
+    // Zend_Validator_CreditCard
+    "The input seems to contain an invalid checksum" => "O valor de entrada parece conter um checksum inválido",
+    "The input must contain only digits" => "O valor de entrada deve conter apenas dígitos",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser string",
+    "The input contains an invalid amount of digits" => "O valor de entrada contém uma quantidade inválida de dígitos",
+    "The input is not from an allowed institute" => "O valor de entrada não vem de uma instituição autorizada",
+    "The input seems to be an invalid creditcard number" => "O valor de entrada parece ser um número de cartão de crédito inválido",
+    "An exception has been raised while validating the input" => "Uma exceçao foi lançada durante a validação do valor de entrada",
+
+    // Zend_Validator_Csrf
+    "The form submitted did not originate from the expected site" => "O formulário apresentado não se originou a partir do site esperado",
+
+    // Zend_Validator_Date
+    "Invalid type given. String, integer, array or DateTime expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro, matriz ou DateTime",
+    "The input does not appear to be a valid date" => "O valor de entrada não parece ser uma data válida",
+    "The input does not fit the date format '%format%'" => "O valor de entrada não se encaixa no formato de data '%format%'",
+
+    // Zend_Validator_DateStep
+    "Invalid type given. String, integer, array or DateTime expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro, matriz ou DateTime",
+    "The input does not appear to be a valid date" => "O valor de entrada não parece ser uma data válida",
+    "The input is not a valid step" => "O valor de entrada não é um passo válido",
+
+    // Zend_Validator_Db_AbstractDb
+    "No record matching the input was found" => "Não foi encontrado nenhum registro para o valor de entrada",
+    "A record matching the input was found" => "Um registro foi encontrado para o valor de entrada",
+
+    // Zend_Validator_Digits
+    "The input must contain only digits" => "O valor de entrada deve conter apenas dígitos",
+    "The input is an empty string" => "O valor de entrada é uma string vazia",
     "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro ou float",
-    "'%value%' must contain only digits" => "'%value%' devem conter apenas dígitos",
-    "'%value%' is an empty string" => "'%value%' é uma string vazia",
 
-    // Zend_Validate_EmailAddress
-    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' is not a valid email address in the basic format local-part@hostname" => "'%value%' não é um endereço de e-mail válido no formato local-part@hostname",
-    "'%hostname%' is not a valid hostname for email address '%value%'" => "'%hostname%' não é um nome de host válido para o endereço de e-mail '%value%'",
-    "'%hostname%' does not appear to have a valid MX record for the email address '%value%'" => "'%hostname%' não parece ter um registro MX válido para o endereço de e-mail '%value%'",
-    "'%hostname%' is not in a routable network segment. The email address '%value%' should not be resolved from public network." => "'%hostname%' não é um segmento de rede roteável. O endereço de e-mail '%value%' não deve ser resolvido a partir de um rede pública.",
+    // Zend_Validator_EmailAddress
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser do tipo string",
+    "The input is not a valid email address. Use the basic format local-part@hostname" => "O valor de entrada não é um endereço de e-mail válido. Use o formato local-part@hostname",
+    "'%hostname%' is not a valid hostname for the email address" => "'%hostname%' não é um nome de host válido para o endereço de e-mail",
+    "'%hostname%' does not appear to have any valid MX or A records for the email address" => "'%hostname%' não parece ter um registro MX ou A válido para o endereço de e-mail",
+    "'%hostname%' is not in a routable network segment. The email address should not be resolved from public network" => "'%hostname%' não é um segmento de rede roteável. O endereço de e-mail não deve ser resolvido a partir de uma rede pública.",
     "'%localPart%' can not be matched against dot-atom format" => "'%localPart%' não corresponde com o formato dot-atom",
     "'%localPart%' can not be matched against quoted-string format" => "'%localPart%' não corresponde com o formato quoted-string",
-    "'%localPart%' is not a valid local part for email address '%value%'" => "'%localPart%' não é uma parte local válida para o endereço de e-mail '%value%'",
-    "'%value%' exceeds the allowed length" => "'%value%' excede o comprimento permitido",
+    "'%localPart%' is not a valid local part for the email address" => "'%localPart%' não é uma parte local válida para o endereço de e-mail",
+    "The input exceeds the allowed length" => "O valor de entrada excede o comprimento permitido",
 
-    // Zend_Validate_File_Count
+    // Zend_Validator_Explode
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser do tipo string",
+
+    // Zend_Validator_File_Count
     "Too many files, maximum '%max%' are allowed but '%count%' are given" => "Há muitos arquivos, são permitidos no máximo '%max%', mas '%count%' foram fornecidos",
     "Too few files, minimum '%min%' are expected but '%count%' are given" => "Há poucos arquivos, são esperados no mínimo '%min%', mas '%count%' foram fornecidos",
 
-    // Zend_Validate_File_Crc32
-    "File '%value%' does not match the given crc32 hashes" => "O arquivo '%value%' não corresponde ao hash crc32 fornecido",
-    "A crc32 hash could not be evaluated for the given file" => "Não foi possível avaliar um hash crc32 para o arquivo fornecido",
+    // Zend_Validator_File_Crc32
+    "File '%value%' does not match the given crc32 hashes" => "O arquivo '%value%' não corresponde a hash crc32 fornecido",
+    "A crc32 hash could not be evaluated for the given file" => "Não foi possível avaliar uma hash crc32 para o arquivo fornecido",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_ExcludeExtension
-    "File '%value%' has a false extension" => "O arquivo '%value%' possui a extensão incorreta",
-    "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
-
-    // Zend_Validate_File_ExcludeMimeType
-    "File '%value%' has a false mimetype of '%type%'" => "O arquivo '%value%' tem o mimetype incorreto: '%type%'",
-    "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
+    // Zend_Validator_File_ExcludeExtension
+    "File '%value%' has a false extension" => "O arquivo '%value%' possui uma extensão incorreta",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_Exists
+    // Zend_Validator_File_Exists
     "File '%value%' does not exist" => "O arquivo '%value%' não existe",
 
-    // Zend_Validate_File_Extension
-    "File '%value%' has a false extension" => "O arquivo '%value%' possui a extensão incorreta",
+    // Zend_Validator_File_Extension
+    "File '%value%' has a false extension" => "O arquivo '%value%' possui uma extensão incorreta",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_FilesSize
+    // Zend_Validator_File_FilesSize
     "All files in sum should have a maximum size of '%max%' but '%size%' were detected" => "Todos os arquivos devem ter um tamanho máximo de '%max%', mas um tamanho de '%size%' foi detectado",
     "All files in sum should have a minimum size of '%min%' but '%size%' were detected" => "Todos os arquivos devem ter um tamanho mínimo de '%min%', mas um tamanho de '%size%' foi detectado",
-    "One or more files can not be read" => "Um ou mais arquivos não puderam ser lidos",
-
-    // Zend_Validate_File_Hash
-    "File '%value%' does not match the given hashes" => "O arquivo '%value%' não corresponde ao hash fornecido",
-    "A hash could not be evaluated for the given file" => "Não foi possível avaliar um hash para o arquivo fornecido",
-    "File '%value%' is not readable or does not exist"  => "O arquivo '%value%' não pode ser encontrado ou não existe",
-
-    // Zend_Validate_File_ImageSize
-    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "A largura máxima permitida para a imagem '%value%' deve ser '%maxwidth%', mas '%width%' foi detectada",
-    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "A largura mínima esperada para a imagem '%value%' deve ser '%minwidth%', mas '%width%' foi detectada",
-    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "A altura máxima permitida para a imagem '%value%' deve ser '%maxheight%', mas '%height%' foi detectada",
-    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "A altura mínima esperada para a imagem '%value%' deve ser '%minheight%', mas '%height%' foi detectada",
+    "One or more files can not be read" => "Um ou mais arquivos não podem ser lidos",
+
+    // Zend_Validator_File_Hash
+    "File '%value%' does not match the given hashes" => "O arquivo '%value%' não corresponde as hashes fornecidas",
+    "A hash could not be evaluated for the given file" => "Não foi possível avaliar uma hash para o arquivo fornecido",
+    "File '%value%' is not readable or does not exist"  => "O arquivo '%value%' não pode ser lido ou não existe",
+
+    // Zend_Validator_File_ImageSize
+    "Maximum allowed width for image '%value%' should be '%maxwidth%' but '%width%' detected" => "A largura máxima permitida para a imagem '%value%' deveria ser '%maxwidth%', mas '%width%' foi detectada",
+    "Minimum expected width for image '%value%' should be '%minwidth%' but '%width%' detected" => "A largura mínima esperada para a imagem '%value%' deveria ser '%minwidth%', mas '%width%' foi detectada",
+    "Maximum allowed height for image '%value%' should be '%maxheight%' but '%height%' detected" => "A altura máxima permitida para a imagem '%value%' deveria ser '%maxheight%', mas '%height%' foi detectada",
+    "Minimum expected height for image '%value%' should be '%minheight%' but '%height%' detected" => "A altura mínima esperada para a imagem '%value%' deveria ser '%minheight%', mas '%height%' foi detectada",
     "The size of image '%value%' could not be detected" => "O tamanho da imagem '%value%' não pôde ser detectado",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_IsCompressed
+    // Zend_Validator_File_IsCompressed
     "File '%value%' is not compressed, '%type%' detected" => "O arquivo '%value%' não está compactado: '%type%' detectado",
     "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_IsImage
+    // Zend_Validator_File_IsImage
     "File '%value%' is no image, '%type%' detected" => "O arquivo '%value%' não é uma imagem: '%type%' detectado",
     "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_Md5
-    "File '%value%' does not match the given md5 hashes" => "O arquivo '%value%' não corresponde ao hash md5 fornecido",
-    "A md5 hash could not be evaluated for the given file" => "Não foi possível avaliar um hash md5 para o arquivo fornecido",
+    // Zend_Validator_File_Md5
+    "File '%value%' does not match the given md5 hashes" => "O arquivo '%value%' não corresponde as hashes md5 fornecidas",
+    "A md5 hash could not be evaluated for the given file" => "Não foi possível avaliar uma hash md5 para o arquivo fornecido",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_MimeType
+    // Zend_Validator_File_MimeType
     "File '%value%' has a false mimetype of '%type%'" => "O arquivo '%value%' tem o mimetype incorreto: '%type%'",
     "The mimetype of file '%value%' could not be detected" => "O mimetype do arquivo '%value%' não pôde ser detectado",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_NotExists
+    // Zend_Validator_File_NotExists
     "File '%value%' exists" => "O arquivo '%value%' existe",
 
-    // Zend_Validate_File_Sha1
-    "File '%value%' does not match the given sha1 hashes" => "O arquivo '%value%' não corresponde ao hash sha1 fornecido",
-    "A sha1 hash could not be evaluated for the given file" => "Não foi possível avaliar um hash sha1 para o arquivo fornecido",
+    // Zend_Validator_File_Sha1
+    "File '%value%' does not match the given sha1 hashes" => "O arquivo '%value%' não corresponde as hashes sha1 fornecidas",
+    "A sha1 hash could not be evaluated for the given file" => "Não foi possível avaliar uma hash sha1 para o arquivo fornecido",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_Size
-    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "O tamanho máximo permitido para o arquivo '%value%' é '%max%', mas '%size%' foram detectados",
-    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "O tamanho mínimo esperado para o arquivo '%value%' é '%min%', mas '%size%' foram detectados",
+    // Zend_Validator_File_Size
+    "Maximum allowed size for file '%value%' is '%max%' but '%size%' detected" => "O tamanho máximo permitido para o arquivo '%value%' é '%max%', mas '%size%' foi detectado",
+    "Minimum expected size for file '%value%' is '%min%' but '%size%' detected" => "O tamanho mínimo esperado para o arquivo '%value%' é '%min%', mas '%size%' foi detectado",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_File_Upload
+    // Zend_Validator_File_Upload
     "File '%value%' exceeds the defined ini size" => "O arquivo '%value%' excede o tamanho definido na configuração",
     "File '%value%' exceeds the defined form size" => "O arquivo '%value%' excede o tamanho definido do formulário",
     "File '%value%' was only partially uploaded" => "O arquivo '%value%' foi apenas parcialmente enviado",
@@ -169,97 +181,108 @@ return array(
     "No temporary directory was found for file '%value%'" => "Nenhum diretório temporário foi encontrado para o arquivo '%value%'",
     "File '%value%' can't be written" => "O arquivo '%value%' não pôde ser escrito",
     "A PHP extension returned an error while uploading the file '%value%'" => "Uma extensão do PHP retornou um erro enquanto o arquivo '%value%' era enviado",
-    "File '%value%' was illegally uploaded. This could be a possible attack" => "O arquivo '%value%' foi enviado ilegalmente. Este poderia ser um possível ataque",
+    "File '%value%' was illegally uploaded. This could be a possible attack" => "O arquivo '%value%' foi enviado ilegalmente. Isto poderia ser um possível ataque",
     "File '%value%' was not found" => "O arquivo '%value%' não foi encontrado",
     "Unknown error while uploading file '%value%'" => "Erro desconhecido ao enviar o arquivo '%value%'",
 
-    // Zend_Validate_File_WordCount
+    // Zend_Validator_File_UploadFile
+    "File exceeds the defined ini size" => "O arquivo excede o tamanho definido na configuração",
+    "File exceeds the defined form size" => "O arquivo excede o tamanho definido do formulário",
+    "File was only partially uploaded" => "O arquivo foi apenas parcialmente enviado",
+    "File was not uploaded" => "O arquivo não foi enviado",
+    "No temporary directory was found for file" => "Nenhum diretório temporário foi encontrado para o arquivo",
+    "File can't be written" => "O arquivo não pôde ser escrito",
+    "A PHP extension returned an error while uploading the file" => "Uma extensão do PHP retornou um erro enquanto o arquivo era enviado",
+    "File was illegally uploaded. This could be a possible attack" => "O arquivo foi enviado ilegalmente. Isto poderia ser um possível ataque",
+    "File was not found" => "O arquivo não foi encontrado",
+    "Unknown error while uploading file" => "Erro desconhecido ao enviar o arquivo",
+
+    // Zend_Validator_File_WordCount
     "Too much words, maximum '%max%' are allowed but '%count%' were counted" => "Há muitas palavras, são permitidas no máximo '%max%', mas '%count%' foram contadas",
     "Too less words, minimum '%min%' are expected but '%count%' were counted" => "Há poucas palavras, são esperadas no mínimo '%min%', mas '%count%' foram contadas",
     "File '%value%' is not readable or does not exist" => "O arquivo '%value%' não pode ser lido ou não existe",
 
-    // Zend_Validate_Float
-    "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser float, string, ou inteiro",
-    "'%value%' does not appear to be a float" => "'%value%' não parece ser um float",
-
-    // Zend_Validate_GreaterThan
-    "'%value%' is not greater than '%min%'" => "'%value%' não é maior que '%min%'",
-
-    // Zend_Validate_Hex
-    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' has not only hexadecimal digit characters" => "'%value%' não contém somente caracteres hexadecimais",
-
-    // Zend_Validate_Hostname
-    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' appears to be an IP address, but IP addresses are not allowed" => "'%value%' parece ser um endereço de IP, mas endereços de IP não são permitidos",
-    "'%value%' appears to be a DNS hostname but cannot match TLD against known list" => "'%value%' parece ser um hostname de DNS, mas o TLD não corresponde a nenhum TLD conhecido",
-    "'%value%' appears to be a DNS hostname but contains a dash in an invalid position" => "'%value%' parece ser um hostname de DNS, mas contém um traço em uma posição inválida",
-    "'%value%' appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "'%value%' parece ser um hostname de DNS, mas não corresponde ao esquema de hostname para o TLD '%tld%'",
-    "'%value%' appears to be a DNS hostname but cannot extract TLD part" => "'%value%' parece ser um hostname de DNS, mas o TLD não pôde ser extraído",
-    "'%value%' does not match the expected structure for a DNS hostname" => "'%value%' não corresponde com a estrutura esperada para um hostname de DNS",
-    "'%value%' does not appear to be a valid local network name" => "'%value%' não parece ser um nome de rede local válido",
-    "'%value%' appears to be a local network name but local network names are not allowed" => "'%value%' parece ser um nome de rede local, mas os nomes de rede local não são permitidos",
-    "'%value%' appears to be a DNS hostname but the given punycode notation cannot be decoded" => "'%value%' parece ser um hostname de DNS, mas a notação punycode fornecida não pode ser decodificada",
-    "'%value%' does not appear to be a valid URI hostname" => "'%value%' não parece ser um URI hostname válido",
-
-    // Zend_Validate_Iban
-    "Unknown country within the IBAN '%value%'" => "País desconhecido para o IBAN '%value%'",
-    "'%value%' has a false IBAN format" => "'%value%' não é um formato IBAN válido",
-    "'%value%' has failed the IBAN check" => "'%value%' falhou na verificação do IBAN",
-
-    // Zend_Validate_Identical
+    // Zend_Validator_GreaterThan
+    "The input is not greater than '%min%'" => "O valor de entrada não é maior do que '%min%'",
+    "The input is not greater or equal than '%min%'" => "O valor de entrada não é maior ou igual a '%min%'",
+
+    // Zend_Validator_Hex
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser to tipo string",
+    "The input contains non-hexadecimal characters" => "O valor de entrada contém caracteres não-hexadecimais",
+
+    // Zend_Validator_Hostname
+    "The input appears to be a DNS hostname but the given punycode notation cannot be decoded" => "O valor de entrada parece ser um hostname de DNS, mas a notação punycode fornecida não pode ser decodificada",
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser do tipo string",
+    "The input appears to be a DNS hostname but contains a dash in an invalid position" => "O valor de entrada parece ser um hostname de DNS, mas contém um traço em uma posição inválida",
+    "The input does not match the expected structure for a DNS hostname" => "O valor de entrada não corresponde com a estrutura esperada para um hostname de DNS",
+    "The input appears to be a DNS hostname but cannot match against hostname schema for TLD '%tld%'" => "O valor de entrada parece ser um hostname de DNS, mas não corresponde ao esquema de hostname para o TLD '%tld%'",
+    "The input does not appear to be a valid local network name" => "O valor de entrada não parece ser um nome de rede local válido",
+    "The input does not appear to be a valid URI hostname" => "O valor de entrada não parece ser um URI hostname válido",
+    "The input appears to be an IP address, but IP addresses are not allowed" => "O valor de entrada parece ser um endereço de IP, mas endereços de IP não são permitidos",
+    "The input appears to be a local network name but local network names are not allowed" => "O valor de entrada parece ser um nome de rede local, mas os nomes de rede local não são permitidos",
+    "The input appears to be a DNS hostname but cannot extract TLD part" => "O valor de entrada parece ser um hostname de DNS, mas o TLD não pôde ser extraído",
+    "The input appears to be a DNS hostname but cannot match TLD against known list" => "O valor de entrada parece ser um hostname de DNS, mas o TLD não corresponde a nenhum TLD conhecido",
+
+    // Zend_Validator_Iban
+    "Unknown country within the IBAN" => "País desconhecido para o IBAN",
+    "Countries outside the Single Euro Payments Area (SEPA) are not supported" => "Países fora da Área Única de Pagamentos em Euros (SEPA) não são suportados",
+    "The input has a false IBAN format" => "O valor de entrada não é um formato IBAN válido",
+    "The input has failed the IBAN check" => "O valor de entrada falhou na verificação do IBAN",
+
+    // Zend_Validator_Identical
     "The two given tokens do not match" => "Os dois tokens fornecidos não combinam",
     "No token was provided to match against" => "Nenhum token foi fornecido para a comparação",
 
-    // Zend_Validate_InArray
-    "'%value%' was not found in the haystack" => "'%value%' não faz parte dos valores esperados",
-
-    // Zend_Validate_Int
-    "Invalid type given. String or integer expected" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
-    "'%value%' does not appear to be an integer" => "'%value%' não parece ser um número inteiro",
+    // Zend_Validator_InArray
+    "The input was not found in the haystack" => "O valor de entrada não faz parte dos valores esperados",
 
-    // Zend_Validate_Ip
+    // Zend_Validator_Ip
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' does not appear to be a valid IP address" => "'%value%' não parece ser um endereço de IP válido",
+    "The input does not appear to be a valid IP address" => "O valor de entrada não parece ser um endereço de IP válido",
 
-    // Zend_Validate_Isbn
+    // Zend_Validator_Isbn
     "Invalid type given. String or integer expected" => "O tipo especificado é inválido, o valor deve ser string ou inteiro",
-    "'%value%' is not a valid ISBN number" => "'%value%' não é um número ISBN válido",
+    "The input is not a valid ISBN number" => "O valor de entrada não é um número ISBN válido",
 
-    // Zend_Validate_LessThan
-    "'%value%' is not less than '%max%'" => "'%value%' não é menor que '%max%'",
+    // Zend_Validator_LessThan
+    "The input is not less than '%max%'" => "O valor de entrada não é menor do que '%max%'",
+    "The input is not less or equal than '%max%'" => "O valor de entrada não é menor ou igual a '%max%'",
 
-    // Zend_Validate_NotEmpty
-    "Invalid type given. String, integer, float, boolean or array expected" => "O tipo especificado é inválido, o valor deve ser float, string, matriz, booleano ou inteiro",
+    // Zend_Validator_NotEmpty
     "Value is required and can't be empty" => "O valor é obrigatório e não pode estar vazio",
+    "Invalid type given. String, integer, float, boolean or array expected" => "O tipo especificado é inválido, o valor deve ser float, string, matriz, booleano ou inteiro",
 
-    // Zend_Validate_PostCode
-    "Invalid type given. String or integer expected" => "O tipo especificado é inválido. O valor deve ser uma string ou um inteiro",
-    "'%value%' does not appear to be a postal code" => "'%value%' não parece ser um código postal",
-
-    // Zend_Validate_Regex
+    // Zend_Validator_Regex
     "Invalid type given. String, integer or float expected" => "O tipo especificado é inválido, o valor deve ser string, inteiro ou float",
-    "'%value%' does not match against pattern '%pattern%'" => "'%value%' não corresponde ao padrão '%pattern%'",
+    "The input does not match against pattern '%pattern%'" => "O valor de entrada não corresponde ao padrão '%pattern%'",
     "There was an internal error while using the pattern '%pattern%'" => "Houve um erro interno durante o uso do padrão '%pattern%'",
 
-    // Zend_Validate_Sitemap_Changefreq
-    "'%value%' is not a valid sitemap changefreq" => "'%value%' não é um changefreq de sitemap válido",
+    // Zend_Validator_Sitemap_Changefreq
+    "The input is not a valid sitemap changefreq" => "O valor de entrada não é um changefreq (frequência de alterações) de sitemap válido",
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
 
-    // Zend_Validate_Sitemap_Lastmod
-    "'%value%' is not a valid sitemap lastmod" => "'%value%' não é um lastmod de sitemap válido",
+    // Zend_Validator_Sitemap_Lastmod
+    "The input is not a valid sitemap lastmod" => "O valor de entrada não é um lastmod (última modificação) de sitemap válido",
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
 
-    // Zend_Validate_Sitemap_Loc
-    "'%value%' is not a valid sitemap location" => "'%value%' não é uma localização de sitemap válida",
+    // Zend_Validator_Sitemap_Loc
+    "The input is not a valid sitemap location" => "O valor de entrada não é uma localização de sitemap válida",
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
 
-    // Zend_Validate_Sitemap_Priority
-    "'%value%' is not a valid sitemap priority" => "'%value%' não é uma prioridade de sitemap válida",
+    // Zend_Validator_Sitemap_Priority
+    "The input is not a valid sitemap priority" => "O valor de entrada não é uma prioridade de sitemap válida",
     "Invalid type given. Numeric string, integer or float expected" => "O tipo especificado é inválido, o valor deve ser um inteiro, um float ou uma string numérica",
 
-    // Zend_Validate_StringLength
+    // Zend_Validator_Step
+    "Invalid value given. Scalar expected" => "O valor especificado é inválido, o valor deve ser escalar",
+    "The input is not a valid step" => "O valor de entrada não é um passo válido",
+
+    // Zend_Validator_StringLength
+    "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
+    "The input is less than %min% characters long" => "O tamanho do valor de entrada é inferior a %min% caracteres",
+    "The input is more than %max% characters long" => "O tamanho do valor de entrada é superior a %max% caracteres",
+
+    // Zend_Validator_Uri
     "Invalid type given. String expected" => "O tipo especificado é inválido, o valor deve ser uma string",
-    "'%value%' is less than %min% characters long" => "O tamanho de '%value%' é inferior a %min% caracteres",
-    "'%value%' is more than %max% characters long" => "O tamanho de '%value%' é superior a %max% caracteres",
+    "The input does not appear to be a valid Uri" => "O valor de entrada não parece ser uma Uri válida",
 );
diff --git a/vendor/ZF2/resources/languages/ru/Zend_Validate.php b/vendor/ZF2/resources/languages/ru/Zend_Validate.php
index 8cd8ccbfe4fb1a48d5d1a8fe153e499a423c4e85..50e15ba28c5ae4632a363a68173c731a7570a1ff 100644
--- a/vendor/ZF2/resources/languages/ru/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/ru/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/se/Zend_Captcha.php b/vendor/ZF2/resources/languages/se/Zend_Captcha.php
index 935aea0ea22bfa0c3292e53e497f04fe9f01c55a..ba51e141b144a8ab7681663aa46b195f27e98814 100644
--- a/vendor/ZF2/resources/languages/se/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/se/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/se/Zend_Validate.php b/vendor/ZF2/resources/languages/se/Zend_Validate.php
index e50a533eecc02f6ff8b16833bb106b1c3d955e18..9ae5953304470cf407c33ad249b5ec4a631f7dd1 100644
--- a/vendor/ZF2/resources/languages/se/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/se/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/sk/Zend_Captcha.php b/vendor/ZF2/resources/languages/sk/Zend_Captcha.php
index de4e55b64d9445cf80f4e1eaca5f1429375a40c2..88add8196459873d84adc02676aa37856b2b7ce7 100644
--- a/vendor/ZF2/resources/languages/sk/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/sk/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/sk/Zend_Validate.php b/vendor/ZF2/resources/languages/sk/Zend_Validate.php
index 13c6869b8ccaf07ff83d0a7375b7558057482d83..4cf8e783fc93e6bee4eaf73a59ea1393e1d3909d 100644
--- a/vendor/ZF2/resources/languages/sk/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/sk/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/sl/Zend_Captcha.php b/vendor/ZF2/resources/languages/sl/Zend_Captcha.php
index 1e3ba1057a3df02173aece6e38224ee2b978bd50..f902185dafa6569d7efa95ecb5c7a1e9e05ed7d0 100644
--- a/vendor/ZF2/resources/languages/sl/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/sl/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/sl/Zend_Validate.php b/vendor/ZF2/resources/languages/sl/Zend_Validate.php
index b13a2b6be9f6b76edd00e5897b7e6abf9e8515cf..e9fff19cebf533e75bc8221898b6c24bea6d040a 100644
--- a/vendor/ZF2/resources/languages/sl/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/sl/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/sr/Zend_Validate.php b/vendor/ZF2/resources/languages/sr/Zend_Validate.php
index db850685c4414e230fe0e36ee6d6ff1c80cc2276..d5971ba963a80d0e9487d1a398185c053415a13c 100644
--- a/vendor/ZF2/resources/languages/sr/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/sr/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/tr/Zend_Captcha.php b/vendor/ZF2/resources/languages/tr/Zend_Captcha.php
index 1bb7e6d9903b85ef90b80786c877adb4779c8a8e..1243a2c29ccdb8af2dbfc31b93645ed357fd6ed7 100644
--- a/vendor/ZF2/resources/languages/tr/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/tr/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/tr/Zend_Validate.php b/vendor/ZF2/resources/languages/tr/Zend_Validate.php
index 2317a69dade2b93a896d983eb1a0fce663f883f5..baa9e202631596d0245b28637739e92535abb046 100644
--- a/vendor/ZF2/resources/languages/tr/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/tr/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/uk/Zend_Validate.php b/vendor/ZF2/resources/languages/uk/Zend_Validate.php
index 6d1d51a56e8dab92e5ccfa2793b0518237cbb09e..ab5445894be537d97005028d58ef5b5a40bacc72 100644
--- a/vendor/ZF2/resources/languages/uk/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/uk/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/zh/Zend_Captcha.php b/vendor/ZF2/resources/languages/zh/Zend_Captcha.php
index 5d7d880341a4ba2df9749993c71fc19989aa905a..e7c0c2560b061ef27dee97745c157426f9b25ae0 100644
--- a/vendor/ZF2/resources/languages/zh/Zend_Captcha.php
+++ b/vendor/ZF2/resources/languages/zh/Zend_Captcha.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translate
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
diff --git a/vendor/ZF2/resources/languages/zh/Zend_Validate.php b/vendor/ZF2/resources/languages/zh/Zend_Validate.php
index 3207375a3aa3e5237869fb4de188ef1d2735ed10..37f134a56016bc71b6fe3d177e38fc66313056cd 100644
--- a/vendor/ZF2/resources/languages/zh/Zend_Validate.php
+++ b/vendor/ZF2/resources/languages/zh/Zend_Validate.php
@@ -12,9 +12,6 @@
  * obtain it through the world-wide-web, please send an email
  * to license@zend.com so we can send you a copy immediately.
  *
- * @category   Zend
- * @package    Zend_Translator
- * @subpackage Resource
  * @copyright  Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */