From 267d1798c605c8396673ff9b3d4f9acda5adf96c Mon Sep 17 00:00:00 2001
From: Demian Katz <demian.katz@villanova.edu>
Date: Thu, 3 Jul 2014 12:21:48 -0400
Subject: [PATCH] Updated dependencies.

---
 composer.lock                                 |  29 +-
 vendor/autoload.php                           |   2 +-
 vendor/composer/ClassLoader.php               |   7 +-
 vendor/composer/autoload_real.php             |  11 +-
 vendor/composer/include_paths.php             |   2 +-
 vendor/composer/installed.json                | 266 +++++++++---------
 vendor/jasig/phpcas/source/CAS/Client.php     |   8 +-
 .../CAS/OutOfSequenceBeforeProxyException.php | 106 +++----
 .../pear-pear.php.net/XML_Util/XML/Util.php   | 124 ++++----
 .../yaml/Symfony/Component/Yaml/Dumper.php    |  12 +-
 .../yaml/Symfony/Component/Yaml/Escaper.php   |   4 +-
 .../Yaml/Exception/ParseException.php         |   8 +-
 .../yaml/Symfony/Component/Yaml/Inline.php    |  52 ++--
 .../yaml/Symfony/Component/Yaml/Parser.php    |  57 ++--
 .../Component/Yaml/Tests/ParserTest.php       |  57 +++-
 .../yaml/Symfony/Component/Yaml/Unescaper.php |  55 ++--
 .../yaml/Symfony/Component/Yaml/Yaml.php      |  12 +-
 .../yaml/Symfony/Component/Yaml/composer.json |   2 +-
 18 files changed, 442 insertions(+), 372 deletions(-)

diff --git a/composer.lock b/composer.lock
index 4d0813a665f..4442b53b426 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1,7 +1,8 @@
 {
     "_readme": [
         "This file locks the dependencies of your project to a known state",
-        "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file"
+        "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+        "This file is @generated automatically"
     ],
     "hash": "e66238d1080a176e38ae125b46348914",
     "packages": [
@@ -55,12 +56,12 @@
             "source": {
                 "type": "git",
                 "url": "https://github.com/Jasig/phpCAS.git",
-                "reference": "27a971e0beee74b7b62c5d669be0823e585dfe82"
+                "reference": "83168b398e10defc384b740e104950a3fef83e51"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/Jasig/phpCAS/zipball/27a971e0beee74b7b62c5d669be0823e585dfe82",
-                "reference": "27a971e0beee74b7b62c5d669be0823e585dfe82",
+                "url": "https://api.github.com/repos/Jasig/phpCAS/zipball/83168b398e10defc384b740e104950a3fef83e51",
+                "reference": "83168b398e10defc384b740e104950a3fef83e51",
                 "shasum": ""
             },
             "require": {
@@ -98,7 +99,7 @@
                 "source": "https://github.com/Jasig/phpCAS/tree/master",
                 "issues": "https://github.com/Jasig/phpCAS/issues"
             },
-            "time": "2013-12-08 09:32:42"
+            "time": "2014-07-02 15:38:35"
         },
         {
             "name": "johnwohlers/sip2",
@@ -327,10 +328,10 @@
         },
         {
             "name": "pear-pear.php.net/XML_Util",
-            "version": "1.2.1",
+            "version": "1.2.3",
             "dist": {
                 "type": "file",
-                "url": "http://pear.php.net/get/XML_Util-1.2.1.tgz",
+                "url": "http://pear.php.net/get/XML_Util-1.2.3.tgz",
                 "reference": null,
                 "shasum": null
             },
@@ -339,7 +340,7 @@
                 "php": ">=4.3.0.0"
             },
             "replace": {
-                "pear-pear/xml_util": "== 1.2.1.0"
+                "pear-pear/xml_util": "== 1.2.3.0"
             },
             "type": "pear-library",
             "autoload": {
@@ -390,17 +391,17 @@
         },
         {
             "name": "symfony/yaml",
-            "version": "v2.4.3",
+            "version": "v2.5.0",
             "target-dir": "Symfony/Component/Yaml",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/Yaml.git",
-                "reference": "77a41c2835ab7cfe8bf6d15e25d3af8f3eb3bacd"
+                "reference": "b4b09c68ec2f2727574544ef0173684281a5033c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Yaml/zipball/77a41c2835ab7cfe8bf6d15e25d3af8f3eb3bacd",
-                "reference": "77a41c2835ab7cfe8bf6d15e25d3af8f3eb3bacd",
+                "url": "https://api.github.com/repos/symfony/Yaml/zipball/b4b09c68ec2f2727574544ef0173684281a5033c",
+                "reference": "b4b09c68ec2f2727574544ef0173684281a5033c",
                 "shasum": ""
             },
             "require": {
@@ -409,7 +410,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "2.4-dev"
+                    "dev-master": "2.5-dev"
                 }
             },
             "autoload": {
@@ -435,7 +436,7 @@
             ],
             "description": "Symfony Yaml Component",
             "homepage": "http://symfony.com",
-            "time": "2014-03-12 18:29:58"
+            "time": "2014-05-16 14:25:18"
         },
         {
             "name": "zendframework/zendframework",
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 278a00cfb5c..7c765a72072 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer' . '/autoload_real.php';
 
-return ComposerAutoloaderInit93ded85776ce5eba306e5022b8482349::getLoader();
+return ComposerAutoloaderInitfd8891afd8fccdcebfb24dde7ca9493f::getLoader();
diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php
index a7105553143..88684c52657 100644
--- a/vendor/composer/ClassLoader.php
+++ b/vendor/composer/ClassLoader.php
@@ -202,10 +202,11 @@ class ClassLoader
      * Registers a set of PSR-4 directories for a given namespace,
      * replacing any others previously set for this namespace.
      *
-     * @param string       $prefix  The prefix/namespace, with trailing '\\'
-     * @param array|string $paths   The PSR-4 base directories
+     * @param string       $prefix The prefix/namespace, with trailing '\\'
+     * @param array|string $paths  The PSR-4 base directories
      */
-    public function setPsr4($prefix, $paths) {
+    public function setPsr4($prefix, $paths)
+    {
         if (!$prefix) {
             $this->fallbackDirsPsr4 = (array) $paths;
         } else {
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index fac5d0e7c58..fdb39a373ad 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInit93ded85776ce5eba306e5022b8482349
+class ComposerAutoloaderInitfd8891afd8fccdcebfb24dde7ca9493f
 {
     private static $loader;
 
@@ -19,12 +19,9 @@ class ComposerAutoloaderInit93ded85776ce5eba306e5022b8482349
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInit93ded85776ce5eba306e5022b8482349', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInitfd8891afd8fccdcebfb24dde7ca9493f', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInit93ded85776ce5eba306e5022b8482349', 'loadClassLoader'));
-
-        $vendorDir = dirname(__DIR__);
-        $baseDir = dirname($vendorDir);
+        spl_autoload_unregister(array('ComposerAutoloaderInitfd8891afd8fccdcebfb24dde7ca9493f', 'loadClassLoader'));
 
         $includePaths = require __DIR__ . '/include_paths.php';
         array_push($includePaths, get_include_path());
@@ -51,7 +48,7 @@ class ComposerAutoloaderInit93ded85776ce5eba306e5022b8482349
     }
 }
 
-function composerRequire93ded85776ce5eba306e5022b8482349($file)
+function composerRequirefd8891afd8fccdcebfb24dde7ca9493f($file)
 {
     require $file;
 }
diff --git a/vendor/composer/include_paths.php b/vendor/composer/include_paths.php
index ef6a1cbc30f..7640dd1f24f 100644
--- a/vendor/composer/include_paths.php
+++ b/vendor/composer/include_paths.php
@@ -6,7 +6,6 @@ $vendorDir = dirname(dirname(__FILE__));
 $baseDir = dirname($vendorDir);
 
 return array(
-    $vendorDir . '/pear-pear.php.net/XML_Util',
     $vendorDir . '/pear-pear.php.net/Console_Getopt',
     $vendorDir . '/pear-pear.php.net/Structures_Graph',
     $vendorDir . '/pear-pear.php.net/Archive_Tar',
@@ -14,4 +13,5 @@ return array(
     $vendorDir . '/pear-pear.php.net/Validate',
     $vendorDir . '/pear-pear.php.net/Validate_ISPN',
     $vendorDir . '/pear-pear.php.net/File_MARC',
+    $vendorDir . '/pear-pear.php.net/XML_Util',
 );
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index a5c28f1d3c3..ab0036973aa 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -35,35 +35,6 @@
             ]
         }
     },
-    {
-        "name": "pear-pear.php.net/XML_Util",
-        "version": "1.2.1",
-        "version_normalized": "1.2.1.0",
-        "dist": {
-            "type": "file",
-            "url": "http://pear.php.net/get/XML_Util-1.2.1.tgz",
-            "reference": null,
-            "shasum": null
-        },
-        "require": {
-            "ext-pcre": "*",
-            "php": ">=4.3.0.0"
-        },
-        "replace": {
-            "pear-pear/xml_util": "== 1.2.1.0"
-        },
-        "type": "pear-library",
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                ""
-            ]
-        },
-        "include-path": [
-            "/"
-        ],
-        "description": "Selection of methods that are often needed when working with XML documents.  Functionality includes creating of attribute lists from arrays, creation of tags, validation of XML names and more."
-    },
     {
         "name": "pear-pear.php.net/Console_Getopt",
         "version": "1.3.1",
@@ -402,59 +373,6 @@
             "issues": "https://github.com/zendframework/ZendRest/issues"
         }
     },
-    {
-        "name": "jasig/phpcas",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/Jasig/phpCAS.git",
-            "reference": "27a971e0beee74b7b62c5d669be0823e585dfe82"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/Jasig/phpCAS/zipball/27a971e0beee74b7b62c5d669be0823e585dfe82",
-            "reference": "27a971e0beee74b7b62c5d669be0823e585dfe82",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.0.0"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~3.7.10"
-        },
-        "time": "2013-12-08 09:32:42",
-        "type": "library",
-        "installation-source": "source",
-        "autoload": {
-            "classmap": [
-                "source/"
-            ]
-        },
-        "license": [
-            "Apache-2.0"
-        ],
-        "authors": [
-            {
-                "name": "Joachim Fritschi",
-                "homepage": "https://wiki.jasig.org/display/~fritschi"
-            },
-            {
-                "name": "Adam Franco",
-                "homepage": "https://wiki.jasig.org/display/~adamfranco"
-            }
-        ],
-        "description": "Provides a simple API for authenticating users against a CAS server",
-        "homepage": "https://wiki.jasig.org/display/CASC/phpCAS",
-        "keywords": [
-            "cas",
-            "jasig"
-        ],
-        "support": {
-            "source": "https://github.com/Jasig/phpCAS/tree/master",
-            "issues": "https://github.com/Jasig/phpCAS/issues"
-        }
-    },
     {
         "name": "aferrandini/phpqrcode",
         "version": "1.0.1",
@@ -501,57 +419,6 @@
             "qrcode"
         ]
     },
-    {
-        "name": "symfony/yaml",
-        "version": "v2.4.3",
-        "version_normalized": "2.4.3.0",
-        "target-dir": "Symfony/Component/Yaml",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/Yaml.git",
-            "reference": "77a41c2835ab7cfe8bf6d15e25d3af8f3eb3bacd"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Yaml/zipball/77a41c2835ab7cfe8bf6d15e25d3af8f3eb3bacd",
-            "reference": "77a41c2835ab7cfe8bf6d15e25d3af8f3eb3bacd",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "time": "2014-03-12 18:29:58",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.4-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\Yaml\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com",
-                "homepage": "http://fabien.potencier.org",
-                "role": "Lead Developer"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony Yaml Component",
-        "homepage": "http://symfony.com"
-    },
     {
         "name": "zendframework/zendservice-amazon",
         "version": "2.0.3",
@@ -780,5 +647,138 @@
             "source": "https://github.com/zendframework/ZendService_ReCaptcha/tree/release-2.0.1",
             "issues": "https://github.com/zendframework/ZendService_ReCaptcha/issues"
         }
+    },
+    {
+        "name": "symfony/yaml",
+        "version": "v2.5.0",
+        "version_normalized": "2.5.0.0",
+        "target-dir": "Symfony/Component/Yaml",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/Yaml.git",
+            "reference": "b4b09c68ec2f2727574544ef0173684281a5033c"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/Yaml/zipball/b4b09c68ec2f2727574544ef0173684281a5033c",
+            "reference": "b4b09c68ec2f2727574544ef0173684281a5033c",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "time": "2014-05-16 14:25:18",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.5-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Symfony\\Component\\Yaml\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com",
+                "homepage": "http://fabien.potencier.org",
+                "role": "Lead Developer"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "http://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony Yaml Component",
+        "homepage": "http://symfony.com"
+    },
+    {
+        "name": "pear-pear.php.net/XML_Util",
+        "version": "1.2.3",
+        "version_normalized": "1.2.3.0",
+        "dist": {
+            "type": "file",
+            "url": "http://pear.php.net/get/XML_Util-1.2.3.tgz",
+            "reference": null,
+            "shasum": null
+        },
+        "require": {
+            "ext-pcre": "*",
+            "php": ">=4.3.0.0"
+        },
+        "replace": {
+            "pear-pear/xml_util": "== 1.2.3.0"
+        },
+        "type": "pear-library",
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                ""
+            ]
+        },
+        "include-path": [
+            "/"
+        ],
+        "description": "Selection of methods that are often needed when working with XML documents.  Functionality includes creating of attribute lists from arrays, creation of tags, validation of XML names and more."
+    },
+    {
+        "name": "jasig/phpcas",
+        "version": "dev-master",
+        "version_normalized": "9999999-dev",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/Jasig/phpCAS.git",
+            "reference": "83168b398e10defc384b740e104950a3fef83e51"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/Jasig/phpCAS/zipball/83168b398e10defc384b740e104950a3fef83e51",
+            "reference": "83168b398e10defc384b740e104950a3fef83e51",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.0.0"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~3.7.10"
+        },
+        "time": "2014-07-02 15:38:35",
+        "type": "library",
+        "installation-source": "source",
+        "autoload": {
+            "classmap": [
+                "source/"
+            ]
+        },
+        "license": [
+            "Apache-2.0"
+        ],
+        "authors": [
+            {
+                "name": "Joachim Fritschi",
+                "homepage": "https://wiki.jasig.org/display/~fritschi"
+            },
+            {
+                "name": "Adam Franco",
+                "homepage": "https://wiki.jasig.org/display/~adamfranco"
+            }
+        ],
+        "description": "Provides a simple API for authenticating users against a CAS server",
+        "homepage": "https://wiki.jasig.org/display/CASC/phpCAS",
+        "keywords": [
+            "cas",
+            "jasig"
+        ],
+        "support": {
+            "source": "https://github.com/Jasig/phpCAS/tree/master",
+            "issues": "https://github.com/Jasig/phpCAS/issues"
+        }
     }
 ]
diff --git a/vendor/jasig/phpcas/source/CAS/Client.php b/vendor/jasig/phpcas/source/CAS/Client.php
index c66352ca6ba..1523b7b7342 100755
--- a/vendor/jasig/phpcas/source/CAS/Client.php
+++ b/vendor/jasig/phpcas/source/CAS/Client.php
@@ -1924,7 +1924,7 @@ class CAS_Client
         $result = false;
         // build the URL to validate the ticket
         $validate_url = $this->getServerServiceValidateURL()
-            .'&ticket='.$this->getTicket();
+            .'&ticket='.urlencode($this->getTicket());
 
         // open and read the URL
         if ( !$this->_readURL($validate_url, $headers, $text_response, $err_msg) ) {
@@ -2771,7 +2771,7 @@ class CAS_Client
         phpCAS::traceBegin();
 
         //get the ticket
-        $sa = $this->getTicket();
+        $sa = urlencode($this->getTicket());
 
         $body = SAML_SOAP_ENV.SAML_SOAP_BODY.SAMLP_REQUEST
             .SAML_ASSERTION_ARTIFACT.$sa.SAML_ASSERTION_ARTIFACT_CLOSE
@@ -3094,10 +3094,10 @@ class CAS_Client
         // build the URL to validate the ticket
         if ($this->getAllowedProxyChains()->isProxyingAllowed()) {
             $validate_url = $this->getServerProxyValidateURL().'&ticket='
-                .$this->getTicket();
+                .urlencode($this->getTicket());
         } else {
             $validate_url = $this->getServerServiceValidateURL().'&ticket='
-                .$this->getTicket();
+                .urlencode($this->getTicket());
         }
 
         if ( $this->isProxy() ) {
diff --git a/vendor/jasig/phpcas/source/CAS/OutOfSequenceBeforeProxyException.php b/vendor/jasig/phpcas/source/CAS/OutOfSequenceBeforeProxyException.php
index 1603b405161..1df8c511470 100755
--- a/vendor/jasig/phpcas/source/CAS/OutOfSequenceBeforeProxyException.php
+++ b/vendor/jasig/phpcas/source/CAS/OutOfSequenceBeforeProxyException.php
@@ -1,59 +1,59 @@
-<?php
-
-/**
- * Licensed to Jasig under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for
- * additional information regarding copyright ownership.
- *
- * Jasig licenses this file to you under the Apache License,
- * Version 2.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- *
- * PHP Version 5
- *
- * @file     CAS/OutOfSequenceBeforeProxyException.php
- * @category Authentication
- * @package  PhpCAS
- * @author   Joachim Fritschi <jfritschi@freenet.de>
- * @license  http://www.apache.org/licenses/LICENSE-2.0  Apache License 2.0
- * @link     https://wiki.jasig.org/display/CASC/phpCAS
- */
-
-/**
- * This class defines Exceptions that should be thrown when the sequence of
- * operations is invalid. In this case it should be thrown when the proxy() call
- * has not yet happened and no proxy object exists.
- *
- * @class    CAS_OutOfSequenceBeforeProxyException
- * @category Authentication
- * @package  PhpCAS
- * @author   Joachim Fritschi <jfritschi@freenet.de>
- * @license  http://www.apache.org/licenses/LICENSE-2.0  Apache License 2.0
- * @link     https://wiki.jasig.org/display/CASC/phpCAS
- */
-class CAS_OutOfSequenceBeforeProxyException
-extends CAS_OutOfSequenceException
-implements CAS_Exception
-{
-
+<?php
+
+/**
+ * Licensed to Jasig under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for
+ * additional information regarding copyright ownership.
+ *
+ * Jasig licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ * PHP Version 5
+ *
+ * @file     CAS/OutOfSequenceBeforeProxyException.php
+ * @category Authentication
+ * @package  PhpCAS
+ * @author   Joachim Fritschi <jfritschi@freenet.de>
+ * @license  http://www.apache.org/licenses/LICENSE-2.0  Apache License 2.0
+ * @link     https://wiki.jasig.org/display/CASC/phpCAS
+ */
+
+/**
+ * This class defines Exceptions that should be thrown when the sequence of
+ * operations is invalid. In this case it should be thrown when the proxy() call
+ * has not yet happened and no proxy object exists.
+ *
+ * @class    CAS_OutOfSequenceBeforeProxyException
+ * @category Authentication
+ * @package  PhpCAS
+ * @author   Joachim Fritschi <jfritschi@freenet.de>
+ * @license  http://www.apache.org/licenses/LICENSE-2.0  Apache License 2.0
+ * @link     https://wiki.jasig.org/display/CASC/phpCAS
+ */
+class CAS_OutOfSequenceBeforeProxyException
+extends CAS_OutOfSequenceException
+implements CAS_Exception
+{
+
     /**
      * Return standard error message
      *
      * @return void
-     */
-    public function __construct ()
+     */
+    public function __construct ()
     {
-        parent::__construct(
-            'this method cannot be called before phpCAS::proxy()''
+        parent::__construct(
+            'this method cannot be called before phpCAS::proxy()'
         );
-    }
-}
+    }
+}
diff --git a/vendor/pear-pear.php.net/XML_Util/XML/Util.php b/vendor/pear-pear.php.net/XML_Util/XML/Util.php
index f5927b16cfd..6895e10147c 100644
--- a/vendor/pear-pear.php.net/XML_Util/XML/Util.php
+++ b/vendor/pear-pear.php.net/XML_Util/XML/Util.php
@@ -6,7 +6,7 @@
  * XML_Util
  *
  * XML Utilities package
- * 
+ *
  * PHP versions 4 and 5
  *
  * LICENSE:
@@ -43,7 +43,7 @@
  * @author    Stephan Schmidt <schst@php.net>
  * @copyright 2003-2008 Stephan Schmidt <schst@php.net>
  * @license   http://opensource.org/licenses/bsd-license New BSD License
- * @version   CVS: $Id: Util.php,v 1.38 2008/11/13 00:03:38 ashnazg Exp $
+ * @version   CVS: $Id$
  * @link      http://pear.php.net/package/XML_Util
  */
 
@@ -119,7 +119,7 @@ define('XML_UTIL_COLLAPSE_XHTML_ONLY', 2);
  * @author    Stephan Schmidt <schst@php.net>
  * @copyright 2003-2008 Stephan Schmidt <schst@php.net>
  * @license   http://opensource.org/licenses/bsd-license New BSD License
- * @version   Release: 1.2.1
+ * @version   Release: 1.2.3
  * @link      http://pear.php.net/package/XML_Util
  */
 class XML_Util
@@ -161,11 +161,11 @@ class XML_Util
      * );
      * </code>
      *
-     * @param string $string          string where XML special chars 
+     * @param string $string          string where XML special chars
      *                                should be replaced
-     * @param int    $replaceEntities setting for entities in attribute values 
-     *                                (one of XML_UTIL_ENTITIES_XML, 
-     *                                XML_UTIL_ENTITIES_XML_REQUIRED, 
+     * @param int    $replaceEntities setting for entities in attribute values
+     *                                (one of XML_UTIL_ENTITIES_XML,
+     *                                XML_UTIL_ENTITIES_XML_REQUIRED,
      *                                XML_UTIL_ENTITIES_HTML)
      * @param string $encoding        encoding value (if any)...
      *                                must be a valid encoding as determined
@@ -227,11 +227,11 @@ class XML_Util
      * );
      * </code>
      *
-     * @param string $string          string where XML special chars 
+     * @param string $string          string where XML special chars
      *                                should be replaced
-     * @param int    $replaceEntities setting for entities in attribute values 
-     *                                (one of XML_UTIL_ENTITIES_XML, 
-     *                                XML_UTIL_ENTITIES_XML_REQUIRED, 
+     * @param int    $replaceEntities setting for entities in attribute values
+     *                                (one of XML_UTIL_ENTITIES_XML,
+     *                                XML_UTIL_ENTITIES_XML_REQUIRED,
      *                                XML_UTIL_ENTITIES_HTML)
      * @param string $encoding        encoding value (if any)...
      *                                must be a valid encoding as determined
@@ -286,7 +286,7 @@ class XML_Util
      * @static
      * @uses attributesToString() to serialize the attributes of the XML declaration
      */
-    function getXMLDeclaration($version = '1.0', $encoding = null, 
+    function getXMLDeclaration($version = '1.0', $encoding = null,
         $standalone = null)
     {
         $attributes = array(
@@ -301,7 +301,7 @@ class XML_Util
             $attributes['standalone'] = $standalone ? 'yes' : 'no';
         }
 
-        return sprintf('<?xml%s?>', 
+        return sprintf('<?xml%s?>',
             XML_Util::attributesToString($attributes, false));
     }
 
@@ -316,7 +316,7 @@ class XML_Util
      * </code>
      *
      * @param string $root        name of the root tag
-     * @param string $uri         uri of the doctype definition 
+     * @param string $uri         uri of the doctype definition
      *                            (or array with uri and public id)
      * @param string $internalDtd internal dtd entries
      *
@@ -358,20 +358,20 @@ class XML_Util
      * </code>
      *
      * @param array      $attributes attribute array
-     * @param bool|array $sort       sort attribute list alphabetically, 
-     *                               may also be an assoc array containing 
-     *                               the keys 'sort', 'multiline', 'indent', 
+     * @param bool|array $sort       sort attribute list alphabetically,
+     *                               may also be an assoc array containing
+     *                               the keys 'sort', 'multiline', 'indent',
      *                               'linebreak' and 'entities'
-     * @param bool       $multiline  use linebreaks, if more than 
+     * @param bool       $multiline  use linebreaks, if more than
      *                               one attribute is given
-     * @param string     $indent     string used for indentation of 
+     * @param string     $indent     string used for indentation of
      *                               multiline attributes
-     * @param string     $linebreak  string used for linebreaks of 
+     * @param string     $linebreak  string used for linebreaks of
      *                               multiline attributes
-     * @param int        $entities   setting for entities in attribute values 
-     *                               (one of XML_UTIL_ENTITIES_NONE, 
-     *                               XML_UTIL_ENTITIES_XML, 
-     *                               XML_UTIL_ENTITIES_XML_REQUIRED, 
+     * @param int        $entities   setting for entities in attribute values
+     *                               (one of XML_UTIL_ENTITIES_NONE,
+     *                               XML_UTIL_ENTITIES_XML,
+     *                               XML_UTIL_ENTITIES_XML_REQUIRED,
      *                               XML_UTIL_ENTITIES_HTML)
      *
      * @return string string representation of the attributes
@@ -380,7 +380,7 @@ class XML_Util
      * @uses replaceEntities() to replace XML entities in attribute values
      * @todo allow sort also to be an options array
      */
-    function attributesToString($attributes, $sort = true, $multiline = false, 
+    function attributesToString($attributes, $sort = true, $multiline = false,
         $indent = '    ', $linebreak = "\n", $entities = XML_UTIL_ENTITIES_XML)
     {
         /*
@@ -451,7 +451,7 @@ class XML_Util
      * @todo PEAR CS - unable to avoid "space after open parens" error
      *       in the IF branch
      */
-    function collapseEmptyTags($xml, $mode = XML_UTIL_COLLAPSE_ALL) 
+    function collapseEmptyTags($xml, $mode = XML_UTIL_COLLAPSE_ALL)
     {
         if ($mode == XML_UTIL_COLLAPSE_XHTML_ONLY) {
             return preg_replace(
@@ -474,9 +474,9 @@ class XML_Util
      * require_once 'XML/Util.php';
      *
      * // create an XML tag:
-     * $tag = XML_Util::createTag('myNs:myTag', 
-     *     array('foo' => 'bar'), 
-     *     'This is inside the tag', 
+     * $tag = XML_Util::createTag('myNs:myTag',
+     *     array('foo' => 'bar'),
+     *     'This is inside the tag',
      *     'http://www.w3c.org/myNs#');
      * </code>
      *
@@ -484,13 +484,13 @@ class XML_Util
      * @param array  $attributes      array containg attributes
      * @param mixed  $content         the content
      * @param string $namespaceUri    URI of the namespace
-     * @param int    $replaceEntities whether to replace XML special chars in 
-     *                                content, embedd it in a CData section 
+     * @param int    $replaceEntities whether to replace XML special chars in
+     *                                content, embedd it in a CData section
      *                                or none of both
-     * @param bool   $multiline       whether to create a multiline tag where 
+     * @param bool   $multiline       whether to create a multiline tag where
      *                                each attribute gets written to a single line
-     * @param string $indent          string used to indent attributes 
-     *                                (_auto indents attributes so they start 
+     * @param string $indent          string used to indent attributes
+     *                                (_auto indents attributes so they start
      *                                at the same column)
      * @param string $linebreak       string used for linebreaks
      * @param bool   $sortAttributes  Whether to sort the attributes or not
@@ -501,9 +501,9 @@ class XML_Util
      * @see createTagFromArray()
      * @uses createTagFromArray() to create the tag
      */
-    function createTag($qname, $attributes = array(), $content = null, 
-        $namespaceUri = null, $replaceEntities = XML_UTIL_REPLACE_ENTITIES, 
-        $multiline = false, $indent = '_auto', $linebreak = "\n", 
+    function createTag($qname, $attributes = array(), $content = null,
+        $namespaceUri = null, $replaceEntities = XML_UTIL_REPLACE_ENTITIES,
+        $multiline = false, $indent = '_auto', $linebreak = "\n",
         $sortAttributes = true)
     {
         $tag = array(
@@ -521,7 +521,7 @@ class XML_Util
             $tag['namespaceUri'] = $namespaceUri;
         }
 
-        return XML_Util::createTagFromArray($tag, $replaceEntities, $multiline, 
+        return XML_Util::createTagFromArray($tag, $replaceEntities, $multiline,
             $indent, $linebreak, $sortAttributes);
     }
 
@@ -531,22 +531,22 @@ class XML_Util
      * <pre>
      * array(
      *     // qualified name of the tag
-     *     'qname' => $qname        
+     *     'qname' => $qname
      *
      *     // namespace prefix (optional, if qname is specified or no namespace)
-     *     'namespace' => $namespace    
+     *     'namespace' => $namespace
      *
      *     // local part of the tagname (optional, if qname is specified)
-     *     'localpart' => $localpart,   
+     *     'localpart' => $localpart,
      *
      *     // array containing all attributes (optional)
-     *     'attributes' => array(),      
+     *     'attributes' => array(),
      *
      *     // tag content (optional)
-     *     'content' => $content,     
+     *     'content' => $content,
      *
      *     // namespaceUri for the given namespace (optional)
-     *     'namespaceUri' => $namespaceUri 
+     *     'namespaceUri' => $namespaceUri
      * )
      * </pre>
      *
@@ -564,13 +564,13 @@ class XML_Util
      * </code>
      *
      * @param array  $tag             tag definition
-     * @param int    $replaceEntities whether to replace XML special chars in 
-     *                                content, embedd it in a CData section 
+     * @param int    $replaceEntities whether to replace XML special chars in
+     *                                content, embedd it in a CData section
      *                                or none of both
-     * @param bool   $multiline       whether to create a multiline tag where each 
+     * @param bool   $multiline       whether to create a multiline tag where each
      *                                attribute gets written to a single line
-     * @param string $indent          string used to indent attributes 
-     *                                (_auto indents attributes so they start 
+     * @param string $indent          string used to indent attributes
+     *                                (_auto indents attributes so they start
      *                                at the same column)
      * @param string $linebreak       string used for linebreaks
      * @param bool   $sortAttributes  Whether to sort the attributes or not
@@ -585,7 +585,7 @@ class XML_Util
      * @uses raiseError()
      */
     function createTagFromArray($tag, $replaceEntities = XML_UTIL_REPLACE_ENTITIES,
-        $multiline = false, $indent = '_auto', $linebreak = "\n", 
+        $multiline = false, $indent = '_auto', $linebreak = "\n",
         $sortAttributes = true)
     {
         if (isset($tag['content']) && !is_scalar($tag['content'])) {
@@ -595,7 +595,7 @@ class XML_Util
 
         if (!isset($tag['qname']) && !isset($tag['localPart'])) {
             return XML_Util::raiseError('You must either supply a qualified name '
-                . '(qname) or local tag name (localPart).', 
+                . '(qname) or local tag name (localPart).',
                 XML_UTIL_ERROR_NO_TAG_NAME);
         }
 
@@ -649,8 +649,8 @@ class XML_Util
         }
 
         // create attribute list
-        $attList = XML_Util::attributesToString($tag['attributes'], 
-            $sortAttributes, $multiline, $indent, $linebreak, $replaceEntities);
+        $attList = XML_Util::attributesToString($tag['attributes'],
+            $sortAttributes, $multiline, $indent, $linebreak);
         if (!isset($tag['content']) || (string)$tag['content'] == '') {
             $tag = sprintf('<%s%s />', $tag['qname'], $attList);
         } else {
@@ -661,7 +661,7 @@ class XML_Util
                 $tag['content'] = XML_Util::createCDataSection($tag['content']);
                 break;
             default:
-                $tag['content'] = XML_Util::replaceEntities($tag['content'], 
+                $tag['content'] = XML_Util::replaceEntities($tag['content'],
                     $replaceEntities);
                 break;
             }
@@ -678,14 +678,14 @@ class XML_Util
      * require_once 'XML/Util.php';
      *
      * // create an XML start element:
-     * $tag = XML_Util::createStartElement('myNs:myTag', 
+     * $tag = XML_Util::createStartElement('myNs:myTag',
      *     array('foo' => 'bar') ,'http://www.w3c.org/myNs#');
      * </code>
      *
      * @param string $qname          qualified tagname (including namespace)
      * @param array  $attributes     array containg attributes
      * @param string $namespaceUri   URI of the namespace
-     * @param bool   $multiline      whether to create a multiline tag where each 
+     * @param bool   $multiline      whether to create a multiline tag where each
      *                               attribute gets written to a single line
      * @param string $indent         string used to indent attributes (_auto indents
      *                               attributes so they start at the same column)
@@ -698,7 +698,7 @@ class XML_Util
      * @see createEndElement(), createTag()
      */
     function createStartElement($qname, $attributes = array(), $namespaceUri = null,
-        $multiline = false, $indent = '_auto', $linebreak = "\n", 
+        $multiline = false, $indent = '_auto', $linebreak = "\n",
         $sortAttributes = true)
     {
         // if no attributes hav been set, use empty attributes
@@ -728,7 +728,7 @@ class XML_Util
         }
 
         // create attribute list
-        $attList = XML_Util::attributesToString($attributes, $sortAttributes, 
+        $attList = XML_Util::attributesToString($attributes, $sortAttributes,
             $multiline, $indent, $linebreak);
         $element = sprintf('<%s%s>', $qname, $attList);
         return  $element;
@@ -797,7 +797,7 @@ class XML_Util
      */
     function createCDataSection($data)
     {
-        return sprintf('<![CDATA[%s]]>', 
+        return sprintf('<![CDATA[%s]]>',
             preg_replace('/\]\]>/', ']]]]><![CDATA[>', strval($data)));
 
     }
@@ -871,17 +871,17 @@ class XML_Util
     function isValidName($string)
     {
         // check for invalid chars
-        if (!preg_match('/^[[:alpha:]_]$/', $string{0})) {
+        if (!preg_match('/^[[:alpha:]_]\\z/', $string{0})) {
             return XML_Util::raiseError('XML names may only start with letter '
                 . 'or underscore', XML_UTIL_ERROR_INVALID_START);
         }
 
         // check for invalid chars
-        if (!preg_match('/^([[:alpha:]_]([[:alnum:]\-\.]*)?:)?[[:alpha:]_]([[:alnum:]\_\-\.]+)?$/',
+        if (!preg_match('/^([[:alpha:]_]([[:alnum:]\-\.]*)?:)?[[:alpha:]_]([[:alnum:]\_\-\.]+)?\\z/',
             $string)
         ) {
             return XML_Util::raiseError('XML names may only contain alphanumeric '
-                . 'chars, period, hyphen, colon and underscores', 
+                . 'chars, period, hyphen, colon and underscores',
                 XML_UTIL_ERROR_INVALID_CHARS);
         }
         // XML name is valid
diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php
index 8709f8b7e46..26103c88ece 100644
--- a/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php
+++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php
@@ -21,14 +21,14 @@ class Dumper
     /**
      * The amount of spaces to use for indentation of nested nodes.
      *
-     * @var integer
+     * @var int
      */
     protected $indentation = 4;
 
     /**
      * Sets the indentation.
      *
-     * @param integer $num The amount of spaces to use for indentation of nested nodes.
+     * @param int     $num The amount of spaces to use for indentation of nested nodes.
      */
     public function setIndentation($num)
     {
@@ -39,10 +39,10 @@ class Dumper
      * Dumps a PHP value to YAML.
      *
      * @param mixed   $input                  The PHP value
-     * @param integer $inline                 The level where you switch to inline YAML
-     * @param integer $indent                 The level of indentation (used internally)
-     * @param Boolean $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param Boolean $objectSupport          true if object support is enabled, false otherwise
+     * @param int     $inline                 The level where you switch to inline YAML
+     * @param int     $indent                 The level of indentation (used internally)
+     * @param bool    $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
+     * @param bool    $objectSupport          true if object support is enabled, false otherwise
      *
      * @return string  The YAML representation of the PHP value
      */
diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php
index 3576e9ae6fa..4a6b6216132 100644
--- a/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php
+++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php
@@ -44,7 +44,7 @@ class Escaper
      *
      * @param string $value A PHP value
      *
-     * @return Boolean True if the value would require double quotes.
+     * @return bool    True if the value would require double quotes.
      */
     public static function requiresDoubleQuoting($value)
     {
@@ -68,7 +68,7 @@ class Escaper
      *
      * @param string $value A PHP value
      *
-     * @return Boolean True if the value would require single quotes.
+     * @return bool    True if the value would require single quotes.
      */
     public static function requiresSingleQuoting($value)
     {
diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ParseException.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ParseException.php
index 938097b8b3e..ff01d6b9a69 100644
--- a/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ParseException.php
+++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ParseException.php
@@ -34,8 +34,8 @@ class ParseException extends RuntimeException
      * Constructor.
      *
      * @param string    $message    The error message
-     * @param integer   $parsedLine The line where the error occurred
-     * @param integer   $snippet    The snippet of code near the problem
+     * @param int       $parsedLine The line where the error occurred
+     * @param int       $snippet    The snippet of code near the problem
      * @param string    $parsedFile The file name where the error occurred
      * @param \Exception $previous   The previous exception
      */
@@ -100,7 +100,7 @@ class ParseException extends RuntimeException
     /**
      * Gets the line where the error occurred.
      *
-     * @return integer The file line
+     * @return int     The file line
      */
     public function getParsedLine()
     {
@@ -110,7 +110,7 @@ class ParseException extends RuntimeException
     /**
      * Sets the line where the error occurred.
      *
-     * @param integer $parsedLine The file line
+     * @param int     $parsedLine The file line
      */
     public function setParsedLine($parsedLine)
     {
diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php
index 7a2d1486af6..2242d12c7be 100644
--- a/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php
+++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php
@@ -30,8 +30,8 @@ class Inline
      * Converts a YAML string to a PHP array.
      *
      * @param string  $value                  A YAML string
-     * @param Boolean $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param Boolean $objectSupport          true if object support is enabled, false otherwise
+     * @param bool    $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
+     * @param bool    $objectSupport          true if object support is enabled, false otherwise
      *
      * @return array A PHP array representing the YAML string
      *
@@ -83,8 +83,8 @@ class Inline
      * Dumps a given PHP variable to a YAML string.
      *
      * @param mixed   $value                  The PHP variable to convert
-     * @param Boolean $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param Boolean $objectSupport          true if object support is enabled, false otherwise
+     * @param bool    $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
+     * @param bool    $objectSupport          true if object support is enabled, false otherwise
      *
      * @return string The YAML string representing the PHP array
      *
@@ -149,8 +149,8 @@ class Inline
      * Dumps a PHP array to a YAML string.
      *
      * @param array   $value                  The PHP array to dump
-     * @param Boolean $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param Boolean $objectSupport          true if object support is enabled, false otherwise
+     * @param bool    $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
+     * @param bool    $objectSupport          true if object support is enabled, false otherwise
      *
      * @return string The YAML string representing the PHP array
      */
@@ -159,7 +159,7 @@ class Inline
         // array
         $keys = array_keys($value);
         if ((1 == count($keys) && '0' == $keys[0])
-            || (count($keys) > 1 && array_reduce($keys, function ($v, $w) { return (integer) $v + $w; }, 0) == count($keys) * (count($keys) - 1) / 2)
+            || (count($keys) > 1 && array_reduce($keys, function ($v, $w) { return (int) $v + $w; }, 0) == count($keys) * (count($keys) - 1) / 2)
         ) {
             $output = array();
             foreach ($value as $val) {
@@ -184,8 +184,8 @@ class Inline
      * @param scalar $scalar
      * @param string $delimiters
      * @param array  $stringDelimiters
-     * @param integer &$i
-     * @param Boolean $evaluate
+     * @param int     &$i
+     * @param bool    $evaluate
      *
      * @return string A YAML string
      *
@@ -232,7 +232,7 @@ class Inline
      * Parses a quoted scalar to YAML.
      *
      * @param string $scalar
-     * @param integer &$i
+     * @param int     &$i
      *
      * @return string A YAML string
      *
@@ -262,7 +262,7 @@ class Inline
      * Parses a sequence to a YAML string.
      *
      * @param string $sequence
-     * @param integer &$i
+     * @param int     &$i
      *
      * @return string A YAML string
      *
@@ -318,7 +318,7 @@ class Inline
      * Parses a mapping to a YAML string.
      *
      * @param string $mapping
-     * @param integer &$i
+     * @param int     &$i
      *
      * @return string A YAML string
      *
@@ -350,19 +350,37 @@ class Inline
                 switch ($mapping[$i]) {
                     case '[':
                         // nested sequence
-                        $output[$key] = self::parseSequence($mapping, $i);
+                        $value = self::parseSequence($mapping, $i);
+                        // Spec: Keys MUST be unique; first one wins.
+                        // Parser cannot abort this mapping earlier, since lines
+                        // are processed sequentially.
+                        if (!isset($output[$key])) {
+                            $output[$key] = $value;
+                        }
                         $done = true;
                         break;
                     case '{':
                         // nested mapping
-                        $output[$key] = self::parseMapping($mapping, $i);
+                        $value = self::parseMapping($mapping, $i);
+                        // Spec: Keys MUST be unique; first one wins.
+                        // Parser cannot abort this mapping earlier, since lines
+                        // are processed sequentially.
+                        if (!isset($output[$key])) {
+                            $output[$key] = $value;
+                        }
                         $done = true;
                         break;
                     case ':':
                     case ' ':
                         break;
                     default:
-                        $output[$key] = self::parseScalar($mapping, array(',', '}'), array('"', "'"), $i);
+                        $value = self::parseScalar($mapping, array(',', '}'), array('"', "'"), $i);
+                        // Spec: Keys MUST be unique; first one wins.
+                        // Parser cannot abort this mapping earlier, since lines
+                        // are processed sequentially.
+                        if (!isset($output[$key])) {
+                            $output[$key] = $value;
+                        }
                         $done = true;
                         --$i;
                 }
@@ -393,7 +411,7 @@ class Inline
             case 'null' === $scalarLower:
             case '' === $scalar:
             case '~' === $scalar:
-                return null;
+                return;
             case 'true' === $scalarLower:
                 return true;
             case 'false' === $scalarLower:
@@ -414,7 +432,7 @@ class Inline
                             throw new ParseException('Object support when parsing a YAML file has been disabled.');
                         }
 
-                        return null;
+                        return;
                     case ctype_digit($scalar):
                         $raw = $scalar;
                         $cast = intval($scalar);
diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php
index 36aa9b0ace2..9539e36aa3c 100644
--- a/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php
+++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php
@@ -31,7 +31,7 @@ class Parser
     /**
      * Constructor
      *
-     * @param integer $offset The offset of YAML document (used for line numbers in error messages)
+     * @param int     $offset The offset of YAML document (used for line numbers in error messages)
      */
     public function __construct($offset = 0)
     {
@@ -42,8 +42,8 @@ class Parser
      * Parses a YAML string to a PHP value.
      *
      * @param string  $value                  A YAML string
-     * @param Boolean $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param Boolean $objectSupport          true if object support is enabled, false otherwise
+     * @param bool    $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
+     * @param bool    $objectSupport          true if object support is enabled, false otherwise
      *
      * @return mixed  A PHP value
      *
@@ -55,7 +55,7 @@ class Parser
         $this->currentLine = '';
         $this->lines = explode("\n", $this->cleanup($value));
 
-        if (function_exists('mb_detect_encoding') && false === mb_detect_encoding($value, 'UTF-8', true)) {
+        if (!preg_match('//u', $value)) {
             throw new ParseException('The YAML value does not appear to be valid UTF-8.');
         }
 
@@ -178,18 +178,35 @@ class Parser
                 } elseif (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) {
                     // if next line is less indented or equal, then it means that the current value is null
                     if (!$this->isNextLineIndented() && !$this->isNextLineUnIndentedCollection()) {
-                        $data[$key] = null;
+                        // Spec: Keys MUST be unique; first one wins.
+                        // Parser cannot abort this mapping earlier, since lines
+                        // are processed sequentially.
+                        if (!isset($data[$key])) {
+                            $data[$key] = null;
+                        }
                     } else {
                         $c = $this->getRealCurrentLineNb() + 1;
                         $parser = new Parser($c);
                         $parser->refs =& $this->refs;
-                        $data[$key] = $parser->parse($this->getNextEmbedBlock(), $exceptionOnInvalidType, $objectSupport);
+                        $value = $parser->parse($this->getNextEmbedBlock(), $exceptionOnInvalidType, $objectSupport);
+                        // Spec: Keys MUST be unique; first one wins.
+                        // Parser cannot abort this mapping earlier, since lines
+                        // are processed sequentially.
+                        if (!isset($data[$key])) {
+                            $data[$key] = $value;
+                        }
                     }
                 } else {
                     if ($isInPlace) {
                         $data = $this->refs[$isInPlace];
                     } else {
-                        $data[$key] = $this->parseValue($values['value'], $exceptionOnInvalidType, $objectSupport);
+                        $value = $this->parseValue($values['value'], $exceptionOnInvalidType, $objectSupport);;
+                        // Spec: Keys MUST be unique; first one wins.
+                        // Parser cannot abort this mapping earlier, since lines
+                        // are processed sequentially.
+                        if (!isset($data[$key])) {
+                            $data[$key] = $value;
+                        }
                     }
                 }
             } else {
@@ -261,7 +278,7 @@ class Parser
     /**
      * Returns the current line number (takes the offset into account).
      *
-     * @return integer The current line number
+     * @return int     The current line number
      */
     private function getRealCurrentLineNb()
     {
@@ -271,7 +288,7 @@ class Parser
     /**
      * Returns the current line indentation.
      *
-     * @return integer The current line indentation
+     * @return int     The current line indentation
      */
     private function getCurrentLineIndentation()
     {
@@ -281,7 +298,7 @@ class Parser
     /**
      * Returns the next embed block of YAML.
      *
-     * @param integer $indentation The indent level at which the block is to be read, or null for default
+     * @param int     $indentation The indent level at which the block is to be read, or null for default
      *
      * @return string A YAML string
      *
@@ -349,7 +366,7 @@ class Parser
     /**
      * Moves the parser to the next line.
      *
-     * @return Boolean
+     * @return bool
      */
     private function moveToNextLine()
     {
@@ -374,8 +391,8 @@ class Parser
      * Parses a YAML value.
      *
      * @param string  $value                  A YAML value
-     * @param Boolean $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
-     * @param Boolean $objectSupport          True if object support is enabled, false otherwise
+     * @param bool    $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
+     * @param bool    $objectSupport          True if object support is enabled, false otherwise
      *
      * @return mixed  A PHP value
      *
@@ -418,7 +435,7 @@ class Parser
      *
      * @param string  $separator   The separator that was used to begin this folded scalar (| or >)
      * @param string  $indicator   The indicator that was used to begin this folded scalar (+ or -)
-     * @param integer $indentation The indentation that was used to begin this folded scalar
+     * @param int     $indentation The indentation that was used to begin this folded scalar
      *
      * @return string  The text value
      */
@@ -497,7 +514,7 @@ class Parser
     /**
      * Returns true if the next line is indented.
      *
-     * @return Boolean Returns true if the next line is indented, false otherwise
+     * @return bool    Returns true if the next line is indented, false otherwise
      */
     private function isNextLineIndented()
     {
@@ -525,7 +542,7 @@ class Parser
     /**
      * Returns true if the current line is blank or if it is a comment line.
      *
-     * @return Boolean Returns true if the current line is empty or if it is a comment line, false otherwise
+     * @return bool    Returns true if the current line is empty or if it is a comment line, false otherwise
      */
     private function isCurrentLineEmpty()
     {
@@ -535,7 +552,7 @@ class Parser
     /**
      * Returns true if the current line is blank.
      *
-     * @return Boolean Returns true if the current line is blank, false otherwise
+     * @return bool    Returns true if the current line is blank, false otherwise
      */
     private function isCurrentLineBlank()
     {
@@ -545,7 +562,7 @@ class Parser
     /**
      * Returns true if the current line is a comment line.
      *
-     * @return Boolean Returns true if the current line is a comment line, false otherwise
+     * @return bool    Returns true if the current line is a comment line, false otherwise
      */
     private function isCurrentLineComment()
     {
@@ -596,7 +613,7 @@ class Parser
     /**
      * Returns true if the next line starts unindented collection
      *
-     * @return Boolean Returns true if the next line starts unindented collection, false otherwise
+     * @return bool    Returns true if the next line starts unindented collection, false otherwise
      */
     private function isNextLineUnIndentedCollection()
     {
@@ -628,7 +645,7 @@ class Parser
     /**
      * Returns true if the string is un-indented collection item
      *
-     * @return Boolean Returns true if the string is un-indented collection item, false otherwise
+     * @return bool    Returns true if the string is un-indented collection item, false otherwise
      */
     private function isStringUnIndentedCollectionItem()
     {
diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php
index 07e6222d7e0..a4db960729e 100644
--- a/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php
+++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php
@@ -33,12 +33,6 @@ class ParserTest extends \PHPUnit_Framework_TestCase
      */
     public function testSpecifications($file, $expected, $yaml, $comment)
     {
-        if ('escapedCharacters' == $file) {
-            if (!function_exists('iconv') && !function_exists('mb_convert_encoding')) {
-                $this->markTestSkipped('The iconv and mbstring extensions are not available.');
-            }
-        }
-
         $this->assertEquals($expected, var_export($this->parser->parse($yaml), true), $comment);
     }
 
@@ -446,8 +440,8 @@ EOF;
 
     public function testNonUtf8Exception()
     {
-        if (!function_exists('mb_detect_encoding') || !function_exists('iconv')) {
-            $this->markTestSkipped('Exceptions for non-utf8 charsets require the mb_detect_encoding() and iconv() functions.');
+        if (!function_exists('iconv')) {
+            $this->markTestSkipped('Exceptions for non-utf8 charsets require the iconv() function.');
 
             return;
         }
@@ -514,6 +508,53 @@ EOF
         );
     }
 
+    /**
+     * > It is an error for two equal keys to appear in the same mapping node.
+     * > In such a case the YAML processor may continue, ignoring the second
+     * > `key: value` pair and issuing an appropriate warning. This strategy
+     * > preserves a consistent information model for one-pass and random access
+     * > applications.
+     *
+     * @see http://yaml.org/spec/1.2/spec.html#id2759572
+     * @see http://yaml.org/spec/1.1/#id932806
+     *
+     * @covers \Symfony\Component\Yaml\Parser::parse
+     */
+    public function testMappingDuplicateKeyBlock()
+    {
+        $input = <<<EOD
+parent:
+    child: first
+    child: duplicate
+parent:
+    child: duplicate
+    child: duplicate
+EOD;
+        $expected = array(
+            'parent' => array(
+                'child' => 'first',
+            ),
+        );
+        $this->assertSame($expected, Yaml::parse($input));
+    }
+
+    /**
+     * @covers \Symfony\Component\Yaml\Inline::parseMapping
+     */
+    public function testMappingDuplicateKeyFlow()
+    {
+        $input = <<<EOD
+parent: { child: first, child: duplicate }
+parent: { child: duplicate, child: duplicate }
+EOD;
+        $expected = array(
+            'parent' => array(
+                'child' => 'first',
+            ),
+        );
+        $this->assertSame($expected, Yaml::parse($input));
+    }
+
     public function testEmptyValue()
     {
         $input = <<<EOF
diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php
index 1b8eeed57a9..b47d4a59285 100644
--- a/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php
+++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php
@@ -21,6 +21,7 @@ class Unescaper
 {
     // Parser and Inline assume UTF-8 encoding, so escaped Unicode characters
     // must be converted to that encoding.
+    // @deprecated since 2.5, to be removed in 3.0
     const ENCODING = 'UTF-8';
 
     // Regex fragment that matches an escaped character in a double quoted
@@ -80,13 +81,13 @@ class Unescaper
             case 'n':
                 return "\n";
             case 'v':
-                return "\xb";
+                return "\xB";
             case 'f':
-                return "\xc";
+                return "\xC";
             case 'r':
-                return "\xd";
+                return "\r";
             case 'e':
-                return "\x1b";
+                return "\x1B";
             case ' ':
                 return ' ';
             case '"':
@@ -97,50 +98,44 @@ class Unescaper
                 return '\\';
             case 'N':
                 // U+0085 NEXT LINE
-                return $this->convertEncoding("\x00\x85", self::ENCODING, 'UCS-2BE');
+                return "\xC2\x85";
             case '_':
                 // U+00A0 NO-BREAK SPACE
-                return $this->convertEncoding("\x00\xA0", self::ENCODING, 'UCS-2BE');
+                return "\xC2\xA0";
             case 'L':
                 // U+2028 LINE SEPARATOR
-                return $this->convertEncoding("\x20\x28", self::ENCODING, 'UCS-2BE');
+                return "\xE2\x80\xA8";
             case 'P':
                 // U+2029 PARAGRAPH SEPARATOR
-                return $this->convertEncoding("\x20\x29", self::ENCODING, 'UCS-2BE');
+                return "\xE2\x80\xA9";
             case 'x':
-                $char = pack('n', hexdec(substr($value, 2, 2)));
-
-                return $this->convertEncoding($char, self::ENCODING, 'UCS-2BE');
+                return self::utf8chr(hexdec(substr($value, 2, 2)));
             case 'u':
-                $char = pack('n', hexdec(substr($value, 2, 4)));
-
-                return $this->convertEncoding($char, self::ENCODING, 'UCS-2BE');
+                return self::utf8chr(hexdec(substr($value, 2, 4)));
             case 'U':
-                $char = pack('N', hexdec(substr($value, 2, 8)));
-
-                return $this->convertEncoding($char, self::ENCODING, 'UCS-4BE');
+                return self::utf8chr(hexdec(substr($value, 2, 8)));
         }
     }
 
     /**
-     * Convert a string from one encoding to another.
+     * Get the UTF-8 character for the given code point.
      *
-     * @param string $value The string to convert
-     * @param string $to    The input encoding
-     * @param string $from  The output encoding
+     * @param int $c The unicode code point
      *
-     * @return string The string with the new encoding
-     *
-     * @throws \RuntimeException if no suitable encoding function is found (iconv or mbstring)
+     * @return string The corresponding UTF-8 character
      */
-    private function convertEncoding($value, $to, $from)
+    private static function utf8chr($c)
     {
-        if (function_exists('mb_convert_encoding')) {
-            return mb_convert_encoding($value, $to, $from);
-        } elseif (function_exists('iconv')) {
-            return iconv($from, $to, $value);
+        if (0x80 > $c %= 0x200000) {
+            return chr($c);
+        }
+        if (0x800 > $c) {
+            return chr(0xC0 | $c>>6).chr(0x80 | $c & 0x3F);
+        }
+        if (0x10000 > $c) {
+            return chr(0xE0 | $c>>12).chr(0x80 | $c>>6 & 0x3F).chr(0x80 | $c & 0x3F);
         }
 
-        throw new \RuntimeException('No suitable convert encoding function (install the iconv or mbstring extension).');
+        return chr(0xF0 | $c>>18).chr(0x80 | $c>>12 & 0x3F).chr(0x80 | $c>>6 & 0x3F).chr(0x80 | $c & 0x3F);
     }
 }
diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php b/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php
index c98f6ecdd96..61793fb3ae4 100644
--- a/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php
+++ b/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php
@@ -39,8 +39,8 @@ class Yaml
      * as an input is a deprecated feature and will be removed in 3.0.
      *
      * @param string  $input                  Path to a YAML file or a string containing YAML
-     * @param Boolean $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
-     * @param Boolean $objectSupport          True if object support is enabled, false otherwise
+     * @param bool    $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
+     * @param bool    $objectSupport          True if object support is enabled, false otherwise
      *
      * @return array The YAML converted to a PHP array
      *
@@ -81,10 +81,10 @@ class Yaml
      * to convert the array into friendly YAML.
      *
      * @param array   $array                  PHP array
-     * @param integer $inline                 The level where you switch to inline YAML
-     * @param integer $indent                 The amount of spaces to use for indentation of nested nodes.
-     * @param Boolean $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
-     * @param Boolean $objectSupport          true if object support is enabled, false otherwise
+     * @param int     $inline                 The level where you switch to inline YAML
+     * @param int     $indent                 The amount of spaces to use for indentation of nested nodes.
+     * @param bool    $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
+     * @param bool    $objectSupport          true if object support is enabled, false otherwise
      *
      * @return string A YAML string representing the original PHP array
      *
diff --git a/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json b/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json
index 33c29853544..ceabb0c132e 100644
--- a/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json
+++ b/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json
@@ -25,7 +25,7 @@
     "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
-            "dev-master": "2.4-dev"
+            "dev-master": "2.5-dev"
         }
     }
 }
-- 
GitLab