diff --git a/core/composer.json b/core/composer.json
index 47ffad1..c3c9bc7 100644
--- a/core/composer.json
+++ b/core/composer.json
@@ -3,20 +3,20 @@
   "description": "Drupal is an open source content management platform powering millions of websites and applications.",
   "license": "GPL-2.0+",
   "require": {
-    "symfony/class-loader": "<2.4",
-    "symfony/dependency-injection": "<2.4",
-    "symfony/event-dispatcher": "<2.4",
-    "symfony/http-foundation": "<2.4",
-    "symfony/http-kernel": "<2.4",
-    "symfony/routing": "<2.4",
-    "symfony/serializer": "<2.4",
-    "symfony/yaml": "<2.4",
-    "twig/twig": "1.*@stable",
-    "doctrine/common": "2.3.*@stable",
-    "guzzle/http": "3.1.*@stable",
-    "kriswallsmith/assetic": "1.1.*@alpha",
+    "symfony/class-loader": "2.2.0-BETA1",
+    "symfony/dependency-injection": "2.2.0-BETA1",
+    "symfony/event-dispatcher": "2.2.0-BETA1",
+    "symfony/http-foundation": "2.2.0-BETA1",
+    "symfony/http-kernel": "2.2.0-BETA1",
+    "symfony/routing": "2.2.0-BETA1",
+    "symfony/serializer": "2.2.0-BETA1",
+    "symfony/yaml": "2.2.0-BETA1",
+    "twig/twig": "1.12.1",
+    "doctrine/common": "2.3.0",
+    "guzzle/http": "3.1.0",
+    "kriswallsmith/assetic": "1.1.0-alpha1",
     "symfony-cmf/routing": "dev-master#ea4a10",
-    "easyrdf/easyrdf": "dev-master"
+    "easyrdf/easyrdf": "0.8.0-beta.1"
   },
   "minimum-stability": "dev"
 }
diff --git a/core/composer.lock b/core/composer.lock
index 7d2a943..90349b2 100644
--- a/core/composer.lock
+++ b/core/composer.lock
@@ -1,5 +1,5 @@
 {
-    "hash": "4c18d6f1c91b78555300b0036b5a8a7e",
+    "hash": "68157b57815e7e9e42515f67f8266752",
     "packages": [
         {
             "name": "doctrine/common",
@@ -56,7 +56,7 @@
                 {
                     "name": "Johannes Schmitt",
                     "email": "schmittjoh@gmail.com",
-                    "homepage": "http://jmsyst.com",
+                    "homepage": "https://github.com/schmittjoh",
                     "role": "Developer of wrapped JMSSerializerBundle"
                 }
             ],
@@ -72,16 +72,16 @@
         },
         {
             "name": "easyrdf/easyrdf",
-            "version": "dev-master",
+            "version": "0.8.0-beta.1",
             "source": {
                 "type": "git",
                 "url": "git://github.com/njh/easyrdf.git",
-                "reference": "d1c363bd04cd55169fbefe52328e86031c6db3a2"
+                "reference": "0.8.0-beta.1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://github.com/njh/easyrdf/archive/d1c363bd04cd55169fbefe52328e86031c6db3a2.zip",
-                "reference": "d1c363bd04cd55169fbefe52328e86031c6db3a2",
+                "url": "https://github.com/njh/easyrdf/archive/0.8.0-beta.1.zip",
+                "reference": "0.8.0-beta.1",
                 "shasum": ""
             },
             "require": {
@@ -95,7 +95,7 @@
                 "squizlabs/php_codesniffer": ">=1.4.3",
                 "sami/sami": "dev-master"
             },
-            "time": "2013-01-13 01:20:04",
+            "time": "2013-01-18 15:54:28",
             "type": "library",
             "autoload": {
                 "psr-0": {
@@ -429,17 +429,17 @@
         },
         {
             "name": "symfony/class-loader",
-            "version": "dev-master",
+            "version": "v2.2.0-BETA1",
             "target-dir": "Symfony/Component/ClassLoader",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/ClassLoader",
-                "reference": "0730d0f8f99cfeafbc23271f1e87f54da15f1e06"
+                "reference": "v2.2.0-BETA1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://github.com/symfony/ClassLoader/archive/0730d0f8f99cfeafbc23271f1e87f54da15f1e06.zip",
-                "reference": "0730d0f8f99cfeafbc23271f1e87f54da15f1e06",
+                "url": "https://github.com/symfony/ClassLoader/archive/v2.2.0-BETA1.zip",
+                "reference": "v2.2.0-BETA1",
                 "shasum": ""
             },
             "require": {
@@ -479,17 +479,17 @@
         },
         {
             "name": "symfony/dependency-injection",
-            "version": "dev-master",
+            "version": "v2.2.0-BETA1",
             "target-dir": "Symfony/Component/DependencyInjection",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/DependencyInjection",
-                "reference": "13b47742e1ef22aed78132e5e0930d28571142a4"
+                "reference": "v2.2.0-BETA1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://github.com/symfony/DependencyInjection/archive/13b47742e1ef22aed78132e5e0930d28571142a4.zip",
-                "reference": "13b47742e1ef22aed78132e5e0930d28571142a4",
+                "url": "https://github.com/symfony/DependencyInjection/archive/v2.2.0-BETA1.zip",
+                "reference": "v2.2.0-BETA1",
                 "shasum": ""
             },
             "require": {
@@ -503,7 +503,7 @@
                 "symfony/yaml": "2.2.*",
                 "symfony/config": "2.2.*"
             },
-            "time": "2013-01-04 16:58:00",
+            "time": "2013-01-08 18:17:41",
             "type": "library",
             "extra": {
                 "branch-alias": {
@@ -534,17 +534,17 @@
         },
         {
             "name": "symfony/event-dispatcher",
-            "version": "dev-master",
+            "version": "v2.2.0-BETA1",
             "target-dir": "Symfony/Component/EventDispatcher",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/EventDispatcher",
-                "reference": "0fcc9fa82fa3ea7ec2605af2e8137698fbaca3dc"
+                "reference": "v2.2.0-BETA1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://github.com/symfony/EventDispatcher/archive/0fcc9fa82fa3ea7ec2605af2e8137698fbaca3dc.zip",
-                "reference": "0fcc9fa82fa3ea7ec2605af2e8137698fbaca3dc",
+                "url": "https://github.com/symfony/EventDispatcher/archive/v2.2.0-BETA1.zip",
+                "reference": "v2.2.0-BETA1",
                 "shasum": ""
             },
             "require": {
@@ -588,23 +588,23 @@
         },
         {
             "name": "symfony/http-foundation",
-            "version": "dev-master",
+            "version": "v2.2.0-BETA1",
             "target-dir": "Symfony/Component/HttpFoundation",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/HttpFoundation",
-                "reference": "5aa0119417f1fc8de7513d9432dd2f43f9d9e97b"
+                "reference": "v2.2.0-BETA1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://github.com/symfony/HttpFoundation/archive/5aa0119417f1fc8de7513d9432dd2f43f9d9e97b.zip",
-                "reference": "5aa0119417f1fc8de7513d9432dd2f43f9d9e97b",
+                "url": "https://github.com/symfony/HttpFoundation/archive/v2.2.0-BETA1.zip",
+                "reference": "v2.2.0-BETA1",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.3.3"
             },
-            "time": "2013-01-04 17:02:19",
+            "time": "2013-01-08 18:17:41",
             "type": "library",
             "extra": {
                 "branch-alias": {
@@ -638,17 +638,17 @@
         },
         {
             "name": "symfony/http-kernel",
-            "version": "dev-master",
+            "version": "v2.2.0-BETA1",
             "target-dir": "Symfony/Component/HttpKernel",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/HttpKernel",
-                "reference": "ce164c088666b80ffc116173065d504055414137"
+                "reference": "v2.2.0-BETA1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://github.com/symfony/HttpKernel/archive/ce164c088666b80ffc116173065d504055414137.zip",
-                "reference": "ce164c088666b80ffc116173065d504055414137",
+                "url": "https://github.com/symfony/HttpKernel/archive/v2.2.0-BETA1.zip",
+                "reference": "v2.2.0-BETA1",
                 "shasum": ""
             },
             "require": {
@@ -675,7 +675,7 @@
                 "symfony/dependency-injection": "2.2.*",
                 "symfony/finder": "2.2.*"
             },
-            "time": "2013-01-04 16:58:00",
+            "time": "2013-01-08 18:55:25",
             "type": "library",
             "extra": {
                 "branch-alias": {
@@ -711,18 +711,18 @@
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/Process",
-                "reference": "058ae5038a9623fa64b120a2d10ba81f1ade05c7"
+                "reference": "v2.1.7"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://github.com/symfony/Process/archive/058ae5038a9623fa64b120a2d10ba81f1ade05c7.zip",
-                "reference": "058ae5038a9623fa64b120a2d10ba81f1ade05c7",
+                "url": "https://github.com/symfony/Process/archive/v2.1.7.zip",
+                "reference": "v2.1.7",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.3.3"
             },
-            "time": "2012-12-06 10:00:55",
+            "time": "2013-01-16 09:27:54",
             "type": "library",
             "autoload": {
                 "psr-0": {
@@ -748,34 +748,34 @@
         },
         {
             "name": "symfony/routing",
-            "version": "dev-master",
+            "version": "v2.2.0-BETA1",
             "target-dir": "Symfony/Component/Routing",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/Routing",
-                "reference": "87a66890450658ccac99702ac5e4f002ece9e23e"
+                "reference": "v2.2.0-BETA1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://github.com/symfony/Routing/archive/87a66890450658ccac99702ac5e4f002ece9e23e.zip",
-                "reference": "87a66890450658ccac99702ac5e4f002ece9e23e",
+                "url": "https://github.com/symfony/Routing/archive/v2.2.0-BETA1.zip",
+                "reference": "v2.2.0-BETA1",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.3.3"
             },
             "require-dev": {
-                "doctrine/common": ">=2.2,<2.4-dev",
                 "symfony/config": "2.2.*",
                 "symfony/yaml": "2.2.*",
-                "symfony/http-kernel": "2.2.*"
+                "symfony/http-kernel": "2.2.*",
+                "doctrine/common": ">=2.2,<2.4-dev"
             },
             "suggest": {
-                "doctrine/common": ">=2.2,<2.4-dev",
                 "symfony/config": "2.2.*",
-                "symfony/yaml": "2.2.*"
+                "symfony/yaml": "2.2.*",
+                "doctrine/common": ">=2.2,<2.4-dev"
             },
-            "time": "2012-12-28 13:21:48",
+            "time": "2013-01-07 11:20:12",
             "type": "library",
             "extra": {
                 "branch-alias": {
@@ -806,23 +806,23 @@
         },
         {
             "name": "symfony/serializer",
-            "version": "dev-master",
+            "version": "v2.2.0-BETA1",
             "target-dir": "Symfony/Component/Serializer",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/Serializer",
-                "reference": "ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0"
+                "reference": "v2.2.0-BETA1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://github.com/symfony/Serializer/archive/ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0.zip",
-                "reference": "ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0",
+                "url": "https://github.com/symfony/Serializer/archive/v2.2.0-BETA1.zip",
+                "reference": "v2.2.0-BETA1",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.3.3"
             },
-            "time": "2012-12-19 07:09:49",
+            "time": "2013-01-04 16:58:00",
             "type": "library",
             "extra": {
                 "branch-alias": {
@@ -853,23 +853,23 @@
         },
         {
             "name": "symfony/yaml",
-            "version": "dev-master",
+            "version": "v2.2.0-BETA1",
             "target-dir": "Symfony/Component/Yaml",
             "source": {
                 "type": "git",
                 "url": "https://github.com/symfony/Yaml",
-                "reference": "365b4df7802b9bb93084d2cc9a51fe88b488f956"
+                "reference": "v2.2.0-BETA1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://github.com/symfony/Yaml/archive/365b4df7802b9bb93084d2cc9a51fe88b488f956.zip",
-                "reference": "365b4df7802b9bb93084d2cc9a51fe88b488f956",
+                "url": "https://github.com/symfony/Yaml/archive/v2.2.0-BETA1.zip",
+                "reference": "v2.2.0-BETA1",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.3.3"
             },
-            "time": "2012-12-19 07:09:49",
+            "time": "2013-01-05 17:52:40",
             "type": "library",
             "extra": {
                 "branch-alias": {
@@ -900,26 +900,26 @@
         },
         {
             "name": "twig/twig",
-            "version": "v1.11.1",
+            "version": "v1.12.1",
             "source": {
                 "type": "git",
                 "url": "git://github.com/fabpot/Twig.git",
-                "reference": "v1.11.1"
+                "reference": "v1.12.1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://github.com/fabpot/Twig/archive/v1.11.1.zip",
-                "reference": "v1.11.1",
+                "url": "https://github.com/fabpot/Twig/archive/v1.12.1.zip",
+                "reference": "v1.12.1",
                 "shasum": ""
             },
             "require": {
                 "php": ">=5.2.4"
             },
-            "time": "2012-11-11 17:17:59",
+            "time": "2013-01-15 20:03:52",
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.11-dev"
+                    "dev-master": "1.12-dev"
                 }
             },
             "autoload": {
@@ -954,11 +954,16 @@
     ],
     "minimum-stability": "dev",
     "stability-flags": {
-        "twig/twig": 0,
-        "doctrine/common": 0,
-        "guzzle/http": 0,
+        "symfony/class-loader": 10,
+        "symfony/dependency-injection": 10,
+        "symfony/event-dispatcher": 10,
+        "symfony/http-foundation": 10,
+        "symfony/http-kernel": 10,
+        "symfony/routing": 10,
+        "symfony/serializer": 10,
+        "symfony/yaml": 10,
         "kriswallsmith/assetic": 15,
         "symfony-cmf/routing": 20,
-        "easyrdf/easyrdf": 20
+        "easyrdf/easyrdf": 10
     }
 }
diff --git a/core/lib/Drupal/Core/Routing/RouteCompiler.php b/core/lib/Drupal/Core/Routing/RouteCompiler.php
index c71c5ca..a8e8c09 100644
--- a/core/lib/Drupal/Core/Routing/RouteCompiler.php
+++ b/core/lib/Drupal/Core/Routing/RouteCompiler.php
@@ -40,14 +40,14 @@ class RouteCompiler extends SymfonyRouteCompiler implements RouteCompilerInterfa
    * @return \Drupal\Core\Routing\CompiledRoute
    *   A CompiledRoute instance.
    */
-  public function compile(Route $route) {
+  public static function compile(Route $route) {
 
     $symfony_compiled = parent::compile($route);
 
     // The Drupal-specific compiled information.
-    $stripped_path = $this->getPathWithoutDefaults($route);
-    $fit = $this->getFit($stripped_path);
-    $pattern_outline = $this->getPatternOutline($stripped_path);
+    $stripped_path = static::getPathWithoutDefaults($route);
+    $fit = static::getFit($stripped_path);
+    $pattern_outline = static::getPatternOutline($stripped_path);
     $num_parts = count(explode('/', trim($pattern_outline, '/')));
 
     return new CompiledRoute(
@@ -79,7 +79,7 @@ public function compile(Route $route) {
    * @return string
    *   The path pattern outline.
    */
-  public function getPatternOutline($path) {
+  public static function getPatternOutline($path) {
     return preg_replace('#\{\w+\}#', '%', $path);
   }
 
@@ -92,7 +92,7 @@ public function getPatternOutline($path) {
    * @return int
    *   The fitness of the path, as an integer.
    */
-  public function getFit($path) {
+  public static function getFit($path) {
     $parts = explode('/', trim($path, '/'), static::MAX_PARTS);
     $number_parts = count($parts);
     // We store the highest index of parts here to save some work in the fit
@@ -124,7 +124,7 @@ public function getFit($path) {
    * @return string
    *   The path string, stripped of placeholders that have default values.
    */
-  protected function getPathWithoutDefaults(Route $route) {
+  protected static function getPathWithoutDefaults(Route $route) {
     $path = $route->getPattern();
     $defaults = $route->getDefaults();
 
diff --git a/core/vendor/.gitignore b/core/vendor/.gitignore
deleted file mode 100644
index 1475637..0000000
--- a/core/vendor/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-# SimpleTest breaks with the following files, so avoid adding them.
-symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php
-symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/php5.4/traits.php
-symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
diff --git a/core/vendor/README.txt b/core/vendor/README.txt
deleted file mode 100644
index 33a40f5..0000000
--- a/core/vendor/README.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-3rd party libraries provided by Drupal core should be placed in this directory.
-They should not be modified from their original form at any time. They should
-be changed only to keep up to date with upstream projects.
-
-Code in this directory MAY be licensed under a GPL-compatible non-GPL license.
-If so, it must be properly documented in COPYRIGHT.txt.
diff --git a/core/vendor/autoload.php b/core/vendor/autoload.php
index b7e5745..ee3f8d2 100644
--- a/core/vendor/autoload.php
+++ b/core/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer' . '/autoload_real.php';
 
-return ComposerAutoloaderInitdff5596d4902476e49b77f22ebf69e4a::getLoader();
+return ComposerAutoloaderInitd35a48d9ce2b4eb7193f70a4f1313205::getLoader();
diff --git a/core/vendor/composer/autoload_real.php b/core/vendor/composer/autoload_real.php
index 5784e03..11fbd67 100644
--- a/core/vendor/composer/autoload_real.php
+++ b/core/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php generated by Composer
 
-class ComposerAutoloaderInitdff5596d4902476e49b77f22ebf69e4a
+class ComposerAutoloaderInitd35a48d9ce2b4eb7193f70a4f1313205
 {
     private static $loader;
 
@@ -19,9 +19,9 @@ public static function getLoader()
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInitdff5596d4902476e49b77f22ebf69e4a', 'loadClassLoader'));
+        spl_autoload_register(array('ComposerAutoloaderInitd35a48d9ce2b4eb7193f70a4f1313205', 'loadClassLoader'));
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInitdff5596d4902476e49b77f22ebf69e4a', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInitd35a48d9ce2b4eb7193f70a4f1313205', 'loadClassLoader'));
 
         $vendorDir = dirname(__DIR__);
         $baseDir = dirname($vendorDir);
diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json
index e8e495c..a2d1169 100644
--- a/core/vendor/composer/installed.json
+++ b/core/vendor/composer/installed.json
@@ -1,5 +1,56 @@
 [
     {
+        "name": "twig/twig",
+        "version": "v1.12.1",
+        "version_normalized": "1.12.1.0",
+        "source": {
+            "type": "git",
+            "url": "git://github.com/fabpot/Twig.git",
+            "reference": "v1.12.1"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://github.com/fabpot/Twig/archive/v1.12.1.zip",
+            "reference": "v1.12.1",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.2.4"
+        },
+        "time": "2013-01-15 20:03:52",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.12-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Twig_": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Armin Ronacher",
+                "email": "armin.ronacher@active-4.com"
+            }
+        ],
+        "description": "Twig, the flexible, fast, and secure template language for PHP",
+        "homepage": "http://twig.sensiolabs.org",
+        "keywords": [
+            "templating"
+        ]
+    },
+    {
         "name": "doctrine/common",
         "version": "2.3.0",
         "version_normalized": "2.3.0.0",
@@ -56,7 +107,7 @@
             {
                 "name": "Johannes Schmitt",
                 "email": "schmittjoh@gmail.com",
-                "homepage": "http://jmsyst.com",
+                "homepage": "https://github.com/schmittjoh",
                 "role": "Developer of wrapped JMSSerializerBundle"
             }
         ],
@@ -71,57 +122,6 @@
         ]
     },
     {
-        "name": "twig/twig",
-        "version": "v1.11.1",
-        "version_normalized": "1.11.1.0",
-        "source": {
-            "type": "git",
-            "url": "git://github.com/fabpot/Twig.git",
-            "reference": "v1.11.1"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://github.com/fabpot/Twig/archive/v1.11.1.zip",
-            "reference": "v1.11.1",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.2.4"
-        },
-        "time": "2012-11-11 17:17:59",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.11-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Twig_": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Armin Ronacher",
-                "email": "armin.ronacher@active-4.com"
-            }
-        ],
-        "description": "Twig, the flexible, fast, and secure template language for PHP",
-        "homepage": "http://twig.sensiolabs.org",
-        "keywords": [
-            "templating"
-        ]
-    },
-    {
         "name": "symfony/process",
         "version": "2.1.x-dev",
         "version_normalized": "2.1.9999999.9999999-dev",
@@ -129,18 +129,18 @@
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/Process",
-            "reference": "058ae5038a9623fa64b120a2d10ba81f1ade05c7"
+            "reference": "v2.1.7"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/Process/archive/058ae5038a9623fa64b120a2d10ba81f1ade05c7.zip",
-            "reference": "058ae5038a9623fa64b120a2d10ba81f1ade05c7",
+            "url": "https://github.com/symfony/Process/archive/v2.1.7.zip",
+            "reference": "v2.1.7",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
-        "time": "2012-12-06 10:00:55",
+        "time": "2013-01-16 09:27:54",
         "type": "library",
         "installation-source": "source",
         "autoload": {
@@ -229,39 +229,39 @@
         ]
     },
     {
-        "name": "symfony/class-loader",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "target-dir": "Symfony/Component/ClassLoader",
+        "name": "symfony/http-foundation",
+        "version": "v2.2.0-BETA1",
+        "version_normalized": "2.2.0.0-beta1",
+        "target-dir": "Symfony/Component/HttpFoundation",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/ClassLoader",
-            "reference": "0730d0f8f99cfeafbc23271f1e87f54da15f1e06"
+            "url": "https://github.com/symfony/HttpFoundation",
+            "reference": "v2.2.0-BETA1"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/ClassLoader/archive/0730d0f8f99cfeafbc23271f1e87f54da15f1e06.zip",
-            "reference": "0730d0f8f99cfeafbc23271f1e87f54da15f1e06",
+            "url": "https://github.com/symfony/HttpFoundation/archive/v2.2.0-BETA1.zip",
+            "reference": "v2.2.0-BETA1",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
-        "require-dev": {
-            "symfony/finder": "2.2.*"
-        },
-        "time": "2013-01-04 16:58:00",
+        "time": "2013-01-08 18:17:41",
         "type": "library",
         "extra": {
             "branch-alias": {
                 "dev-master": "2.2-dev"
             }
         },
-        "installation-source": "source",
+        "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\ClassLoader\\": ""
-            }
+                "Symfony\\Component\\HttpFoundation\\": ""
+            },
+            "classmap": [
+                "Symfony/Component/HttpFoundation/Resources/stubs"
+            ]
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
@@ -277,47 +277,46 @@
                 "homepage": "http://symfony.com/contributors"
             }
         ],
-        "description": "Symfony ClassLoader Component",
+        "description": "Symfony HttpFoundation Component",
         "homepage": "http://symfony.com"
     },
     {
-        "name": "symfony/dependency-injection",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "target-dir": "Symfony/Component/DependencyInjection",
+        "name": "symfony/event-dispatcher",
+        "version": "v2.2.0-BETA1",
+        "version_normalized": "2.2.0.0-beta1",
+        "target-dir": "Symfony/Component/EventDispatcher",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/DependencyInjection",
-            "reference": "13b47742e1ef22aed78132e5e0930d28571142a4"
+            "url": "https://github.com/symfony/EventDispatcher",
+            "reference": "v2.2.0-BETA1"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/DependencyInjection/archive/13b47742e1ef22aed78132e5e0930d28571142a4.zip",
-            "reference": "13b47742e1ef22aed78132e5e0930d28571142a4",
+            "url": "https://github.com/symfony/EventDispatcher/archive/v2.2.0-BETA1.zip",
+            "reference": "v2.2.0-BETA1",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
         "require-dev": {
-            "symfony/yaml": "2.2.*",
-            "symfony/config": "2.2.*"
+            "symfony/dependency-injection": "2.2.*"
         },
         "suggest": {
-            "symfony/yaml": "2.2.*",
-            "symfony/config": "2.2.*"
+            "symfony/dependency-injection": "2.2.*",
+            "symfony/http-kernel": "2.2.*"
         },
-        "time": "2013-01-04 16:58:00",
+        "time": "2013-01-04 17:02:19",
         "type": "library",
         "extra": {
             "branch-alias": {
                 "dev-master": "2.2-dev"
             }
         },
-        "installation-source": "source",
+        "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\DependencyInjection\\": ""
+                "Symfony\\Component\\EventDispatcher\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -334,46 +333,60 @@
                 "homepage": "http://symfony.com/contributors"
             }
         ],
-        "description": "Symfony DependencyInjection Component",
+        "description": "Symfony EventDispatcher Component",
         "homepage": "http://symfony.com"
     },
     {
-        "name": "symfony/event-dispatcher",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "target-dir": "Symfony/Component/EventDispatcher",
+        "name": "symfony/http-kernel",
+        "version": "v2.2.0-BETA1",
+        "version_normalized": "2.2.0.0-beta1",
+        "target-dir": "Symfony/Component/HttpKernel",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/EventDispatcher",
-            "reference": "0fcc9fa82fa3ea7ec2605af2e8137698fbaca3dc"
+            "url": "https://github.com/symfony/HttpKernel",
+            "reference": "v2.2.0-BETA1"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/EventDispatcher/archive/0fcc9fa82fa3ea7ec2605af2e8137698fbaca3dc.zip",
-            "reference": "0fcc9fa82fa3ea7ec2605af2e8137698fbaca3dc",
+            "url": "https://github.com/symfony/HttpKernel/archive/v2.2.0-BETA1.zip",
+            "reference": "v2.2.0-BETA1",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
+            "php": ">=5.3.3",
+            "symfony/event-dispatcher": "2.2.*",
+            "symfony/http-foundation": "2.2.*"
         },
         "require-dev": {
-            "symfony/dependency-injection": "2.2.*"
+            "symfony/browser-kit": "2.2.*",
+            "symfony/class-loader": "2.2.*",
+            "symfony/config": "2.2.*",
+            "symfony/console": "2.2.*",
+            "symfony/dependency-injection": "2.2.*",
+            "symfony/finder": "2.2.*",
+            "symfony/process": "2.2.*",
+            "symfony/routing": "2.2.*",
+            "symfony/stopwatch": "2.2.*"
         },
         "suggest": {
+            "symfony/browser-kit": "2.2.*",
+            "symfony/class-loader": "2.2.*",
+            "symfony/config": "2.2.*",
+            "symfony/console": "2.2.*",
             "symfony/dependency-injection": "2.2.*",
-            "symfony/http-kernel": "2.2.*"
+            "symfony/finder": "2.2.*"
         },
-        "time": "2013-01-04 17:02:19",
+        "time": "2013-01-08 18:55:25",
         "type": "library",
         "extra": {
             "branch-alias": {
                 "dev-master": "2.2-dev"
             }
         },
-        "installation-source": "source",
+        "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\EventDispatcher\\": ""
+                "Symfony\\Component\\HttpKernel\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -390,43 +403,51 @@
                 "homepage": "http://symfony.com/contributors"
             }
         ],
-        "description": "Symfony EventDispatcher Component",
+        "description": "Symfony HttpKernel Component",
         "homepage": "http://symfony.com"
     },
     {
-        "name": "symfony/http-foundation",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "target-dir": "Symfony/Component/HttpFoundation",
+        "name": "symfony/routing",
+        "version": "v2.2.0-BETA1",
+        "version_normalized": "2.2.0.0-beta1",
+        "target-dir": "Symfony/Component/Routing",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/HttpFoundation",
-            "reference": "5aa0119417f1fc8de7513d9432dd2f43f9d9e97b"
+            "url": "https://github.com/symfony/Routing",
+            "reference": "v2.2.0-BETA1"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/HttpFoundation/archive/5aa0119417f1fc8de7513d9432dd2f43f9d9e97b.zip",
-            "reference": "5aa0119417f1fc8de7513d9432dd2f43f9d9e97b",
+            "url": "https://github.com/symfony/Routing/archive/v2.2.0-BETA1.zip",
+            "reference": "v2.2.0-BETA1",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
-        "time": "2013-01-04 17:02:19",
+        "require-dev": {
+            "symfony/config": "2.2.*",
+            "symfony/yaml": "2.2.*",
+            "symfony/http-kernel": "2.2.*",
+            "doctrine/common": ">=2.2,<2.4-dev"
+        },
+        "suggest": {
+            "symfony/config": "2.2.*",
+            "symfony/yaml": "2.2.*",
+            "doctrine/common": ">=2.2,<2.4-dev"
+        },
+        "time": "2013-01-07 11:20:12",
         "type": "library",
         "extra": {
             "branch-alias": {
                 "dev-master": "2.2-dev"
             }
         },
-        "installation-source": "source",
+        "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\HttpFoundation\\": ""
-            },
-            "classmap": [
-                "Symfony/Component/HttpFoundation/Resources/stubs"
-            ]
+                "Symfony\\Component\\Routing\\": ""
+            }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
@@ -442,47 +463,136 @@
                 "homepage": "http://symfony.com/contributors"
             }
         ],
-        "description": "Symfony HttpFoundation Component",
+        "description": "Symfony Routing Component",
         "homepage": "http://symfony.com"
     },
     {
-        "name": "symfony/http-kernel",
+        "name": "symfony-cmf/routing",
         "version": "dev-master",
         "version_normalized": "9999999-dev",
-        "target-dir": "Symfony/Component/HttpKernel",
+        "target-dir": "Symfony/Cmf/Component/Routing",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/HttpKernel",
-            "reference": "ce164c088666b80ffc116173065d504055414137"
+            "url": "https://github.com/symfony-cmf/Routing",
+            "reference": "ea4a10"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/HttpKernel/archive/ce164c088666b80ffc116173065d504055414137.zip",
-            "reference": "ce164c088666b80ffc116173065d504055414137",
+            "url": "https://github.com/symfony-cmf/Routing/archive/ea4a10dd971580a9a57a69397f165e25233ba667.zip",
+            "reference": "ea4a10",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3",
-            "symfony/event-dispatcher": "2.2.*",
-            "symfony/http-foundation": "2.2.*"
+            "php": ">=5.3.2",
+            "symfony/routing": ">=2.1,<2.3-dev",
+            "symfony/http-kernel": ">=2.1,<2.3-dev"
+        },
+        "time": "2013-01-21 20:33:16",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0-dev"
+            }
+        },
+        "installation-source": "source",
+        "autoload": {
+            "psr-0": {
+                "Symfony\\Cmf\\Component\\Routing": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Symfony CMF Community",
+                "homepage": "https://github.com/symfony-cmf/Routing/contributors"
+            }
+        ],
+        "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers",
+        "homepage": "http://cmf.symfony.com",
+        "keywords": [
+            "database",
+            "routing"
+        ]
+    },
+    {
+        "name": "easyrdf/easyrdf",
+        "version": "0.8.0-beta.1",
+        "version_normalized": "0.8.0.0-beta1",
+        "source": {
+            "type": "git",
+            "url": "git://github.com/njh/easyrdf.git",
+            "reference": "0.8.0-beta.1"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://github.com/njh/easyrdf/archive/0.8.0-beta.1.zip",
+            "reference": "0.8.0-beta.1",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.2.8"
+        },
+        "replace": {
+            "njh/easyrdf": "self.version"
         },
         "require-dev": {
-            "symfony/browser-kit": "2.2.*",
-            "symfony/class-loader": "2.2.*",
-            "symfony/config": "2.2.*",
-            "symfony/console": "2.2.*",
-            "symfony/dependency-injection": "2.2.*",
-            "symfony/finder": "2.2.*",
-            "symfony/process": "2.2.*",
-            "symfony/routing": "2.2.*",
-            "symfony/stopwatch": "2.2.*"
+            "phpunit/phpunit": ">=3.5.15",
+            "squizlabs/php_codesniffer": ">=1.4.3",
+            "sami/sami": "dev-master"
         },
-        "suggest": {
-            "symfony/browser-kit": "2.2.*",
-            "symfony/class-loader": "2.2.*",
-            "symfony/config": "2.2.*",
-            "symfony/console": "2.2.*",
-            "symfony/dependency-injection": "2.2.*",
+        "time": "2013-01-18 15:54:28",
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "EasyRdf_": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Nicholas Humfrey",
+                "email": "njh@aelius.com",
+                "homepage": "http://www.aelius.com/njh/",
+                "role": "Developer"
+            }
+        ],
+        "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.",
+        "homepage": "http://www.easyrdf.org/",
+        "keywords": [
+            "rdfa",
+            "RDF",
+            "Semantic Web",
+            "Turtle",
+            "Linked Data"
+        ]
+    },
+    {
+        "name": "symfony/class-loader",
+        "version": "v2.2.0-BETA1",
+        "version_normalized": "2.2.0.0-beta1",
+        "target-dir": "Symfony/Component/ClassLoader",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/ClassLoader",
+            "reference": "v2.2.0-BETA1"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://github.com/symfony/ClassLoader/archive/v2.2.0-BETA1.zip",
+            "reference": "v2.2.0-BETA1",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "require-dev": {
             "symfony/finder": "2.2.*"
         },
         "time": "2013-01-04 16:58:00",
@@ -492,10 +602,10 @@
                 "dev-master": "2.2-dev"
             }
         },
-        "installation-source": "source",
+        "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\HttpKernel\\": ""
+                "Symfony\\Component\\ClassLoader\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -512,50 +622,39 @@
                 "homepage": "http://symfony.com/contributors"
             }
         ],
-        "description": "Symfony HttpKernel Component",
+        "description": "Symfony ClassLoader Component",
         "homepage": "http://symfony.com"
     },
     {
-        "name": "symfony/routing",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "target-dir": "Symfony/Component/Routing",
+        "name": "symfony/yaml",
+        "version": "v2.2.0-BETA1",
+        "version_normalized": "2.2.0.0-beta1",
+        "target-dir": "Symfony/Component/Yaml",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/Routing",
-            "reference": "87a66890450658ccac99702ac5e4f002ece9e23e"
+            "url": "https://github.com/symfony/Yaml",
+            "reference": "v2.2.0-BETA1"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/Routing/archive/87a66890450658ccac99702ac5e4f002ece9e23e.zip",
-            "reference": "87a66890450658ccac99702ac5e4f002ece9e23e",
+            "url": "https://github.com/symfony/Yaml/archive/v2.2.0-BETA1.zip",
+            "reference": "v2.2.0-BETA1",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
-        "require-dev": {
-            "doctrine/common": ">=2.2,<2.4-dev",
-            "symfony/config": "2.2.*",
-            "symfony/yaml": "2.2.*",
-            "symfony/http-kernel": "2.2.*"
-        },
-        "suggest": {
-            "doctrine/common": ">=2.2,<2.4-dev",
-            "symfony/config": "2.2.*",
-            "symfony/yaml": "2.2.*"
-        },
-        "time": "2012-12-28 13:21:48",
+        "time": "2013-01-05 17:52:40",
         "type": "library",
         "extra": {
             "branch-alias": {
                 "dev-master": "2.2-dev"
             }
         },
-        "installation-source": "source",
+        "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\Routing\\": ""
+                "Symfony\\Component\\Yaml\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -572,36 +671,36 @@
                 "homepage": "http://symfony.com/contributors"
             }
         ],
-        "description": "Symfony Routing Component",
+        "description": "Symfony Yaml Component",
         "homepage": "http://symfony.com"
     },
     {
         "name": "symfony/serializer",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
+        "version": "v2.2.0-BETA1",
+        "version_normalized": "2.2.0.0-beta1",
         "target-dir": "Symfony/Component/Serializer",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/Serializer",
-            "reference": "ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0"
+            "reference": "v2.2.0-BETA1"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/Serializer/archive/ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0.zip",
-            "reference": "ef3d92815bdb07281ee8cbd73b3e3f9e41bdc1a0",
+            "url": "https://github.com/symfony/Serializer/archive/v2.2.0-BETA1.zip",
+            "reference": "v2.2.0-BETA1",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
-        "time": "2012-12-19 07:09:49",
+        "time": "2013-01-04 16:58:00",
         "type": "library",
         "extra": {
             "branch-alias": {
                 "dev-master": "2.2-dev"
             }
         },
-        "installation-source": "source",
+        "installation-source": "dist",
         "autoload": {
             "psr-0": {
                 "Symfony\\Component\\Serializer\\": ""
@@ -625,35 +724,43 @@
         "homepage": "http://symfony.com"
     },
     {
-        "name": "symfony/yaml",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "target-dir": "Symfony/Component/Yaml",
+        "name": "symfony/dependency-injection",
+        "version": "v2.2.0-BETA1",
+        "version_normalized": "2.2.0.0-beta1",
+        "target-dir": "Symfony/Component/DependencyInjection",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/Yaml",
-            "reference": "365b4df7802b9bb93084d2cc9a51fe88b488f956"
+            "url": "https://github.com/symfony/DependencyInjection",
+            "reference": "v2.2.0-BETA1"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/Yaml/archive/365b4df7802b9bb93084d2cc9a51fe88b488f956.zip",
-            "reference": "365b4df7802b9bb93084d2cc9a51fe88b488f956",
+            "url": "https://github.com/symfony/DependencyInjection/archive/v2.2.0-BETA1.zip",
+            "reference": "v2.2.0-BETA1",
             "shasum": ""
         },
         "require": {
             "php": ">=5.3.3"
         },
-        "time": "2012-12-19 07:09:49",
+        "require-dev": {
+            "symfony/yaml": "2.2.*",
+            "symfony/config": "2.2.*"
+        },
+        "suggest": {
+            "symfony/yaml": "2.2.*",
+            "symfony/config": "2.2.*"
+        },
+        "time": "2013-01-08 18:17:41",
         "type": "library",
         "extra": {
             "branch-alias": {
                 "dev-master": "2.2-dev"
             }
         },
-        "installation-source": "source",
+        "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\Yaml\\": ""
+                "Symfony\\Component\\DependencyInjection\\": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -670,7 +777,7 @@
                 "homepage": "http://symfony.com/contributors"
             }
         ],
-        "description": "Symfony Yaml Component",
+        "description": "Symfony DependencyInjection Component",
         "homepage": "http://symfony.com"
     },
     {
@@ -873,112 +980,5 @@
             "client",
             "Guzzle"
         ]
-    },
-    {
-        "name": "easyrdf/easyrdf",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "source": {
-            "type": "git",
-            "url": "git://github.com/njh/easyrdf.git",
-            "reference": "d1c363bd04cd55169fbefe52328e86031c6db3a2"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://github.com/njh/easyrdf/archive/d1c363bd04cd55169fbefe52328e86031c6db3a2.zip",
-            "reference": "d1c363bd04cd55169fbefe52328e86031c6db3a2",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.2.8"
-        },
-        "replace": {
-            "njh/easyrdf": "self.version"
-        },
-        "require-dev": {
-            "phpunit/phpunit": ">=3.5.15",
-            "squizlabs/php_codesniffer": ">=1.4.3",
-            "sami/sami": "dev-master"
-        },
-        "time": "2013-01-13 01:20:04",
-        "type": "library",
-        "installation-source": "source",
-        "autoload": {
-            "psr-0": {
-                "EasyRdf_": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Nicholas Humfrey",
-                "email": "njh@aelius.com",
-                "homepage": "http://www.aelius.com/njh/",
-                "role": "Developer"
-            }
-        ],
-        "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.",
-        "homepage": "http://www.easyrdf.org/",
-        "keywords": [
-            "rdfa",
-            "RDF",
-            "Semantic Web",
-            "Turtle",
-            "Linked Data"
-        ]
-    },
-    {
-        "name": "symfony-cmf/routing",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "target-dir": "Symfony/Cmf/Component/Routing",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony-cmf/Routing",
-            "reference": "ea4a10"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://github.com/symfony-cmf/Routing/archive/ea4a10dd971580a9a57a69397f165e25233ba667.zip",
-            "reference": "ea4a10",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.2",
-            "symfony/routing": ">=2.1,<2.3-dev",
-            "symfony/http-kernel": ">=2.1,<2.3-dev"
-        },
-        "time": "2013-01-21 20:33:16",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0-dev"
-            }
-        },
-        "installation-source": "source",
-        "autoload": {
-            "psr-0": {
-                "Symfony\\Cmf\\Component\\Routing": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Symfony CMF Community",
-                "homepage": "https://github.com/symfony-cmf/Routing/contributors"
-            }
-        ],
-        "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers",
-        "homepage": "http://cmf.symfony.com",
-        "keywords": [
-            "database",
-            "routing"
-        ]
     }
 ]
diff --git a/core/vendor/easyrdf/easyrdf/.gitignore b/core/vendor/easyrdf/easyrdf/.gitignore
deleted file mode 100644
index 83892d7..0000000
--- a/core/vendor/easyrdf/easyrdf/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-doap.rdf
-docs
-samicache
-lib/arc/
-reports
-*.tar.gz
-vendor
-composer.phar
-composer.lock
diff --git a/core/vendor/easyrdf/easyrdf/Makefile b/core/vendor/easyrdf/easyrdf/Makefile
deleted file mode 100644
index fe45368..0000000
--- a/core/vendor/easyrdf/easyrdf/Makefile
+++ /dev/null
@@ -1,136 +0,0 @@
-PACKAGE = easyrdf
-VERSION = $(shell php -r "print json_decode(file_get_contents('composer.json'))->version;")
-distdir = $(PACKAGE)-$(VERSION)
-PHP = $(shell which php)
-COMPOSER_FLAGS=--no-ansi --no-interaction
-PHPUNIT = vendor/bin/phpunit 
-PHPUNIT_FLAGS = -c config/phpunit.xml
-PHPCS = vendor/bin/phpcs
-PHPCS_FLAGS = --standard=./config/phpcs_ruleset.xml --encoding=utf8 --extensions=php
-SAMI = vendor/bin/sami.php
-
-EXAMPLE_FILES = examples/*.php
-SOURCE_FILES = lib/EasyRdf.php \
-               lib/EasyRdf/*.php \
-               lib/EasyRdf/*/*.php
-TEST_FILES = test/*/*Test.php \
-             test/*/*/*Test.php
-TEST_SUPPORT = Makefile test/cli_example_wrapper.php \
-               test/TestHelper.php \
-               test/EasyRdf/TestCase.php \
-               test/EasyRdf/Http/MockClient.php \
-               test/EasyRdf/Serialiser/NtriplesArray.php \
-               test/fixtures/*
-DOC_FILES = composer.json \
-            doap.rdf \
-            docs/api \
-            README.md \
-            LICENSE.md \
-            CHANGELOG.md
-
-DISTFILES = $(EXAMPLE_FILES) $(SOURCE_FILES) $(TEST_FILES) \
-            $(TEST_SUPPORT) $(DOC_FILES)
-
-.DEFAULT: help
-all: help
-
-# TARGET:test                Run all the PHPUnit tests
-.PHONY: test
-test: $(PHPUNIT)
-	mkdir -p reports
-	$(PHP) $(PHPUNIT) $(PHPUNIT_FLAGS)
-
-# TARGET:test-examples       Run PHPUnit tests for each of the examples
-.PHONY: test-examples
-test-examples: $(PHPUNIT)
-	mkdir -p reports
-	$(PHP) $(PHPUNIT) $(PHPUNIT_FLAGS) --testsuite "EasyRdf Examples"
-
-# TARGET:test-lib            Run PHPUnit tests for the library
-.PHONY: test-lib
-test-lib: $(PHPUNIT)
-	mkdir -p reports
-	$(PHP) $(PHPUNIT) $(PHPUNIT_FLAGS) --testsuite "EasyRdf Library"
-
-# TARGET:coverage            Run the library tests and generate a code coverage report
-.PHONY: coverage
-coverage: $(PHPUNIT)
-	mkdir -p reports/coverage
-	$(PHP) $(PHPUNIT) $(PHPUNIT_FLAGS) --coverage-html ./reports/coverage --testsuite "EasyRdf Library"
-
-# TARGET:apidocs             Generate HTML API documentation
-.PHONY: apidocs
-apidocs: $(SAMI)
-	$(PHP) $(SAMI) update config/sami.php -n -v --force
-
-docs/api: apidocs
-
-doap.rdf: doap.php composer.json
-	$(PHP) doap.php > doap.rdf
-
-# TARGET:cs                  Check the code style of the PHP source code
-.PHONY: cs
-cs: $(PHPCS)
-	$(PHPCS) $(PHPCS_FLAGS) lib test
-
-# TARGET:lint                Perform basic PHP syntax check on all files
-.PHONY: lint
-lint: $(EXAMPLE_FILES) $(SOURCE_FILES) $(TEST_FILES)
-	@for file in $^; do  \
-	  $(PHP) -l $$file || exit -1; \
-	done
-
-# TARGET:dist                Build tarball for distribution
-.PHONY: dist
-dist: $(distdir)
-	tar zcf $(distdir).tar.gz $(distdir)
-	rm -Rf $(distdir)
-	@echo "Created $(distdir).tar.gz"
-
-$(distdir): $(DISTFILES)
-	@for file in $^; do  \
-		dir=$(distdir)/`dirname "$$file"`; \
-		test -d "$$dir" || mkdir -p "$$dir" || exit -1; \
-		cp -Rfp "$$file" "$(distdir)/$$file" || exit -1; \
-	done
-
-# TARGET:clean               Delete any temporary and generated files
-.PHONY: clean
-clean:
-	-rm -Rf $(distdir) reports vendor
-	-rm -Rf docs/api samicache
-	-rm -f composer.phar composer.lock
-	-rm -f doap.rdf
-
-# TARGET:check-fixme         Scan for files containing the words TODO or FIXME
-.PHONY: check-fixme
-check-fixme:
-	@git grep -n -E 'FIXME|TODO' || echo "No FIXME or TODO lines found."
-
-# TARGET:help                You're looking at it!
-.PHONY: help
-help:
-	# Usage:
-	#   make <target> [OPTION=value]
-	#
-	# Targets:
-	@egrep "^# TARGET:" [Mm]akefile | sed 's/^# TARGET:/#   /'
-	#
-	# Options:
-	#   PHP                 Path to php
-
-
-
-# Composer rules
-composer.phar:
-	curl -s -z composer.phar -o composer.phar http://getcomposer.org/composer.phar
-
-composer-install: composer.phar
-	$(PHP) composer.phar $(COMPOSER_FLAGS) install --dev
-
-composer-update: clean composer.phar
-	$(PHP) composer.phar $(COMPOSER_FLAGS) update --dev
-
-vendor/bin/phpunit: composer-install
-vendor/bin/phpcs: composer-install
-vendor/bin/sami.php: composer-install
diff --git a/core/vendor/easyrdf/easyrdf/README.md b/core/vendor/easyrdf/easyrdf/README.md
index 3a71ccd..182b1a5 100644
--- a/core/vendor/easyrdf/easyrdf/README.md
+++ b/core/vendor/easyrdf/easyrdf/README.md
@@ -64,31 +64,6 @@ Features
 * Comes with a number of examples
 
 
-Property Paths
---------------
-
-EasyRdf supports querying the data in a graph using basic property paths.
-This is a small subset of the property paths described in [SPARQL 1.1 query language].
-
-
-You may use the caret character (^) to get an inverse property, for example:
-
-    $person = $homepage->get('^foaf:homepage');
-
-You can use the pipe character (|) to get alternate properties, for example:
-
-    $title = $document->get('dc:title|dc11:title');
-
-You can use a forward slash (/) to follow a property sequence, for example to get
-the names of all my friends:
-
-    $names = $me->all('foaf:knows/foaf:name');
-
-Finally, in order to use a full property URI, enclose it in angle brackets:
-
-    $name = $me->get('<http://xmlns.com/foaf/0.1/name>');
-
-
 More Examples
 -------------
 
diff --git a/core/vendor/easyrdf/easyrdf/composer.json b/core/vendor/easyrdf/easyrdf/composer.json
index 8ce254e..c93d98d 100644
--- a/core/vendor/easyrdf/easyrdf/composer.json
+++ b/core/vendor/easyrdf/easyrdf/composer.json
@@ -1,7 +1,7 @@
 {
     "name": "easyrdf/easyrdf",
     "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.",
-    "version": "0.8.0",
+    "version": "0.8.0-beta.1",
     "type": "library",
     "keywords": ["RDF", "Semantic Web", "Linked Data", "Turtle", "RDFa"],
     "homepage": "http://www.easyrdf.org/",
diff --git a/core/vendor/easyrdf/easyrdf/doap.php b/core/vendor/easyrdf/easyrdf/doap.php
index 60274ff..ff9f190 100644
--- a/core/vendor/easyrdf/easyrdf/doap.php
+++ b/core/vendor/easyrdf/easyrdf/doap.php
@@ -1,9 +1,8 @@
 <?php
-    set_include_path(get_include_path() . PATH_SEPARATOR . './lib/');
-    require_once "EasyRdf.php";
+    require_once "vendor/autoload.php";
 
     // Load some properties from the composer file
-    $composer = json_decode(file_get_contents('composer.json'));
+    $composer = json_decode(file_get_contents(__DIR__."/composer.json"));
 
     // Start building up a RDF graph
     $doap = new EasyRdf_Graph($composer->homepage.'doap.rdf');
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php
deleted file mode 100644
index 9a7acfd..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php
+++ /dev/null
@@ -1,192 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader\Tests;
-
-use Symfony\Component\ClassLoader\ApcUniversalClassLoader;
-
-class ApcUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!extension_loaded('apc')) {
-            $this->markTestSkipped('The apc extension is not available.');
-        }
-
-        if (!(ini_get('apc.enabled') && ini_get('apc.enable_cli'))) {
-            $this->markTestSkipped('The apc extension is available, but not enabled.');
-        } else {
-            apc_clear_cache('user');
-        }
-    }
-
-    protected function tearDown()
-    {
-        if (ini_get('apc.enabled') && ini_get('apc.enable_cli')) {
-            apc_clear_cache('user');
-        }
-    }
-
-    public function testConstructor()
-    {
-        $loader = new ApcUniversalClassLoader('test.prefix.');
-        $loader->registerNamespace('Apc\Namespaced', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-
-        $this->assertEquals($loader->findFile('\Apc\Namespaced\FooBar'), apc_fetch('test.prefix.\Apc\Namespaced\FooBar'), '__construct() takes a prefix as its first argument');
-    }
-
-   /**
-    * @dataProvider getLoadClassTests
-    */
-   public function testLoadClass($className, $testClassName, $message)
-   {
-       $loader = new ApcUniversalClassLoader('test.prefix.');
-       $loader->registerNamespace('Apc\Namespaced', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-       $loader->registerPrefix('Apc_Pearlike_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-       $loader->loadClass($testClassName);
-       $this->assertTrue(class_exists($className), $message);
-   }
-
-   public function getLoadClassTests()
-   {
-       return array(
-           array('\\Apc\\Namespaced\\Foo', '\\Apc\\Namespaced\\Foo',   '->loadClass() loads Apc\Namespaced\Foo class'),
-           array('Apc_Pearlike_Foo',    'Apc_Pearlike_Foo',      '->loadClass() loads Apc_Pearlike_Foo class'),
-           array('\\Apc\\Namespaced\\Bar', '\\Apc\\Namespaced\\Bar', '->loadClass() loads Apc\Namespaced\Bar class with a leading slash'),
-           array('Apc_Pearlike_Bar',    '\\Apc_Pearlike_Bar',    '->loadClass() loads Apc_Pearlike_Bar class with a leading slash'),
-       );
-   }
-
-   /**
-    * @dataProvider getLoadClassFromFallbackTests
-    */
-   public function testLoadClassFromFallback($className, $testClassName, $message)
-   {
-       $loader = new ApcUniversalClassLoader('test.prefix.fallback');
-       $loader->registerNamespace('Apc\Namespaced', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-       $loader->registerPrefix('Apc_Pearlike_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-       $loader->registerNamespaceFallbacks(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/fallback'));
-       $loader->registerPrefixFallbacks(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/fallback'));
-       $loader->loadClass($testClassName);
-       $this->assertTrue(class_exists($className), $message);
-   }
-
-   public function getLoadClassFromFallbackTests()
-   {
-       return array(
-           array('\\Apc\\Namespaced\\Baz',    '\\Apc\\Namespaced\\Baz',    '->loadClass() loads Apc\Namespaced\Baz class'),
-           array('Apc_Pearlike_Baz',       'Apc_Pearlike_Baz',       '->loadClass() loads Apc_Pearlike_Baz class'),
-           array('\\Apc\\Namespaced\\FooBar', '\\Apc\\Namespaced\\FooBar', '->loadClass() loads Apc\Namespaced\Baz class from fallback dir'),
-           array('Apc_Pearlike_FooBar',    'Apc_Pearlike_FooBar',    '->loadClass() loads Apc_Pearlike_Baz class from fallback dir'),
-       );
-   }
-
-   /**
-    * @dataProvider getLoadClassNamespaceCollisionTests
-    */
-   public function testLoadClassNamespaceCollision($namespaces, $className, $message)
-   {
-       $loader = new ApcUniversalClassLoader('test.prefix.collision.');
-       $loader->registerNamespaces($namespaces);
-
-       $loader->loadClass($className);
-
-       $this->assertTrue(class_exists($className), $message);
-   }
-
-   public function getLoadClassNamespaceCollisionTests()
-   {
-       return array(
-           array(
-               array(
-                   'Apc\\NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
-                   'Apc\\NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
-               ),
-               '\Apc\NamespaceCollision\A\Foo',
-               '->loadClass() loads NamespaceCollision\A\Foo from alpha.',
-           ),
-           array(
-               array(
-                   'Apc\\NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
-                   'Apc\\NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
-               ),
-               '\Apc\NamespaceCollision\A\Bar',
-               '->loadClass() loads NamespaceCollision\A\Bar from alpha.',
-           ),
-           array(
-               array(
-                   'Apc\\NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
-                   'Apc\\NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
-               ),
-               '\Apc\NamespaceCollision\A\B\Foo',
-               '->loadClass() loads NamespaceCollision\A\B\Foo from beta.',
-           ),
-           array(
-               array(
-                   'Apc\\NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta',
-                   'Apc\\NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha',
-               ),
-               '\Apc\NamespaceCollision\A\B\Bar',
-               '->loadClass() loads NamespaceCollision\A\B\Bar from beta.',
-           ),
-       );
-   }
-
-   /**
-    * @dataProvider getLoadClassPrefixCollisionTests
-    */
-   public function testLoadClassPrefixCollision($prefixes, $className, $message)
-   {
-       $loader = new ApcUniversalClassLoader('test.prefix.collision.');
-       $loader->registerPrefixes($prefixes);
-
-       $loader->loadClass($className);
-       $this->assertTrue(class_exists($className), $message);
-   }
-
-   public function getLoadClassPrefixCollisionTests()
-   {
-       return array(
-           array(
-               array(
-                   'ApcPrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
-                   'ApcPrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
-               ),
-               'ApcPrefixCollision_A_Foo',
-               '->loadClass() loads ApcPrefixCollision_A_Foo from alpha.',
-           ),
-           array(
-               array(
-                   'ApcPrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
-                   'ApcPrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
-               ),
-               'ApcPrefixCollision_A_Bar',
-               '->loadClass() loads ApcPrefixCollision_A_Bar from alpha.',
-           ),
-           array(
-               array(
-                   'ApcPrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
-                   'ApcPrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
-               ),
-               'ApcPrefixCollision_A_B_Foo',
-               '->loadClass() loads ApcPrefixCollision_A_B_Foo from beta.',
-           ),
-           array(
-               array(
-                   'ApcPrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/beta/Apc',
-                   'ApcPrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/Apc/alpha/Apc',
-               ),
-               'ApcPrefixCollision_A_B_Bar',
-               '->loadClass() loads ApcPrefixCollision_A_B_Bar from beta.',
-           ),
-       );
-   }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassCollectionLoaderTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassCollectionLoaderTest.php
deleted file mode 100644
index 95fafea..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassCollectionLoaderTest.php
+++ /dev/null
@@ -1,209 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader\Tests;
-
-use Symfony\Component\ClassLoader\ClassCollectionLoader;
-
-require_once __DIR__.'/Fixtures/ClassesWithParents/GInterface.php';
-require_once __DIR__.'/Fixtures/ClassesWithParents/CInterface.php';
-require_once __DIR__.'/Fixtures/ClassesWithParents/B.php';
-require_once __DIR__.'/Fixtures/ClassesWithParents/A.php';
-
-class ClassCollectionLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider getDifferentOrders
-     */
-    public function testClassReordering(array $classes)
-    {
-        $expected = array(
-            'ClassesWithParents\\GInterface',
-            'ClassesWithParents\\CInterface',
-            'ClassesWithParents\\B',
-            'ClassesWithParents\\A',
-        );
-
-        $r = new \ReflectionClass('Symfony\Component\ClassLoader\ClassCollectionLoader');
-        $m = $r->getMethod('getOrderedClasses');
-        $m->setAccessible(true);
-
-        $ordered = $m->invoke('Symfony\Component\ClassLoader\ClassCollectionLoader', $classes);
-
-        $this->assertEquals($expected, array_map(function ($class) { return $class->getName(); }, $ordered));
-    }
-
-    public function getDifferentOrders()
-    {
-        return array(
-            array(array(
-                'ClassesWithParents\\A',
-                'ClassesWithParents\\CInterface',
-                'ClassesWithParents\\GInterface',
-                'ClassesWithParents\\B',
-            )),
-            array(array(
-                'ClassesWithParents\\B',
-                'ClassesWithParents\\A',
-                'ClassesWithParents\\CInterface',
-            )),
-            array(array(
-                'ClassesWithParents\\CInterface',
-                'ClassesWithParents\\B',
-                'ClassesWithParents\\A',
-            )),
-            array(array(
-                'ClassesWithParents\\A',
-            )),
-        );
-    }
-
-    /**
-     * @dataProvider getDifferentOrdersForTraits
-     */
-    public function testClassWithTraitsReordering(array $classes)
-    {
-        if (version_compare(phpversion(), '5.4.0', '<')) {
-            $this->markTestSkipped('Requires PHP > 5.4.0.');
-
-            return;
-        }
-
-        require_once __DIR__.'/Fixtures/ClassesWithParents/ATrait.php';
-        require_once __DIR__.'/Fixtures/ClassesWithParents/BTrait.php';
-        require_once __DIR__.'/Fixtures/ClassesWithParents/CTrait.php';
-        require_once __DIR__.'/Fixtures/ClassesWithParents/D.php';
-        require_once __DIR__.'/Fixtures/ClassesWithParents/E.php';
-
-        $expected = array(
-            'ClassesWithParents\\GInterface',
-            'ClassesWithParents\\CInterface',
-            'ClassesWithParents\\CTrait',
-            'ClassesWithParents\\ATrait',
-            'ClassesWithParents\\BTrait',
-            'ClassesWithParents\\B',
-            'ClassesWithParents\\A',
-            'ClassesWithParents\\D',
-            'ClassesWithParents\\E',
-        );
-
-        $r = new \ReflectionClass('Symfony\Component\ClassLoader\ClassCollectionLoader');
-        $m = $r->getMethod('getOrderedClasses');
-        $m->setAccessible(true);
-
-        $ordered = $m->invoke('Symfony\Component\ClassLoader\ClassCollectionLoader', $classes);
-
-        $this->assertEquals($expected, array_map(function ($class) { return $class->getName(); }, $ordered));
-    }
-
-    public function getDifferentOrdersForTraits()
-    {
-        return array(
-            array(array(
-                'ClassesWithParents\\E',
-                'ClassesWithParents\\ATrait',
-            )),
-            array(array(
-                'ClassesWithParents\\E',
-            )),
-        );
-    }
-
-    /**
-     * @dataProvider getFixNamespaceDeclarationsData
-     */
-    public function testFixNamespaceDeclarations($source, $expected)
-    {
-        $this->assertEquals('<?php '.$expected, ClassCollectionLoader::fixNamespaceDeclarations('<?php '.$source));
-    }
-
-    /**
-     * @dataProvider getFixNamespaceDeclarationsData
-     */
-    public function testFixNamespaceDeclarationsWithoutTokenizer($source, $expected)
-    {
-        ClassCollectionLoader::enableTokenizer(false);
-        $this->assertEquals('<?php '.$expected, ClassCollectionLoader::fixNamespaceDeclarations('<?php '.$source));
-        ClassCollectionLoader::enableTokenizer(true);
-    }
-
-    public function getFixNamespaceDeclarationsData()
-    {
-        return array(
-            array("namespace;\nclass Foo {}\n", "namespace\n{\nclass Foo {}\n}\n"),
-            array("namespace Foo;\nclass Foo {}\n", "namespace Foo\n{\nclass Foo {}\n}\n"),
-            array("namespace   Bar ;\nclass Foo {}\n", "namespace   Bar\n{\nclass Foo {}\n}\n"),
-            array("namespace Foo\Bar;\nclass Foo {}\n", "namespace Foo\Bar\n{\nclass Foo {}\n}\n"),
-            array("namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n", "namespace Foo\Bar\Bar\n{\nclass Foo {}\n}\n"),
-            array("namespace\n{\nclass Foo {}\n}\n", "namespace\n{\nclass Foo {}\n}\n"),
-        );
-    }
-
-    /**
-     * @expectedException InvalidArgumentException
-     */
-    public function testUnableToLoadClassException()
-    {
-        if (is_file($file = sys_get_temp_dir().'/foo.php')) {
-            unlink($file);
-        }
-
-        ClassCollectionLoader::load(array('SomeNotExistingClass'), sys_get_temp_dir(), 'foo', false);
-    }
-
-    public function testCommentStripping()
-    {
-        if (is_file($file = sys_get_temp_dir().'/bar.php')) {
-            unlink($file);
-        }
-        spl_autoload_register($r = function ($class) {
-            require_once __DIR__.'/Fixtures/'.str_replace(array('\\', '_'), '/', $class).'.php';
-        });
-
-        ClassCollectionLoader::load(array('Namespaced\\WithComments', 'Pearlike_WithComments'), sys_get_temp_dir(), 'bar', false);
-
-        spl_autoload_unregister($r);
-
-        $this->assertEquals(<<<EOF
-<?php  
-
-
-
-namespace Namespaced
-{
-
-class WithComments
-{
-    
-    public static \$loaded = true;
-}
-}
- 
-namespace
-{
-
-
-
-
-class Pearlike_WithComments
-{
-    
-    public static \$loaded = true;
-}
-
-}
-
-EOF
-        , file_get_contents($file));
-
-        unlink($file);
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php
deleted file mode 100644
index cf50198..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php
+++ /dev/null
@@ -1,214 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader\Tests;
-
-use Symfony\Component\ClassLoader\ClassLoader;
-
-class ClassLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testGetPrefixes()
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Bar', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Bas', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $prefixes = $loader->getPrefixes();
-        $this->assertArrayHasKey('Foo', $prefixes);
-        $this->assertArrayNotHasKey('Foo1', $prefixes);
-        $this->assertArrayHasKey('Bar', $prefixes);
-        $this->assertArrayHasKey('Bas', $prefixes);
-    }
-
-    public function testGetFallbackDirs()
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix(null, __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix(null, __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $fallback_dirs = $loader->getFallbackDirs();
-        $this->assertCount(2, $fallback_dirs);
-    }
-
-    /**
-     * @dataProvider getLoadClassTests
-     */
-    public function testLoadClass($className, $testClassName, $message)
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix('Namespaced2\\', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Pearlike2_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->loadClass($testClassName);
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassTests()
-    {
-        return array(
-            array('\\Namespaced2\\Foo', 'Namespaced2\\Foo',   '->loadClass() loads Namespaced2\Foo class'),
-            array('\\Pearlike2_Foo',    'Pearlike2_Foo',      '->loadClass() loads Pearlike2_Foo class'),
-            array('\\Namespaced2\\Bar', '\\Namespaced2\\Bar', '->loadClass() loads Namespaced2\Bar class with a leading slash'),
-            array('\\Pearlike2_Bar',    '\\Pearlike2_Bar',    '->loadClass() loads Pearlike2_Bar class with a leading slash'),
-        );
-    }
-
-    /**
-     * @dataProvider getLoadNonexistentClassTests
-     */
-    public function testLoadNonexistentClass($className, $testClassName, $message)
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix('Namespaced2\\', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Pearlike2_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->loadClass($testClassName);
-        $this->assertFalse(class_exists($className), $message);
-    }
-
-    public function getLoadNonexistentClassTests()
-    {
-        return array(
-            array('\\Pearlike3_Bar', '\\Pearlike3_Bar', '->loadClass() loads non exising Pearlike3_Bar class with a leading slash'),
-        );
-    }
-
-    public function testAddPrefix()
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $prefixes = $loader->getPrefixes();
-        $this->assertArrayHasKey('Foo', $prefixes);
-        $this->assertCount(2, $prefixes['Foo']);
-    }
-
-    public function testUseIncludePath()
-    {
-        $loader = new ClassLoader();
-        $this->assertFalse($loader->getUseIncludePath());
-
-        $this->assertNull($loader->findFile('Foo'));
-
-        $includePath = get_include_path();
-
-        $loader->setUseIncludePath(true);
-        $this->assertTrue($loader->getUseIncludePath());
-
-        set_include_path(__DIR__.'/Fixtures/includepath' . PATH_SEPARATOR . $includePath);
-
-        $this->assertEquals(__DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'includepath'.DIRECTORY_SEPARATOR.'Foo.php', $loader->findFile('Foo'));
-
-        set_include_path($includePath);
-    }
-
-    /**
-     * @dataProvider getLoadClassFromFallbackTests
-     */
-    public function testLoadClassFromFallback($className, $testClassName, $message)
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefix('Namespaced2\\', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('Pearlike2_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->addPrefix('', array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/fallback'));
-        $loader->loadClass($testClassName);
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassFromFallbackTests()
-    {
-        return array(
-            array('\\Namespaced2\\Baz',    'Namespaced2\\Baz',    '->loadClass() loads Namespaced2\Baz class'),
-            array('\\Pearlike2_Baz',       'Pearlike2_Baz',       '->loadClass() loads Pearlike2_Baz class'),
-            array('\\Namespaced2\\FooBar', 'Namespaced2\\FooBar', '->loadClass() loads Namespaced2\Baz class from fallback dir'),
-            array('\\Pearlike2_FooBar',    'Pearlike2_FooBar',    '->loadClass() loads Pearlike2_Baz class from fallback dir'),
-        );
-    }
-
-    /**
-     * @dataProvider getLoadClassNamespaceCollisionTests
-     */
-    public function testLoadClassNamespaceCollision($namespaces, $className, $message)
-    {
-        $loader = new ClassLoader();
-        $loader->addPrefixes($namespaces);
-
-        $loader->loadClass($className);
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassNamespaceCollisionTests()
-    {
-        return array(
-            array(
-                array(
-                    'NamespaceCollision\\C' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'NamespaceCollision\\C\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'NamespaceCollision\C\Foo',
-                '->loadClass() loads NamespaceCollision\C\Foo from alpha.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\C\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'NamespaceCollision\\C' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'NamespaceCollision\C\Bar',
-                '->loadClass() loads NamespaceCollision\C\Bar from alpha.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\C' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'NamespaceCollision\\C\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'NamespaceCollision\C\B\Foo',
-                '->loadClass() loads NamespaceCollision\C\B\Foo from beta.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\C\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'NamespaceCollision\\C' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'NamespaceCollision\C\B\Bar',
-                '->loadClass() loads NamespaceCollision\C\B\Bar from beta.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_C_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'PrefixCollision_C_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'PrefixCollision_C_Foo',
-                '->loadClass() loads PrefixCollision_C_Foo from alpha.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_C_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'PrefixCollision_C_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'PrefixCollision_C_Bar',
-                '->loadClass() loads PrefixCollision_C_Bar from alpha.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_C_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'PrefixCollision_C_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'PrefixCollision_C_B_Foo',
-                '->loadClass() loads PrefixCollision_C_B_Foo from beta.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_C_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'PrefixCollision_C_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'PrefixCollision_C_B_Bar',
-                '->loadClass() loads PrefixCollision_C_B_Bar from beta.',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php
deleted file mode 100644
index c4ef810..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader\Tests;
-
-use Symfony\Component\ClassLoader\ClassMapGenerator;
-
-class ClassMapGeneratorTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var string $workspace
-     */
-    private $workspace = null;
-
-    public function prepare_workspace()
-    {
-        $this->workspace = rtrim(sys_get_temp_dir(), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.time().rand(0, 1000);
-        mkdir($this->workspace, 0777, true);
-        $this->workspace = realpath($this->workspace);
-    }
-
-    /**
-     * @param string $file
-     */
-    private function clean($file)
-    {
-        if (is_dir($file) && !is_link($file)) {
-            $dir = new \FilesystemIterator($file);
-            foreach ($dir as $childFile) {
-                $this->clean($childFile);
-            }
-
-            rmdir($file);
-        } else {
-            unlink($file);
-        }
-    }
-
-    /**
-     * @dataProvider getTestCreateMapTests
-     */
-    public function testDump($directory, $expected)
-    {
-        $this->prepare_workspace();
-
-        $file = $this->workspace.'/file';
-
-        $generator = new ClassMapGenerator();
-        $generator->dump($directory, $file);
-        $this->assertFileExists($file);
-
-        $this->clean($this->workspace);
-    }
-
-    /**
-     * @dataProvider getTestCreateMapTests
-     */
-    public function testCreateMap($directory, $expected)
-    {
-        $this->assertEqualsNormalized($expected, ClassMapGenerator::createMap($directory));
-    }
-
-    public function getTestCreateMapTests()
-    {
-        $data = array(
-            array(__DIR__.'/Fixtures/Namespaced', array(
-                'Namespaced\\Bar'          => realpath(__DIR__).'/Fixtures/Namespaced/Bar.php',
-                'Namespaced\\Foo'          => realpath(__DIR__).'/Fixtures/Namespaced/Foo.php',
-                'Namespaced\\Baz'          => realpath(__DIR__).'/Fixtures/Namespaced/Baz.php',
-                'Namespaced\\WithComments' => realpath(__DIR__).'/Fixtures/Namespaced/WithComments.php',
-                )
-            ),
-            array(__DIR__.'/Fixtures/beta/NamespaceCollision', array(
-                'NamespaceCollision\\A\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Bar.php',
-                'NamespaceCollision\\A\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Foo.php',
-                'NamespaceCollision\\C\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Bar.php',
-                'NamespaceCollision\\C\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Foo.php',
-            )),
-            array(__DIR__.'/Fixtures/Pearlike', array(
-                'Pearlike_Foo'          => realpath(__DIR__).'/Fixtures/Pearlike/Foo.php',
-                'Pearlike_Bar'          => realpath(__DIR__).'/Fixtures/Pearlike/Bar.php',
-                'Pearlike_Baz'          => realpath(__DIR__).'/Fixtures/Pearlike/Baz.php',
-                'Pearlike_WithComments' => realpath(__DIR__).'/Fixtures/Pearlike/WithComments.php',
-            )),
-            array(__DIR__.'/Fixtures/classmap', array(
-                'Foo\\Bar\\A'             => realpath(__DIR__).'/Fixtures/classmap/sameNsMultipleClasses.php',
-                'Foo\\Bar\\B'             => realpath(__DIR__).'/Fixtures/classmap/sameNsMultipleClasses.php',
-                'A'                       => realpath(__DIR__).'/Fixtures/classmap/multipleNs.php',
-                'Alpha\\A'                => realpath(__DIR__).'/Fixtures/classmap/multipleNs.php',
-                'Alpha\\B'                => realpath(__DIR__).'/Fixtures/classmap/multipleNs.php',
-                'Beta\\A'                 => realpath(__DIR__).'/Fixtures/classmap/multipleNs.php',
-                'Beta\\B'                 => realpath(__DIR__).'/Fixtures/classmap/multipleNs.php',
-                'ClassMap\\SomeInterface' => realpath(__DIR__).'/Fixtures/classmap/SomeInterface.php',
-                'ClassMap\\SomeParent'    => realpath(__DIR__).'/Fixtures/classmap/SomeParent.php',
-                'ClassMap\\SomeClass'     => realpath(__DIR__).'/Fixtures/classmap/SomeClass.php',
-            )),
-        );
-
-        if (version_compare(PHP_VERSION, '5.4', '>=')) {
-            $data[] = array(__DIR__.'/Fixtures/php5.4', array(
-                'TFoo' => __DIR__.'/Fixtures/php5.4/traits.php',
-                'CFoo' => __DIR__.'/Fixtures/php5.4/traits.php',
-                'Foo\\TBar' => __DIR__.'/Fixtures/php5.4/traits.php',
-                'Foo\\IBar' => __DIR__.'/Fixtures/php5.4/traits.php',
-                'Foo\\TFooBar' => __DIR__.'/Fixtures/php5.4/traits.php',
-                'Foo\\CBar' => __DIR__.'/Fixtures/php5.4/traits.php',
-            ));
-        }
-
-        return $data;
-    }
-
-    public function testCreateMapFinderSupport()
-    {
-        if (!class_exists('Symfony\\Component\\Finder\\Finder')) {
-            $this->markTestSkipped('Finder component is not available');
-        }
-
-        $finder = new \Symfony\Component\Finder\Finder();
-        $finder->files()->in(__DIR__ . '/Fixtures/beta/NamespaceCollision');
-
-        $this->assertEqualsNormalized(array(
-            'NamespaceCollision\\A\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Bar.php',
-            'NamespaceCollision\\A\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/A/B/Foo.php',
-            'NamespaceCollision\\C\\B\\Bar' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Bar.php',
-            'NamespaceCollision\\C\\B\\Foo' => realpath(__DIR__).'/Fixtures/beta/NamespaceCollision/C/B/Foo.php',
-        ), ClassMapGenerator::createMap($finder));
-    }
-
-    protected function assertEqualsNormalized($expected, $actual, $message = null)
-    {
-        foreach ($expected as $ns => $path) {
-            $expected[$ns] = strtr($path, '\\', '/');
-        }
-        foreach ($actual as $ns => $path) {
-            $actual[$ns] = strtr($path, '\\', '/');
-        }
-        $this->assertEquals($expected, $actual, $message);
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Bar.php
deleted file mode 100644
index 4259f14..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\Namespaced;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Baz.php
deleted file mode 100644
index 3ddb595..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Baz.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\Namespaced;
-
-class Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Foo.php
deleted file mode 100644
index cf0a4b7..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\Namespaced;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/FooBar.php
deleted file mode 100644
index bbbc815..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/FooBar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\Namespaced;
-
-class FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Bar.php
deleted file mode 100644
index e774cb9..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Apc_Pearlike_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Baz.php
deleted file mode 100644
index b284744..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Baz.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Apc_Pearlike_Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Foo.php
deleted file mode 100644
index 3cf8aa8..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Apc_Pearlike_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php
deleted file mode 100644
index 3df50fa..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class ApcPrefixCollision_A_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php
deleted file mode 100644
index 206c9f8..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class ApcPrefixCollision_A_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php
deleted file mode 100644
index 4a4f73e..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\NamespaceCollision\A;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php
deleted file mode 100644
index 184a1b1..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\NamespaceCollision\A;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php
deleted file mode 100644
index 3892f70..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class ApcPrefixCollision_A_B_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php
deleted file mode 100644
index 62e749f..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class ApcPrefixCollision_A_B_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php
deleted file mode 100644
index e406a69..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\NamespaceCollision\A\B;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php
deleted file mode 100644
index 450eeb5..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\NamespaceCollision\A\B;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php
deleted file mode 100644
index 96f2f76..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Apc_Pearlike_FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php
deleted file mode 100644
index bbbc815..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Apc\Namespaced;
-
-class FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php
deleted file mode 100644
index dff891d..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-class A extends B {}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/ATrait.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/ATrait.php
deleted file mode 100644
index b02d185..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/ATrait.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-trait ATrait
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php
deleted file mode 100644
index 196bf7a..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-class B implements CInterface {}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/BTrait.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/BTrait.php
deleted file mode 100644
index 7242a9f..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/BTrait.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-trait BTrait
-{
-    use ATrait;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CInterface.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CInterface.php
deleted file mode 100644
index 8eec389..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CInterface.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-interface CInterface extends GInterface
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CTrait.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CTrait.php
deleted file mode 100644
index 110c624..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CTrait.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-trait CTrait
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/D.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/D.php
deleted file mode 100644
index 28514d7..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/D.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-class D extends A
-{
-    use BTrait;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/E.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/E.php
deleted file mode 100644
index 6dc6035..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/E.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-class E extends D
-{
-    use CTrait;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/GInterface.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/GInterface.php
deleted file mode 100644
index 208a19d..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/GInterface.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-namespace ClassesWithParents;
-
-interface GInterface
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Bar.php
deleted file mode 100644
index 02b589d..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Namespaced;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Baz.php
deleted file mode 100644
index 0b0bbd0..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Baz.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Namespaced;
-
-class Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Foo.php
deleted file mode 100644
index df5e1f4..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Namespaced;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/WithComments.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/WithComments.php
deleted file mode 100644
index 6973653..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/WithComments.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Namespaced;
-
-class WithComments
-{
-    /** @Boolean */
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Bar.php
deleted file mode 100644
index 7bf42ab..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Bar.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace Namespaced2;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Baz.php
deleted file mode 100644
index fed3e01..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Baz.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace Namespaced2;
-
-class Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Foo.php
deleted file mode 100644
index 5d7452a..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Foo.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace Namespaced2;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Bar.php
deleted file mode 100644
index 6366169..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Baz.php
deleted file mode 100644
index 3aa8367..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Baz.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike_Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Foo.php
deleted file mode 100644
index c51b156..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/WithComments.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/WithComments.php
deleted file mode 100644
index d0fd206..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/WithComments.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Pearlike_WithComments
-{
-    /** @Boolean */
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Bar.php
deleted file mode 100644
index 7f5f797..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike2_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Baz.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Baz.php
deleted file mode 100644
index 8317a0e..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Baz.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike2_Baz
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Foo.php
deleted file mode 100644
index 0f62ca4..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike2_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php
deleted file mode 100644
index b8d1a13..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace NamespaceCollision\A;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php
deleted file mode 100644
index aee6a08..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace NamespaceCollision\A;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php
deleted file mode 100644
index c1b8dd6..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace NamespaceCollision\C;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php
deleted file mode 100644
index 1fffbba..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace NamespaceCollision\C;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php
deleted file mode 100644
index 676daad..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_A_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php
deleted file mode 100644
index 44388be..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_A_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php
deleted file mode 100644
index 0bbc368..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_C_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php
deleted file mode 100644
index 73f4ac4..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_C_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php
deleted file mode 100644
index 9f09155..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace NamespaceCollision\A\B;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php
deleted file mode 100644
index f5f2d72..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace NamespaceCollision\A\B;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php
deleted file mode 100644
index 4bb03dc..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace NamespaceCollision\C\B;
-
-class Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php
deleted file mode 100644
index 195d888..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace NamespaceCollision\C\B;
-
-class Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php
deleted file mode 100644
index f2682e4..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_A_B_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php
deleted file mode 100644
index af7ca70..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_A_B_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php
deleted file mode 100644
index f313438..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_C_B_Bar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php
deleted file mode 100644
index a9bf820..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class PrefixCollision_C_B_Foo
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php
deleted file mode 100644
index 26fabbd..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace ClassMap;
-
-class SomeClass extends SomeParent implements SomeInterface
-{
-
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php
deleted file mode 100644
index 09d7a8f..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace ClassMap;
-
-interface SomeInterface
-{
-
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php
deleted file mode 100644
index 5a859a9..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace ClassMap;
-
-abstract class SomeParent
-{
-
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php
deleted file mode 100644
index d19e07f..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-namespace {
-    class A {}
-}
-
-namespace Alpha {
-    class A {}
-    class B {}
-}
-
-namespace Beta {
-    class A {}
-    class B {}
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notAClass.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notAClass.php
deleted file mode 100644
index 49eb3ff..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notAClass.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-$a = new stdClass();
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notPhpFile.md b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notPhpFile.md
deleted file mode 100644
index 6e48e5a..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notPhpFile.md
+++ /dev/null
@@ -1 +0,0 @@
-This file should be skipped.
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php
deleted file mode 100644
index d5ef5e5..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Foo\Bar;
-
-class A {}
-class B {}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced/FooBar.php
deleted file mode 100644
index 0fd29ef..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced/FooBar.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Namespaced;
-
-class FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced2/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced2/FooBar.php
deleted file mode 100644
index 1036d43..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced2/FooBar.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-namespace Namespaced2;
-
-class FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike/FooBar.php
deleted file mode 100644
index 3ebe526..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike/FooBar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike_FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike2/FooBar.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike2/FooBar.php
deleted file mode 100644
index 9bf0007..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike2/FooBar.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-class Pearlike2_FooBar
-{
-    public static $loaded = true;
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/includepath/Foo.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/includepath/Foo.php
deleted file mode 100644
index a8f0bc7..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/includepath/Foo.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-class Foo
-{
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php
deleted file mode 100644
index 308700b..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php
+++ /dev/null
@@ -1,222 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\ClassLoader\Tests;
-
-use Symfony\Component\ClassLoader\UniversalClassLoader;
-
-class UniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider getLoadClassTests
-     */
-    public function testLoadClass($className, $testClassName, $message)
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerNamespace('Namespaced', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerPrefix('Pearlike_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $this->assertTrue($loader->loadClass($testClassName));
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassTests()
-    {
-        return array(
-            array('\\Namespaced\\Foo', 'Namespaced\\Foo',   '->loadClass() loads Namespaced\Foo class'),
-            array('\\Pearlike_Foo',    'Pearlike_Foo',      '->loadClass() loads Pearlike_Foo class'),
-            array('\\Namespaced\\Bar', '\\Namespaced\\Bar', '->loadClass() loads Namespaced\Bar class with a leading slash'),
-            array('\\Pearlike_Bar',    '\\Pearlike_Bar',    '->loadClass() loads Pearlike_Bar class with a leading slash'),
-        );
-    }
-
-    public function testUseIncludePath()
-    {
-        $loader = new UniversalClassLoader();
-        $this->assertFalse($loader->getUseIncludePath());
-
-        $this->assertNull($loader->findFile('Foo'));
-
-        $includePath = get_include_path();
-
-        $loader->useIncludePath(true);
-        $this->assertTrue($loader->getUseIncludePath());
-
-        set_include_path(__DIR__.'/Fixtures/includepath' . PATH_SEPARATOR . $includePath);
-
-        $this->assertEquals(__DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'includepath'.DIRECTORY_SEPARATOR.'Foo.php', $loader->findFile('Foo'));
-
-        set_include_path($includePath);
-    }
-
-    public function testGetNamespaces()
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerNamespace('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerNamespace('Bar', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerNamespace('Bas', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $namespaces = $loader->getNamespaces();
-        $this->assertArrayHasKey('Foo', $namespaces);
-        $this->assertArrayNotHasKey('Foo1', $namespaces);
-        $this->assertArrayHasKey('Bar', $namespaces);
-        $this->assertArrayHasKey('Bas', $namespaces);
-    }
-
-    public function testGetPrefixes()
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerPrefix('Bar', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerPrefix('Bas', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $prefixes = $loader->getPrefixes();
-        $this->assertArrayHasKey('Foo', $prefixes);
-        $this->assertArrayNotHasKey('Foo1', $prefixes);
-        $this->assertArrayHasKey('Bar', $prefixes);
-        $this->assertArrayHasKey('Bas', $prefixes);
-    }
-
-    /**
-     * @dataProvider getLoadClassFromFallbackTests
-     */
-    public function testLoadClassFromFallback($className, $testClassName, $message)
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerNamespace('Namespaced', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerPrefix('Pearlike_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
-        $loader->registerNamespaceFallbacks(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/fallback'));
-        $loader->registerPrefixFallbacks(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/fallback'));
-        $this->assertTrue($loader->loadClass($testClassName));
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassFromFallbackTests()
-    {
-        return array(
-            array('\\Namespaced\\Baz',    'Namespaced\\Baz',    '->loadClass() loads Namespaced\Baz class'),
-            array('\\Pearlike_Baz',       'Pearlike_Baz',       '->loadClass() loads Pearlike_Baz class'),
-            array('\\Namespaced\\FooBar', 'Namespaced\\FooBar', '->loadClass() loads Namespaced\Baz class from fallback dir'),
-            array('\\Pearlike_FooBar',    'Pearlike_FooBar',    '->loadClass() loads Pearlike_Baz class from fallback dir'),
-        );
-    }
-
-    public function testRegisterPrefixFallback()
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerPrefixFallback(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/fallback');
-        $this->assertEquals(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/fallback'), $loader->getPrefixFallbacks());
-    }
-
-    public function testRegisterNamespaceFallback()
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerNamespaceFallback(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/Namespaced/fallback');
-        $this->assertEquals(array(__DIR__.DIRECTORY_SEPARATOR.'Fixtures/Namespaced/fallback'), $loader->getNamespaceFallbacks());
-    }
-
-    /**
-     * @dataProvider getLoadClassNamespaceCollisionTests
-     */
-    public function testLoadClassNamespaceCollision($namespaces, $className, $message)
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerNamespaces($namespaces);
-
-        $this->assertTrue($loader->loadClass($className));
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassNamespaceCollisionTests()
-    {
-        return array(
-            array(
-                array(
-                    'NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'NamespaceCollision\A\Foo',
-                '->loadClass() loads NamespaceCollision\A\Foo from alpha.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'NamespaceCollision\A\Bar',
-                '->loadClass() loads NamespaceCollision\A\Bar from alpha.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'NamespaceCollision\A\B\Foo',
-                '->loadClass() loads NamespaceCollision\A\B\Foo from beta.',
-            ),
-            array(
-                array(
-                    'NamespaceCollision\\A\\B' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'NamespaceCollision\\A' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'NamespaceCollision\A\B\Bar',
-                '->loadClass() loads NamespaceCollision\A\B\Bar from beta.',
-            ),
-        );
-    }
-
-    /**
-     * @dataProvider getLoadClassPrefixCollisionTests
-     */
-    public function testLoadClassPrefixCollision($prefixes, $className, $message)
-    {
-        $loader = new UniversalClassLoader();
-        $loader->registerPrefixes($prefixes);
-
-        $this->assertTrue($loader->loadClass($className));
-        $this->assertTrue(class_exists($className), $message);
-    }
-
-    public function getLoadClassPrefixCollisionTests()
-    {
-        return array(
-            array(
-                array(
-                    'PrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'PrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'PrefixCollision_A_Foo',
-                '->loadClass() loads PrefixCollision_A_Foo from alpha.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'PrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'PrefixCollision_A_Bar',
-                '->loadClass() loads PrefixCollision_A_Bar from alpha.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                    'PrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                ),
-                'PrefixCollision_A_B_Foo',
-                '->loadClass() loads PrefixCollision_A_B_Foo from beta.',
-            ),
-            array(
-                array(
-                    'PrefixCollision_A_B_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/beta',
-                    'PrefixCollision_A_' => __DIR__.DIRECTORY_SEPARATOR.'Fixtures/alpha',
-                ),
-                'PrefixCollision_A_B_Bar',
-                '->loadClass() loads PrefixCollision_A_B_Bar from beta.',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/phpunit.xml.dist b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/phpunit.xml.dist
deleted file mode 100644
index 0d29c11..0000000
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/phpunit.xml.dist
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         colors="true"
-         convertErrorsToExceptions="true"
-         convertNoticesToExceptions="true"
-         convertWarningsToExceptions="true"
-         processIsolation="false"
-         stopOnFailure="false"
-         syntaxCheck="false"
-         bootstrap="vendor/autoload.php"
->
-    <testsuites>
-        <testsuite name="Symfony ClassLoader Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Resources</directory>
-                <directory>./Tests</directory>
-                <directory>./vendor</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php
index c69d078..6fad9a2 100644
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php
+++ b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php
@@ -89,7 +89,7 @@ private function processArguments(array $arguments, $inMethodCall = false)
 
                 // resolve invalid behavior
                 if ($exists && ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE !== $invalidBehavior) {
-                    $arguments[$k] = new Reference($id);
+                    $arguments[$k] = new Reference($id, ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $argument->isStrict());
                 } elseif (!$exists && ContainerInterface::NULL_ON_INVALID_REFERENCE === $invalidBehavior) {
                     $arguments[$k] = null;
                 } elseif (!$exists && ContainerInterface::IGNORE_ON_INVALID_REFERENCE === $invalidBehavior) {
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
index eb099d2..22aabf2 100644
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
+++ b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
@@ -203,7 +203,7 @@ private function addServiceInlinedDefinitions($id, $definition)
                 $nbOccurrences->offsetSet($definition, 1);
             } else {
                 $i = $nbOccurrences->offsetGet($definition);
-                $nbOccurrences->offsetSet($definition, $i+1);
+                $nbOccurrences->offsetSet($definition, $i + 1);
             }
         }
 
@@ -214,7 +214,7 @@ private function addServiceInlinedDefinitions($id, $definition)
             $processed->offsetSet($sDefinition);
 
             $class = $this->dumpValue($sDefinition->getClass());
-            if ($nbOccurrences->offsetGet($sDefinition) > 1 || count($sDefinition->getMethodCalls()) > 0 || $sDefinition->getProperties() || null !== $sDefinition->getConfigurator() || false !== strpos($class, '$')) {
+            if ($nbOccurrences->offsetGet($sDefinition) > 1 || $sDefinition->getMethodCalls() || $sDefinition->getProperties() || null !== $sDefinition->getConfigurator() || false !== strpos($class, '$')) {
                 $name = $this->getNextVariableName();
                 $variableMap->offsetSet($sDefinition, new Variable($name));
 
@@ -229,26 +229,9 @@ private function addServiceInlinedDefinitions($id, $definition)
                     throw new ServiceCircularReferenceException($id, array($id));
                 }
 
-                $arguments = array();
-                foreach ($sDefinition->getArguments() as $argument) {
-                    $arguments[] = $this->dumpValue($argument);
-                }
-
-                if (null !== $sDefinition->getFactoryMethod()) {
-                    if (null !== $sDefinition->getFactoryClass()) {
-                        $code .= sprintf("        \$%s = call_user_func(array(%s, '%s')%s);\n", $name, $this->dumpValue($sDefinition->getFactoryClass()), $sDefinition->getFactoryMethod(), count($arguments) > 0 ? ', '.implode(', ', $arguments) : '');
-                    } elseif (null !== $sDefinition->getFactoryService()) {
-                        $code .= sprintf("        \$%s = %s->%s(%s);\n", $name, $this->getServiceCall($sDefinition->getFactoryService()), $sDefinition->getFactoryMethod(), implode(', ', $arguments));
-                    } else {
-                        throw new RuntimeException('Factory service or factory class must be defined in service definition for '.$id);
-                    }
-                } elseif (false !== strpos($class, '$')) {
-                    $code .= sprintf("        \$class = %s;\n        \$%s = new \$class(%s);\n", $class, $name, implode(', ', $arguments));
-                } else {
-                    $code .= sprintf("        \$%s = new \\%s(%s);\n", $name, substr(str_replace('\\\\', '\\', $class), 1, -1), implode(', ', $arguments));
-                }
+                $code .= $this->addNewInstance($id, $sDefinition, '$'.$name, ' = ');
 
-                if (!$this->hasReference($id, $sDefinition->getMethodCalls()) && !$this->hasReference($id, $sDefinition->getProperties())) {
+                if (!$this->hasReference($id, $sDefinition->getMethodCalls(), true) && !$this->hasReference($id, $sDefinition->getProperties(), true)) {
                     $code .= $this->addServiceMethodCalls(null, $sDefinition, $name);
                     $code .= $this->addServiceProperties(null, $sDefinition, $name);
                     $code .= $this->addServiceConfigurator(null, $sDefinition, $name);
@@ -297,11 +280,6 @@ private function addServiceInstance($id, $definition)
             throw new InvalidArgumentException(sprintf('"%s" is not a valid class name for the "%s" service.', $class, $id));
         }
 
-        $arguments = array();
-        foreach ($definition->getArguments() as $value) {
-            $arguments[] = $this->dumpValue($value);
-        }
-
         $simple = $this->isSimpleInstance($id, $definition);
 
         $instantiation = '';
@@ -320,19 +298,7 @@ private function addServiceInstance($id, $definition)
             $instantiation .= ' = ';
         }
 
-        if (null !== $definition->getFactoryMethod()) {
-            if (null !== $definition->getFactoryClass()) {
-                $code = sprintf("        $return{$instantiation}call_user_func(array(%s, '%s')%s);\n", $this->dumpValue($definition->getFactoryClass()), $definition->getFactoryMethod(), $arguments ? ', '.implode(', ', $arguments) : '');
-            } elseif (null !== $definition->getFactoryService()) {
-                $code = sprintf("        $return{$instantiation}%s->%s(%s);\n", $this->getServiceCall($definition->getFactoryService()), $definition->getFactoryMethod(), implode(', ', $arguments));
-            } else {
-                throw new RuntimeException('Factory method requires a factory service or factory class in service definition for '.$id);
-            }
-        } elseif (false !== strpos($class, '$')) {
-            $code = sprintf("        \$class = %s;\n\n        $return{$instantiation}new \$class(%s);\n", $class, implode(', ', $arguments));
-        } else {
-            $code = sprintf("        $return{$instantiation}new \\%s(%s);\n", substr(str_replace('\\\\', '\\', $class), 1, -1), implode(', ', $arguments));
-        }
+        $code = $this->addNewInstance($id, $definition, $return, $instantiation);
 
         if (!$simple) {
             $code .= "\n";
@@ -417,16 +383,14 @@ private function addServiceInlinedDefinitionsSetup($id, $definition)
             }
             $processed->offsetSet($iDefinition);
 
-            if (!$this->hasReference($id, $iDefinition->getMethodCalls())) {
+            if (!$this->hasReference($id, $iDefinition->getMethodCalls(), true) && !$this->hasReference($id, $iDefinition->getProperties(), true)) {
                 continue;
             }
 
-            if ($iDefinition->getMethodCalls()) {
-                $code .= $this->addServiceMethodCalls(null, $iDefinition, (string) $this->definitionVariables->offsetGet($iDefinition));
-            }
-            if ($iDefinition->getConfigurator()) {
-                $code .= $this->addServiceConfigurator(null, $iDefinition, (string) $this->definitionVariables->offsetGet($iDefinition));
-            }
+            $name = (string) $this->definitionVariables->offsetGet($iDefinition);
+            $code .= $this->addServiceMethodCalls(null, $iDefinition, $name);
+            $code .= $this->addServiceProperties(null, $iDefinition, $name);
+            $code .= $this->addServiceConfigurator(null, $iDefinition, $name);
         }
 
         if ('' !== $code) {
@@ -613,6 +577,34 @@ private function addServices()
         return $publicServices.$aliasServices.$privateServices;
     }
 
+    private function addNewInstance($id, Definition $definition, $return, $instantiation)
+    {
+        $class = $this->dumpValue($definition->getClass());
+
+        $arguments = array();
+        foreach ($definition->getArguments() as $value) {
+            $arguments[] = $this->dumpValue($value);
+        }
+
+        if (null !== $definition->getFactoryMethod()) {
+            if (null !== $definition->getFactoryClass()) {
+                return sprintf("        $return{$instantiation}call_user_func(array(%s, '%s')%s);\n", $this->dumpValue($definition->getFactoryClass()), $definition->getFactoryMethod(), $arguments ? ', '.implode(', ', $arguments) : '');
+            }
+
+            if (null !== $definition->getFactoryService()) {
+                return sprintf("        $return{$instantiation}%s->%s(%s);\n", $this->getServiceCall($definition->getFactoryService()), $definition->getFactoryMethod(), implode(', ', $arguments));
+            }
+
+            throw new RuntimeException('Factory method requires a factory service or factory class in service definition for '.$id);
+        }
+
+        if (false !== strpos($class, '$')) {
+            return sprintf("        \$class = %s;\n\n        $return{$instantiation}new \$class(%s);\n", $class, implode(', ', $arguments));
+        }
+
+        return sprintf("        $return{$instantiation}new \\%s(%s);\n", substr(str_replace('\\\\', '\\', $class), 1, -1), implode(', ', $arguments));
+    }
+
     /**
      * Adds the class headers.
      *
@@ -965,17 +957,26 @@ private function getDefinitionsFromArguments(array $arguments)
      *
      * @return Boolean
      */
-    private function hasReference($id, array $arguments)
+    private function hasReference($id, array $arguments, $deep = false)
     {
         foreach ($arguments as $argument) {
             if (is_array($argument)) {
-                if ($this->hasReference($id, $argument)) {
+                if ($this->hasReference($id, $argument, $deep)) {
                     return true;
                 }
             } elseif ($argument instanceof Reference) {
                 if ($id === (string) $argument) {
                     return true;
                 }
+
+                if ($deep) {
+                    $service = $this->container->getDefinition((string) $argument);
+                    $arguments = array_merge($service->getMethodCalls(), $service->getArguments(), $service->getProperties());
+
+                    if ($this->hasReference($id, $arguments, $deep)) {
+                        return true;
+                    }
+                }
             }
         }
 
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
deleted file mode 100644
index c99659e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Compiler\Compiler;
-use Symfony\Component\DependencyInjection\Compiler\AnalyzeServiceReferencesPass;
-use Symfony\Component\DependencyInjection\Compiler\RepeatedPass;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class AnalyzeServiceReferencesPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-
-        $a = $container
-            ->register('a')
-            ->addArgument($ref1 = new Reference('b'))
-        ;
-
-        $b = $container
-            ->register('b')
-            ->addMethodCall('setA', array($ref2 = new Reference('a')))
-        ;
-
-        $c = $container
-            ->register('c')
-            ->addArgument($ref3 = new Reference('a'))
-            ->addArgument($ref4 = new Reference('b'))
-        ;
-
-        $d = $container
-            ->register('d')
-            ->setProperty('foo', $ref5 = new Reference('b'))
-        ;
-
-        $e = $container
-            ->register('e')
-            ->setConfigurator(array($ref6 = new Reference('b'), 'methodName'))
-        ;
-
-        $graph = $this->process($container);
-
-        $this->assertCount(4, $edges = $graph->getNode('b')->getInEdges());
-
-        $this->assertSame($ref1, $edges[0]->getValue());
-        $this->assertSame($ref4, $edges[1]->getValue());
-        $this->assertSame($ref5, $edges[2]->getValue());
-        $this->assertSame($ref6, $edges[3]->getValue());
-    }
-
-    public function testProcessDetectsReferencesFromInlinedDefinitions()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('a')
-        ;
-
-        $container
-            ->register('b')
-            ->addArgument(new Definition(null, array($ref = new Reference('a'))))
-        ;
-
-        $graph = $this->process($container);
-
-        $this->assertCount(1, $refs = $graph->getNode('a')->getInEdges());
-        $this->assertSame($ref, $refs[0]->getValue());
-    }
-
-    public function testProcessDoesNotSaveDuplicateReferences()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('a')
-        ;
-        $container
-            ->register('b')
-            ->addArgument(new Definition(null, array($ref1 = new Reference('a'))))
-            ->addArgument(new Definition(null, array($ref2 = new Reference('a'))))
-        ;
-
-        $graph = $this->process($container);
-
-        $this->assertCount(2, $graph->getNode('a')->getInEdges());
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new RepeatedPass(array(new AnalyzeServiceReferencesPass()));
-        $pass->process($container);
-
-        return $container->getCompiler()->getServiceReferenceGraph();
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php
deleted file mode 100644
index 25f816b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Reference;
-
-use Symfony\Component\DependencyInjection\Compiler\CheckCircularReferencesPass;
-
-use Symfony\Component\DependencyInjection\Compiler\AnalyzeServiceReferencesPass;
-
-use Symfony\Component\DependencyInjection\Compiler\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class CheckCircularReferencesPassTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->register('b')->addArgument(new Reference('a'));
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessWithAliases()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->setAlias('b', 'c');
-        $container->setAlias('c', 'a');
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessDetectsIndirectCircularReference()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->register('b')->addArgument(new Reference('c'));
-        $container->register('c')->addArgument(new Reference('a'));
-
-        $this->process($container);
-    }
-
-    public function testProcessIgnoresMethodCalls()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->register('b')->addMethodCall('setA', array(new Reference('a')));
-
-        $this->process($container);
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $compiler = new Compiler();
-        $passConfig = $compiler->getPassConfig();
-        $passConfig->setOptimizationPasses(array(
-            new AnalyzeServiceReferencesPass(true),
-            new CheckCircularReferencesPass(),
-        ));
-        $passConfig->setRemovingPasses(array());
-
-        $compiler->compile($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckDefinitionValidityPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckDefinitionValidityPassTest.php
deleted file mode 100644
index 06845a2..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckDefinitionValidityPassTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Compiler\CheckDefinitionValidityPass;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class CheckDefinitionValidityPassTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessDetectsSyntheticNonPublicDefinitions()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->setSynthetic(true)->setPublic(false);
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessDetectsSyntheticPrototypeDefinitions()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->setSynthetic(true)->setScope(ContainerInterface::SCOPE_PROTOTYPE);
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessDetectsNonSyntheticNonAbstractDefinitionWithoutClass()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->setSynthetic(false)->setAbstract(false);
-
-        $this->process($container);
-    }
-
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a', 'class');
-        $container->register('b', 'class')->setSynthetic(true)->setPublic(true);
-        $container->register('c', 'class')->setAbstract(true);
-        $container->register('d', 'class')->setSynthetic(true);
-
-        $this->process($container);
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new CheckDefinitionValidityPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php
deleted file mode 100644
index cbf9934..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Definition;
-
-use Symfony\Component\DependencyInjection\Compiler\CheckExceptionOnInvalidReferenceBehaviorPass;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class CheckExceptionOnInvalidReferenceBehaviorPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('a', '\stdClass')
-            ->addArgument(new Reference('b'))
-        ;
-        $container->register('b', '\stdClass');
-    }
-
-    /**
-     * @expectedException Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
-     */
-    public function testProcessThrowsExceptionOnInvalidReference()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('a', '\stdClass')
-            ->addArgument(new Reference('b'))
-        ;
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
-     */
-    public function testProcessThrowsExceptionOnInvalidReferenceFromInlinedDefinition()
-    {
-        $container = new ContainerBuilder();
-
-        $def = new Definition();
-        $def->addArgument(new Reference('b'));
-
-        $container
-            ->register('a', '\stdClass')
-            ->addArgument($def)
-        ;
-
-        $this->process($container);
-    }
-
-    private function process(ContainerBuilder $container)
-    {
-        $pass = new CheckExceptionOnInvalidReferenceBehaviorPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckReferenceValidityPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckReferenceValidityPassTest.php
deleted file mode 100644
index ee18e5c..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckReferenceValidityPassTest.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Scope;
-
-use Symfony\Component\DependencyInjection\Compiler\CheckReferenceValidityPass;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class CheckReferenceValidityPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcessIgnoresScopeWideningIfNonStrictReference()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false));
-        $container->register('b')->setScope('prototype');
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessDetectsScopeWidening()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->register('b')->setScope('prototype');
-
-        $this->process($container);
-    }
-
-    public function testProcessIgnoresCrossScopeHierarchyReferenceIfNotStrict()
-    {
-        $container = new ContainerBuilder();
-        $container->addScope(new Scope('a'));
-        $container->addScope(new Scope('b'));
-
-        $container->register('a')->setScope('a')->addArgument(new Reference('b', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false));
-        $container->register('b')->setScope('b');
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessDetectsCrossScopeHierarchyReference()
-    {
-        $container = new ContainerBuilder();
-        $container->addScope(new Scope('a'));
-        $container->addScope(new Scope('b'));
-
-        $container->register('a')->setScope('a')->addArgument(new Reference('b'));
-        $container->register('b')->setScope('b');
-
-        $this->process($container);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testProcessDetectsReferenceToAbstractDefinition()
-    {
-        $container = new ContainerBuilder();
-
-        $container->register('a')->setAbstract(true);
-        $container->register('b')->addArgument(new Reference('a'));
-
-        $this->process($container);
-    }
-
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container->register('a')->addArgument(new Reference('b'));
-        $container->register('b');
-
-        $this->process($container);
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new CheckReferenceValidityPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php
deleted file mode 100644
index f22f0da..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php
+++ /dev/null
@@ -1,134 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Scope;
-
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Compiler\AnalyzeServiceReferencesPass;
-use Symfony\Component\DependencyInjection\Compiler\Compiler;
-use Symfony\Component\DependencyInjection\Compiler\RepeatedPass;
-use Symfony\Component\DependencyInjection\Compiler\InlineServiceDefinitionsPass;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class InlineServiceDefinitionsPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('inlinable.service')
-            ->setPublic(false)
-        ;
-
-        $container
-            ->register('service')
-            ->setArguments(array(new Reference('inlinable.service')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $container->getDefinition('service')->getArguments();
-        $this->assertInstanceOf('Symfony\Component\DependencyInjection\Definition', $arguments[0]);
-        $this->assertSame($container->getDefinition('inlinable.service'), $arguments[0]);
-    }
-
-    public function testProcessDoesNotInlineWhenAliasedServiceIsNotOfPrototypeScope()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setPublic(false)
-        ;
-        $container->setAlias('moo', 'foo');
-
-        $container
-            ->register('service')
-            ->setArguments(array($ref = new Reference('foo')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $container->getDefinition('service')->getArguments();
-        $this->assertSame($ref, $arguments[0]);
-    }
-
-    public function testProcessDoesInlineServiceOfPrototypeScope()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setScope('prototype')
-        ;
-        $container
-            ->register('bar')
-            ->setPublic(false)
-            ->setScope('prototype')
-        ;
-        $container->setAlias('moo', 'bar');
-
-        $container
-            ->register('service')
-            ->setArguments(array(new Reference('foo'), $ref = new Reference('moo'), new Reference('bar')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $container->getDefinition('service')->getArguments();
-        $this->assertEquals($container->getDefinition('foo'), $arguments[0]);
-        $this->assertNotSame($container->getDefinition('foo'), $arguments[0]);
-        $this->assertSame($ref, $arguments[1]);
-        $this->assertEquals($container->getDefinition('bar'), $arguments[2]);
-        $this->assertNotSame($container->getDefinition('bar'), $arguments[2]);
-    }
-
-    public function testProcessInlinesIfMultipleReferencesButAllFromTheSameDefinition()
-    {
-        $container = new ContainerBuilder();
-
-        $a = $container->register('a')->setPublic(false);
-        $b = $container
-            ->register('b')
-            ->addArgument(new Reference('a'))
-            ->addArgument(new Definition(null, array(new Reference('a'))))
-        ;
-
-        $this->process($container);
-
-        $arguments = $b->getArguments();
-        $this->assertSame($a, $arguments[0]);
-
-        $inlinedArguments = $arguments[1]->getArguments();
-        $this->assertSame($a, $inlinedArguments[0]);
-    }
-
-    public function testProcessInlinesOnlyIfSameScope()
-    {
-        $container = new ContainerBuilder();
-
-        $container->addScope(new Scope('foo'));
-        $a = $container->register('a')->setPublic(false)->setScope('foo');
-        $b = $container->register('b')->addArgument(new Reference('a'));
-
-        $this->process($container);
-        $arguments = $b->getArguments();
-        $this->assertEquals(new Reference('a'), $arguments[0]);
-        $this->assertTrue($container->hasDefinition('a'));
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $repeatedPass = new RepeatedPass(array(new AnalyzeServiceReferencesPass(), new InlineServiceDefinitionsPass()));
-        $repeatedPass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php
deleted file mode 100644
index 1d4ea07..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Alias;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-/**
- * This class tests the integration of the different compiler passes
- */
-class IntegrationTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * This tests that the following dependencies are correctly processed:
-     *
-     * A is public, B/C are private
-     * A -> C
-     * B -> C
-     */
-    public function testProcessRemovesAndInlinesRecursively()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-
-        $a = $container
-            ->register('a', '\stdClass')
-            ->addArgument(new Reference('c'))
-        ;
-
-        $b = $container
-            ->register('b', '\stdClass')
-            ->addArgument(new Reference('c'))
-            ->setPublic(false)
-        ;
-
-        $c = $container
-            ->register('c', '\stdClass')
-            ->setPublic(false)
-        ;
-
-        $container->compile();
-
-        $this->assertTrue($container->hasDefinition('a'));
-        $arguments = $a->getArguments();
-        $this->assertSame($c, $arguments[0]);
-        $this->assertFalse($container->hasDefinition('b'));
-        $this->assertFalse($container->hasDefinition('c'));
-    }
-
-    public function testProcessInlinesReferencesToAliases()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-
-        $a = $container
-            ->register('a', '\stdClass')
-            ->addArgument(new Reference('b'))
-        ;
-
-        $container->setAlias('b', new Alias('c', false));
-
-        $c = $container
-            ->register('c', '\stdClass')
-            ->setPublic(false)
-        ;
-
-        $container->compile();
-
-        $this->assertTrue($container->hasDefinition('a'));
-        $arguments = $a->getArguments();
-        $this->assertSame($c, $arguments[0]);
-        $this->assertFalse($container->hasAlias('b'));
-        $this->assertFalse($container->hasDefinition('c'));
-    }
-
-    public function testProcessInlinesWhenThereAreMultipleReferencesButFromTheSameDefinition()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-
-        $container
-            ->register('a', '\stdClass')
-            ->addArgument(new Reference('b'))
-            ->addMethodCall('setC', array(new Reference('c')))
-        ;
-
-        $container
-            ->register('b', '\stdClass')
-            ->addArgument(new Reference('c'))
-            ->setPublic(false)
-        ;
-
-        $container
-            ->register('c', '\stdClass')
-            ->setPublic(false)
-        ;
-
-        $container->compile();
-
-        $this->assertTrue($container->hasDefinition('a'));
-        $this->assertFalse($container->hasDefinition('b'));
-        $this->assertFalse($container->hasDefinition('c'), 'Service C was not inlined.');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php
deleted file mode 100644
index d7e5521..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Compiler\AnalyzeServiceReferencesPass;
-use Symfony\Component\DependencyInjection\Compiler\Compiler;
-use Symfony\Component\DependencyInjection\Compiler\RepeatedPass;
-use Symfony\Component\DependencyInjection\Compiler\RemoveUnusedDefinitionsPass;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class RemoveUnusedDefinitionsPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setPublic(false)
-        ;
-        $container
-            ->register('bar')
-            ->setPublic(false)
-        ;
-        $container
-            ->register('moo')
-            ->setArguments(array(new Reference('bar')))
-        ;
-
-        $this->process($container);
-
-        $this->assertFalse($container->hasDefinition('foo'));
-        $this->assertTrue($container->hasDefinition('bar'));
-        $this->assertTrue($container->hasDefinition('moo'));
-    }
-
-    public function testProcessRemovesUnusedDefinitionsRecursively()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setPublic(false)
-        ;
-        $container
-            ->register('bar')
-            ->setArguments(array(new Reference('foo')))
-            ->setPublic(false)
-        ;
-
-        $this->process($container);
-
-        $this->assertFalse($container->hasDefinition('foo'));
-        $this->assertFalse($container->hasDefinition('bar'));
-    }
-
-    public function testProcessWorksWithInlinedDefinitions()
-    {
-        $container = new ContainerBuilder();
-        $container
-            ->register('foo')
-            ->setPublic(false)
-        ;
-        $container
-            ->register('bar')
-            ->setArguments(array(new Definition(null, array(new Reference('foo')))))
-        ;
-
-        $this->process($container);
-
-        $this->assertTrue($container->hasDefinition('foo'));
-        $this->assertTrue($container->hasDefinition('bar'));
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $repeatedPass = new RepeatedPass(array(new AnalyzeServiceReferencesPass(), new RemoveUnusedDefinitionsPass()));
-        $repeatedPass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php
deleted file mode 100644
index a445a20..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Compiler\ReplaceAliasByActualDefinitionPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Definition;
-
-class ReplaceAliasByActualDefinitionPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-
-        $container->register('a', '\stdClass');
-
-        $bDefinition = new Definition('\stdClass');
-        $bDefinition->setPublic(false);
-        $container->setDefinition('b', $bDefinition);
-
-        $container->setAlias('a_alias', 'a');
-        $container->setAlias('b_alias', 'b');
-
-        $this->process($container);
-
-        $this->assertTrue($container->has('a'), '->process() does nothing to public definitions.');
-        $this->assertTrue($container->hasAlias('a_alias'));
-        $this->assertFalse($container->has('b'), '->process() removes non-public definitions.');
-        $this->assertTrue(
-            $container->has('b_alias') && !$container->hasAlias('b_alias'),
-            '->process() replaces alias to actual.'
-        );
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new ReplaceAliasByActualDefinitionPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php
deleted file mode 100644
index f3c5b15..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\DefinitionDecorator;
-use Symfony\Component\DependencyInjection\Compiler\ResolveDefinitionTemplatesPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class ResolveDefinitionTemplatesPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container->register('parent', 'foo')->setArguments(array('moo', 'b'))->setProperty('foo', 'moo');
-        $container->setDefinition('child', new DefinitionDecorator('parent'))
-            ->replaceArgument(0, 'a')
-            ->setProperty('foo', 'bar')
-            ->setClass('bar')
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child');
-        $this->assertNotInstanceOf('Symfony\Component\DependencyInjection\DefinitionDecorator', $def);
-        $this->assertEquals('bar', $def->getClass());
-        $this->assertEquals(array('a', 'b'), $def->getArguments());
-        $this->assertEquals(array('foo' => 'bar'), $def->getProperties());
-    }
-
-    public function testProcessAppendsMethodCallsAlways()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('parent')
-            ->addMethodCall('foo', array('bar'))
-        ;
-
-        $container
-            ->setDefinition('child', new DefinitionDecorator('parent'))
-            ->addMethodCall('bar', array('foo'))
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child');
-        $this->assertEquals(array(
-            array('foo', array('bar')),
-            array('bar', array('foo')),
-        ), $def->getMethodCalls());
-    }
-
-    public function testProcessDoesNotCopyAbstract()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('parent')
-            ->setAbstract(true)
-        ;
-
-        $container
-            ->setDefinition('child', new DefinitionDecorator('parent'))
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child');
-        $this->assertFalse($def->isAbstract());
-    }
-
-    public function testProcessDoesNotCopyScope()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('parent')
-            ->setScope('foo')
-        ;
-
-        $container
-            ->setDefinition('child', new DefinitionDecorator('parent'))
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child');
-        $this->assertEquals(ContainerInterface::SCOPE_CONTAINER, $def->getScope());
-    }
-
-    public function testProcessDoesNotCopyTags()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('parent')
-            ->addTag('foo')
-        ;
-
-        $container
-            ->setDefinition('child', new DefinitionDecorator('parent'))
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child');
-        $this->assertEquals(array(), $def->getTags());
-    }
-
-    public function testProcessHandlesMultipleInheritance()
-    {
-        $container = new ContainerBuilder();
-
-        $container
-            ->register('parent', 'foo')
-            ->setArguments(array('foo', 'bar', 'c'))
-        ;
-
-        $container
-            ->setDefinition('child2', new DefinitionDecorator('child1'))
-            ->replaceArgument(1, 'b')
-        ;
-
-        $container
-            ->setDefinition('child1', new DefinitionDecorator('parent'))
-            ->replaceArgument(0, 'a')
-        ;
-
-        $this->process($container);
-
-        $def = $container->getDefinition('child2');
-        $this->assertEquals(array('a', 'b', 'c'), $def->getArguments());
-        $this->assertEquals('foo', $def->getClass());
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new ResolveDefinitionTemplatesPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInvalidReferencesPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInvalidReferencesPassTest.php
deleted file mode 100644
index a18ba73..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInvalidReferencesPassTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Compiler\ResolveInvalidReferencesPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class ResolveInvalidReferencesPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $def = $container
-            ->register('foo')
-            ->setArguments(array(new Reference('bar', ContainerInterface::NULL_ON_INVALID_REFERENCE)))
-            ->addMethodCall('foo', array(new Reference('moo', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))
-        ;
-
-        $this->process($container);
-
-        $arguments = $def->getArguments();
-        $this->assertNull($arguments[0]);
-        $this->assertCount(0, $def->getMethodCalls());
-    }
-
-    public function testProcessIgnoreNonExistentServices()
-    {
-        $container = new ContainerBuilder();
-        $def = $container
-            ->register('foo')
-            ->setArguments(array(new Reference('bar')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $def->getArguments();
-        $this->assertEquals('bar', (string) $arguments[0]);
-    }
-
-    public function testProcessRemovesPropertiesOnInvalid()
-    {
-        $container = new ContainerBuilder();
-        $def = $container
-            ->register('foo')
-            ->setProperty('foo', new Reference('bar', ContainerInterface::IGNORE_ON_INVALID_REFERENCE))
-        ;
-
-        $this->process($container);
-
-        $this->assertEquals(array(), $def->getProperties());
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new ResolveInvalidReferencesPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php
deleted file mode 100644
index ca089a5..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Compiler;
-
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Compiler\ResolveReferencesToAliasesPass;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-
-class ResolveReferencesToAliasesPassTest extends \PHPUnit_Framework_TestCase
-{
-    public function testProcess()
-    {
-        $container = new ContainerBuilder();
-        $container->setAlias('bar', 'foo');
-        $def = $container
-            ->register('moo')
-            ->setArguments(array(new Reference('bar')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $def->getArguments();
-        $this->assertEquals('foo', (string) $arguments[0]);
-    }
-
-    public function testProcessRecursively()
-    {
-        $container = new ContainerBuilder();
-        $container->setAlias('bar', 'foo');
-        $container->setAlias('moo', 'bar');
-        $def = $container
-            ->register('foobar')
-            ->setArguments(array(new Reference('moo')))
-        ;
-
-        $this->process($container);
-
-        $arguments = $def->getArguments();
-        $this->assertEquals('foo', (string) $arguments[0]);
-    }
-
-    protected function process(ContainerBuilder $container)
-    {
-        $pass = new ResolveReferencesToAliasesPass();
-        $pass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php
deleted file mode 100644
index 4a6f17d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php
+++ /dev/null
@@ -1,582 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-require_once __DIR__.'/Fixtures/includes/classes.php';
-require_once __DIR__.'/Fixtures/includes/ProjectExtension.php';
-
-use Symfony\Component\DependencyInjection\Alias;
-use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-use Symfony\Component\Config\Resource\FileResource;
-
-class ContainerBuilderTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::setDefinitions
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getDefinitions
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::setDefinition
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getDefinition
-     */
-    public function testDefinitions()
-    {
-        $builder = new ContainerBuilder();
-        $definitions = array(
-            'foo' => new Definition('FooClass'),
-            'bar' => new Definition('BarClass'),
-        );
-        $builder->setDefinitions($definitions);
-        $this->assertEquals($definitions, $builder->getDefinitions(), '->setDefinitions() sets the service definitions');
-        $this->assertTrue($builder->hasDefinition('foo'), '->hasDefinition() returns true if a service definition exists');
-        $this->assertFalse($builder->hasDefinition('foobar'), '->hasDefinition() returns false if a service definition does not exist');
-
-        $builder->setDefinition('foobar', $foo = new Definition('FooBarClass'));
-        $this->assertEquals($foo, $builder->getDefinition('foobar'), '->getDefinition() returns a service definition if defined');
-        $this->assertTrue($builder->setDefinition('foobar', $foo = new Definition('FooBarClass')) === $foo, '->setDefinition() implements a fluid interface by returning the service reference');
-
-        $builder->addDefinitions($defs = array('foobar' => new Definition('FooBarClass')));
-        $this->assertEquals(array_merge($definitions, $defs), $builder->getDefinitions(), '->addDefinitions() adds the service definitions');
-
-        try {
-            $builder->getDefinition('baz');
-            $this->fail('->getDefinition() throws an InvalidArgumentException if the service definition does not exist');
-        } catch (\InvalidArgumentException $e) {
-            $this->assertEquals('The service definition "baz" does not exist.', $e->getMessage(), '->getDefinition() throws an InvalidArgumentException if the service definition does not exist');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::register
-     */
-    public function testRegister()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'FooClass');
-        $this->assertTrue($builder->hasDefinition('foo'), '->register() registers a new service definition');
-        $this->assertInstanceOf('Symfony\Component\DependencyInjection\Definition', $builder->getDefinition('foo'), '->register() returns the newly created Definition instance');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::has
-     */
-    public function testHas()
-    {
-        $builder = new ContainerBuilder();
-        $this->assertFalse($builder->has('foo'), '->has() returns false if the service does not exist');
-        $builder->register('foo', 'FooClass');
-        $this->assertTrue($builder->has('foo'), '->has() returns true if a service definition exists');
-        $builder->set('bar', new \stdClass());
-        $this->assertTrue($builder->has('bar'), '->has() returns true if a service exists');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::get
-     */
-    public function testGet()
-    {
-        $builder = new ContainerBuilder();
-        try {
-            $builder->get('foo');
-            $this->fail('->get() throws an InvalidArgumentException if the service does not exist');
-        } catch (\InvalidArgumentException $e) {
-            $this->assertEquals('The service definition "foo" does not exist.', $e->getMessage(), '->get() throws an InvalidArgumentException if the service does not exist');
-        }
-
-        $this->assertNull($builder->get('foo', ContainerInterface::NULL_ON_INVALID_REFERENCE), '->get() returns null if the service does not exist and NULL_ON_INVALID_REFERENCE is passed as a second argument');
-
-        $builder->register('foo', 'stdClass');
-        $this->assertInternalType('object', $builder->get('foo'), '->get() returns the service definition associated with the id');
-        $builder->set('bar', $bar = new \stdClass());
-        $this->assertEquals($bar, $builder->get('bar'), '->get() returns the service associated with the id');
-        $builder->register('bar', 'stdClass');
-        $this->assertEquals($bar, $builder->get('bar'), '->get() returns the service associated with the id even if a definition has been defined');
-
-        $builder->register('baz', 'stdClass')->setArguments(array(new Reference('baz')));
-        try {
-            @$builder->get('baz');
-            $this->fail('->get() throws a ServiceCircularReferenceException if the service has a circular reference to itself');
-        } catch (\Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException $e) {
-            $this->assertEquals('Circular reference detected for service "baz", path: "baz".', $e->getMessage(), '->get() throws a LogicException if the service has a circular reference to itself');
-        }
-
-        $builder->register('foobar', 'stdClass')->setScope('container');
-        $this->assertTrue($builder->get('bar') === $builder->get('bar'), '->get() always returns the same instance if the service is shared');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getServiceIds
-     */
-    public function testGetServiceIds()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'stdClass');
-        $builder->bar = $bar = new \stdClass();
-        $builder->register('bar', 'stdClass');
-        $this->assertEquals(array('foo', 'bar', 'service_container'), $builder->getServiceIds(), '->getServiceIds() returns all defined service ids');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::setAlias
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::hasAlias
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getAlias
-     */
-    public function testAliases()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'stdClass');
-        $builder->setAlias('bar', 'foo');
-        $this->assertTrue($builder->hasAlias('bar'), '->hasAlias() returns true if the alias exists');
-        $this->assertFalse($builder->hasAlias('foobar'), '->hasAlias() returns false if the alias does not exist');
-        $this->assertEquals('foo', (string) $builder->getAlias('bar'), '->getAlias() returns the aliased service');
-        $this->assertTrue($builder->has('bar'), '->setAlias() defines a new service');
-        $this->assertTrue($builder->get('bar') === $builder->get('foo'), '->setAlias() creates a service that is an alias to another one');
-
-        try {
-            $builder->getAlias('foobar');
-            $this->fail('->getAlias() throws an InvalidArgumentException if the alias does not exist');
-        } catch (\InvalidArgumentException $e) {
-            $this->assertEquals('The service alias "foobar" does not exist.', $e->getMessage(), '->getAlias() throws an InvalidArgumentException if the alias does not exist');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getAliases
-     */
-    public function testGetAliases()
-    {
-        $builder = new ContainerBuilder();
-        $builder->setAlias('bar', 'foo');
-        $builder->setAlias('foobar', 'foo');
-        $builder->setAlias('moo', new Alias('foo', false));
-
-        $aliases = $builder->getAliases();
-        $this->assertEquals('foo', (string) $aliases['bar']);
-        $this->assertTrue($aliases['bar']->isPublic());
-        $this->assertEquals('foo', (string) $aliases['foobar']);
-        $this->assertEquals('foo', (string) $aliases['moo']);
-        $this->assertFalse($aliases['moo']->isPublic());
-
-        $builder->register('bar', 'stdClass');
-        $this->assertFalse($builder->hasAlias('bar'));
-
-        $builder->set('foobar', 'stdClass');
-        $builder->set('moo', 'stdClass');
-        $this->assertCount(0, $builder->getAliases(), '->getAliases() does not return aliased services that have been overridden');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::setAliases
-     */
-    public function testSetAliases()
-    {
-        $builder = new ContainerBuilder();
-        $builder->setAliases(array('bar' => 'foo', 'foobar' => 'foo'));
-
-        $aliases = $builder->getAliases();
-        $this->assertTrue(isset($aliases['bar']));
-        $this->assertTrue(isset($aliases['foobar']));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::addAliases
-     */
-    public function testAddAliases()
-    {
-        $builder = new ContainerBuilder();
-        $builder->setAliases(array('bar' => 'foo'));
-        $builder->addAliases(array('foobar' => 'foo'));
-
-        $aliases = $builder->getAliases();
-        $this->assertTrue(isset($aliases['bar']));
-        $this->assertTrue(isset($aliases['foobar']));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::addCompilerPass
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getCompilerPassConfig
-     */
-    public function testAddGetCompilerPass()
-    {
-        $builder = new ContainerBuilder();
-        $builder->setResourceTracking(false);
-        $builderCompilerPasses = $builder->getCompiler()->getPassConfig()->getPasses();
-        $builder->addCompilerPass($this->getMock('Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface'));
-        $this->assertEquals(sizeof($builderCompilerPasses) + 1, sizeof($builder->getCompiler()->getPassConfig()->getPasses()));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateService()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo1', 'FooClass')->setFile(__DIR__.'/Fixtures/includes/foo.php');
-        $this->assertInstanceOf('\FooClass', $builder->get('foo1'), '->createService() requires the file defined by the service definition');
-        $builder->register('foo2', 'FooClass')->setFile(__DIR__.'/Fixtures/includes/%file%.php');
-        $builder->setParameter('file', 'foo');
-        $this->assertInstanceOf('\FooClass', $builder->get('foo2'), '->createService() replaces parameters in the file provided by the service definition');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceClass()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo1', '%class%');
-        $builder->setParameter('class', 'stdClass');
-        $this->assertInstanceOf('\stdClass', $builder->get('foo1'), '->createService() replaces parameters in the class provided by the service definition');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceArguments()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('bar', 'stdClass');
-        $builder->register('foo1', 'FooClass')->addArgument(array('foo' => '%value%', '%value%' => 'foo', new Reference('bar'), '%%unescape_it%%'));
-        $builder->setParameter('value', 'bar');
-        $this->assertEquals(array('foo' => 'bar', 'bar' => 'foo', $builder->get('bar'), '%unescape_it%'), $builder->get('foo1')->arguments, '->createService() replaces parameters and service references in the arguments provided by the service definition');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceFactoryMethod()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('bar', 'stdClass');
-        $builder->register('foo1', 'FooClass')->setFactoryClass('FooClass')->setFactoryMethod('getInstance')->addArgument(array('foo' => '%value%', '%value%' => 'foo', new Reference('bar')));
-        $builder->setParameter('value', 'bar');
-        $this->assertTrue($builder->get('foo1')->called, '->createService() calls the factory method to create the service instance');
-        $this->assertEquals(array('foo' => 'bar', 'bar' => 'foo', $builder->get('bar')), $builder->get('foo1')->arguments, '->createService() passes the arguments to the factory method');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceFactoryService()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('baz_service')->setFactoryService('baz_factory')->setFactoryMethod('getInstance');
-        $builder->register('baz_factory', 'BazClass');
-
-        $this->assertInstanceOf('BazClass', $builder->get('baz_service'));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceMethodCalls()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('bar', 'stdClass');
-        $builder->register('foo1', 'FooClass')->addMethodCall('setBar', array(array('%value%', new Reference('bar'))));
-        $builder->setParameter('value', 'bar');
-        $this->assertEquals(array('bar', $builder->get('bar')), $builder->get('foo1')->bar, '->createService() replaces the values in the method calls arguments');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
-     */
-    public function testCreateServiceConfigurator()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo1', 'FooClass')->setConfigurator('sc_configure');
-        $this->assertTrue($builder->get('foo1')->configured, '->createService() calls the configurator');
-
-        $builder->register('foo2', 'FooClass')->setConfigurator(array('%class%', 'configureStatic'));
-        $builder->setParameter('class', 'BazClass');
-        $this->assertTrue($builder->get('foo2')->configured, '->createService() calls the configurator');
-
-        $builder->register('baz', 'BazClass');
-        $builder->register('foo3', 'FooClass')->setConfigurator(array(new Reference('baz'), 'configure'));
-        $this->assertTrue($builder->get('foo3')->configured, '->createService() calls the configurator');
-
-        $builder->register('foo4', 'FooClass')->setConfigurator('foo');
-        try {
-            $builder->get('foo4');
-            $this->fail('->createService() throws an InvalidArgumentException if the configure callable is not a valid callable');
-        } catch (\InvalidArgumentException $e) {
-            $this->assertEquals('The configure callable for class "FooClass" is not a callable.', $e->getMessage(), '->createService() throws an InvalidArgumentException if the configure callable is not a valid callable');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::resolveServices
-     */
-    public function testResolveServices()
-    {
-        $builder = new ContainerBuilder();
-        $builder->register('foo', 'FooClass');
-        $this->assertEquals($builder->get('foo'), $builder->resolveServices(new Reference('foo')), '->resolveServices() resolves service references to service instances');
-        $this->assertEquals(array('foo' => array('foo', $builder->get('foo'))), $builder->resolveServices(array('foo' => array('foo', new Reference('foo')))), '->resolveServices() resolves service references to service instances in nested arrays');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::merge
-     */
-    public function testMerge()
-    {
-        $container = new ContainerBuilder(new ParameterBag(array('bar' => 'foo')));
-        $container->setResourceTracking(false);
-        $config = new ContainerBuilder(new ParameterBag(array('foo' => 'bar')));
-        $container->merge($config);
-        $this->assertEquals(array('bar' => 'foo', 'foo' => 'bar'), $container->getParameterBag()->all(), '->merge() merges current parameters with the loaded ones');
-
-        $container = new ContainerBuilder(new ParameterBag(array('bar' => 'foo')));
-        $container->setResourceTracking(false);
-        $config = new ContainerBuilder(new ParameterBag(array('foo' => '%bar%')));
-        $container->merge($config);
-////// FIXME
-        $container->compile();
-        $this->assertEquals(array('bar' => 'foo', 'foo' => 'foo'), $container->getParameterBag()->all(), '->merge() evaluates the values of the parameters towards already defined ones');
-
-        $container = new ContainerBuilder(new ParameterBag(array('bar' => 'foo')));
-        $container->setResourceTracking(false);
-        $config = new ContainerBuilder(new ParameterBag(array('foo' => '%bar%', 'baz' => '%foo%')));
-        $container->merge($config);
-////// FIXME
-        $container->compile();
-        $this->assertEquals(array('bar' => 'foo', 'foo' => 'foo', 'baz' => 'foo'), $container->getParameterBag()->all(), '->merge() evaluates the values of the parameters towards already defined ones');
-
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->register('foo', 'FooClass');
-        $container->register('bar', 'BarClass');
-        $config = new ContainerBuilder();
-        $config->setDefinition('baz', new Definition('BazClass'));
-        $config->setAlias('alias_for_foo', 'foo');
-        $container->merge($config);
-        $this->assertEquals(array('foo', 'bar', 'baz'), array_keys($container->getDefinitions()), '->merge() merges definitions already defined ones');
-
-        $aliases = $container->getAliases();
-        $this->assertTrue(isset($aliases['alias_for_foo']));
-        $this->assertEquals('foo', (string) $aliases['alias_for_foo']);
-
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->register('foo', 'FooClass');
-        $config->setDefinition('foo', new Definition('BazClass'));
-        $container->merge($config);
-        $this->assertEquals('BazClass', $container->getDefinition('foo')->getClass(), '->merge() overrides already defined services');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::merge
-     * @expectedException LogicException
-     */
-    public function testMergeLogicException()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->compile();
-        $container->merge(new ContainerBuilder());
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::findTaggedServiceIds
-     */
-    public function testfindTaggedServiceIds()
-    {
-        $builder = new ContainerBuilder();
-        $builder
-            ->register('foo', 'FooClass')
-            ->addTag('foo', array('foo' => 'foo'))
-            ->addTag('bar', array('bar' => 'bar'))
-            ->addTag('foo', array('foofoo' => 'foofoo'))
-        ;
-        $this->assertEquals($builder->findTaggedServiceIds('foo'), array(
-            'foo' => array(
-                array('foo' => 'foo'),
-                array('foofoo' => 'foofoo'),
-            )
-        ), '->findTaggedServiceIds() returns an array of service ids and its tag attributes');
-        $this->assertEquals(array(), $builder->findTaggedServiceIds('foobar'), '->findTaggedServiceIds() returns an empty array if there is annotated services');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::findDefinition
-     */
-    public function testFindDefinition()
-    {
-        $container = new ContainerBuilder();
-        $container->setDefinition('foo', $definition = new Definition('FooClass'));
-        $container->setAlias('bar', 'foo');
-        $container->setAlias('foobar', 'bar');
-        $this->assertEquals($definition, $container->findDefinition('foobar'), '->findDefinition() returns a Definition');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getResources
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::addResource
-     */
-    public function testResources()
-    {
-        if (!class_exists('Symfony\Component\Config\Resource\FileResource')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-
-        $container = new ContainerBuilder();
-        $container->addResource($a = new FileResource(__DIR__.'/Fixtures/xml/services1.xml'));
-        $container->addResource($b = new FileResource(__DIR__.'/Fixtures/xml/services2.xml'));
-        $resources = array();
-        foreach ($container->getResources() as $resource) {
-            if (false === strpos($resource, '.php')) {
-                $resources[] = $resource;
-            }
-        }
-        $this->assertEquals(array($a, $b), $resources, '->getResources() returns an array of resources read for the current configuration');
-        $this->assertSame($container, $container->setResources(array()));
-        $this->assertEquals(array(), $container->getResources());
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::registerExtension
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getExtension
-     */
-    public function testExtension()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-
-        $container->registerExtension($extension = new \ProjectExtension());
-        $this->assertTrue($container->getExtension('project') === $extension, '->registerExtension() registers an extension');
-
-        $this->setExpectedException('LogicException');
-        $container->getExtension('no_registered');
-    }
-
-    public function testRegisteredButNotLoadedExtension()
-    {
-        $extension = $this->getMock('Symfony\\Component\\DependencyInjection\\Extension\\ExtensionInterface');
-        $extension->expects($this->once())->method('getAlias')->will($this->returnValue('project'));
-        $extension->expects($this->never())->method('load');
-
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->registerExtension($extension);
-        $container->compile();
-    }
-
-    public function testRegisteredAndLoadedExtension()
-    {
-        $extension = $this->getMock('Symfony\\Component\\DependencyInjection\\Extension\\ExtensionInterface');
-        $extension->expects($this->exactly(2))->method('getAlias')->will($this->returnValue('project'));
-        $extension->expects($this->once())->method('load')->with(array(array('foo' => 'bar')));
-
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->registerExtension($extension);
-        $container->loadFromExtension('project', array('foo' => 'bar'));
-        $container->compile();
-    }
-
-    public function testPrivateServiceUser()
-    {
-        $fooDefinition     = new Definition('BarClass');
-        $fooUserDefinition = new Definition('BarUserClass', array(new Reference('bar')));
-        $container         = new ContainerBuilder();
-        $container->setResourceTracking(false);
-
-        $fooDefinition->setPublic(false);
-
-        $container->addDefinitions(array(
-            'bar'       => $fooDefinition,
-            'bar_user'  => $fooUserDefinition
-        ));
-
-        $container->compile();
-        $this->assertInstanceOf('BarClass', $container->get('bar_user')->bar);
-    }
-
-    /**
-     * @expectedException BadMethodCallException
-     */
-    public function testThrowsExceptionWhenSetServiceOnAFrozenContainer()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->setDefinition('a', new Definition('stdClass'));
-        $container->compile();
-        $container->set('a', new \stdClass());
-    }
-
-    /**
-     * @expectedException BadMethodCallException
-     */
-    public function testThrowsExceptionWhenAddServiceOnAFrozenContainer()
-    {
-        if (!class_exists('Symfony\Component\Config\Resource\FileResource')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-
-        $container = new ContainerBuilder();
-        $container->compile();
-        $container->set('a', new \stdClass());
-    }
-
-    public function testNoExceptionWhenSetSyntheticServiceOnAFrozenContainer()
-    {
-        if (!class_exists('Symfony\Component\Config\Resource\FileResource')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-
-        $container = new ContainerBuilder();
-        $def = new Definition('stdClass');
-        $def->setSynthetic(true);
-        $container->setDefinition('a', $def);
-        $container->compile();
-        $container->set('a', $a = new \stdClass());
-        $this->assertEquals($a, $container->get('a'));
-    }
-
-    /**
-     * @expectedException BadMethodCallException
-     */
-    public function testThrowsExceptionWhenSetDefinitionOnAFrozenContainer()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->compile();
-        $container->setDefinition('a', new Definition());
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::getExtensionConfig
-     * @covers Symfony\Component\DependencyInjection\ContainerBuilder::prependExtensionConfig
-     */
-    public function testExtensionConfig()
-    {
-        $container = new ContainerBuilder();
-
-        $configs = $container->getExtensionConfig('foo');
-        $this->assertEmpty($configs);
-
-        $first = array('foo' => 'bar');
-        $container->prependExtensionConfig('foo', $first);
-        $configs = $container->getExtensionConfig('foo');
-        $this->assertEquals(array($first), $configs);
-
-        $second = array('ding' => 'dong');
-        $container->prependExtensionConfig('foo', $second);
-        $configs = $container->getExtensionConfig('foo');
-        $this->assertEquals(array($second, $first), $configs);
-    }
-}
-
-class FooClass {}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerTest.php
deleted file mode 100644
index 95b3953..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerTest.php
+++ /dev/null
@@ -1,478 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\Scope;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-class ContainerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::__construct
-     */
-    public function testConstructor()
-    {
-        $sc = new Container();
-        $this->assertSame($sc, $sc->get('service_container'), '__construct() automatically registers itself as a service');
-
-        $sc = new Container(new ParameterBag(array('foo' => 'bar')));
-        $this->assertEquals(array('foo' => 'bar'), $sc->getParameterBag()->all(), '__construct() takes an array of parameters as its first argument');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::compile
-     */
-    public function testCompile()
-    {
-        $sc = new Container(new ParameterBag(array('foo' => 'bar')));
-        $sc->compile();
-        $this->assertInstanceOf('Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag', $sc->getParameterBag(), '->compile() changes the parameter bag to a FrozenParameterBag instance');
-        $this->assertEquals(array('foo' => 'bar'), $sc->getParameterBag()->all(), '->compile() copies the current parameters to the new parameter bag');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::isFrozen
-     */
-    public function testIsFrozen()
-    {
-        $sc = new Container(new ParameterBag(array('foo' => 'bar')));
-        $this->assertFalse($sc->isFrozen(), '->isFrozen() returns false if the parameters are not frozen');
-        $sc->compile();
-        $this->assertTrue($sc->isFrozen(), '->isFrozen() returns true if the parameters are frozen');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::getParameterBag
-     */
-    public function testGetParameterBag()
-    {
-        $sc = new Container();
-        $this->assertEquals(array(), $sc->getParameterBag()->all(), '->getParameterBag() returns an empty array if no parameter has been defined');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::setParameter
-     * @covers Symfony\Component\DependencyInjection\Container::getParameter
-     */
-    public function testGetSetParameter()
-    {
-        $sc = new Container(new ParameterBag(array('foo' => 'bar')));
-        $sc->setParameter('bar', 'foo');
-        $this->assertEquals('foo', $sc->getParameter('bar'), '->setParameter() sets the value of a new parameter');
-
-        $sc->setParameter('foo', 'baz');
-        $this->assertEquals('baz', $sc->getParameter('foo'), '->setParameter() overrides previously set parameter');
-
-        $sc->setParameter('Foo', 'baz1');
-        $this->assertEquals('baz1', $sc->getParameter('foo'), '->setParameter() converts the key to lowercase');
-        $this->assertEquals('baz1', $sc->getParameter('FOO'), '->getParameter() converts the key to lowercase');
-
-        try {
-            $sc->getParameter('baba');
-            $this->fail('->getParameter() thrown an \InvalidArgumentException if the key does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->getParameter() thrown an \InvalidArgumentException if the key does not exist');
-            $this->assertEquals('You have requested a non-existent parameter "baba".', $e->getMessage(), '->getParameter() thrown an \InvalidArgumentException if the key does not exist');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::getServiceIds
-     */
-    public function testGetServiceIds()
-    {
-        $sc = new Container();
-        $sc->set('foo', $obj = new \stdClass());
-        $sc->set('bar', $obj = new \stdClass());
-        $this->assertEquals(array('service_container', 'foo', 'bar'), $sc->getServiceIds(), '->getServiceIds() returns all defined service ids');
-
-        $sc = new ProjectServiceContainer();
-        $this->assertEquals(array('scoped', 'scoped_foo', 'bar', 'foo_bar', 'foo.baz', 'circular', 'throw_exception', 'throws_exception_on_service_configuration', 'service_container'), $sc->getServiceIds(), '->getServiceIds() returns defined service ids by getXXXService() methods');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::set
-     */
-    public function testSet()
-    {
-        $sc = new Container();
-        $sc->set('foo', $foo = new \stdClass());
-        $this->assertEquals($foo, $sc->get('foo'), '->set() sets a service');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testSetDoesNotAllowPrototypeScope()
-    {
-        $c = new Container();
-        $c->set('foo', new \stdClass(), 'prototype');
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testSetDoesNotAllowInactiveScope()
-    {
-        $c = new Container();
-        $c->addScope(new Scope('foo'));
-        $c->set('foo', new \stdClass(), 'foo');
-    }
-
-    public function testSetAlsoSetsScopedService()
-    {
-        $c = new Container();
-        $c->addScope(new Scope('foo'));
-        $c->enterScope('foo');
-        $c->set('foo', $foo = new \stdClass(), 'foo');
-
-        $services = $this->getField($c, 'scopedServices');
-        $this->assertTrue(isset($services['foo']['foo']));
-        $this->assertSame($foo, $services['foo']['foo']);
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::get
-     */
-    public function testGet()
-    {
-        $sc = new ProjectServiceContainer();
-        $sc->set('foo', $foo = new \stdClass());
-        $this->assertEquals($foo, $sc->get('foo'), '->get() returns the service for the given id');
-        $this->assertEquals($sc->__bar, $sc->get('bar'), '->get() returns the service for the given id');
-        $this->assertEquals($sc->__foo_bar, $sc->get('foo_bar'), '->get() returns the service if a get*Method() is defined');
-        $this->assertEquals($sc->__foo_baz, $sc->get('foo.baz'), '->get() returns the service if a get*Method() is defined');
-
-        $sc->set('bar', $bar = new \stdClass());
-        $this->assertEquals($bar, $sc->get('bar'), '->get() prefers to return a service defined with set() than one defined with a getXXXMethod()');
-
-        try {
-            $sc->get('');
-            $this->fail('->get() throws a \InvalidArgumentException exception if the service is empty');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException', $e, '->get() throws a ServiceNotFoundException exception if the service is empty');
-        }
-        $this->assertNull($sc->get('', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-    }
-
-    public function testGetCircularReference()
-    {
-
-        $sc = new ProjectServiceContainer();
-        try {
-            $sc->get('circular');
-            $this->fail('->get() throws a ServiceCircularReferenceException if it contains circular reference');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException', $e, '->get() throws a ServiceCircularReferenceException if it contains circular reference');
-            $this->assertStringStartsWith('Circular reference detected for service "circular"', $e->getMessage(), '->get() throws a \LogicException if it contains circular reference');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::has
-     */
-    public function testHas()
-    {
-        $sc = new ProjectServiceContainer();
-        $sc->set('foo', new \stdClass());
-        $this->assertFalse($sc->has('foo1'), '->has() returns false if the service does not exist');
-        $this->assertTrue($sc->has('foo'), '->has() returns true if the service exists');
-        $this->assertTrue($sc->has('bar'), '->has() returns true if a get*Method() is defined');
-        $this->assertTrue($sc->has('foo_bar'), '->has() returns true if a get*Method() is defined');
-        $this->assertTrue($sc->has('foo.baz'), '->has() returns true if a get*Method() is defined');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Container::initialized
-     */
-    public function testInitialized()
-    {
-        $sc = new ProjectServiceContainer();
-        $sc->set('foo', new \stdClass());
-        $this->assertTrue($sc->initialized('foo'), '->initialized() returns true if service is loaded');
-        $this->assertFalse($sc->initialized('foo1'), '->initialized() returns false if service is not loaded');
-        $this->assertFalse($sc->initialized('bar'), '->initialized() returns false if a service is defined, but not currently loaded');
-    }
-
-    public function testEnterLeaveCurrentScope()
-    {
-        $container = new ProjectServiceContainer();
-        $container->addScope(new Scope('foo'));
-
-        $container->enterScope('foo');
-        $scoped1 = $container->get('scoped');
-        $scopedFoo1 = $container->get('scoped_foo');
-
-        $container->enterScope('foo');
-        $scoped2 = $container->get('scoped');
-        $scoped3 = $container->get('scoped');
-        $scopedFoo2 = $container->get('scoped_foo');
-
-        $container->leaveScope('foo');
-        $scoped4 = $container->get('scoped');
-        $scopedFoo3 = $container->get('scoped_foo');
-
-        $this->assertNotSame($scoped1, $scoped2);
-        $this->assertSame($scoped2, $scoped3);
-        $this->assertSame($scoped1, $scoped4);
-        $this->assertNotSame($scopedFoo1, $scopedFoo2);
-        $this->assertSame($scopedFoo1, $scopedFoo3);
-    }
-
-    public function testEnterLeaveScopeWithChildScopes()
-    {
-        $container = new Container();
-        $container->addScope(new Scope('foo'));
-        $container->addScope(new Scope('bar', 'foo'));
-
-        $this->assertFalse($container->isScopeActive('foo'));
-
-        $container->enterScope('foo');
-        $container->enterScope('bar');
-
-        $this->assertTrue($container->isScopeActive('foo'));
-        $this->assertFalse($container->has('a'));
-
-        $a = new \stdClass();
-        $container->set('a', $a, 'bar');
-
-        $services = $this->getField($container, 'scopedServices');
-        $this->assertTrue(isset($services['bar']['a']));
-        $this->assertSame($a, $services['bar']['a']);
-
-        $this->assertTrue($container->has('a'));
-        $container->leaveScope('foo');
-
-        $services = $this->getField($container, 'scopedServices');
-        $this->assertFalse(isset($services['bar']));
-
-        $this->assertFalse($container->isScopeActive('foo'));
-        $this->assertFalse($container->has('a'));
-    }
-
-    public function testLeaveScopeNotActive()
-    {
-        $container = new Container();
-        $container->addScope(new Scope('foo'));
-
-        try {
-            $container->leaveScope('foo');
-            $this->fail('->leaveScope() throws a \LogicException if the scope is not active yet');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\LogicException', $e, '->leaveScope() throws a \LogicException if the scope is not active yet');
-            $this->assertEquals('The scope "foo" is not active.', $e->getMessage(), '->leaveScope() throws a \LogicException if the scope is not active yet');
-        }
-
-        try {
-            $container->leaveScope('bar');
-            $this->fail('->leaveScope() throws a \LogicException if the scope does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\LogicException', $e, '->leaveScope() throws a \LogicException if the scope does not exist');
-            $this->assertEquals('The scope "bar" is not active.', $e->getMessage(), '->leaveScope() throws a \LogicException if the scope does not exist');
-        }
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @dataProvider getBuiltInScopes
-     */
-    public function testAddScopeDoesNotAllowBuiltInScopes($scope)
-    {
-        $container = new Container();
-        $container->addScope(new Scope($scope));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testAddScopeDoesNotAllowExistingScope()
-    {
-        $container = new Container();
-        $container->addScope(new Scope('foo'));
-        $container->addScope(new Scope('foo'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @dataProvider getInvalidParentScopes
-     */
-    public function testAddScopeDoesNotAllowInvalidParentScope($scope)
-    {
-        $c = new Container();
-        $c->addScope(new Scope('foo', $scope));
-    }
-
-    public function testAddScope()
-    {
-        $c = new Container();
-        $c->addScope(new Scope('foo'));
-        $c->addScope(new Scope('bar', 'foo'));
-
-        $this->assertSame(array('foo' => 'container', 'bar' => 'foo'), $this->getField($c, 'scopes'));
-        $this->assertSame(array('foo' => array('bar'), 'bar' => array()), $this->getField($c, 'scopeChildren'));
-    }
-
-    public function testHasScope()
-    {
-        $c = new Container();
-
-        $this->assertFalse($c->hasScope('foo'));
-        $c->addScope(new Scope('foo'));
-        $this->assertTrue($c->hasScope('foo'));
-    }
-
-    public function testIsScopeActive()
-    {
-        $c = new Container();
-
-        $this->assertFalse($c->isScopeActive('foo'));
-        $c->addScope(new Scope('foo'));
-
-        $this->assertFalse($c->isScopeActive('foo'));
-        $c->enterScope('foo');
-
-        $this->assertTrue($c->isScopeActive('foo'));
-        $c->leaveScope('foo');
-
-        $this->assertFalse($c->isScopeActive('foo'));
-    }
-
-    public function testGetThrowsException()
-    {
-        $c = new ProjectServiceContainer();
-
-        try {
-            $c->get('throw_exception');
-            $this->fail();
-        } catch (\Exception $e) {
-            $this->assertEquals('Something went terribly wrong!', $e->getMessage());
-        }
-
-        try {
-            $c->get('throw_exception');
-            $this->fail();
-        } catch (\Exception $e) {
-            $this->assertEquals('Something went terribly wrong!', $e->getMessage());
-        }
-    }
-
-    public function testGetThrowsExceptionOnServiceConfiguration()
-    {
-        $c = new ProjectServiceContainer();
-
-        try {
-            $c->get('throws_exception_on_service_configuration');
-            $this->fail('The container can not contain invalid service!');
-        } catch (\Exception $e) {
-            $this->assertEquals('Something was terribly wrong while trying to configure the service!', $e->getMessage());
-        }
-        $this->assertFalse($c->initialized('throws_exception_on_service_configuration'));
-
-        try {
-            $c->get('throws_exception_on_service_configuration');
-            $this->fail('The container can not contain invalid service!');
-        } catch (\Exception $e) {
-            $this->assertEquals('Something was terribly wrong while trying to configure the service!', $e->getMessage());
-        }
-        $this->assertFalse($c->initialized('throws_exception_on_service_configuration'));
-    }
-
-    public function getInvalidParentScopes()
-    {
-        return array(
-            array(ContainerInterface::SCOPE_PROTOTYPE),
-            array('bar'),
-        );
-    }
-
-    public function getBuiltInScopes()
-    {
-        return array(
-            array(ContainerInterface::SCOPE_CONTAINER),
-            array(ContainerInterface::SCOPE_PROTOTYPE),
-        );
-    }
-
-    protected function getField($obj, $field)
-    {
-        $reflection = new \ReflectionProperty($obj, $field);
-        $reflection->setAccessible(true);
-
-        return $reflection->getValue($obj);
-    }
-}
-
-class ProjectServiceContainer extends Container
-{
-    public $__bar, $__foo_bar, $__foo_baz;
-
-    public function __construct()
-    {
-        parent::__construct();
-
-        $this->__bar = new \stdClass();
-        $this->__foo_bar = new \stdClass();
-        $this->__foo_baz = new \stdClass();
-    }
-
-    protected function getScopedService()
-    {
-        if (!isset($this->scopedServices['foo'])) {
-            throw new \RuntimeException('Invalid call');
-        }
-
-        return $this->services['scoped'] = $this->scopedServices['foo']['scoped'] = new \stdClass();
-    }
-
-    protected function getScopedFooService()
-    {
-        if (!isset($this->scopedServices['foo'])) {
-            throw new \RuntimeException('invalid call');
-        }
-
-        return $this->services['scoped_foo'] = $this->scopedServices['foo']['scoped_foo'] = new \stdClass();
-    }
-
-    protected function getBarService()
-    {
-        return $this->__bar;
-    }
-
-    protected function getFooBarService()
-    {
-        return $this->__foo_bar;
-    }
-
-    protected function getFoo_BazService()
-    {
-        return $this->__foo_baz;
-    }
-
-    protected function getCircularService()
-    {
-        return $this->get('circular');
-    }
-
-    protected function getThrowExceptionService()
-    {
-        throw new \Exception('Something went terribly wrong!');
-    }
-
-    protected function getThrowsExceptionOnServiceConfigurationService()
-    {
-        $this->services['throws_exception_on_service_configuration'] = $instance = new \stdClass();
-
-        throw new \Exception('Something was terribly wrong while trying to configure the service!');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php
deleted file mode 100644
index 3464a6a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\Config\FileLocator;
-
-class CrossCheckTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\Config\Loader\Loader')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-    }
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = __DIR__.'/Fixtures/';
-
-        require_once self::$fixturesPath.'/includes/classes.php';
-        require_once self::$fixturesPath.'/includes/foo.php';
-    }
-
-    /**
-     * @dataProvider crossCheckLoadersDumpers
-     */
-    public function testCrossCheck($fixture, $type)
-    {
-        $loaderClass = 'Symfony\\Component\\DependencyInjection\\Loader\\'.ucfirst($type).'FileLoader';
-        $dumperClass = 'Symfony\\Component\\DependencyInjection\\Dumper\\'.ucfirst($type).'Dumper';
-
-        $tmp = tempnam('sf_service_container', 'sf');
-
-        file_put_contents($tmp, file_get_contents(self::$fixturesPath.'/'.$type.'/'.$fixture));
-
-        $container1 = new ContainerBuilder();
-        $loader1 = new $loaderClass($container1, new FileLocator());
-        $loader1->load($tmp);
-
-        $dumper = new $dumperClass($container1);
-        file_put_contents($tmp, $dumper->dump());
-
-        $container2 = new ContainerBuilder();
-        $loader2 = new $loaderClass($container2, new FileLocator());
-        $loader2->load($tmp);
-
-        unlink($tmp);
-
-        $this->assertEquals($container2->getAliases(), $container1->getAliases(), 'loading a dump from a previously loaded container returns the same container');
-        $this->assertEquals($container2->getDefinitions(), $container1->getDefinitions(), 'loading a dump from a previously loaded container returns the same container');
-        $this->assertEquals($container2->getParameterBag()->all(), $container1->getParameterBag()->all(), '->getParameterBag() returns the same value for both containers');
-
-        $this->assertEquals(serialize($container2), serialize($container1), 'loading a dump from a previously loaded container returns the same container');
-
-        $services1 = array();
-        foreach ($container1 as $id => $service) {
-            $services1[$id] = serialize($service);
-        }
-        $services2 = array();
-        foreach ($container2 as $id => $service) {
-            $services2[$id] = serialize($service);
-        }
-
-        unset($services1['service_container'], $services2['service_container']);
-
-        $this->assertEquals($services2, $services1, 'Iterator on the containers returns the same services');
-    }
-
-    public function crossCheckLoadersDumpers()
-    {
-        $tests = array(
-            array('services1.xml', 'xml'),
-            array('services2.xml', 'xml'),
-            array('services6.xml', 'xml'),
-            array('services8.xml', 'xml'),
-            array('services9.xml', 'xml'),
-        );
-
-        if (class_exists('Symfony\Component\Yaml\Yaml')) {
-            $tests = array_merge($tests, array(
-                array('services1.yml', 'yaml'),
-                array('services2.yml', 'yaml'),
-                array('services6.yml', 'yaml'),
-                array('services8.yml', 'yaml'),
-                array('services9.yml', 'yaml'),
-            ));
-        }
-
-        return $tests;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionDecoratorTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionDecoratorTest.php
deleted file mode 100644
index bf1bab1..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionDecoratorTest.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\DefinitionDecorator;
-
-class DefinitionDecoratorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstructor()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $this->assertEquals('foo', $def->getParent());
-        $this->assertEquals(array(), $def->getChanges());
-    }
-
-    /**
-     * @dataProvider getPropertyTests
-     */
-    public function testSetProperty($property, $changeKey)
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $getter = 'get'.ucfirst($property);
-        $setter = 'set'.ucfirst($property);
-
-        $this->assertNull($def->$getter());
-        $this->assertSame($def, $def->$setter('foo'));
-        $this->assertEquals('foo', $def->$getter());
-        $this->assertEquals(array($changeKey => true), $def->getChanges());
-    }
-
-    public function getPropertyTests()
-    {
-        return array(
-            array('class', 'class'),
-            array('factoryClass', 'factory_class'),
-            array('factoryMethod', 'factory_method'),
-            array('factoryService', 'factory_service'),
-            array('configurator', 'configurator'),
-            array('file', 'file'),
-        );
-    }
-
-    public function testSetPublic()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $this->assertTrue($def->isPublic());
-        $this->assertSame($def, $def->setPublic(false));
-        $this->assertFalse($def->isPublic());
-        $this->assertEquals(array('public' => true), $def->getChanges());
-    }
-
-    public function testSetArgument()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $this->assertEquals(array(), $def->getArguments());
-        $this->assertSame($def, $def->replaceArgument(0, 'foo'));
-        $this->assertEquals(array('index_0' => 'foo'), $def->getArguments());
-    }
-
-    /**
-     * @expectedException InvalidArgumentException
-     */
-    public function testReplaceArgumentShouldRequireIntegerIndex()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $def->replaceArgument('0', 'foo');
-    }
-
-    public function testReplaceArgument()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $def->setArguments(array(0 => 'foo', 1 => 'bar'));
-        $this->assertEquals('foo', $def->getArgument(0));
-        $this->assertEquals('bar', $def->getArgument(1));
-
-        $this->assertSame($def, $def->replaceArgument(1, 'baz'));
-        $this->assertEquals('foo', $def->getArgument(0));
-        $this->assertEquals('baz', $def->getArgument(1));
-
-        $this->assertEquals(array(0 => 'foo', 1 => 'bar', 'index_1' => 'baz'), $def->getArguments());
-    }
-
-    /**
-     * @expectedException OutOfBoundsException
-     */
-    public function testGetArgumentShouldCheckBounds()
-    {
-        $def = new DefinitionDecorator('foo');
-
-        $def->setArguments(array(0 => 'foo'));
-        $def->replaceArgument(0, 'foo');
-
-        $def->getArgument(1);
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php
deleted file mode 100644
index 46ea75d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php
+++ /dev/null
@@ -1,292 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\Definition;
-
-class DefinitionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::__construct
-     */
-    public function testConstructor()
-    {
-        $def = new Definition('stdClass');
-        $this->assertEquals('stdClass', $def->getClass(), '__construct() takes the class name as its first argument');
-
-        $def = new Definition('stdClass', array('foo'));
-        $this->assertEquals(array('foo'), $def->getArguments(), '__construct() takes an optional array of arguments as its second argument');
-    }
-
-    public function testSetGetFactoryClass()
-    {
-        $def = new Definition('stdClass');
-        $this->assertNull($def->getFactoryClass());
-        $this->assertSame($def, $def->setFactoryClass('stdClass2'), "->setFactoryClass() implements a fluent interface.");
-        $this->assertEquals('stdClass2', $def->getFactoryClass(), "->getFactoryClass() returns current class to construct this service.");
-    }
-
-    public function testSetGetFactoryMethod()
-    {
-        $def = new Definition('stdClass');
-        $this->assertNull($def->getFactoryMethod());
-        $this->assertSame($def, $def->setFactoryMethod('foo'), '->setFactoryMethod() implements a fluent interface');
-        $this->assertEquals('foo', $def->getFactoryMethod(), '->getFactoryMethod() returns the factory method name');
-    }
-
-    public function testSetGetFactoryService()
-    {
-        $def = new Definition('stdClass');
-        $this->assertNull($def->getFactoryService());
-        $this->assertSame($def, $def->setFactoryService('foo.bar'), "->setFactoryService() implements a fluent interface.");
-        $this->assertEquals('foo.bar', $def->getFactoryService(), "->getFactoryService() returns current service to construct this service.");
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setClass
-     * @covers Symfony\Component\DependencyInjection\Definition::getClass
-     */
-    public function testSetGetClass()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->setClass('foo'), '->setClass() implements a fluent interface');
-        $this->assertEquals('foo', $def->getClass(), '->getClass() returns the class name');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setArguments
-     * @covers Symfony\Component\DependencyInjection\Definition::getArguments
-     * @covers Symfony\Component\DependencyInjection\Definition::addArgument
-     */
-    public function testArguments()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->setArguments(array('foo')), '->setArguments() implements a fluent interface');
-        $this->assertEquals(array('foo'), $def->getArguments(), '->getArguments() returns the arguments');
-        $this->assertSame($def, $def->addArgument('bar'), '->addArgument() implements a fluent interface');
-        $this->assertEquals(array('foo', 'bar'), $def->getArguments(), '->addArgument() adds an argument');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setMethodCalls
-     * @covers Symfony\Component\DependencyInjection\Definition::addMethodCall
-     * @covers Symfony\Component\DependencyInjection\Definition::hasMethodCall
-     * @covers Symfony\Component\DependencyInjection\Definition::removeMethodCall
-     */
-    public function testMethodCalls()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->setMethodCalls(array(array('foo', array('foo')))), '->setMethodCalls() implements a fluent interface');
-        $this->assertEquals(array(array('foo', array('foo'))), $def->getMethodCalls(), '->getMethodCalls() returns the methods to call');
-        $this->assertSame($def, $def->addMethodCall('bar', array('bar')), '->addMethodCall() implements a fluent interface');
-        $this->assertEquals(array(array('foo', array('foo')), array('bar', array('bar'))), $def->getMethodCalls(), '->addMethodCall() adds a method to call');
-        $this->assertTrue($def->hasMethodCall('bar'), '->hasMethodCall() returns true if first argument is a method to call registered');
-        $this->assertFalse($def->hasMethodCall('no_registered'), '->hasMethodCall() returns false if first argument is not a method to call registered');
-        $this->assertSame($def, $def->removeMethodCall('bar'), '->removeMethodCall() implements a fluent interface');
-        $this->assertEquals(array(array('foo', array('foo'))), $def->getMethodCalls(), '->removeMethodCall() removes a method to call');
-    }
-
-    /**
-     * @expectedException Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
-     * @expectedExceptionMessage Method name cannot be empty.
-     */
-    public function testExceptionOnEmptyMethodCall()
-    {
-        $def = new Definition('stdClass');
-        $def->addMethodCall('');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setFile
-     * @covers Symfony\Component\DependencyInjection\Definition::getFile
-     */
-    public function testSetGetFile()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->setFile('foo'), '->setFile() implements a fluent interface');
-        $this->assertEquals('foo', $def->getFile(), '->getFile() returns the file to include');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setScope
-     * @covers Symfony\Component\DependencyInjection\Definition::getScope
-     */
-    public function testSetGetScope()
-    {
-        $def = new Definition('stdClass');
-        $this->assertEquals('container', $def->getScope());
-        $this->assertSame($def, $def->setScope('foo'));
-        $this->assertEquals('foo', $def->getScope());
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setPublic
-     * @covers Symfony\Component\DependencyInjection\Definition::isPublic
-     */
-    public function testSetIsPublic()
-    {
-        $def = new Definition('stdClass');
-        $this->assertTrue($def->isPublic(), '->isPublic() returns true by default');
-        $this->assertSame($def, $def->setPublic(false), '->setPublic() implements a fluent interface');
-        $this->assertFalse($def->isPublic(), '->isPublic() returns false if the instance must not be public.');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setSynthetic
-     * @covers Symfony\Component\DependencyInjection\Definition::isSynthetic
-     */
-    public function testSetIsSynthetic()
-    {
-        $def = new Definition('stdClass');
-        $this->assertFalse($def->isSynthetic(), '->isSynthetic() returns false by default');
-        $this->assertSame($def, $def->setSynthetic(true), '->setSynthetic() implements a fluent interface');
-        $this->assertTrue($def->isSynthetic(), '->isSynthetic() returns true if the instance must not be public.');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setAbstract
-     * @covers Symfony\Component\DependencyInjection\Definition::isAbstract
-     */
-    public function testSetIsAbstract()
-    {
-        $def = new Definition('stdClass');
-        $this->assertFalse($def->isAbstract(), '->isAbstract() returns false by default');
-        $this->assertSame($def, $def->setAbstract(true), '->setAbstract() implements a fluent interface');
-        $this->assertTrue($def->isAbstract(), '->isAbstract() returns true if the instance must not be public.');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::setConfigurator
-     * @covers Symfony\Component\DependencyInjection\Definition::getConfigurator
-     */
-    public function testSetGetConfigurator()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->setConfigurator('foo'), '->setConfigurator() implements a fluent interface');
-        $this->assertEquals('foo', $def->getConfigurator(), '->getConfigurator() returns the configurator');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::clearTags
-     */
-    public function testClearTags()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->clearTags(), '->clearTags() implements a fluent interface');
-        $def->addTag('foo', array('foo' => 'bar'));
-        $def->clearTags();
-        $this->assertEquals(array(), $def->getTags(), '->clearTags() removes all current tags');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::clearTags
-     */
-    public function testClearTag()
-    {
-        $def = new Definition('stdClass');
-        $this->assertSame($def, $def->clearTags(), '->clearTags() implements a fluent interface');
-        $def->addTag('1foo1', array('foo1' => 'bar1'));
-        $def->addTag('2foo2', array('foo2' => 'bar2'));
-        $def->addTag('3foo3', array('foo3' => 'bar3'));
-        $def->clearTag('2foo2');
-        $this->assertTrue($def->hasTag('1foo1'));
-        $this->assertFalse($def->hasTag('2foo2'));
-        $this->assertTrue($def->hasTag('3foo3'));
-        $def->clearTag('1foo1');
-        $this->assertFalse($def->hasTag('1foo1'));
-        $this->assertTrue($def->hasTag('3foo3'));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::addTag
-     * @covers Symfony\Component\DependencyInjection\Definition::getTag
-     * @covers Symfony\Component\DependencyInjection\Definition::getTags
-     * @covers Symfony\Component\DependencyInjection\Definition::hasTag
-     */
-    public function testTags()
-    {
-        $def = new Definition('stdClass');
-        $this->assertEquals(array(), $def->getTag('foo'), '->getTag() returns an empty array if the tag is not defined');
-        $this->assertFalse($def->hasTag('foo'));
-        $this->assertSame($def, $def->addTag('foo'), '->addTag() implements a fluent interface');
-        $this->assertTrue($def->hasTag('foo'));
-        $this->assertEquals(array(array()), $def->getTag('foo'), '->getTag() returns attributes for a tag name');
-        $def->addTag('foo', array('foo' => 'bar'));
-        $this->assertEquals(array(array(), array('foo' => 'bar')), $def->getTag('foo'), '->addTag() can adds the same tag several times');
-        $def->addTag('bar', array('bar' => 'bar'));
-        $this->assertEquals($def->getTags(), array(
-            'foo' => array(array(), array('foo' => 'bar')),
-            'bar' => array(array('bar' => 'bar')),
-        ), '->getTags() returns all tags');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Definition::replaceArgument
-     */
-    public function testSetArgument()
-    {
-        $def = new Definition('stdClass');
-
-        $def->addArgument('foo');
-        $this->assertSame(array('foo'), $def->getArguments());
-
-        $this->assertSame($def, $def->replaceArgument(0, 'moo'));
-        $this->assertSame(array('moo'), $def->getArguments());
-
-        $def->addArgument('moo');
-        $def
-            ->replaceArgument(0, 'foo')
-            ->replaceArgument(1, 'bar')
-        ;
-        $this->assertSame(array('foo', 'bar'), $def->getArguments());
-    }
-
-    /**
-     * @expectedException OutOfBoundsException
-     */
-    public function testGetArgumentShouldCheckBounds()
-    {
-        $def = new Definition('stdClass');
-
-        $def->addArgument('foo');
-        $def->getArgument(1);
-    }
-
-    /**
-     * @expectedException OutOfBoundsException
-     */
-    public function testReplaceArgumentShouldCheckBounds()
-    {
-        $def = new Definition('stdClass');
-
-        $def->addArgument('foo');
-        $def->replaceArgument(1, 'bar');
-    }
-
-    public function testSetGetProperties()
-    {
-        $def = new Definition('stdClass');
-
-        $this->assertEquals(array(), $def->getProperties());
-        $this->assertSame($def, $def->setProperties(array('foo' => 'bar')));
-        $this->assertEquals(array('foo' => 'bar'), $def->getProperties());
-    }
-
-    public function testSetProperty()
-    {
-        $def = new Definition('stdClass');
-
-        $this->assertEquals(array(), $def->getProperties());
-        $this->assertSame($def, $def->setProperty('foo', 'bar'));
-        $this->assertEquals(array('foo' => 'bar'), $def->getProperties());
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php
deleted file mode 100644
index 245c977..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Dumper;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Dumper\GraphvizDumper;
-
-class GraphvizDumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = __DIR__.'/../Fixtures/';
-    }
-
-    public function testDump()
-    {
-        $dumper = new GraphvizDumper($container = new ContainerBuilder());
-
-        $this->assertStringEqualsFile(self::$fixturesPath.'/graphviz/services1.dot', $dumper->dump(), '->dump() dumps an empty container as an empty dot file');
-
-        $container = include self::$fixturesPath.'/containers/container9.php';
-        $dumper = new GraphvizDumper($container);
-        $this->assertEquals(str_replace('%path%', __DIR__, file_get_contents(self::$fixturesPath.'/graphviz/services9.dot')), $dumper->dump(), '->dump() dumps services');
-
-        $container = include self::$fixturesPath.'/containers/container10.php';
-        $dumper = new GraphvizDumper($container);
-        $this->assertEquals(str_replace('%path%', __DIR__, file_get_contents(self::$fixturesPath.'/graphviz/services10.dot')), $dumper->dump(), '->dump() dumps services');
-
-        $container = include self::$fixturesPath.'/containers/container10.php';
-        $dumper = new GraphvizDumper($container);
-        $this->assertEquals($dumper->dump(array(
-            'graph' => array('ratio' => 'normal'),
-            'node'  => array('fontsize' => 13, 'fontname' => 'Verdana', 'shape' => 'square'),
-            'edge'  => array('fontsize' => 12, 'fontname' => 'Verdana', 'color' => 'white', 'arrowhead' => 'closed', 'arrowsize' => 1),
-            'node.instance' => array('fillcolor' => 'green', 'style' => 'empty'),
-            'node.definition' => array('fillcolor' => 'grey'),
-            'node.missing' => array('fillcolor' => 'red', 'style' => 'empty'),
-        )), str_replace('%path%', __DIR__, file_get_contents(self::$fixturesPath.'/graphviz/services10-1.dot')), '->dump() dumps services');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php
deleted file mode 100644
index 2697852..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Dumper;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Definition;
-
-class PhpDumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-    }
-
-    public function testDump()
-    {
-        $dumper = new PhpDumper($container = new ContainerBuilder());
-
-        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services1.php', $dumper->dump(), '->dump() dumps an empty container as an empty PHP class');
-        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services1-1.php', $dumper->dump(array('class' => 'Container', 'base_class' => 'AbstractContainer')), '->dump() takes a class and a base_class options');
-
-        $container = new ContainerBuilder();
-        new PhpDumper($container);
-    }
-
-    public function testDumpFrozenContainerWithNoParameter()
-    {
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->register('foo', 'stdClass');
-
-        $container->compile();
-
-        $dumper = new PhpDumper($container);
-
-        $dumpedString = $dumper->dump();
-        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services11.php', $dumpedString, '->dump() does not add getDefaultParameters() method call if container have no parameters.');
-        $this->assertNotRegexp("/function getDefaultParameters\(/", $dumpedString, '->dump() does not add getDefaultParameters() method definition.');
-    }
-
-    public function testDumpOptimizationString()
-    {
-        $definition = new Definition();
-        $definition->setClass('stdClass');
-        $definition->addArgument(array(
-            'only dot' => '.',
-            'concatenation as value' => '.\'\'.',
-            'concatenation from the start value' => '\'\'.',
-            '.' => 'dot as a key',
-            '.\'\'.' => 'concatenation as a key',
-            '\'\'.' =>'concatenation from the start key',
-            'optimize concatenation' => "string1%some_string%string2",
-            'optimize concatenation with empty string' => "string1%empty_value%string2",
-            'optimize concatenation from the start' => '%empty_value%start',
-            'optimize concatenation at the end' => 'end%empty_value%',
-        ));
-
-        $container = new ContainerBuilder();
-        $container->setResourceTracking(false);
-        $container->setDefinition('test', $definition);
-        $container->setParameter('empty_value', '');
-        $container->setParameter('some_string', '-');
-        $container->compile();
-
-        $dumper = new PhpDumper($container);
-        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services10.php', $dumper->dump(), '->dump() dumps an empty container as an empty PHP class');
-    }
-
-    /**
-     * @expectedException InvalidArgumentException
-     */
-    public function testExportParameters()
-    {
-        $dumper = new PhpDumper(new ContainerBuilder(new ParameterBag(array('foo' => new Reference('foo')))));
-        $dumper->dump();
-    }
-
-    public function testAddParameters()
-    {
-        $container = include self::$fixturesPath.'/containers/container8.php';
-        $dumper = new PhpDumper($container);
-        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services8.php', $dumper->dump(), '->dump() dumps parameters');
-    }
-
-    public function testAddService()
-    {
-        $container = include self::$fixturesPath.'/containers/container9.php';
-        $dumper = new PhpDumper($container);
-        $this->assertEquals(str_replace('%path%', str_replace('\\','\\\\',self::$fixturesPath.DIRECTORY_SEPARATOR.'includes'.DIRECTORY_SEPARATOR), file_get_contents(self::$fixturesPath.'/php/services9.php')), $dumper->dump(), '->dump() dumps services');
-
-        $dumper = new PhpDumper($container = new ContainerBuilder());
-        $container->register('foo', 'FooClass')->addArgument(new \stdClass());
-        try {
-            $dumper->dump();
-            $this->fail('->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\Symfony\Component\DependencyInjection\Exception\RuntimeException', $e, '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-            $this->assertEquals('Unable to dump a service container if a parameter is an object or a resource.', $e->getMessage(), '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        }
-    }
-
-    public function testOverrideServiceWhenUsingADumpedContainer()
-    {
-        require_once self::$fixturesPath.'/php/services9.php';
-        require_once self::$fixturesPath.'/includes/foo.php';
-
-        $container = new \ProjectServiceContainer();
-        $container->set('bar', $bar = new \stdClass());
-        $container->setParameter('foo_bar', 'foo_bar');
-
-        $this->assertEquals($bar, $container->get('bar'), '->set() overrides an already defined service');
-    }
-
-    public function testOverrideServiceWhenUsingADumpedContainerAndServiceIsUsedFromAnotherOne()
-    {
-        require_once self::$fixturesPath.'/php/services9.php';
-        require_once self::$fixturesPath.'/includes/foo.php';
-        require_once self::$fixturesPath.'/includes/classes.php';
-
-        $container = new \ProjectServiceContainer();
-        $container->set('bar', $bar = new \stdClass());
-
-        $this->assertSame($bar, $container->get('foo')->bar, '->set() overrides an already defined service');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php
deleted file mode 100644
index 9ec3438..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Dumper;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Dumper\XmlDumper;
-
-class XmlDumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-    }
-
-    public function testDump()
-    {
-        $dumper = new XmlDumper($container = new ContainerBuilder());
-
-        $this->assertXmlStringEqualsXmlFile(self::$fixturesPath.'/xml/services1.xml', $dumper->dump(), '->dump() dumps an empty container as an empty XML file');
-
-        $container = new ContainerBuilder();
-        $dumper = new XmlDumper($container);
-    }
-
-    public function testExportParameters()
-    {
-        $container = include self::$fixturesPath.'//containers/container8.php';
-        $dumper = new XmlDumper($container);
-        $this->assertXmlStringEqualsXmlFile(self::$fixturesPath.'/xml/services8.xml', $dumper->dump(), '->dump() dumps parameters');
-    }
-
-    public function testAddParameters()
-    {
-        $container = include self::$fixturesPath.'//containers/container8.php';
-        $dumper = new XmlDumper($container);
-        $this->assertXmlStringEqualsXmlFile(self::$fixturesPath.'/xml/services8.xml', $dumper->dump(), '->dump() dumps parameters');
-    }
-
-    public function testAddService()
-    {
-        $container = include self::$fixturesPath.'/containers/container9.php';
-        $dumper = new XmlDumper($container);
-        $this->assertEquals(str_replace('%path%', self::$fixturesPath.DIRECTORY_SEPARATOR.'includes'.DIRECTORY_SEPARATOR, file_get_contents(self::$fixturesPath.'/xml/services9.xml')), $dumper->dump(), '->dump() dumps services');
-
-        $dumper = new XmlDumper($container = new ContainerBuilder());
-        $container->register('foo', 'FooClass')->addArgument(new \stdClass());
-        try {
-            $dumper->dump();
-            $this->fail('->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\RuntimeException', $e, '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-            $this->assertEquals('Unable to dump a service container if a parameter is an object or a resource.', $e->getMessage(), '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        }
-    }
-
-    public function testDumpAnonymousServices()
-    {
-        include self::$fixturesPath.'/containers/container11.php';
-        $dumper = new XmlDumper($container);
-        $this->assertEquals("<?xml version=\"1.0\" encoding=\"utf-8\"?>
-<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd\">
-  <services>
-    <service id=\"foo\" class=\"FooClass\">
-      <argument type=\"service\">
-        <service class=\"BarClass\">
-          <argument type=\"service\">
-            <service class=\"BazClass\"/>
-          </argument>
-        </service>
-      </argument>
-    </service>
-  </services>
-</container>
-", $dumper->dump());
-    }
-
-    public function testDumpEntities()
-    {
-        include self::$fixturesPath.'/containers/container12.php';
-        $dumper = new XmlDumper($container);
-        $this->assertEquals("<?xml version=\"1.0\" encoding=\"utf-8\"?>
-<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd\">
-  <services>
-    <service id=\"foo\" class=\"FooClass\Foo\">
-      <tag name=\"foo&quot;bar\bar\" foo=\"foo&quot;barřž€\"/>
-      <argument>foo&lt;&gt;&amp;bar</argument>
-    </service>
-  </services>
-</container>
-", $dumper->dump());
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php
deleted file mode 100644
index ca7aec0..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Dumper;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Dumper\YamlDumper;
-
-class YamlDumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\Yaml\Yaml')) {
-            $this->markTestSkipped('The "Yaml" component is not available');
-        }
-    }
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-    }
-
-    public function testDump()
-    {
-        $dumper = new YamlDumper($container = new ContainerBuilder());
-
-        $this->assertStringEqualsFile(self::$fixturesPath.'/yaml/services1.yml', $dumper->dump(), '->dump() dumps an empty container as an empty YAML file');
-
-        $container = new ContainerBuilder();
-        $dumper = new YamlDumper($container);
-    }
-
-    public function testAddParameters()
-    {
-        $container = include self::$fixturesPath.'/containers/container8.php';
-        $dumper = new YamlDumper($container);
-        $this->assertStringEqualsFile(self::$fixturesPath.'/yaml/services8.yml', $dumper->dump(), '->dump() dumps parameters');
-    }
-
-    public function testAddService()
-    {
-        $container = include self::$fixturesPath.'/containers/container9.php';
-        $dumper = new YamlDumper($container);
-        $this->assertEquals(str_replace('%path%', self::$fixturesPath.DIRECTORY_SEPARATOR.'includes'.DIRECTORY_SEPARATOR, file_get_contents(self::$fixturesPath.'/yaml/services9.yml')), $dumper->dump(), '->dump() dumps services');
-
-        $dumper = new YamlDumper($container = new ContainerBuilder());
-        $container->register('foo', 'FooClass')->addArgument(new \stdClass());
-        try {
-            $dumper->dump();
-            $this->fail('->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\RuntimeException', $e, '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-            $this->assertEquals('Unable to dump a service container if a parameter is an object or a resource.', $e->getMessage(), '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container10.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container10.php
deleted file mode 100644
index a16ca9f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container10.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-require_once __DIR__.'/../includes/classes.php';
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Reference;
-
-$container = new ContainerBuilder();
-$container->
-    register('foo', 'FooClass')->
-    addArgument(new Reference('bar'))
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container11.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container11.php
deleted file mode 100644
index 3e6cafc..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container11.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Definition;
-
-$container = new ContainerBuilder();
-$container->
-    register('foo', 'FooClass')->
-    addArgument(new Definition('BarClass', array(new Definition('BazClass'))))
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container12.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container12.php
deleted file mode 100644
index 0dc8679..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container12.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Definition;
-
-$container = new ContainerBuilder();
-$container->
-    register('foo', 'FooClass\\Foo')->
-    addArgument('foo<>&bar')->
-    addTag('foo"bar\\bar', array('foo' => 'foo"barřž€'))
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php
deleted file mode 100644
index 28c6536..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-$container = new ContainerBuilder(new ParameterBag(array(
-    'FOO'    => '%baz%',
-    'baz'    => 'bar',
-    'bar'    => 'foo is %%foo bar',
-    'values' => array(true, false, null, 0, 1000.3, 'true', 'false', 'null'),
-)));
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php
deleted file mode 100644
index 663f2a7..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-require_once __DIR__.'/../includes/classes.php';
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Parameter;
-
-$container = new ContainerBuilder();
-$container->
-    register('foo', 'FooClass')->
-    addTag('foo', array('foo' => 'foo'))->
-    addTag('foo', array('bar' => 'bar'))->
-    setFactoryClass('FooClass')->
-    setFactoryMethod('getInstance')->
-    setArguments(array('foo', new Reference('foo.baz'), array('%foo%' => 'foo is %foo%', 'bar' => '%foo%'), true, new Reference('service_container')))->
-    setProperties(array('foo' => 'bar', 'moo' => new Reference('foo.baz')))->
-    setScope('prototype')->
-    addMethodCall('setBar', array(new Reference('bar')))->
-    addMethodCall('initialize')->
-    setConfigurator('sc_configure')
-;
-$container->
-    register('bar', 'FooClass')->
-    setArguments(array('foo', new Reference('foo.baz'), new Parameter('foo_bar')))->
-    setScope('container')->
-    setConfigurator(array(new Reference('foo.baz'), 'configure'))
-;
-$container->
-    register('foo.baz', '%baz_class%')->
-    setFactoryClass('%baz_class%')->
-    setFactoryMethod('getInstance')->
-    setConfigurator(array('%baz_class%', 'configureStatic1'))
-;
-$container->register('foo_bar', '%foo_class%');
-$container->getParameterBag()->clear();
-$container->getParameterBag()->add(array(
-    'baz_class' => 'BazClass',
-    'foo_class' => 'FooClass',
-    'foo' => 'bar',
-));
-$container->setAlias('alias_for_foo', 'foo');
-$container->
-    register('method_call1', 'FooClass')->
-    setFile(realpath(__DIR__.'/../includes/foo.php'))->
-    addMethodCall('setBar', array(new Reference('foo')))->
-    addMethodCall('setBar', array(new Reference('foo2', ContainerInterface::NULL_ON_INVALID_REFERENCE)))->
-    addMethodCall('setBar', array(new Reference('foo3', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))->
-    addMethodCall('setBar', array(new Reference('foobaz', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))
-;
-$container->
-    register('factory_service')->
-    setFactoryService('foo.baz')->
-    setFactoryMethod('getInstance')
-;
-
-return $container;
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces1.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces1.php
deleted file mode 100644
index 27503a3..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces1.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Definition;
-
-$container = new ContainerBuilder();
-$container->setParameter('cla', 'Fo');
-$container->setParameter('ss', 'Class');
-
-$definition = new Definition('%cla%o%ss%');
-$container->setDefinition('foo', $definition);
-
-return $container;
-
-if (!class_exists('FooClass')) {
-    class FooClass
-    {
-        public $bar;
-
-        public function setBar($bar)
-        {
-            $this->bar = $bar;
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces2.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces2.php
deleted file mode 100644
index a851901..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces2.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Definition;
-
-$container = new ContainerBuilder();
-
-$factoryDefinition = new Definition('BarClassFactory');
-$container->setDefinition('barFactory', $factoryDefinition);
-
-$definition = new Definition();
-$definition->setFactoryService('barFactory');
-$definition->setFactoryMethod('createBarClass');
-$container->setDefinition('bar', $definition);
-
-return $container;
-
-class BarClass
-{
-    public $foo;
-
-    public function setBar($foo)
-    {
-        $this->foo = $foo;
-    }
-}
-
-class BarClassFactory
-{
-    public function createBarClass()
-    {
-        return new BarClass();
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services1.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services1.dot
deleted file mode 100644
index 1bb7c30..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services1.dot
+++ /dev/null
@@ -1,7 +0,0 @@
-digraph sc {
-  ratio="compress"
-  node [fontsize="11" fontname="Arial" shape="record"];
-  edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"];
-
-  node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=record, fillcolor="#9999ff", style="filled"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10-1.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10-1.dot
deleted file mode 100644
index 0e578b1..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10-1.dot
+++ /dev/null
@@ -1,10 +0,0 @@
-digraph sc {
-  ratio="normal"
-  node [fontsize="13" fontname="Verdana" shape="square"];
-  edge [fontsize="12" fontname="Verdana" color="white" arrowhead="closed" arrowsize="1"];
-
-  node_foo [label="foo\nFooClass\n", shape=square, fillcolor="grey", style="filled"];
-  node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=square, fillcolor="green", style="empty"];
-  node_bar [label="bar\n\n", shape=square, fillcolor="red", style="empty"];
-  node_foo -> node_bar [label="" style="filled"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10.dot
deleted file mode 100644
index f17857f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10.dot
+++ /dev/null
@@ -1,10 +0,0 @@
-digraph sc {
-  ratio="compress"
-  node [fontsize="11" fontname="Arial" shape="record"];
-  edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"];
-
-  node_foo [label="foo\nFooClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=record, fillcolor="#9999ff", style="filled"];
-  node_bar [label="bar\n\n", shape=record, fillcolor="#ff9999", style="filled"];
-  node_foo -> node_bar [label="" style="filled"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services9.dot b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services9.dot
deleted file mode 100644
index fdff221..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services9.dot
+++ /dev/null
@@ -1,25 +0,0 @@
-digraph sc {
-  ratio="compress"
-  node [fontsize="11" fontname="Arial" shape="record"];
-  edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"];
-
-  node_foo [label="foo (alias_for_foo)\nFooClass\n", shape=record, fillcolor="#eeeeee", style="dotted"];
-  node_bar [label="bar\nFooClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_foo_baz [label="foo.baz\nBazClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_foo_bar [label="foo_bar\nFooClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_method_call1 [label="method_call1\nFooClass\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_factory_service [label="factory_service\n\n", shape=record, fillcolor="#eeeeee", style="filled"];
-  node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=record, fillcolor="#9999ff", style="filled"];
-  node_foo2 [label="foo2\n\n", shape=record, fillcolor="#ff9999", style="filled"];
-  node_foo3 [label="foo3\n\n", shape=record, fillcolor="#ff9999", style="filled"];
-  node_foobaz [label="foobaz\n\n", shape=record, fillcolor="#ff9999", style="filled"];
-  node_foo -> node_foo_baz [label="" style="filled"];
-  node_foo -> node_service_container [label="" style="filled"];
-  node_foo -> node_foo_baz [label="" style="dashed"];
-  node_foo -> node_bar [label="setBar()" style="dashed"];
-  node_bar -> node_foo_baz [label="" style="filled"];
-  node_method_call1 -> node_foo [label="setBar()" style="dashed"];
-  node_method_call1 -> node_foo2 [label="setBar()" style="dashed"];
-  node_method_call1 -> node_foo3 [label="setBar()" style="dashed"];
-  node_method_call1 -> node_foobaz [label="setBar()" style="dashed"];
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectExtension.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectExtension.php
deleted file mode 100644
index 81ff7aa..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectExtension.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
-
-class ProjectExtension implements ExtensionInterface
-{
-    public function load(array $configs, ContainerBuilder $configuration)
-    {
-        $config = call_user_func_array('array_merge', $configs);
-
-        $configuration->setDefinition('project.service.bar', new Definition('FooClass'));
-        $configuration->setParameter('project.parameter.bar', isset($config['foo']) ? $config['foo'] : 'foobar');
-
-        $configuration->setDefinition('project.service.foo', new Definition('FooClass'));
-        $configuration->setParameter('project.parameter.foo', isset($config['foo']) ? $config['foo'] : 'foobar');
-
-        return $configuration;
-    }
-
-    public function getXsdValidationBasePath()
-    {
-        return false;
-    }
-
-    public function getNamespace()
-    {
-        return 'http://www.example.com/schema/project';
-    }
-
-    public function getAlias()
-    {
-        return 'project';
-    }
-
-    public function getConfiguration(array $config, ContainerBuilder $container)
-    {
-        return null;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtension.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtension.php
deleted file mode 100644
index 2ee2f12..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtension.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-class ProjectWithXsdExtension extends ProjectExtension
-{
-    public function getXsdValidationBasePath()
-    {
-        return __DIR__.'/schema';
-    }
-
-    public function getNamespace()
-    {
-        return 'http://www.example.com/schema/projectwithxsd';
-    }
-
-    public function getAlias()
-    {
-        return 'projectwithxsd';
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar
deleted file mode 100644
index 402e17b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php require_once "phar://ProjectWithXsdExtensionInPhar.phar/ProjectWithXsdExtensionInPhar.php"; __HALT_COMPILER(); ?>
-          "   ProjectWithXsdExtensionInPhar.phar    !   ProjectWithXsdExtensionInPhar.php~  akM~            schema/project-1.0.xsd  akM  Qp      <?php
-
-class ProjectWithXsdExtensionInPhar extends ProjectExtension
-{
-    public function getXsdValidationBasePath()
-    {
-        return __DIR__.'/schema';
-    }
-
-    public function getNamespace()
-    {
-        return 'http://www.example.com/schema/projectwithxsdinphar';
-    }
-
-    public function getAlias()
-    {
-        return 'projectwithxsdinphar';
-    }
-}<?xml version="1.0" encoding="UTF-8" ?>
-
-<xsd:schema xmlns="http://www.example.com/schema/projectwithxsdinphar"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    targetNamespace="http://www.example.com/schema/projectwithxsdinphar"
-    elementFormDefault="qualified">
-
-  <xsd:element name="bar" type="bar" />
-
-  <xsd:complexType name="bar">
-    <xsd:attribute name="foo" type="xsd:string" />
-  </xsd:complexType>
-</xsd:schema>W]ʯ`5,,)EY   GBMB
\ No newline at end of file
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/classes.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/classes.php
deleted file mode 100644
index 514df23..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/classes.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-function sc_configure($instance)
-{
-    $instance->configure();
-}
-
-class BarClass
-{
-}
-
-class BazClass
-{
-    public function configure($instance)
-    {
-        $instance->configure();
-    }
-
-    public static function getInstance()
-    {
-        return new self();
-    }
-
-    public static function configureStatic($instance)
-    {
-        $instance->configure();
-    }
-
-    public static function configureStatic1()
-    {
-    }
-}
-
-class BarUserClass
-{
-    public $bar;
-
-    public function __construct(BarClass $bar)
-    {
-        $this->bar = $bar;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/createphar.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/createphar.php
deleted file mode 100644
index a593351..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/createphar.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-$file = __DIR__ . '/ProjectWithXsdExtensionInPhar.phar';
-if (is_file($file)) {
-    @unlink($file);
-}
-
-$phar = new Phar($file, 0, 'ProjectWithXsdExtensionInPhar.phar');
-$phar->addFromString('ProjectWithXsdExtensionInPhar.php',<<<EOT
-<?php
-
-class ProjectWithXsdExtensionInPhar extends ProjectExtension
-{
-    public function getXsdValidationBasePath()
-    {
-        return __DIR__.'/schema';
-    }
-
-    public function getNamespace()
-    {
-        return 'http://www.example.com/schema/projectwithxsdinphar';
-    }
-
-    public function getAlias()
-    {
-        return 'projectwithxsdinphar';
-    }
-}
-EOT
-);
-$phar->addFromString('schema/project-1.0.xsd', <<<EOT
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<xsd:schema xmlns="http://www.example.com/schema/projectwithxsdinphar"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    targetNamespace="http://www.example.com/schema/projectwithxsdinphar"
-    elementFormDefault="qualified">
-
-  <xsd:element name="bar" type="bar" />
-
-  <xsd:complexType name="bar">
-    <xsd:attribute name="foo" type="xsd:string" />
-  </xsd:complexType>
-</xsd:schema>
-EOT
-);
-$phar->setStub('<?php require_once "phar://ProjectWithXsdExtensionInPhar.phar/ProjectWithXsdExtensionInPhar.php"; __HALT_COMPILER(); ?>');
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/foo.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/foo.php
deleted file mode 100644
index 180bb38..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/foo.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-class FooClass
-{
-    public $foo, $moo;
-
-    public $bar = null, $initialized = false, $configured = false, $called = false, $arguments = array();
-
-    public function __construct($arguments = array())
-    {
-        $this->arguments = $arguments;
-    }
-
-    public static function getInstance($arguments = array())
-    {
-        $obj = new self($arguments);
-        $obj->called = true;
-
-        return $obj;
-    }
-
-    public function initialize()
-    {
-        $this->initialized = true;
-    }
-
-    public function configure()
-    {
-        $this->configured = true;
-    }
-
-    public function setBar($value = null)
-    {
-        $this->bar = $value;
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/schema/project-1.0.xsd b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/schema/project-1.0.xsd
deleted file mode 100644
index 282884e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/schema/project-1.0.xsd
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<xsd:schema xmlns="http://www.example.com/schema/projectwithxsd"
-    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    targetNamespace="http://www.example.com/schema/projectwithxsd"
-    elementFormDefault="qualified">
-
-  <xsd:element name="bar" type="bar" />
-
-  <xsd:complexType name="bar">
-    <xsd:attribute name="foo" type="xsd:string" />
-  </xsd:complexType>
-</xsd:schema>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/nonvalid.ini b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/nonvalid.ini
deleted file mode 100644
index 9f84a60..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/nonvalid.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-{NOT AN INI FILE}
-{JUST A PLAIN TEXT FILE}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters.ini b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters.ini
deleted file mode 100644
index df92f75..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[parameters]
-  foo = bar
-  bar = %foo%
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters1.ini b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters1.ini
deleted file mode 100644
index e50f722..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters1.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[parameters]
-  FOO = foo
-  baz = baz
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters2.ini b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters2.ini
deleted file mode 100644
index 75fbac6..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters2.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[parameters]
-  imported_from_ini = true
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1.php
deleted file mode 100644
index bc093ef..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Parameter;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-/**
- * ProjectServiceContainer
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class ProjectServiceContainer extends Container
-{
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        parent::__construct();
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php
deleted file mode 100644
index 53aa8bd..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Parameter;
-use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
-
-/**
- * ProjectServiceContainer
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class ProjectServiceContainer extends Container
-{
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        $this->parameters = $this->getDefaultParameters();
-
-        $this->services =
-        $this->scopedServices =
-        $this->scopeStacks = array();
-
-        $this->set('service_container', $this);
-
-        $this->scopes = array();
-        $this->scopeChildren = array();
-    }
-
-    /**
-     * Gets the 'test' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return stdClass A stdClass instance.
-     */
-    protected function getTestService()
-    {
-        return $this->services['test'] = new \stdClass(array('only dot' => '.', 'concatenation as value' => '.\'\'.', 'concatenation from the start value' => '\'\'.', '.' => 'dot as a key', '.\'\'.' => 'concatenation as a key', '\'\'.' => 'concatenation from the start key', 'optimize concatenation' => 'string1-string2', 'optimize concatenation with empty string' => 'string1string2', 'optimize concatenation from the start' => 'start', 'optimize concatenation at the end' => 'end'));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParameter($name)
-    {
-        $name = strtolower($name);
-
-        if (!array_key_exists($name, $this->parameters)) {
-            throw new InvalidArgumentException(sprintf('The parameter "%s" must be defined.', $name));
-        }
-
-        return $this->parameters[$name];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hasParameter($name)
-    {
-        return array_key_exists(strtolower($name), $this->parameters);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParameter($name, $value)
-    {
-        throw new LogicException('Impossible to call set() on a frozen ParameterBag.');
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function getParameterBag()
-    {
-        if (null === $this->parameterBag) {
-            $this->parameterBag = new FrozenParameterBag($this->parameters);
-        }
-
-        return $this->parameterBag;
-    }
-    /**
-     * Gets the default parameters.
-     *
-     * @return array An array of the default parameters
-     */
-    protected function getDefaultParameters()
-    {
-        return array(
-            'empty_value' => '',
-            'some_string' => '-',
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php
deleted file mode 100644
index 77e4183..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Parameter;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-/**
- * ProjectServiceContainer
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class ProjectServiceContainer extends Container
-{
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        parent::__construct(new ParameterBag($this->getDefaultParameters()));
-    }
-
-    /**
-     * Gets the default parameters.
-     *
-     * @return array An array of the default parameters
-     */
-    protected function getDefaultParameters()
-    {
-        return array(
-            'foo' => '%baz%',
-            'baz' => 'bar',
-            'bar' => 'foo is %%foo bar',
-            'values' => array(
-                0 => true,
-                1 => false,
-                2 => NULL,
-                3 => 0,
-                4 => 1000.3,
-                5 => 'true',
-                6 => 'false',
-                7 => 'null',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
deleted file mode 100644
index a0d2ece..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
+++ /dev/null
@@ -1,160 +0,0 @@
-<?php
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Exception\InactiveScopeException;
-use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
-use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Parameter;
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-
-/**
- * ProjectServiceContainer
- *
- * This class has been auto-generated
- * by the Symfony Dependency Injection Component.
- */
-class ProjectServiceContainer extends Container
-{
-    /**
-     * Constructor.
-     */
-    public function __construct()
-    {
-        parent::__construct(new ParameterBag($this->getDefaultParameters()));
-    }
-
-    /**
-     * Gets the 'bar' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return FooClass A FooClass instance.
-     */
-    protected function getBarService()
-    {
-        $this->services['bar'] = $instance = new \FooClass('foo', $this->get('foo.baz'), $this->getParameter('foo_bar'));
-
-        $this->get('foo.baz')->configure($instance);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'factory_service' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return Object An instance returned by foo.baz::getInstance().
-     */
-    protected function getFactoryServiceService()
-    {
-        return $this->services['factory_service'] = $this->get('foo.baz')->getInstance();
-    }
-
-    /**
-     * Gets the 'foo' service.
-     *
-     * @return FooClass A FooClass instance.
-     */
-    protected function getFooService()
-    {
-        $a = $this->get('foo.baz');
-
-        $instance = call_user_func(array('FooClass', 'getInstance'), 'foo', $a, array($this->getParameter('foo') => 'foo is '.$this->getParameter('foo').'', 'bar' => $this->getParameter('foo')), true, $this);
-
-        $instance->setBar($this->get('bar'));
-        $instance->initialize();
-        $instance->foo = 'bar';
-        $instance->moo = $a;
-        sc_configure($instance);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'foo.baz' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return Object A %baz_class% instance.
-     */
-    protected function getFoo_BazService()
-    {
-        $this->services['foo.baz'] = $instance = call_user_func(array($this->getParameter('baz_class'), 'getInstance'));
-
-        call_user_func(array($this->getParameter('baz_class'), 'configureStatic1'), $instance);
-
-        return $instance;
-    }
-
-    /**
-     * Gets the 'foo_bar' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return Object A %foo_class% instance.
-     */
-    protected function getFooBarService()
-    {
-        $class = $this->getParameter('foo_class');
-
-        return $this->services['foo_bar'] = new $class();
-    }
-
-    /**
-     * Gets the 'method_call1' service.
-     *
-     * This service is shared.
-     * This method always returns the same instance of the service.
-     *
-     * @return FooClass A FooClass instance.
-     */
-    protected function getMethodCall1Service()
-    {
-        require_once '%path%foo.php';
-
-        $this->services['method_call1'] = $instance = new \FooClass();
-
-        $instance->setBar($this->get('foo'));
-        $instance->setBar($this->get('foo2', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-        if ($this->has('foo3')) {
-            $instance->setBar($this->get('foo3', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-        }
-        if ($this->has('foobaz')) {
-            $instance->setBar($this->get('foobaz', ContainerInterface::NULL_ON_INVALID_REFERENCE));
-        }
-
-        return $instance;
-    }
-
-    /**
-     * Gets the alias_for_foo service alias.
-     *
-     * @return FooClass An instance of the foo service
-     */
-    protected function getAliasForFooService()
-    {
-        return $this->get('foo');
-    }
-
-    /**
-     * Gets the default parameters.
-     *
-     * @return array An array of the default parameters
-     */
-    protected function getDefaultParameters()
-    {
-        return array(
-            'baz_class' => 'BazClass',
-            'foo_class' => 'FooClass',
-            'foo' => 'bar',
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/simple.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/simple.php
deleted file mode 100644
index aa4df99..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/simple.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-$container->setParameter('foo', 'foo');
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension1/services.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension1/services.xml
deleted file mode 100644
index 52df38d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension1/services.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <services>
-    <service id="extension1.foo" class="FooClass1">
-      <argument type="service">
-        <service class="BarClass1">
-        </service>
-      </argument>
-    </service>
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension2/services.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension2/services.xml
deleted file mode 100644
index 21a7ef5..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension2/services.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <services>
-    <service id="extension2.foo" class="FooClass2">
-      <argument type="service">
-        <service class="BarClass2">
-        </service>
-      </argument>
-    </service>
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services1.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services1.xml
deleted file mode 100644
index 792fa07..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services1.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:project="http://www.example.com/schema/project">
-
-    <parameters>
-        <parameter key="project.parameter.foo">BAR</parameter>
-    </parameters>
-
-    <services>
-        <service id="project.service.foo" class="BAR" />
-    </services>
-
-    <project:bar babar="babar">
-        <another />
-        <another2>%project.parameter.foo%</another2>
-    </project:bar>
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services2.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services2.xml
deleted file mode 100644
index 67d462b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services2.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:project="http://www.example.com/schema/projectwithxsd"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://www.example.com/schema/projectwithxsd http://www.example.com/schema/projectwithxsd/project-1.0.xsd">
-
-    <parameters>
-        <parameter key="project.parameter.foo">BAR</parameter>
-    </parameters>
-
-    <services>
-        <service id="project.service.foo" class="BAR" />
-    </services>
-
-    <project:bar />
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services3.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services3.xml
deleted file mode 100644
index c23f02a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services3.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:project="http://www.example.com/schema/projectwithxsd"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://www.example.com/schema/projectwithxsd http://www.example.com/schema/projectwithxsd/project-1.0.xsd">
-
-    <parameters>
-        <parameter key="project.parameter.foo">BAR</parameter>
-    </parameters>
-
-    <services>
-        <service id="project.service.foo" class="BAR" />
-    </services>
-
-    <project:bar bar="bar" />
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services4.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services4.xml
deleted file mode 100644
index 2c33c3a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services4.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:project="http://www.example.com/schema/not_registered_extension">
-  <project:bar />
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services5.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services5.xml
deleted file mode 100644
index 0eaaff2..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services5.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:project="http://www.example.com/schema/projectwithxsd"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://www.example.com/schema/projectwithxsd http://www.example.com/schema/projectwithxsd/project-1.0.xsd">
-
-    <project:foobar />
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services6.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services6.xml
deleted file mode 100644
index a9c0103..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services6.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:project="http://www.example.com/schema/projectwithxsdinphar"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://www.example.com/schema/projectwithxsdinphar http://www.example.com/schema/projectwithxsdinphar/project-1.0.xsd">
-
-    <project:bar />
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services7.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services7.xml
deleted file mode 100644
index e77780d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services7.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:project="http://www.example.com/schema/projectwithxsdinphar"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
-                        http://www.example.com/schema/projectwithxsdinphar http://www.example.com/schema/projectwithxsdinphar/project-1.0.xsd">
-
-    <project:bar bar="foo" />
-
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/nonvalid.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/nonvalid.xml
deleted file mode 100644
index e7b5bc9..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/nonvalid.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" ?>
-
-<nonvalid />
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services1.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services1.xml
deleted file mode 100644
index 6aa5732..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services1.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"/>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services13.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services13.xml
deleted file mode 100644
index 1ac4938..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services13.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <parameters>
-    <parameter key="imported_from_xml">true</parameter>
-  </parameters>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services2.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services2.xml
deleted file mode 100644
index bada1c8..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services2.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <parameters>
-    <parameter>a string</parameter>
-    <parameter key="FOO">bar</parameter>
-    <parameter key="values" type="collection">
-      <parameter>0</parameter>
-      <parameter key="integer">4</parameter>
-      <parameter key="100">null</parameter>
-      <parameter type="string">true</parameter>
-      <parameter>true</parameter>
-      <parameter>false</parameter>
-      <parameter>on</parameter>
-      <parameter>off</parameter>
-      <parameter key="float">1.3</parameter>
-      <parameter>1,000.3</parameter>
-      <parameter>a string</parameter>
-      <parameter type="collection">
-        <parameter>foo</parameter>
-        <parameter>bar</parameter>
-      </parameter>
-    </parameter>
-    <parameter key="foo_bar" type="service" id="foo_bar" />
-    <parameter key="MixedCase" type="collection"> <!-- Should be lower cased -->
-      <parameter key="MixedCaseKey">value</parameter> <!-- Should stay mixed case -->
-    </parameter>
-  </parameters>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services3.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services3.xml
deleted file mode 100644
index 87bf183..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <parameters>
-    <parameter key="foo">foo</parameter>
-    <parameter key="values" type="collection">
-      <parameter>true</parameter>
-      <parameter>false</parameter>
-    </parameter>
-  </parameters>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4.xml
deleted file mode 100644
index 03ad9f8..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <imports>
-    <import resource="services2.xml" />
-    <import resource="services3.xml" />
-    <import resource="../ini/parameters.ini" />
-    <import resource="../ini/parameters2.ini" />
-    <import resource="../yaml/services13.yml" />
-  </imports>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4_bad_import.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4_bad_import.xml
deleted file mode 100644
index 0b7f10a..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4_bad_import.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <imports>
-    <import resource="foo_fake.xml" ignore-errors="true" />
-  </imports>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services5.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services5.xml
deleted file mode 100644
index acb93e7..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services5.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <services>
-    <service id="foo" class="FooClass">
-      <argument type="service">
-        <service class="BarClass">
-          <argument type="service">
-            <service class="BazClass">
-            </service>
-          </argument>
-        </service>
-      </argument>
-      <property name="p" type="service">
-        <service class="BazClass" />
-      </property>
-    </service>
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services6.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services6.xml
deleted file mode 100644
index 45bc042..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services6.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <services>
-    <service id="foo" class="FooClass" />
-    <service id="baz" class="BazClass" />
-    <service id="scope.container" class="FooClass" scope="container" />
-    <service id="scope.custom" class="FooClass" scope="custom" />
-    <service id="scope.prototype" class="FooClass" scope="prototype" />
-    <service id="constructor" class="FooClass" factory-method="getInstance" />
-    <service id="file" class="FooClass">
-      <file>%path%/foo.php</file>
-    </service>
-    <service id="arguments" class="FooClass">
-      <argument>foo</argument>
-      <argument type="service" id="foo" />
-      <argument type="collection">
-        <argument>true</argument>
-        <argument>false</argument>
-      </argument>
-    </service>
-    <service id="configurator1" class="FooClass">
-      <configurator function="sc_configure" />
-    </service>
-    <service id="configurator2" class="FooClass">
-      <configurator service="baz" method="configure" />
-    </service>
-    <service id="configurator3" class="FooClass">
-      <configurator class="BazClass" method="configureStatic" />
-    </service>
-    <service id="method_call1" class="FooClass">
-      <call method="setBar" />
-    </service>
-    <service id="method_call2" class="FooClass">
-      <call method="setBar">
-        <argument>foo</argument>
-        <argument type="service" id="foo" />
-        <argument type="collection">
-          <argument>true</argument>
-          <argument>false</argument>
-        </argument>
-      </call>
-    </service>
-    <service id="alias_for_foo" alias="foo" />
-    <service id="another_alias_for_foo" alias="foo" public="false" />
-    <service id="factory_service" factory-method="getInstance" factory-service="baz_factory" />
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services7.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services7.xml
deleted file mode 100644
index 824d8b5..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services7.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <services>
-    <service id="foo" class="BarClass" />
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml
deleted file mode 100644
index f11d606..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" ?>
-
-<container xmlns="http://symfony.com/schema/dic/services"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <parameters>
-    <parameter key="foo">%baz%</parameter>
-    <parameter key="baz">bar</parameter>
-    <parameter key="bar">foo is %%foo bar</parameter>
-    <parameter key="values" type="collection">
-      <parameter>true</parameter>
-      <parameter>false</parameter>
-      <parameter>null</parameter>
-      <parameter>0</parameter>
-      <parameter>1000.3</parameter>
-      <parameter type="string">true</parameter>
-      <parameter type="string">false</parameter>
-      <parameter type="string">null</parameter>
-    </parameter>
-  </parameters>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services9.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services9.xml
deleted file mode 100644
index a73fb3e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services9.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
-  <parameters>
-    <parameter key="baz_class">BazClass</parameter>
-    <parameter key="foo_class">FooClass</parameter>
-    <parameter key="foo">bar</parameter>
-  </parameters>
-  <services>
-    <service id="foo" class="FooClass" factory-method="getInstance" scope="prototype">
-      <tag name="foo" foo="foo"/>
-      <tag name="foo" bar="bar"/>
-      <argument>foo</argument>
-      <argument type="service" id="foo.baz"/>
-      <argument type="collection">
-        <argument key="%foo%">foo is %foo%</argument>
-        <argument key="bar">%foo%</argument>
-      </argument>
-      <argument>true</argument>
-      <argument type="service" id="service_container"/>
-      <property name="foo">bar</property>
-      <property name="moo" type="service" id="foo.baz"/>
-      <call method="setBar">
-        <argument type="service" id="bar"/>
-      </call>
-      <call method="initialize"/>
-      <configurator function="sc_configure"/>
-    </service>
-    <service id="bar" class="FooClass">
-      <argument>foo</argument>
-      <argument type="service" id="foo.baz"/>
-      <argument>%foo_bar%</argument>
-      <configurator service="foo.baz" method="configure"/>
-    </service>
-    <service id="foo.baz" class="%baz_class%" factory-method="getInstance">
-      <configurator class="%baz_class%" method="configureStatic1"/>
-    </service>
-    <service id="foo_bar" class="%foo_class%"/>
-    <service id="method_call1" class="FooClass">
-      <file>%path%foo.php</file>
-      <call method="setBar">
-        <argument type="service" id="foo"/>
-      </call>
-      <call method="setBar">
-        <argument type="service" id="foo2" on-invalid="null"/>
-      </call>
-      <call method="setBar">
-        <argument type="service" id="foo3" on-invalid="ignore"/>
-      </call>
-      <call method="setBar">
-        <argument type="service" id="foobaz" on-invalid="ignore"/>
-      </call>
-    </service>
-    <service id="factory_service" factory-method="getInstance" factory-service="foo.baz"/>
-    <service id="alias_for_foo" alias="foo"/>
-  </services>
-</container>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml
deleted file mode 100644
index f217d5b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE foo>
-<foo></foo>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag1.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag1.yml
deleted file mode 100644
index 14536fd..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag1.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-services:
-    foo_service:
-        class:    FooClass
-        # tags is not an array
-        tags:     string
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag2.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag2.yml
deleted file mode 100644
index 9028814..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag2.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-services:
-    foo_service:
-        class:    FooClass
-        tags:
-          # tag is missing the name key
-          foo_tag:   { foo: bar }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag3.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag3.yml
deleted file mode 100644
index 8137fab..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag3.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-services:
-    foo_service:
-        class:    FooClass
-        tags:
-          # tag-attribute is not a scalar
-          - { name: foo, foo: { foo: foo, bar: bar } }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid1.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid1.yml
deleted file mode 100644
index 4eddb87..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid1.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-foo:
-  bar
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid2.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid2.yml
deleted file mode 100644
index c508d53..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid2.yml
+++ /dev/null
@@ -1 +0,0 @@
-false
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services1.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services1.yml
deleted file mode 100644
index 8b13789..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services1.yml
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services10.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services10.yml
deleted file mode 100644
index f2f8d95..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services10.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-parameters:
-    project.parameter.foo: BAR
-
-services:
-    project.service.foo:
-        class: BAR
-
-project:
-    test: %project.parameter.foo%
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services11.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services11.yml
deleted file mode 100644
index 40126f0..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services11.yml
+++ /dev/null
@@ -1 +0,0 @@
-foobarfoobar: {}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services13.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services13.yml
deleted file mode 100644
index d52d355..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services13.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-# used to test imports in XML
-parameters:
-    imported_from_yaml: true
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services2.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services2.yml
deleted file mode 100644
index 8ddfe0d..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services2.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-parameters:
-    FOO: bar
-    values:
-        - true
-        - false
-        - 0
-        - 1000.3
-    bar: foo
-    foo_bar: @foo_bar
-    MixedCase:
-        MixedCaseKey: value
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services3.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services3.yml
deleted file mode 100644
index 0e92cdf..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services3.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-parameters:
-    foo: foo
-    values:
-        - true
-        - false
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4.yml
deleted file mode 100644
index 18f1065..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-imports:
-    - { resource: services2.yml }
-    - { resource: services3.yml }
-    - { resource: "../ini/parameters.ini", class: Symfony\Component\DependencyInjection\Loader\IniFileLoader }
-    - { resource: "../ini/parameters2.ini" }
-    - { resource: "../xml/services13.xml" }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4_bad_import.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4_bad_import.yml
deleted file mode 100644
index f7089fc..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4_bad_import.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-imports:
-    - { resource: foo_fake.yml, ignore_errors: true }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services6.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services6.yml
deleted file mode 100644
index eaa52bd..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services6.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-services:
-    foo: { class: FooClass }
-    baz: { class: BazClass }
-    scope.container: { class: FooClass, scope: container }
-    scope.custom: { class: FooClass, scope: custom }
-    scope.prototype: { class: FooClass, scope: prototype }
-    constructor: { class: FooClass, factory_method: getInstance }
-    file: { class: FooClass, file: %path%/foo.php }
-    arguments: { class: FooClass, arguments: [foo, @foo, [true, false]] }
-    configurator1: { class: FooClass, configurator: sc_configure }
-    configurator2: { class: FooClass, configurator: [@baz, configure] }
-    configurator3: { class: FooClass, configurator: [BazClass, configureStatic] }
-    method_call1:
-        class: FooClass
-        calls:
-            - [ setBar, [] ]
-            - [ setBar ]
-    method_call2:
-        class: FooClass
-        calls:
-            - [ setBar, [ foo, @foo, [true, false] ] ]
-    alias_for_foo: @foo
-    another_alias_for_foo:
-        alias: foo
-        public: false
-    factory_service: { class: BazClass, factory_method: getInstance, factory_service: baz_factory }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services7.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services7.yml
deleted file mode 100644
index 09064f2..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services7.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-services:
-    foo: { class: BarClass }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml
deleted file mode 100644
index 5e74748..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-parameters:
-    foo: '%baz%'
-    baz: bar
-    bar: 'foo is %%foo bar'
-    values: [true, false, null, 0, 1000.3, 'true', 'false', 'null']
-
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services9.yml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services9.yml
deleted file mode 100644
index 0fd2ae3..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services9.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-parameters:
-    baz_class: BazClass
-    foo_class: FooClass
-    foo: bar
-
-services:
-    foo:
-        class: FooClass
-        tags:
-            - { name: foo, foo: foo }
-            - { name: foo, bar: bar }
-        factory_method: getInstance
-        arguments: [foo, '@foo.baz', { '%foo%': 'foo is %foo%', bar: '%foo%' }, true, '@service_container']
-        properties: { foo: bar, moo: '@foo.baz' }
-        calls:
-            - [setBar, ['@bar']]
-            - [initialize, {  }]
-
-        scope: prototype
-        configurator: sc_configure
-    bar:
-        class: FooClass
-        arguments: [foo, '@foo.baz', '%foo_bar%']
-        configurator: ['@foo.baz', configure]
-    foo.baz:
-        class: %baz_class%
-        factory_method: getInstance
-        configurator: ['%baz_class%', configureStatic1]
-    foo_bar:
-        class: %foo_class%
-    method_call1:
-        class: FooClass
-        file: %path%foo.php
-        calls:
-            - [setBar, ['@foo']]
-            - [setBar, ['@?foo2']]
-            - [setBar, ['@?foo3']]
-            - [setBar, ['@?foobaz']]
-
-    factory_service:
-        factory_method: getInstance
-        factory_service: foo.baz
-    alias_for_foo: @foo
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/ClosureLoaderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/ClosureLoaderTest.php
deleted file mode 100644
index 33594d6..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/ClosureLoaderTest.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Loader\ClosureLoader;
-
-class ClosureLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\Config\Loader\Loader')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\ClosureLoader::supports
-     */
-    public function testSupports()
-    {
-        $loader = new ClosureLoader(new ContainerBuilder());
-
-        $this->assertTrue($loader->supports(function ($container) {}), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\ClosureLoader::load
-     */
-    public function testLoad()
-    {
-        $loader = new ClosureLoader($container = new ContainerBuilder());
-
-        $loader->load(function ($container) {
-            $container->setParameter('foo', 'foo');
-        });
-
-        $this->assertEquals('foo', $container->getParameter('foo'), '->load() loads a \Closure resource');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php
deleted file mode 100644
index bba9c8c..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Loader\IniFileLoader;
-use Symfony\Component\Config\FileLocator;
-
-class IniFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    protected $container;
-    protected $loader;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-    }
-
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\Config\Loader\Loader')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-
-        $this->container = new ContainerBuilder();
-        $this->loader    = new IniFileLoader($this->container, new FileLocator(self::$fixturesPath.'/ini'));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::__construct
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::load
-     */
-    public function testIniFileCanBeLoaded()
-    {
-        $this->loader->load('parameters.ini');
-        $this->assertEquals(array('foo' => 'bar', 'bar' => '%foo%'), $this->container->getParameterBag()->all(), '->load() takes a single file name as its first argument');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::__construct
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::load
-     */
-    public function testExceptionIsRaisedWhenIniFileDoesNotExist()
-    {
-        try {
-            $this->loader->load('foo.ini');
-            $this->fail('->load() throws an InvalidArgumentException if the loaded file does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the loaded file does not exist');
-            $this->assertStringStartsWith('The file "foo.ini" does not exist (in: ', $e->getMessage(), '->load() throws an InvalidArgumentException if the loaded file does not exist');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::__construct
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::load
-     */
-    public function testExceptionIsRaisedWhenIniFileCannotBeParsed()
-    {
-        try {
-            @$this->loader->load('nonvalid.ini');
-            $this->fail('->load() throws an InvalidArgumentException if the loaded file is not parseable');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the loaded file is not parseable');
-            $this->assertEquals('The "nonvalid.ini" file is not valid.', $e->getMessage(), '->load() throws an InvalidArgumentException if the loaded file is not parseable');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\IniFileLoader::supports
-     */
-    public function testSupports()
-    {
-        $loader = new IniFileLoader(new ContainerBuilder(), new FileLocator());
-
-        $this->assertTrue($loader->supports('foo.ini'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php
deleted file mode 100644
index 3a97dc2..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\Config\Loader\Loader;
-use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
-use Symfony\Component\Config\FileLocator;
-
-class PhpFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\Config\Loader\Loader')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\PhpFileLoader::supports
-     */
-    public function testSupports()
-    {
-        $loader = new PhpFileLoader(new ContainerBuilder(), new FileLocator());
-
-        $this->assertTrue($loader->supports('foo.php'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\PhpFileLoader::load
-     */
-    public function testLoad()
-    {
-        $loader = new PhpFileLoader($container = new ContainerBuilder(), new FileLocator());
-
-        $loader->load(__DIR__.'/../Fixtures/php/simple.php');
-
-        $this->assertEquals('foo', $container->getParameter('foo'), '->load() loads a PHP file resource');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
deleted file mode 100644
index 40ffd63..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
+++ /dev/null
@@ -1,347 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerInterface;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\Config\Loader\Loader;
-use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
-use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
-use Symfony\Component\DependencyInjection\Loader\IniFileLoader;
-use Symfony\Component\Config\Loader\LoaderResolver;
-use Symfony\Component\Config\FileLocator;
-
-class XmlFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\Config\Loader\Loader')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-    }
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-        require_once self::$fixturesPath.'/includes/foo.php';
-        require_once self::$fixturesPath.'/includes/ProjectExtension.php';
-        require_once self::$fixturesPath.'/includes/ProjectWithXsdExtension.php';
-    }
-
-    public function testLoad()
-    {
-        $loader = new XmlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/ini'));
-
-        try {
-            $loader->load('foo.xml');
-            $this->fail('->load() throws an InvalidArgumentException if the loaded file does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the loaded file does not exist');
-            $this->assertStringStartsWith('The file "foo.xml" does not exist (in:', $e->getMessage(), '->load() throws an InvalidArgumentException if the loaded file does not exist');
-        }
-    }
-
-    public function testParseFile()
-    {
-        $loader = new XmlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/ini'));
-        $r = new \ReflectionObject($loader);
-        $m = $r->getMethod('parseFile');
-        $m->setAccessible(true);
-
-        try {
-            $m->invoke($loader, self::$fixturesPath.'/ini/parameters.ini');
-            $this->fail('->parseFile() throws an InvalidArgumentException if the loaded file is not a valid XML file');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->parseFile() throws an InvalidArgumentException if the loaded file is not a valid XML file');
-            $this->assertStringStartsWith('[ERROR 4] Start tag expected, \'<\' not found (in', $e->getMessage(), '->parseFile() throws an InvalidArgumentException if the loaded file is not a valid XML file');
-        }
-
-        $loader = new XmlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/xml'));
-
-        try {
-            $m->invoke($loader, self::$fixturesPath.'/xml/nonvalid.xml');
-            $this->fail('->parseFile() throws an InvalidArgumentException if the loaded file does not validate the XSD');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->parseFile() throws an InvalidArgumentException if the loaded file does not validate the XSD');
-            $this->assertStringStartsWith('[ERROR 1845] Element \'nonvalid\': No matching global declaration available for the validation root. (in', $e->getMessage(), '->parseFile() throws an InvalidArgumentException if the loaded file does not validate the XSD');
-        }
-
-        $xml = $m->invoke($loader, self::$fixturesPath.'/xml/services1.xml');
-        $this->assertEquals('Symfony\\Component\\DependencyInjection\\SimpleXMLElement', get_class($xml), '->parseFile() returns an SimpleXMLElement object');
-    }
-
-    public function testLoadParameters()
-    {
-        $container = new ContainerBuilder();
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('services2.xml');
-
-        $actual = $container->getParameterBag()->all();
-        $expected = array('a string', 'foo' => 'bar', 'values' => array(0, 'integer' => 4, 100 => null, 'true', true, false, 'on', 'off', 'float' => 1.3, 1000.3, 'a string', array('foo', 'bar')), 'foo_bar' => new Reference('foo_bar'), 'mixedcase' => array('MixedCaseKey' => 'value'));
-
-        $this->assertEquals($expected, $actual, '->load() converts XML values to PHP ones');
-    }
-
-    public function testLoadImports()
-    {
-        if (!class_exists('Symfony\Component\Yaml\Yaml')) {
-            $this->markTestSkipped('The "Yaml" component is not available');
-        }
-
-        $container = new ContainerBuilder();
-        $resolver = new LoaderResolver(array(
-            new IniFileLoader($container, new FileLocator(self::$fixturesPath.'/xml')),
-            new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml')),
-            $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml')),
-        ));
-        $loader->setResolver($resolver);
-        $loader->load('services4.xml');
-
-        $actual = $container->getParameterBag()->all();
-        $expected = array('a string', 'foo' => 'bar', 'values' => array(true, false), 'foo_bar' => new Reference('foo_bar'), 'mixedcase' => array('MixedCaseKey' => 'value'), 'bar' => '%foo%', 'imported_from_ini' => true, 'imported_from_yaml' => true);
-
-        $this->assertEquals(array_keys($expected), array_keys($actual), '->load() imports and merges imported files');
-
-        // Bad import throws no exception due to ignore_errors value.
-        $loader->load('services4_bad_import.xml');
-    }
-
-    public function testLoadAnonymousServices()
-    {
-        $container = new ContainerBuilder();
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('services5.xml');
-        $services = $container->getDefinitions();
-        $this->assertEquals(4, count($services), '->load() attributes unique ids to anonymous services');
-
-        // anonymous service as an argument
-        $args = $services['foo']->getArguments();
-        $this->assertEquals(1, count($args), '->load() references anonymous services as "normal" ones');
-        $this->assertEquals('Symfony\\Component\\DependencyInjection\\Reference', get_class($args[0]), '->load() converts anonymous services to references to "normal" services');
-        $this->assertTrue(isset($services[(string) $args[0]]), '->load() makes a reference to the created ones');
-        $inner = $services[(string) $args[0]];
-        $this->assertEquals('BarClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
-
-        // inner anonymous services
-        $args = $inner->getArguments();
-        $this->assertEquals(1, count($args), '->load() references anonymous services as "normal" ones');
-        $this->assertEquals('Symfony\\Component\\DependencyInjection\\Reference', get_class($args[0]), '->load() converts anonymous services to references to "normal" services');
-        $this->assertTrue(isset($services[(string) $args[0]]), '->load() makes a reference to the created ones');
-        $inner = $services[(string) $args[0]];
-        $this->assertEquals('BazClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
-
-        // anonymous service as a property
-        $properties = $services['foo']->getProperties();
-        $property = $properties['p'];
-        $this->assertEquals('Symfony\\Component\\DependencyInjection\\Reference', get_class($property), '->load() converts anonymous services to references to "normal" services');
-        $this->assertTrue(isset($services[(string) $property]), '->load() makes a reference to the created ones');
-        $inner = $services[(string) $property];
-        $this->assertEquals('BazClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
-    }
-
-    public function testLoadServices()
-    {
-        $container = new ContainerBuilder();
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('services6.xml');
-        $services = $container->getDefinitions();
-        $this->assertTrue(isset($services['foo']), '->load() parses <service> elements');
-        $this->assertEquals('Symfony\\Component\\DependencyInjection\\Definition', get_class($services['foo']), '->load() converts <service> element to Definition instances');
-        $this->assertEquals('FooClass', $services['foo']->getClass(), '->load() parses the class attribute');
-        $this->assertEquals('container', $services['scope.container']->getScope());
-        $this->assertEquals('custom', $services['scope.custom']->getScope());
-        $this->assertEquals('prototype', $services['scope.prototype']->getScope());
-        $this->assertEquals('getInstance', $services['constructor']->getFactoryMethod(), '->load() parses the factory-method attribute');
-        $this->assertEquals('%path%/foo.php', $services['file']->getFile(), '->load() parses the file tag');
-        $this->assertEquals(array('foo', new Reference('foo'), array(true, false)), $services['arguments']->getArguments(), '->load() parses the argument tags');
-        $this->assertEquals('sc_configure', $services['configurator1']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array(new Reference('baz', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false), 'configure'), $services['configurator2']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array('BazClass', 'configureStatic'), $services['configurator3']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array(array('setBar', array())), $services['method_call1']->getMethodCalls(), '->load() parses the method_call tag');
-        $this->assertEquals(array(array('setBar', array('foo', new Reference('foo'), array(true, false)))), $services['method_call2']->getMethodCalls(), '->load() parses the method_call tag');
-        $this->assertNull($services['factory_service']->getClass());
-        $this->assertEquals('getInstance', $services['factory_service']->getFactoryMethod());
-        $this->assertEquals('baz_factory', $services['factory_service']->getFactoryService());
-
-        $aliases = $container->getAliases();
-        $this->assertTrue(isset($aliases['alias_for_foo']), '->load() parses <service> elements');
-        $this->assertEquals('foo', (string) $aliases['alias_for_foo'], '->load() parses aliases');
-        $this->assertTrue($aliases['alias_for_foo']->isPublic());
-        $this->assertTrue(isset($aliases['another_alias_for_foo']));
-        $this->assertEquals('foo', (string) $aliases['another_alias_for_foo']);
-        $this->assertFalse($aliases['another_alias_for_foo']->isPublic());
-    }
-
-    public function testConvertDomElementToArray()
-    {
-        $doc = new \DOMDocument("1.0");
-        $doc->loadXML('<foo>bar</foo>');
-        $this->assertEquals('bar', XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument("1.0");
-        $doc->loadXML('<foo foo="bar" />');
-        $this->assertEquals(array('foo' => 'bar'), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument("1.0");
-        $doc->loadXML('<foo><foo>bar</foo></foo>');
-        $this->assertEquals(array('foo' => 'bar'), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument("1.0");
-        $doc->loadXML('<foo><foo>bar<foo>bar</foo></foo></foo>');
-        $this->assertEquals(array('foo' => array('value' => 'bar', 'foo' => 'bar')), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument("1.0");
-        $doc->loadXML('<foo><foo></foo></foo>');
-        $this->assertEquals(array('foo' => null), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument("1.0");
-        $doc->loadXML('<foo><foo><!-- foo --></foo></foo>');
-        $this->assertEquals(array('foo' => null), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-
-        $doc = new \DOMDocument("1.0");
-        $doc->loadXML('<foo><foo foo="bar"/><foo foo="bar"/></foo>');
-        $this->assertEquals(array('foo' => array(array('foo' => 'bar'), array('foo' => 'bar'))), XmlFileLoader::convertDomElementToArray($doc->documentElement), '::convertDomElementToArray() converts a \DomElement to an array');
-    }
-
-    public function testExtensions()
-    {
-        $container = new ContainerBuilder();
-        $container->registerExtension(new \ProjectExtension());
-        $container->registerExtension(new \ProjectWithXsdExtension());
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-
-        // extension without an XSD
-        $loader->load('extensions/services1.xml');
-        $container->compile();
-        $services = $container->getDefinitions();
-        $parameters = $container->getParameterBag()->all();
-
-        $this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
-        $this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
-
-        $this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
-        $this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');
-
-        // extension with an XSD
-        $container = new ContainerBuilder();
-        $container->registerExtension(new \ProjectExtension());
-        $container->registerExtension(new \ProjectWithXsdExtension());
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('extensions/services2.xml');
-        $container->compile();
-        $services = $container->getDefinitions();
-        $parameters = $container->getParameterBag()->all();
-
-        $this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
-        $this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
-
-        $this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
-        $this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');
-
-        $container = new ContainerBuilder();
-        $container->registerExtension(new \ProjectExtension());
-        $container->registerExtension(new \ProjectWithXsdExtension());
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-
-        // extension with an XSD (does not validate)
-        try {
-            $loader->load('extensions/services3.xml');
-            $this->fail('->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-            $this->assertRegexp('/The attribute \'bar\' is not allowed/', $e->getMessage(), '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-        }
-
-        // non-registered extension
-        try {
-            $loader->load('extensions/services4.xml');
-            $this->fail('->load() throws an InvalidArgumentException if the tag is not valid');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the tag is not valid');
-            $this->assertStringStartsWith('There is no extension able to load the configuration for "project:bar" (in', $e->getMessage(), '->load() throws an InvalidArgumentException if the tag is not valid');
-        }
-    }
-
-    public function testExtensionInPhar()
-    {
-        if (extension_loaded('suhosin') && false === strpos(ini_get('suhosin.executor.include.whitelist'), 'phar')) {
-            $this->markTestSkipped('To run this test, add "phar" to the "suhosin.executor.include.whitelist" settings in your php.ini file.');
-        }
-
-        require_once self::$fixturesPath.'/includes/ProjectWithXsdExtensionInPhar.phar';
-
-        // extension with an XSD in PHAR archive
-        $container = new ContainerBuilder();
-        $container->registerExtension(new \ProjectWithXsdExtensionInPhar());
-        $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader->load('extensions/services6.xml');
-
-        // extension with an XSD in PHAR archive (does not validate)
-        try {
-            $loader->load('extensions/services7.xml');
-            $this->fail('->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-            $this->assertRegexp('/The attribute \'bar\' is not allowed/', $e->getMessage(), '->load() throws an InvalidArgumentException if the configuration does not validate the XSD');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\XmlFileLoader::supports
-     */
-    public function testSupports()
-    {
-        $loader = new XmlFileLoader(new ContainerBuilder(), new FileLocator());
-
-        $this->assertTrue($loader->supports('foo.xml'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-    }
-
-    public function testNoNamingConflictsForAnonymousServices()
-    {
-        $container = new ContainerBuilder();
-
-        $loader1 = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml/extension1'));
-        $loader1->load('services.xml');
-        $services = $container->getDefinitions();
-        $this->assertEquals(2, count($services), '->load() attributes unique ids to anonymous services');
-        $loader2 = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml/extension2'));
-        $loader2->load('services.xml');
-        $services = $container->getDefinitions();
-        $this->assertEquals(4, count($services), '->load() attributes unique ids to anonymous services');
-
-        $services = $container->getDefinitions();
-        $args1 = $services['extension1.foo']->getArguments();
-        $inner1 = $services[(string) $args1[0]];
-        $this->assertEquals('BarClass1', $inner1->getClass(), '->load() uses the same configuration as for the anonymous ones');
-        $args2 = $services['extension2.foo']->getArguments();
-        $inner2 = $services[(string) $args2[0]];
-        $this->assertEquals('BarClass2', $inner2->getClass(), '->load() uses the same configuration as for the anonymous ones');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage Document types are not allowed.
-     */
-    public function testDocTypeIsNotAllowed()
-    {
-        $container = new ContainerBuilder();
-
-        $loader1 = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
-        $loader1->load('withdoctype.xml');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php
deleted file mode 100644
index e655d3b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php
+++ /dev/null
@@ -1,211 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\Loader;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\DependencyInjection\Reference;
-use Symfony\Component\DependencyInjection\Definition;
-use Symfony\Component\Config\Loader\Loader;
-use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
-use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
-use Symfony\Component\DependencyInjection\Loader\IniFileLoader;
-use Symfony\Component\Config\Loader\LoaderResolver;
-use Symfony\Component\Config\FileLocator;
-
-class YamlFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\Config\Loader\Loader')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-
-        if (!class_exists('Symfony\Component\Yaml\Yaml')) {
-            $this->markTestSkipped('The "Yaml" component is not available');
-        }
-    }
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../Fixtures/');
-        require_once self::$fixturesPath.'/includes/foo.php';
-        require_once self::$fixturesPath.'/includes/ProjectExtension.php';
-    }
-
-    public function testLoadFile()
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/ini'));
-        $r = new \ReflectionObject($loader);
-        $m = $r->getMethod('loadFile');
-        $m->setAccessible(true);
-
-        try {
-            $m->invoke($loader, 'foo.yml');
-            $this->fail('->load() throws an InvalidArgumentException if the loaded file does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the loaded file does not exist');
-            $this->assertEquals('The service file "foo.yml" is not valid.', $e->getMessage(), '->load() throws an InvalidArgumentException if the loaded file does not exist');
-        }
-
-        try {
-            $m->invoke($loader, 'parameters.ini');
-            $this->fail('->load() throws an InvalidArgumentException if the loaded file is not a valid YAML file');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the loaded file is not a valid YAML file');
-            $this->assertEquals('The service file "parameters.ini" is not valid.', $e->getMessage(), '->load() throws an InvalidArgumentException if the loaded file is not a valid YAML file');
-        }
-
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/yaml'));
-
-        foreach (array('nonvalid1', 'nonvalid2') as $fixture) {
-            try {
-                $m->invoke($loader, $fixture.'.yml');
-                $this->fail('->load() throws an InvalidArgumentException if the loaded file does not validate');
-            } catch (\Exception $e) {
-                $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the loaded file does not validate');
-                $this->assertStringMatchesFormat('The service file "nonvalid%d.yml" is not valid.', $e->getMessage(), '->load() throws an InvalidArgumentException if the loaded file does not validate');
-            }
-        }
-    }
-
-    public function testLoadParameters()
-    {
-        $container = new ContainerBuilder();
-        $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
-        $loader->load('services2.yml');
-        $this->assertEquals(array('foo' => 'bar', 'mixedcase' => array('MixedCaseKey' => 'value'), 'values' => array(true, false, 0, 1000.3), 'bar' => 'foo', 'foo_bar' => new Reference('foo_bar')), $container->getParameterBag()->all(), '->load() converts YAML keys to lowercase');
-    }
-
-    public function testLoadImports()
-    {
-        $container = new ContainerBuilder();
-        $resolver = new LoaderResolver(array(
-            new IniFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml')),
-            new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml')),
-            $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml')),
-        ));
-        $loader->setResolver($resolver);
-        $loader->load('services4.yml');
-
-        $actual = $container->getParameterBag()->all();
-        $expected = array('foo' => 'bar', 'values' => array(true, false), 'bar' => '%foo%', 'foo_bar' => new Reference('foo_bar'), 'mixedcase' => array('MixedCaseKey' => 'value'), 'imported_from_ini' => true, 'imported_from_xml' => true);
-        $this->assertEquals(array_keys($expected), array_keys($actual), '->load() imports and merges imported files');
-
-        // Bad import throws no exception due to ignore_errors value.
-        $loader->load('services4_bad_import.yml');
-    }
-
-    public function testLoadServices()
-    {
-        $container = new ContainerBuilder();
-        $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
-        $loader->load('services6.yml');
-        $services = $container->getDefinitions();
-        $this->assertTrue(isset($services['foo']), '->load() parses service elements');
-        $this->assertEquals('Symfony\\Component\\DependencyInjection\\Definition', get_class($services['foo']), '->load() converts service element to Definition instances');
-        $this->assertEquals('FooClass', $services['foo']->getClass(), '->load() parses the class attribute');
-        $this->assertEquals('container', $services['scope.container']->getScope());
-        $this->assertEquals('custom', $services['scope.custom']->getScope());
-        $this->assertEquals('prototype', $services['scope.prototype']->getScope());
-        $this->assertEquals('getInstance', $services['constructor']->getFactoryMethod(), '->load() parses the factory_method attribute');
-        $this->assertEquals('%path%/foo.php', $services['file']->getFile(), '->load() parses the file tag');
-        $this->assertEquals(array('foo', new Reference('foo'), array(true, false)), $services['arguments']->getArguments(), '->load() parses the argument tags');
-        $this->assertEquals('sc_configure', $services['configurator1']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array(new Reference('baz'), 'configure'), $services['configurator2']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array('BazClass', 'configureStatic'), $services['configurator3']->getConfigurator(), '->load() parses the configurator tag');
-        $this->assertEquals(array(array('setBar', array()), array('setBar', array())), $services['method_call1']->getMethodCalls(), '->load() parses the method_call tag');
-        $this->assertEquals(array(array('setBar', array('foo', new Reference('foo'), array(true, false)))), $services['method_call2']->getMethodCalls(), '->load() parses the method_call tag');
-        $this->assertEquals('baz_factory', $services['factory_service']->getFactoryService());
-
-        $aliases = $container->getAliases();
-        $this->assertTrue(isset($aliases['alias_for_foo']), '->load() parses aliases');
-        $this->assertEquals('foo', (string) $aliases['alias_for_foo'], '->load() parses aliases');
-        $this->assertTrue($aliases['alias_for_foo']->isPublic());
-        $this->assertTrue(isset($aliases['another_alias_for_foo']));
-        $this->assertEquals('foo', (string) $aliases['another_alias_for_foo']);
-        $this->assertFalse($aliases['another_alias_for_foo']->isPublic());
-    }
-
-    public function testExtensions()
-    {
-        $container = new ContainerBuilder();
-        $container->registerExtension(new \ProjectExtension());
-        $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
-        $loader->load('services10.yml');
-        $container->compile();
-        $services = $container->getDefinitions();
-        $parameters = $container->getParameterBag()->all();
-
-        $this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
-        $this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
-
-        $this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
-        $this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');
-
-        try {
-            $loader->load('services11.yml');
-            $this->fail('->load() throws an InvalidArgumentException if the tag is not valid');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the tag is not valid');
-            $this->assertStringStartsWith('There is no extension able to load the configuration for "foobarfoobar" (in', $e->getMessage(), '->load() throws an InvalidArgumentException if the tag is not valid');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\Loader\YamlFileLoader::supports
-     */
-    public function testSupports()
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator());
-
-        $this->assertTrue($loader->supports('foo.yml'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-    }
-
-    public function testNonArrayTagThrowsException()
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/yaml'));
-        try {
-            $loader->load('badtag1.yml');
-            $this->fail('->load() should throw an exception when the tags key of a service is not an array');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if the tags key is not an array');
-            $this->assertStringStartsWith('Parameter "tags" must be an array for service', $e->getMessage(), '->load() throws an InvalidArgumentException if the tags key is not an array');
-        }
-    }
-
-    public function testTagWithoutNameThrowsException()
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/yaml'));
-        try {
-            $loader->load('badtag2.yml');
-            $this->fail('->load() should throw an exception when a tag is missing the name key');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if a tag is missing the name key');
-            $this->assertStringStartsWith('A "tags" entry is missing a "name" key for service ', $e->getMessage(), '->load() throws an InvalidArgumentException if a tag is missing the name key');
-        }
-    }
-
-    public function testTagWithAttributeArrayThrowsException()
-    {
-        $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator(self::$fixturesPath.'/yaml'));
-        try {
-            $loader->load('badtag3.yml');
-            $this->fail('->load() should throw an exception when a tag-attribute is not a scalar');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('Symfony\Component\DependencyInjection\Exception\InvalidArgumentException', $e, '->load() throws an InvalidArgumentException if a tag-attribute is not a scalar');
-            $this->assertStringStartsWith('A "tags" attribute must be of a scalar-type for service ', $e->getMessage(), '->load() throws an InvalidArgumentException if a tag-attribute is not a scalar');
-        }
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/FrozenParameterBagTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/FrozenParameterBagTest.php
deleted file mode 100644
index e6e7fea..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/FrozenParameterBagTest.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\ParameterBag;
-
-use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
-
-class FrozenParameterBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag::__construct
-     */
-    public function testConstructor()
-    {
-        $parameters = array(
-            'foo' => 'foo',
-            'bar' => 'bar',
-        );
-        $bag = new FrozenParameterBag($parameters);
-        $this->assertEquals($parameters, $bag->all(), '__construct() takes an array of parameters as its first argument');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag::clear
-     * @expectedException \LogicException
-     */
-    public function testClear()
-    {
-        $bag = new FrozenParameterBag(array());
-        $bag->clear();
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag::set
-     * @expectedException \LogicException
-     */
-    public function testSet()
-    {
-        $bag = new FrozenParameterBag(array());
-        $bag->set('foo', 'bar');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag::add
-     * @expectedException \LogicException
-     */
-    public function testAdd()
-    {
-        $bag = new FrozenParameterBag(array());
-        $bag->add(array());
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php
deleted file mode 100644
index 968ae9b..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php
+++ /dev/null
@@ -1,246 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests\ParameterBag;
-
-use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
-use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException;
-use Symfony\Component\DependencyInjection\Exception\ParameterCircularReferenceException;
-use Symfony\Component\DependencyInjection\Exception\RuntimeException;
-
-class ParameterBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::__construct
-     */
-    public function testConstructor()
-    {
-        $bag = new ParameterBag($parameters = array(
-            'foo' => 'foo',
-            'bar' => 'bar',
-        ));
-        $this->assertEquals($parameters, $bag->all(), '__construct() takes an array of parameters as its first argument');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::clear
-     */
-    public function testClear()
-    {
-        $bag = new ParameterBag($parameters = array(
-            'foo' => 'foo',
-            'bar' => 'bar',
-        ));
-        $bag->clear();
-        $this->assertEquals(array(), $bag->all(), '->clear() removes all parameters');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::remove
-     */
-    public function testRemove()
-    {
-        $bag = new ParameterBag(array(
-            'foo' => 'foo',
-            'bar' => 'bar',
-        ));
-        $bag->remove('foo');
-        $this->assertEquals(array('bar' => 'bar'), $bag->all(), '->remove() removes a parameter');
-        $bag->remove('BAR');
-        $this->assertEquals(array(), $bag->all(), '->remove() converts key to lowercase before removing');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::get
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::set
-     */
-    public function testGetSet()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $bag->set('bar', 'foo');
-        $this->assertEquals('foo', $bag->get('bar'), '->set() sets the value of a new parameter');
-
-        $bag->set('foo', 'baz');
-        $this->assertEquals('baz', $bag->get('foo'), '->set() overrides previously set parameter');
-
-        $bag->set('Foo', 'baz1');
-        $this->assertEquals('baz1', $bag->get('foo'), '->set() converts the key to lowercase');
-        $this->assertEquals('baz1', $bag->get('FOO'), '->get() converts the key to lowercase');
-
-        try {
-            $bag->get('baba');
-            $this->fail('->get() throws an \InvalidArgumentException if the key does not exist');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->get() throws an \InvalidArgumentException if the key does not exist');
-            $this->assertEquals('You have requested a non-existent parameter "baba".', $e->getMessage(), '->get() throws an \InvalidArgumentException if the key does not exist');
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::has
-     */
-    public function testHas()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $this->assertTrue($bag->has('foo'), '->has() returns true if a parameter is defined');
-        $this->assertTrue($bag->has('Foo'), '->has() converts the key to lowercase');
-        $this->assertFalse($bag->has('bar'), '->has() returns false if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::resolveValue
-     */
-    public function testResolveValue()
-    {
-        $bag = new ParameterBag(array());
-        $this->assertEquals('foo', $bag->resolveValue('foo'), '->resolveValue() returns its argument unmodified if no placeholders are found');
-
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $this->assertEquals('I\'m a bar', $bag->resolveValue('I\'m a %foo%'), '->resolveValue() replaces placeholders by their values');
-        $this->assertEquals(array('bar' => 'bar'), $bag->resolveValue(array('%foo%' => '%foo%')), '->resolveValue() replaces placeholders in keys and values of arrays');
-        $this->assertEquals(array('bar' => array('bar' => array('bar' => 'bar'))), $bag->resolveValue(array('%foo%' => array('%foo%' => array('%foo%' => '%foo%')))), '->resolveValue() replaces placeholders in nested arrays');
-        $this->assertEquals('I\'m a %%foo%%', $bag->resolveValue('I\'m a %%foo%%'), '->resolveValue() supports % escaping by doubling it');
-        $this->assertEquals('I\'m a bar %%foo bar', $bag->resolveValue('I\'m a %foo% %%foo %foo%'), '->resolveValue() supports % escaping by doubling it');
-        $this->assertEquals(array('foo' => array('bar' => array('ding' => 'I\'m a bar %%foo %%bar'))), $bag->resolveValue(array('foo' => array('bar' => array('ding' => 'I\'m a bar %%foo %%bar')))), '->resolveValue() supports % escaping by doubling it');
-
-        $bag = new ParameterBag(array('foo' => true));
-        $this->assertTrue($bag->resolveValue('%foo%'), '->resolveValue() replaces arguments that are just a placeholder by their value without casting them to strings');
-        $bag = new ParameterBag(array('foo' => null));
-        $this->assertNull($bag->resolveValue('%foo%'), '->resolveValue() replaces arguments that are just a placeholder by their value without casting them to strings');
-
-        $bag = new ParameterBag(array('foo' => 'bar', 'baz' => '%%%foo% %foo%%% %%foo%% %%%foo%%%'));
-        $this->assertEquals('%%bar bar%% %%foo%% %%bar%%', $bag->resolveValue('%baz%'), '->resolveValue() replaces params placed besides escaped %');
-
-        $bag = new ParameterBag(array('baz' => '%%s?%%s'));
-        $this->assertEquals('%%s?%%s', $bag->resolveValue('%baz%'), '->resolveValue() is not replacing greedily');
-
-        $bag = new ParameterBag(array());
-        try {
-            $bag->resolveValue('%foobar%');
-            $this->fail('->resolveValue() throws an InvalidArgumentException if a placeholder references a non-existent parameter');
-        } catch (ParameterNotFoundException $e) {
-            $this->assertEquals('You have requested a non-existent parameter "foobar".', $e->getMessage(), '->resolveValue() throws a ParameterNotFoundException if a placeholder references a non-existent parameter');
-        }
-
-        try {
-            $bag->resolveValue('foo %foobar% bar');
-            $this->fail('->resolveValue() throws a ParameterNotFoundException if a placeholder references a non-existent parameter');
-        } catch (ParameterNotFoundException $e) {
-            $this->assertEquals('You have requested a non-existent parameter "foobar".', $e->getMessage(), '->resolveValue() throws a ParameterNotFoundException if a placeholder references a non-existent parameter');
-        }
-
-        $bag = new ParameterBag(array('foo' => 'a %bar%', 'bar' => array()));
-        try {
-            $bag->resolveValue('%foo%');
-            $this->fail('->resolveValue() throws a RuntimeException when a parameter embeds another non-string parameter');
-        } catch (RuntimeException $e) {
-            $this->assertEquals('A string value must be composed of strings and/or numbers, but found parameter "bar" of type array inside string value "a %bar%".', $e->getMessage(), '->resolveValue() throws a RuntimeException when a parameter embeds another non-string parameter');
-        }
-
-        $bag = new ParameterBag(array('foo' => '%bar%', 'bar' => '%foobar%', 'foobar' => '%foo%'));
-        try {
-            $bag->resolveValue('%foo%');
-            $this->fail('->resolveValue() throws a ParameterCircularReferenceException when a parameter has a circular reference');
-        } catch (ParameterCircularReferenceException $e) {
-            $this->assertEquals('Circular reference detected for parameter "foo" ("foo" > "bar" > "foobar" > "foo").', $e->getMessage(), '->resolveValue() throws a ParameterCircularReferenceException when a parameter has a circular reference');
-        }
-
-        $bag = new ParameterBag(array('foo' => 'a %bar%', 'bar' => 'a %foobar%', 'foobar' => 'a %foo%'));
-        try {
-            $bag->resolveValue('%foo%');
-            $this->fail('->resolveValue() throws a ParameterCircularReferenceException when a parameter has a circular reference');
-        } catch (ParameterCircularReferenceException $e) {
-            $this->assertEquals('Circular reference detected for parameter "foo" ("foo" > "bar" > "foobar" > "foo").', $e->getMessage(), '->resolveValue() throws a ParameterCircularReferenceException when a parameter has a circular reference');
-        }
-
-        $bag = new ParameterBag(array('host' => 'foo.bar', 'port' => 1337));
-        $this->assertEquals('foo.bar:1337', $bag->resolveValue('%host%:%port%'));
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::resolve
-     */
-    public function testResolveIndicatesWhyAParameterIsNeeded()
-    {
-        $bag = new ParameterBag(array('foo' => '%bar%'));
-
-        try {
-            $bag->resolve();
-        } catch (ParameterNotFoundException $e) {
-            $this->assertEquals('The parameter "foo" has a dependency on a non-existent parameter "bar".', $e->getMessage());
-        }
-
-        $bag = new ParameterBag(array('foo' => '%bar%'));
-
-        try {
-            $bag->resolve();
-        } catch (ParameterNotFoundException $e) {
-            $this->assertEquals('The parameter "foo" has a dependency on a non-existent parameter "bar".', $e->getMessage());
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::resolve
-     */
-    public function testResolveUnescapesValue()
-    {
-        $bag = new ParameterBag(array(
-            'foo' => array('bar' => array('ding' => 'I\'m a bar %%foo %%bar')),
-            'bar' => 'I\'m a %%foo%%',
-        ));
-
-        $bag->resolve();
-
-        $this->assertEquals('I\'m a %foo%', $bag->get('bar'), '->resolveValue() supports % escaping by doubling it');
-        $this->assertEquals(array('bar' => array('ding' => 'I\'m a bar %foo %bar')), $bag->get('foo'), '->resolveValue() supports % escaping by doubling it');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::escapeValue
-     */
-    public function testEscapeValue()
-    {
-        $bag = new ParameterBag();
-
-        $bag->add(array(
-            'foo' => $bag->escapeValue(array('bar' => array('ding' => 'I\'m a bar %foo %bar', 'zero' => null))),
-            'bar' => $bag->escapeValue('I\'m a %foo%'),
-        ));
-
-        $this->assertEquals('I\'m a %%foo%%', $bag->get('bar'), '->escapeValue() escapes % by doubling it');
-        $this->assertEquals(array('bar' => array('ding' => 'I\'m a bar %%foo %%bar', 'zero' => null)), $bag->get('foo'), '->escapeValue() escapes % by doubling it');
-    }
-
-    /**
-     * @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag::resolve
-     * @dataProvider stringsWithSpacesProvider
-     */
-    public function testResolveStringWithSpacesReturnsString($expected, $test, $description)
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-
-        try {
-            $this->assertEquals($expected, $bag->resolveString($test), $description);
-        } catch (ParameterNotFoundException $e) {
-            $this->fail(sprintf('%s - "%s"', $description, $expected));
-        }
-    }
-
-    public function stringsWithSpacesProvider()
-    {
-        return array(
-            array('bar', '%foo%', 'Parameters must be wrapped by %.'),
-            array('% foo %', '% foo %', 'Parameters should not have spaces.'),
-            array('{% set my_template = "foo" %}', '{% set my_template = "foo" %}', 'Twig-like strings are not parameters.'),
-            array('50% is less than 100%', '50% is less than 100%', 'Text between % signs is allowed, if there are spaces.'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterTest.php
deleted file mode 100644
index bed188e..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterTest.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\Parameter;
-
-class ParameterTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\Parameter::__construct
-     */
-    public function testConstructor()
-    {
-        $ref = new Parameter('foo');
-        $this->assertEquals('foo', (string) $ref, '__construct() sets the id of the parameter, which is used for the __toString() method');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ReferenceTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ReferenceTest.php
deleted file mode 100644
index f14e99f..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ReferenceTest.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\DependencyInjection\Tests;
-
-use Symfony\Component\DependencyInjection\Reference;
-
-class ReferenceTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\DependencyInjection\Reference::__construct
-     */
-    public function testConstructor()
-    {
-        $ref = new Reference('foo');
-        $this->assertEquals('foo', (string) $ref, '__construct() sets the id of the reference, which is used for the __toString() method');
-    }
-
-    public function testCaseInsensitive()
-    {
-        $ref = new Reference('FooBar');
-        $this->assertEquals('foobar', (string) $ref, 'the id is lowercased as the container is case insensitive');
-    }
-}
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/phpunit.xml.dist b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/phpunit.xml.dist
deleted file mode 100644
index 53f5f99..0000000
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/phpunit.xml.dist
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         colors="true"
-         convertErrorsToExceptions="true"
-         convertNoticesToExceptions="true"
-         convertWarningsToExceptions="true"
-         processIsolation="false"
-         stopOnFailure="false"
-         syntaxCheck="false"
-         bootstrap="vendor/autoload.php"
->
-    <testsuites>
-        <testsuite name="Symfony DependencyInjection Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Resources</directory>
-                <directory>./Tests</directory>
-                <directory>./vendor</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php
deleted file mode 100644
index 71f3ad0..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php
+++ /dev/null
@@ -1,257 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests;
-
-use Symfony\Component\DependencyInjection\Container;
-use Symfony\Component\DependencyInjection\Scope;
-use Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher;
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-class ContainerAwareEventDispatcherTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\DependencyInjection\Container')) {
-            $this->markTestSkipped('The "DependencyInjection" component is not available');
-        }
-    }
-
-    public function testAddAListenerService()
-    {
-        $event = new Event();
-
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $service
-            ->expects($this->once())
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $dispatcher->dispatch('onEvent', $event);
-    }
-
-    public function testAddASubscriberService()
-    {
-        $event = new Event();
-
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\SubscriberService');
-
-        $service
-            ->expects($this->once())
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $container = new Container();
-        $container->set('service.subscriber', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addSubscriberService('service.subscriber', 'Symfony\Component\EventDispatcher\Tests\SubscriberService');
-
-        $dispatcher->dispatch('onEvent', $event);
-    }
-
-    public function testPreventDuplicateListenerService()
-    {
-        $event = new Event();
-
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $service
-            ->expects($this->once())
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'), 5);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'), 10);
-
-        $dispatcher->dispatch('onEvent', $event);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testTriggerAListenerServiceOutOfScope()
-    {
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $scope = new Scope('scope');
-        $container = new Container();
-        $container->addScope($scope);
-        $container->enterScope('scope');
-
-        $container->set('service.listener', $service, 'scope');
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $container->leaveScope('scope');
-        $dispatcher->dispatch('onEvent');
-    }
-
-    public function testReEnteringAScope()
-    {
-        $event = new Event();
-
-        $service1 = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $service1
-            ->expects($this->exactly(2))
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $scope = new Scope('scope');
-        $container = new Container();
-        $container->addScope($scope);
-        $container->enterScope('scope');
-
-        $container->set('service.listener', $service1, 'scope');
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-        $dispatcher->dispatch('onEvent', $event);
-
-        $service2 = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $service2
-            ->expects($this->once())
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $container->enterScope('scope');
-        $container->set('service.listener', $service2, 'scope');
-
-        $dispatcher->dispatch('onEvent', $event);
-
-        $container->leaveScope('scope');
-
-        $dispatcher->dispatch('onEvent');
-    }
-
-    public function testHasListenersOnLazyLoad()
-    {
-        $event = new Event();
-
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $event->setDispatcher($dispatcher);
-        $event->setName('onEvent');
-
-        $service
-            ->expects($this->once())
-            ->method('onEvent')
-            ->with($event)
-        ;
-
-        $this->assertTrue($dispatcher->hasListeners());
-
-        if ($dispatcher->hasListeners('onEvent')) {
-            $dispatcher->dispatch('onEvent');
-        }
-    }
-
-    public function testGetListenersOnLazyLoad()
-    {
-        $event = new Event();
-
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $listeners = $dispatcher->getListeners();
-
-        $this->assertTrue(isset($listeners['onEvent']));
-
-        $this->assertCount(1, $dispatcher->getListeners('onEvent'));
-    }
-
-    public function testRemoveAfterDispatch()
-    {
-        $event = new Event();
-
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $dispatcher->dispatch('onEvent', new Event());
-        $dispatcher->removeListener('onEvent', array($container->get('service.listener'), 'onEvent'));
-        $this->assertFalse($dispatcher->hasListeners('onEvent'));
-    }
-
-    public function testRemoveBeforeDispatch()
-    {
-        $event = new Event();
-
-        $service = $this->getMock('Symfony\Component\EventDispatcher\Tests\Service');
-
-        $container = new Container();
-        $container->set('service.listener', $service);
-
-        $dispatcher = new ContainerAwareEventDispatcher($container);
-        $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
-
-        $dispatcher->removeListener('onEvent', array($container->get('service.listener'), 'onEvent'));
-        $this->assertFalse($dispatcher->hasListeners('onEvent'));
-    }
-}
-
-class Service
-{
-    public function onEvent(Event $e)
-    {
-    }
-}
-
-class SubscriberService implements EventSubscriberInterface
-{
-    public static function getSubscribedEvents()
-    {
-        return array(
-            'onEvent' => 'onEvent',
-            'onEvent' => array('onEvent', 10),
-            'onEvent' => array('onEvent'),
-        );
-    }
-
-    public function onEvent(Event $e)
-    {
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
deleted file mode 100644
index f38c695..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php
+++ /dev/null
@@ -1,297 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests;
-
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-class EventDispatcherTest extends \PHPUnit_Framework_TestCase
-{
-    /* Some pseudo events */
-    const preFoo = 'pre.foo';
-    const postFoo = 'post.foo';
-    const preBar = 'pre.bar';
-    const postBar = 'post.bar';
-
-    private $dispatcher;
-
-    private $listener;
-
-    protected function setUp()
-    {
-        $this->dispatcher = new EventDispatcher();
-        $this->listener = new TestEventListener();
-    }
-
-    protected function tearDown()
-    {
-        $this->dispatcher = null;
-        $this->listener = null;
-    }
-
-    public function testInitialState()
-    {
-        $this->assertEquals(array(), $this->dispatcher->getListeners());
-        $this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertFalse($this->dispatcher->hasListeners(self::postFoo));
-    }
-
-    public function testAddListener()
-    {
-        $this->dispatcher->addListener('pre.foo', array($this->listener, 'preFoo'));
-        $this->dispatcher->addListener('post.foo', array($this->listener, 'postFoo'));
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertTrue($this->dispatcher->hasListeners(self::postFoo));
-        $this->assertCount(1, $this->dispatcher->getListeners(self::preFoo));
-        $this->assertCount(1, $this->dispatcher->getListeners(self::postFoo));
-        $this->assertCount(2, $this->dispatcher->getListeners());
-    }
-
-    public function testGetListenersSortsByPriority()
-    {
-        $listener1 = new TestEventListener();
-        $listener2 = new TestEventListener();
-        $listener3 = new TestEventListener();
-        $listener1->name = '1';
-        $listener2->name = '2';
-        $listener3->name = '3';
-
-        $this->dispatcher->addListener('pre.foo', array($listener1, 'preFoo'), -10);
-        $this->dispatcher->addListener('pre.foo', array($listener2, 'preFoo'), 10);
-        $this->dispatcher->addListener('pre.foo', array($listener3, 'preFoo'));
-
-        $expected = array(
-            array($listener2, 'preFoo'),
-            array($listener3, 'preFoo'),
-            array($listener1, 'preFoo'),
-        );
-
-        $this->assertSame($expected, $this->dispatcher->getListeners('pre.foo'));
-    }
-
-    public function testGetAllListenersSortsByPriority()
-    {
-        $listener1 = new TestEventListener();
-        $listener2 = new TestEventListener();
-        $listener3 = new TestEventListener();
-        $listener4 = new TestEventListener();
-        $listener5 = new TestEventListener();
-        $listener6 = new TestEventListener();
-
-        $this->dispatcher->addListener('pre.foo', $listener1, -10);
-        $this->dispatcher->addListener('pre.foo', $listener2);
-        $this->dispatcher->addListener('pre.foo', $listener3, 10);
-        $this->dispatcher->addListener('post.foo', $listener4, -10);
-        $this->dispatcher->addListener('post.foo', $listener5);
-        $this->dispatcher->addListener('post.foo', $listener6, 10);
-
-        $expected = array(
-            'pre.foo'  => array($listener3, $listener2, $listener1),
-            'post.foo' => array($listener6, $listener5, $listener4),
-        );
-
-        $this->assertSame($expected, $this->dispatcher->getListeners());
-    }
-
-    public function testDispatch()
-    {
-        $this->dispatcher->addListener('pre.foo', array($this->listener, 'preFoo'));
-        $this->dispatcher->addListener('post.foo', array($this->listener, 'postFoo'));
-        $this->dispatcher->dispatch(self::preFoo);
-        $this->assertTrue($this->listener->preFooInvoked);
-        $this->assertFalse($this->listener->postFooInvoked);
-        $this->assertInstanceOf('Symfony\Component\EventDispatcher\Event', $this->dispatcher->dispatch('noevent'));
-        $this->assertInstanceOf('Symfony\Component\EventDispatcher\Event', $this->dispatcher->dispatch(self::preFoo));
-        $event = new Event();
-        $return = $this->dispatcher->dispatch(self::preFoo, $event);
-        $this->assertEquals('pre.foo', $event->getName());
-        $this->assertSame($event, $return);
-    }
-
-    public function testDispatchForClosure()
-    {
-        $invoked = 0;
-        $listener = function () use (&$invoked) {
-            $invoked++;
-        };
-        $this->dispatcher->addListener('pre.foo', $listener);
-        $this->dispatcher->addListener('post.foo', $listener);
-        $this->dispatcher->dispatch(self::preFoo);
-        $this->assertEquals(1, $invoked);
-    }
-
-    public function testStopEventPropagation()
-    {
-        $otherListener = new TestEventListener();
-
-        // postFoo() stops the propagation, so only one listener should
-        // be executed
-        // Manually set priority to enforce $this->listener to be called first
-        $this->dispatcher->addListener('post.foo', array($this->listener, 'postFoo'), 10);
-        $this->dispatcher->addListener('post.foo', array($otherListener, 'preFoo'));
-        $this->dispatcher->dispatch(self::postFoo);
-        $this->assertTrue($this->listener->postFooInvoked);
-        $this->assertFalse($otherListener->postFooInvoked);
-    }
-
-    public function testDispatchByPriority()
-    {
-        $invoked = array();
-        $listener1 = function () use (&$invoked) {
-            $invoked[] = '1';
-        };
-        $listener2 = function () use (&$invoked) {
-            $invoked[] = '2';
-        };
-        $listener3 = function () use (&$invoked) {
-            $invoked[] = '3';
-        };
-        $this->dispatcher->addListener('pre.foo', $listener1, -10);
-        $this->dispatcher->addListener('pre.foo', $listener2);
-        $this->dispatcher->addListener('pre.foo', $listener3, 10);
-        $this->dispatcher->dispatch(self::preFoo);
-        $this->assertEquals(array('3', '2', '1'), $invoked);
-    }
-
-    public function testRemoveListener()
-    {
-        $this->dispatcher->addListener('pre.bar', $this->listener);
-        $this->assertTrue($this->dispatcher->hasListeners(self::preBar));
-        $this->dispatcher->removeListener('pre.bar', $this->listener);
-        $this->assertFalse($this->dispatcher->hasListeners(self::preBar));
-        $this->dispatcher->removeListener('notExists', $this->listener);
-    }
-
-    public function testAddSubscriber()
-    {
-        $eventSubscriber = new TestEventSubscriber();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertTrue($this->dispatcher->hasListeners(self::postFoo));
-    }
-
-    public function testAddSubscriberWithPriorities()
-    {
-        $eventSubscriber = new TestEventSubscriber();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-
-        $eventSubscriber = new TestEventSubscriberWithPriorities();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-
-        $listeners = $this->dispatcher->getListeners('pre.foo');
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertCount(2, $listeners);
-        $this->assertInstanceOf('Symfony\Component\EventDispatcher\Tests\TestEventSubscriberWithPriorities', $listeners[0][0]);
-    }
-
-    public function testAddSubscriberWithMultipleListeners()
-    {
-        $eventSubscriber = new TestEventSubscriberWithMultipleListeners();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-
-        $listeners = $this->dispatcher->getListeners('pre.foo');
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertCount(2, $listeners);
-        $this->assertEquals('preFoo2', $listeners[0][1]);
-    }
-
-    public function testRemoveSubscriber()
-    {
-        $eventSubscriber = new TestEventSubscriber();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertTrue($this->dispatcher->hasListeners(self::postFoo));
-        $this->dispatcher->removeSubscriber($eventSubscriber);
-        $this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertFalse($this->dispatcher->hasListeners(self::postFoo));
-    }
-
-    public function testRemoveSubscriberWithPriorities()
-    {
-        $eventSubscriber = new TestEventSubscriberWithPriorities();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->dispatcher->removeSubscriber($eventSubscriber);
-        $this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
-    }
-
-    public function testRemoveSubscriberWithMultipleListeners()
-    {
-        $eventSubscriber = new TestEventSubscriberWithMultipleListeners();
-        $this->dispatcher->addSubscriber($eventSubscriber);
-        $this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
-        $this->assertCount(2, $this->dispatcher->getListeners(self::preFoo));
-        $this->dispatcher->removeSubscriber($eventSubscriber);
-        $this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
-    }
-
-    public function testEventReceivesTheDispatcherInstance()
-    {
-        $test = $this;
-        $this->dispatcher->addListener('test', function ($event) use (&$dispatcher) {
-            $dispatcher = $event->getDispatcher();
-        });
-        $this->dispatcher->dispatch('test');
-        $this->assertSame($this->dispatcher, $dispatcher);
-    }
-}
-
-class TestEventListener
-{
-    public $preFooInvoked = false;
-    public $postFooInvoked = false;
-
-    /* Listener methods */
-
-    public function preFoo(Event $e)
-    {
-        $this->preFooInvoked = true;
-    }
-
-    public function postFoo(Event $e)
-    {
-        $this->postFooInvoked = true;
-
-        $e->stopPropagation();
-    }
-}
-
-class TestEventSubscriber implements EventSubscriberInterface
-{
-    public static function getSubscribedEvents()
-    {
-        return array('pre.foo' => 'preFoo', 'post.foo' => 'postFoo');
-    }
-}
-
-class TestEventSubscriberWithPriorities implements EventSubscriberInterface
-{
-    public static function getSubscribedEvents()
-    {
-        return array(
-            'pre.foo' => array('preFoo', 10),
-            'post.foo' => array('postFoo'),
-            );
-    }
-}
-
-class TestEventSubscriberWithMultipleListeners implements EventSubscriberInterface
-{
-    public static function getSubscribedEvents()
-    {
-        return array('pre.foo' => array(
-            array('preFoo1'),
-            array('preFoo2', 10)
-        ));
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventTest.php
deleted file mode 100644
index 52aa9ad..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventTest.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests;
-
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-/**
- * Test class for Event.
- */
-class EventTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Symfony\Component\EventDispatcher\Event
-     */
-    protected $event;
-
-    /**
-     * @var \Symfony\Component\EventDispatcher\EventDispatcher
-     */
-    protected $dispatcher;
-
-    /**
-     * Sets up the fixture, for example, opens a network connection.
-     * This method is called before a test is executed.
-     */
-    protected function setUp()
-    {
-        $this->event = new Event;
-        $this->dispatcher = new EventDispatcher();
-    }
-
-    /**
-     * Tears down the fixture, for example, closes a network connection.
-     * This method is called after a test is executed.
-     */
-    protected function tearDown()
-    {
-        $this->event = null;
-        $this->eventDispatcher = null;
-    }
-
-    public function testIsPropagationStopped()
-    {
-        $this->assertFalse($this->event->isPropagationStopped());
-    }
-
-    public function testStopPropagationAndIsPropagationStopped()
-    {
-        $this->event->stopPropagation();
-        $this->assertTrue($this->event->isPropagationStopped());
-    }
-
-    public function testSetDispatcher()
-    {
-        $this->event->setDispatcher($this->dispatcher);
-        $this->assertSame($this->dispatcher, $this->event->getDispatcher());
-    }
-
-    public function testGetDispatcher()
-    {
-        $this->assertNull($this->event->getDispatcher());
-    }
-
-    public function testGetName()
-    {
-        $this->assertNull($this->event->getName());
-    }
-
-    public function testSetName()
-    {
-        $this->event->setName('foo');
-        $this->assertEquals('foo', $this->event->getName());
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
deleted file mode 100644
index 179e9a3..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests;
-
-use Symfony\Component\EventDispatcher\GenericEvent;
-
-/**
- * Test class for Event.
- */
-class GenericEventTest extends \PHPUnit_Framework_TestCase
-{
-
-    /**
-     * @var GenericEvent
-     */
-    private $event;
-
-    private $subject;
-
-    /**
-     * Prepares the environment before running a test.
-     */
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->subject = new \StdClass();
-        $this->event = new GenericEvent($this->subject, array('name' => 'Event'), 'foo');
-    }
-
-    /**
-     * Cleans up the environment after running a test.
-     */
-    protected function tearDown()
-    {
-        $this->subject = null;
-        $this->event = null;
-
-        parent::tearDown();
-    }
-
-    public function test__construct()
-    {
-        $this->assertEquals($this->event, new GenericEvent($this->subject, array('name' => 'Event')));
-    }
-
-    /**
-     * Tests Event->getArgs()
-     */
-    public function testGetArguments()
-    {
-        // test getting all
-        $this->assertSame(array('name' => 'Event'), $this->event->getArguments());
-    }
-
-    public function testSetArguments()
-    {
-        $result = $this->event->setArguments(array('foo' => 'bar'));
-        $this->assertAttributeSame(array('foo' => 'bar'), 'arguments', $this->event);
-        $this->assertSame($this->event, $result);
-    }
-
-    public function testSetArgument()
-    {
-        $result = $this->event->setArgument('foo2', 'bar2');
-        $this->assertAttributeSame(array('name' => 'Event', 'foo2' => 'bar2'), 'arguments', $this->event);
-        $this->assertEquals($this->event, $result);
-    }
-
-    public function testGetArgument()
-    {
-        // test getting key
-        $this->assertEquals('Event', $this->event->getArgument('name'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testGetArgException()
-    {
-        $this->event->getArgument('nameNotExist');
-    }
-
-    public function testOffsetGet()
-    {
-        // test getting key
-        $this->assertEquals('Event', $this->event['name']);
-
-        // test getting invalid arg
-        $this->setExpectedException('InvalidArgumentException');
-        $this->assertFalse($this->event['nameNotExist']);
-    }
-
-    public function testOffsetSet()
-    {
-        $this->event['foo2'] = 'bar2';
-        $this->assertAttributeSame(array('name' => 'Event', 'foo2' => 'bar2'), 'arguments', $this->event);
-    }
-
-    public function testOffsetUnset()
-    {
-        unset($this->event['name']);
-        $this->assertAttributeSame(array(), 'arguments', $this->event);
-    }
-
-    public function testOffsetIsset()
-    {
-        $this->assertTrue(isset($this->event['name']));
-        $this->assertFalse(isset($this->event['nameNotExist']));
-    }
-
-    public function testHasArgument()
-    {
-        $this->assertTrue($this->event->hasArgument('name'));
-        $this->assertFalse($this->event->hasArgument('nameNotExist'));
-    }
-
-    public function testGetSubject()
-    {
-        $this->assertSame($this->subject, $this->event->getSubject());
-    }
-
-    public function testHasIterator()
-    {
-        $data = array();
-        foreach ($this->event as $key => $value) {
-            $data[$key] = $value;
-        }
-        $this->assertEquals(array('name' => 'Event'), $data);
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php
deleted file mode 100644
index 6402f89..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\EventDispatcher\Tests;
-
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\EventDispatcher\ImmutableEventDispatcher;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-
-/**
- * @author Bernhard Schussek <bschussek@gmail.com>
- */
-class ImmutableEventDispatcherTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    private $innerDispatcher;
-
-    /**
-     * @var ImmutableEventDispatcher
-     */
-    private $dispatcher;
-
-    protected function setUp()
-    {
-        $this->innerDispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcherInterface');
-        $this->dispatcher = new ImmutableEventDispatcher($this->innerDispatcher);
-    }
-
-    public function testDispatchDelegates()
-    {
-        $event = new Event();
-
-        $this->innerDispatcher->expects($this->once())
-            ->method('dispatch')
-            ->with('event', $event)
-            ->will($this->returnValue('result'));
-
-        $this->assertSame('result', $this->dispatcher->dispatch('event', $event));
-    }
-
-    public function testGetListenersDelegates()
-    {
-        $this->innerDispatcher->expects($this->once())
-            ->method('getListeners')
-            ->with('event')
-            ->will($this->returnValue('result'));
-
-        $this->assertSame('result', $this->dispatcher->getListeners('event'));
-    }
-
-    public function testHasListenersDelegates()
-    {
-        $this->innerDispatcher->expects($this->once())
-            ->method('hasListeners')
-            ->with('event')
-            ->will($this->returnValue('result'));
-
-        $this->assertSame('result', $this->dispatcher->hasListeners('event'));
-    }
-
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testAddListenerDisallowed()
-    {
-        $this->dispatcher->addListener('event', function () { return 'foo'; });
-    }
-
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testAddSubscriberDisallowed()
-    {
-        $subscriber = $this->getMock('Symfony\Component\EventDispatcher\EventSubscriberInterface');
-
-        $this->dispatcher->addSubscriber($subscriber);
-    }
-
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testRemoveListenerDisallowed()
-    {
-        $this->dispatcher->removeListener('event', function () { return 'foo'; });
-    }
-
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testRemoveSubscriberDisallowed()
-    {
-        $subscriber = $this->getMock('Symfony\Component\EventDispatcher\EventSubscriberInterface');
-
-        $this->dispatcher->removeSubscriber($subscriber);
-    }
-}
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist
deleted file mode 100644
index 0c3de4f..0000000
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         colors="true"
-         convertErrorsToExceptions="true"
-         convertNoticesToExceptions="true"
-         convertWarningsToExceptions="true"
-         processIsolation="false"
-         stopOnFailure="false"
-         syntaxCheck="false"
-         bootstrap="vendor/autoload.php"
->
-    <testsuites>
-        <testsuite name="Symfony EventDispatcher Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Resources</directory>
-                <directory>./Tests</directory>
-                <directory>./vendor</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/CHANGELOG.md b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/CHANGELOG.md
index 13ed8dd..c83695f 100644
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/CHANGELOG.md
+++ b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/CHANGELOG.md
@@ -8,6 +8,7 @@ CHANGELOG
  * added Request::getRealMethod() to get the "real" HTTP method (getMethod() returns the "intended" HTTP method)
  * disabled _method request parameter support by default (call Request::enableHttpMethodParameterOverride() to enable it)
  * Request::splitHttpAcceptHeader() method is deprecated and will be removed in 2.3
+ * Deprecated Flashbag::count() and \Countable interface, will be removed in 2.3
 
 2.1.0
 -----
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileBinaryMimeTypeGuesser.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileBinaryMimeTypeGuesser.php
index 3da63dd..958e84c 100644
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileBinaryMimeTypeGuesser.php
+++ b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileBinaryMimeTypeGuesser.php
@@ -45,7 +45,7 @@ public function __construct($cmd = 'file -b --mime %s 2>/dev/null')
      */
     public static function isSupported()
     {
-        return !defined('PHP_WINDOWS_VERSION_BUILD');
+        return !defined('PHP_WINDOWS_VERSION_BUILD') && function_exists('passthru') && function_exists('escapeshellarg');
     }
 
     /**
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php
index 3b5d144..d886df1 100644
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php
+++ b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php
@@ -1404,7 +1404,8 @@ public function getAcceptableContentTypes()
      * Returns true if the request is a XMLHttpRequest.
      *
      * It works if your JavaScript library set an X-Requested-With HTTP header.
-     * It is known to work with Prototype, Mootools, jQuery.
+     * It is known to work with common JavaScript frameworks:
+     * @link http://en.wikipedia.org/wiki/List_of_Ajax_frameworks#JavaScript
      *
      * @return Boolean true if the request is an XMLHttpRequest, false otherwise
      *
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBag.php
index ce9308e..5bb43bc 100644
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBag.php
+++ b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBag.php
@@ -177,10 +177,17 @@ public function getIterator()
     /**
      * Returns the number of flashes.
      *
+     * This method does not work.
+     *
+     * @deprecated in 2.2, removed in 2.3
+     * @see https://github.com/symfony/symfony/issues/6408
+     *
      * @return int The number of flashes
      */
     public function count()
     {
+        trigger_error(sprintf('%s() is deprecated since 2.2 and will be removed in 2.3', __METHOD__), E_USER_DEPRECATED);
+
         return count($this->flashes);
     }
 }
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderItemTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderItemTest.php
deleted file mode 100644
index 582fbde..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderItemTest.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\AcceptHeaderItem;
-
-class AcceptHeaderItemTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider provideFromStringData
-     */
-    public function testFromString($string, $value, array $attributes)
-    {
-        $item = AcceptHeaderItem::fromString($string);
-        $this->assertEquals($value, $item->getValue());
-        $this->assertEquals($attributes, $item->getAttributes());
-    }
-
-    public function provideFromStringData()
-    {
-        return array(
-            array(
-                'text/html',
-                'text/html', array()
-            ),
-            array(
-                '"this;should,not=matter"',
-                'this;should,not=matter', array()
-            ),
-            array(
-                "text/plain; charset=utf-8;param=\"this;should,not=matter\";\tfootnotes=true",
-                'text/plain', array('charset' => 'utf-8', 'param' => 'this;should,not=matter', 'footnotes' => 'true')
-            ),
-            array(
-                '"this;should,not=matter";charset=utf-8',
-                'this;should,not=matter', array('charset' => 'utf-8')
-            ),
-        );
-    }
-
-    /**
-     * @dataProvider provideToStringData
-     */
-    public function testToString($value, array $attributes, $string)
-    {
-        $item = new AcceptHeaderItem($value, $attributes);
-        $this->assertEquals($string, (string) $item);
-    }
-
-    public function provideToStringData()
-    {
-        return array(
-            array(
-                'text/html', array(),
-                'text/html'
-            ),
-            array(
-                'text/plain', array('charset' => 'utf-8', 'param' => 'this;should,not=matter', 'footnotes' => 'true'),
-                'text/plain;charset=utf-8;param="this;should,not=matter";footnotes=true'
-            ),
-        );
-    }
-
-    public function testValue()
-    {
-        $item = new AcceptHeaderItem('value', array());
-        $this->assertEquals('value', $item->getValue());
-
-        $item->setValue('new value');
-        $this->assertEquals('new value', $item->getValue());
-
-        $item->setValue(1);
-        $this->assertEquals('1', $item->getValue());
-    }
-
-    public function testQuality()
-    {
-        $item = new AcceptHeaderItem('value', array());
-        $this->assertEquals(1.0, $item->getQuality());
-
-        $item->setQuality(0.5);
-        $this->assertEquals(0.5, $item->getQuality());
-
-        $item->setAttribute('q', 0.75);
-        $this->assertEquals(0.75, $item->getQuality());
-        $this->assertFalse($item->hasAttribute('q'));
-    }
-
-    public function testAttribute()
-    {
-        $item = new AcceptHeaderItem('value', array());
-        $this->assertEquals(array(), $item->getAttributes());
-        $this->assertFalse($item->hasAttribute('test'));
-        $this->assertNull($item->getAttribute('test'));
-        $this->assertEquals('default', $item->getAttribute('test', 'default'));
-
-        $item->setAttribute('test', 'value');
-        $this->assertEquals(array('test' => 'value'), $item->getAttributes());
-        $this->assertTrue($item->hasAttribute('test'));
-        $this->assertEquals('value', $item->getAttribute('test'));
-        $this->assertEquals('value', $item->getAttribute('test', 'default'));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php
deleted file mode 100644
index 9b3b58e..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\AcceptHeader;
-use Symfony\Component\HttpFoundation\AcceptHeaderItem;
-
-class AcceptHeaderTest extends \PHPUnit_Framework_TestCase
-{
-    public function testFirst()
-    {
-        $header = AcceptHeader::fromString('text/plain; q=0.5, text/html, text/x-dvi; q=0.8, text/x-c');
-        $this->assertSame('text/html', $header->first()->getValue());
-    }
-
-    /**
-     * @dataProvider provideFromStringData
-     */
-    public function testFromString($string, array $items)
-    {
-        $header = AcceptHeader::fromString($string);
-        $parsed = array_values($header->all());
-        // reset index since the fixtures don't have them set
-        foreach ($parsed as $item) {
-            $item->setIndex(0);
-        }
-        $this->assertEquals($items, $parsed);
-    }
-
-    public function provideFromStringData()
-    {
-        return array(
-            array('', array()),
-            array('gzip', array(new AcceptHeaderItem('gzip'))),
-            array('gzip,deflate,sdch', array(new AcceptHeaderItem('gzip'), new AcceptHeaderItem('deflate'), new AcceptHeaderItem('sdch'))),
-            array("gzip, deflate\t,sdch", array(new AcceptHeaderItem('gzip'), new AcceptHeaderItem('deflate'), new AcceptHeaderItem('sdch'))),
-            array('"this;should,not=matter"', array(new AcceptHeaderItem('this;should,not=matter'))),
-        );
-    }
-
-    /**
-     * @dataProvider provideToStringData
-     */
-    public function testToString(array $items, $string)
-    {
-        $header = new AcceptHeader($items);
-        $this->assertEquals($string, (string) $header);
-    }
-
-    public function provideToStringData()
-    {
-        return array(
-            array(array(), ''),
-            array(array(new AcceptHeaderItem('gzip')), 'gzip'),
-            array(array(new AcceptHeaderItem('gzip'), new AcceptHeaderItem('deflate'), new AcceptHeaderItem('sdch')), 'gzip,deflate,sdch'),
-            array(array(new AcceptHeaderItem('this;should,not=matter')), 'this;should,not=matter'),
-        );
-    }
-
-    /**
-     * @dataProvider provideFilterData
-     */
-    public function testFilter($string, $filter, array $values)
-    {
-        $header = AcceptHeader::fromString($string)->filter($filter);
-        $this->assertEquals($values, array_keys($header->all()));
-    }
-
-    public function provideFilterData()
-    {
-        return array(
-            array('fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4', '/fr.*/', array('fr-FR', 'fr')),
-        );
-    }
-
-    /**
-     * @dataProvider provideSortingData
-     */
-    public function testSorting($string, array $values)
-    {
-        $header = AcceptHeader::fromString($string);
-        $this->assertEquals($values, array_keys($header->all()));
-    }
-
-    public function provideSortingData()
-    {
-        return array(
-            'quality has priority' => array('*;q=0.3,ISO-8859-1,utf-8;q=0.7',  array('ISO-8859-1', 'utf-8', '*')),
-            'order matters when q is equal' => array('*;q=0.3,ISO-8859-1;q=0.7,utf-8;q=0.7',  array('ISO-8859-1', 'utf-8', '*')),
-            'order matters when q is equal2' => array('*;q=0.3,utf-8;q=0.7,ISO-8859-1;q=0.7',  array('utf-8', 'ISO-8859-1', '*')),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ApacheRequestTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ApacheRequestTest.php
deleted file mode 100644
index 965a7d2..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ApacheRequestTest.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\ApacheRequest;
-
-class ApacheRequestTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider provideServerVars
-     */
-    public function testUriMethods($server, $expectedRequestUri, $expectedBaseUrl, $expectedPathInfo)
-    {
-        $request = new ApacheRequest();
-        $request->server->replace($server);
-
-        $this->assertEquals($expectedRequestUri, $request->getRequestUri(), '->getRequestUri() is correct');
-        $this->assertEquals($expectedBaseUrl, $request->getBaseUrl(), '->getBaseUrl() is correct');
-        $this->assertEquals($expectedPathInfo, $request->getPathInfo(), '->getPathInfo() is correct');
-    }
-
-    public function provideServerVars()
-    {
-        return array(
-            array(
-                array(
-                    'REQUEST_URI' => '/foo/app_dev.php/bar',
-                    'SCRIPT_NAME' => '/foo/app_dev.php',
-                    'PATH_INFO'   => '/bar',
-                ),
-                '/foo/app_dev.php/bar',
-                '/foo/app_dev.php',
-                '/bar'
-            ),
-            array(
-                array(
-                    'REQUEST_URI' => '/foo/bar',
-                    'SCRIPT_NAME' => '/foo/app_dev.php',
-                ),
-                '/foo/bar',
-                '/foo',
-                '/bar',
-            ),
-            array(
-                array(
-                    'REQUEST_URI' => '/app_dev.php/foo/bar',
-                    'SCRIPT_NAME' => '/app_dev.php',
-                    'PATH_INFO'   => '/foo/bar',
-                ),
-                '/app_dev.php/foo/bar',
-                '/app_dev.php',
-                '/foo/bar',
-            ),
-            array(
-                array(
-                    'REQUEST_URI' => '/foo/bar',
-                    'SCRIPT_NAME' => '/app_dev.php',
-                ),
-                '/foo/bar',
-                '',
-                '/foo/bar',
-            ),
-            array(
-                array(
-                    'REQUEST_URI' => '/app_dev.php',
-                    'SCRIPT_NAME' => '/app_dev.php',
-                ),
-                '/app_dev.php',
-                '/app_dev.php',
-                '/',
-            ),
-            array(
-                array(
-                    'REQUEST_URI' => '/',
-                    'SCRIPT_NAME' => '/app_dev.php',
-                ),
-                '/',
-                '',
-                '/',
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php
deleted file mode 100644
index 23f93f7..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\BinaryFileResponse;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\ResponseHeaderBag;
-
-class BinaryFileResponseTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstruction()
-    {
-        $response = new BinaryFileResponse('README.md', 404, array('X-Header' => 'Foo'), true, null, true, true);
-        $this->assertEquals(404, $response->getStatusCode());
-        $this->assertEquals('Foo', $response->headers->get('X-Header'));
-        $this->assertTrue($response->headers->has('ETag'));
-        $this->assertTrue($response->headers->has('Last-Modified'));
-        $this->assertFalse($response->headers->has('Content-Disposition'));
-
-        $response = BinaryFileResponse::create('README.md', 404, array(), true, ResponseHeaderBag::DISPOSITION_INLINE);
-        $this->assertEquals(404, $response->getStatusCode());
-        $this->assertFalse($response->headers->has('ETag'));
-        $this->assertEquals('inline; filename="README.md"', $response->headers->get('Content-Disposition'));
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testSetContent()
-    {
-        $response = new BinaryFileResponse('README.md');
-        $response->setContent('foo');
-    }
-
-    public function testGetContent()
-    {
-        $response = new BinaryFileResponse('README.md');
-        $this->assertFalse($response->getContent());
-    }
-
-    public function testRequests()
-    {
-        $response = BinaryFileResponse::create(__DIR__.'/File/Fixtures/test.gif')->setAutoEtag();
-
-        // do a request to get the ETag
-        $request = Request::create('/');
-        $response->prepare($request);
-        $etag = $response->headers->get('ETag');
-
-        // prepare a request for a range of the testing file
-        $request = Request::create('/');
-        $request->headers->set('If-Range', $etag);
-        $request->headers->set('Range', 'bytes=1-4');
-
-        $this->expectOutputString('IF8');
-        $response = clone $response;
-        $response->prepare($request);
-        $response->sendContent();
-
-        $this->assertEquals('binary', $response->headers->get('Content-Transfer-Encoding'));
-    }
-
-    public function testXSendfile()
-    {
-        $request = Request::create('/');
-        $request->headers->set('X-Sendfile-Type', 'X-Sendfile');
-
-        BinaryFileResponse::trustXSendfileTypeHeader();
-        $response = BinaryFileResponse::create('README.md');
-        $response->prepare($request);
-
-        $this->expectOutputString('');
-        $response->sendContent();
-
-        $this->assertContains('README.md', $response->headers->get('X-Sendfile'));
-    }
-
-    /**
-     * @dataProvider getSampleXAccelMappings
-     */
-    public function testXAccelMapping($realpath, $mapping, $virtual)
-    {
-        $request = Request::create('/');
-        $request->headers->set('X-Sendfile-Type', 'X-Accel-Redirect');
-        $request->headers->set('X-Accel-Mapping', $mapping);
-
-        $file = $this->getMockBuilder('Symfony\Component\HttpFoundation\File\File')
-                     ->disableOriginalConstructor()
-                     ->getMock();
-        $file->expects($this->any())
-             ->method('getRealPath')
-             ->will($this->returnValue($realpath));
-        $file->expects($this->any())
-             ->method('isReadable')
-             ->will($this->returnValue(true));
-
-        BinaryFileResponse::trustXSendFileTypeHeader();
-        $response = new BinaryFileResponse('README.md');
-        $reflection = new \ReflectionObject($response);
-        $property = $reflection->getProperty('file');
-        $property->setAccessible(true);
-        $property->setValue($response, $file);
-
-        $response->prepare($request);
-        $this->assertEquals($virtual, $response->headers->get('X-Accel-Redirect'));
-    }
-
-    public function getSampleXAccelMappings()
-    {
-        return array(
-            array('/var/www/var/www/files/foo.txt', '/files/=/var/www/', '/files/var/www/files/foo.txt'),
-            array('/home/foo/bar.txt', '/files/=/var/www/,/baz/=/home/foo/', '/baz/bar.txt'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/CookieTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/CookieTest.php
deleted file mode 100644
index 721cc3c..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/CookieTest.php
+++ /dev/null
@@ -1,144 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\Cookie;
-
-/**
- * CookieTest
- *
- * @author John Kary <john@johnkary.net>
- * @author Hugo Hamon <hugo.hamon@sensio.com>
- */
-class CookieTest extends \PHPUnit_Framework_TestCase
-{
-    public function invalidNames()
-    {
-        return array(
-            array(''),
-            array(",MyName"),
-            array(";MyName"),
-            array(" MyName"),
-            array("\tMyName"),
-            array("\rMyName"),
-            array("\nMyName"),
-            array("\013MyName"),
-            array("\014MyName"),
-        );
-    }
-
-    /**
-     * @dataProvider invalidNames
-     * @expectedException InvalidArgumentException
-     * @covers Symfony\Component\HttpFoundation\Cookie::__construct
-     */
-    public function testInstantiationThrowsExceptionIfCookieNameContainsInvalidCharacters($name)
-    {
-        new Cookie($name);
-    }
-
-    /**
-     * @expectedException InvalidArgumentException
-     */
-    public function testInvalidExpiration()
-    {
-        $cookie = new Cookie('MyCookie', 'foo','bar');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Cookie::getValue
-     */
-    public function testGetValue()
-    {
-        $value = 'MyValue';
-        $cookie = new Cookie('MyCookie', $value);
-
-        $this->assertSame($value, $cookie->getValue(), '->getValue() returns the proper value');
-    }
-
-    public function testGetPath()
-    {
-        $cookie = new Cookie('foo', 'bar');
-
-        $this->assertSame('/', $cookie->getPath(), '->getPath() returns / as the default path');
-    }
-
-    public function testGetExpiresTime()
-    {
-        $cookie = new Cookie('foo', 'bar', 3600);
-
-        $this->assertEquals(3600, $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date');
-    }
-
-    public function testConstructorWithDateTime()
-    {
-        $expire = new \DateTime();
-        $cookie = new Cookie('foo', 'bar', $expire);
-
-        $this->assertEquals($expire->format('U'), $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date');
-    }
-
-    public function testGetExpiresTimeWithStringValue()
-    {
-        $value = "+1 day";
-        $cookie = new Cookie('foo', 'bar', $value);
-        $expire = strtotime($value);
-
-        $this->assertEquals($expire, $cookie->getExpiresTime(), '->getExpiresTime() returns the expire date');
-    }
-
-    public function testGetDomain()
-    {
-        $cookie = new Cookie('foo', 'bar', 3600, '/', '.myfoodomain.com');
-
-        $this->assertEquals('.myfoodomain.com', $cookie->getDomain(), '->getDomain() returns the domain name on which the cookie is valid');
-    }
-
-    public function testIsSecure()
-    {
-        $cookie = new Cookie('foo', 'bar', 3600, '/', '.myfoodomain.com', true);
-
-        $this->assertTrue($cookie->isSecure(), '->isSecure() returns whether the cookie is transmitted over HTTPS');
-    }
-
-    public function testIsHttpOnly()
-    {
-        $cookie = new Cookie('foo', 'bar', 3600, '/', '.myfoodomain.com', false, true);
-
-        $this->assertTrue($cookie->isHttpOnly(), '->isHttpOnly() returns whether the cookie is only transmitted over HTTP');
-    }
-
-    public function testCookieIsNotCleared()
-    {
-        $cookie = new Cookie('foo', 'bar', time()+3600*24);
-
-        $this->assertFalse($cookie->isCleared(), '->isCleared() returns false if the cookie did not expire yet');
-    }
-
-    public function testCookieIsCleared()
-    {
-        $cookie = new Cookie('foo', 'bar', time()-20);
-
-        $this->assertTrue($cookie->isCleared(), '->isCleared() returns true if the cookie has expired');
-    }
-
-    public function testToString()
-    {
-        $cookie = new Cookie('foo', 'bar', strtotime('Fri, 20-May-2011 15:25:52 GMT'), '/', '.myfoodomain.com', true);
-
-        $this->assertEquals('foo=bar; expires=Fri, 20-May-2011 15:25:52 GMT; domain=.myfoodomain.com; secure; httponly', $cookie->__toString(), '->__toString() returns string representation of the cookie');
-
-        $cookie = new Cookie('foo', null, 1, '/admin/', '.myfoodomain.com');
-
-        $this->assertEquals('foo=deleted; expires=' . gmdate("D, d-M-Y H:i:s T", time()-31536001) . '; path=/admin/; domain=.myfoodomain.com; httponly', $cookie->__toString(), '->__toString() returns string representation of a cleared cookie if value is NULL');
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FileTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FileTest.php
deleted file mode 100644
index b64d5f5..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FileTest.php
+++ /dev/null
@@ -1,169 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\File;
-
-use Symfony\Component\HttpFoundation\File\File;
-use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser;
-
-class FileTest extends \PHPUnit_Framework_TestCase
-{
-    protected $file;
-
-    public function testGetMimeTypeUsesMimeTypeGuessers()
-    {
-        $file = new File(__DIR__.'/Fixtures/test.gif');
-        $guesser = $this->createMockGuesser($file->getPathname(), 'image/gif');
-
-        MimeTypeGuesser::getInstance()->register($guesser);
-
-        $this->assertEquals('image/gif', $file->getMimeType());
-    }
-
-    public function testGuessExtensionWithoutGuesser()
-    {
-        $file = new File(__DIR__.'/Fixtures/directory/.empty');
-
-        $this->assertNull($file->guessExtension());
-    }
-
-    public function testGuessExtensionIsBasedOnMimeType()
-    {
-        $file = new File(__DIR__.'/Fixtures/test');
-        $guesser = $this->createMockGuesser($file->getPathname(), 'image/gif');
-
-        MimeTypeGuesser::getInstance()->register($guesser);
-
-        $this->assertEquals('gif', $file->guessExtension());
-    }
-
-    public function testConstructWhenFileNotExists()
-    {
-        $this->setExpectedException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
-
-        new File(__DIR__.'/Fixtures/not_here');
-    }
-
-    public function testMove()
-    {
-        $path = __DIR__.'/Fixtures/test.copy.gif';
-        $targetDir = __DIR__.'/Fixtures/directory';
-        $targetPath = $targetDir.'/test.copy.gif';
-        @unlink($path);
-        @unlink($targetPath);
-        copy(__DIR__.'/Fixtures/test.gif', $path);
-
-        $file = new File($path);
-        $movedFile = $file->move($targetDir);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\File\File', $movedFile);
-
-        $this->assertTrue(file_exists($targetPath));
-        $this->assertFalse(file_exists($path));
-        $this->assertEquals(realpath($targetPath), $movedFile->getRealPath());
-
-        @unlink($targetPath);
-    }
-
-    public function testMoveWithNewName()
-    {
-        $path = __DIR__.'/Fixtures/test.copy.gif';
-        $targetDir = __DIR__.'/Fixtures/directory';
-        $targetPath = $targetDir.'/test.newname.gif';
-        @unlink($path);
-        @unlink($targetPath);
-        copy(__DIR__.'/Fixtures/test.gif', $path);
-
-        $file = new File($path);
-        $movedFile = $file->move($targetDir, 'test.newname.gif');
-
-        $this->assertTrue(file_exists($targetPath));
-        $this->assertFalse(file_exists($path));
-        $this->assertEquals(realpath($targetPath), $movedFile->getRealPath());
-
-        @unlink($targetPath);
-    }
-
-    public function getFilenameFixtures()
-    {
-        return array(
-            array('original.gif', 'original.gif'),
-            array('..\\..\\original.gif', 'original.gif'),
-            array('../../original.gif', 'original.gif'),
-            array('файлfile.gif', 'файлfile.gif'),
-            array('..\\..\\файлfile.gif', 'файлfile.gif'),
-            array('../../файлfile.gif', 'файлfile.gif'),
-        );
-    }
-
-    /**
-     * @dataProvider getFilenameFixtures
-     */
-    public function testMoveWithNonLatinName($filename, $sanitizedFilename)
-    {
-        $path = __DIR__.'/Fixtures/'.$sanitizedFilename;
-        $targetDir = __DIR__.'/Fixtures/directory/';
-        $targetPath = $targetDir.$sanitizedFilename;
-        @unlink($path);
-        @unlink($targetPath);
-        copy(__DIR__.'/Fixtures/test.gif', $path);
-
-        $file = new File($path);
-        $movedFile = $file->move($targetDir,$filename);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\File\File', $movedFile);
-
-        $this->assertTrue(file_exists($targetPath));
-        $this->assertFalse(file_exists($path));
-        $this->assertEquals(realpath($targetPath), $movedFile->getRealPath());
-
-        @unlink($targetPath);
-    }
-
-    public function testMoveToAnUnexistentDirectory()
-    {
-        $sourcePath = __DIR__.'/Fixtures/test.copy.gif';
-        $targetDir = __DIR__.'/Fixtures/directory/sub';
-        $targetPath = $targetDir.'/test.copy.gif';
-        @unlink($sourcePath);
-        @unlink($targetPath);
-        @rmdir($targetDir);
-        copy(__DIR__.'/Fixtures/test.gif', $sourcePath);
-
-        $file = new File($sourcePath);
-        $movedFile = $file->move($targetDir);
-
-        $this->assertFileExists($targetPath);
-        $this->assertFileNotExists($sourcePath);
-        $this->assertEquals(realpath($targetPath), $movedFile->getRealPath());
-
-        @unlink($sourcePath);
-        @unlink($targetPath);
-        @rmdir($targetDir);
-    }
-
-    public function testGetExtension()
-    {
-        $file = new File(__DIR__.'/Fixtures/test.gif');
-        $this->assertEquals('gif', $file->getExtension());
-    }
-
-    protected function createMockGuesser($path, $mimeType)
-    {
-        $guesser = $this->getMock('Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesserInterface');
-        $guesser
-            ->expects($this->once())
-            ->method('guess')
-            ->with($this->equalTo($path))
-            ->will($this->returnValue($mimeType))
-        ;
-
-        return $guesser;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/.unknownextension b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/.unknownextension
deleted file mode 100644
index 4d1ae35..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/.unknownextension
+++ /dev/null
@@ -1 +0,0 @@
-f
\ No newline at end of file
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/directory/.empty b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/directory/.empty
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test
deleted file mode 100644
index b636f4b..0000000
Binary files a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test and /dev/null differ
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test.gif b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test.gif
deleted file mode 100644
index b636f4b..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test.gif
+++ /dev/null
@@ -1 +0,0 @@
-GIF87a    ,       D ;
\ No newline at end of file
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/MimeType/MimeTypeTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/MimeType/MimeTypeTest.php
deleted file mode 100644
index 7bf10a2..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/MimeType/MimeTypeTest.php
+++ /dev/null
@@ -1,105 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\File;
-
-use Symfony\Component\HttpFoundation\File\File;
-use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser;
-use Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser;
-use Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException;
-use Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException;
-
-class MimeTypeTest extends \PHPUnit_Framework_TestCase
-{
-    protected $path;
-
-    public function testGuessImageWithoutExtension()
-    {
-        if (extension_loaded('fileinfo')) {
-            $this->assertEquals('image/gif', MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test'));
-        } else {
-            $this->assertNull(MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test'));
-        }
-    }
-
-    public function testGuessImageWithDirectory()
-    {
-        $this->setExpectedException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
-
-        MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/directory');
-    }
-
-    public function testGuessImageWithFileBinaryMimeTypeGuesser()
-    {
-        $guesser = MimeTypeGuesser::getInstance();
-        $guesser->register(new FileBinaryMimeTypeGuesser());
-        if (extension_loaded('fileinfo')) {
-            $this->assertEquals('image/gif', MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test'));
-        } else {
-            $this->assertNull(MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test'));
-        }
-    }
-
-    public function testGuessImageWithKnownExtension()
-    {
-        if (extension_loaded('fileinfo')) {
-            $this->assertEquals('image/gif', MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test.gif'));
-        } else {
-            $this->assertNull(MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/test.gif'));
-        }
-    }
-
-    public function testGuessFileWithUnknownExtension()
-    {
-        if (extension_loaded('fileinfo')) {
-            $this->assertEquals('application/octet-stream', MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/.unknownextension'));
-        } else {
-            $this->assertNull(MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/.unknownextension'));
-        }
-    }
-
-    public function testGuessWithIncorrectPath()
-    {
-        $this->setExpectedException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
-        MimeTypeGuesser::getInstance()->guess(__DIR__.'/../Fixtures/not_here');
-    }
-
-    public function testGuessWithNonReadablePath()
-    {
-        if (defined('PHP_WINDOWS_VERSION_BUILD')) {
-            $this->markTestSkipped('Can not verify chmod operations on Windows');
-        }
-
-        if (in_array(get_current_user(), array('root'))) {
-            $this->markTestSkipped('This test will fail if run under superuser');
-        }
-
-        $path = __DIR__.'/../Fixtures/to_delete';
-        touch($path);
-        @chmod($path, 0333);
-
-        if (get_current_user() != 'root' && substr(sprintf('%o', fileperms($path)), -4) == '0333') {
-            $this->setExpectedException('Symfony\Component\HttpFoundation\File\Exception\AccessDeniedException');
-            MimeTypeGuesser::getInstance()->guess($path);
-        } else {
-            $this->markTestSkipped('Can not verify chmod operations, change of file permissions failed');
-        }
-    }
-
-    public static function tearDownAfterClass()
-    {
-        $path = __DIR__.'/../Fixtures/to_delete';
-        if (file_exists($path)) {
-            @chmod($path, 0666);
-            @unlink($path);
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php
deleted file mode 100644
index 94a075a..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php
+++ /dev/null
@@ -1,232 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\File;
-
-use Symfony\Component\HttpFoundation\File\UploadedFile;
-
-class UploadedFileTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!ini_get('file_uploads')) {
-            $this->markTestSkipped('file_uploads is disabled in php.ini');
-        }
-    }
-
-    public function testConstructWhenFileNotExists()
-    {
-        $this->setExpectedException('Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException');
-
-        new UploadedFile(
-            __DIR__.'/Fixtures/not_here',
-            'original.gif',
-            null
-        );
-    }
-
-    public function testFileUploadsWithNoMimeType()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            null,
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            UPLOAD_ERR_OK
-        );
-
-        $this->assertEquals('application/octet-stream', $file->getClientMimeType());
-
-        if (extension_loaded('fileinfo')) {
-            $this->assertEquals('image/gif', $file->getMimeType());
-        }
-    }
-
-    public function testFileUploadsWithUnknownMimeType()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/.unknownextension',
-            'original.gif',
-            null,
-            filesize(__DIR__.'/Fixtures/.unknownextension'),
-            UPLOAD_ERR_OK
-        );
-
-        $this->assertEquals('application/octet-stream', $file->getClientMimeType());
-    }
-
-    public function testErrorIsOkByDefault()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals(UPLOAD_ERR_OK, $file->getError());
-    }
-
-    public function testGetClientOriginalName()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals('original.gif', $file->getClientOriginalName());
-    }
-
-    public function testGetClientOriginalExtension()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals('gif', $file->getClientOriginalExtension());
-    }
-
-    /**
-     * @expectedException Symfony\Component\HttpFoundation\File\Exception\FileException
-     */
-    public function testMoveLocalFileIsNotAllowed()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            UPLOAD_ERR_OK
-        );
-
-        $movedFile = $file->move(__DIR__.'/Fixtures/directory');
-    }
-
-    public function testMoveLocalFileIsAllowedInTestMode()
-    {
-        $path = __DIR__.'/Fixtures/test.copy.gif';
-        $targetDir = __DIR__.'/Fixtures/directory';
-        $targetPath = $targetDir.'/test.copy.gif';
-        @unlink($path);
-        @unlink($targetPath);
-        copy(__DIR__.'/Fixtures/test.gif', $path);
-
-        $file = new UploadedFile(
-            $path,
-            'original.gif',
-            'image/gif',
-            filesize($path),
-            UPLOAD_ERR_OK,
-            true
-        );
-
-        $movedFile = $file->move(__DIR__.'/Fixtures/directory');
-
-        $this->assertTrue(file_exists($targetPath));
-        $this->assertFalse(file_exists($path));
-        $this->assertEquals(realpath($targetPath), $movedFile->getRealPath());
-
-        @unlink($targetPath);
-    }
-
-    public function testGetClientOriginalNameSanitizeFilename()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            '../../original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals('original.gif', $file->getClientOriginalName());
-    }
-
-    public function testGetSize()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            'image/gif',
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            null
-        );
-
-        $this->assertEquals(filesize(__DIR__.'/Fixtures/test.gif'), $file->getSize());
-
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test',
-            'original.gif',
-            'image/gif'
-        );
-
-        $this->assertEquals(filesize(__DIR__.'/Fixtures/test'), $file->getSize());
-    }
-
-    public function testGetExtension()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            null
-        );
-
-        $this->assertEquals('gif', $file->getExtension());
-    }
-
-    public function testIsValid()
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            null,
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            UPLOAD_ERR_OK
-        );
-
-        $this->assertTrue($file->isValid());
-    }
-
-    /**
-     * @dataProvider uploadedFileErrorProvider
-     */
-    public function testIsInvalidOnUploadError($error)
-    {
-        $file = new UploadedFile(
-            __DIR__.'/Fixtures/test.gif',
-            'original.gif',
-            null,
-            filesize(__DIR__.'/Fixtures/test.gif'),
-            $error
-        );
-
-        $this->assertFalse($file->isValid());
-    }
-
-    public function uploadedFileErrorProvider()
-    {
-        return array(
-            array(UPLOAD_ERR_INI_SIZE),
-            array(UPLOAD_ERR_FORM_SIZE),
-            array(UPLOAD_ERR_PARTIAL),
-            array(UPLOAD_ERR_NO_TMP_DIR),
-            array(UPLOAD_ERR_EXTENSION),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/FileBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/FileBagTest.php
deleted file mode 100644
index 1f29d56..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/FileBagTest.php
+++ /dev/null
@@ -1,148 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\File\UploadedFile;
-use Symfony\Component\HttpFoundation\FileBag;
-
-/**
- * FileBagTest.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- */
-class FileBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testFileMustBeAnArrayOrUploadedFile()
-    {
-        new FileBag(array('file' => 'foo'));
-    }
-
-    public function testShouldConvertsUploadedFiles()
-    {
-        $tmpFile = $this->createTempFile();
-        $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
-
-        $bag = new FileBag(array('file' => array(
-            'name' => basename($tmpFile),
-            'type' => 'text/plain',
-            'tmp_name' => $tmpFile,
-            'error' => 0,
-            'size' => 100
-        )));
-
-        $this->assertEquals($file, $bag->get('file'));
-    }
-
-    public function testShouldSetEmptyUploadedFilesToNull()
-    {
-        $bag = new FileBag(array('file' => array(
-            'name' => '',
-            'type' => '',
-            'tmp_name' => '',
-            'error' => UPLOAD_ERR_NO_FILE,
-            'size' => 0
-        )));
-
-        $this->assertNull($bag->get('file'));
-    }
-
-    public function testShouldConvertUploadedFilesWithPhpBug()
-    {
-        $tmpFile = $this->createTempFile();
-        $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
-
-        $bag = new FileBag(array(
-            'child' => array(
-                'name' => array(
-                    'file' => basename($tmpFile),
-                ),
-                'type' => array(
-                    'file' => 'text/plain',
-                ),
-                'tmp_name' => array(
-                    'file' => $tmpFile,
-                ),
-                'error' => array(
-                    'file' => 0,
-                ),
-                'size' => array(
-                    'file' => 100,
-                ),
-            )
-        ));
-
-        $files = $bag->all();
-        $this->assertEquals($file, $files['child']['file']);
-    }
-
-    public function testShouldConvertNestedUploadedFilesWithPhpBug()
-    {
-        $tmpFile = $this->createTempFile();
-        $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
-
-        $bag = new FileBag(array(
-            'child' => array(
-                'name' => array(
-                    'sub' => array('file' => basename($tmpFile))
-                ),
-                'type' => array(
-                    'sub' => array('file' => 'text/plain')
-                ),
-                'tmp_name' => array(
-                    'sub' => array('file' => $tmpFile)
-                ),
-                'error' => array(
-                    'sub' => array('file' => 0)
-                ),
-                'size' => array(
-                    'sub' => array('file' => 100)
-                ),
-            )
-        ));
-
-        $files = $bag->all();
-        $this->assertEquals($file, $files['child']['sub']['file']);
-    }
-
-    public function testShouldNotConvertNestedUploadedFiles()
-    {
-        $tmpFile = $this->createTempFile();
-        $file = new UploadedFile($tmpFile, basename($tmpFile), 'text/plain', 100, 0);
-        $bag = new FileBag(array('image' => array('file' => $file)));
-
-        $files = $bag->all();
-        $this->assertEquals($file, $files['image']['file']);
-    }
-
-    protected function createTempFile()
-    {
-        return tempnam(sys_get_temp_dir().'/form_test', 'FormTest');
-    }
-
-    protected function setUp()
-    {
-        mkdir(sys_get_temp_dir().'/form_test', 0777, true);
-    }
-
-    protected function tearDown()
-    {
-        foreach (glob(sys_get_temp_dir().'/form_test/*') as $file) {
-            unlink($file);
-        }
-
-        rmdir(sys_get_temp_dir().'/form_test');
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php
deleted file mode 100644
index b1bfefb..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\HeaderBag;
-
-class HeaderBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::__construct
-     */
-    public function testConstructor()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar'));
-        $this->assertTrue($bag->has('foo'));
-    }
-
-    public function testToStringNull()
-    {
-        $bag = new HeaderBag();
-        $this->assertEquals('', $bag->__toString());
-    }
-
-    public function testToStringNotNull()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar'));
-        $this->assertEquals("Foo: bar\r\n", $bag->__toString());
-    }
-
-    public function testKeys()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar'));
-        $keys = $bag->keys();
-        $this->assertEquals("foo", $keys[0]);
-    }
-
-    public function testGetDate()
-    {
-        $bag = new HeaderBag(array('foo' => 'Tue, 4 Sep 2012 20:00:00 +0200'));
-        $headerDate = $bag->getDate('foo');
-        $this->assertInstanceOf('DateTime', $headerDate);
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testGetDateException()
-    {
-        $bag = new HeaderBag(array('foo' => 'Tue'));
-        $headerDate = $bag->getDate('foo');
-    }
-
-    public function testGetCacheControlHeader()
-    {
-        $bag = new HeaderBag();
-        $bag->addCacheControlDirective('public', '#a');
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-        $this->assertEquals('#a', $bag->getCacheControlDirective('public'));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::all
-     */
-    public function testAll()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar'));
-        $this->assertEquals(array('foo' => array('bar')), $bag->all(), '->all() gets all the input');
-
-        $bag = new HeaderBag(array('FOO' => 'BAR'));
-        $this->assertEquals(array('foo' => array('BAR')), $bag->all(), '->all() gets all the input key are lower case');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::replace
-     */
-    public function testReplace()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar'));
-
-        $bag->replace(array('NOPE' => 'BAR'));
-        $this->assertEquals(array('nope' => array('BAR')), $bag->all(), '->replace() replaces the input with the argument');
-        $this->assertFalse($bag->has('foo'), '->replace() overrides previously set the input');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::get
-     */
-    public function testGet()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar', 'fuzz' => 'bizz'));
-        $this->assertEquals( 'bar', $bag->get('foo'), '->get return current value');
-        $this->assertEquals( 'bar', $bag->get('FoO'), '->get key in case insensitive');
-        $this->assertEquals( array('bar'), $bag->get('foo', 'nope', false), '->get return the value as array');
-
-        // defaults
-        $this->assertNull($bag->get('none'), '->get unknown values returns null');
-        $this->assertEquals( 'default', $bag->get('none', 'default'), '->get unknown values returns default');
-        $this->assertEquals( array('default'), $bag->get('none', 'default', false), '->get unknown values returns default as array');
-
-        $bag->set('foo', 'bor', false);
-        $this->assertEquals( 'bar', $bag->get('foo'), '->get return first value');
-        $this->assertEquals( array('bar', 'bor'), $bag->get('foo', 'nope', false), '->get return all values as array');
-    }
-
-    public function testSetAssociativeArray()
-    {
-        $bag = new HeaderBag();
-        $bag->set('foo', array('bad-assoc-index' => 'value'));
-        $this->assertSame('value', $bag->get('foo'));
-        $this->assertEquals(array('value'), $bag->get('foo', 'nope', false), 'assoc indices of multi-valued headers are ignored');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::contains
-     */
-    public function testContains()
-    {
-        $bag = new HeaderBag(array('foo' => 'bar', 'fuzz' => 'bizz'));
-        $this->assertTrue(  $bag->contains('foo', 'bar'), '->contains first value');
-        $this->assertTrue(  $bag->contains('fuzz', 'bizz'), '->contains second value');
-        $this->assertFalse(  $bag->contains('nope', 'nope'), '->contains unknown value');
-        $this->assertFalse(  $bag->contains('foo', 'nope'), '->contains unknown value');
-
-        // Multiple values
-        $bag->set('foo', 'bor', false);
-        $this->assertTrue(  $bag->contains('foo', 'bar'), '->contains first value');
-        $this->assertTrue(  $bag->contains('foo', 'bor'), '->contains second value');
-        $this->assertFalse(  $bag->contains('foo', 'nope'), '->contains unknown value');
-    }
-
-    public function testCacheControlDirectiveAccessors()
-    {
-        $bag = new HeaderBag();
-        $bag->addCacheControlDirective('public');
-
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-        $this->assertTrue($bag->getCacheControlDirective('public'));
-        $this->assertEquals('public', $bag->get('cache-control'));
-
-        $bag->addCacheControlDirective('max-age', 10);
-        $this->assertTrue($bag->hasCacheControlDirective('max-age'));
-        $this->assertEquals(10, $bag->getCacheControlDirective('max-age'));
-        $this->assertEquals('max-age=10, public', $bag->get('cache-control'));
-
-        $bag->removeCacheControlDirective('max-age');
-        $this->assertFalse($bag->hasCacheControlDirective('max-age'));
-    }
-
-    public function testCacheControlDirectiveParsing()
-    {
-        $bag = new HeaderBag(array('cache-control' => 'public, max-age=10'));
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-        $this->assertTrue($bag->getCacheControlDirective('public'));
-
-        $this->assertTrue($bag->hasCacheControlDirective('max-age'));
-        $this->assertEquals(10, $bag->getCacheControlDirective('max-age'));
-
-        $bag->addCacheControlDirective('s-maxage', 100);
-        $this->assertEquals('max-age=10, public, s-maxage=100', $bag->get('cache-control'));
-    }
-
-    public function testCacheControlDirectiveParsingQuotedZero()
-    {
-        $bag = new HeaderBag(array('cache-control' => 'max-age="0"'));
-        $this->assertTrue($bag->hasCacheControlDirective('max-age'));
-        $this->assertEquals(0, $bag->getCacheControlDirective('max-age'));
-    }
-
-    public function testCacheControlDirectiveOverrideWithReplace()
-    {
-        $bag = new HeaderBag(array('cache-control' => 'private, max-age=100'));
-        $bag->replace(array('cache-control' => 'public, max-age=10'));
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-        $this->assertTrue($bag->getCacheControlDirective('public'));
-
-        $this->assertTrue($bag->hasCacheControlDirective('max-age'));
-        $this->assertEquals(10, $bag->getCacheControlDirective('max-age'));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::getIterator
-     */
-    public function testGetIterator()
-    {
-        $headers   = array('foo' => 'bar', 'hello' => 'world', 'third' => 'charm');
-        $headerBag = new HeaderBag($headers);
-
-        $i = 0;
-        foreach ($headerBag as $key => $val) {
-            $i++;
-            $this->assertEquals(array($headers[$key]), $val);
-        }
-
-        $this->assertEquals(count($headers), $i);
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\HeaderBag::count
-     */
-    public function testCount()
-    {
-        $headers   = array('foo' => 'bar', 'HELLO' => 'WORLD');
-        $headerBag = new HeaderBag($headers);
-
-        $this->assertEquals(count($headers), count($headerBag));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php
deleted file mode 100644
index 5b94bd2..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\IpUtils;
-
-class IpUtilsTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider testIpv4Provider
-     */
-    public function testIpv4($matches, $remoteAddr, $cidr)
-    {
-        $this->assertSame($matches, IpUtils::checkIp($remoteAddr, $cidr));
-    }
-
-    public function testIpv4Provider()
-    {
-        return array(
-            array(true, '192.168.1.1', '192.168.1.1'),
-            array(true, '192.168.1.1', '192.168.1.1/1'),
-            array(true, '192.168.1.1', '192.168.1.0/24'),
-            array(false, '192.168.1.1', '1.2.3.4/1'),
-            array(false, '192.168.1.1', '192.168.1/33'),
-        );
-    }
-
-    /**
-     * @dataProvider testIpv6Provider
-     */
-    public function testIpv6($matches, $remoteAddr, $cidr)
-    {
-        if (!defined('AF_INET6')) {
-            $this->markTestSkipped('Only works when PHP is compiled without the option "disable-ipv6".');
-        }
-
-        $this->assertSame($matches, IpUtils::checkIp($remoteAddr, $cidr));
-    }
-
-    public function testIpv6Provider()
-    {
-        return array(
-            array(true, '2a01:198:603:0:396e:4789:8e99:890f', '2a01:198:603:0::/65'),
-            array(false, '2a00:198:603:0:396e:4789:8e99:890f', '2a01:198:603:0::/65'),
-            array(false, '2a01:198:603:0:396e:4789:8e99:890f', '::1'),
-            array(true, '0:0:0:0:0:0:0:1', '::1'),
-            array(false, '0:0:603:0:396e:4789:8e99:0001', '::1'),
-        );
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testAnIpv6WithOptionDisabledIpv6()
-    {
-        if (defined('AF_INET6')) {
-            $this->markTestSkipped('Only works when PHP is compiled with the option "disable-ipv6".');
-        }
-
-        IpUtils::checkIp('2a01:198:603:0:396e:4789:8e99:890f', '2a01:198:603:0::/65');
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php
deleted file mode 100644
index 8f1383f..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php
+++ /dev/null
@@ -1,176 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\JsonResponse;
-
-class JsonResponseTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstructorEmptyCreatesJsonObject()
-    {
-        $response = new JsonResponse();
-        $this->assertSame('{}', $response->getContent());
-    }
-
-    public function testConstructorWithArrayCreatesJsonArray()
-    {
-        $response = new JsonResponse(array(0, 1, 2, 3));
-        $this->assertSame('[0,1,2,3]', $response->getContent());
-    }
-
-    public function testConstructorWithAssocArrayCreatesJsonObject()
-    {
-        $response = new JsonResponse(array('foo' => 'bar'));
-        $this->assertSame('{"foo":"bar"}', $response->getContent());
-    }
-
-    public function testConstructorWithSimpleTypes()
-    {
-        $response = new JsonResponse('foo');
-        $this->assertSame('"foo"', $response->getContent());
-
-        $response = new JsonResponse(0);
-        $this->assertSame('0', $response->getContent());
-
-        $response = new JsonResponse(0.1);
-        $this->assertSame('0.1', $response->getContent());
-
-        $response = new JsonResponse(true);
-        $this->assertSame('true', $response->getContent());
-    }
-
-    public function testConstructorWithCustomStatus()
-    {
-        $response = new JsonResponse(array(), 202);
-        $this->assertSame(202, $response->getStatusCode());
-    }
-
-    public function testConstructorAddsContentTypeHeader()
-    {
-        $response = new JsonResponse();
-        $this->assertSame('application/json', $response->headers->get('Content-Type'));
-    }
-
-    public function testConstructorWithCustomHeaders()
-    {
-        $response = new JsonResponse(array(), 200, array('ETag' => 'foo'));
-        $this->assertSame('application/json', $response->headers->get('Content-Type'));
-        $this->assertSame('foo', $response->headers->get('ETag'));
-    }
-
-    public function testConstructorWithCustomContentType()
-    {
-        $headers = array('Content-Type' => 'application/vnd.acme.blog-v1+json');
-
-        $response = new JsonResponse(array(), 200, $headers);
-        $this->assertSame('application/vnd.acme.blog-v1+json', $response->headers->get('Content-Type'));
-    }
-
-    public function testCreate()
-    {
-        $response = JsonResponse::create(array('foo' => 'bar'), 204);
-
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertEquals('{"foo":"bar"}', $response->getContent());
-        $this->assertEquals(204, $response->getStatusCode());
-    }
-
-    public function testStaticCreateEmptyJsonObject()
-    {
-        $response = JsonResponse::create();
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('{}', $response->getContent());
-    }
-
-    public function testStaticCreateJsonArray()
-    {
-        $response = JsonResponse::create(array(0, 1, 2, 3));
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('[0,1,2,3]', $response->getContent());
-    }
-
-    public function testStaticCreateJsonObject()
-    {
-        $response = JsonResponse::create(array('foo' => 'bar'));
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('{"foo":"bar"}', $response->getContent());
-    }
-
-    public function testStaticCreateWithSimpleTypes()
-    {
-        $response = JsonResponse::create('foo');
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('"foo"', $response->getContent());
-
-        $response = JsonResponse::create(0);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('0', $response->getContent());
-
-        $response = JsonResponse::create(0.1);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('0.1', $response->getContent());
-
-        $response = JsonResponse::create(true);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\JsonResponse', $response);
-        $this->assertSame('true', $response->getContent());
-    }
-
-    public function testStaticCreateWithCustomStatus()
-    {
-        $response = JsonResponse::create(array(), 202);
-        $this->assertSame(202, $response->getStatusCode());
-    }
-
-    public function testStaticCreateAddsContentTypeHeader()
-    {
-        $response = JsonResponse::create();
-        $this->assertSame('application/json', $response->headers->get('Content-Type'));
-    }
-
-    public function testStaticCreateWithCustomHeaders()
-    {
-        $response = JsonResponse::create(array(), 200, array('ETag' => 'foo'));
-        $this->assertSame('application/json', $response->headers->get('Content-Type'));
-        $this->assertSame('foo', $response->headers->get('ETag'));
-    }
-
-    public function testStaticCreateWithCustomContentType()
-    {
-        $headers = array('Content-Type' => 'application/vnd.acme.blog-v1+json');
-
-        $response = JsonResponse::create(array(), 200, $headers);
-        $this->assertSame('application/vnd.acme.blog-v1+json', $response->headers->get('Content-Type'));
-    }
-
-    public function testSetCallback()
-    {
-        $response = JsonResponse::create(array('foo' => 'bar'))->setCallback('callback');
-
-        $this->assertEquals('callback({"foo":"bar"});', $response->getContent());
-        $this->assertEquals('text/javascript', $response->headers->get('Content-Type'));
-    }
-
-    public function testSetCallbackInvalidIdentifier()
-    {
-        $response = new JsonResponse('foo');
-
-        $this->setExpectedException('InvalidArgumentException');
-        $response->setCallback('+invalid');
-    }
-
-    public function testJsonEncodeFlags()
-    {
-        $response = new JsonResponse('<>\'&"');
-
-        $this->assertEquals('"\u003C\u003E\u0027\u0026\u0022"', $response->getContent());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ParameterBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ParameterBagTest.php
deleted file mode 100644
index 6cd42bf..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ParameterBagTest.php
+++ /dev/null
@@ -1,254 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\ParameterBag;
-
-class ParameterBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::__construct
-     */
-    public function testConstructor()
-    {
-        $this->testAll();
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::all
-     */
-    public function testAll()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $this->assertEquals(array('foo' => 'bar'), $bag->all(), '->all() gets all the input');
-    }
-
-    public function testKeys()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $this->assertEquals(array('foo'), $bag->keys());
-    }
-
-    public function testAdd()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $bag->add(array('bar' => 'bas'));
-        $this->assertEquals(array('foo' => 'bar', 'bar' => 'bas'), $bag->all());
-    }
-
-    public function testRemove()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-        $bag->add(array('bar' => 'bas'));
-        $this->assertEquals(array('foo' => 'bar', 'bar' => 'bas'), $bag->all());
-        $bag->remove('bar');
-        $this->assertEquals(array('foo' => 'bar'), $bag->all());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::replace
-     */
-    public function testReplace()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-
-        $bag->replace(array('FOO' => 'BAR'));
-        $this->assertEquals(array('FOO' => 'BAR'), $bag->all(), '->replace() replaces the input with the argument');
-        $this->assertFalse($bag->has('foo'), '->replace() overrides previously set the input');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::get
-     */
-    public function testGet()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar', 'null' => null));
-
-        $this->assertEquals('bar', $bag->get('foo'), '->get() gets the value of a parameter');
-        $this->assertEquals('default', $bag->get('unknown', 'default'), '->get() returns second argument as default if a parameter is not defined');
-        $this->assertNull($bag->get('null', 'default'), '->get() returns null if null is set');
-    }
-
-    public function testGetDoesNotUseDeepByDefault()
-    {
-        $bag = new ParameterBag(array('foo' => array('bar' => 'moo')));
-
-        $this->assertNull($bag->get('foo[bar]'));
-    }
-
-    /**
-     * @dataProvider getInvalidPaths
-     * @expectedException \InvalidArgumentException
-     */
-    public function testGetDeepWithInvalidPaths($path)
-    {
-        $bag = new ParameterBag(array('foo' => array('bar' => 'moo')));
-
-        $bag->get($path, null, true);
-    }
-
-    public function getInvalidPaths()
-    {
-        return array(
-            array('foo[['),
-            array('foo[d'),
-            array('foo[bar]]'),
-            array('foo[bar]d'),
-        );
-    }
-
-    public function testGetDeep()
-    {
-        $bag = new ParameterBag(array('foo' => array('bar' => array('moo' => 'boo'))));
-
-        $this->assertEquals(array('moo' => 'boo'), $bag->get('foo[bar]', null, true));
-        $this->assertEquals('boo', $bag->get('foo[bar][moo]', null, true));
-        $this->assertEquals('default', $bag->get('foo[bar][foo]', 'default', true));
-        $this->assertEquals('default', $bag->get('bar[moo][foo]', 'default', true));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::set
-     */
-    public function testSet()
-    {
-        $bag = new ParameterBag(array());
-
-        $bag->set('foo', 'bar');
-        $this->assertEquals('bar', $bag->get('foo'), '->set() sets the value of parameter');
-
-        $bag->set('foo', 'baz');
-        $this->assertEquals('baz', $bag->get('foo'), '->set() overrides previously set parameter');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::has
-     */
-    public function testHas()
-    {
-        $bag = new ParameterBag(array('foo' => 'bar'));
-
-        $this->assertTrue($bag->has('foo'), '->has() returns true if a parameter is defined');
-        $this->assertFalse($bag->has('unknown'), '->has() return false if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::getAlpha
-     */
-    public function testGetAlpha()
-    {
-        $bag = new ParameterBag(array('word' => 'foo_BAR_012'));
-
-        $this->assertEquals('fooBAR', $bag->getAlpha('word'), '->getAlpha() gets only alphabetic characters');
-        $this->assertEquals('', $bag->getAlpha('unknown'), '->getAlpha() returns empty string if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::getAlnum
-     */
-    public function testGetAlnum()
-    {
-        $bag = new ParameterBag(array('word' => 'foo_BAR_012'));
-
-        $this->assertEquals('fooBAR012', $bag->getAlnum('word'), '->getAlnum() gets only alphanumeric characters');
-        $this->assertEquals('', $bag->getAlnum('unknown'), '->getAlnum() returns empty string if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::getDigits
-     */
-    public function testGetDigits()
-    {
-        $bag = new ParameterBag(array('word' => 'foo_BAR_012'));
-
-        $this->assertEquals('012', $bag->getDigits('word'), '->getDigits() gets only digits as string');
-        $this->assertEquals('', $bag->getDigits('unknown'), '->getDigits() returns empty string if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::getInt
-     */
-    public function testGetInt()
-    {
-        $bag = new ParameterBag(array('digits' => '0123'));
-
-        $this->assertEquals(123, $bag->getInt('digits'), '->getInt() gets a value of parameter as integer');
-        $this->assertEquals(0, $bag->getInt('unknown'), '->getInt() returns zero if a parameter is not defined');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::filter
-     */
-    public function testFilter()
-    {
-        $bag = new ParameterBag(array(
-            'digits' => '0123ab',
-            'email' => 'example@example.com',
-            'url' => 'http://example.com/foo',
-            'dec' => '256',
-            'hex' => '0x100',
-            'array' => array('bang'),
-            ));
-
-        $this->assertEmpty($bag->filter('nokey'), '->filter() should return empty by default if no key is found');
-
-        $this->assertEquals('0123', $bag->filter('digits', '', false, FILTER_SANITIZE_NUMBER_INT), '->filter() gets a value of parameter as integer filtering out invalid characters');
-
-        $this->assertEquals('example@example.com', $bag->filter('email', '', false, FILTER_VALIDATE_EMAIL), '->filter() gets a value of parameter as email');
-
-        $this->assertEquals('http://example.com/foo', $bag->filter('url', '', false, FILTER_VALIDATE_URL, array('flags' => FILTER_FLAG_PATH_REQUIRED)), '->filter() gets a value of parameter as url with a path');
-
-        // This test is repeated for code-coverage
-        $this->assertEquals('http://example.com/foo', $bag->filter('url', '', false, FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED), '->filter() gets a value of parameter as url with a path');
-
-        $this->assertFalse($bag->filter('dec', '', false, FILTER_VALIDATE_INT, array(
-            'flags'   => FILTER_FLAG_ALLOW_HEX,
-            'options' => array('min_range' => 1, 'max_range' => 0xff))
-                ), '->filter() gets a value of parameter as integer between boundaries');
-
-        $this->assertFalse($bag->filter('hex', '', false, FILTER_VALIDATE_INT, array(
-            'flags'   => FILTER_FLAG_ALLOW_HEX,
-            'options' => array('min_range' => 1, 'max_range' => 0xff))
-                ), '->filter() gets a value of parameter as integer between boundaries');
-
-        $this->assertEquals(array('bang'), $bag->filter('array', '', false), '->filter() gets a value of parameter as an array');
-
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::getIterator
-     */
-    public function testGetIterator()
-    {
-        $parameters = array('foo' => 'bar', 'hello' => 'world');
-        $bag = new ParameterBag($parameters);
-
-        $i = 0;
-        foreach ($bag as $key => $val) {
-            $i++;
-            $this->assertEquals($parameters[$key], $val);
-        }
-
-        $this->assertEquals(count($parameters), $i);
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\ParameterBag::count
-     */
-    public function testCount()
-    {
-        $parameters = array('foo' => 'bar', 'hello' => 'world');
-        $bag = new ParameterBag($parameters);
-
-        $this->assertEquals(count($parameters), count($bag));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php
deleted file mode 100644
index 330d9fe..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use \Symfony\Component\HttpFoundation\RedirectResponse;
-
-class RedirectResponseTest extends \PHPUnit_Framework_TestCase
-{
-    public function testGenerateMetaRedirect()
-    {
-        $response = new RedirectResponse('foo.bar');
-
-        $this->assertEquals(1, preg_match(
-            '#<meta http-equiv="refresh" content="\d+;url=foo\.bar" />#',
-            preg_replace(array('/\s+/', '/\'/'), array(' ', '"'), $response->getContent())
-        ));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testRedirectResponseConstructorNullUrl()
-    {
-        $response = new RedirectResponse(null);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testRedirectResponseConstructorWrongStatusCode()
-    {
-        $response = new RedirectResponse('foo.bar', 404);
-    }
-
-    public function testGenerateLocationHeader()
-    {
-        $response = new RedirectResponse('foo.bar');
-
-        $this->assertTrue($response->headers->has('Location'));
-        $this->assertEquals('foo.bar', $response->headers->get('Location'));
-    }
-
-    public function testGetTargetUrl()
-    {
-        $response = new RedirectResponse('foo.bar');
-
-        $this->assertEquals('foo.bar', $response->getTargetUrl());
-    }
-
-    public function testSetTargetUrl()
-    {
-        $response = new RedirectResponse('foo.bar');
-        $response->setTargetUrl('baz.beep');
-
-        $this->assertEquals('baz.beep', $response->getTargetUrl());
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testSetTargetUrlNull()
-    {
-        $response = new RedirectResponse('foo.bar');
-        $response->setTargetUrl(null);
-    }
-
-    public function testCreate()
-    {
-        $response = RedirectResponse::create('foo', 301);
-
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\RedirectResponse', $response);
-        $this->assertEquals(301, $response->getStatusCode());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestMatcherTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestMatcherTest.php
deleted file mode 100644
index 0e1a0f5..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestMatcherTest.php
+++ /dev/null
@@ -1,130 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\RequestMatcher;
-use Symfony\Component\HttpFoundation\Request;
-
-class RequestMatcherTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider testMethodFixtures
-     */
-    public function testMethod($requestMethod, $matcherMethod, $isMatch)
-    {
-        $matcher = new RequestMatcher();
-        $matcher->matchMethod($matcherMethod);
-        $request = Request::create('', $requestMethod);
-        $this->assertSame($isMatch, $matcher->matches($request));
-
-        $matcher = new RequestMatcher(null, null, $matcherMethod);
-        $request = Request::create('', $requestMethod);
-        $this->assertSame($isMatch, $matcher->matches($request));
-    }
-
-    public function testMethodFixtures()
-    {
-        return array(
-            array('get', 'get', true),
-            array('get', array('get', 'post'), true),
-            array('get', 'post', false),
-            array('get', 'GET', true),
-            array('get', array('GET', 'POST'), true),
-            array('get', 'POST', false),
-        );
-    }
-
-    /**
-     * @dataProvider testHostFixture
-     */
-    public function testHost($pattern, $isMatch)
-    {
-        $matcher = new RequestMatcher();
-        $request = Request::create('', 'get', array(), array(), array(), array('HTTP_HOST' => 'foo.example.com'));
-
-        $matcher->matchHost($pattern);
-        $this->assertSame($isMatch, $matcher->matches($request));
-
-        $matcher= new RequestMatcher(null, $pattern);
-        $this->assertSame($isMatch, $matcher->matches($request));
-    }
-
-    public function testHostFixture()
-    {
-        return array(
-            array('.*\.example\.com', true),
-            array('\.example\.com$', true),
-            array('^.*\.example\.com$', true),
-            array('.*\.sensio\.com', false),
-            array('.*\.example\.COM', true),
-            array('\.example\.COM$', true),
-            array('^.*\.example\.COM$', true),
-            array('.*\.sensio\.COM', false),        );
-    }
-
-    public function testPath()
-    {
-        $matcher = new RequestMatcher();
-
-        $request = Request::create('/admin/foo');
-
-        $matcher->matchPath('/admin/.*');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchPath('/admin');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchPath('^/admin/.*$');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchMethod('/blog/.*');
-        $this->assertFalse($matcher->matches($request));
-    }
-
-    public function testPathWithLocaleIsNotSupported()
-    {
-        $matcher = new RequestMatcher();
-        $request = Request::create('/en/login');
-        $request->setLocale('en');
-
-        $matcher->matchPath('^/{_locale}/login$');
-        $this->assertFalse($matcher->matches($request));
-    }
-
-    public function testPathWithEncodedCharacters()
-    {
-        $matcher = new RequestMatcher();
-        $request = Request::create('/admin/fo%20o');
-        $matcher->matchPath('^/admin/fo o*$');
-        $this->assertTrue($matcher->matches($request));
-    }
-
-    public function testAttributes()
-    {
-        $matcher = new RequestMatcher();
-
-        $request = Request::create('/admin/foo');
-        $request->attributes->set('foo', 'foo_bar');
-
-        $matcher->matchAttribute('foo', 'foo_.*');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchAttribute('foo', 'foo');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchAttribute('foo', '^foo_bar$');
-        $this->assertTrue($matcher->matches($request));
-
-        $matcher->matchAttribute('foo', 'babar');
-        $this->assertFalse($matcher->matches($request));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestTest.php
deleted file mode 100644
index a178b2f..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestTest.php
+++ /dev/null
@@ -1,1348 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
-use Symfony\Component\HttpFoundation\Session\Session;
-use Symfony\Component\HttpFoundation\Request;
-
-class RequestTest extends \PHPUnit_Framework_TestCase
-{
-    public function deprecationErrorHandler($errorNumber, $message, $file, $line, $context)
-    {
-        if ($errorNumber & E_USER_DEPRECATED) {
-            return true;
-        }
-
-        return \PHPUnit_Util_ErrorHandler::handleError($errorNumber, $message, $file, $line);
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::__construct
-     */
-    public function testConstructor()
-    {
-        $this->testInitialize();
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::initialize
-     */
-    public function testInitialize()
-    {
-        $request = new Request();
-
-        $request->initialize(array('foo' => 'bar'));
-        $this->assertEquals('bar', $request->query->get('foo'), '->initialize() takes an array of query parameters as its first argument');
-
-        $request->initialize(array(), array('foo' => 'bar'));
-        $this->assertEquals('bar', $request->request->get('foo'), '->initialize() takes an array of request parameters as its second argument');
-
-        $request->initialize(array(), array(), array('foo' => 'bar'));
-        $this->assertEquals('bar', $request->attributes->get('foo'), '->initialize() takes an array of attributes as its third argument');
-
-        $request->initialize(array(), array(), array(), array(), array(), array('HTTP_FOO' => 'bar'));
-        $this->assertEquals('bar', $request->headers->get('FOO'), '->initialize() takes an array of HTTP headers as its fourth argument');
-    }
-
-    public function testGetLocale()
-    {
-        $request = new Request();
-        $request->setLocale('pl');
-        $locale = $request->getLocale();
-        $this->assertEquals('pl', $locale);
-    }
-
-    public function testGetUser()
-    {
-        $request = Request::create('http://user_test:password_test@test.com/');
-        $user = $request->getUser();
-
-        $this->assertEquals('user_test', $user);
-    }
-
-    public function testGetPassword()
-    {
-        $request = Request::create('http://user_test:password_test@test.com/');
-        $password = $request->getPassword();
-
-        $this->assertEquals('password_test', $password);
-    }
-
-    public function testIsNoCache()
-    {
-        $request = new Request();
-        $isNoCache = $request->isNoCache();
-
-        $this->assertFalse($isNoCache);
-    }
-
-    public function testGetContentType()
-    {
-        $request = new Request();
-        $contentType = $request->getContentType();
-
-        $this->assertNull($contentType);
-    }
-
-    public function testSetDefaultLocale()
-    {
-        $request = new Request();
-        $request->setDefaultLocale('pl');
-        $locale = $request->getLocale();
-
-        $this->assertEquals('pl', $locale);
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::create
-     */
-    public function testCreate()
-    {
-        $request = Request::create('http://test.com/foo?bar=baz');
-        $this->assertEquals('http://test.com/foo?bar=baz', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('bar=baz', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test.com/foo', 'GET', array('bar' => 'baz'));
-        $this->assertEquals('http://test.com/foo?bar=baz', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('bar=baz', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test.com/foo?bar=foo', 'GET', array('bar' => 'baz'));
-        $this->assertEquals('http://test.com/foo?bar=baz', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('bar=baz', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('https://test.com/foo?bar=baz');
-        $this->assertEquals('https://test.com/foo?bar=baz', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('bar=baz', $request->getQueryString());
-        $this->assertEquals(443, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertTrue($request->isSecure());
-
-        $request = Request::create('test.com:90/foo');
-        $this->assertEquals('http://test.com:90/foo', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('test.com', $request->getHost());
-        $this->assertEquals('test.com:90', $request->getHttpHost());
-        $this->assertEquals(90, $request->getPort());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('https://test.com:90/foo');
-        $this->assertEquals('https://test.com:90/foo', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('test.com', $request->getHost());
-        $this->assertEquals('test.com:90', $request->getHttpHost());
-        $this->assertEquals(90, $request->getPort());
-        $this->assertTrue($request->isSecure());
-
-        $request = Request::create('https://127.0.0.1:90/foo');
-        $this->assertEquals('https://127.0.0.1:90/foo', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('127.0.0.1', $request->getHost());
-        $this->assertEquals('127.0.0.1:90', $request->getHttpHost());
-        $this->assertEquals(90, $request->getPort());
-        $this->assertTrue($request->isSecure());
-
-        $request = Request::create('https://[::1]:90/foo');
-        $this->assertEquals('https://[::1]:90/foo', $request->getUri());
-        $this->assertEquals('/foo', $request->getPathInfo());
-        $this->assertEquals('[::1]', $request->getHost());
-        $this->assertEquals('[::1]:90', $request->getHttpHost());
-        $this->assertEquals(90, $request->getPort());
-        $this->assertTrue($request->isSecure());
-
-        $json = '{"jsonrpc":"2.0","method":"echo","id":7,"params":["Hello World"]}';
-        $request = Request::create('http://example.com/jsonrpc', 'POST', array(), array(), array(), array(), $json);
-        $this->assertEquals($json, $request->getContent());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test.com');
-        $this->assertEquals('http://test.com/', $request->getUri());
-        $this->assertEquals('/', $request->getPathInfo());
-        $this->assertEquals('', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test.com?test=1');
-        $this->assertEquals('http://test.com/?test=1', $request->getUri());
-        $this->assertEquals('/', $request->getPathInfo());
-        $this->assertEquals('test=1', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test.com:90/?test=1');
-        $this->assertEquals('http://test.com:90/?test=1', $request->getUri());
-        $this->assertEquals('/', $request->getPathInfo());
-        $this->assertEquals('test=1', $request->getQueryString());
-        $this->assertEquals(90, $request->getPort());
-        $this->assertEquals('test.com:90', $request->getHttpHost());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://test:test@test.com');
-        $this->assertEquals('http://test.com/', $request->getUri());
-        $this->assertEquals('/', $request->getPathInfo());
-        $this->assertEquals('', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertEquals('test', $request->getUser());
-        $this->assertEquals('test', $request->getPassword());
-        $this->assertFalse($request->isSecure());
-
-        $request = Request::create('http://testnopass@test.com');
-        $this->assertEquals('http://test.com/', $request->getUri());
-        $this->assertEquals('/', $request->getPathInfo());
-        $this->assertEquals('', $request->getQueryString());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertEquals('test.com', $request->getHttpHost());
-        $this->assertEquals('testnopass', $request->getUser());
-        $this->assertNull($request->getPassword());
-        $this->assertFalse($request->isSecure());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::duplicate
-     */
-    public function testDuplicate()
-    {
-        $request = new Request(array('foo' => 'bar'), array('foo' => 'bar'), array('foo' => 'bar'), array(), array(), array('HTTP_FOO' => 'bar'));
-        $dup = $request->duplicate();
-
-        $this->assertEquals($request->query->all(), $dup->query->all(), '->duplicate() duplicates a request an copy the current query parameters');
-        $this->assertEquals($request->request->all(), $dup->request->all(), '->duplicate() duplicates a request an copy the current request parameters');
-        $this->assertEquals($request->attributes->all(), $dup->attributes->all(), '->duplicate() duplicates a request an copy the current attributes');
-        $this->assertEquals($request->headers->all(), $dup->headers->all(), '->duplicate() duplicates a request an copy the current HTTP headers');
-
-        $dup = $request->duplicate(array('foo' => 'foobar'), array('foo' => 'foobar'), array('foo' => 'foobar'), array(), array(), array('HTTP_FOO' => 'foobar'));
-
-        $this->assertEquals(array('foo' => 'foobar'), $dup->query->all(), '->duplicate() overrides the query parameters if provided');
-        $this->assertEquals(array('foo' => 'foobar'), $dup->request->all(), '->duplicate() overrides the request parameters if provided');
-        $this->assertEquals(array('foo' => 'foobar'), $dup->attributes->all(), '->duplicate() overrides the attributes if provided');
-        $this->assertEquals(array('foo' => array('foobar')), $dup->headers->all(), '->duplicate() overrides the HTTP header if provided');
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getFormat
-     * @covers Symfony\Component\HttpFoundation\Request::setFormat
-     * @dataProvider getFormatToMimeTypeMapProvider
-     */
-    public function testGetFormatFromMimeType($format, $mimeTypes)
-    {
-        $request = new Request();
-        foreach ($mimeTypes as $mime) {
-            $this->assertEquals($format, $request->getFormat($mime));
-        }
-        $request->setFormat($format, $mimeTypes);
-        foreach ($mimeTypes as $mime) {
-            $this->assertEquals($format, $request->getFormat($mime));
-        }
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getFormat
-     */
-    public function testGetFormatFromMimeTypeWithParameters()
-    {
-        $request = new Request();
-        $this->assertEquals('json', $request->getFormat('application/json; charset=utf-8'));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getMimeType
-     * @dataProvider getFormatToMimeTypeMapProvider
-     */
-    public function testGetMimeTypeFromFormat($format, $mimeTypes)
-    {
-        if (null !== $format) {
-            $request = new Request();
-            $this->assertEquals($mimeTypes[0], $request->getMimeType($format));
-        }
-    }
-
-    public function getFormatToMimeTypeMapProvider()
-    {
-        return array(
-            array(null, array(null, 'unexistent-mime-type')),
-            array('txt', array('text/plain')),
-            array('js', array('application/javascript', 'application/x-javascript', 'text/javascript')),
-            array('css', array('text/css')),
-            array('json', array('application/json', 'application/x-json')),
-            array('xml', array('text/xml', 'application/xml', 'application/x-xml')),
-            array('rdf', array('application/rdf+xml')),
-            array('atom',array('application/atom+xml')),
-        );
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getUri
-     */
-    public function testGetUri()
-    {
-        $server = array();
-
-        // Standard Request on non default PORT
-        // http://hostname:8080/index.php/path/info?query=string
-
-        $server['HTTP_HOST'] = 'hostname:8080';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '8080';
-
-        $server['QUERY_STRING'] = 'query=string';
-        $server['REQUEST_URI'] = '/index.php/path/info?query=string';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['PATH_INFO'] = '/path/info';
-        $server['PATH_TRANSLATED'] = 'redirect:/index.php/path/info';
-        $server['PHP_SELF'] = '/index_dev.php/path/info';
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-
-        $request = new Request();
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://hostname:8080/index.php/path/info?query=string', $request->getUri(), '->getUri() with non default port');
-
-        // Use std port number
-        $server['HTTP_HOST'] = 'hostname';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://hostname/index.php/path/info?query=string', $request->getUri(), '->getUri() with default port');
-
-        // Without HOST HEADER
-        unset($server['HTTP_HOST']);
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://servername/index.php/path/info?query=string', $request->getUri(), '->getUri() with default port without HOST_HEADER');
-
-        // Request with URL REWRITING (hide index.php)
-        //   RewriteCond %{REQUEST_FILENAME} !-f
-        //   RewriteRule ^(.*)$ index.php [QSA,L]
-        // http://hostname:8080/path/info?query=string
-        $server = array();
-        $server['HTTP_HOST'] = 'hostname:8080';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '8080';
-
-        $server['REDIRECT_QUERY_STRING'] = 'query=string';
-        $server['REDIRECT_URL'] = '/path/info';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['QUERY_STRING'] = 'query=string';
-        $server['REQUEST_URI'] = '/path/info?toto=test&1=1';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['PHP_SELF'] = '/index.php';
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://hostname:8080/path/info?query=string', $request->getUri(), '->getUri() with rewrite');
-
-        // Use std port number
-        //  http://hostname/path/info?query=string
-        $server['HTTP_HOST'] = 'hostname';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://hostname/path/info?query=string', $request->getUri(), '->getUri() with rewrite and default port');
-
-        // Without HOST HEADER
-        unset($server['HTTP_HOST']);
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://servername/path/info?query=string', $request->getUri(), '->getUri() with rewrite, default port without HOST_HEADER');
-
-        // With encoded characters
-
-        $server = array(
-            'HTTP_HOST'       => 'hostname:8080',
-            'SERVER_NAME'     => 'servername',
-            'SERVER_PORT'     => '8080',
-            'QUERY_STRING'    => 'query=string',
-            'REQUEST_URI'     => '/ba%20se/index_dev.php/foo%20bar/in+fo?query=string',
-            'SCRIPT_NAME'     => '/ba se/index_dev.php',
-            'PATH_TRANSLATED' => 'redirect:/index.php/foo bar/in+fo',
-            'PHP_SELF'        => '/ba se/index_dev.php/path/info',
-            'SCRIPT_FILENAME' => '/some/where/ba se/index_dev.php',
-        );
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals(
-            'http://hostname:8080/ba%20se/index_dev.php/foo%20bar/in+fo?query=string',
-            $request->getUri()
-        );
-
-        // with user info
-
-        $server['PHP_AUTH_USER'] = 'fabien';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://hostname:8080/ba%20se/index_dev.php/foo%20bar/in+fo?query=string', $request->getUri());
-
-        $server['PHP_AUTH_PW'] = 'symfony';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://hostname:8080/ba%20se/index_dev.php/foo%20bar/in+fo?query=string', $request->getUri());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getUriForPath
-     */
-    public function testGetUriForPath()
-    {
-        $request = Request::create('http://test.com/foo?bar=baz');
-        $this->assertEquals('http://test.com/some/path', $request->getUriForPath('/some/path'));
-
-        $request = Request::create('http://test.com:90/foo?bar=baz');
-        $this->assertEquals('http://test.com:90/some/path', $request->getUriForPath('/some/path'));
-
-        $request = Request::create('https://test.com/foo?bar=baz');
-        $this->assertEquals('https://test.com/some/path', $request->getUriForPath('/some/path'));
-
-        $request = Request::create('https://test.com:90/foo?bar=baz');
-        $this->assertEquals('https://test.com:90/some/path', $request->getUriForPath('/some/path'));
-
-        $server = array();
-
-        // Standard Request on non default PORT
-        // http://hostname:8080/index.php/path/info?query=string
-
-        $server['HTTP_HOST'] = 'hostname:8080';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '8080';
-
-        $server['QUERY_STRING'] = 'query=string';
-        $server['REQUEST_URI'] = '/index.php/path/info?query=string';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['PATH_INFO'] = '/path/info';
-        $server['PATH_TRANSLATED'] = 'redirect:/index.php/path/info';
-        $server['PHP_SELF'] = '/index_dev.php/path/info';
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-
-        $request = new Request();
-
-        $request->initialize(array(), array(), array(), array(), array(),$server);
-
-        $this->assertEquals('http://hostname:8080/index.php/some/path', $request->getUriForPath('/some/path'), '->getUriForPath() with non default port');
-
-        // Use std port number
-        $server['HTTP_HOST'] = 'hostname';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://hostname/index.php/some/path', $request->getUriForPath('/some/path'), '->getUriForPath() with default port');
-
-        // Without HOST HEADER
-        unset($server['HTTP_HOST']);
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://servername/index.php/some/path', $request->getUriForPath('/some/path'), '->getUriForPath() with default port without HOST_HEADER');
-
-        // Request with URL REWRITING (hide index.php)
-        //   RewriteCond %{REQUEST_FILENAME} !-f
-        //   RewriteRule ^(.*)$ index.php [QSA,L]
-        // http://hostname:8080/path/info?query=string
-        $server = array();
-        $server['HTTP_HOST'] = 'hostname:8080';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '8080';
-
-        $server['REDIRECT_QUERY_STRING'] = 'query=string';
-        $server['REDIRECT_URL'] = '/path/info';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['QUERY_STRING'] = 'query=string';
-        $server['REQUEST_URI'] = '/path/info?toto=test&1=1';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['PHP_SELF'] = '/index.php';
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://hostname:8080/some/path', $request->getUriForPath('/some/path'), '->getUri() with rewrite');
-
-        // Use std port number
-        //  http://hostname/path/info?query=string
-        $server['HTTP_HOST'] = 'hostname';
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://hostname/some/path', $request->getUriForPath('/some/path'), '->getUriForPath() with rewrite and default port');
-
-        // Without HOST HEADER
-        unset($server['HTTP_HOST']);
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '80';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('http://servername/some/path', $request->getUriForPath('/some/path'), '->getUriForPath() with rewrite, default port without HOST_HEADER');
-        $this->assertEquals('servername', $request->getHttpHost());
-
-        // with user info
-
-        $server['PHP_AUTH_USER'] = 'fabien';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername/some/path', $request->getUriForPath('/some/path'));
-
-        $server['PHP_AUTH_PW'] = 'symfony';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername/some/path', $request->getUriForPath('/some/path'));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getUserInfo
-     */
-    public function testGetUserInfo()
-    {
-        $request = new Request();
-
-        $server['PHP_AUTH_USER'] = 'fabien';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('fabien', $request->getUserInfo());
-
-        $server['PHP_AUTH_USER'] = '0';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('0', $request->getUserInfo());
-
-        $server['PHP_AUTH_PW'] = '0';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('0:0', $request->getUserInfo());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getSchemeAndHttpHost
-     */
-    public function testGetSchemeAndHttpHost()
-    {
-        $request = new Request();
-
-        $server['SERVER_NAME'] = 'servername';
-        $server['SERVER_PORT'] = '90';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername:90', $request->getSchemeAndHttpHost());
-
-        $server['PHP_AUTH_USER'] = 'fabien';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername:90', $request->getSchemeAndHttpHost());
-
-        $server['PHP_AUTH_USER'] = '0';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername:90', $request->getSchemeAndHttpHost());
-
-        $server['PHP_AUTH_PW'] = '0';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('http://servername:90', $request->getSchemeAndHttpHost());
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::getQueryString
-     * @covers Symfony\Component\HttpFoundation\Request::normalizeQueryString
-     * @dataProvider getQueryStringNormalizationData
-     */
-    public function testGetQueryString($query, $expectedQuery, $msg)
-    {
-        $request = new Request();
-
-        $request->server->set('QUERY_STRING', $query);
-        $this->assertSame($expectedQuery, $request->getQueryString(), $msg);
-    }
-
-    public function getQueryStringNormalizationData()
-    {
-        return array(
-            array('foo', 'foo', 'works with valueless parameters'),
-            array('foo=', 'foo=', 'includes a dangling equal sign'),
-            array('bar=&foo=bar', 'bar=&foo=bar', '->works with empty parameters'),
-            array('foo=bar&bar=', 'bar=&foo=bar', 'sorts keys alphabetically'),
-
-            // GET parameters, that are submitted from a HTML form, encode spaces as "+" by default (as defined in enctype application/x-www-form-urlencoded).
-            // PHP also converts "+" to spaces when filling the global _GET or when using the function parse_str.
-            array('him=John%20Doe&her=Jane+Doe', 'her=Jane%20Doe&him=John%20Doe', 'normalizes spaces in both encodings "%20" and "+"'),
-
-            array('foo[]=1&foo[]=2', 'foo%5B%5D=1&foo%5B%5D=2', 'allows array notation'),
-            array('foo=1&foo=2', 'foo=1&foo=2', 'allows repeated parameters'),
-            array('pa%3Dram=foo%26bar%3Dbaz&test=test', 'pa%3Dram=foo%26bar%3Dbaz&test=test', 'works with encoded delimiters'),
-            array('0', '0', 'allows "0"'),
-            array('Jane Doe&John%20Doe', 'Jane%20Doe&John%20Doe', 'normalizes encoding in keys'),
-            array('her=Jane Doe&him=John%20Doe', 'her=Jane%20Doe&him=John%20Doe', 'normalizes encoding in values'),
-            array('foo=bar&&&test&&', 'foo=bar&test', 'removes unneeded delimiters'),
-            array('formula=e=m*c^2', 'formula=e%3Dm%2Ac%5E2', 'correctly treats only the first "=" as delimiter and the next as value'),
-
-            // Ignore pairs with empty key, even if there was a value, e.g. "=value", as such nameless values cannot be retrieved anyway.
-            // PHP also does not include them when building _GET.
-            array('foo=bar&=a=b&=x=y', 'foo=bar', 'removes params with empty key'),
-        );
-    }
-
-    public function testGetQueryStringReturnsNull()
-    {
-        $request = new Request();
-
-        $this->assertNull($request->getQueryString(), '->getQueryString() returns null for non-existent query string');
-
-        $request->server->set('QUERY_STRING', '');
-        $this->assertNull($request->getQueryString(), '->getQueryString() returns null for empty query string');
-    }
-
-    public function testGetHost()
-    {
-        $request = new Request();
-
-        $request->initialize(array('foo' => 'bar'));
-        $this->assertEquals('', $request->getHost(), '->getHost() return empty string if not initialized');
-
-        $request->initialize(array(), array(), array(), array(), array(), array('HTTP_HOST' => 'www.exemple.com'));
-        $this->assertEquals('www.exemple.com', $request->getHost(), '->getHost() from Host Header');
-
-        // Host header with port number
-        $request->initialize(array(), array(), array(), array(), array(), array('HTTP_HOST' => 'www.exemple.com:8080'));
-        $this->assertEquals('www.exemple.com', $request->getHost(), '->getHost() from Host Header with port number');
-
-        // Server values
-        $request->initialize(array(), array(), array(), array(), array(), array('SERVER_NAME' => 'www.exemple.com'));
-        $this->assertEquals('www.exemple.com', $request->getHost(), '->getHost() from server name');
-
-        $request->initialize(array(), array(), array(), array(), array(), array('SERVER_NAME' => 'www.exemple.com', 'HTTP_HOST' => 'www.host.com'));
-        $this->assertEquals('www.host.com', $request->getHost(), '->getHost() value from Host header has priority over SERVER_NAME ');
-        $this->stopTrustingProxyData();
-    }
-
-    /**
-     * @expectedException RuntimeException
-     */
-    public function testGetHostWithFakeHttpHostValue()
-    {
-        $request = new Request();
-        $request->initialize(array(), array(), array(), array(), array(), array('HTTP_HOST' => 'www.host.com?query=string'));
-        $request->getHost();
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Request::setMethod
-     * @covers Symfony\Component\HttpFoundation\Request::getMethod
-     */
-    public function testGetSetMethod()
-    {
-        $request = new Request();
-
-        $this->assertEquals('GET', $request->getMethod(), '->getMethod() returns GET if no method is defined');
-
-        $request->setMethod('get');
-        $this->assertEquals('GET', $request->getMethod(), '->getMethod() returns an uppercased string');
-
-        $request->setMethod('PURGE');
-        $this->assertEquals('PURGE', $request->getMethod(), '->getMethod() returns the method even if it is not a standard one');
-
-        $request->setMethod('POST');
-        $this->assertEquals('POST', $request->getMethod(), '->getMethod() returns the method POST if no _method is defined');
-
-        $request->setMethod('POST');
-        $request->request->set('_method', 'purge');
-        $this->assertEquals('POST', $request->getMethod(), '->getMethod() does not return the method from _method if defined and POST but support not enabled');
-
-        $request = new Request();
-        $request->setMethod('POST');
-        $request->request->set('_method', 'purge');
-        Request::enableHttpMethodParameterOverride();
-        $this->assertEquals('PURGE', $request->getMethod(), '->getMethod() returns the method from _method if defined and POST');
-        $this->disableHttpMethodParameterOverride();
-
-        $request = new Request();
-        $request->setMethod('POST');
-        $request->query->set('_method', 'purge');
-        $this->assertEquals('POST', $request->getMethod(), '->getMethod() does not return the method from _method if defined and POST but support not enabled');
-
-        $request = new Request();
-        $request->setMethod('POST');
-        $request->query->set('_method', 'purge');
-        Request::enableHttpMethodParameterOverride();
-        $this->assertEquals('PURGE', $request->getMethod(), '->getMethod() returns the method from _method if defined and POST');
-        $this->disableHttpMethodParameterOverride();
-
-        $request = new Request();
-        $request->setMethod('POST');
-        $request->headers->set('X-HTTP-METHOD-OVERRIDE', 'delete');
-        $this->assertEquals('DELETE', $request->getMethod(), '->getMethod() returns the method from X-HTTP-Method-Override even though _method is set if defined and POST');
-
-        $request = new Request();
-        $request->setMethod('POST');
-        $request->headers->set('X-HTTP-METHOD-OVERRIDE', 'delete');
-        $this->assertEquals('DELETE', $request->getMethod(), '->getMethod() returns the method from X-HTTP-Method-Override if defined and POST');
-    }
-
-    /**
-     * @dataProvider testGetClientIpProvider
-     */
-    public function testGetClientIp($expected, $proxy, $remoteAddr, $httpForwardedFor, $trustedProxies)
-    {
-        $request = new Request();
-
-        $server = array('REMOTE_ADDR' => $remoteAddr);
-        if (null !== $httpForwardedFor) {
-            $server['HTTP_X_FORWARDED_FOR'] = $httpForwardedFor;
-        }
-
-        if ($proxy || $trustedProxies) {
-            Request::setTrustedProxies(null === $trustedProxies ? array($remoteAddr) : $trustedProxies);
-        }
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        if ($proxy) {
-            set_error_handler(array($this, "deprecationErrorHandler"));
-            $this->startTrustingProxyData();
-            restore_error_handler();
-        }
-        $this->assertEquals($expected, $request->getClientIp($proxy));
-
-        Request::setTrustedProxies(array());
-    }
-
-    public function testGetClientIpProvider()
-    {
-        return array(
-            array('88.88.88.88',              false, '88.88.88.88',  null,                                  null),
-            array('127.0.0.1',                false, '127.0.0.1',    null,                                  null),
-            array('::1',                      false, '::1',          null,                                  null),
-            array('127.0.0.1',                false, '127.0.0.1',    '88.88.88.88',                         null),
-            array('88.88.88.88',              true,  '127.0.0.1',    '88.88.88.88',                         null),
-            array('2620:0:1cfe:face:b00c::3', true,  '::1',          '2620:0:1cfe:face:b00c::3',            null),
-            array('88.88.88.88',              true,  '123.45.67.89', '127.0.0.1, 87.65.43.21, 88.88.88.88', null),
-            array('87.65.43.21',              true,  '123.45.67.89', '127.0.0.1, 87.65.43.21, 88.88.88.88', array('123.45.67.89', '88.88.88.88')),
-            array('87.65.43.21',              false, '123.45.67.89', '127.0.0.1, 87.65.43.21, 88.88.88.88', array('123.45.67.89', '88.88.88.88')),
-        );
-    }
-
-    public function testGetContentWorksTwiceInDefaultMode()
-    {
-        $req = new Request;
-        $this->assertEquals('', $req->getContent());
-        $this->assertEquals('', $req->getContent());
-    }
-
-    public function testGetContentReturnsResource()
-    {
-        $req = new Request;
-        $retval = $req->getContent(true);
-        $this->assertInternalType('resource', $retval);
-        $this->assertEquals("", fread($retval, 1));
-        $this->assertTrue(feof($retval));
-    }
-
-    /**
-     * @expectedException LogicException
-     * @dataProvider getContentCantBeCalledTwiceWithResourcesProvider
-     */
-    public function testGetContentCantBeCalledTwiceWithResources($first, $second)
-    {
-        $req = new Request;
-        $req->getContent($first);
-        $req->getContent($second);
-    }
-
-    public function getContentCantBeCalledTwiceWithResourcesProvider()
-    {
-        return array(
-            'Resource then fetch' => array(true, false),
-            'Resource then resource' => array(true, true),
-            'Fetch then resource' => array(false, true),
-        );
-    }
-
-    public function provideOverloadedMethods()
-    {
-        return array(
-            array('PUT'),
-            array('DELETE'),
-            array('PATCH'),
-            array('put'),
-            array('delete'),
-            array('patch'),
-
-        );
-    }
-
-    /**
-     * @dataProvider provideOverloadedMethods
-     */
-    public function testCreateFromGlobals($method)
-    {
-        $normalizedMethod = strtoupper($method);
-
-        $_GET['foo1']    = 'bar1';
-        $_POST['foo2']   = 'bar2';
-        $_COOKIE['foo3'] = 'bar3';
-        $_FILES['foo4']  = array('bar4');
-        $_SERVER['foo5'] = 'bar5';
-
-        $request = Request::createFromGlobals();
-        $this->assertEquals('bar1', $request->query->get('foo1'), '::fromGlobals() uses values from $_GET');
-        $this->assertEquals('bar2', $request->request->get('foo2'), '::fromGlobals() uses values from $_POST');
-        $this->assertEquals('bar3', $request->cookies->get('foo3'), '::fromGlobals() uses values from $_COOKIE');
-        $this->assertEquals(array('bar4'), $request->files->get('foo4'), '::fromGlobals() uses values from $_FILES');
-        $this->assertEquals('bar5', $request->server->get('foo5'), '::fromGlobals() uses values from $_SERVER');
-
-        unset($_GET['foo1'], $_POST['foo2'], $_COOKIE['foo3'], $_FILES['foo4'], $_SERVER['foo5']);
-
-        $_SERVER['REQUEST_METHOD'] = $method;
-        $_SERVER['CONTENT_TYPE'] = 'application/x-www-form-urlencoded';
-        $request = RequestContentProxy::createFromGlobals();
-        $this->assertEquals($normalizedMethod, $request->getMethod());
-        $this->assertEquals('mycontent', $request->request->get('content'));
-
-        unset($_SERVER['REQUEST_METHOD'], $_SERVER['CONTENT_TYPE']);
-
-        Request::createFromGlobals();
-        Request::enableHttpMethodParameterOverride();
-        $_POST['_method']   = $method;
-        $_POST['foo6']      = 'bar6';
-        $_SERVER['REQUEST_METHOD'] = 'PoSt';
-        $request = Request::createFromGlobals();
-        $this->assertEquals($normalizedMethod, $request->getMethod());
-        $this->assertEquals('POST', $request->getRealMethod());
-        $this->assertEquals('bar6', $request->request->get('foo6'));
-
-        unset($_POST['_method'], $_POST['foo6'], $_SERVER['REQUEST_METHOD']);
-        $this->disableHttpMethodParameterOverride();
-    }
-
-    public function testOverrideGlobals()
-    {
-        set_error_handler(array($this, "deprecationErrorHandler"));
-
-        $request = new Request();
-        $request->initialize(array('foo' => 'bar'));
-
-        // as the Request::overrideGlobals really work, it erase $_SERVER, so we must backup it
-        $server = $_SERVER;
-
-        $request->overrideGlobals();
-
-        $this->assertEquals(array('foo' => 'bar'), $_GET);
-
-        $request->initialize(array(), array('foo' => 'bar'));
-        $request->overrideGlobals();
-
-        $this->assertEquals(array('foo' => 'bar'), $_POST);
-
-        $this->assertArrayNotHasKey('HTTP_X_FORWARDED_PROTO', $_SERVER);
-
-        $this->startTrustingProxyData();
-        $request->headers->set('X_FORWARDED_PROTO', 'https');
-
-        Request::setTrustedProxies(array('1.1.1.1'));
-        $this->assertTrue($request->isSecure());
-        Request::setTrustedProxies(array());
-
-        $request->overrideGlobals();
-
-        $this->assertArrayHasKey('HTTP_X_FORWARDED_PROTO', $_SERVER);
-
-        // restore initial $_SERVER array
-        $_SERVER = $server;
-
-        restore_error_handler();
-    }
-
-    public function testGetScriptName()
-    {
-        $request = new Request();
-        $this->assertEquals('', $request->getScriptName());
-
-        $server = array();
-        $server['SCRIPT_NAME'] = '/index.php';
-
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('/index.php', $request->getScriptName());
-
-        $server = array();
-        $server['ORIG_SCRIPT_NAME'] = '/frontend.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('/frontend.php', $request->getScriptName());
-
-        $server = array();
-        $server['SCRIPT_NAME'] = '/index.php';
-        $server['ORIG_SCRIPT_NAME'] = '/frontend.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('/index.php', $request->getScriptName());
-    }
-
-    public function testGetBasePath()
-    {
-        $request = new Request();
-        $this->assertEquals('', $request->getBasePath());
-
-        $server = array();
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-        $this->assertEquals('', $request->getBasePath());
-
-        $server = array();
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-        $server['SCRIPT_NAME'] = '/index.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('', $request->getBasePath());
-
-        $server = array();
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-        $server['PHP_SELF'] = '/index.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('', $request->getBasePath());
-
-        $server = array();
-        $server['SCRIPT_FILENAME'] = '/some/where/index.php';
-        $server['ORIG_SCRIPT_NAME'] = '/index.php';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('', $request->getBasePath());
-    }
-
-    public function testGetPathInfo()
-    {
-        $request = new Request();
-        $this->assertEquals('/', $request->getPathInfo());
-
-        $server = array();
-        $server['REQUEST_URI'] = '/path/info';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('/path/info', $request->getPathInfo());
-
-        $server = array();
-        $server['REQUEST_URI'] = '/path%20test/info';
-        $request->initialize(array(), array(), array(), array(), array(), $server);
-
-        $this->assertEquals('/path%20test/info', $request->getPathInfo());
-    }
-
-    public function testGetPreferredLanguage()
-    {
-        $request = new Request();
-        $this->assertNull($request->getPreferredLanguage());
-        $this->assertNull($request->getPreferredLanguage(array()));
-        $this->assertEquals('fr', $request->getPreferredLanguage(array('fr')));
-        $this->assertEquals('fr', $request->getPreferredLanguage(array('fr', 'en')));
-        $this->assertEquals('en', $request->getPreferredLanguage(array('en', 'fr')));
-        $this->assertEquals('fr-ch', $request->getPreferredLanguage(array('fr-ch', 'fr-fr')));
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.8, en; q=0.6');
-        $this->assertEquals('en', $request->getPreferredLanguage(array('en', 'en-us')));
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.8, en; q=0.6');
-        $this->assertEquals('en', $request->getPreferredLanguage(array('fr', 'en')));
-    }
-
-    public function testIsXmlHttpRequest()
-    {
-        $request = new Request();
-        $this->assertFalse($request->isXmlHttpRequest());
-
-        $request->headers->set('X-Requested-With', 'XMLHttpRequest');
-        $this->assertTrue($request->isXmlHttpRequest());
-
-        $request->headers->remove('X-Requested-With');
-        $this->assertFalse($request->isXmlHttpRequest());
-    }
-
-    public function testIntlLocale()
-    {
-        if (!extension_loaded('intl')) {
-            $this->markTestSkipped('The intl extension is needed to run this test.');
-        }
-
-        $request = new Request();
-
-        $request->setDefaultLocale('fr');
-        $this->assertEquals('fr', $request->getLocale());
-        $this->assertEquals('fr', \Locale::getDefault());
-
-        $request->setLocale('en');
-        $this->assertEquals('en', $request->getLocale());
-        $this->assertEquals('en', \Locale::getDefault());
-
-        $request->setDefaultLocale('de');
-        $this->assertEquals('en', $request->getLocale());
-        $this->assertEquals('en', \Locale::getDefault());
-    }
-
-    public function testGetCharsets()
-    {
-        $request = new Request();
-        $this->assertEquals(array(), $request->getCharsets());
-        $request->headers->set('Accept-Charset', 'ISO-8859-1, US-ASCII, UTF-8; q=0.8, ISO-10646-UCS-2; q=0.6');
-        $this->assertEquals(array(), $request->getCharsets()); // testing caching
-
-        $request = new Request();
-        $request->headers->set('Accept-Charset', 'ISO-8859-1, US-ASCII, UTF-8; q=0.8, ISO-10646-UCS-2; q=0.6');
-        $this->assertEquals(array('ISO-8859-1', 'US-ASCII', 'UTF-8', 'ISO-10646-UCS-2'), $request->getCharsets());
-
-        $request = new Request();
-        $request->headers->set('Accept-Charset', 'ISO-8859-1,utf-8;q=0.7,*;q=0.7');
-        $this->assertEquals(array('ISO-8859-1', 'utf-8', '*'), $request->getCharsets());
-    }
-
-    public function testGetAcceptableContentTypes()
-    {
-        $request = new Request();
-        $this->assertEquals(array(), $request->getAcceptableContentTypes());
-        $request->headers->set('Accept', 'application/vnd.wap.wmlscriptc, text/vnd.wap.wml, application/vnd.wap.xhtml+xml, application/xhtml+xml, text/html, multipart/mixed, */*');
-        $this->assertEquals(array(), $request->getAcceptableContentTypes()); // testing caching
-
-        $request = new Request();
-        $request->headers->set('Accept', 'application/vnd.wap.wmlscriptc, text/vnd.wap.wml, application/vnd.wap.xhtml+xml, application/xhtml+xml, text/html, multipart/mixed, */*');
-        $this->assertEquals(array('application/vnd.wap.wmlscriptc', 'text/vnd.wap.wml', 'application/vnd.wap.xhtml+xml', 'application/xhtml+xml', 'text/html', 'multipart/mixed', '*/*'), $request->getAcceptableContentTypes());
-    }
-
-    public function testGetLanguages()
-    {
-        $request = new Request();
-        $this->assertEquals(array(), $request->getLanguages());
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.8, en; q=0.6');
-        $this->assertEquals(array('zh', 'en_US', 'en'), $request->getLanguages());
-        $this->assertEquals(array('zh', 'en_US', 'en'), $request->getLanguages());
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.6, en; q=0.8');
-        $this->assertEquals(array('zh', 'en', 'en_US'), $request->getLanguages()); // Test out of order qvalues
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, en, en-us');
-        $this->assertEquals(array('zh', 'en', 'en_US'), $request->getLanguages()); // Test equal weighting without qvalues
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh; q=0.6, en, en-us; q=0.6');
-        $this->assertEquals(array('en', 'zh', 'en_US'), $request->getLanguages()); // Test equal weighting with qvalues
-
-        $request = new Request();
-        $request->headers->set('Accept-language', 'zh, i-cherokee; q=0.6');
-        $this->assertEquals(array('zh', 'cherokee'), $request->getLanguages());
-    }
-
-    public function testGetRequestFormat()
-    {
-        $request = new Request();
-        $this->assertEquals('html', $request->getRequestFormat());
-
-        $request = new Request();
-        $this->assertNull($request->getRequestFormat(null));
-
-        $request = new Request();
-        $this->assertNull($request->setRequestFormat('foo'));
-        $this->assertEquals('foo', $request->getRequestFormat(null));
-    }
-
-    public function testHasSession()
-    {
-        $request = new Request();
-
-        $this->assertFalse($request->hasSession());
-        $request->setSession(new Session(new MockArraySessionStorage()));
-        $this->assertTrue($request->hasSession());
-    }
-
-    public function testGetSession()
-    {
-        $request = new Request();
-
-        $request->setSession(new Session(new MockArraySessionStorage()));
-        $this->assertTrue($request->hasSession());
-
-        $session = $request->getSession();
-        $this->assertObjectHasAttribute('storage', $session);
-        $this->assertObjectHasAttribute('flashName', $session);
-        $this->assertObjectHasAttribute('attributeName', $session);
-    }
-
-    public function testHasPreviousSession()
-    {
-        $request = new Request();
-
-        $this->assertFalse($request->hasPreviousSession());
-        $request->cookies->set('MOCKSESSID', 'foo');
-        $this->assertFalse($request->hasPreviousSession());
-        $request->setSession(new Session(new MockArraySessionStorage()));
-        $this->assertTrue($request->hasPreviousSession());
-    }
-
-    public function testToString()
-    {
-        $request = new Request();
-
-        $request->headers->set('Accept-language', 'zh, en-us; q=0.8, en; q=0.6');
-
-        $this->assertContains('Accept-Language: zh, en-us; q=0.8, en; q=0.6', $request->__toString());
-    }
-
-    /**
-     * @dataProvider splitHttpAcceptHeaderData
-     */
-    public function testSplitHttpAcceptHeader($acceptHeader, $expected)
-    {
-        $request = new Request();
-
-        set_error_handler(array($this, "deprecationErrorHandler"));
-        $this->assertEquals($expected, $request->splitHttpAcceptHeader($acceptHeader));
-        restore_error_handler();
-    }
-
-    public function splitHttpAcceptHeaderData()
-    {
-        return array(
-            array(null, array()),
-            array('text/html;q=0.8', array('text/html' => 0.8)),
-            array('text/html;foo=bar;q=0.8 ', array('text/html;foo=bar' => 0.8)),
-            array('text/html;charset=utf-8; q=0.8', array('text/html;charset=utf-8' => 0.8)),
-            array('text/html,application/xml;q=0.9,*/*;charset=utf-8; q=0.8', array('text/html' => 1.0, 'application/xml' => 0.9, '*/*;charset=utf-8' => 0.8)),
-            array('text/html,application/xhtml+xml;q=0.9,*/*;q=0.8; foo=bar', array('text/html' => 1.0, 'application/xhtml+xml' => 0.9, '*/*;foo=bar' => 0.8)),
-            array('text/html,application/xhtml+xml;charset=utf-8;q=0.9; foo=bar,*/*', array('text/html' => 1.0, '*/*' => 1.0, 'application/xhtml+xml;charset=utf-8;foo=bar' => 0.9)),
-            array('text/html,application/xhtml+xml', array('text/html' => 1.0, 'application/xhtml+xml' => 1.0)),
-        );
-    }
-
-    public function testIsMethod()
-    {
-        $request = new Request();
-        $request->setMethod('POST');
-        $this->assertTrue($request->isMethod('POST'));
-        $this->assertTrue($request->isMethod('post'));
-        $this->assertFalse($request->isMethod('GET'));
-        $this->assertFalse($request->isMethod('get'));
-
-        $request->setMethod('GET');
-        $this->assertTrue($request->isMethod('GET'));
-        $this->assertTrue($request->isMethod('get'));
-        $this->assertFalse($request->isMethod('POST'));
-        $this->assertFalse($request->isMethod('post'));
-    }
-
-    private function startTrustingProxyData()
-    {
-        Request::trustProxyData();
-    }
-
-    /**
-     * @dataProvider getBaseUrlData
-     */
-    public function testGetBaseUrl($uri, $server, $expectedBaseUrl, $expectedPathInfo)
-    {
-        $request = Request::create($uri, 'GET', array(), array(), array(), $server);
-
-        $this->assertSame($expectedBaseUrl, $request->getBaseUrl(), 'baseUrl');
-        $this->assertSame($expectedPathInfo, $request->getPathInfo(), 'pathInfo');
-    }
-
-    public function getBaseUrlData()
-    {
-        return array(
-            array(
-                '/foo%20bar',
-                array(
-                    'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo bar/app.php',
-                    'SCRIPT_NAME'     => '/foo bar/app.php',
-                    'PHP_SELF'        => '/foo bar/app.php',
-                ),
-                '/foo%20bar',
-                '/',
-            ),
-            array(
-                '/foo%20bar/home',
-                array(
-                    'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo bar/app.php',
-                    'SCRIPT_NAME'     => '/foo bar/app.php',
-                    'PHP_SELF'        => '/foo bar/app.php',
-                ),
-                '/foo%20bar',
-                '/home',
-            ),
-            array(
-                '/foo%20bar/app.php/home',
-                array(
-                    'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo bar/app.php',
-                    'SCRIPT_NAME'     => '/foo bar/app.php',
-                    'PHP_SELF'        => '/foo bar/app.php',
-                ),
-                '/foo%20bar/app.php',
-                '/home',
-            ),
-            array(
-                '/foo%20bar/app.php/home%3Dbaz',
-                array(
-                    'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo bar/app.php',
-                    'SCRIPT_NAME'     => '/foo bar/app.php',
-                    'PHP_SELF'        => '/foo bar/app.php',
-                ),
-                '/foo%20bar/app.php',
-                '/home%3Dbaz',
-            ),
-            array(
-                '/foo/bar+baz',
-                array(
-                    'SCRIPT_FILENAME' => '/home/John Doe/public_html/foo/app.php',
-                    'SCRIPT_NAME'     => '/foo/app.php',
-                    'PHP_SELF'        => '/foo/app.php',
-                ),
-                '/foo',
-                '/bar+baz',
-            ),
-        );
-    }
-
-    /**
-     * @dataProvider urlencodedStringPrefixData
-     */
-    public function testUrlencodedStringPrefix($string, $prefix, $expect)
-    {
-        $request = new Request;
-
-        $me = new \ReflectionMethod($request, 'getUrlencodedPrefix');
-        $me->setAccessible(true);
-
-        $this->assertSame($expect, $me->invoke($request, $string, $prefix));
-    }
-
-    public function urlencodedStringPrefixData()
-    {
-        return array(
-            array('foo', 'foo', 'foo'),
-            array('fo%6f', 'foo', 'fo%6f'),
-            array('foo/bar', 'foo', 'foo'),
-            array('fo%6f/bar', 'foo', 'fo%6f'),
-            array('f%6f%6f/bar', 'foo', 'f%6f%6f'),
-            array('%66%6F%6F/bar', 'foo', '%66%6F%6F'),
-            array('fo+o/bar', 'fo+o', 'fo+o'),
-            array('fo%2Bo/bar', 'fo+o', 'fo%2Bo'),
-        );
-    }
-
-    private function stopTrustingProxyData()
-    {
-        $class = new \ReflectionClass('Symfony\\Component\\HttpFoundation\\Request');
-        $property = $class->getProperty('trustProxy');
-        $property->setAccessible(true);
-        $property->setValue(false);
-    }
-
-    private function disableHttpMethodParameterOverride()
-    {
-        $class = new \ReflectionClass('Symfony\\Component\\HttpFoundation\\Request');
-        $property = $class->getProperty('httpMethodParameterOverride');
-        $property->setAccessible(true);
-        $property->setValue(false);
-    }
-
-    public function testTrustedProxies()
-    {
-        $request = Request::create('http://example.com/');
-        $request->server->set('REMOTE_ADDR', '3.3.3.3');
-        $request->headers->set('X_FORWARDED_FOR', '1.1.1.1, 2.2.2.2');
-        $request->headers->set('X_FORWARDED_HOST', 'foo.example.com, real.example.com:8080');
-        $request->headers->set('X_FORWARDED_PROTO', 'https');
-        $request->headers->set('X_FORWARDED_PORT', 443);
-        $request->headers->set('X_MY_FOR', '3.3.3.3, 4.4.4.4');
-        $request->headers->set('X_MY_HOST', 'my.example.com');
-        $request->headers->set('X_MY_PROTO', 'http');
-        $request->headers->set('X_MY_PORT', 81);
-
-        // no trusted proxies
-        $this->assertEquals('3.3.3.3', $request->getClientIp());
-        $this->assertEquals('example.com', $request->getHost());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertFalse($request->isSecure());
-
-        // trusted proxy via deprecated trustProxyData()
-        set_error_handler(array($this, "deprecationErrorHandler"));
-        Request::trustProxyData();
-        $this->assertEquals('2.2.2.2', $request->getClientIp());
-        $this->assertEquals('real.example.com', $request->getHost());
-        $this->assertEquals(443, $request->getPort());
-        $this->assertTrue($request->isSecure());
-        restore_error_handler();
-
-        // disabling proxy trusting
-        Request::setTrustedProxies(array());
-        $this->assertEquals('3.3.3.3', $request->getClientIp());
-        $this->assertEquals('example.com', $request->getHost());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertFalse($request->isSecure());
-
-        // trusted proxy via setTrustedProxies()
-        Request::setTrustedProxies(array('3.3.3.3', '2.2.2.2'));
-        $this->assertEquals('1.1.1.1', $request->getClientIp());
-        $this->assertEquals('real.example.com', $request->getHost());
-        $this->assertEquals(443, $request->getPort());
-        $this->assertTrue($request->isSecure());
-
-        // custom header names
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, 'X_MY_FOR');
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, 'X_MY_HOST');
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, 'X_MY_PORT');
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, 'X_MY_PROTO');
-        $this->assertEquals('4.4.4.4', $request->getClientIp());
-        $this->assertEquals('my.example.com', $request->getHost());
-        $this->assertEquals(81, $request->getPort());
-        $this->assertFalse($request->isSecure());
-
-        // disabling via empty header names
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, null);
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, null);
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, null);
-        Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, null);
-        $this->assertEquals('3.3.3.3', $request->getClientIp());
-        $this->assertEquals('example.com', $request->getHost());
-        $this->assertEquals(80, $request->getPort());
-        $this->assertFalse($request->isSecure());
-
-        // reset
-        Request::setTrustedProxies(array());
-    }
-}
-
-class RequestContentProxy extends Request
-{
-    public function getContent($asResource = false)
-    {
-        return http_build_query(array('_method' => 'PUT', 'content' => 'mycontent'));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php
deleted file mode 100644
index fd163d1..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php
+++ /dev/null
@@ -1,272 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\ResponseHeaderBag;
-use Symfony\Component\HttpFoundation\Cookie;
-
-class ResponseHeaderBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @covers Symfony\Component\HttpFoundation\ResponseHeaderBag::allPreserveCase
-     * @dataProvider provideAllPreserveCase
-     */
-    public function testAllPreserveCase($headers, $expected)
-    {
-        $bag = new ResponseHeaderBag($headers);
-
-        $this->assertEquals($expected, $bag->allPreserveCase(), '->allPreserveCase() gets all input keys in original case');
-    }
-
-    public function provideAllPreserveCase()
-    {
-        return array(
-            array(
-                array('fOo' => 'BAR'),
-                array('fOo' => array('BAR'), 'Cache-Control' => array('no-cache'))
-            ),
-            array(
-                array('ETag' => 'xyzzy'),
-                array('ETag' => array('xyzzy'), 'Cache-Control' => array('private, must-revalidate'))
-            ),
-            array(
-                array('Content-MD5' => 'Q2hlY2sgSW50ZWdyaXR5IQ=='),
-                array('Content-MD5' => array('Q2hlY2sgSW50ZWdyaXR5IQ=='), 'Cache-Control' => array('no-cache'))
-            ),
-            array(
-                array('P3P' => 'CP="CAO PSA OUR"'),
-                array('P3P' => array('CP="CAO PSA OUR"'), 'Cache-Control' => array('no-cache'))
-            ),
-            array(
-                array('WWW-Authenticate' => 'Basic realm="WallyWorld"'),
-                array('WWW-Authenticate' => array('Basic realm="WallyWorld"'), 'Cache-Control' => array('no-cache'))
-            ),
-            array(
-                array('X-UA-Compatible' => 'IE=edge,chrome=1'),
-                array('X-UA-Compatible' => array('IE=edge,chrome=1'), 'Cache-Control' => array('no-cache'))
-            ),
-            array(
-                array('X-XSS-Protection' => '1; mode=block'),
-                array('X-XSS-Protection' => array('1; mode=block'), 'Cache-Control' => array('no-cache'))
-            ),
-        );
-    }
-
-    public function testCacheControlHeader()
-    {
-        $bag = new ResponseHeaderBag(array());
-        $this->assertEquals('no-cache', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('no-cache'));
-
-        $bag = new ResponseHeaderBag(array('Cache-Control' => 'public'));
-        $this->assertEquals('public', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-
-        $bag = new ResponseHeaderBag(array('ETag' => 'abcde'));
-        $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('private'));
-        $this->assertTrue($bag->hasCacheControlDirective('must-revalidate'));
-        $this->assertFalse($bag->hasCacheControlDirective('max-age'));
-
-        $bag = new ResponseHeaderBag(array('Expires' => 'Wed, 16 Feb 2011 14:17:43 GMT'));
-        $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array(
-            'Expires' => 'Wed, 16 Feb 2011 14:17:43 GMT',
-            'Cache-Control' => 'max-age=3600'
-        ));
-        $this->assertEquals('max-age=3600, private', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('Last-Modified' => 'abcde'));
-        $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('Etag' => 'abcde', 'Last-Modified' => 'abcde'));
-        $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('cache-control' => 'max-age=100'));
-        $this->assertEquals('max-age=100, private', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('cache-control' => 's-maxage=100'));
-        $this->assertEquals('s-maxage=100', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('cache-control' => 'private, max-age=100'));
-        $this->assertEquals('max-age=100, private', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag(array('cache-control' => 'public, max-age=100'));
-        $this->assertEquals('max-age=100, public', $bag->get('Cache-Control'));
-
-        $bag = new ResponseHeaderBag();
-        $bag->set('Last-Modified', 'abcde');
-        $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control'));
-    }
-
-    public function testToStringIncludesCookieHeaders()
-    {
-        $bag = new ResponseHeaderBag(array());
-        $bag->setCookie(new Cookie('foo', 'bar'));
-
-        $this->assertContains("Set-Cookie: foo=bar; httponly", explode("\r\n", $bag->__toString()));
-
-        $bag->clearCookie('foo');
-
-        $this->assertContains("Set-Cookie: foo=deleted; expires=".gmdate("D, d-M-Y H:i:s T", time() - 31536001)."; httponly", explode("\r\n", $bag->__toString()));
-    }
-
-    public function testReplace()
-    {
-        $bag = new ResponseHeaderBag(array());
-        $this->assertEquals('no-cache', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('no-cache'));
-
-        $bag->replace(array('Cache-Control' => 'public'));
-        $this->assertEquals('public', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('public'));
-    }
-
-    public function testReplaceWithRemove()
-    {
-        $bag = new ResponseHeaderBag(array());
-        $this->assertEquals('no-cache', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('no-cache'));
-
-        $bag->remove('Cache-Control');
-        $bag->replace(array());
-        $this->assertEquals('no-cache', $bag->get('Cache-Control'));
-        $this->assertTrue($bag->hasCacheControlDirective('no-cache'));
-    }
-
-    public function testCookiesWithSameNames()
-    {
-        $bag = new ResponseHeaderBag();
-        $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/foo', 'foo.bar'));
-        $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/bar', 'foo.bar'));
-        $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/bar', 'bar.foo'));
-        $bag->setCookie(new Cookie('foo', 'bar'));
-
-        $this->assertCount(4, $bag->getCookies());
-
-        $headers = explode("\r\n", $bag->__toString());
-        $this->assertContains("Set-Cookie: foo=bar; path=/path/foo; domain=foo.bar; httponly", $headers);
-        $this->assertContains("Set-Cookie: foo=bar; path=/path/foo; domain=foo.bar; httponly", $headers);
-        $this->assertContains("Set-Cookie: foo=bar; path=/path/bar; domain=bar.foo; httponly", $headers);
-        $this->assertContains("Set-Cookie: foo=bar; httponly", $headers);
-
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertTrue(isset($cookies['foo.bar']['/path/foo']['foo']));
-        $this->assertTrue(isset($cookies['foo.bar']['/path/bar']['foo']));
-        $this->assertTrue(isset($cookies['bar.foo']['/path/bar']['foo']));
-        $this->assertTrue(isset($cookies['']['/']['foo']));
-    }
-
-    public function testRemoveCookie()
-    {
-        $bag = new ResponseHeaderBag();
-        $bag->setCookie(new Cookie('foo', 'bar', 0, '/path/foo', 'foo.bar'));
-        $bag->setCookie(new Cookie('bar', 'foo', 0, '/path/bar', 'foo.bar'));
-
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertTrue(isset($cookies['foo.bar']['/path/foo']));
-
-        $bag->removeCookie('foo', '/path/foo', 'foo.bar');
-
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertFalse(isset($cookies['foo.bar']['/path/foo']));
-
-        $bag->removeCookie('bar', '/path/bar', 'foo.bar');
-
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertFalse(isset($cookies['foo.bar']));
-    }
-
-    public function testRemoveCookieWithNullRemove()
-    {
-        $bag = new ResponseHeaderBag();
-        $bag->setCookie(new Cookie('foo', 'bar', 0));
-        $bag->setCookie(new Cookie('bar', 'foo', 0));
-
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertTrue(isset($cookies['']['/']));
-
-        $bag->removeCookie('foo', null);
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertFalse(isset($cookies['']['/']['foo']));
-
-        $bag->removeCookie('bar', null);
-        $cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
-        $this->assertFalse(isset($cookies['']['/']['bar']));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testGetCookiesWithInvalidArgument()
-    {
-        $bag = new ResponseHeaderBag();
-
-        $cookies = $bag->getCookies('invalid_argument');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testMakeDispositionInvalidDisposition()
-    {
-        $headers = new ResponseHeaderBag();
-
-        $headers->makeDisposition('invalid', 'foo.html');
-    }
-
-    /**
-     * @dataProvider provideMakeDisposition
-     */
-    public function testMakeDisposition($disposition, $filename, $filenameFallback, $expected)
-    {
-        $headers = new ResponseHeaderBag();
-
-        $this->assertEquals($expected, $headers->makeDisposition($disposition, $filename, $filenameFallback));
-    }
-
-    public function provideMakeDisposition()
-    {
-        return array(
-            array('attachment', 'foo.html', 'foo.html', 'attachment; filename="foo.html"'),
-            array('attachment', 'foo.html', '', 'attachment; filename="foo.html"'),
-            array('attachment', 'foo bar.html', '', 'attachment; filename="foo bar.html"'),
-            array('attachment', 'foo "bar".html', '', 'attachment; filename="foo \\"bar\\".html"'),
-            array('attachment', 'foo%20bar.html', 'foo bar.html', 'attachment; filename="foo bar.html"; filename*=utf-8\'\'foo%2520bar.html'),
-            array('attachment', 'föö.html', 'foo.html', 'attachment; filename="foo.html"; filename*=utf-8\'\'f%C3%B6%C3%B6.html'),
-        );
-    }
-
-    /**
-     * @dataProvider provideMakeDispositionFail
-     * @expectedException \InvalidArgumentException
-     */
-    public function testMakeDispositionFail($disposition, $filename)
-    {
-        $headers = new ResponseHeaderBag();
-
-        $headers->makeDisposition($disposition, $filename);
-    }
-
-    public function provideMakeDispositionFail()
-    {
-        return array(
-            array('attachment', 'foo%20bar.html'),
-            array('attachment', 'foo/bar.html'),
-            array('attachment', '/foo.html'),
-            array('attachment', 'foo\bar.html'),
-            array('attachment', '\foo.html'),
-            array('attachment', 'föö.html'),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTest.php
deleted file mode 100644
index 6ca569c..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTest.php
+++ /dev/null
@@ -1,712 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class ResponseTest extends \PHPUnit_Framework_TestCase
-{
-    public function testCreate()
-    {
-        $response = Response::create('foo', 301, array('Foo' => 'bar'));
-
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response);
-        $this->assertEquals(301, $response->getStatusCode());
-        $this->assertEquals('bar', $response->headers->get('foo'));
-    }
-
-    public function testToString()
-    {
-        $response = new Response();
-        $response = explode("\r\n", $response);
-        $this->assertEquals("HTTP/1.0 200 OK", $response[0]);
-        $this->assertEquals("Cache-Control: no-cache", $response[1]);
-    }
-
-    public function testClone()
-    {
-        $response = new Response();
-        $responseClone = clone $response;
-        $this->assertEquals($response, $responseClone);
-    }
-
-    public function testSendHeaders()
-    {
-        $response = new Response();
-        $headers = $response->sendHeaders();
-        $this->assertObjectHasAttribute('headers', $headers);
-        $this->assertObjectHasAttribute('content', $headers);
-        $this->assertObjectHasAttribute('version', $headers);
-        $this->assertObjectHasAttribute('statusCode', $headers);
-        $this->assertObjectHasAttribute('statusText', $headers);
-        $this->assertObjectHasAttribute('charset', $headers);
-    }
-
-    public function testSend()
-    {
-        $response = new Response();
-        $responseSend = $response->send();
-        $this->assertObjectHasAttribute('headers', $responseSend);
-        $this->assertObjectHasAttribute('content', $responseSend);
-        $this->assertObjectHasAttribute('version', $responseSend);
-        $this->assertObjectHasAttribute('statusCode', $responseSend);
-        $this->assertObjectHasAttribute('statusText', $responseSend);
-        $this->assertObjectHasAttribute('charset', $responseSend);
-    }
-
-    public function testGetCharset()
-    {
-        $response = new Response();
-        $charsetOrigin = 'UTF-8';
-        $response->setCharset($charsetOrigin);
-        $charset = $response->getCharset();
-        $this->assertEquals($charsetOrigin, $charset);
-    }
-
-    public function testIsCacheable()
-    {
-        $response = new Response();
-        $this->assertFalse($response->isCacheable());
-    }
-
-    public function testIsCacheableWithSetTtl()
-    {
-        $response = new Response();
-        $response->setTtl(10);
-        $this->assertTrue($response->isCacheable());
-    }
-
-    public function testMustRevalidate()
-    {
-        $response = new Response();
-        $this->assertFalse($response->mustRevalidate());
-    }
-
-    public function testSetNotModified()
-    {
-        $response = new Response();
-        $modified = $response->setNotModified();
-        $this->assertObjectHasAttribute('headers', $modified);
-        $this->assertObjectHasAttribute('content', $modified);
-        $this->assertObjectHasAttribute('version', $modified);
-        $this->assertObjectHasAttribute('statusCode', $modified);
-        $this->assertObjectHasAttribute('statusText', $modified);
-        $this->assertObjectHasAttribute('charset', $modified);
-        $this->assertEquals(304, $modified->getStatusCode());
-    }
-
-    public function testIsSuccessful()
-    {
-        $response = new Response();
-        $this->assertTrue($response->isSuccessful());
-    }
-
-    public function testIsNotModified()
-    {
-        $response = new Response();
-        $modified = $response->isNotModified(new Request());
-        $this->assertFalse($modified);
-    }
-
-    public function testIsValidateable()
-    {
-        $response = new Response('', 200, array('Last-Modified' => $this->createDateTimeOneHourAgo()->format(DATE_RFC2822)));
-        $this->assertTrue($response->isValidateable(), '->isValidateable() returns true if Last-Modified is present');
-
-        $response = new Response('', 200, array('ETag' => '"12345"'));
-        $this->assertTrue($response->isValidateable(), '->isValidateable() returns true if ETag is present');
-
-        $response = new Response();
-        $this->assertFalse($response->isValidateable(), '->isValidateable() returns false when no validator is present');
-    }
-
-    public function testGetDate()
-    {
-        $response = new Response('', 200, array('Date' => $this->createDateTimeOneHourAgo()->format(DATE_RFC2822)));
-        $this->assertEquals(0, $this->createDateTimeOneHourAgo()->diff($response->getDate())->format('%s'), '->getDate() returns the Date header if present');
-
-        $response = new Response();
-        $date = $response->getDate();
-        $this->assertLessThan(1, $date->diff(new \DateTime(), true)->format('%s'), '->getDate() returns the current Date if no Date header present');
-
-        $response = new Response('', 200, array('Date' => $this->createDateTimeOneHourAgo()->format(DATE_RFC2822)));
-        $now = $this->createDateTimeNow();
-        $response->headers->set('Date', $now->format(DATE_RFC2822));
-        $this->assertEquals(0, $now->diff($response->getDate())->format('%s'), '->getDate() returns the date when the header has been modified');
-
-        $response = new Response('', 200);
-        $response->headers->remove('Date');
-        $this->assertInstanceOf('\DateTime', $response->getDate());
-    }
-
-    public function testGetMaxAge()
-    {
-        $response = new Response();
-        $response->headers->set('Cache-Control', 's-maxage=600, max-age=0');
-        $this->assertEquals(600, $response->getMaxAge(), '->getMaxAge() uses s-maxage cache control directive when present');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=600');
-        $this->assertEquals(600, $response->getMaxAge(), '->getMaxAge() falls back to max-age when no s-maxage directive present');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'must-revalidate');
-        $response->headers->set('Expires', $this->createDateTimeOneHourLater()->format(DATE_RFC2822));
-        $this->assertEquals(3600, $response->getMaxAge(), '->getMaxAge() falls back to Expires when no max-age or s-maxage directive present');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'must-revalidate');
-        $response->headers->set('Expires', -1);
-        $this->assertEquals('Sat, 01 Jan 00 00:00:00 +0000', $response->getExpires()->format(DATE_RFC822));
-
-        $response = new Response();
-        $this->assertNull($response->getMaxAge(), '->getMaxAge() returns null if no freshness information available');
-    }
-
-    public function testSetSharedMaxAge()
-    {
-        $response = new Response();
-        $response->setSharedMaxAge(20);
-
-        $cacheControl = $response->headers->get('Cache-Control');
-        $this->assertEquals('public, s-maxage=20', $cacheControl);
-    }
-
-    public function testIsPrivate()
-    {
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=100');
-        $response->setPrivate();
-        $this->assertEquals(100, $response->headers->getCacheControlDirective('max-age'), '->isPrivate() adds the private Cache-Control directive when set to true');
-        $this->assertTrue($response->headers->getCacheControlDirective('private'), '->isPrivate() adds the private Cache-Control directive when set to true');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'public, max-age=100');
-        $response->setPrivate();
-        $this->assertEquals(100, $response->headers->getCacheControlDirective('max-age'), '->isPrivate() adds the private Cache-Control directive when set to true');
-        $this->assertTrue($response->headers->getCacheControlDirective('private'), '->isPrivate() adds the private Cache-Control directive when set to true');
-        $this->assertFalse($response->headers->hasCacheControlDirective('public'), '->isPrivate() removes the public Cache-Control directive');
-    }
-
-    public function testExpire()
-    {
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=100');
-        $response->expire();
-        $this->assertEquals(100, $response->headers->get('Age'), '->expire() sets the Age to max-age when present');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=100, s-maxage=500');
-        $response->expire();
-        $this->assertEquals(500, $response->headers->get('Age'), '->expire() sets the Age to s-maxage when both max-age and s-maxage are present');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=5, s-maxage=500');
-        $response->headers->set('Age', '1000');
-        $response->expire();
-        $this->assertEquals(1000, $response->headers->get('Age'), '->expire() does nothing when the response is already stale/expired');
-
-        $response = new Response();
-        $response->expire();
-        $this->assertFalse($response->headers->has('Age'), '->expire() does nothing when the response does not include freshness information');
-
-        $response = new Response();
-        $response->headers->set('Expires', -1);
-        $response->expire();
-        $this->assertNull($response->headers->get('Age'), '->expire() does not set the Age when the response is expired');
-    }
-
-    public function testGetTtl()
-    {
-        $response = new Response();
-        $this->assertNull($response->getTtl(), '->getTtl() returns null when no Expires or Cache-Control headers are present');
-
-        $response = new Response();
-        $response->headers->set('Expires', $this->createDateTimeOneHourLater()->format(DATE_RFC2822));
-        $this->assertLessThan(1, 3600 - $response->getTtl(), '->getTtl() uses the Expires header when no max-age is present');
-
-        $response = new Response();
-        $response->headers->set('Expires', $this->createDateTimeOneHourAgo()->format(DATE_RFC2822));
-        $this->assertLessThan(0, $response->getTtl(), '->getTtl() returns negative values when Expires is in past');
-
-        $response = new Response();
-        $response->headers->set('Expires', $response->getDate()->format(DATE_RFC2822));
-        $response->headers->set('Age', 0);
-        $this->assertSame(0, $response->getTtl(), '->getTtl() correctly handles zero');
-
-        $response = new Response();
-        $response->headers->set('Cache-Control', 'max-age=60');
-        $this->assertLessThan(1, 60 - $response->getTtl(), '->getTtl() uses Cache-Control max-age when present');
-    }
-
-    public function testSetClientTtl()
-    {
-        $response = new Response();
-        $response->setClientTtl(10);
-
-        $this->assertEquals($response->getMaxAge(), $response->getAge() + 10);
-    }
-
-    public function testGetSetProtocolVersion()
-    {
-        $response = new Response();
-
-        $this->assertEquals('1.0', $response->getProtocolVersion());
-
-        $response->setProtocolVersion('1.1');
-
-        $this->assertEquals('1.1', $response->getProtocolVersion());
-    }
-
-    public function testGetVary()
-    {
-        $response = new Response();
-        $this->assertEquals(array(), $response->getVary(), '->getVary() returns an empty array if no Vary header is present');
-
-        $response = new Response();
-        $response->headers->set('Vary', 'Accept-Language');
-        $this->assertEquals(array('Accept-Language'), $response->getVary(), '->getVary() parses a single header name value');
-
-        $response = new Response();
-        $response->headers->set('Vary', 'Accept-Language User-Agent    X-Foo');
-        $this->assertEquals(array('Accept-Language', 'User-Agent', 'X-Foo'), $response->getVary(), '->getVary() parses multiple header name values separated by spaces');
-
-        $response = new Response();
-        $response->headers->set('Vary', 'Accept-Language,User-Agent,    X-Foo');
-        $this->assertEquals(array('Accept-Language', 'User-Agent', 'X-Foo'), $response->getVary(), '->getVary() parses multiple header name values separated by commas');
-    }
-
-    public function testSetVary()
-    {
-        $response = new Response();
-        $response->setVary('Accept-Language');
-        $this->assertEquals(array('Accept-Language'), $response->getVary());
-
-        $response->setVary('Accept-Language, User-Agent');
-        $this->assertEquals(array('Accept-Language', 'User-Agent'), $response->getVary(), '->setVary() replace the vary header by default');
-
-        $response->setVary('X-Foo', false);
-        $this->assertEquals(array('Accept-Language', 'User-Agent'), $response->getVary(), '->setVary() doesn\'t change the Vary header if replace is set to false');
-    }
-
-    public function testDefaultContentType()
-    {
-        $headerMock = $this->getMock('Symfony\Component\HttpFoundation\ResponseHeaderBag', array('set'));
-        $headerMock->expects($this->at(0))
-            ->method('set')
-            ->with('Content-Type', 'text/html');
-        $headerMock->expects($this->at(1))
-            ->method('set')
-            ->with('Content-Type', 'text/html; charset=UTF-8');
-
-        $response = new Response('foo');
-        $response->headers = $headerMock;
-
-        $response->prepare(new Request());
-    }
-
-    public function testContentTypeCharset()
-    {
-        $response = new Response();
-        $response->headers->set('Content-Type', 'text/css');
-
-        // force fixContentType() to be called
-        $response->prepare(new Request());
-
-        $this->assertEquals('text/css; charset=UTF-8', $response->headers->get('Content-Type'));
-    }
-
-    public function testPrepareDoesNothingIfContentTypeIsSet()
-    {
-        $response = new Response('foo');
-        $response->headers->set('Content-Type', 'text/plain');
-
-        $response->prepare(new Request());
-
-        $this->assertEquals('text/plain; charset=UTF-8', $response->headers->get('content-type'));
-    }
-
-    public function testPrepareDoesNothingIfRequestFormatIsNotDefined()
-    {
-        $response = new Response('foo');
-
-        $response->prepare(new Request());
-
-        $this->assertEquals('text/html; charset=UTF-8', $response->headers->get('content-type'));
-    }
-
-    public function testPrepareSetContentType()
-    {
-        $response = new Response('foo');
-        $request = Request::create('/');
-        $request->setRequestFormat('json');
-
-        $response->prepare($request);
-
-        $this->assertEquals('application/json', $response->headers->get('content-type'));
-    }
-
-    public function testPrepareRemovesContentForHeadRequests()
-    {
-        $response = new Response('foo');
-        $request = Request::create('/', 'HEAD');
-
-        $response->prepare($request);
-
-        $this->assertEquals('', $response->getContent());
-    }
-
-    public function testPrepareSetsPragmaOnHttp10Only()
-    {
-        $request = Request::create('/', 'GET');
-        $request->server->set('SERVER_PROTOCOL', 'HTTP/1.0');
-
-        $response = new Response('foo');
-        $response->prepare($request);
-        $this->assertEquals('no-cache', $response->headers->get('pragma'));
-        $this->assertEquals('-1', $response->headers->get('expires'));
-
-        $request->server->set('SERVER_PROTOCOL', 'HTTP/1.1');
-        $response = new Response('foo');
-        $response->prepare($request);
-        $this->assertFalse($response->headers->has('pragma'));
-        $this->assertFalse($response->headers->has('expires'));
-    }
-
-    public function testSetCache()
-    {
-        $response = new Response();
-        //array('etag', 'last_modified', 'max_age', 's_maxage', 'private', 'public')
-        try {
-            $response->setCache(array("wrong option" => "value"));
-            $this->fail('->setCache() throws an InvalidArgumentException if an option is not supported');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('InvalidArgumentException', $e, '->setCache() throws an InvalidArgumentException if an option is not supported');
-            $this->assertContains('"wrong option"', $e->getMessage());
-        }
-
-        $options = array('etag' => '"whatever"');
-        $response->setCache($options);
-        $this->assertEquals($response->getEtag(), '"whatever"');
-
-        $now = new \DateTime();
-        $options = array('last_modified' => $now);
-        $response->setCache($options);
-        $this->assertEquals($response->getLastModified()->getTimestamp(), $now->getTimestamp());
-
-        $options = array('max_age' => 100);
-        $response->setCache($options);
-        $this->assertEquals($response->getMaxAge(), 100);
-
-        $options = array('s_maxage' => 200);
-        $response->setCache($options);
-        $this->assertEquals($response->getMaxAge(), 200);
-
-        $this->assertTrue($response->headers->hasCacheControlDirective('public'));
-        $this->assertFalse($response->headers->hasCacheControlDirective('private'));
-
-        $response->setCache(array('public' => true));
-        $this->assertTrue($response->headers->hasCacheControlDirective('public'));
-        $this->assertFalse($response->headers->hasCacheControlDirective('private'));
-
-        $response->setCache(array('public' => false));
-        $this->assertFalse($response->headers->hasCacheControlDirective('public'));
-        $this->assertTrue($response->headers->hasCacheControlDirective('private'));
-
-        $response->setCache(array('private' => true));
-        $this->assertFalse($response->headers->hasCacheControlDirective('public'));
-        $this->assertTrue($response->headers->hasCacheControlDirective('private'));
-
-        $response->setCache(array('private' => false));
-        $this->assertTrue($response->headers->hasCacheControlDirective('public'));
-        $this->assertFalse($response->headers->hasCacheControlDirective('private'));
-    }
-
-    public function testSendContent()
-    {
-        $response = new Response('test response rendering', 200);
-
-        ob_start();
-        $response->sendContent();
-        $string = ob_get_clean();
-        $this->assertContains('test response rendering', $string);
-    }
-
-    public function testSetPublic()
-    {
-        $response = new Response();
-        $response->setPublic();
-
-        $this->assertTrue($response->headers->hasCacheControlDirective('public'));
-        $this->assertFalse($response->headers->hasCacheControlDirective('private'));
-    }
-
-    public function testSetExpires()
-    {
-        $response = new Response();
-        $response->setExpires(null);
-
-        $this->assertNull($response->getExpires(), '->setExpires() remove the header when passed null');
-
-        $now = new \DateTime();
-        $response->setExpires($now);
-
-        $this->assertEquals($response->getExpires()->getTimestamp(), $now->getTimestamp());
-    }
-
-    public function testSetLastModified()
-    {
-        $response = new Response();
-        $response->setLastModified(new \DateTime());
-        $this->assertNotNull($response->getLastModified());
-
-        $response->setLastModified(null);
-        $this->assertNull($response->getLastModified());
-    }
-
-    public function testIsInvalid()
-    {
-        $response = new Response();
-
-        try {
-            $response->setStatusCode(99);
-            $this->fail();
-        } catch (\InvalidArgumentException $e) {
-            $this->assertTrue($response->isInvalid());
-        }
-
-        try {
-            $response->setStatusCode(650);
-            $this->fail();
-        } catch (\InvalidArgumentException $e) {
-            $this->assertTrue($response->isInvalid());
-        }
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isInvalid());
-    }
-
-    /**
-     * @dataProvider getStatusCodeFixtures
-     */
-    public function testSetStatusCode($code, $text, $expectedText)
-    {
-        $response = new Response();
-
-        $response->setStatusCode($code, $text);
-
-        $statusText = new \ReflectionProperty($response, 'statusText');
-        $statusText->setAccessible(true);
-
-        $this->assertEquals($expectedText, $statusText->getValue($response));
-    }
-
-    public function getStatusCodeFixtures()
-    {
-        return array(
-            array('200', null, 'OK'),
-            array('200', false, ''),
-            array('200', 'foo', 'foo'),
-            array('199', null, ''),
-            array('199', false, ''),
-            array('199', 'foo', 'foo')
-        );
-    }
-
-    public function testIsInformational()
-    {
-        $response = new Response('', 100);
-        $this->assertTrue($response->isInformational());
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isInformational());
-    }
-
-    public function testIsRedirectRedirection()
-    {
-        foreach (array(301, 302, 303, 307) as $code) {
-            $response = new Response('', $code);
-            $this->assertTrue($response->isRedirection());
-            $this->assertTrue($response->isRedirect());
-        }
-
-        $response = new Response('', 304);
-        $this->assertTrue($response->isRedirection());
-        $this->assertFalse($response->isRedirect());
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isRedirection());
-        $this->assertFalse($response->isRedirect());
-
-        $response = new Response('', 404);
-        $this->assertFalse($response->isRedirection());
-        $this->assertFalse($response->isRedirect());
-
-        $response = new Response('', 301, array('Location' => '/good-uri'));
-        $this->assertFalse($response->isRedirect('/bad-uri'));
-        $this->assertTrue($response->isRedirect('/good-uri'));
-    }
-
-    public function testIsNotFound()
-    {
-        $response = new Response('', 404);
-        $this->assertTrue($response->isNotFound());
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isNotFound());
-    }
-
-    public function testIsEmpty()
-    {
-        foreach (array(201, 204, 304) as $code) {
-            $response = new Response('', $code);
-            $this->assertTrue($response->isEmpty());
-        }
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isEmpty());
-    }
-
-    public function testIsForbidden()
-    {
-        $response = new Response('', 403);
-        $this->assertTrue($response->isForbidden());
-
-        $response = new Response('', 200);
-        $this->assertFalse($response->isForbidden());
-    }
-
-    public function testIsOk()
-    {
-        $response = new Response('', 200);
-        $this->assertTrue($response->isOk());
-
-        $response = new Response('', 404);
-        $this->assertFalse($response->isOk());
-    }
-
-    public function testIsServerOrClientError()
-    {
-        $response = new Response('', 404);
-        $this->assertTrue($response->isClientError());
-        $this->assertFalse($response->isServerError());
-
-        $response = new Response('', 500);
-        $this->assertFalse($response->isClientError());
-        $this->assertTrue($response->isServerError());
-    }
-
-    public function testHasVary()
-    {
-        $response = new Response();
-        $this->assertFalse($response->hasVary());
-
-        $response->setVary('User-Agent');
-        $this->assertTrue($response->hasVary());
-    }
-
-    public function testSetEtag()
-    {
-        $response = new Response('', 200, array('ETag' => '"12345"'));
-        $response->setEtag();
-
-        $this->assertNull($response->headers->get('Etag'), '->setEtag() removes Etags when call with null');
-    }
-
-    /**
-     * @dataProvider validContentProvider
-     */
-    public function testSetContent($content)
-    {
-        $response = new Response();
-        $response->setContent($content);
-        $this->assertEquals((string) $content, $response->getContent());
-    }
-
-    /**
-     * @expectedException UnexpectedValueException
-     * @dataProvider invalidContentProvider
-     */
-    public function testSetContentInvalid($content)
-    {
-        $response = new Response();
-        $response->setContent($content);
-    }
-
-    public function testSettersAreChainable()
-    {
-        $response = new Response();
-
-        $setters = array(
-            'setProtocolVersion' => '1.0',
-            'setCharset' => 'UTF-8',
-            'setPublic' => null,
-            'setPrivate' => null,
-            'setDate' => new \DateTime,
-            'expire' => null,
-            'setMaxAge' => 1,
-            'setSharedMaxAge' => 1,
-            'setTtl' => 1,
-            'setClientTtl' => 1,
-        );
-
-        foreach ($setters as $setter => $arg) {
-            $this->assertEquals($response, $response->{$setter}($arg));
-        }
-    }
-
-    public function validContentProvider()
-    {
-        return array(
-            'obj'    => array(new StringableObject),
-            'string' => array('Foo'),
-            'int'    => array(2),
-        );
-    }
-
-    public function invalidContentProvider()
-    {
-        return array(
-            'obj'   => array(new \stdClass),
-            'array' => array(array()),
-            'bool'   => array(true, '1'),
-        );
-    }
-
-    protected function createDateTimeOneHourAgo()
-    {
-        $date = new \DateTime();
-
-        return $date->sub(new \DateInterval('PT1H'));
-    }
-
-    protected function createDateTimeOneHourLater()
-    {
-        $date = new \DateTime();
-
-        return $date->add(new \DateInterval('PT1H'));
-    }
-
-    protected function createDateTimeNow()
-    {
-        return new \DateTime();
-    }
-}
-
-class StringableObject
-{
-    public function __toString()
-    {
-        return 'Foo';
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php
deleted file mode 100644
index f8e487d..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\ServerBag;
-
-/**
- * ServerBagTest
- *
- * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
- */
-class ServerBagTest extends \PHPUnit_Framework_TestCase
-{
-    public function testShouldExtractHeadersFromServerArray()
-    {
-        $server = array(
-            'SOME_SERVER_VARIABLE' => 'value',
-            'SOME_SERVER_VARIABLE2' => 'value',
-            'ROOT' => 'value',
-            'HTTP_CONTENT_TYPE' => 'text/html',
-            'HTTP_CONTENT_LENGTH' => '0',
-            'HTTP_ETAG' => 'asdf',
-            'PHP_AUTH_USER' => 'foo',
-            'PHP_AUTH_PW' => 'bar',
-        );
-
-        $bag = new ServerBag($server);
-
-        $this->assertEquals(array(
-            'CONTENT_TYPE' => 'text/html',
-            'CONTENT_LENGTH' => '0',
-            'ETAG' => 'asdf',
-            'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),
-            'PHP_AUTH_USER' => 'foo',
-            'PHP_AUTH_PW' => 'bar',
-        ), $bag->getHeaders());
-    }
-
-    public function testHttpPasswordIsOptional()
-    {
-        $bag = new ServerBag(array('PHP_AUTH_USER' => 'foo'));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),
-            'PHP_AUTH_USER' => 'foo',
-            'PHP_AUTH_PW' => ''
-        ), $bag->getHeaders());
-    }
-
-    public function testHttpBasicAuthWithPhpCgi()
-    {
-        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:bar')));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),
-            'PHP_AUTH_USER' => 'foo',
-            'PHP_AUTH_PW' => 'bar'
-        ), $bag->getHeaders());
-    }
-
-    public function testHttpBasicAuthWithPhpCgiRedirect()
-    {
-        $bag = new ServerBag(array('REDIRECT_HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:bar')));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => 'Basic '.base64_encode('foo:bar'),
-            'PHP_AUTH_USER' => 'foo',
-            'PHP_AUTH_PW' => 'bar'
-        ), $bag->getHeaders());
-    }
-
-    public function testHttpBasicAuthWithPhpCgiEmptyPassword()
-    {
-        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => 'Basic '.base64_encode('foo:')));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => 'Basic '.base64_encode('foo:'),
-            'PHP_AUTH_USER' => 'foo',
-            'PHP_AUTH_PW' => ''
-        ), $bag->getHeaders());
-    }
-
-    public function testOAuthBearerAuth()
-    {
-        $headerContent = 'Bearer L-yLEOr9zhmUYRkzN1jwwxwQ-PBNiKDc8dgfB4hTfvo';
-        $bag = new ServerBag(array('HTTP_AUTHORIZATION' => $headerContent));
-
-        $this->assertEquals(array(
-            'AUTHORIZATION' => $headerContent,
-        ), $bag->getHeaders());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php
deleted file mode 100644
index 93c634c..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php
+++ /dev/null
@@ -1,193 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Attribute;
-
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-
-/**
- * Tests AttributeBag
- *
- * @author Drak <drak@zikula.org>
- */
-class AttributeBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var array
-     */
-    private $array;
-
-    /**
-     * @var AttributeBag
-     */
-    private $bag;
-
-    protected function setUp()
-    {
-        $this->array = array(
-            'hello' => 'world',
-            'always' => 'be happy',
-            'user.login' => 'drak',
-            'csrf.token' => array(
-                'a' => '1234',
-                'b' => '4321',
-            ),
-            'category' => array(
-                'fishing' => array(
-                    'first' => 'cod',
-                    'second' => 'sole')
-                ),
-        );
-        $this->bag = new AttributeBag('_sf2');
-        $this->bag->initialize($this->array);
-    }
-
-    protected function tearDown()
-    {
-        $this->bag = null;
-        $this->array = array();
-    }
-
-    public function testInitialize()
-    {
-        $bag = new AttributeBag();
-        $bag->initialize($this->array);
-        $this->assertEquals($this->array, $bag->all());
-        $array = array('should' => 'change');
-        $bag->initialize($array);
-        $this->assertEquals($array, $bag->all());
-    }
-
-    public function testGetStorageKey()
-    {
-        $this->assertEquals('_sf2', $this->bag->getStorageKey());
-        $attributeBag = new AttributeBag('test');
-        $this->assertEquals('test', $attributeBag->getStorageKey());
-    }
-
-    public function testGetSetName()
-    {
-        $this->assertEquals('attributes', $this->bag->getName());
-        $this->bag->setName('foo');
-        $this->assertEquals('foo', $this->bag->getName());
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testHas($key, $value, $exists)
-    {
-        $this->assertEquals($exists, $this->bag->has($key));
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testGet($key, $value, $expected)
-    {
-        $this->assertEquals($value, $this->bag->get($key));
-    }
-
-    public function testGetDefaults()
-    {
-        $this->assertNull($this->bag->get('user2.login'));
-        $this->assertEquals('default', $this->bag->get('user2.login', 'default'));
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testSet($key, $value, $expected)
-    {
-        $this->bag->set($key, $value);
-        $this->assertEquals($value, $this->bag->get($key));
-    }
-
-    public function testAll()
-    {
-        $this->assertEquals($this->array, $this->bag->all());
-
-        $this->bag->set('hello', 'fabien');
-        $array = $this->array;
-        $array['hello'] = 'fabien';
-        $this->assertEquals($array, $this->bag->all());
-    }
-
-    public function testReplace()
-    {
-        $array = array();
-        $array['name'] = 'jack';
-        $array['foo.bar'] = 'beep';
-        $this->bag->replace($array);
-        $this->assertEquals($array, $this->bag->all());
-        $this->assertNull($this->bag->get('hello'));
-        $this->assertNull($this->bag->get('always'));
-        $this->assertNull($this->bag->get('user.login'));
-    }
-
-    public function testRemove()
-    {
-        $this->assertEquals('world', $this->bag->get('hello'));
-        $this->bag->remove('hello');
-        $this->assertNull($this->bag->get('hello'));
-
-        $this->assertEquals('be happy', $this->bag->get('always'));
-        $this->bag->remove('always');
-        $this->assertNull($this->bag->get('always'));
-
-        $this->assertEquals('drak', $this->bag->get('user.login'));
-        $this->bag->remove('user.login');
-        $this->assertNull($this->bag->get('user.login'));
-    }
-
-    public function testClear()
-    {
-        $this->bag->clear();
-        $this->assertEquals(array(), $this->bag->all());
-    }
-
-    public function attributesProvider()
-    {
-        return array(
-            array('hello', 'world', true),
-            array('always', 'be happy', true),
-            array('user.login', 'drak', true),
-            array('csrf.token', array('a' => '1234', 'b' => '4321'), true),
-            array('category', array('fishing' => array('first' => 'cod', 'second' => 'sole')), true),
-            array('user2.login', null, false),
-            array('never', null, false),
-            array('bye', null, false),
-            array('bye/for/now', null, false),
-        );
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag::getIterator
-     */
-    public function testGetIterator()
-    {
-        $i = 0;
-        foreach ($this->bag as $key => $val) {
-            $this->assertEquals($this->array[$key], $val);
-            $i++;
-        }
-
-        $this->assertEquals(count($this->array), $i);
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag::count
-     */
-    public function testCount()
-    {
-        $this->assertEquals(count($this->array), count($this->bag));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php
deleted file mode 100644
index 622d65b..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Attribute;
-
-use Symfony\Component\HttpFoundation\Session\Attribute\NamespacedAttributeBag;
-
-/**
- * Tests NamespacedAttributeBag
- *
- * @author Drak <drak@zikula.org>
- */
-class NamespacedAttributeBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var array
-     */
-    private $array;
-
-    /**
-     * @var NamespacedAttributeBag
-     */
-    private $bag;
-
-    protected function setUp()
-    {
-        $this->array = array(
-            'hello' => 'world',
-            'always' => 'be happy',
-            'user.login' => 'drak',
-            'csrf.token' => array(
-                'a' => '1234',
-                'b' => '4321',
-            ),
-            'category' => array(
-                'fishing' => array(
-                    'first' => 'cod',
-                    'second' => 'sole')
-                ),
-        );
-        $this->bag = new NamespacedAttributeBag('_sf2', '/');
-        $this->bag->initialize($this->array);
-    }
-
-    protected function tearDown()
-    {
-        $this->bag = null;
-        $this->array = array();
-    }
-
-    public function testInitialize()
-    {
-        $bag = new NamespacedAttributeBag();
-        $bag->initialize($this->array);
-        $this->assertEquals($this->array, $this->bag->all());
-        $array = array('should' => 'not stick');
-        $bag->initialize($array);
-
-        // should have remained the same
-        $this->assertEquals($this->array, $this->bag->all());
-    }
-
-    public function testGetStorageKey()
-    {
-        $this->assertEquals('_sf2', $this->bag->getStorageKey());
-        $attributeBag = new NamespacedAttributeBag('test');
-        $this->assertEquals('test', $attributeBag->getStorageKey());
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testHas($key, $value, $exists)
-    {
-        $this->assertEquals($exists, $this->bag->has($key));
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testGet($key, $value, $expected)
-    {
-        $this->assertEquals($value, $this->bag->get($key));
-    }
-
-    public function testGetDefaults()
-    {
-        $this->assertNull($this->bag->get('user2.login'));
-        $this->assertEquals('default', $this->bag->get('user2.login', 'default'));
-    }
-
-    /**
-     * @dataProvider attributesProvider
-     */
-    public function testSet($key, $value, $expected)
-    {
-        $this->bag->set($key, $value);
-        $this->assertEquals($value, $this->bag->get($key));
-    }
-
-    public function testAll()
-    {
-        $this->assertEquals($this->array, $this->bag->all());
-
-        $this->bag->set('hello', 'fabien');
-        $array = $this->array;
-        $array['hello'] = 'fabien';
-        $this->assertEquals($array, $this->bag->all());
-    }
-
-    public function testReplace()
-    {
-        $array = array();
-        $array['name'] = 'jack';
-        $array['foo.bar'] = 'beep';
-        $this->bag->replace($array);
-        $this->assertEquals($array, $this->bag->all());
-        $this->assertNull($this->bag->get('hello'));
-        $this->assertNull($this->bag->get('always'));
-        $this->assertNull($this->bag->get('user.login'));
-    }
-
-    public function testRemove()
-    {
-        $this->assertEquals('world', $this->bag->get('hello'));
-        $this->bag->remove('hello');
-        $this->assertNull($this->bag->get('hello'));
-
-        $this->assertEquals('be happy', $this->bag->get('always'));
-        $this->bag->remove('always');
-        $this->assertNull($this->bag->get('always'));
-
-        $this->assertEquals('drak', $this->bag->get('user.login'));
-        $this->bag->remove('user.login');
-        $this->assertNull($this->bag->get('user.login'));
-    }
-
-    public function testClear()
-    {
-        $this->bag->clear();
-        $this->assertEquals(array(), $this->bag->all());
-    }
-
-    public function attributesProvider()
-    {
-        return array(
-            array('hello', 'world', true),
-            array('always', 'be happy', true),
-            array('user.login', 'drak', true),
-            array('csrf.token', array('a' => '1234', 'b' => '4321'), true),
-            array('csrf.token/a', '1234', true),
-            array('csrf.token/b', '4321', true),
-            array('category', array('fishing' => array('first' => 'cod', 'second' => 'sole')), true),
-            array('category/fishing', array('first' => 'cod', 'second' => 'sole'), true),
-            array('category/fishing/first', 'cod', true),
-            array('category/fishing/second', 'sole', true),
-            array('user2.login', null, false),
-            array('never', null, false),
-            array('bye', null, false),
-            array('bye/for/now', null, false),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php
deleted file mode 100644
index 5d44b78..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php
+++ /dev/null
@@ -1,155 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Flash;
-
-use Symfony\Component\HttpFoundation\Session\Flash\AutoExpireFlashBag as FlashBag;
-
-/**
- * AutoExpireFlashBagTest
- *
- * @author Drak <drak@zikula.org>
- */
-class AutoExpireFlashBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Symfony\Component\HttpFoundation\Session\Flash\AutoExpireFlashBag
-     */
-    private $bag;
-
-    /**
-     * @var array
-     */
-    protected $array = array();
-
-    protected function setUp()
-    {
-        parent::setUp();
-        $this->bag = new FlashBag();
-        $this->array = array('new' => array('notice' => array('A previous flash message')));
-        $this->bag->initialize($this->array);
-    }
-
-    public function tearDown()
-    {
-        $this->bag = null;
-        parent::tearDown();
-    }
-
-    public function testInitialize()
-    {
-        $bag = new FlashBag();
-        $array = array('new' => array('notice' => array('A previous flash message')));
-        $bag->initialize($array);
-        $this->assertEquals(array('A previous flash message'), $bag->peek('notice'));
-        $array = array('new' => array(
-                'notice' => array('Something else'),
-                'error' => array('a'),
-            ));
-        $bag->initialize($array);
-        $this->assertEquals(array('Something else'), $bag->peek('notice'));
-        $this->assertEquals(array('a'), $bag->peek('error'));
-    }
-
-    public function testGetStorageKey()
-    {
-        $this->assertEquals('_sf2_flashes', $this->bag->getStorageKey());
-        $attributeBag = new FlashBag('test');
-        $this->assertEquals('test', $attributeBag->getStorageKey());
-    }
-
-    public function testGetSetName()
-    {
-        $this->assertEquals('flashes', $this->bag->getName());
-        $this->bag->setName('foo');
-        $this->assertEquals('foo', $this->bag->getName());
-    }
-
-    public function testPeek()
-    {
-        $this->assertEquals(array(), $this->bag->peek('non_existing'));
-        $this->assertEquals(array('default'), $this->bag->peek('non_existing', array('default')));
-        $this->assertEquals(array('A previous flash message'), $this->bag->peek('notice'));
-        $this->assertEquals(array('A previous flash message'), $this->bag->peek('notice'));
-    }
-
-    public function testSet()
-    {
-        $this->bag->set('notice', 'Foo');
-        $this->assertEquals(array('A previous flash message'), $this->bag->peek('notice'));
-    }
-
-    public function testHas()
-    {
-        $this->assertFalse($this->bag->has('nothing'));
-        $this->assertTrue($this->bag->has('notice'));
-    }
-
-    public function testKeys()
-    {
-        $this->assertEquals(array('notice'), $this->bag->keys());
-    }
-
-    public function testPeekAll()
-    {
-        $array = array(
-            'new' => array(
-                'notice' => 'Foo',
-                'error' => 'Bar',
-            ),
-        );
-
-        $this->bag->initialize($array);
-        $this->assertEquals(array(
-            'notice' => 'Foo',
-            'error' => 'Bar',
-            ), $this->bag->peekAll()
-        );
-
-        $this->assertEquals(array(
-            'notice' => 'Foo',
-            'error' => 'Bar',
-            ), $this->bag->peekAll()
-        );
-    }
-
-    public function testGet()
-    {
-        $this->assertEquals(array(), $this->bag->get('non_existing'));
-        $this->assertEquals(array('default'), $this->bag->get('non_existing', array('default')));
-        $this->assertEquals(array('A previous flash message'), $this->bag->get('notice'));
-        $this->assertEquals(array(), $this->bag->get('notice'));
-    }
-
-    public function testSetAll()
-    {
-        $this->bag->setAll(array('a' => 'first', 'b' => 'second'));
-        $this->assertFalse($this->bag->has('a'));
-        $this->assertFalse($this->bag->has('b'));
-    }
-
-    public function testAll()
-    {
-        $this->bag->set('notice', 'Foo');
-        $this->bag->set('error', 'Bar');
-        $this->assertEquals(array(
-            'notice' => array('A previous flash message'),
-            ), $this->bag->all()
-        );
-
-        $this->assertEquals(array(), $this->bag->all());
-    }
-
-    public function testClear()
-    {
-        $this->assertEquals(array('notice' => array('A previous flash message')), $this->bag->clear());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php
deleted file mode 100644
index d7d12e5..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php
+++ /dev/null
@@ -1,168 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Flash;
-
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface;
-
-/**
- * FlashBagTest
- *
- * @author Drak <drak@zikula.org>
- */
-class FlashBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Symfony\Component\HttpFoundation\SessionFlash\FlashBagInterface
-     */
-    private $bag;
-
-    /**
-     * @var array
-     */
-    protected $array = array();
-
-    protected function setUp()
-    {
-        parent::setUp();
-        $this->bag = new FlashBag();
-        $this->array = array('notice' => array('A previous flash message'));
-        $this->bag->initialize($this->array);
-    }
-
-    public function tearDown()
-    {
-        $this->bag = null;
-        parent::tearDown();
-    }
-
-    public function testInitialize()
-    {
-        $bag = new FlashBag();
-        $bag->initialize($this->array);
-        $this->assertEquals($this->array, $bag->peekAll());
-        $array = array('should' => array('change'));
-        $bag->initialize($array);
-        $this->assertEquals($array, $bag->peekAll());
-    }
-
-    public function testGetStorageKey()
-    {
-        $this->assertEquals('_sf2_flashes', $this->bag->getStorageKey());
-        $attributeBag = new FlashBag('test');
-        $this->assertEquals('test', $attributeBag->getStorageKey());
-    }
-
-    public function testGetSetName()
-    {
-        $this->assertEquals('flashes', $this->bag->getName());
-        $this->bag->setName('foo');
-        $this->assertEquals('foo', $this->bag->getName());
-    }
-
-    public function testPeek()
-    {
-        $this->assertEquals(array(), $this->bag->peek('non_existing'));
-        $this->assertEquals(array('default'), $this->bag->peek('not_existing', array('default')));
-        $this->assertEquals(array('A previous flash message'), $this->bag->peek('notice'));
-        $this->assertEquals(array('A previous flash message'), $this->bag->peek('notice'));
-    }
-
-    public function testGet()
-    {
-        $this->assertEquals(array(), $this->bag->get('non_existing'));
-        $this->assertEquals(array('default'), $this->bag->get('not_existing', array('default')));
-        $this->assertEquals(array('A previous flash message'), $this->bag->get('notice'));
-        $this->assertEquals(array(), $this->bag->get('notice'));
-    }
-
-    public function testAll()
-    {
-        $this->bag->set('notice', 'Foo');
-        $this->bag->set('error', 'Bar');
-        $this->assertEquals(array(
-            'notice' => array('Foo'),
-            'error' => array('Bar')), $this->bag->all()
-        );
-
-        $this->assertEquals(array(), $this->bag->all());
-    }
-
-    public function testSet()
-    {
-        $this->bag->set('notice', 'Foo');
-        $this->bag->set('notice', 'Bar');
-        $this->assertEquals(array('Bar'), $this->bag->peek('notice'));
-    }
-
-    public function testHas()
-    {
-        $this->assertFalse($this->bag->has('nothing'));
-        $this->assertTrue($this->bag->has('notice'));
-    }
-
-    public function testKeys()
-    {
-        $this->assertEquals(array('notice'), $this->bag->keys());
-    }
-
-    public function testPeekAll()
-    {
-        $this->bag->set('notice', 'Foo');
-        $this->bag->set('error', 'Bar');
-        $this->assertEquals(array(
-            'notice' => array('Foo'),
-            'error' => array('Bar'),
-            ), $this->bag->peekAll()
-        );
-        $this->assertTrue($this->bag->has('notice'));
-        $this->assertTrue($this->bag->has('error'));
-        $this->assertEquals(array(
-            'notice' => array('Foo'),
-            'error' => array('Bar'),
-            ), $this->bag->peekAll()
-        );
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Session\Flash\FlashBag::count
-     */
-    public function testCount()
-    {
-        $flashes = array('hello' => 'world', 'beep' => 'boop', 'notice' => 'nope');
-        foreach ($flashes as $key => $val) {
-            $this->bag->set($key, $val);
-        }
-
-        $this->assertEquals(count($flashes), count($this->bag));
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Session\Flash\FlashBag::getIterator
-     */
-    public function testGetIterator()
-    {
-        $flashes = array('hello' => 'world', 'beep' => 'boop', 'notice' => 'nope');
-        foreach ($flashes as $key => $val) {
-            $this->bag->set($key, $val);
-        }
-
-        $i = 0;
-        foreach ($this->bag as $key => $val) {
-            $this->assertEquals(array($flashes[$key]), $val);
-            $i++;
-        }
-
-        $this->assertEquals(count($flashes), $i);
-        $this->assertEquals(0, count($this->bag));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php
deleted file mode 100644
index 2c5b70e..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php
+++ /dev/null
@@ -1,333 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session;
-
-use Symfony\Component\HttpFoundation\Session\Session;
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
-
-/**
- * SessionTest
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Robert Schönthal <seroscho@googlemail.com>
- * @author Drak <drak@zikula.org>
- */
-class SessionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Symfony\Component\HttpFoundation\Session\Storage\SessionStorageInterface
-     */
-    protected $storage;
-
-    /**
-     * @var \Symfony\Component\HttpFoundation\Session\SessionInterface
-     */
-    protected $session;
-
-    protected function setUp()
-    {
-        $this->storage = new MockArraySessionStorage();
-        $this->session = new Session($this->storage, new AttributeBag(), new FlashBag());
-    }
-
-    protected function tearDown()
-    {
-        $this->storage = null;
-        $this->session = null;
-    }
-
-    public function deprecationErrorHandler($errorNumber, $message, $file, $line, $context)
-    {
-        if ($errorNumber & E_USER_DEPRECATED) {
-            return true;
-        }
-
-        return \PHPUnit_Util_ErrorHandler::handleError($errorNumber, $message, $file, $line);
-    }
-
-    public function testStart()
-    {
-        $this->assertEquals('', $this->session->getId());
-        $this->assertTrue($this->session->start());
-        $this->assertNotEquals('', $this->session->getId());
-    }
-
-    public function testIsStarted()
-    {
-        $this->assertFalse($this->session->isStarted());
-        $this->session->start();
-        $this->assertTrue($this->session->isStarted());
-    }
-
-    public function testSetId()
-    {
-        $this->assertEquals('', $this->session->getId());
-        $this->session->setId('0123456789abcdef');
-        $this->session->start();
-        $this->assertEquals('0123456789abcdef', $this->session->getId());
-    }
-
-    public function testSetName()
-    {
-        $this->assertEquals('MOCKSESSID', $this->session->getName());
-        $this->session->setName('session.test.com');
-        $this->session->start();
-        $this->assertEquals('session.test.com', $this->session->getName());
-    }
-
-    public function testGet()
-    {
-        // tests defaults
-        $this->assertNull($this->session->get('foo'));
-        $this->assertEquals(1, $this->session->get('foo', 1));
-    }
-
-    /**
-     * @dataProvider setProvider
-     */
-    public function testSet($key, $value)
-    {
-        $this->session->set($key, $value);
-        $this->assertEquals($value, $this->session->get($key));
-    }
-
-    /**
-     * @dataProvider setProvider
-     */
-    public function testHas($key, $value)
-    {
-        $this->session->set($key, $value);
-        $this->assertTrue($this->session->has($key));
-        $this->assertFalse($this->session->has($key.'non_value'));
-    }
-
-    public function testReplace()
-    {
-        $this->session->replace(array('happiness' => 'be good', 'symfony' => 'awesome'));
-        $this->assertEquals(array('happiness' => 'be good', 'symfony' => 'awesome'), $this->session->all());
-        $this->session->replace(array());
-        $this->assertEquals(array(), $this->session->all());
-    }
-
-    /**
-     * @dataProvider setProvider
-     */
-    public function testAll($key, $value, $result)
-    {
-        $this->session->set($key, $value);
-        $this->assertEquals($result, $this->session->all());
-    }
-
-    /**
-     * @dataProvider setProvider
-     */
-    public function testClear($key, $value)
-    {
-        $this->session->set('hi', 'fabien');
-        $this->session->set($key, $value);
-        $this->session->clear();
-        $this->assertEquals(array(), $this->session->all());
-    }
-
-    public function setProvider()
-    {
-        return array(
-            array('foo', 'bar', array('foo' => 'bar')),
-            array('foo.bar', 'too much beer', array('foo.bar' => 'too much beer')),
-            array('great', 'symfony2 is great', array('great' => 'symfony2 is great')),
-        );
-    }
-
-    /**
-     * @dataProvider setProvider
-     */
-    public function testRemove($key, $value)
-    {
-        $this->session->set('hi.world', 'have a nice day');
-        $this->session->set($key, $value);
-        $this->session->remove($key);
-        $this->assertEquals(array('hi.world' => 'have a nice day'), $this->session->all());
-    }
-
-    public function testInvalidate()
-    {
-        $this->session->set('invalidate', 123);
-        $this->session->invalidate();
-        $this->assertEquals(array(), $this->session->all());
-    }
-
-    public function testMigrate()
-    {
-        $this->session->set('migrate', 321);
-        $this->session->migrate();
-        $this->assertEquals(321, $this->session->get('migrate'));
-    }
-
-    public function testMigrateDestroy()
-    {
-        $this->session->set('migrate', 333);
-        $this->session->migrate(true);
-        $this->assertEquals(333, $this->session->get('migrate'));
-    }
-
-    public function testSave()
-    {
-        $this->session->start();
-        $this->session->save();
-    }
-
-    public function testGetId()
-    {
-        $this->assertEquals('', $this->session->getId());
-        $this->session->start();
-        $this->assertNotEquals('', $this->session->getId());
-    }
-
-    public function testGetFlashBag()
-    {
-        $this->assertInstanceOf('Symfony\\Component\\HttpFoundation\\Session\\Flash\\FlashBagInterface', $this->session->getFlashBag());
-    }
-
-    // deprecated since 2.1, will be removed from 2.3
-
-    public function testGetSetFlashes()
-    {
-        set_error_handler(array($this, "deprecationErrorHandler"));
-
-        $array = array('notice' => 'hello', 'error' => 'none');
-        $this->assertEquals(array(), $this->session->getFlashes());
-        $this->session->setFlashes($array);
-        $this->assertEquals($array, $this->session->getFlashes());
-        $this->assertEquals(array(), $this->session->getFlashes());
-        $this->session->getFlashBag()->add('notice', 'foo');
-
-        // test that BC works by only retrieving the first added.
-        $this->session->getFlashBag()->add('notice', 'foo2');
-        $this->assertEquals(array('notice' => 'foo'), $this->session->getFlashes());
-
-        restore_error_handler();
-    }
-
-    public function testGetFlashesWithArray()
-    {
-        set_error_handler(array($this, "deprecationErrorHandler"));
-
-        $array = array('notice' => 'hello', 'error' => 'none');
-        $this->assertEquals(array(), $this->session->getFlashes());
-        $this->session->setFlash('foo', $array);
-        $this->assertEquals(array('foo' => $array), $this->session->getFlashes());
-        $this->assertEquals(array(), $this->session->getFlashes());
-
-        $array = array('hello', 'foo');
-        $this->assertEquals(array(), $this->session->getFlashes());
-        $this->session->setFlash('foo', $array);
-        $this->assertEquals(array('foo' => 'hello'), $this->session->getFlashes());
-        $this->assertEquals(array(), $this->session->getFlashes());
-
-        restore_error_handler();
-    }
-
-    public function testGetSetFlash()
-    {
-        set_error_handler(array($this, "deprecationErrorHandler"));
-
-        $this->assertNull($this->session->getFlash('notice'));
-        $this->assertEquals('default', $this->session->getFlash('notice', 'default'));
-        $this->session->getFlashBag()->add('notice', 'foo');
-        $this->session->getFlashBag()->add('notice', 'foo2');
-
-        // test that BC works by only retrieving the first added.
-        $this->assertEquals('foo', $this->session->getFlash('notice'));
-        $this->assertNull($this->session->getFlash('notice'));
-
-        restore_error_handler();
-    }
-
-    public function testHasFlash()
-    {
-        set_error_handler(array($this, "deprecationErrorHandler"));
-
-        $this->assertFalse($this->session->hasFlash('notice'));
-        $this->session->setFlash('notice', 'foo');
-        $this->assertTrue($this->session->hasFlash('notice'));
-
-        restore_error_handler();
-    }
-
-    public function testRemoveFlash()
-    {
-        set_error_handler(array($this, "deprecationErrorHandler"));
-
-        $this->session->setFlash('notice', 'foo');
-        $this->session->setFlash('error', 'bar');
-        $this->assertTrue($this->session->hasFlash('notice'));
-        $this->session->removeFlash('error');
-        $this->assertTrue($this->session->hasFlash('notice'));
-        $this->assertFalse($this->session->hasFlash('error'));
-
-        restore_error_handler();
-    }
-
-    public function testClearFlashes()
-    {
-        set_error_handler(array($this, "deprecationErrorHandler"));
-
-        $this->assertFalse($this->session->hasFlash('notice'));
-        $this->assertFalse($this->session->hasFlash('error'));
-        $this->session->setFlash('notice', 'foo');
-        $this->session->setFlash('error', 'bar');
-        $this->assertTrue($this->session->hasFlash('notice'));
-        $this->assertTrue($this->session->hasFlash('error'));
-        $this->session->clearFlashes();
-        $this->assertFalse($this->session->hasFlash('notice'));
-        $this->assertFalse($this->session->hasFlash('error'));
-
-        restore_error_handler();
-    }
-
-    /**
-     * @covers Symfony\Component\HttpFoundation\Session\Session::getIterator
-     */
-    public function testGetIterator()
-    {
-        $attributes = array('hello' => 'world', 'symfony2' => 'rocks');
-        foreach ($attributes as $key => $val) {
-            $this->session->set($key, $val);
-        }
-
-        $i = 0;
-        foreach ($this->session as $key => $val) {
-            $this->assertEquals($attributes[$key], $val);
-            $i++;
-        }
-
-        $this->assertEquals(count($attributes), $i);
-    }
-
-    /**
-     * @covers \Symfony\Component\HttpFoundation\Session\Session::count
-     */
-    public function testGetCount()
-    {
-        $this->session->set('hello', 'world');
-        $this->session->set('symfony2', 'rocks');
-
-        $this->assertEquals(2, count($this->session));
-    }
-
-    public function testGetMeta()
-    {
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\MetadataBag', $this->session->getMetadataBag());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php
deleted file mode 100644
index da0440d..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php
+++ /dev/null
@@ -1,124 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcacheSessionHandler;
-
-class MemcacheSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    const PREFIX = 'prefix_';
-    const TTL = 1000;
-    /**
-     * @var MemcacheSessionHandler
-     */
-    protected $storage;
-
-    protected $memcache;
-
-    protected function setUp()
-    {
-        if (!class_exists('Memcache')) {
-            $this->markTestSkipped('Skipped tests Memcache class is not present');
-        }
-
-        $this->memcache = $this->getMock('Memcache');
-        $this->storage = new MemcacheSessionHandler(
-            $this->memcache,
-            array('prefix' => self::PREFIX, 'expiretime' => self::TTL)
-        );
-    }
-
-    protected function tearDown()
-    {
-        $this->memcache = null;
-        $this->storage = null;
-    }
-
-    public function testOpenSession()
-    {
-        $this->assertTrue($this->storage->open('', ''));
-    }
-
-    public function testCloseSession()
-    {
-        $this->memcache
-            ->expects($this->once())
-            ->method('close')
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($this->storage->close());
-    }
-
-    public function testReadSession()
-    {
-        $this->memcache
-            ->expects($this->once())
-            ->method('get')
-            ->with(self::PREFIX.'id')
-        ;
-
-        $this->assertEquals('', $this->storage->read('id'));
-    }
-
-    public function testWriteSession()
-    {
-        $this->memcache
-            ->expects($this->once())
-            ->method('set')
-            ->with(self::PREFIX.'id', 'data', 0, $this->equalTo(time() + self::TTL, 2))
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($this->storage->write('id', 'data'));
-    }
-
-    public function testDestroySession()
-    {
-        $this->memcache
-            ->expects($this->once())
-            ->method('delete')
-            ->with(self::PREFIX.'id')
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($this->storage->destroy('id'));
-    }
-
-    public function testGcSession()
-    {
-        $this->assertTrue($this->storage->gc(123));
-    }
-
-    /**
-     * @dataProvider getOptionFixtures
-     */
-    public function testSupportedOptions($options, $supported)
-    {
-        try {
-            new MemcacheSessionHandler($this->memcache, $options);
-            $this->assertTrue($supported);
-        } catch (\InvalidArgumentException $e) {
-            $this->assertFalse($supported);
-        }
-    }
-
-    public function getOptionFixtures()
-    {
-        return array(
-            array(array('prefix' => 'session'), true),
-            array(array('expiretime' => 100), true),
-            array(array('prefix' => 'session', 'expiretime' => 200), true),
-            array(array('expiretime' => 100, 'foo' => 'bar'), false),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php
deleted file mode 100644
index 6f158cd..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcachedSessionHandler;
-
-class MemcacheddSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    const PREFIX = 'prefix_';
-    const TTL = 1000;
-
-    /**
-     * @var MemcachedSessionHandler
-     */
-    protected $storage;
-
-    protected $memcached;
-
-    protected function setUp()
-    {
-        if (!class_exists('Memcached')) {
-            $this->markTestSkipped('Skipped tests Memcache class is not present');
-        }
-
-        $this->memcached = $this->getMock('Memcached');
-        $this->storage = new MemcachedSessionHandler(
-            $this->memcached,
-            array('prefix' => self::PREFIX, 'expiretime' => self::TTL)
-        );
-    }
-
-    protected function tearDown()
-    {
-        $this->memcached = null;
-        $this->storage = null;
-    }
-
-    public function testOpenSession()
-    {
-        $this->assertTrue($this->storage->open('', ''));
-    }
-
-    public function testCloseSession()
-    {
-        $this->assertTrue($this->storage->close());
-    }
-
-    public function testReadSession()
-    {
-        $this->memcached
-            ->expects($this->once())
-            ->method('get')
-            ->with(self::PREFIX.'id')
-        ;
-
-        $this->assertEquals('', $this->storage->read('id'));
-    }
-
-    public function testWriteSession()
-    {
-        $this->memcached
-            ->expects($this->once())
-            ->method('set')
-            ->with(self::PREFIX.'id', 'data', $this->equalTo(time() + self::TTL, 2))
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($this->storage->write('id', 'data'));
-    }
-
-    public function testDestroySession()
-    {
-        $this->memcached
-            ->expects($this->once())
-            ->method('delete')
-            ->with(self::PREFIX.'id')
-            ->will($this->returnValue(true))
-        ;
-
-        $this->assertTrue($this->storage->destroy('id'));
-    }
-
-    public function testGcSession()
-    {
-        $this->assertTrue($this->storage->gc(123));
-    }
-
-    /**
-     * @dataProvider getOptionFixtures
-     */
-    public function testSupportedOptions($options, $supported)
-    {
-        try {
-            new MemcachedSessionHandler($this->memcached, $options);
-            $this->assertTrue($supported);
-        } catch (\InvalidArgumentException $e) {
-            $this->assertFalse($supported);
-        }
-    }
-
-    public function getOptionFixtures()
-    {
-        return array(
-            array(array('prefix' => 'session'), true),
-            array(array('expiretime' => 100), true),
-            array(array('prefix' => 'session', 'expiretime' => 200), true),
-            array(array('expiretime' => 100, 'foo' => 'bar'), false),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
deleted file mode 100644
index 1cfd117..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\MongoDbSessionHandler;
-
-/**
- * @author Markus Bachmann <markus.bachmann@bachi.biz>
- */
-class MongoDbSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    private $mongo;
-    private $storage;
-    public $options;
-
-    protected function setUp()
-    {
-        if (!extension_loaded('mongo')) {
-            $this->markTestSkipped('MongoDbSessionHandler requires the PHP "mongo" extension.');
-        }
-
-        $mongoClass = (version_compare(phpversion('mongo'), '1.3.0', '<')) ? 'Mongo' : 'MongoClient';
-
-        $this->mongo = $this->getMockBuilder($mongoClass)
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->options = array(
-            'id_field'   => '_id',
-            'data_field' => 'data',
-            'time_field' => 'time',
-            'database' => 'sf2-test',
-            'collection' => 'session-test'
-        );
-
-        $this->storage = new MongoDbSessionHandler($this->mongo, $this->options);
-    }
-
-    /**
-     * @expectedException InvalidArgumentException
-     */
-    public function testConstructorShouldThrowExceptionForInvalidMongo()
-    {
-        new MongoDbSessionHandler(new \stdClass(), $this->options);
-    }
-
-    /**
-     * @expectedException InvalidArgumentException
-     */
-    public function testConstructorShouldThrowExceptionForMissingOptions()
-    {
-        new MongoDbSessionHandler($this->mongo, array());
-    }
-
-    public function testOpenMethodAlwaysReturnTrue()
-    {
-        $this->assertTrue($this->storage->open('test', 'test'), 'The "open" method should always return true');
-    }
-
-    public function testCloseMethodAlwaysReturnTrue()
-    {
-        $this->assertTrue($this->storage->close(), 'The "close" method should always return true');
-    }
-
-    public function testWrite()
-    {
-        $collection = $this->getMockBuilder('MongoCollection')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->mongo->expects($this->once())
-            ->method('selectCollection')
-            ->with($this->options['database'], $this->options['collection'])
-            ->will($this->returnValue($collection));
-
-        $that = $this;
-        $data = array();
-
-        $collection->expects($this->once())
-            ->method('update')
-            ->will($this->returnCallback(function($criteria, $updateData, $options) use ($that, &$data) {
-                $that->assertEquals(array($that->options['id_field'] => 'foo'), $criteria);
-                $that->assertEquals(array('upsert' => true, 'multiple' => false), $options);
-
-                $data = $updateData['$set'];
-            }));
-
-        $this->assertTrue($this->storage->write('foo', 'bar'));
-
-        $this->assertEquals('bar', $data[$this->options['data_field']]->bin);
-        $that->assertInstanceOf('MongoDate', $data[$this->options['time_field']]);
-    }
-
-    public function testReplaceSessionData()
-    {
-        $collection = $this->getMockBuilder('MongoCollection')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->mongo->expects($this->once())
-            ->method('selectCollection')
-            ->with($this->options['database'], $this->options['collection'])
-            ->will($this->returnValue($collection));
-
-        $data = array();
-
-        $collection->expects($this->exactly(2))
-            ->method('update')
-            ->will($this->returnCallback(function($criteria, $updateData, $options) use (&$data) {
-                $data = $updateData;
-            }));
-
-        $this->storage->write('foo', 'bar');
-        $this->storage->write('foo', 'foobar');
-
-        $this->assertEquals('foobar', $data['$set'][$this->options['data_field']]->bin);
-    }
-
-    public function testDestroy()
-    {
-        $collection = $this->getMockBuilder('MongoCollection')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->mongo->expects($this->once())
-            ->method('selectCollection')
-            ->with($this->options['database'], $this->options['collection'])
-            ->will($this->returnValue($collection));
-
-        $collection->expects($this->once())
-            ->method('remove')
-            ->with(array($this->options['id_field'] => 'foo'));
-
-        $this->assertTrue($this->storage->destroy('foo'));
-    }
-
-    public function testGc()
-    {
-        $collection = $this->getMockBuilder('MongoCollection')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->mongo->expects($this->once())
-            ->method('selectCollection')
-            ->with($this->options['database'], $this->options['collection'])
-            ->will($this->returnValue($collection));
-
-        $that = $this;
-
-        $collection->expects($this->once())
-            ->method('remove')
-            ->will($this->returnCallback(function($criteria) use ($that) {
-                $that->assertInstanceOf('MongoDate', $criteria[$that->options['time_field']]['$lt']);
-                $that->assertGreaterThanOrEqual(time() - -1, $criteria[$that->options['time_field']]['$lt']->sec);
-            }));
-
-        $this->assertTrue($this->storage->gc(-1));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
deleted file mode 100644
index de2c493..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler;
-use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
-
-/**
- * Test class for NativeFileSessionHandler.
- *
- * @author Drak <drak@zikula.org>
- *
- * @runTestsInSeparateProcesses
- */
-class NativeFileSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    public function test__Construct()
-    {
-        $storage = new NativeSessionStorage(array('name' => 'TESTING'), new NativeFileSessionHandler(sys_get_temp_dir()));
-
-        if (version_compare(phpversion(), '5.4.0', '<')) {
-            $this->assertEquals('files', $storage->getSaveHandler()->getSaveHandlerName());
-            $this->assertEquals('files', ini_get('session.save_handler'));
-        } else {
-            $this->assertEquals('files', $storage->getSaveHandler()->getSaveHandlerName());
-            $this->assertEquals('user', ini_get('session.save_handler'));
-        }
-
-        $this->assertEquals(sys_get_temp_dir(), ini_get('session.save_path'));
-        $this->assertEquals('TESTING', ini_get('session.name'));
-    }
-
-    /**
-     * @dataProvider savePathDataProvider
-     */
-    public function test__ConstructSavePath($savePath, $expectedSavePath, $path)
-    {
-        $handler = new NativeFileSessionHandler($savePath);
-        $this->assertEquals($expectedSavePath, ini_get('session.save_path'));
-        $this->assertTrue(is_dir(realpath($path)));
-
-        rmdir($path);
-    }
-
-    public function savePathDataProvider()
-    {
-        $base = sys_get_temp_dir();
-
-        return array(
-            array("$base/foo", "$base/foo", "$base/foo"),
-            array("5;$base/foo", "5;$base/foo", "$base/foo"),
-            array("5;0600;$base/foo", "5;0600;$base/foo", "$base/foo"),
-        );
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function test__ConstructException()
-    {
-        $handler = new NativeFileSessionHandler('something;invalid;with;too-many-args');
-    }
-
-    public function testConstructDefault()
-    {
-        $path = ini_get('session.save_path');
-        $storage = new NativeSessionStorage(array('name' => 'TESTING'), new NativeFileSessionHandler());
-
-        $this->assertEquals($path, ini_get('session.save_path'));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php
deleted file mode 100644
index 7880615..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeSessionHandler;
-
-/**
- * Test class for NativeSessionHandler.
- *
- * @author Drak <drak@zikula.org>
- *
- * @runTestsInSeparateProcesses
- */
-class NativeSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstruct()
-    {
-        $handler = new NativeSessionHandler();
-
-        // note for PHPUnit optimisers - the use of assertTrue/False
-        // here is deliberate since the tests do not require the classes to exist - drak
-        if (version_compare(phpversion(), '5.4.0', '<')) {
-            $this->assertFalse($handler instanceof \SessionHandler);
-            $this->assertTrue($handler instanceof NativeSessionHandler);
-        } else {
-            $this->assertTrue($handler instanceof \SessionHandler);
-            $this->assertTrue($handler instanceof NativeSessionHandler);
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php
deleted file mode 100644
index 45a47ce..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NullSessionHandler;
-use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
-use Symfony\Component\HttpFoundation\Session\Session;
-
-/**
- * Test class for NullSessionHandler.
- *
- * @author Drak <drak@zikula.org>
- *
- * @runTestsInSeparateProcesses
- */
-class NullSessionStorageTest extends \PHPUnit_Framework_TestCase
-{
-    public function testSaveHandlers()
-    {
-        $storage = $this->getStorage();
-        $this->assertEquals('user', ini_get('session.save_handler'));
-    }
-
-    public function testSession()
-    {
-        session_id('nullsessionstorage');
-        $storage = $this->getStorage();
-        $session = new Session($storage);
-        $this->assertNull($session->get('something'));
-        $session->set('something', 'unique');
-        $this->assertEquals('unique', $session->get('something'));
-    }
-
-    public function testNothingIsPersisted()
-    {
-        session_id('nullsessionstorage');
-        $storage = $this->getStorage();
-        $session = new Session($storage);
-        $session->start();
-        $this->assertEquals('nullsessionstorage', $session->getId());
-        $this->assertNull($session->get('something'));
-    }
-
-    public function getStorage()
-    {
-        return new NativeSessionStorage(array(), new NullSessionHandler());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
deleted file mode 100644
index ff1565a..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Handler;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler;
-
-class PdoSessionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    private $pdo;
-
-    protected function setUp()
-    {
-        if (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers())) {
-            $this->markTestSkipped('This test requires SQLite support in your environment');
-        }
-
-        $this->pdo = new \PDO("sqlite::memory:");
-        $sql = "CREATE TABLE sessions (sess_id VARCHAR(255) PRIMARY KEY, sess_data TEXT, sess_time INTEGER)";
-        $this->pdo->exec($sql);
-    }
-
-    public function testMultipleInstances()
-    {
-        $storage1 = new PdoSessionHandler($this->pdo, array('db_table' => 'sessions'), array());
-        $storage1->write('foo', 'bar');
-
-        $storage2 = new PdoSessionHandler($this->pdo, array('db_table' => 'sessions'), array());
-        $this->assertEquals('bar', $storage2->read('foo'), 'values persist between instances');
-    }
-
-    public function testSessionDestroy()
-    {
-        $storage = new PdoSessionHandler($this->pdo, array('db_table' => 'sessions'), array());
-        $storage->write('foo', 'bar');
-        $this->assertEquals(1, count($this->pdo->query('SELECT * FROM sessions')->fetchAll()));
-
-        $storage->destroy('foo');
-
-        $this->assertEquals(0, count($this->pdo->query('SELECT * FROM sessions')->fetchAll()));
-    }
-
-    public function testSessionGC()
-    {
-        $storage = new PdoSessionHandler($this->pdo, array('db_table' => 'sessions'), array());
-
-        $storage->write('foo', 'bar');
-        $storage->write('baz', 'bar');
-
-        $this->assertEquals(2, count($this->pdo->query('SELECT * FROM sessions')->fetchAll()));
-
-        $storage->gc(-1);
-        $this->assertEquals(0, count($this->pdo->query('SELECT * FROM sessions')->fetchAll()));
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php
deleted file mode 100644
index ef70281..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\Storage\MetadataBag;
-
-/**
- * Test class for MetadataBag.
- */
-class MetadataBagTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var MetadataBag
-     */
-    protected $bag;
-
-    /**
-     * @var array
-     */
-    protected $array = array();
-
-    protected function setUp()
-    {
-        $this->bag = new MetadataBag();
-        $this->array = array(MetadataBag::CREATED => 1234567, MetadataBag::UPDATED => 12345678, MetadataBag::LIFETIME => 0);
-        $this->bag->initialize($this->array);
-    }
-
-    protected function tearDown()
-    {
-        $this->array = array();
-        $this->bag = null;
-    }
-
-    public function testInitialize()
-    {
-        $p = new \ReflectionProperty('Symfony\Component\HttpFoundation\Session\Storage\MetadataBag', 'meta');
-        $p->setAccessible(true);
-
-        $bag1 = new MetadataBag();
-        $array = array();
-        $bag1->initialize($array);
-        $this->assertGreaterThanOrEqual(time(), $bag1->getCreated());
-        $this->assertEquals($bag1->getCreated(), $bag1->getLastUsed());
-
-        sleep(1);
-        $bag2 = new MetadataBag();
-        $array2 = $p->getValue($bag1);
-        $bag2->initialize($array2);
-        $this->assertEquals($bag1->getCreated(), $bag2->getCreated());
-        $this->assertEquals($bag1->getLastUsed(), $bag2->getLastUsed());
-        $this->assertEquals($bag2->getCreated(), $bag2->getLastUsed());
-
-        sleep(1);
-        $bag3 = new MetadataBag();
-        $array3 = $p->getValue($bag2);
-        $bag3->initialize($array3);
-        $this->assertEquals($bag1->getCreated(), $bag3->getCreated());
-        $this->assertGreaterThan($bag2->getLastUsed(), $bag3->getLastUsed());
-        $this->assertNotEquals($bag3->getCreated(), $bag3->getLastUsed());
-    }
-
-    public function testGetSetName()
-    {
-        $this->assertEquals('__metadata', $this->bag->getName());
-        $this->bag->setName('foo');
-        $this->assertEquals('foo', $this->bag->getName());
-
-    }
-
-    public function testGetStorageKey()
-    {
-        $this->assertEquals('_sf2_meta', $this->bag->getStorageKey());
-    }
-
-    public function testGetLifetime()
-    {
-        $bag = new MetadataBag();
-        $array = array(MetadataBag::CREATED => 1234567, MetadataBag::UPDATED => 12345678, MetadataBag::LIFETIME => 1000);
-        $bag->initialize($array);
-        $this->assertEquals(1000, $bag->getLifetime());
-    }
-
-    public function testGetCreated()
-    {
-        $this->assertEquals(1234567, $this->bag->getCreated());
-    }
-
-    public function testGetLastUsed()
-    {
-        $this->assertLessThanOrEqual(time(), $this->bag->getLastUsed());
-    }
-
-    public function testClear()
-    {
-        $this->bag->clear();
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php
deleted file mode 100644
index 2a6f6bb..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
-
-/**
- * Test class for MockArraySessionStorage.
- *
- * @author Drak <drak@zikula.org>
- */
-class MockArraySessionStorageTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var MockArraySessionStorage
-     */
-    private $storage;
-
-    /**
-     * @var AttributeBag
-     */
-    private $attributes;
-
-    /**
-     * @var FlashBag
-     */
-    private $flashes;
-
-    private $data;
-
-    protected function setUp()
-    {
-        $this->attributes = new AttributeBag();
-        $this->flashes = new FlashBag();
-
-        $this->data = array(
-            $this->attributes->getStorageKey() => array('foo' => 'bar'),
-            $this->flashes->getStorageKey() => array('notice' => 'hello'),
-            );
-
-        $this->storage = new MockArraySessionStorage();
-        $this->storage->registerBag($this->flashes);
-        $this->storage->registerBag($this->attributes);
-        $this->storage->setSessionData($this->data);
-    }
-
-    protected function tearDown()
-    {
-        $this->data = null;
-        $this->flashes = null;
-        $this->attributes = null;
-        $this->storage = null;
-    }
-
-    public function testStart()
-    {
-        $this->assertEquals('', $this->storage->getId());
-        $this->storage->start();
-        $id = $this->storage->getId();
-        $this->assertNotEquals('', $id);
-        $this->storage->start();
-        $this->assertEquals($id, $this->storage->getId());
-    }
-
-    public function testRegenerate()
-    {
-        $this->storage->start();
-        $id = $this->storage->getId();
-        $this->storage->regenerate();
-        $this->assertNotEquals($id, $this->storage->getId());
-        $this->assertEquals(array('foo' => 'bar'), $this->storage->getBag('attributes')->all());
-        $this->assertEquals(array('notice' => 'hello'), $this->storage->getBag('flashes')->peekAll());
-
-        $id = $this->storage->getId();
-        $this->storage->regenerate(true);
-        $this->assertNotEquals($id, $this->storage->getId());
-        $this->assertEquals(array('foo' => 'bar'), $this->storage->getBag('attributes')->all());
-        $this->assertEquals(array('notice' => 'hello'), $this->storage->getBag('flashes')->peekAll());
-    }
-
-    public function testGetId()
-    {
-        $this->assertEquals('', $this->storage->getId());
-        $this->storage->start();
-        $this->assertNotEquals('', $this->storage->getId());
-    }
-
-    /**
-     * @expectedException RuntimeException
-     */
-    public function testUnstartedSave()
-    {
-        $this->storage->save();
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php
deleted file mode 100644
index d42c62a..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\Storage\MockFileSessionStorage;
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-
-/**
- * Test class for MockFileSessionStorage.
- *
- * @author Drak <drak@zikula.org>
- */
-class MockFileSessionStorageTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var string
-     */
-    private $sessionDir;
-
-    /**
-     * @var FileMockSessionStorage
-     */
-    protected $storage;
-
-    protected function setUp()
-    {
-        $this->sessionDir = sys_get_temp_dir().'/sf2test';
-        $this->storage = $this->getStorage();
-    }
-
-    protected function tearDown()
-    {
-        $this->sessionDir = null;
-        $this->storage = null;
-        array_map('unlink', glob($this->sessionDir.'/*.session'));
-        if (is_dir($this->sessionDir)) {
-            rmdir($this->sessionDir);
-        }
-    }
-
-    public function testStart()
-    {
-        $this->assertEquals('', $this->storage->getId());
-        $this->assertTrue($this->storage->start());
-        $id = $this->storage->getId();
-        $this->assertNotEquals('', $this->storage->getId());
-        $this->assertTrue($this->storage->start());
-        $this->assertEquals($id, $this->storage->getId());
-    }
-
-    public function testRegenerate()
-    {
-        $this->storage->start();
-        $this->storage->getBag('attributes')->set('regenerate', 1234);
-        $this->storage->regenerate();
-        $this->assertEquals(1234, $this->storage->getBag('attributes')->get('regenerate'));
-        $this->storage->regenerate(true);
-        $this->assertEquals(1234, $this->storage->getBag('attributes')->get('regenerate'));
-    }
-
-    public function testGetId()
-    {
-        $this->assertEquals('', $this->storage->getId());
-        $this->storage->start();
-        $this->assertNotEquals('', $this->storage->getId());
-    }
-
-    public function testSave()
-    {
-        $this->storage->start();
-        $id = $this->storage->getId();
-        $this->assertNotEquals('108', $this->storage->getBag('attributes')->get('new'));
-        $this->assertFalse($this->storage->getBag('flashes')->has('newkey'));
-        $this->storage->getBag('attributes')->set('new', '108');
-        $this->storage->getBag('flashes')->set('newkey', 'test');
-        $this->storage->save();
-
-        $storage = $this->getStorage();
-        $storage->setId($id);
-        $storage->start();
-        $this->assertEquals('108', $storage->getBag('attributes')->get('new'));
-        $this->assertTrue($storage->getBag('flashes')->has('newkey'));
-        $this->assertEquals(array('test'), $storage->getBag('flashes')->peek('newkey'));
-    }
-
-    public function testMultipleInstances()
-    {
-        $storage1 = $this->getStorage();
-        $storage1->start();
-        $storage1->getBag('attributes')->set('foo', 'bar');
-        $storage1->save();
-
-        $storage2 = $this->getStorage();
-        $storage2->setId($storage1->getId());
-        $storage2->start();
-        $this->assertEquals('bar', $storage2->getBag('attributes')->get('foo'), 'values persist between instances');
-    }
-
-    /**
-     * @expectedException RuntimeException
-     */
-    public function testSaveWithoutStart()
-    {
-        $storage1 = $this->getStorage();
-        $storage1->save();
-    }
-
-    private function getStorage()
-    {
-        $storage = new MockFileSessionStorage($this->sessionDir);
-        $storage->registerBag(new FlashBag());
-        $storage->registerBag(new AttributeBag());
-
-        return $storage;
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php
deleted file mode 100644
index b99941a..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php
+++ /dev/null
@@ -1,157 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage;
-
-use Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage;
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler;
-use Symfony\Component\HttpFoundation\Session\Storage\Handler\NullSessionHandler;
-use Symfony\Component\HttpFoundation\Session\Flash\FlashBag;
-use Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag;
-
-/**
- * Test class for NativeSessionStorage.
- *
- * @author Drak <drak@zikula.org>
- *
- * These tests require separate processes.
- *
- * @runTestsInSeparateProcesses
- */
-class NativeSessionStorageTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @param array $options
-     *
-     * @return NativeSessionStorage
-     */
-    protected function getStorage(array $options = array())
-    {
-        $storage = new NativeSessionStorage($options);
-        $storage->registerBag(new AttributeBag);
-
-        return $storage;
-    }
-
-    public function testBag()
-    {
-        $storage = $this->getStorage();
-        $bag = new FlashBag();
-        $storage->registerBag($bag);
-        $this->assertSame($bag, $storage->getBag($bag->getName()));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testRegisterBagException()
-    {
-        $storage = $this->getStorage();
-        $storage->getBag('non_existing');
-    }
-
-    public function testGetId()
-    {
-        $storage = $this->getStorage();
-        $this->assertEquals('', $storage->getId());
-        $storage->start();
-        $this->assertNotEquals('', $storage->getId());
-    }
-
-    public function testRegenerate()
-    {
-        $storage = $this->getStorage();
-        $storage->start();
-        $id = $storage->getId();
-        $storage->getBag('attributes')->set('lucky', 7);
-        $storage->regenerate();
-        $this->assertNotEquals($id, $storage->getId());
-        $this->assertEquals(7, $storage->getBag('attributes')->get('lucky'));
-
-    }
-
-    public function testRegenerateDestroy()
-    {
-        $storage = $this->getStorage();
-        $storage->start();
-        $id = $storage->getId();
-        $storage->getBag('attributes')->set('legs', 11);
-        $storage->regenerate(true);
-        $this->assertNotEquals($id, $storage->getId());
-        $this->assertEquals(11, $storage->getBag('attributes')->get('legs'));
-    }
-
-    public function testDefaultSessionCacheLimiter()
-    {
-        ini_set('session.cache_limiter', 'nocache');
-
-        $storage = new NativeSessionStorage();
-        $this->assertEquals('', ini_get('session.cache_limiter'));
-    }
-
-    public function testExplicitSessionCacheLimiter()
-    {
-        ini_set('session.cache_limiter', 'nocache');
-
-        $storage = new NativeSessionStorage(array('cache_limiter' => 'public'));
-        $this->assertEquals('public', ini_get('session.cache_limiter'));
-    }
-
-    public function testCookieOptions()
-    {
-        $options = array(
-            'cookie_lifetime' => 123456,
-            'cookie_path' => '/my/cookie/path',
-            'cookie_domain' => 'symfony2.example.com',
-            'cookie_secure' => true,
-            'cookie_httponly' => false,
-        );
-
-        $this->getStorage($options);
-        $temp = session_get_cookie_params();
-        $gco = array();
-
-        foreach ($temp as $key => $value) {
-            $gco['cookie_'.$key] = $value;
-        }
-
-        $this->assertEquals($options, $gco);
-    }
-
-    public function testSetSaveHandler()
-    {
-        $storage = $this->getStorage();
-        $storage->setSaveHandler(new \StdClass());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\NativeProxy', $storage->getSaveHandler());
-    }
-
-    public function testSetSaveHandlerPHP53()
-    {
-        if (version_compare(phpversion(), '5.4.0', '>=')) {
-            $this->markTestSkipped('Test skipped, for PHP 5.3 only.');
-        }
-
-        $storage = $this->getStorage();
-        $storage->setSaveHandler(new NativeFileSessionHandler());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\NativeProxy', $storage->getSaveHandler());
-    }
-
-    public function testSetSaveHandlerPHP54()
-    {
-        if (version_compare(phpversion(), '5.4.0', '<')) {
-            $this->markTestSkipped('Test skipped, for PHP 5.4+ only.');
-        }
-
-        $storage = $this->getStorage();
-        $storage->setSaveHandler(new NullSessionHandler());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy', $storage->getSaveHandler());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php
deleted file mode 100644
index dedbde3..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Proxy;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy;
-
-// Note until PHPUnit_Mock_Objects 1.2 is released you cannot mock abstracts due to
-// https://github.com/sebastianbergmann/phpunit-mock-objects/issues/73
-class ConcreteProxy extends AbstractProxy
-{
-
-}
-
-class ConcreteSessionHandlerInterfaceProxy extends AbstractProxy implements \SessionHandlerInterface
-{
-   public function open($savePath, $sessionName)
-    {
-    }
-
-    public function close()
-    {
-    }
-
-    public function read($id)
-    {
-    }
-
-    public function write($id, $data)
-    {
-    }
-
-    public function destroy($id)
-    {
-    }
-
-    public function gc($maxlifetime)
-    {
-    }
-}
-
-/**
- * Test class for AbstractProxy.
- *
- * @author Drak <drak@zikula.org>
- */
-class AbstractProxyTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var AbstractProxy
-     */
-    protected $proxy;
-
-    protected function setUp()
-    {
-        $this->proxy = new ConcreteProxy();
-    }
-
-    protected function tearDown()
-    {
-        $this->proxy = null;
-    }
-
-    public function testGetSaveHandlerName()
-    {
-        $this->assertNull($this->proxy->getSaveHandlerName());
-    }
-
-    public function testIsSessionHandlerInterface()
-    {
-        $this->assertFalse($this->proxy->isSessionHandlerInterface());
-        $sh = new ConcreteSessionHandlerInterfaceProxy();
-        $this->assertTrue($sh->isSessionHandlerInterface());
-    }
-
-    public function testIsWrapper()
-    {
-        $this->assertFalse($this->proxy->isWrapper());
-    }
-
-    public function testIsActive()
-    {
-        $this->assertFalse($this->proxy->isActive());
-    }
-
-    public function testSetActive()
-    {
-        $this->proxy->setActive(true);
-        $this->assertTrue($this->proxy->isActive());
-        $this->proxy->setActive(false);
-        $this->assertFalse($this->proxy->isActive());
-    }
-
-    /**
-     * @runInSeparateProcess
-     */
-    public function testName()
-    {
-        $this->assertEquals(session_name(), $this->proxy->getName());
-        $this->proxy->setName('foo');
-        $this->assertEquals('foo', $this->proxy->getName());
-        $this->assertEquals(session_name(), $this->proxy->getName());
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testNameException()
-    {
-        $this->proxy->setActive(true);
-        $this->proxy->setName('foo');
-    }
-
-    /**
-     * @runInSeparateProcess
-     */
-    public function testId()
-    {
-        $this->assertEquals(session_id(), $this->proxy->getId());
-        $this->proxy->setId('foo');
-        $this->assertEquals('foo', $this->proxy->getId());
-        $this->assertEquals(session_id(), $this->proxy->getId());
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testIdException()
-    {
-        $this->proxy->setActive(true);
-        $this->proxy->setId('foo');
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/NativeProxyTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/NativeProxyTest.php
deleted file mode 100644
index e9184ce..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/NativeProxyTest.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Proxy;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\NativeProxy;
-
-/**
- * Test class for NativeProxy.
- *
- * @author Drak <drak@zikula.org>
- */
-class NativeProxyTest extends \PHPUnit_Framework_TestCase
-{
-    public function testIsWrapper()
-    {
-        $proxy = new NativeProxy();
-        $this->assertFalse($proxy->isWrapper());
-    }
-
-    public function testGetSaveHandlerName()
-    {
-        $name = ini_get('session.save_handler');
-        $proxy = new NativeProxy();
-        $this->assertEquals($name, $proxy->getSaveHandlerName());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php
deleted file mode 100644
index bae5390..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests\Session\Storage\Proxy;
-
-use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy;
-
-/**
- * Tests for SessionHandlerProxy class.
- *
- * @author Drak <drak@zikula.org>
- *
- * @runTestsInSeparateProcesses
- */
-class SessionHandlerProxyTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var PHPUnit_Framework_MockObject_Matcher
-     */
-    private $mock;
-
-    /**
-     * @var SessionHandlerProxy
-     */
-    private $proxy;
-
-    protected function setUp()
-    {
-        $this->mock = $this->getMock('SessionHandlerInterface');
-        $this->proxy = new SessionHandlerProxy($this->mock);
-    }
-
-    protected function tearDown()
-    {
-        $this->mock = null;
-        $this->proxy = null;
-    }
-
-    public function testOpen()
-    {
-        $this->mock->expects($this->once())
-            ->method('open')
-            ->will($this->returnValue(true));
-
-        $this->assertFalse($this->proxy->isActive());
-        $this->proxy->open('name', 'id');
-        $this->assertTrue($this->proxy->isActive());
-    }
-
-    public function testOpenFalse()
-    {
-        $this->mock->expects($this->once())
-            ->method('open')
-            ->will($this->returnValue(false));
-
-        $this->assertFalse($this->proxy->isActive());
-        $this->proxy->open('name', 'id');
-        $this->assertFalse($this->proxy->isActive());
-    }
-
-    public function testClose()
-    {
-        $this->mock->expects($this->once())
-            ->method('close')
-            ->will($this->returnValue(true));
-
-        $this->assertFalse($this->proxy->isActive());
-        $this->proxy->close();
-        $this->assertFalse($this->proxy->isActive());
-    }
-
-    public function testCloseFalse()
-    {
-        $this->mock->expects($this->once())
-            ->method('close')
-            ->will($this->returnValue(false));
-
-        $this->assertFalse($this->proxy->isActive());
-        $this->proxy->close();
-        $this->assertFalse($this->proxy->isActive());
-    }
-
-    public function testRead()
-    {
-        $this->mock->expects($this->once())
-            ->method('read');
-
-        $this->proxy->read('id');
-    }
-
-    public function testWrite()
-    {
-        $this->mock->expects($this->once())
-            ->method('write');
-
-        $this->proxy->write('id', 'data');
-    }
-
-    public function testDestroy()
-    {
-        $this->mock->expects($this->once())
-            ->method('destroy');
-
-        $this->proxy->destroy('id');
-    }
-
-    public function testGc()
-    {
-        $this->mock->expects($this->once())
-            ->method('gc');
-
-        $this->proxy->gc(86400);
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/StreamedResponseTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/StreamedResponseTest.php
deleted file mode 100644
index 0dfe651..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/StreamedResponseTest.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpFoundation\Tests;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\StreamedResponse;
-
-class StreamedResponseTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstructor()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; }, 404, array('Content-Type' => 'text/plain'));
-
-        $this->assertEquals(404, $response->getStatusCode());
-        $this->assertEquals('text/plain', $response->headers->get('Content-Type'));
-    }
-
-    public function testPrepareWith11Protocol()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; });
-        $request = Request::create('/');
-        $request->server->set('SERVER_PROTOCOL', 'HTTP/1.1');
-
-        $response->prepare($request);
-
-        $this->assertEquals('1.1', $response->getProtocolVersion());
-        $this->assertNotEquals('chunked', $response->headers->get('Transfer-Encoding'), 'Apache assumes responses with a Transfer-Encoding header set to chunked to already be encoded.');
-        $this->assertEquals('no-cache, private', $response->headers->get('Cache-Control'));
-    }
-
-    public function testPrepareWith10Protocol()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; });
-        $request = Request::create('/');
-        $request->server->set('SERVER_PROTOCOL', 'HTTP/1.0');
-
-        $response->prepare($request);
-
-        $this->assertEquals('1.0', $response->getProtocolVersion());
-        $this->assertNull($response->headers->get('Transfer-Encoding'));
-        $this->assertEquals('no-cache, private', $response->headers->get('Cache-Control'));
-    }
-
-    public function testPrepareWithHeadRequest()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; });
-        $request = Request::create('/', 'HEAD');
-
-        $response->prepare($request);
-    }
-
-    public function testSendContent()
-    {
-        $called = 0;
-
-        $response = new StreamedResponse(function () use (&$called) { ++$called; });
-
-        $response->sendContent();
-        $this->assertEquals(1, $called);
-
-        $response->sendContent();
-        $this->assertEquals(1, $called);
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testSendContentWithNonCallable()
-    {
-        $response = new StreamedResponse(null);
-        $response->sendContent();
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testSetCallbackNonCallable()
-    {
-        $response = new StreamedResponse(null);
-        $response->setCallback(null);
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testSetContent()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; });
-        $response->setContent('foo');
-    }
-
-    public function testGetContent()
-    {
-        $response = new StreamedResponse(function () { echo 'foo'; });
-        $this->assertFalse($response->getContent());
-    }
-
-    public function testCreate()
-    {
-        $response = StreamedResponse::create(function () {}, 204);
-
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\StreamedResponse', $response);
-        $this->assertEquals(204, $response->getStatusCode());
-    }
-}
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/phpunit.xml.dist b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/phpunit.xml.dist
deleted file mode 100644
index df11f72..0000000
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/phpunit.xml.dist
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         colors="true"
-         convertErrorsToExceptions="true"
-         convertNoticesToExceptions="true"
-         convertWarningsToExceptions="true"
-         processIsolation="false"
-         stopOnFailure="false"
-         syntaxCheck="false"
-         bootstrap="vendor/autoload.php"
->
-    <testsuites>
-        <testsuite name="Symfony HttpFoundation Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Resources</directory>
-                <directory>./Tests</directory>
-                <directory>./vendor</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php
index 46440a3..cfcfb80 100644
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php
+++ b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php
@@ -62,12 +62,12 @@
     protected $classes;
     protected $errorReportingLevel;
 
-    const VERSION         = '2.2.0-DEV';
+    const VERSION         = '2.2.0-BETA1';
     const VERSION_ID      = '20100';
     const MAJOR_VERSION   = '2';
     const MINOR_VERSION   = '2';
     const RELEASE_VERSION = '0';
-    const EXTRA_VERSION   = 'DEV';
+    const EXTRA_VERSION   = 'BETA1';
 
     /**
      * Constructor.
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php
deleted file mode 100644
index 8affb5f..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Bundle;
-
-use Symfony\Component\HttpKernel\Bundle\Bundle;
-
-use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\ExtensionPresentBundle;
-use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionAbsentBundle\ExtensionAbsentBundle;
-use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\Command\FooCommand;
-
-class BundleTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRegisterCommands()
-    {
-        if (!class_exists('Symfony\Component\Console\Application')) {
-            $this->markTestSkipped('The "Console" component is not available');
-        }
-
-        if (!interface_exists('Symfony\Component\DependencyInjection\ContainerAwareInterface')) {
-            $this->markTestSkipped('The "DependencyInjection" component is not available');
-        }
-
-        if (!class_exists('Symfony\Component\Finder\Finder')) {
-            $this->markTestSkipped('The "Finder" component is not available');
-        }
-
-        $cmd = new FooCommand();
-        $app = $this->getMock('Symfony\Component\Console\Application');
-        $app->expects($this->once())->method('add')->with($this->equalTo($cmd));
-
-        $bundle = new ExtensionPresentBundle();
-        $bundle->registerCommands($app);
-
-        $bundle2 = new ExtensionAbsentBundle();
-
-        $this->assertNull($bundle2->registerCommands($app));
-
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php
deleted file mode 100644
index c4816ba..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\CacheClearer;
-
-use Symfony\Component\HttpKernel\CacheClearer\CacheClearerInterface;
-use Symfony\Component\HttpKernel\CacheClearer\ChainCacheClearer;
-
-class ChainCacheClearerTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $cacheDir;
-
-    public static function setUpBeforeClass()
-    {
-        self::$cacheDir = tempnam(sys_get_temp_dir(), 'sf2_cache_clearer_dir');
-    }
-
-    public static function tearDownAfterClass()
-    {
-        @unlink(self::$cacheDir);
-    }
-
-    public function testInjectClearersInConstructor()
-    {
-        $clearer = $this->getMockClearer();
-        $clearer
-            ->expects($this->once())
-            ->method('clear');
-
-        $chainClearer = new ChainCacheClearer(array($clearer));
-        $chainClearer->clear(self::$cacheDir);
-    }
-
-    public function testInjectClearerUsingAdd()
-    {
-        $clearer = $this->getMockClearer();
-        $clearer
-            ->expects($this->once())
-            ->method('clear');
-
-        $chainClearer = new ChainCacheClearer();
-        $chainClearer->add($clearer);
-        $chainClearer->clear(self::$cacheDir);
-    }
-
-    protected function getMockClearer()
-    {
-        return $this->getMock('Symfony\Component\HttpKernel\CacheClearer\CacheClearerInterface');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php
deleted file mode 100644
index 24e7fd9..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\CacheWarmer;
-
-use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface;
-use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate;
-use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmer;
-
-class CacheWarmerAggregateTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $cacheDir;
-
-    public static function setUpBeforeClass()
-    {
-        self::$cacheDir = tempnam(sys_get_temp_dir(), 'sf2_cache_warmer_dir');
-    }
-
-    public static function tearDownAfterClass()
-    {
-        @unlink(self::$cacheDir);
-    }
-
-    public function testInjectWarmersUsingConstructor()
-    {
-        $warmer = $this->getCacheWarmerMock();
-        $warmer
-            ->expects($this->once())
-            ->method('warmUp');
-        $aggregate = new CacheWarmerAggregate(array($warmer));
-        $aggregate->warmUp(self::$cacheDir);
-    }
-
-    public function testInjectWarmersUsingAdd()
-    {
-        $warmer = $this->getCacheWarmerMock();
-        $warmer
-            ->expects($this->once())
-            ->method('warmUp');
-        $aggregate = new CacheWarmerAggregate();
-        $aggregate->add($warmer);
-        $aggregate->warmUp(self::$cacheDir);
-    }
-
-    public function testInjectWarmersUsingSetWarmers()
-    {
-        $warmer = $this->getCacheWarmerMock();
-        $warmer
-            ->expects($this->once())
-            ->method('warmUp');
-        $aggregate = new CacheWarmerAggregate();
-        $aggregate->setWarmers(array($warmer));
-        $aggregate->warmUp(self::$cacheDir);
-    }
-
-    public function testWarmupDoesCallWarmupOnOptionalWarmersWhenEnableOptionalWarmersIsEnabled()
-    {
-        $warmer = $this->getCacheWarmerMock();
-        $warmer
-            ->expects($this->never())
-            ->method('isOptional');
-        $warmer
-            ->expects($this->once())
-            ->method('warmUp');
-
-        $aggregate = new CacheWarmerAggregate(array($warmer));
-        $aggregate->enableOptionalWarmers();
-        $aggregate->warmUp(self::$cacheDir);
-    }
-
-    public function testWarmupDoesNotCallWarmupOnOptionalWarmersWhenEnableOptionalWarmersIsNotEnabled()
-    {
-        $warmer = $this->getCacheWarmerMock();
-        $warmer
-            ->expects($this->once())
-            ->method('isOptional')
-            ->will($this->returnValue(true));
-        $warmer
-            ->expects($this->never())
-            ->method('warmUp');
-
-        $aggregate = new CacheWarmerAggregate(array($warmer));
-        $aggregate->warmUp(self::$cacheDir);
-    }
-
-    protected function getCacheWarmerMock()
-    {
-        $warmer = $this->getMockBuilder('Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        return $warmer;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php
deleted file mode 100644
index f0ab05d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\CacheWarmer;
-
-use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmer;
-
-class CacheWarmerTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $cacheFile;
-
-    public static function setUpBeforeClass()
-    {
-        self::$cacheFile = tempnam(sys_get_temp_dir(), 'sf2_cache_warmer_dir');
-    }
-
-    public static function tearDownAfterClass()
-    {
-        @unlink(self::$cacheFile);
-    }
-
-    public function testWriteCacheFileCreatesTheFile()
-    {
-        $warmer = new TestCacheWarmer(self::$cacheFile);
-        $warmer->warmUp(dirname(self::$cacheFile));
-
-        $this->assertTrue(file_exists(self::$cacheFile));
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testWriteNonWritableCacheFileThrowsARuntimeException()
-    {
-        $nonWritableFile = '/this/file/is/very/probably/not/writable';
-        $warmer = new TestCacheWarmer($nonWritableFile);
-        $warmer->warmUp(dirname($nonWritableFile));
-    }
-}
-
-class TestCacheWarmer extends CacheWarmer
-{
-    protected $file;
-
-    public function __construct($file)
-    {
-        $this->file = $file;
-    }
-
-    public function warmUp($cacheDir)
-    {
-        $this->writeCacheFile($this->file, 'content');
-    }
-
-    public function isOptional()
-    {
-        return false;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/ClientTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/ClientTest.php
deleted file mode 100644
index 4e27306..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/ClientTest.php
+++ /dev/null
@@ -1,176 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\HttpKernel\Client;
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\StreamedResponse;
-use Symfony\Component\HttpFoundation\Cookie;
-use Symfony\Component\HttpFoundation\File\UploadedFile;
-use Symfony\Component\HttpKernel\Tests\Fixtures\TestClient;
-
-class ClientTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\BrowserKit\Client')) {
-            $this->markTestSkipped('The "BrowserKit" component is not available');
-        }
-    }
-
-    public function testDoRequest()
-    {
-        $client = new Client(new TestHttpKernel());
-
-        $client->request('GET', '/');
-        $this->assertEquals('Request: /', $client->getResponse()->getContent(), '->doRequest() uses the request handler to make the request');
-
-        $client->request('GET', 'http://www.example.com/');
-        $this->assertEquals('Request: /', $client->getResponse()->getContent(), '->doRequest() uses the request handler to make the request');
-        $this->assertEquals('www.example.com', $client->getRequest()->getHost(), '->doRequest() uses the request handler to make the request');
-
-        $client->request('GET', 'http://www.example.com/?parameter=http://google.com');
-        $this->assertEquals('http://www.example.com/?parameter='.urlencode('http://google.com'), $client->getRequest()->getUri(), '->doRequest() uses the request handler to make the request');
-    }
-
-    public function testGetScript()
-    {
-        if (!class_exists('Symfony\Component\Process\Process')) {
-            $this->markTestSkipped('The "Process" component is not available');
-        }
-
-        if (!class_exists('Symfony\Component\ClassLoader\UniversalClassLoader')) {
-            $this->markTestSkipped('The "ClassLoader" component is not available');
-        }
-
-        $client = new TestClient(new TestHttpKernel());
-        $client->insulate();
-        $client->request('GET', '/');
-
-        $this->assertEquals('Request: /', $client->getResponse()->getContent(), '->getScript() returns a script that uses the request handler to make the request');
-    }
-
-    public function testFilterResponseConvertsCookies()
-    {
-        $client = new Client(new TestHttpKernel());
-
-        $r = new \ReflectionObject($client);
-        $m = $r->getMethod('filterResponse');
-        $m->setAccessible(true);
-
-        $expected = array(
-            'foo=bar; expires=Sun, 15 Feb 2009 20:00:00 GMT; domain=http://example.com; path=/foo; secure; httponly',
-            'foo1=bar1; expires=Sun, 15 Feb 2009 20:00:00 GMT; domain=http://example.com; path=/foo; secure; httponly'
-        );
-
-        $response = new Response();
-        $response->headers->setCookie(new Cookie('foo', 'bar', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true));
-        $domResponse = $m->invoke($client, $response);
-        $this->assertEquals($expected[0], $domResponse->getHeader('Set-Cookie'));
-
-        $response = new Response();
-        $response->headers->setCookie(new Cookie('foo', 'bar', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true));
-        $response->headers->setCookie(new Cookie('foo1', 'bar1', \DateTime::createFromFormat('j-M-Y H:i:s T', '15-Feb-2009 20:00:00 GMT')->format('U'), '/foo', 'http://example.com', true, true));
-        $domResponse = $m->invoke($client, $response);
-        $this->assertEquals($expected[0], $domResponse->getHeader('Set-Cookie'));
-        $this->assertEquals($expected, $domResponse->getHeader('Set-Cookie', false));
-    }
-
-    public function testFilterResponseSupportsStreamedResponses()
-    {
-        $client = new Client(new TestHttpKernel());
-
-        $r = new \ReflectionObject($client);
-        $m = $r->getMethod('filterResponse');
-        $m->setAccessible(true);
-
-        $response = new StreamedResponse(function () {
-            echo 'foo';
-        });
-
-        $domResponse = $m->invoke($client, $response);
-        $this->assertEquals('foo', $domResponse->getContent());
-    }
-
-    public function testUploadedFile()
-    {
-        $source = tempnam(sys_get_temp_dir(), 'source');
-        $target = sys_get_temp_dir().'/sf.moved.file';
-        @unlink($target);
-
-        $kernel = new TestHttpKernel();
-        $client = new Client($kernel);
-
-        $files = array(
-            array('tmp_name' => $source, 'name' => 'original', 'type' => 'mime/original', 'size' => 123, 'error' => UPLOAD_ERR_OK),
-            new UploadedFile($source, 'original', 'mime/original', 123, UPLOAD_ERR_OK),
-        );
-
-        foreach ($files as $file) {
-            $client->request('POST', '/', array(), array('foo' => $file));
-
-            $files = $client->getRequest()->files->all();
-
-            $this->assertCount(1, $files);
-
-            $file = $files['foo'];
-
-            $this->assertEquals('original', $file->getClientOriginalName());
-            $this->assertEquals('mime/original', $file->getClientMimeType());
-            $this->assertEquals('123', $file->getClientSize());
-            $this->assertTrue($file->isValid());
-        }
-
-        $file->move(dirname($target), basename($target));
-
-        $this->assertFileExists($target);
-        unlink($target);
-    }
-
-    public function testUploadedFileWhenSizeExceedsUploadMaxFileSize()
-    {
-        $source = tempnam(sys_get_temp_dir(), 'source');
-
-        $kernel = new TestHttpKernel();
-        $client = new Client($kernel);
-
-        $file = $this
-            ->getMockBuilder('Symfony\Component\HttpFoundation\File\UploadedFile')
-            ->setConstructorArgs(array($source, 'original', 'mime/original', 123, UPLOAD_ERR_OK))
-            ->setMethods(array('getSize'))
-            ->getMock()
-        ;
-
-        $file->expects($this->once())
-            ->method('getSize')
-            ->will($this->returnValue(INF))
-        ;
-
-        $client->request('POST', '/', array(), array($file));
-
-        $files = $client->getRequest()->files->all();
-
-        $this->assertCount(1, $files);
-
-        $file = $files[0];
-
-        $this->assertFalse($file->isValid());
-        $this->assertEquals(UPLOAD_ERR_INI_SIZE, $file->getError());
-        $this->assertEquals('mime/original', $file->getClientMimeType());
-        $this->assertEquals('original', $file->getClientOriginalName());
-        $this->assertEquals(0, $file->getClientSize());
-
-        unlink($source);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php
deleted file mode 100644
index d0afdf3..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php
+++ /dev/null
@@ -1,180 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\HttpKernel\Controller\ControllerResolver;
-use Symfony\Component\HttpFoundation\Request;
-
-class ControllerResolverTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    public function testGetController()
-    {
-        $logger = new Logger();
-        $resolver = new ControllerResolver($logger);
-
-        $request = Request::create('/');
-        $this->assertFalse($resolver->getController($request), '->getController() returns false when the request has no _controller attribute');
-        $this->assertEquals(array('Unable to look for the controller as the "_controller" parameter is missing'), $logger->getLogs('warn'));
-
-        $request->attributes->set('_controller', 'Symfony\Component\HttpKernel\Tests\ControllerResolverTest::testGetController');
-        $controller = $resolver->getController($request);
-        $this->assertInstanceOf('Symfony\Component\HttpKernel\Tests\ControllerResolverTest', $controller[0], '->getController() returns a PHP callable');
-
-        $request->attributes->set('_controller', $lambda = function () {});
-        $controller = $resolver->getController($request);
-        $this->assertSame($lambda, $controller);
-
-        $request->attributes->set('_controller', $this);
-        $controller = $resolver->getController($request);
-        $this->assertSame($this, $controller);
-
-        $request->attributes->set('_controller', 'Symfony\Component\HttpKernel\Tests\ControllerResolverTest');
-        $controller = $resolver->getController($request);
-        $this->assertInstanceOf('Symfony\Component\HttpKernel\Tests\ControllerResolverTest', $controller);
-
-        $request->attributes->set('_controller', array($this, 'controllerMethod1'));
-        $controller = $resolver->getController($request);
-        $this->assertSame(array($this, 'controllerMethod1'), $controller);
-
-        $request->attributes->set('_controller', array('Symfony\Component\HttpKernel\Tests\ControllerResolverTest', 'controllerMethod4'));
-        $controller = $resolver->getController($request);
-        $this->assertSame(array('Symfony\Component\HttpKernel\Tests\ControllerResolverTest', 'controllerMethod4'), $controller);
-
-        $request->attributes->set('_controller', 'Symfony\Component\HttpKernel\Tests\some_controller_function');
-        $controller = $resolver->getController($request);
-        $this->assertSame('Symfony\Component\HttpKernel\Tests\some_controller_function', $controller);
-
-        $request->attributes->set('_controller', 'foo');
-        try {
-            $resolver->getController($request);
-            $this->fail('->getController() throws an \InvalidArgumentException if the _controller attribute is not well-formatted');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->getController() throws an \InvalidArgumentException if the _controller attribute is not well-formatted');
-        }
-
-        $request->attributes->set('_controller', 'foo::bar');
-        try {
-            $resolver->getController($request);
-            $this->fail('->getController() throws an \InvalidArgumentException if the _controller attribute contains a non-existent class');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->getController() throws an \InvalidArgumentException if the _controller attribute contains a non-existent class');
-        }
-
-        $request->attributes->set('_controller', 'Symfony\Component\HttpKernel\Tests\ControllerResolverTest::bar');
-        try {
-            $resolver->getController($request);
-            $this->fail('->getController() throws an \InvalidArgumentException if the _controller attribute contains a non-existent method');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\InvalidArgumentException', $e, '->getController() throws an \InvalidArgumentException if the _controller attribute contains a non-existent method');
-        }
-    }
-
-    public function testGetArguments()
-    {
-        $resolver = new ControllerResolver();
-
-        $request = Request::create('/');
-        $controller = array(new self(), 'testGetArguments');
-        $this->assertEquals(array(), $resolver->getArguments($request, $controller), '->getArguments() returns an empty array if the method takes no arguments');
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $controller = array(new self(), 'controllerMethod1');
-        $this->assertEquals(array('foo'), $resolver->getArguments($request, $controller), '->getArguments() returns an array of arguments for the controller method');
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $controller = array(new self(), 'controllerMethod2');
-        $this->assertEquals(array('foo', null), $resolver->getArguments($request, $controller), '->getArguments() uses default values if present');
-
-        $request->attributes->set('bar', 'bar');
-        $this->assertEquals(array('foo', 'bar'), $resolver->getArguments($request, $controller), '->getArguments() overrides default values if provided in the request attributes');
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $controller = function ($foo) {};
-        $this->assertEquals(array('foo'), $resolver->getArguments($request, $controller));
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $controller = function ($foo, $bar = 'bar') {};
-        $this->assertEquals(array('foo', 'bar'), $resolver->getArguments($request, $controller));
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $controller = new self();
-        $this->assertEquals(array('foo', null), $resolver->getArguments($request, $controller));
-        $request->attributes->set('bar', 'bar');
-        $this->assertEquals(array('foo', 'bar'), $resolver->getArguments($request, $controller));
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $request->attributes->set('foobar', 'foobar');
-        $controller = 'Symfony\Component\HttpKernel\Tests\some_controller_function';
-        $this->assertEquals(array('foo', 'foobar'), $resolver->getArguments($request, $controller));
-
-        $request = Request::create('/');
-        $request->attributes->set('foo', 'foo');
-        $request->attributes->set('foobar', 'foobar');
-        $controller = array(new self(), 'controllerMethod3');
-
-        if (version_compare(PHP_VERSION, '5.3.16', '==')) {
-            $this->markTestSkipped('PHP 5.3.16 has a major bug in the Reflection sub-system');
-        } else {
-            try {
-                $resolver->getArguments($request, $controller);
-                $this->fail('->getArguments() throws a \RuntimeException exception if it cannot determine the argument value');
-            } catch (\Exception $e) {
-                $this->assertInstanceOf('\RuntimeException', $e, '->getArguments() throws a \RuntimeException exception if it cannot determine the argument value');
-            }
-        }
-
-        $request = Request::create('/');
-        $controller = array(new self(), 'controllerMethod5');
-        $this->assertEquals(array($request), $resolver->getArguments($request, $controller), '->getArguments() injects the request');
-    }
-
-    public function __invoke($foo, $bar = null)
-    {
-    }
-
-    protected function controllerMethod1($foo)
-    {
-    }
-
-    protected function controllerMethod2($foo, $bar = null)
-    {
-    }
-
-    protected function controllerMethod3($foo, $bar = null, $foobar)
-    {
-    }
-
-    protected static function controllerMethod4()
-    {
-    }
-
-    protected function controllerMethod5(Request $request)
-    {
-    }
-}
-
-function some_controller_function($foo, $foobar)
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php
deleted file mode 100644
index 5a0166d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\HttpKernel\DataCollector\ConfigDataCollector;
-use Symfony\Component\HttpKernel\Kernel;
-use Symfony\Component\Config\Loader\LoaderInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class ConfigDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    public function testCollect()
-    {
-        $kernel = new KernelForTest('test', true);
-        $c = new ConfigDataCollector();
-        $c->setKernel($kernel);
-        $c->collect(new Request(), new Response());
-
-        $this->assertSame('test',$c->getEnv());
-        $this->assertTrue($c->isDebug());
-        $this->assertSame('config',$c->getName());
-        $this->assertSame('testkernel',$c->getAppName());
-        $this->assertSame(PHP_VERSION,$c->getPhpVersion());
-        $this->assertSame(Kernel::VERSION,$c->getSymfonyVersion());
-        $this->assertNull($c->getToken());
-
-        // if else clause because we don't know it
-        if (extension_loaded('xdebug')) {
-            $this->assertTrue($c->hasXdebug());
-        } else {
-            $this->assertFalse($c->hasXdebug());
-        }
-
-        // if else clause because we don't know it
-        if (((extension_loaded('eaccelerator') && ini_get('eaccelerator.enable'))
-                ||
-                (extension_loaded('apc') && ini_get('apc.enabled'))
-                ||
-                (extension_loaded('xcache') && ini_get('xcache.cacher'))
-                ||
-                (extension_loaded('wincache') && ini_get('wincache.ocenabled')))) {
-            $this->assertTrue($c->hasAccelerator());
-        } else {
-            $this->assertFalse($c->hasAccelerator());
-        }
-    }
-}
-
-class KernelForTest extends Kernel
-{
-    public function getName()
-    {
-        return 'testkernel';
-    }
-
-    public function registerBundles()
-    {
-    }
-
-    public function init()
-    {
-    }
-
-    public function getBundles()
-    {
-        return array();
-    }
-
-    public function registerContainerConfiguration(LoaderInterface $loader)
-    {
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ExceptionDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ExceptionDataCollectorTest.php
deleted file mode 100644
index 54a8aab..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ExceptionDataCollectorTest.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\HttpKernel\DataCollector\ExceptionDataCollector;
-use Symfony\Component\HttpKernel\Exception\FlattenException;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class ExceptionDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    public function testCollect()
-    {
-        $e = new \Exception('foo',500);
-        $c = new ExceptionDataCollector();
-        $flattened = FlattenException::create($e);
-        $trace = $flattened->getTrace();
-
-        $this->assertFalse($c->hasException());
-
-        $c->collect(new Request(), new Response(),$e);
-
-        $this->assertTrue($c->hasException());
-        $this->assertEquals($flattened,$c->getException());
-        $this->assertSame('foo',$c->getMessage());
-        $this->assertSame(500,$c->getCode());
-        $this->assertSame('exception',$c->getName());
-        $this->assertSame($trace,$c->getTrace());
-    }
-
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php
deleted file mode 100644
index ea82d9d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\HttpKernel\DataCollector\LoggerDataCollector;
-use Symfony\Component\HttpKernel\Debug\ErrorHandler;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class LoggerDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    /**
-     * @dataProvider getCollectTestData
-     */
-    public function testCollect($nb, $logs, $expectedLogs, $expectedDeprecationCount)
-    {
-        $logger = $this->getMock('Symfony\Component\HttpKernel\Log\DebugLoggerInterface');
-        $logger->expects($this->once())->method('countErrors')->will($this->returnValue($nb));
-        $logger->expects($this->exactly(2))->method('getLogs')->will($this->returnValue($logs));
-
-        $c = new LoggerDataCollector($logger);
-        $c->collect(new Request(), new Response());
-
-        $this->assertSame('logger', $c->getName());
-        $this->assertSame($nb, $c->countErrors());
-        $this->assertSame($expectedLogs ? $expectedLogs : $logs, $c->getLogs());
-        $this->assertSame($expectedDeprecationCount, $c->countDeprecations());
-    }
-
-    public function getCollectTestData()
-    {
-        return array(
-            array(
-                1,
-                array(array('message' => 'foo', 'context' => array())),
-                null,
-                0
-            ),
-            array(
-                1,
-                array(array('message' => 'foo', 'context' => array('foo' => fopen(__FILE__, 'r')))),
-                array(array('message' => 'foo', 'context' => array('foo' => 'Resource(stream)'))),
-                0
-            ),
-            array(
-                1,
-                array(array('message' => 'foo', 'context' => array('foo' => new \stdClass()))),
-                array(array('message' => 'foo', 'context' => array('foo' => 'Object(stdClass)'))),
-                0
-            ),
-            array(
-                1,
-                array(
-                    array('message' => 'foo', 'context' => array('type' => ErrorHandler::TYPE_DEPRECATION)),
-                    array('message' => 'foo2', 'context' => array('type' => ErrorHandler::TYPE_DEPRECATION))
-                ),
-                null,
-                2
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/MemoryDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/MemoryDataCollectorTest.php
deleted file mode 100644
index e028210..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/MemoryDataCollectorTest.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\HttpKernel\DataCollector\MemoryDataCollector;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class MemoryDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    public function testCollect()
-    {
-        $c = new MemoryDataCollector();
-
-        $c->collect(new Request(), new Response());
-
-        $this->assertInternalType('integer',$c->getMemory());
-        $this->assertSame('memory',$c->getName());
-    }
-
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
deleted file mode 100644
index 10322b1..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
+++ /dev/null
@@ -1,202 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\DataCollector\RequestDataCollector;
-use Symfony\Component\HttpKernel\Event\FilterControllerEvent;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\Cookie;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class RequestDataCollectorTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    /**
-     * @dataProvider provider
-     */
-    public function testCollect(Request $request, Response $response)
-    {
-        $c = new RequestDataCollector();
-
-        $c->collect($request, $response);
-
-        $this->assertSame('request',$c->getName());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\HeaderBag',$c->getRequestHeaders());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag',$c->getRequestServer());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag',$c->getRequestCookies());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag',$c->getRequestAttributes());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag',$c->getRequestRequest());
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\ParameterBag',$c->getRequestQuery());
-        $this->assertEquals('html',$c->getFormat());
-        $this->assertEquals(array(),$c->getSessionAttributes());
-        $this->assertEquals('en',$c->getLocale());
-
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\HeaderBag',$c->getResponseHeaders());
-        $this->assertEquals(200,$c->getStatusCode());
-        $this->assertEquals('application/json',$c->getContentType());
-    }
-
-    /**
-     * Test various types of controller callables.
-     *
-     * @dataProvider provider
-     */
-    public function testControllerInspection(Request $request, Response $response)
-    {
-        // make sure we always match the line number
-        $r1 = new \ReflectionMethod($this, 'testControllerInspection');
-        $r2 = new \ReflectionMethod($this, 'staticControllerMethod');
-        // test name, callable, expected
-        $controllerTests = array(
-            array(
-                '"Regular" callable',
-                array($this, 'testControllerInspection'),
-                array(
-                    'class' => 'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest',
-                    'method' => 'testControllerInspection',
-                    'file' => __FILE__,
-                    'line' => $r1->getStartLine()
-                ),
-            ),
-
-            array(
-                'Closure',
-                function() { return 'foo'; },
-                'Closure',
-            ),
-
-            array(
-                'Static callback as string',
-                'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest::staticControllerMethod',
-                'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest::staticControllerMethod',
-            ),
-
-            array(
-                'Static callable with instance',
-                array($this, 'staticControllerMethod'),
-                array(
-                    'class' => 'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest',
-                    'method' => 'staticControllerMethod',
-                    'file' => __FILE__,
-                    'line' => $r2->getStartLine()
-                ),
-            ),
-
-            array(
-                'Static callable with class name',
-                array('Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest', 'staticControllerMethod'),
-                array(
-                    'class' => 'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest',
-                    'method' => 'staticControllerMethod',
-                    'file' => __FILE__,
-                    'line' => $r2->getStartLine()
-                ),
-            ),
-
-            array(
-                'Callable with instance depending on __call()',
-                array($this, 'magicMethod'),
-                array(
-                    'class' => 'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest',
-                    'method' => 'magicMethod',
-                    'file' => 'n/a',
-                    'line' => 'n/a'
-                ),
-            ),
-
-            array(
-                'Callable with class name depending on __callStatic()',
-                array('Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest', 'magicMethod'),
-                array(
-                    'class' => 'Symfony\Component\HttpKernel\Tests\DataCollector\RequestDataCollectorTest',
-                    'method' => 'magicMethod',
-                    'file' => 'n/a',
-                    'line' => 'n/a'
-                ),
-            ),
-        );
-
-        $c = new RequestDataCollector();
-
-        foreach ($controllerTests as $controllerTest) {
-            $this->injectController($c, $controllerTest[1], $request);
-            $c->collect($request, $response);
-            $this->assertEquals($controllerTest[2], $c->getController(), sprintf('Testing: %s', $controllerTest[0]));
-        }
-    }
-
-    public function provider()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            return array(array(null, null));
-        }
-
-        $request = Request::create('http://test.com/foo?bar=baz');
-        $request->attributes->set('foo', 'bar');
-
-        $response = new Response();
-        $response->setStatusCode(200);
-        $response->headers->set('Content-Type', 'application/json');
-        $response->headers->setCookie(new Cookie('foo','bar',1,'/foo','localhost',true,true));
-        $response->headers->setCookie(new Cookie('bar','foo',new \DateTime('@946684800')));
-        $response->headers->setCookie(new Cookie('bazz','foo','2000-12-12'));
-
-        return array(
-            array($request, $response)
-        );
-    }
-
-    /**
-     * Inject the given controller callable into the data collector.
-     */
-    protected function injectController($collector, $controller, $request)
-    {
-        $resolver = $this->getMock('Symfony\\Component\\HttpKernel\\Controller\\ControllerResolverInterface');
-        $httpKernel = new HttpKernel(new EventDispatcher(), $resolver);
-        $event = new FilterControllerEvent($httpKernel, $controller, $request, HttpKernelInterface::MASTER_REQUEST);
-        $collector->onKernelController($event);
-    }
-
-    /**
-     * Dummy method used as controller callable
-     */
-    public static function staticControllerMethod()
-    {
-        throw new \LogicException('Unexpected method call');
-    }
-
-    /**
-     * Magic method to allow non existing methods to be called and delegated.
-     */
-    public function __call($method, $args)
-    {
-        throw new \LogicException('Unexpected method call');
-    }
-
-    /**
-     * Magic method to allow non existing methods to be called and delegated.
-     */
-    public static function __callStatic($method, $args)
-    {
-        throw new \LogicException('Unexpected method call');
-    }
-
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/ErrorHandlerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/ErrorHandlerTest.php
deleted file mode 100644
index fdd02ea..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/ErrorHandlerTest.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Debug;
-
-use Symfony\Component\HttpKernel\Debug\ErrorHandler;
-
-/**
- * ErrorHandlerTest
- *
- * @author Robert Schönthal <seroscho@googlemail.com>
- */
-class ErrorHandlerTest extends \PHPUnit_Framework_TestCase
-{
-
-    public function testConstruct()
-    {
-        $handler = ErrorHandler::register(3);
-
-        $level = new \ReflectionProperty($handler, 'level');
-        $level->setAccessible(true);
-
-        $this->assertEquals(3, $level->getValue($handler));
-
-        restore_error_handler();
-    }
-
-    public function testHandle()
-    {
-        $handler = ErrorHandler::register(0);
-        $this->assertFalse($handler->handle(0, 'foo', 'foo.php', 12, 'foo'));
-
-        restore_error_handler();
-
-        $handler = ErrorHandler::register(3);
-        $this->assertFalse($handler->handle(4, 'foo', 'foo.php', 12, 'foo'));
-
-        restore_error_handler();
-
-        $handler = ErrorHandler::register(3);
-        try {
-            $handler->handle(111, 'foo', 'foo.php', 12, 'foo');
-        } catch (\ErrorException $e) {
-            $this->assertSame('111: foo in foo.php line 12', $e->getMessage());
-            $this->assertSame(111, $e->getSeverity());
-            $this->assertSame('foo.php', $e->getFile());
-            $this->assertSame(12, $e->getLine());
-        }
-
-        restore_error_handler();
-
-        $handler = ErrorHandler::register(E_USER_DEPRECATED);
-        $this->assertTrue($handler->handle(E_USER_DEPRECATED, 'foo', 'foo.php', 12, 'foo'));
-
-        restore_error_handler();
-
-        $handler = ErrorHandler::register(E_DEPRECATED);
-        $this->assertTrue($handler->handle(E_DEPRECATED, 'foo', 'foo.php', 12, 'foo'));
-
-        restore_error_handler();
-
-        $logger = $this->getMock('Symfony\Component\HttpKernel\Log\LoggerInterface');
-
-        $that = $this;
-        $warnArgCheck = function($message, $context) use ($that) {
-            $that->assertEquals('foo', $message);
-            $that->assertArrayHasKey('file', $context);
-            $that->assertEquals($context['file'], 'foo.php');
-            $that->assertArrayHasKey('line', $context);
-            $that->assertEquals($context['line'], 12);
-            $that->assertArrayHasKey('type', $context);
-            $that->assertEquals($context['type'], ErrorHandler::TYPE_DEPRECATION);
-            $that->assertArrayHasKey('stack', $context);
-            $that->assertInternalType('array', $context['stack']);
-        };
-
-        $logger
-            ->expects($this->once())
-            ->method('warn')
-            ->will($this->returnCallback($warnArgCheck))
-        ;
-
-        $handler = ErrorHandler::register(E_USER_DEPRECATED);
-        $handler->setLogger($logger);
-        $handler->handle(E_USER_DEPRECATED, 'foo', 'foo.php', 12, 'foo');
-
-        restore_error_handler();
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/ExceptionHandlerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/ExceptionHandlerTest.php
deleted file mode 100644
index 4ccbe7d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/ExceptionHandlerTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Debug;
-
-use Symfony\Component\HttpKernel\Debug\ExceptionHandler;
-use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
-use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
-
-class ExceptionHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    public function testDebug()
-    {
-        $handler = new ExceptionHandler(false);
-        $response = $handler->createResponse(new \RuntimeException('Foo'));
-
-        $this->assertContains('<h1>Whoops, looks like something went wrong.</h1>', $response->getContent());
-        $this->assertNotContains('<div class="block_exception clear_fix">', $response->getContent());
-
-        $handler = new ExceptionHandler(true);
-        $response = $handler->createResponse(new \RuntimeException('Foo'));
-
-        $this->assertContains('<h1>Whoops, looks like something went wrong.</h1>', $response->getContent());
-        $this->assertContains('<div class="block_exception clear_fix">', $response->getContent());
-    }
-
-    public function testStatusCode()
-    {
-        $handler = new ExceptionHandler(false);
-
-        $response = $handler->createResponse(new \RuntimeException('Foo'));
-        $this->assertEquals('500', $response->getStatusCode());
-        $this->assertContains('Whoops, looks like something went wrong.', $response->getContent());
-
-        $response = $handler->createResponse(new NotFoundHttpException('Foo'));
-        $this->assertEquals('404', $response->getStatusCode());
-        $this->assertContains('Sorry, the page you are looking for could not be found.', $response->getContent());
-    }
-
-    public function testHeaders()
-    {
-        $handler = new ExceptionHandler(false);
-
-        $response = $handler->createResponse(new MethodNotAllowedHttpException(array('POST')));
-        $this->assertEquals('405', $response->getStatusCode());
-        $this->assertEquals('POST', $response->headers->get('Allow'));
-    }
-
-    public function testNestedExceptions()
-    {
-        $handler = new ExceptionHandler(true);
-        $response = $handler->createResponse(new \RuntimeException('Foo', null, new \RuntimeException('Bar')));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php
deleted file mode 100644
index 07faa8a..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php
+++ /dev/null
@@ -1,201 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Debug;
-
-use Symfony\Component\EventDispatcher\EventDispatcher;
-use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Symfony\Component\EventDispatcher\Event;
-use Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher;
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\Stopwatch\Stopwatch;
-
-class TraceableEventDispatcherTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\EventDispatcher\EventDispatcher')) {
-            $this->markTestSkipped('The "EventDispatcher" component is not available');
-        }
-
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    public function testAddRemoveListener()
-    {
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-
-        $tdispatcher->addListener('foo', $listener = function () { ; });
-        $listeners = $dispatcher->getListeners('foo');
-        $this->assertCount(1, $listeners);
-        $this->assertSame($listener, $listeners[0]);
-
-        $tdispatcher->removeListener('foo', $listener);
-        $this->assertCount(0, $dispatcher->getListeners('foo'));
-    }
-
-    public function testGetListeners()
-    {
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-
-        $tdispatcher->addListener('foo', $listener = function () { ; });
-        $this->assertSame($dispatcher->getListeners('foo'), $tdispatcher->getListeners('foo'));
-    }
-
-    public function testHasListeners()
-    {
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-
-        $this->assertFalse($dispatcher->hasListeners('foo'));
-        $this->assertFalse($tdispatcher->hasListeners('foo'));
-
-        $tdispatcher->addListener('foo', $listener = function () { ; });
-        $this->assertTrue($dispatcher->hasListeners('foo'));
-        $this->assertTrue($tdispatcher->hasListeners('foo'));
-    }
-
-    public function testAddRemoveSubscriber()
-    {
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-
-        $subscriber = new EventSubscriber();
-
-        $tdispatcher->addSubscriber($subscriber);
-        $listeners = $dispatcher->getListeners('foo');
-        $this->assertCount(1, $listeners);
-        $this->assertSame(array($subscriber, 'call'), $listeners[0]);
-
-        $tdispatcher->removeSubscriber($subscriber);
-        $this->assertCount(0, $dispatcher->getListeners('foo'));
-    }
-
-    public function testGetCalledListeners()
-    {
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-        $tdispatcher->addListener('foo', $listener = function () { ; });
-
-        $this->assertEquals(array(), $tdispatcher->getCalledListeners());
-        $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'type' => 'Closure', 'pretty' => 'closure')), $tdispatcher->getNotCalledListeners());
-
-        $tdispatcher->dispatch('foo');
-
-        $this->assertEquals(array('foo.closure' => array('event' => 'foo', 'type' => 'Closure', 'pretty' => 'closure')), $tdispatcher->getCalledListeners());
-        $this->assertEquals(array(), $tdispatcher->getNotCalledListeners());
-    }
-
-    public function testLogger()
-    {
-        $logger = $this->getMock('Symfony\Component\HttpKernel\Log\LoggerInterface');
-
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
-        $tdispatcher->addListener('foo', $listener1 = function () { ; });
-        $tdispatcher->addListener('foo', $listener2 = function () { ; });
-
-        $logger->expects($this->at(0))->method('debug')->with("Notified event \"foo\" to listener \"closure\".");
-        $logger->expects($this->at(1))->method('debug')->with("Notified event \"foo\" to listener \"closure\".");
-
-        $tdispatcher->dispatch('foo');
-    }
-
-    public function testLoggerWithStoppedEvent()
-    {
-        $logger = $this->getMock('Symfony\Component\HttpKernel\Log\LoggerInterface');
-
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
-        $tdispatcher->addListener('foo', $listener1 = function (Event $event) { $event->stopPropagation(); });
-        $tdispatcher->addListener('foo', $listener2 = function () { ; });
-
-        $logger->expects($this->at(0))->method('debug')->with("Notified event \"foo\" to listener \"closure\".");
-        $logger->expects($this->at(1))->method('debug')->with("Listener \"closure\" stopped propagation of the event \"foo\".");
-        $logger->expects($this->at(2))->method('debug')->with("Listener \"closure\" was not called for event \"foo\".");
-
-        $tdispatcher->dispatch('foo');
-    }
-
-    public function testDispatchCallListeners()
-    {
-        $called = array();
-
-        $dispatcher = new EventDispatcher();
-        $tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
-        $tdispatcher->addListener('foo', $listener1 = function () use (&$called) { $called[] = 'foo1'; });
-        $tdispatcher->addListener('foo', $listener2 = function () use (&$called) { $called[] = 'foo2'; });
-
-        $tdispatcher->dispatch('foo');
-
-        $this->assertEquals(array('foo1', 'foo2'), $called);
-    }
-
-    public function testDispatchNested()
-    {
-        $dispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch());
-        $loop = 1;
-        $dispatcher->addListener('foo', $listener1 = function () use ($dispatcher, &$loop) {
-            ++$loop;
-            if (2 == $loop) {
-                $dispatcher->dispatch('foo');
-            }
-        });
-
-        $dispatcher->dispatch('foo');
-    }
-
-    public function testStopwatchSections()
-    {
-        $dispatcher = new TraceableEventDispatcher(new EventDispatcher(), $stopwatch = new Stopwatch());
-        $kernel = $this->getHttpKernel($dispatcher, function () { return new Response(); });
-        $request = Request::create('/');
-        $response = $kernel->handle($request);
-        $kernel->terminate($request, $response);
-
-        $events = $stopwatch->getSectionEvents($response->headers->get('X-Debug-Token'));
-        $this->assertEquals(array(
-            '__section__',
-            'kernel.request',
-            'kernel.request.loading',
-            'kernel.controller',
-            'kernel.controller.loading',
-            'controller',
-            'kernel.response',
-            'kernel.response.loading',
-            'kernel.terminate',
-            'kernel.terminate.loading',
-        ), array_keys($events));
-    }
-
-    protected function getHttpKernel($dispatcher, $controller)
-    {
-        $resolver = $this->getMock('Symfony\Component\HttpKernel\Controller\ControllerResolverInterface');
-        $resolver->expects($this->once())->method('getController')->will($this->returnValue($controller));
-        $resolver->expects($this->once())->method('getArguments')->will($this->returnValue(array()));
-
-        return new HttpKernel($dispatcher, $resolver);
-    }
-}
-
-class EventSubscriber implements EventSubscriberInterface
-{
-    public static function getSubscribedEvents()
-    {
-        return array('foo' => 'call');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php
deleted file mode 100644
index 0800758..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass;
-
-class MergeExtensionConfigurationPassTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\DependencyInjection\Container')) {
-            $this->markTestSkipped('The "DependencyInjection" component is not available');
-        }
-
-        if (!class_exists('Symfony\Component\Config\FileLocator')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-    }
-
-    public function testAutoloadMainExtension()
-    {
-        $container = $this->getMock('Symfony\\Component\\DependencyInjection\\ContainerBuilder');
-        $params = $this->getMock('Symfony\\Component\\DependencyInjection\\ParameterBag\\ParameterBag');
-
-        $container->expects($this->at(0))
-            ->method('getExtensionConfig')
-            ->with('loaded')
-            ->will($this->returnValue(array(array())));
-        $container->expects($this->at(1))
-            ->method('getExtensionConfig')
-            ->with('notloaded')
-            ->will($this->returnValue(array()));
-        $container->expects($this->once())
-            ->method('loadFromExtension')
-            ->with('notloaded', array());
-
-        $container->expects($this->any())
-            ->method('getParameterBag')
-            ->will($this->returnValue($params));
-        $params->expects($this->any())
-            ->method('all')
-            ->will($this->returnValue(array()));
-        $container->expects($this->any())
-            ->method('getDefinitions')
-            ->will($this->returnValue(array()));
-        $container->expects($this->any())
-            ->method('getAliases')
-            ->will($this->returnValue(array()));
-        $container->expects($this->any())
-            ->method('getExtensions')
-            ->will($this->returnValue(array()));
-
-        $configPass = new MergeExtensionConfigurationPass(array('loaded', 'notloaded'));
-        $configPass->process($container);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/EsiListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/EsiListenerTest.php
deleted file mode 100644
index 2eddc57..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/EsiListenerTest.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpKernel\HttpCache\Esi;
-use Symfony\Component\HttpKernel\EventListener\EsiListener;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class EsiListenerTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\EventDispatcher\EventDispatcher')) {
-            $this->markTestSkipped('The "EventDispatcher" component is not available');
-        }
-    }
-
-    public function testFilterDoesNothingForSubRequests()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $response = new Response('foo <esi:include src="" />');
-        $listener = new EsiListener(new Esi());
-
-        $dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'));
-        $event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::SUB_REQUEST, $response);
-        $dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('', $event->getResponse()->headers->get('Surrogate-Control'));
-    }
-
-    public function testFilterWhenThereIsSomeEsiIncludes()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $response = new Response('foo <esi:include src="" />');
-        $listener = new EsiListener(new Esi());
-
-        $dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'));
-        $event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
-        $dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('content="ESI/1.0"', $event->getResponse()->headers->get('Surrogate-Control'));
-    }
-
-    public function testFilterWhenThereIsNoEsiIncludes()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $response = new Response('foo');
-        $listener = new EsiListener(new Esi());
-
-        $dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'));
-        $event = new FilterResponseEvent($kernel, new Request(), HttpKernelInterface::MASTER_REQUEST, $response);
-        $dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('', $event->getResponse()->headers->get('Surrogate-Control'));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ExceptionListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ExceptionListenerTest.php
deleted file mode 100644
index a10ae9b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ExceptionListenerTest.php
+++ /dev/null
@@ -1,138 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\EventListener\ExceptionListener;
-use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;
-use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Tests\Logger;
-
-/**
- * ExceptionListenerTest
- *
- * @author Robert Schönthal <seroscho@googlemail.com>
- */
-class ExceptionListenerTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\EventDispatcher\EventDispatcher')) {
-            $this->markTestSkipped('The "EventDispatcher" component is not available');
-        }
-
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    public function testConstruct()
-    {
-        $logger = new TestLogger();
-        $l = new ExceptionListener('foo', $logger);
-
-        $_logger = new \ReflectionProperty(get_class($l), 'logger');
-        $_logger->setAccessible(true);
-        $_controller = new \ReflectionProperty(get_class($l), 'controller');
-        $_controller->setAccessible(true);
-
-        $this->assertSame($logger, $_logger->getValue($l));
-        $this->assertSame('foo', $_controller->getValue($l));
-    }
-
-    /**
-     * @dataProvider provider
-     */
-    public function testHandleWithoutLogger($event, $event2)
-    {
-        // store the current error_log, and disable it temporarily
-        $errorLog = ini_set('error_log', file_exists('/dev/null') ? '/dev/null' : 'nul');
-
-        $l = new ExceptionListener('foo');
-        $l->onKernelException($event);
-
-        $this->assertEquals(new Response('foo'), $event->getResponse());
-
-        try {
-            $l->onKernelException($event2);
-        } catch (\Exception $e) {
-            $this->assertSame('foo', $e->getMessage());
-        }
-
-        // restore the old error_log
-        ini_set('error_log', $errorLog);
-    }
-
-    /**
-     * @dataProvider provider
-     */
-    public function testHandleWithLogger($event, $event2)
-    {
-        $logger = new TestLogger();
-
-        $l = new ExceptionListener('foo', $logger);
-        $l->onKernelException($event);
-
-        $this->assertEquals(new Response('foo'), $event->getResponse());
-
-        try {
-            $l->onKernelException($event2);
-        } catch (\Exception $e) {
-            $this->assertSame('foo', $e->getMessage());
-        }
-
-        $this->assertEquals(3, $logger->countErrors());
-        $this->assertCount(3, $logger->getLogs('crit'));
-    }
-
-    public function provider()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            return array(array(null, null));
-        }
-
-        $request = new Request();
-        $exception = new \Exception('foo');
-        $event = new GetResponseForExceptionEvent(new TestKernel(), $request, 'foo', $exception);
-        $event2 = new GetResponseForExceptionEvent(new TestKernelThatThrowsException(), $request, 'foo', $exception);
-
-        return array(
-            array($event, $event2)
-        );
-    }
-}
-
-class TestLogger extends Logger implements DebugLoggerInterface
-{
-    public function countErrors()
-    {
-        return count($this->logs['crit']);
-    }
-}
-
-class TestKernel implements HttpKernelInterface
-{
-    public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true)
-    {
-        return new Response('foo');
-    }
-}
-
-class TestKernelThatThrowsException implements HttpKernelInterface
-{
-    public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true)
-    {
-        throw new \Exception('bar');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php
deleted file mode 100644
index 9ca6432..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpKernel\EventListener\LocaleListener;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-
-class LocaleListenerTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\EventDispatcher\EventDispatcher')) {
-            $this->markTestSkipped('The "EventDispatcher" component is not available');
-        }
-    }
-
-    public function testDefaultLocaleWithoutSession()
-    {
-        $listener = new LocaleListener('fr');
-        $event = $this->getEvent($request = Request::create('/'));
-
-        $listener->onKernelRequest($event);
-        $this->assertEquals('fr', $request->getLocale());
-    }
-
-    public function testLocaleFromRequestAttribute()
-    {
-        $request = Request::create('/');
-        session_name('foo');
-        $request->cookies->set('foo', 'value');
-
-        $request->attributes->set('_locale', 'es');
-        $listener = new LocaleListener('fr');
-        $event = $this->getEvent($request);
-
-        $listener->onKernelRequest($event);
-        $this->assertEquals('es', $request->getLocale());
-    }
-
-    public function testLocaleSetForRoutingContext()
-    {
-        if (!class_exists('Symfony\Component\Routing\Router')) {
-            $this->markTestSkipped('The "Routing" component is not available');
-        }
-
-        // the request context is updated
-        $context = $this->getMock('Symfony\Component\Routing\RequestContext');
-        $context->expects($this->once())->method('setParameter')->with('_locale', 'es');
-
-        $router = $this->getMock('Symfony\Component\Routing\Router', array('getContext'), array(), '', false);
-        $router->expects($this->once())->method('getContext')->will($this->returnValue($context));
-
-        $request = Request::create('/');
-
-        $request->attributes->set('_locale', 'es');
-        $listener = new LocaleListener('fr', $router);
-        $listener->onKernelRequest($this->getEvent($request));
-    }
-
-    private function getEvent(Request $request)
-    {
-        return new GetResponseEvent($this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'), $request, HttpKernelInterface::MASTER_REQUEST);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php
deleted file mode 100644
index 3f8e852..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpKernel\EventListener\ResponseListener;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class ResponseListenerTest extends \PHPUnit_Framework_TestCase
-{
-    private $dispatcher;
-
-    private $kernel;
-
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\EventDispatcher\EventDispatcher')) {
-            $this->markTestSkipped('The "EventDispatcher" component is not available');
-        }
-
-        $this->dispatcher = new EventDispatcher();
-        $listener = new ResponseListener('UTF-8');
-        $this->dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'));
-
-        $this->kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-
-    }
-
-    protected function tearDown()
-    {
-        $this->dispatcher = null;
-        $this->kernel = null;
-    }
-
-    public function testFilterDoesNothingForSubRequests()
-    {
-        $response = new Response('foo');
-
-        $event = new FilterResponseEvent($this->kernel, new Request(), HttpKernelInterface::SUB_REQUEST, $response);
-        $this->dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('', $event->getResponse()->headers->get('content-type'));
-    }
-
-    public function testFilterSetsNonDefaultCharsetIfNotOverridden()
-    {
-        $listener = new ResponseListener('ISO-8859-15');
-        $this->dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'), 1);
-
-        $response = new Response('foo');
-
-        $event = new FilterResponseEvent($this->kernel, Request::create('/'), HttpKernelInterface::MASTER_REQUEST, $response);
-        $this->dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('ISO-8859-15', $response->getCharset());
-    }
-
-    public function testFilterDoesNothingIfCharsetIsOverridden()
-    {
-        $listener = new ResponseListener('ISO-8859-15');
-        $this->dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'), 1);
-
-        $response = new Response('foo');
-        $response->setCharset('ISO-8859-1');
-
-        $event = new FilterResponseEvent($this->kernel, Request::create('/'), HttpKernelInterface::MASTER_REQUEST, $response);
-        $this->dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('ISO-8859-1', $response->getCharset());
-    }
-
-    public function testFiltersSetsNonDefaultCharsetIfNotOverriddenOnNonTextContentType()
-    {
-        $listener = new ResponseListener('ISO-8859-15');
-        $this->dispatcher->addListener(KernelEvents::RESPONSE, array($listener, 'onKernelResponse'), 1);
-
-        $response = new Response('foo');
-        $request = Request::create('/');
-        $request->setRequestFormat('application/json');
-
-        $event = new FilterResponseEvent($this->kernel, $request, HttpKernelInterface::MASTER_REQUEST, $response);
-        $this->dispatcher->dispatch(KernelEvents::RESPONSE, $event);
-
-        $this->assertEquals('ISO-8859-15', $response->getCharset());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php
deleted file mode 100644
index 3ba56a8..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php
+++ /dev/null
@@ -1,134 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\EventListener;
-
-use Symfony\Component\HttpKernel\EventListener\RouterListener;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\Event\GetResponseEvent;
-use Symfony\Component\Routing\RequestContext;
-
-class RouterListenerTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\EventDispatcher\EventDispatcher')) {
-            $this->markTestSkipped('The "EventDispatcher" component is not available');
-        }
-
-        if (!class_exists('Symfony\Component\Routing\Router')) {
-            $this->markTestSkipped('The "Routing" component is not available');
-        }
-    }
-
-    /**
-     * @dataProvider getPortData
-     */
-    public function testPort($defaultHttpPort, $defaultHttpsPort, $uri, $expectedHttpPort, $expectedHttpsPort)
-    {
-        $urlMatcher = $this->getMockBuilder('Symfony\Component\Routing\Matcher\UrlMatcherInterface')
-                             ->disableOriginalConstructor()
-                             ->getMock();
-        $context = new RequestContext();
-        $context->setHttpPort($defaultHttpPort);
-        $context->setHttpsPort($defaultHttpsPort);
-        $urlMatcher->expects($this->any())
-                     ->method('getContext')
-                     ->will($this->returnValue($context));
-
-        $listener = new RouterListener($urlMatcher);
-        $event = $this->createGetResponseEventForUri($uri);
-        $listener->onKernelRequest($event);
-
-        $this->assertEquals($expectedHttpPort, $context->getHttpPort());
-        $this->assertEquals($expectedHttpsPort, $context->getHttpsPort());
-        $this->assertEquals(0 === strpos($uri, 'https') ? 'https' : 'http', $context->getScheme());
-    }
-
-    public function getPortData()
-    {
-        return array(
-            array(80, 443, 'http://localhost/', 80, 443),
-            array(80, 443, 'http://localhost:90/', 90, 443),
-            array(80, 443, 'https://localhost/', 80, 443),
-            array(80, 443, 'https://localhost:90/', 80, 90),
-        );
-    }
-
-    /**
-     * @param string $uri
-     *
-     * @return GetResponseEvent
-     */
-    private function createGetResponseEventForUri($uri)
-    {
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $request = Request::create($uri);
-        $request->attributes->set('_controller', null); // Prevents going in to routing process
-
-        return new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testInvalidMatcher()
-    {
-        new RouterListener(new \stdClass());
-    }
-
-    public function testRequestMatcher()
-    {
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $request = Request::create('http://localhost/');
-        $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST);
-
-        $requestMatcher = $this->getMock('Symfony\Component\Routing\Matcher\RequestMatcherInterface');
-        $requestMatcher->expects($this->once())
-                       ->method('matchRequest')
-                       ->with($this->isInstanceOf('Symfony\Component\HttpFoundation\Request'))
-                       ->will($this->returnValue(array()));
-
-        $listener = new RouterListener($requestMatcher, new RequestContext());
-        $listener->onKernelRequest($event);
-    }
-
-    public function testSubRequestWithDifferentMethod()
-    {
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $request = Request::create('http://localhost/', 'post');
-        $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::MASTER_REQUEST);
-
-        $requestMatcher = $this->getMock('Symfony\Component\Routing\Matcher\RequestMatcherInterface');
-        $requestMatcher->expects($this->any())
-                       ->method('matchRequest')
-                       ->with($this->isInstanceOf('Symfony\Component\HttpFoundation\Request'))
-                       ->will($this->returnValue(array()));
-
-        $context = new RequestContext();
-        $requestMatcher->expects($this->any())
-                       ->method('getContext')
-                       ->will($this->returnValue($context));
-
-        $listener = new RouterListener($requestMatcher, new RequestContext());
-        $listener->onKernelRequest($event);
-
-        // sub-request with another HTTP method
-        $kernel = $this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface');
-        $request = Request::create('http://localhost/', 'get');
-        $event = new GetResponseEvent($kernel, $request, HttpKernelInterface::SUB_REQUEST);
-
-        $listener->onKernelRequest($event);
-
-        $this->assertEquals('GET', $context->getMethod());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Exception/FlattenExceptionTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Exception/FlattenExceptionTest.php
deleted file mode 100644
index d51ab6a..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Exception/FlattenExceptionTest.php
+++ /dev/null
@@ -1,235 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Exception;
-
-use Symfony\Component\HttpKernel\Exception\FlattenException;
-use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
-use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
-use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException;
-use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
-use Symfony\Component\HttpKernel\Exception\NotAcceptableHttpException;
-use Symfony\Component\HttpKernel\Exception\ConflictHttpException;
-use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
-use Symfony\Component\HttpKernel\Exception\GoneHttpException;
-use Symfony\Component\HttpKernel\Exception\LengthRequiredHttpException;
-use Symfony\Component\HttpKernel\Exception\PreconditionFailedHttpException;
-use Symfony\Component\HttpKernel\Exception\PreconditionRequiredHttpException;
-use Symfony\Component\HttpKernel\Exception\ServiceUnavailableHttpException;
-use Symfony\Component\HttpKernel\Exception\TooManyRequestsHttpException;
-use Symfony\Component\HttpKernel\Exception\UnsupportedMediaTypeHttpException;
-
-class FlattenExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testStatusCode()
-    {
-        $flattened = FlattenException::create(new \RuntimeException(), 403);
-        $this->assertEquals('403', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new \RuntimeException());
-        $this->assertEquals('500', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new NotFoundHttpException());
-        $this->assertEquals('404', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new UnauthorizedHttpException('Basic realm="My Realm"'));
-        $this->assertEquals('401', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new BadRequestHttpException());
-        $this->assertEquals('400', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new NotAcceptableHttpException());
-        $this->assertEquals('406', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new ConflictHttpException());
-        $this->assertEquals('409', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new MethodNotAllowedHttpException(array('POST')));
-        $this->assertEquals('405', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new AccessDeniedHttpException());
-        $this->assertEquals('403', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new GoneHttpException());
-        $this->assertEquals('410', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new LengthRequiredHttpException());
-        $this->assertEquals('411', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new PreconditionFailedHttpException());
-        $this->assertEquals('412', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new PreconditionRequiredHttpException());
-        $this->assertEquals('428', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new ServiceUnavailableHttpException());
-        $this->assertEquals('503', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new TooManyRequestsHttpException());
-        $this->assertEquals('429', $flattened->getStatusCode());
-
-        $flattened = FlattenException::create(new UnsupportedMediaTypeHttpException());
-        $this->assertEquals('415', $flattened->getStatusCode());
-    }
-
-    public function testHeadersForHttpException()
-    {
-        $flattened = FlattenException::create(new MethodNotAllowedHttpException(array('POST')));
-        $this->assertEquals(array('Allow' => 'POST'), $flattened->getHeaders());
-
-        $flattened = FlattenException::create(new UnauthorizedHttpException('Basic realm="My Realm"'));
-        $this->assertEquals(array('WWW-Authenticate' => 'Basic realm="My Realm"'), $flattened->getHeaders());
-
-        $flattened = FlattenException::create(new ServiceUnavailableHttpException('Fri, 31 Dec 1999 23:59:59 GMT'));
-        $this->assertEquals(array('Retry-After' => 'Fri, 31 Dec 1999 23:59:59 GMT'), $flattened->getHeaders());
-
-        $flattened = FlattenException::create(new ServiceUnavailableHttpException(120));
-        $this->assertEquals(array('Retry-After' => 120), $flattened->getHeaders());
-
-        $flattened = FlattenException::create(new TooManyRequestsHttpException('Fri, 31 Dec 1999 23:59:59 GMT'));
-        $this->assertEquals(array('Retry-After' => 'Fri, 31 Dec 1999 23:59:59 GMT'), $flattened->getHeaders());
-
-        $flattened = FlattenException::create(new TooManyRequestsHttpException(120));
-        $this->assertEquals(array('Retry-After' => 120), $flattened->getHeaders());
-    }
-
-    /**
-     * @dataProvider flattenDataProvider
-     */
-    public function testFlattenHttpException(\Exception $exception, $statusCode)
-    {
-        $flattened = FlattenException::create($exception);
-        $flattened2 = FlattenException::create($exception);
-
-        $flattened->setPrevious($flattened2);
-
-        $this->assertEquals($exception->getMessage(), $flattened->getMessage(), 'The message is copied from the original exception.');
-        $this->assertEquals($exception->getCode(), $flattened->getCode(), 'The code is copied from the original exception.');
-        $this->assertEquals(get_class($exception), $flattened->getClass(), 'The class is set to the class of the original exception');
-
-    }
-
-    /**
-     * @dataProvider flattenDataProvider
-     */
-    public function testPrevious(\Exception $exception, $statusCode)
-    {
-        $flattened = FlattenException::create($exception);
-        $flattened2 = FlattenException::create($exception);
-
-        $flattened->setPrevious($flattened2);
-
-        $this->assertSame($flattened2,$flattened->getPrevious());
-
-        $this->assertSame(array($flattened2),$flattened->getAllPrevious());
-    }
-
-    /**
-     * @dataProvider flattenDataProvider
-     */
-    public function testLine(\Exception $exception)
-    {
-        $flattened = FlattenException::create($exception);
-        $this->assertSame($exception->getLine(), $flattened->getLine());
-    }
-
-    /**
-     * @dataProvider flattenDataProvider
-     */
-    public function testFile(\Exception $exception)
-    {
-        $flattened = FlattenException::create($exception);
-        $this->assertSame($exception->getFile(), $flattened->getFile());
-    }
-
-    /**
-     * @dataProvider flattenDataProvider
-     */
-    public function testToArray(\Exception $exception, $statusCode)
-    {
-        $flattened = FlattenException::create($exception);
-        $flattened->setTrace(array(), 'foo.php', 123);
-
-        $this->assertEquals(array(
-            array(
-                'message'=> 'test',
-                'class'=>'Exception',
-                'trace'=>array(array(
-                    'namespace'   => '', 'short_class' => '', 'class' => '','type' => '','function' => '', 'file' => 'foo.php', 'line' => 123,
-                    'args'        => array()
-                )),
-            )
-        ), $flattened->toArray());
-    }
-
-    public function flattenDataProvider()
-    {
-        return array(
-            array(new \Exception('test', 123), 500),
-        );
-    }
-
-    public function testRecursionInArguments()
-    {
-        $a = array('foo', array(2, &$a));
-        $exception = $this->createException($a);
-
-        $flattened = FlattenException::create($exception);
-        $trace = $flattened->getTrace();
-        $this->assertContains('*DEEP NESTED ARRAY*', serialize($trace));
-    }
-
-    private function createException($foo)
-    {
-        return new \Exception();
-    }
-
-    public function testSetTraceIncompleteClass()
-    {
-        $flattened = FlattenException::create(new \Exception('test', 123));
-        $flattened->setTrace(
-            array(
-                array(
-                    'file' => __FILE__,
-                    'line' => 123,
-                    'function' => 'test',
-                    'args' => array(
-                        unserialize('O:14:"BogusTestClass":0:{}')
-                    ),
-                ),
-            ),
-            'foo.php', 123
-        );
-
-        $this->assertEquals(array(
-            array(
-                'message'=> 'test',
-                'class'=>'Exception',
-                'trace'=>array(
-                    array(
-                        'namespace'   => '', 'short_class' => '', 'class' => '','type' => '','function' => '',
-                        'file'        => 'foo.php', 'line' => 123,
-                        'args'        => array(),
-                    ),
-                    array(
-                        'namespace'   => '', 'short_class' => '', 'class' => '','type' => '','function' => 'test',
-                        'file'        => __FILE__, 'line' => 123,
-                        'args'        => array(
-                            array(
-                                'incomplete-object', 'BogusTestClass'
-                            ),
-                        ),
-                    )
-                ),
-            )
-        ), $flattened->toArray());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/hide.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/hide.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/bar.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/bar.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle2Bundle/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle2Bundle/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/hide.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/hide.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php
deleted file mode 100644
index c8bfd36..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionAbsentBundle;
-
-use Symfony\Component\HttpKernel\Bundle\Bundle;
-
-class ExtensionAbsentBundle extends Bundle
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php
deleted file mode 100644
index 3b31781..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionLoadedBundle\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\HttpKernel\DependencyInjection\Extension;
-
-class ExtensionLoadedExtension extends Extension
-{
-    public function load(array $configs, ContainerBuilder $container)
-    {
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php
deleted file mode 100644
index 3af81cb..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionLoadedBundle;
-
-use Symfony\Component\HttpKernel\Bundle\Bundle;
-
-class ExtensionLoadedBundle extends Bundle
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php
deleted file mode 100644
index bfe189b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\Command;
-
-use Symfony\Component\Console\Command\Command;
-
-class FooCommand extends Command
-{
-    protected function configure()
-    {
-        $this->setName('foo');
-    }
-
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php
deleted file mode 100644
index e42f816..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\DependencyInjection;
-
-use Symfony\Component\DependencyInjection\ContainerBuilder;
-use Symfony\Component\HttpKernel\DependencyInjection\Extension;
-
-class ExtensionPresentExtension extends Extension
-{
-    public function load(array $configs, ContainerBuilder $container)
-    {
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php
deleted file mode 100644
index 36a7ad4..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle;
-
-use Symfony\Component\HttpKernel\Bundle\Bundle;
-
-class ExtensionPresentBundle extends Bundle
-{
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/FooBarBundle.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/FooBarBundle.php
deleted file mode 100644
index f940f83..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/FooBarBundle.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures;
-
-use Symfony\Component\HttpKernel\Bundle\Bundle;
-
-class FooBarBundle extends Bundle
-{
-    // We need a full namespaced bundle instance to test isClassInActiveBundle
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForOverrideName.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForOverrideName.php
deleted file mode 100644
index 32c05f4..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForOverrideName.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures;
-
-use Symfony\Component\HttpKernel\Kernel;
-use Symfony\Component\Config\Loader\LoaderInterface;
-
-class KernelForOverrideName extends Kernel
-{
-    protected $name = 'overridden';
-
-    public function registerBundles()
-    {
-
-    }
-
-    public function registerContainerConfiguration(LoaderInterface $loader)
-    {
-
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTest.php
deleted file mode 100644
index e24daef..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTest.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures;
-
-use Symfony\Component\HttpKernel\Kernel;
-use Symfony\Component\Config\Loader\LoaderInterface;
-
-class KernelForTest extends Kernel
-{
-    public function getBundleMap()
-    {
-        return $this->bundleMap;
-    }
-
-    public function registerBundles()
-    {
-    }
-
-    public function init()
-    {
-    }
-
-    public function registerBundleDirs()
-    {
-    }
-
-    public function registerContainerConfiguration(LoaderInterface $loader)
-    {
-    }
-
-    public function initializeBundles()
-    {
-        parent::initializeBundles();
-    }
-
-    public function isBooted()
-    {
-        return $this->booted;
-    }
-
-    public function setIsBooted($value)
-    {
-        $this->booted = (Boolean) $value;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/BaseBundle/hide.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/BaseBundle/hide.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/ChildBundle/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/ChildBundle/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/FooBundle/foo.txt b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/FooBundle/foo.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestClient.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestClient.php
deleted file mode 100644
index e7d60cf..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestClient.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures;
-
-use Symfony\Component\HttpKernel\Client;
-
-class TestClient extends Client
-{
-    protected function getScript($request)
-    {
-        $script = parent::getScript($request);
-
-        $autoload = file_exists(__DIR__.'/../../vendor/autoload.php')
-            ? __DIR__.'/../../vendor/autoload.php'
-            : __DIR__.'/../../../../../../vendor/autoload.php'
-        ;
-
-        $script = preg_replace('/(\->register\(\);)/', "$0\nrequire_once '$autoload';\n", $script);
-
-        return $script;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php
deleted file mode 100644
index da7ef5b..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Fixtures;
-
-use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcherInterface;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class TestEventDispatcher extends EventDispatcher implements TraceableEventDispatcherInterface
-{
-    public function getCalledListeners()
-    {
-        return array('foo');
-    }
-
-    public function getNotCalledListeners()
-    {
-        return array('bar');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php
deleted file mode 100644
index 7180da1..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php
+++ /dev/null
@@ -1,227 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpKernel\HttpCache\Esi;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class EsiTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    public function testHasSurrogateEsiCapability()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $request->headers->set('Surrogate-Capability', 'abc="ESI/1.0"');
-        $this->assertTrue($esi->hasSurrogateEsiCapability($request));
-
-        $request = Request::create('/');
-        $request->headers->set('Surrogate-Capability', 'foobar');
-        $this->assertFalse($esi->hasSurrogateEsiCapability($request));
-
-        $request = Request::create('/');
-        $this->assertFalse($esi->hasSurrogateEsiCapability($request));
-    }
-
-    public function testAddSurrogateEsiCapability()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $esi->addSurrogateEsiCapability($request);
-        $this->assertEquals('symfony2="ESI/1.0"', $request->headers->get('Surrogate-Capability'));
-
-        $esi->addSurrogateEsiCapability($request);
-        $this->assertEquals('symfony2="ESI/1.0", symfony2="ESI/1.0"', $request->headers->get('Surrogate-Capability'));
-    }
-
-    public function testAddSurrogateControl()
-    {
-        $esi = new Esi();
-
-        $response = new Response('foo <esi:include src="" />');
-        $esi->addSurrogateControl($response);
-        $this->assertEquals('content="ESI/1.0"', $response->headers->get('Surrogate-Control'));
-
-        $response = new Response('foo');
-        $esi->addSurrogateControl($response);
-        $this->assertEquals('', $response->headers->get('Surrogate-Control'));
-    }
-
-    public function testNeedsEsiParsing()
-    {
-        $esi = new Esi();
-
-        $response = new Response();
-        $response->headers->set('Surrogate-Control', 'content="ESI/1.0"');
-        $this->assertTrue($esi->needsEsiParsing($response));
-
-        $response = new Response();
-        $this->assertFalse($esi->needsEsiParsing($response));
-    }
-
-    public function testRenderIncludeTag()
-    {
-        $esi = new Esi();
-
-        $this->assertEquals('<esi:include src="/" onerror="continue" alt="/alt" />', $esi->renderIncludeTag('/', '/alt', true));
-        $this->assertEquals('<esi:include src="/" alt="/alt" />', $esi->renderIncludeTag('/', '/alt', false));
-        $this->assertEquals('<esi:include src="/" onerror="continue" />', $esi->renderIncludeTag('/'));
-        $this->assertEquals('<esi:comment text="some comment" />'."\n".'<esi:include src="/" onerror="continue" alt="/alt" />', $esi->renderIncludeTag('/', '/alt', true, 'some comment'));
-    }
-
-    public function testProcessDoesNothingIfContentTypeIsNotHtml()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $response = new Response();
-        $response->headers->set('Content-Type', 'text/plain');
-        $esi->process($request, $response);
-
-        $this->assertFalse($response->headers->has('x-body-eval'));
-    }
-
-    public function testProcess()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $response = new Response('foo <esi:comment text="some comment" /><esi:include src="..." alt="alt" onerror="continue" />');
-        $esi->process($request, $response);
-
-        $this->assertEquals('foo <?php echo $this->esi->handle($this, \'...\', \'alt\', true) ?>'."\n", $response->getContent());
-        $this->assertEquals('ESI', $response->headers->get('x-body-eval'));
-
-        $response = new Response('foo <esi:include src="..." />');
-        $esi->process($request, $response);
-
-        $this->assertEquals('foo <?php echo $this->esi->handle($this, \'...\', \'\', false) ?>'."\n", $response->getContent());
-
-        $response = new Response('foo <esi:include src="..."></esi:include>');
-        $esi->process($request, $response);
-
-        $this->assertEquals('foo <?php echo $this->esi->handle($this, \'...\', \'\', false) ?>'."\n", $response->getContent());
-    }
-
-    public function testProcessEscapesPhpTags()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $response = new Response('foo <?php die("foo"); ?><%= "lala" %>');
-        $esi->process($request, $response);
-
-        $this->assertEquals('foo <?php echo "<?"; ?>php die("foo"); ?><?php echo "<%"; ?>= "lala" %>', $response->getContent());
-    }
-
-    /**
-     * @expectedException RuntimeException
-     */
-    public function testProcessWhenNoSrcInAnEsi()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $response = new Response('foo <esi:include />');
-        $esi->process($request, $response);
-    }
-
-    public function testProcessRemoveSurrogateControlHeader()
-    {
-        $esi = new Esi();
-
-        $request = Request::create('/');
-        $response = new Response('foo <esi:include src="..." />');
-        $response->headers->set('Surrogate-Control', 'content="ESI/1.0"');
-        $esi->process($request, $response);
-        $this->assertEquals('ESI', $response->headers->get('x-body-eval'));
-
-        $response->headers->set('Surrogate-Control', 'no-store, content="ESI/1.0"');
-        $esi->process($request, $response);
-        $this->assertEquals('ESI', $response->headers->get('x-body-eval'));
-        $this->assertEquals('no-store', $response->headers->get('surrogate-control'));
-
-        $response->headers->set('Surrogate-Control', 'content="ESI/1.0", no-store');
-        $esi->process($request, $response);
-        $this->assertEquals('ESI', $response->headers->get('x-body-eval'));
-        $this->assertEquals('no-store', $response->headers->get('surrogate-control'));
-    }
-
-    public function testHandle()
-    {
-        $esi = new Esi();
-        $cache = $this->getCache(Request::create('/'), new Response('foo'));
-        $this->assertEquals('foo', $esi->handle($cache, '/', '/alt', true));
-    }
-
-    /**
-     * @expectedException RuntimeException
-     */
-    public function testHandleWhenResponseIsNot200()
-    {
-        $esi = new Esi();
-        $response = new Response('foo');
-        $response->setStatusCode(404);
-        $cache = $this->getCache(Request::create('/'), $response);
-        $esi->handle($cache, '/', '/alt', false);
-    }
-
-    public function testHandleWhenResponseIsNot200AndErrorsAreIgnored()
-    {
-        $esi = new Esi();
-        $response = new Response('foo');
-        $response->setStatusCode(404);
-        $cache = $this->getCache(Request::create('/'), $response);
-        $this->assertEquals('', $esi->handle($cache, '/', '/alt', true));
-    }
-
-    public function testHandleWhenResponseIsNot200AndAltIsPresent()
-    {
-        $esi = new Esi();
-        $response1 = new Response('foo');
-        $response1->setStatusCode(404);
-        $response2 = new Response('bar');
-        $cache = $this->getCache(Request::create('/'), array($response1, $response2));
-        $this->assertEquals('bar', $esi->handle($cache, '/', '/alt', false));
-    }
-
-    protected function getCache($request, $response)
-    {
-        $cache = $this->getMock('Symfony\Component\HttpKernel\HttpCache\HttpCache', array('getRequest', 'handle'), array(), '', false);
-        $cache->expects($this->any())
-              ->method('getRequest')
-              ->will($this->returnValue($request))
-        ;
-        if (is_array($response)) {
-            $cache->expects($this->any())
-                  ->method('handle')
-                  ->will(call_user_func_array(array($this, 'onConsecutiveCalls'), $response))
-            ;
-        } else {
-            $cache->expects($this->any())
-                  ->method('handle')
-                  ->will($this->returnValue($response))
-            ;
-        }
-
-        return $cache;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php
deleted file mode 100644
index 5060a69..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php
+++ /dev/null
@@ -1,1037 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpKernel\HttpCache\HttpCache;
-use Symfony\Component\HttpKernel\HttpCache\StoreInterface;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class HttpCacheTest extends HttpCacheTestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    public function testTerminateDelegatesTerminationOnlyForTerminableInterface()
-    {
-        if (!class_exists('Symfony\Component\DependencyInjection\Container')) {
-            $this->markTestSkipped('The "DependencyInjection" component is not available');
-        }
-
-        $storeMock = $this->getMockBuilder('Symfony\\Component\\HttpKernel\\HttpCache\\StoreInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        // does not implement TerminableInterface
-        $kernelMock = $this->getMockBuilder('Symfony\\Component\\HttpKernel\\HttpKernelInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $kernelMock->expects($this->never())
-            ->method('terminate');
-
-        $kernel = new HttpCache($kernelMock, $storeMock);
-        $kernel->terminate(Request::create('/'), new Response());
-
-        // implements TerminableInterface
-        $kernelMock = $this->getMockBuilder('Symfony\\Component\\HttpKernel\\Kernel')
-            ->disableOriginalConstructor()
-            ->setMethods(array('terminate', 'registerBundles', 'registerContainerConfiguration'))
-            ->getMock();
-
-        $kernelMock->expects($this->once())
-            ->method('terminate');
-
-        $kernel = new HttpCache($kernelMock, $storeMock);
-        $kernel->terminate(Request::create('/'), new Response());
-    }
-
-    public function testPassesOnNonGetHeadRequests()
-    {
-        $this->setNextResponse(200);
-        $this->request('POST', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertResponseOk();
-        $this->assertTraceContains('pass');
-        $this->assertFalse($this->response->headers->has('Age'));
-    }
-
-    public function testInvalidatesOnPostPutDeleteRequests()
-    {
-        foreach (array('post', 'put', 'delete') as $method) {
-            $this->setNextResponse(200);
-            $this->request($method, '/');
-
-            $this->assertHttpKernelIsCalled();
-            $this->assertResponseOk();
-            $this->assertTraceContains('invalidate');
-            $this->assertTraceContains('pass');
-        }
-    }
-
-    public function testDoesNotCacheWithAuthorizationRequestHeaderAndNonPublicResponse()
-    {
-        $this->setNextResponse(200, array('ETag' => '"Foo"'));
-        $this->request('GET', '/', array('HTTP_AUTHORIZATION' => 'basic foobarbaz'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertResponseOk();
-        $this->assertEquals('private', $this->response->headers->get('Cache-Control'));
-
-        $this->assertTraceContains('miss');
-        $this->assertTraceNotContains('store');
-        $this->assertFalse($this->response->headers->has('Age'));
-    }
-
-    public function testDoesCacheWithAuthorizationRequestHeaderAndPublicResponse()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'ETag' => '"Foo"'));
-        $this->request('GET', '/', array('HTTP_AUTHORIZATION' => 'basic foobarbaz'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertResponseOk();
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertTrue($this->response->headers->has('Age'));
-        $this->assertEquals('public', $this->response->headers->get('Cache-Control'));
-    }
-
-    public function testDoesNotCacheWithCookieHeaderAndNonPublicResponse()
-    {
-        $this->setNextResponse(200, array('ETag' => '"Foo"'));
-        $this->request('GET', '/', array(), array('foo' => 'bar'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertResponseOk();
-        $this->assertEquals('private', $this->response->headers->get('Cache-Control'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceNotContains('store');
-        $this->assertFalse($this->response->headers->has('Age'));
-    }
-
-    public function testDoesNotCacheRequestsWithACookieHeader()
-    {
-        $this->setNextResponse(200);
-        $this->request('GET', '/', array(), array('foo' => 'bar'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertResponseOk();
-        $this->assertEquals('private', $this->response->headers->get('Cache-Control'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceNotContains('store');
-        $this->assertFalse($this->response->headers->has('Age'));
-    }
-
-    public function testRespondsWith304WhenIfModifiedSinceMatchesLastModified()
-    {
-        $time = new \DateTime();
-
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Last-Modified' => $time->format(DATE_RFC2822), 'Content-Type' => 'text/plain'), 'Hello World');
-        $this->request('GET', '/', array('HTTP_IF_MODIFIED_SINCE' => $time->format(DATE_RFC2822)));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(304, $this->response->getStatusCode());
-        $this->assertEquals('text/html; charset=UTF-8', $this->response->headers->get('Content-Type'));
-        $this->assertEmpty($this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-    }
-
-    public function testRespondsWith304WhenIfNoneMatchMatchesETag()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'ETag' => '12345', 'Content-Type' => 'text/plain'), 'Hello World');
-        $this->request('GET', '/', array('HTTP_IF_NONE_MATCH' => '12345'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(304, $this->response->getStatusCode());
-        $this->assertEquals('text/html; charset=UTF-8', $this->response->headers->get('Content-Type'));
-        $this->assertTrue($this->response->headers->has('ETag'));
-        $this->assertEmpty($this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-    }
-
-    public function testRespondsWith304OnlyIfIfNoneMatchAndIfModifiedSinceBothMatch()
-    {
-        $time = new \DateTime();
-
-        $this->setNextResponse(200, array(), '', function ($request, $response) use ($time) {
-            $response->setStatusCode(200);
-            $response->headers->set('ETag', '12345');
-            $response->headers->set('Last-Modified', $time->format(DATE_RFC2822));
-            $response->headers->set('Content-Type', 'text/plain');
-            $response->setContent('Hello World');
-        });
-
-        // only ETag matches
-        $t = \DateTime::createFromFormat('U', time() - 3600);
-        $this->request('GET', '/', array('HTTP_IF_NONE_MATCH' => '12345', 'HTTP_IF_MODIFIED_SINCE' => $t->format(DATE_RFC2822)));
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-
-        // only Last-Modified matches
-        $this->request('GET', '/', array('HTTP_IF_NONE_MATCH' => '1234', 'HTTP_IF_MODIFIED_SINCE' => $time->format(DATE_RFC2822)));
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-
-        // Both matches
-        $this->request('GET', '/', array('HTTP_IF_NONE_MATCH' => '12345', 'HTTP_IF_MODIFIED_SINCE' => $time->format(DATE_RFC2822)));
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(304, $this->response->getStatusCode());
-    }
-
-    public function testValidatesPrivateResponsesCachedOnTheClient()
-    {
-        $this->setNextResponse(200, array(), '', function ($request, $response) {
-            $etags = preg_split('/\s*,\s*/', $request->headers->get('IF_NONE_MATCH'));
-            if ($request->cookies->has('authenticated')) {
-                $response->headers->set('Cache-Control', 'private, no-store');
-                $response->setETag('"private tag"');
-                if (in_array('"private tag"', $etags)) {
-                    $response->setStatusCode(304);
-                } else {
-                    $response->setStatusCode(200);
-                    $response->headers->set('Content-Type', 'text/plain');
-                    $response->setContent('private data');
-                }
-            } else {
-                $response->headers->set('Cache-Control', 'public');
-                $response->setETag('"public tag"');
-                if (in_array('"public tag"', $etags)) {
-                    $response->setStatusCode(304);
-                } else {
-                    $response->setStatusCode(200);
-                    $response->headers->set('Content-Type', 'text/plain');
-                    $response->setContent('public data');
-                }
-            }
-        });
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('"public tag"', $this->response->headers->get('ETag'));
-        $this->assertEquals('public data', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/', array(), array('authenticated' => ''));
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('"private tag"', $this->response->headers->get('ETag'));
-        $this->assertEquals('private data', $this->response->getContent());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('invalid');
-        $this->assertTraceNotContains('store');
-    }
-
-    public function testStoresResponsesWhenNoCacheRequestDirectivePresent()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Expires' => $time->format(DATE_RFC2822)));
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'no-cache'));
-
-        $this->assertHttpKernelIsCalled();
-        $this->assertTraceContains('store');
-        $this->assertTrue($this->response->headers->has('Age'));
-    }
-
-    public function testReloadsResponsesWhenCacheHitsButNoCacheRequestDirectivePresentWhenAllowReloadIsSetTrue()
-    {
-        $count = 0;
-
-        $this->setNextResponse(200, array('Cache-Control' => 'public, max-age=10000'), '', function ($request, $response) use (&$count) {
-            ++$count;
-            $response->setContent(1 == $count ? 'Hello World' : 'Goodbye World');
-        });
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-
-        $this->cacheConfig['allow_reload'] = true;
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'no-cache'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Goodbye World', $this->response->getContent());
-        $this->assertTraceContains('reload');
-        $this->assertTraceContains('store');
-    }
-
-    public function testDoesNotReloadResponsesWhenAllowReloadIsSetFalseDefault()
-    {
-        $count = 0;
-
-        $this->setNextResponse(200, array('Cache-Control' => 'public, max-age=10000'), '', function ($request, $response) use (&$count) {
-            ++$count;
-            $response->setContent(1 == $count ? 'Hello World' : 'Goodbye World');
-        });
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-
-        $this->cacheConfig['allow_reload'] = false;
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'no-cache'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceNotContains('reload');
-
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'no-cache'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceNotContains('reload');
-    }
-
-    public function testRevalidatesFreshCacheEntryWhenMaxAgeRequestDirectiveIsExceededWhenAllowRevalidateOptionIsSetTrue()
-    {
-        $count = 0;
-
-        $this->setNextResponse(200, array(), '', function ($request, $response) use (&$count) {
-            ++$count;
-            $response->headers->set('Cache-Control', 'public, max-age=10000');
-            $response->setETag($count);
-            $response->setContent(1 == $count ? 'Hello World' : 'Goodbye World');
-        });
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-
-        $this->cacheConfig['allow_revalidate'] = true;
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'max-age=0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Goodbye World', $this->response->getContent());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('invalid');
-        $this->assertTraceContains('store');
-    }
-
-    public function testDoesNotRevalidateFreshCacheEntryWhenEnableRevalidateOptionIsSetFalseDefault()
-    {
-        $count = 0;
-
-        $this->setNextResponse(200, array(), '', function ($request, $response) use (&$count) {
-            ++$count;
-            $response->headers->set('Cache-Control', 'public, max-age=10000');
-            $response->setETag($count);
-            $response->setContent(1 == $count ? 'Hello World' : 'Goodbye World');
-        });
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-
-        $this->cacheConfig['allow_revalidate'] = false;
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'max-age=0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceNotContains('stale');
-        $this->assertTraceNotContains('invalid');
-        $this->assertTraceContains('fresh');
-
-        $this->request('GET', '/', array('HTTP_CACHE_CONTROL' => 'max-age=0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceNotContains('stale');
-        $this->assertTraceNotContains('invalid');
-        $this->assertTraceContains('fresh');
-    }
-
-    public function testFetchesResponseFromBackendWhenCacheMisses()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Expires' => $time->format(DATE_RFC2822)));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('miss');
-        $this->assertTrue($this->response->headers->has('Age'));
-    }
-
-    public function testDoesNotCacheSomeStatusCodeResponses()
-    {
-        foreach (array_merge(range(201, 202), range(204, 206), range(303, 305), range(400, 403), range(405, 409), range(411, 417), range(500, 505)) as $code) {
-            $time = \DateTime::createFromFormat('U', time() + 5);
-            $this->setNextResponse($code, array('Expires' => $time->format(DATE_RFC2822)));
-
-            $this->request('GET', '/');
-            $this->assertEquals($code, $this->response->getStatusCode());
-            $this->assertTraceNotContains('store');
-            $this->assertFalse($this->response->headers->has('Age'));
-        }
-    }
-
-    public function testDoesNotCacheResponsesWithExplicitNoStoreDirective()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Expires' => $time->format(DATE_RFC2822), 'Cache-Control' => 'no-store'));
-
-        $this->request('GET', '/');
-        $this->assertTraceNotContains('store');
-        $this->assertFalse($this->response->headers->has('Age'));
-    }
-
-    public function testDoesNotCacheResponsesWithoutFreshnessInformationOrAValidator()
-    {
-        $this->setNextResponse();
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceNotContains('store');
-    }
-
-    public function testCachesResponsesWithExplicitNoCacheDirective()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Expires' => $time->format(DATE_RFC2822), 'Cache-Control' => 'public, no-cache'));
-
-        $this->request('GET', '/');
-        $this->assertTraceContains('store');
-        $this->assertTrue($this->response->headers->has('Age'));
-    }
-
-    public function testCachesResponsesWithAnExpirationHeader()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Expires' => $time->format(DATE_RFC2822)));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        $values = $this->getMetaStorageValues();
-        $this->assertCount(1, $values);
-    }
-
-    public function testCachesResponsesWithAMaxAgeDirective()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 'public, max-age=5'));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        $values = $this->getMetaStorageValues();
-        $this->assertCount(1, $values);
-    }
-
-    public function testCachesResponsesWithASMaxAgeDirective()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 's-maxage=5'));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        $values = $this->getMetaStorageValues();
-        $this->assertCount(1, $values);
-    }
-
-    public function testCachesResponsesWithALastModifiedValidatorButNoFreshnessInformation()
-    {
-        $time = \DateTime::createFromFormat('U', time());
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Last-Modified' => $time->format(DATE_RFC2822)));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-    }
-
-    public function testCachesResponsesWithAnETagValidatorButNoFreshnessInformation()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'ETag' => '"123456"'));
-
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-    }
-
-    public function testHitsCachedResponsesWithExpiresHeader()
-    {
-        $time1 = \DateTime::createFromFormat('U', time() - 5);
-        $time2 = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Date' => $time1->format(DATE_RFC2822), 'Expires' => $time2->format(DATE_RFC2822)));
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTrue(strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')) < 2);
-        $this->assertTrue($this->response->headers->get('Age') > 0);
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-    }
-
-    public function testHitsCachedResponseWithMaxAgeDirective()
-    {
-        $time = \DateTime::createFromFormat('U', time() - 5);
-        $this->setNextResponse(200, array('Date' => $time->format(DATE_RFC2822), 'Cache-Control' => 'public, max-age=10'));
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTrue(strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')) < 2);
-        $this->assertTrue($this->response->headers->get('Age') > 0);
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-    }
-
-    public function testHitsCachedResponseWithSMaxAgeDirective()
-    {
-        $time = \DateTime::createFromFormat('U', time() - 5);
-        $this->setNextResponse(200, array('Date' => $time->format(DATE_RFC2822), 'Cache-Control' => 's-maxage=10, max-age=0'));
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTrue(strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')) < 2);
-        $this->assertTrue($this->response->headers->get('Age') > 0);
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-    }
-
-    public function testAssignsDefaultTtlWhenResponseHasNoFreshnessInformation()
-    {
-        $this->setNextResponse();
-
-        $this->cacheConfig['default_ttl'] = 10;
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertRegExp('/s-maxage=10/', $this->response->headers->get('Cache-Control'));
-
-        $this->cacheConfig['default_ttl'] = 10;
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-    }
-
-    public function testDoesNotAssignDefaultTtlWhenResponseHasMustRevalidateDirective()
-    {
-        $this->setNextResponse(200, array('Cache-Control' => 'must-revalidate'));
-
-        $this->cacheConfig['default_ttl'] = 10;
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('miss');
-        $this->assertTraceNotContains('store');
-        $this->assertNotRegExp('/s-maxage/', $this->response->headers->get('Cache-Control'));
-        $this->assertEquals('Hello World', $this->response->getContent());
-    }
-
-    public function testFetchesFullResponseWhenCacheStaleAndNoValidatorsPresent()
-    {
-        $time = \DateTime::createFromFormat('U', time() + 5);
-        $this->setNextResponse(200, array('Cache-Control' => 'public', 'Expires' => $time->format(DATE_RFC2822)));
-
-        // build initial request
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Date'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertNotNull($this->response->headers->get('Age'));
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        # go in and play around with the cached metadata directly ...
-        $values = $this->getMetaStorageValues();
-        $this->assertCount(1, $values);
-        $tmp = unserialize($values[0]);
-        $time = \DateTime::createFromFormat('U', time());
-        $tmp[0][1]['expires'] = $time->format(DATE_RFC2822);
-        $r = new \ReflectionObject($this->store);
-        $m = $r->getMethod('save');
-        $m->setAccessible(true);
-        $m->invoke($this->store, 'md'.sha1('http://localhost/'), serialize($tmp));
-
-        // build subsequent request; should be found but miss due to freshness
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTrue($this->response->headers->get('Age') <= 1);
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTraceContains('stale');
-        $this->assertTraceNotContains('fresh');
-        $this->assertTraceNotContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Hello World', $this->response->getContent());
-    }
-
-    public function testValidatesCachedResponsesWithLastModifiedAndNoFreshnessInformation()
-    {
-        $time = \DateTime::createFromFormat('U', time());
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) use ($time) {
-            $response->headers->set('Cache-Control', 'public');
-            $response->headers->set('Last-Modified', $time->format(DATE_RFC2822));
-            if ($time->format(DATE_RFC2822) == $request->headers->get('IF_MODIFIED_SINCE')) {
-                $response->setStatusCode(304);
-                $response->setContent('');
-            }
-        });
-
-        // build initial request
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Last-Modified'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertTraceNotContains('stale');
-
-        // build subsequent request; should be found but miss due to freshness
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('Last-Modified'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTrue($this->response->headers->get('Age') <= 1);
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('valid');
-        $this->assertTraceContains('store');
-        $this->assertTraceNotContains('miss');
-    }
-
-    public function testValidatesCachedResponsesWithETagAndNoFreshnessInformation()
-    {
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) {
-            $response->headers->set('Cache-Control', 'public');
-            $response->headers->set('ETag', '"12345"');
-            if ($response->getETag() == $request->headers->get('IF_NONE_MATCH')) {
-                $response->setStatusCode(304);
-                $response->setContent('');
-            }
-        });
-
-        // build initial request
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('ETag'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        // build subsequent request; should be found but miss due to freshness
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertNotNull($this->response->headers->get('ETag'));
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $this->assertTrue($this->response->headers->get('Age') <= 1);
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('valid');
-        $this->assertTraceContains('store');
-        $this->assertTraceNotContains('miss');
-    }
-
-    public function testReplacesCachedResponsesWhenValidationResultsInNon304Response()
-    {
-        $time = \DateTime::createFromFormat('U', time());
-        $count = 0;
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) use ($time, &$count) {
-            $response->headers->set('Last-Modified', $time->format(DATE_RFC2822));
-            $response->headers->set('Cache-Control', 'public');
-            switch (++$count) {
-                case 1:
-                    $response->setContent('first response');
-                    break;
-                case 2:
-                    $response->setContent('second response');
-                    break;
-                case 3:
-                    $response->setContent('');
-                    $response->setStatusCode(304);
-                    break;
-            }
-        });
-
-        // first request should fetch from backend and store in cache
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('first response', $this->response->getContent());
-
-        // second request is validated, is invalid, and replaces cached entry
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('second response', $this->response->getContent());
-
-        // third response is validated, valid, and returns cached entry
-        $this->request('GET', '/');
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('second response', $this->response->getContent());
-
-        $this->assertEquals(3, $count);
-    }
-
-    public function testPassesHeadRequestsThroughDirectlyOnPass()
-    {
-        $that = $this;
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) use ($that) {
-            $response->setContent('');
-            $response->setStatusCode(200);
-            $that->assertEquals('HEAD', $request->getMethod());
-        });
-
-        $this->request('HEAD', '/', array('HTTP_EXPECT' => 'something ...'));
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals('', $this->response->getContent());
-    }
-
-    public function testUsesCacheToRespondToHeadRequestsWhenFresh()
-    {
-        $that = $this;
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) use ($that) {
-            $response->headers->set('Cache-Control', 'public, max-age=10');
-            $response->setContent('Hello World');
-            $response->setStatusCode(200);
-            $that->assertNotEquals('HEAD', $request->getMethod());
-        });
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        $this->request('HEAD', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('', $this->response->getContent());
-        $this->assertEquals(strlen('Hello World'), $this->response->headers->get('Content-Length'));
-    }
-
-    public function testSendsNoContentWhenFresh()
-    {
-        $time = \DateTime::createFromFormat('U', time());
-        $that = $this;
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) use ($that, $time) {
-            $response->headers->set('Cache-Control', 'public, max-age=10');
-            $response->headers->set('Last-Modified', $time->format(DATE_RFC2822));
-        });
-
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals('Hello World', $this->response->getContent());
-
-        $this->request('GET', '/', array('HTTP_IF_MODIFIED_SINCE' => $time->format(DATE_RFC2822)));
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(304, $this->response->getStatusCode());
-        $this->assertEquals('', $this->response->getContent());
-    }
-
-    public function testInvalidatesCachedResponsesOnPost()
-    {
-        $this->setNextResponse(200, array(), 'Hello World', function ($request, $response) {
-            if ('GET' == $request->getMethod()) {
-                $response->setStatusCode(200);
-                $response->headers->set('Cache-Control', 'public, max-age=500');
-                $response->setContent('Hello World');
-            } elseif ('POST' == $request->getMethod()) {
-                $response->setStatusCode(303);
-                $response->headers->set('Location', '/');
-                $response->headers->remove('Cache-Control');
-                $response->setContent('');
-            }
-        });
-
-        // build initial request to enter into the cache
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        // make sure it is valid
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsNotCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-
-        // now POST to same URL
-        $this->request('POST', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals('/', $this->response->headers->get('Location'));
-        $this->assertTraceContains('invalidate');
-        $this->assertTraceContains('pass');
-        $this->assertEquals('', $this->response->getContent());
-
-        // now make sure it was actually invalidated
-        $this->request('GET', '/');
-        $this->assertHttpKernelIsCalled();
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Hello World', $this->response->getContent());
-        $this->assertTraceContains('stale');
-        $this->assertTraceContains('invalid');
-        $this->assertTraceContains('store');
-    }
-
-    public function testServesFromCacheWhenHeadersMatch()
-    {
-        $count = 0;
-        $this->setNextResponse(200, array('Cache-Control' => 'max-age=10000'), '', function ($request, $response) use (&$count) {
-            $response->headers->set('Vary', 'Accept User-Agent Foo');
-            $response->headers->set('Cache-Control', 'public, max-age=10');
-            $response->headers->set('X-Response-Count', ++$count);
-            $response->setContent($request->headers->get('USER_AGENT'));
-        });
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/1.0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Bob/1.0', $this->response->getContent());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/1.0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Bob/1.0', $this->response->getContent());
-        $this->assertTraceContains('fresh');
-        $this->assertTraceNotContains('store');
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-    }
-
-    public function testStoresMultipleResponsesWhenHeadersDiffer()
-    {
-        $count = 0;
-        $this->setNextResponse(200, array('Cache-Control' => 'max-age=10000'), '', function ($request, $response) use (&$count) {
-            $response->headers->set('Vary', 'Accept User-Agent Foo');
-            $response->headers->set('Cache-Control', 'public, max-age=10');
-            $response->headers->set('X-Response-Count', ++$count);
-            $response->setContent($request->headers->get('USER_AGENT'));
-        });
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/1.0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertEquals('Bob/1.0', $this->response->getContent());
-        $this->assertEquals(1, $this->response->headers->get('X-Response-Count'));
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/2.0'));
-        $this->assertEquals(200, $this->response->getStatusCode());
-        $this->assertTraceContains('miss');
-        $this->assertTraceContains('store');
-        $this->assertEquals('Bob/2.0', $this->response->getContent());
-        $this->assertEquals(2, $this->response->headers->get('X-Response-Count'));
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/1.0'));
-        $this->assertTraceContains('fresh');
-        $this->assertEquals('Bob/1.0', $this->response->getContent());
-        $this->assertEquals(1, $this->response->headers->get('X-Response-Count'));
-
-        $this->request('GET', '/', array('HTTP_ACCEPT' => 'text/html', 'HTTP_USER_AGENT' => 'Bob/2.0'));
-        $this->assertTraceContains('fresh');
-        $this->assertEquals('Bob/2.0', $this->response->getContent());
-        $this->assertEquals(2, $this->response->headers->get('X-Response-Count'));
-
-        $this->request('GET', '/', array('HTTP_USER_AGENT' => 'Bob/2.0'));
-        $this->assertTraceContains('miss');
-        $this->assertEquals('Bob/2.0', $this->response->getContent());
-        $this->assertEquals(3, $this->response->headers->get('X-Response-Count'));
-    }
-
-    public function testShouldCatchExceptions()
-    {
-        $this->catchExceptions();
-
-        $this->setNextResponse();
-        $this->request('GET', '/');
-
-        $this->assertExceptionsAreCaught();
-    }
-
-    public function testShouldNotCatchExceptions()
-    {
-        $this->catchExceptions(false);
-
-        $this->setNextResponse();
-        $this->request('GET', '/');
-
-        $this->assertExceptionsAreNotCaught();
-    }
-
-    public function testEsiCacheSendsTheLowestTtl()
-    {
-        $responses = array(
-            array(
-                'status'  => 200,
-                'body'    => '<esi:include src="/foo" /> <esi:include src="/bar" />',
-                'headers' => array(
-                    'Cache-Control'     => 's-maxage=300',
-                    'Surrogate-Control' => 'content="ESI/1.0"',
-                ),
-            ),
-            array(
-                'status'  => 200,
-                'body'    => 'Hello World!',
-                'headers' => array('Cache-Control' => 's-maxage=300'),
-            ),
-            array(
-                'status'  => 200,
-                'body'    => 'My name is Bobby.',
-                'headers' => array('Cache-Control' => 's-maxage=100'),
-            ),
-        );
-
-        $this->setNextResponses($responses);
-
-        $this->request('GET', '/', array(), array(), true);
-        $this->assertEquals("Hello World! My name is Bobby.", $this->response->getContent());
-
-        // check for 100 or 99 as the test can be executed after a second change
-        $this->assertTrue(in_array($this->response->getTtl(), array(99, 100)));
-    }
-
-    public function testEsiCacheForceValidation()
-    {
-        $responses = array(
-            array(
-                'status'  => 200,
-                'body'    => '<esi:include src="/foo" /> <esi:include src="/bar" />',
-                'headers' => array(
-                    'Cache-Control'     => 's-maxage=300',
-                    'Surrogate-Control' => 'content="ESI/1.0"',
-                ),
-            ),
-            array(
-                'status'  => 200,
-                'body'    => 'Hello World!',
-                'headers' => array('ETag' => 'foobar'),
-            ),
-            array(
-                'status'  => 200,
-                'body'    => 'My name is Bobby.',
-                'headers' => array('Cache-Control' => 's-maxage=100'),
-            ),
-        );
-
-        $this->setNextResponses($responses);
-
-        $this->request('GET', '/', array(), array(), true);
-        $this->assertEquals('Hello World! My name is Bobby.', $this->response->getContent());
-        $this->assertNull($this->response->getTtl());
-        $this->assertTrue($this->response->mustRevalidate());
-        $this->assertTrue($this->response->headers->hasCacheControlDirective('private'));
-        $this->assertTrue($this->response->headers->hasCacheControlDirective('no-cache'));
-    }
-
-    public function testEsiRecalculateContentLengthHeader()
-    {
-        $responses = array(
-            array(
-                'status'  => 200,
-                'body'    => '<esi:include src="/foo" />',
-                'headers' => array(
-                    'Content-Length'    => 26,
-                    'Cache-Control'     => 's-maxage=300',
-                    'Surrogate-Control' => 'content="ESI/1.0"',
-                ),
-            ),
-            array(
-                'status'  => 200,
-                'body'    => 'Hello World!',
-                'headers' => array(),
-            ),
-        );
-
-        $this->setNextResponses($responses);
-
-        $this->request('GET', '/', array(), array(), true);
-        $this->assertEquals('Hello World!', $this->response->getContent());
-        $this->assertEquals(12, $this->response->headers->get('Content-Length'));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php
deleted file mode 100644
index 4377f61..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php
+++ /dev/null
@@ -1,179 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpKernel\HttpCache\Esi;
-use Symfony\Component\HttpKernel\HttpCache\HttpCache;
-use Symfony\Component\HttpKernel\HttpCache\Store;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-
-class HttpCacheTestCase extends \PHPUnit_Framework_TestCase
-{
-    protected $kernel;
-    protected $cache;
-    protected $caches;
-    protected $cacheConfig;
-    protected $request;
-    protected $response;
-    protected $responses;
-    protected $catch;
-    protected $esi;
-
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-
-        $this->kernel = null;
-
-        $this->cache = null;
-        $this->esi = null;
-        $this->caches = array();
-        $this->cacheConfig = array();
-
-        $this->request = null;
-        $this->response = null;
-        $this->responses = array();
-
-        $this->catch = false;
-
-        $this->clearDirectory(sys_get_temp_dir().'/http_cache');
-    }
-
-    protected function tearDown()
-    {
-        $this->kernel = null;
-        $this->cache = null;
-        $this->caches = null;
-        $this->request = null;
-        $this->response = null;
-        $this->responses = null;
-        $this->cacheConfig = null;
-        $this->catch = null;
-        $this->esi = null;
-
-        $this->clearDirectory(sys_get_temp_dir().'/http_cache');
-    }
-
-    public function assertHttpKernelIsCalled()
-    {
-        $this->assertTrue($this->kernel->hasBeenCalled());
-    }
-
-    public function assertHttpKernelIsNotCalled()
-    {
-        $this->assertFalse($this->kernel->hasBeenCalled());
-    }
-
-    public function assertResponseOk()
-    {
-        $this->assertEquals(200, $this->response->getStatusCode());
-    }
-
-    public function assertTraceContains($trace)
-    {
-        $traces = $this->cache->getTraces();
-        $traces = current($traces);
-
-        $this->assertRegExp('/'.$trace.'/', implode(', ', $traces));
-    }
-
-    public function assertTraceNotContains($trace)
-    {
-        $traces = $this->cache->getTraces();
-        $traces = current($traces);
-
-        $this->assertNotRegExp('/'.$trace.'/', implode(', ', $traces));
-    }
-
-    public function assertExceptionsAreCaught()
-    {
-        $this->assertTrue($this->kernel->isCatchingExceptions());
-    }
-
-    public function assertExceptionsAreNotCaught()
-    {
-        $this->assertFalse($this->kernel->isCatchingExceptions());
-    }
-
-    public function request($method, $uri = '/', $server = array(), $cookies = array(), $esi = false)
-    {
-        if (null === $this->kernel) {
-            throw new \LogicException('You must call setNextResponse() before calling request().');
-        }
-
-        $this->kernel->reset();
-
-        $this->store = new Store(sys_get_temp_dir().'/http_cache');
-
-        $this->cacheConfig['debug'] = true;
-
-        $this->esi = $esi ? new Esi() : null;
-        $this->cache = new HttpCache($this->kernel, $this->store, $this->esi, $this->cacheConfig);
-        $this->request = Request::create($uri, $method, array(), $cookies, array(), $server);
-
-        $this->response = $this->cache->handle($this->request, HttpKernelInterface::MASTER_REQUEST, $this->catch);
-
-        $this->responses[] = $this->response;
-    }
-
-    public function getMetaStorageValues()
-    {
-        $values = array();
-        foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator(sys_get_temp_dir().'/http_cache/md', \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::LEAVES_ONLY) as $file) {
-            $values[] = file_get_contents($file);
-        }
-
-        return $values;
-    }
-
-    // A basic response with 200 status code and a tiny body.
-    public function setNextResponse($statusCode = 200, array $headers = array(), $body = 'Hello World', \Closure $customizer = null)
-    {
-        $this->kernel = new TestHttpKernel($body, $statusCode, $headers, $customizer);
-    }
-
-    public function setNextResponses($responses)
-    {
-        $this->kernel = new TestMultipleHttpKernel($responses);
-    }
-
-    public function catchExceptions($catch = true)
-    {
-        $this->catch = $catch;
-    }
-
-    public static function clearDirectory($directory)
-    {
-        if (!is_dir($directory)) {
-            return;
-        }
-
-        $fp = opendir($directory);
-        while (false !== $file = readdir($fp)) {
-            if (!in_array($file, array('.', '..'))) {
-                if (is_link($directory.'/'.$file)) {
-                    unlink($directory.'/'.$file);
-                } elseif (is_dir($directory.'/'.$file)) {
-                    self::clearDirectory($directory.'/'.$file);
-                    rmdir($directory.'/'.$file);
-                } else {
-                    unlink($directory.'/'.$file);
-                }
-            }
-        }
-
-        closedir($fp);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php
deleted file mode 100644
index 12d301f..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php
+++ /dev/null
@@ -1,257 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\HttpCache\Store;
-
-class StoreTest extends \PHPUnit_Framework_TestCase
-{
-    protected $request;
-    protected $response;
-    protected $store;
-
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-
-        $this->request = Request::create('/');
-        $this->response = new Response('hello world', 200, array());
-
-        HttpCacheTestCase::clearDirectory(sys_get_temp_dir().'/http_cache');
-
-        $this->store = new Store(sys_get_temp_dir().'/http_cache');
-    }
-
-    protected function tearDown()
-    {
-        $this->store = null;
-        $this->request = null;
-        $this->response = null;
-
-        HttpCacheTestCase::clearDirectory(sys_get_temp_dir().'/http_cache');
-    }
-
-    public function testReadsAnEmptyArrayWithReadWhenNothingCachedAtKey()
-    {
-        $this->assertEmpty($this->getStoreMetadata('/nothing'));
-    }
-
-    public function testUnlockFileThatDoesExist()
-    {
-        $cacheKey = $this->storeSimpleEntry();
-        $this->store->lock($this->request);
-
-        $this->assertTrue($this->store->unlock($this->request));
-    }
-
-    public function testUnlockFileThatDoesNotExist()
-    {
-        $this->assertFalse($this->store->unlock($this->request));
-    }
-
-    public function testRemovesEntriesForKeyWithPurge()
-    {
-        $request = Request::create('/foo');
-        $this->store->write($request, new Response('foo'));
-        $this->assertNotEmpty($this->getStoreMetadata($request));
-
-        $this->assertTrue($this->store->purge('/foo'));
-        $this->assertEmpty($this->getStoreMetadata($request));
-
-        $this->assertFalse($this->store->purge('/bar'));
-    }
-
-    public function testStoresACacheEntry()
-    {
-        $cacheKey = $this->storeSimpleEntry();
-
-        $this->assertNotEmpty($this->getStoreMetadata($cacheKey));
-    }
-
-    public function testSetsTheXContentDigestResponseHeaderBeforeStoring()
-    {
-        $cacheKey = $this->storeSimpleEntry();
-        $entries = $this->getStoreMetadata($cacheKey);
-        list ($req, $res) = $entries[0];
-
-        $this->assertEquals('ena94a8fe5ccb19ba61c4c0873d391e987982fbbd3', $res['x-content-digest'][0]);
-    }
-
-    public function testFindsAStoredEntryWithLookup()
-    {
-        $this->storeSimpleEntry();
-        $response = $this->store->lookup($this->request);
-
-        $this->assertNotNull($response);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response);
-    }
-
-    public function testDoesNotFindAnEntryWithLookupWhenNoneExists()
-    {
-        $request = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-
-        $this->assertNull($this->store->lookup($request));
-    }
-
-    public function testCanonizesUrlsForCacheKeys()
-    {
-        $this->storeSimpleEntry($path = '/test?x=y&p=q');
-        $hitsReq = Request::create($path);
-        $missReq = Request::create('/test?p=x');
-
-        $this->assertNotNull($this->store->lookup($hitsReq));
-        $this->assertNull($this->store->lookup($missReq));
-    }
-
-    public function testDoesNotFindAnEntryWithLookupWhenTheBodyDoesNotExist()
-    {
-        $this->storeSimpleEntry();
-        $this->assertNotNull($this->response->headers->get('X-Content-Digest'));
-        $path = $this->getStorePath($this->response->headers->get('X-Content-Digest'));
-        @unlink($path);
-        $this->assertNull($this->store->lookup($this->request));
-    }
-
-    public function testRestoresResponseHeadersProperlyWithLookup()
-    {
-        $this->storeSimpleEntry();
-        $response = $this->store->lookup($this->request);
-
-        $this->assertEquals($response->headers->all(), array_merge(array('content-length' => 4, 'x-body-file' => array($this->getStorePath($response->headers->get('X-Content-Digest')))), $this->response->headers->all()));
-    }
-
-    public function testRestoresResponseContentFromEntityStoreWithLookup()
-    {
-        $this->storeSimpleEntry();
-        $response = $this->store->lookup($this->request);
-        $this->assertEquals($this->getStorePath('en'.sha1('test')), $response->getContent());
-    }
-
-    public function testInvalidatesMetaAndEntityStoreEntriesWithInvalidate()
-    {
-        $this->storeSimpleEntry();
-        $this->store->invalidate($this->request);
-        $response = $this->store->lookup($this->request);
-        $this->assertInstanceOf('Symfony\Component\HttpFoundation\Response', $response);
-        $this->assertFalse($response->isFresh());
-    }
-
-    public function testSucceedsQuietlyWhenInvalidateCalledWithNoMatchingEntries()
-    {
-        $req = Request::create('/test');
-        $this->store->invalidate($req);
-        $this->assertNull($this->store->lookup($this->request));
-    }
-
-    public function testDoesNotReturnEntriesThatVaryWithLookup()
-    {
-        $req1 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-        $req2 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Bling', 'HTTP_BAR' => 'Bam'));
-        $res = new Response('test', 200, array('Vary' => 'Foo Bar'));
-        $this->store->write($req1, $res);
-
-        $this->assertNull($this->store->lookup($req2));
-    }
-
-    public function testStoresMultipleResponsesForEachVaryCombination()
-    {
-        $req1 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-        $res1 = new Response('test 1', 200, array('Vary' => 'Foo Bar'));
-        $key = $this->store->write($req1, $res1);
-
-        $req2 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Bling', 'HTTP_BAR' => 'Bam'));
-        $res2 = new Response('test 2', 200, array('Vary' => 'Foo Bar'));
-        $this->store->write($req2, $res2);
-
-        $req3 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Baz', 'HTTP_BAR' => 'Boom'));
-        $res3 = new Response('test 3', 200, array('Vary' => 'Foo Bar'));
-        $this->store->write($req3, $res3);
-
-        $this->assertEquals($this->getStorePath('en'.sha1('test 3')), $this->store->lookup($req3)->getContent());
-        $this->assertEquals($this->getStorePath('en'.sha1('test 2')), $this->store->lookup($req2)->getContent());
-        $this->assertEquals($this->getStorePath('en'.sha1('test 1')), $this->store->lookup($req1)->getContent());
-
-        $this->assertCount(3, $this->getStoreMetadata($key));
-    }
-
-    public function testOverwritesNonVaryingResponseWithStore()
-    {
-        $req1 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-        $res1 = new Response('test 1', 200, array('Vary' => 'Foo Bar'));
-        $key = $this->store->write($req1, $res1);
-        $this->assertEquals($this->getStorePath('en'.sha1('test 1')), $this->store->lookup($req1)->getContent());
-
-        $req2 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Bling', 'HTTP_BAR' => 'Bam'));
-        $res2 = new Response('test 2', 200, array('Vary' => 'Foo Bar'));
-        $this->store->write($req2, $res2);
-        $this->assertEquals($this->getStorePath('en'.sha1('test 2')), $this->store->lookup($req2)->getContent());
-
-        $req3 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-        $res3 = new Response('test 3', 200, array('Vary' => 'Foo Bar'));
-        $key = $this->store->write($req3, $res3);
-        $this->assertEquals($this->getStorePath('en'.sha1('test 3')), $this->store->lookup($req3)->getContent());
-
-        $this->assertCount(2, $this->getStoreMetadata($key));
-    }
-
-    public function testLocking()
-    {
-        $req = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar'));
-        $this->assertTrue($this->store->lock($req));
-
-        $path = $this->store->lock($req);
-        $this->assertTrue($this->store->isLocked($req));
-
-        $this->store->unlock($req);
-        $this->assertFalse($this->store->isLocked($req));
-    }
-
-    protected function storeSimpleEntry($path = null, $headers = array())
-    {
-        if (null === $path) {
-            $path = '/test';
-        }
-
-        $this->request = Request::create($path, 'get', array(), array(), array(), $headers);
-        $this->response = new Response('test', 200, array('Cache-Control' => 'max-age=420'));
-
-        return $this->store->write($this->request, $this->response);
-    }
-
-    protected function getStoreMetadata($key)
-    {
-        $r = new \ReflectionObject($this->store);
-        $m = $r->getMethod('getMetadata');
-        $m->setAccessible(true);
-
-        if ($key instanceof Request) {
-            $m1 = $r->getMethod('getCacheKey');
-            $m1->setAccessible(true);
-            $key = $m1->invoke($this->store, $key);
-        }
-
-        return $m->invoke($this->store, $key);
-    }
-
-    protected function getStorePath($key)
-    {
-        $r = new \ReflectionObject($this->store);
-        $m = $r->getMethod('getPath');
-        $m->setAccessible(true);
-
-        return $m->invoke($this->store, $key);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php
deleted file mode 100644
index c732c67..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class TestHttpKernel extends HttpKernel implements ControllerResolverInterface
-{
-    protected $body;
-    protected $status;
-    protected $headers;
-    protected $called;
-    protected $customizer;
-    protected $catch;
-
-    public function __construct($body, $status, $headers, \Closure $customizer = null)
-    {
-        $this->body = $body;
-        $this->status = $status;
-        $this->headers = $headers;
-        $this->customizer = $customizer;
-        $this->called = false;
-        $this->catch = false;
-
-        parent::__construct(new EventDispatcher(), $this);
-    }
-
-    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = false)
-    {
-        $this->catch = $catch;
-
-        return parent::handle($request, $type, $catch);
-    }
-
-    public function isCatchingExceptions()
-    {
-        return $this->catch;
-    }
-
-    public function getController(Request $request)
-    {
-        return array($this, 'callController');
-    }
-
-    public function getArguments(Request $request, $controller)
-    {
-        return array($request);
-    }
-
-    public function callController(Request $request)
-    {
-        $this->called = true;
-
-        $response = new Response($this->body, $this->status, $this->headers);
-
-        if (null !== $this->customizer) {
-            call_user_func($this->customizer, $request, $response);
-        }
-
-        return $response;
-    }
-
-    public function hasBeenCalled()
-    {
-        return $this->called;
-    }
-
-    public function reset()
-    {
-        $this->called = false;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestMultipleHttpKernel.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestMultipleHttpKernel.php
deleted file mode 100644
index eeb9bea..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestMultipleHttpKernel.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\HttpCache;
-
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class TestMultipleHttpKernel extends HttpKernel implements ControllerResolverInterface
-{
-    protected $bodies;
-    protected $statuses;
-    protected $headers;
-    protected $catch;
-    protected $call;
-
-    public function __construct($responses)
-    {
-        $this->bodies   = array();
-        $this->statuses = array();
-        $this->headers  = array();
-        $this->call     = false;
-
-        foreach ($responses as $response) {
-            $this->bodies[]   = $response['body'];
-            $this->statuses[] = $response['status'];
-            $this->headers[]  = $response['headers'];
-        }
-
-        parent::__construct(new EventDispatcher(), $this);
-    }
-
-    public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = false)
-    {
-        return parent::handle($request, $type, $catch);
-    }
-
-    public function getController(Request $request)
-    {
-        return array($this, 'callController');
-    }
-
-    public function getArguments(Request $request, $controller)
-    {
-        return array($request);
-    }
-
-    public function callController(Request $request)
-    {
-        $this->called = true;
-
-        $response = new Response(array_shift($this->bodies), array_shift($this->statuses), array_shift($this->headers));
-
-        return $response;
-    }
-
-    public function hasBeenCalled()
-    {
-        return $this->called;
-    }
-
-    public function reset()
-    {
-        $this->call = false;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php
deleted file mode 100644
index 701e7a7..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php
+++ /dev/null
@@ -1,297 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpKernel\KernelEvents;
-use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException;
-use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpFoundation\RedirectResponse;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class HttpKernelTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\EventDispatcher\EventDispatcher')) {
-            $this->markTestSkipped('The "EventDispatcher" component is not available');
-        }
-
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    /**
-     * @expectedException RuntimeException
-     */
-    public function testHandleWhenControllerThrowsAnExceptionAndRawIsTrue()
-    {
-        $kernel = new HttpKernel(new EventDispatcher(), $this->getResolver(function () { throw new \RuntimeException(); }));
-
-        $kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, true);
-    }
-
-    /**
-     * @expectedException RuntimeException
-     */
-    public function testHandleWhenControllerThrowsAnExceptionAndRawIsFalseAndNoListenerIsRegistered()
-    {
-        $kernel = new HttpKernel(new EventDispatcher(), $this->getResolver(function () { throw new \RuntimeException(); }));
-
-        $kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, false);
-    }
-
-    public function testHandleWhenControllerThrowsAnExceptionAndRawIsFalse()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::EXCEPTION, function ($event) {
-            $event->setResponse(new Response($event->getException()->getMessage()));
-        });
-
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { throw new \RuntimeException('foo'); }));
-        $response = $kernel->handle(new Request());
-
-        $this->assertEquals('500', $response->getStatusCode());
-        $this->assertEquals('foo', $response->getContent());
-    }
-
-    public function testHandleExceptionWithARedirectionResponse()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::EXCEPTION, function ($event) {
-            $event->setResponse(new RedirectResponse('/login', 301));
-        });
-
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { throw new AccessDeniedHttpException(); }));
-        $response = $kernel->handle(new Request());
-
-        $this->assertEquals('301', $response->getStatusCode());
-        $this->assertEquals('/login', $response->headers->get('Location'));
-    }
-
-    public function testHandleHttpException()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::EXCEPTION, function ($event) {
-            $event->setResponse(new Response($event->getException()->getMessage()));
-        });
-
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { throw new MethodNotAllowedHttpException(array('POST')); }));
-        $response = $kernel->handle(new Request());
-
-        $this->assertEquals('405', $response->getStatusCode());
-        $this->assertEquals('POST', $response->headers->get('Allow'));
-    }
-
-    /**
-     * @dataProvider getStatusCodes
-     */
-    public function testHandleWhenAnExceptionIsHandledWithASpecificStatusCode($responseStatusCode, $expectedStatusCode)
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::EXCEPTION, function ($event) use ($responseStatusCode, $expectedStatusCode) {
-            $event->setResponse(new Response('', $responseStatusCode, array('X-Status-Code' => $expectedStatusCode)));
-        });
-
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { throw new \RuntimeException(); }));
-        $response = $kernel->handle(new Request());
-
-        $this->assertEquals($expectedStatusCode, $response->getStatusCode());
-        $this->assertFalse($response->headers->has('X-Status-Code'));
-    }
-
-    public function getStatusCodes()
-    {
-        return array(
-            array(200, 404),
-            array(404, 200),
-            array(301, 200),
-            array(500, 200),
-        );
-    }
-
-    public function testHandleWhenAListenerReturnsAResponse()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::REQUEST, function ($event) {
-            $event->setResponse(new Response('hello'));
-        });
-
-        $kernel = new HttpKernel($dispatcher, $this->getResolver());
-
-        $this->assertEquals('hello', $kernel->handle(new Request())->getContent());
-    }
-
-    /**
-     * @expectedException Symfony\Component\HttpKernel\Exception\NotFoundHttpException
-     */
-    public function testHandleWhenNoControllerIsFound()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(false));
-
-        $kernel->handle(new Request());
-    }
-
-    /**
-     * @expectedException LogicException
-     */
-    public function testHandleWhenTheControllerIsNotACallable()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver('foobar'));
-
-        $kernel->handle(new Request());
-    }
-
-    public function testHandleWhenTheControllerIsAClosure()
-    {
-        $response = new Response('foo');
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () use ($response) { return $response; }));
-
-        $this->assertSame($response, $kernel->handle(new Request()));
-    }
-
-    public function testHandleWhenTheControllerIsAnObjectWithInvoke()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(new Controller()));
-
-        $this->assertResponseEquals(new Response('foo'), $kernel->handle(new Request()));
-    }
-
-    public function testHandleWhenTheControllerIsAFunction()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver('Symfony\Component\HttpKernel\Tests\controller_func'));
-
-        $this->assertResponseEquals(new Response('foo'), $kernel->handle(new Request()));
-    }
-
-    public function testHandleWhenTheControllerIsAnArray()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(array(new Controller(), 'controller')));
-
-        $this->assertResponseEquals(new Response('foo'), $kernel->handle(new Request()));
-    }
-
-    public function testHandleWhenTheControllerIsAStaticArray()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(array('Symfony\Component\HttpKernel\Tests\Controller', 'staticcontroller')));
-
-        $this->assertResponseEquals(new Response('foo'), $kernel->handle(new Request()));
-    }
-
-    /**
-     * @expectedException LogicException
-     */
-    public function testHandleWhenTheControllerDoesNotReturnAResponse()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { return 'foo'; }));
-
-        $kernel->handle(new Request());
-    }
-
-    public function testHandleWhenTheControllerDoesNotReturnAResponseButAViewIsRegistered()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::VIEW, function ($event) {
-            $event->setResponse(new Response($event->getControllerResult()));
-        });
-        $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { return 'foo'; }));
-
-        $this->assertEquals('foo', $kernel->handle(new Request())->getContent());
-    }
-
-    public function testHandleWithAResponseListener()
-    {
-        $dispatcher = new EventDispatcher();
-        $dispatcher->addListener(KernelEvents::RESPONSE, function ($event) {
-            $event->setResponse(new Response('foo'));
-        });
-        $kernel = new HttpKernel($dispatcher, $this->getResolver());
-
-        $this->assertEquals('foo', $kernel->handle(new Request())->getContent());
-    }
-
-    public function testTerminate()
-    {
-        $dispatcher = new EventDispatcher();
-        $kernel = new HttpKernel($dispatcher, $this->getResolver());
-        $dispatcher->addListener(KernelEvents::TERMINATE, function ($event) use (&$called, &$capturedKernel, &$capturedRequest, &$capturedResponse) {
-            $called = true;
-            $capturedKernel = $event->getKernel();
-            $capturedRequest = $event->getRequest();
-            $capturedResponse = $event->getResponse();
-        });
-
-        $kernel->terminate($request = Request::create('/'), $response = new Response());
-        $this->assertTrue($called);
-        $this->assertEquals($kernel, $capturedKernel);
-        $this->assertEquals($request, $capturedRequest);
-        $this->assertEquals($response, $capturedResponse);
-    }
-
-    protected function getResolver($controller = null)
-    {
-        if (null === $controller) {
-            $controller = function() { return new Response('Hello'); };
-        }
-
-        $resolver = $this->getMock('Symfony\\Component\\HttpKernel\\Controller\\ControllerResolverInterface');
-        $resolver->expects($this->any())
-            ->method('getController')
-            ->will($this->returnValue($controller));
-        $resolver->expects($this->any())
-            ->method('getArguments')
-            ->will($this->returnValue(array()));
-
-        return $resolver;
-    }
-
-    protected function assertResponseEquals(Response $expected, Response $actual)
-    {
-        $expected->setDate($actual->getDate());
-        $this->assertEquals($expected, $actual);
-    }
-}
-
-class Controller
-{
-    public function __invoke()
-    {
-        return new Response('foo');
-    }
-
-    public function controller()
-    {
-        return new Response('foo');
-    }
-
-    public static function staticController()
-    {
-        return new Response('foo');
-    }
-}
-
-function controller_func()
-{
-    return new Response('foo');
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php
deleted file mode 100644
index d4295f5..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php
+++ /dev/null
@@ -1,820 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\HttpKernel\Kernel;
-use Symfony\Component\HttpKernel\Bundle\Bundle;
-use Symfony\Component\HttpKernel\HttpKernelInterface;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest;
-use Symfony\Component\HttpKernel\Tests\Fixtures\KernelForOverrideName;
-use Symfony\Component\HttpKernel\Tests\Fixtures\FooBarBundle;
-
-class KernelTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\DependencyInjection\Container')) {
-            $this->markTestSkipped('The "DependencyInjection" component is not available');
-        }
-    }
-
-    public function testConstructor()
-    {
-        $env = 'test_env';
-        $debug = true;
-        $kernel = new KernelForTest($env, $debug);
-
-        $this->assertEquals($env, $kernel->getEnvironment());
-        $this->assertEquals($debug, $kernel->isDebug());
-        $this->assertFalse($kernel->isBooted());
-        $this->assertLessThanOrEqual(microtime(true), $kernel->getStartTime());
-        $this->assertNull($kernel->getContainer());
-    }
-
-    public function testClone()
-    {
-        $env = 'test_env';
-        $debug = true;
-        $kernel = new KernelForTest($env, $debug);
-
-        $clone = clone $kernel;
-
-        $this->assertEquals($env, $clone->getEnvironment());
-        $this->assertEquals($debug, $clone->isDebug());
-        $this->assertFalse($clone->isBooted());
-        $this->assertLessThanOrEqual(microtime(true), $clone->getStartTime());
-        $this->assertNull($clone->getContainer());
-    }
-
-    public function testBootInitializesBundlesAndContainer()
-    {
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('initializeBundles', 'initializeContainer', 'getBundles'))
-            ->getMock();
-        $kernel->expects($this->once())
-            ->method('initializeBundles');
-        $kernel->expects($this->once())
-            ->method('initializeContainer');
-        $kernel->expects($this->once())
-            ->method('getBundles')
-            ->will($this->returnValue(array()));
-
-        $kernel->boot();
-    }
-
-    public function testBootSetsTheContainerToTheBundles()
-    {
-        $bundle = $this->getMockBuilder('Symfony\Component\HttpKernel\Bundle\Bundle')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $bundle->expects($this->once())
-            ->method('setContainer');
-
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('initializeBundles', 'initializeContainer', 'getBundles'))
-            ->getMock();
-        $kernel->expects($this->once())
-            ->method('getBundles')
-            ->will($this->returnValue(array($bundle)));
-
-        $kernel->boot();
-    }
-
-    public function testBootSetsTheBootedFlagToTrue()
-    {
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('initializeBundles', 'initializeContainer', 'getBundles'))
-            ->getMock();
-        $kernel->expects($this->once())
-            ->method('getBundles')
-            ->will($this->returnValue(array()));
-
-        $kernel->boot();
-
-        $this->assertTrue($kernel->isBooted());
-    }
-
-    public function testBootKernelSeveralTimesOnlyInitializesBundlesOnce()
-    {
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('initializeBundles', 'initializeContainer', 'getBundles'))
-            ->getMock();
-        $kernel->expects($this->once())
-            ->method('getBundles')
-            ->will($this->returnValue(array()));
-
-        $kernel->boot();
-        $kernel->boot();
-    }
-
-    public function testShutdownCallsShutdownOnAllBundles()
-    {
-        $bundle = $this->getMockBuilder('Symfony\Component\HttpKernel\Bundle\Bundle')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $bundle->expects($this->once())
-            ->method('shutdown');
-
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getBundles'))
-            ->getMock();
-        $kernel->expects($this->once())
-            ->method('getBundles')
-            ->will($this->returnValue(array($bundle)));
-
-        $kernel->shutdown();
-    }
-
-    public function testShutdownGivesNullContainerToAllBundles()
-    {
-        $bundle = $this->getMockBuilder('Symfony\Component\HttpKernel\Bundle\Bundle')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $bundle->expects($this->once())
-            ->method('setContainer')
-            ->with(null);
-
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getBundles'))
-            ->getMock();
-        $kernel->expects($this->once())
-            ->method('getBundles')
-            ->will($this->returnValue(array($bundle)));
-
-        $kernel->shutdown();
-    }
-
-    public function testHandleCallsHandleOnHttpKernel()
-    {
-        $type = HttpKernelInterface::MASTER_REQUEST;
-        $catch = true;
-        $request = new Request();
-
-        $httpKernelMock = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernel')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $httpKernelMock
-            ->expects($this->once())
-            ->method('handle')
-            ->with($request, $type, $catch);
-
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getHttpKernel'))
-            ->getMock();
-
-        $kernel->expects($this->once())
-            ->method('getHttpKernel')
-            ->will($this->returnValue($httpKernelMock));
-
-        $kernel->handle($request, $type, $catch);
-    }
-
-    public function testHandleBootsTheKernel()
-    {
-        $type = HttpKernelInterface::MASTER_REQUEST;
-        $catch = true;
-        $request = new Request();
-
-        $httpKernelMock = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernel')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getHttpKernel', 'boot'))
-            ->getMock();
-
-        $kernel->expects($this->once())
-            ->method('getHttpKernel')
-            ->will($this->returnValue($httpKernelMock));
-
-        $kernel->expects($this->once())
-            ->method('boot');
-
-        // required as this value is initialized
-        // in the kernel constructor, which we don't call
-        $kernel->setIsBooted(false);
-
-        $kernel->handle($request, $type, $catch);
-    }
-
-    public function testStripComments()
-    {
-        if (!function_exists('token_get_all')) {
-            $this->markTestSkipped('The function token_get_all() is not available.');
-
-            return;
-        }
-        $source = <<<'EOF'
-<?php
-
-$string = 'string should not be   modified';
-
-
-$heredoc = <<<HD
-
-
-Heredoc should not be   modified
-
-
-HD;
-
-$nowdoc = <<<'ND'
-
-
-Nowdoc should not be   modified
-
-
-ND;
-
-/**
- * some class comments to strip
- */
-class TestClass
-{
-    /**
-     * some method comments to strip
-     */
-    public function doStuff()
-    {
-        // inline comment
-    }
-}
-EOF;
-        $expected = <<<'EOF'
-<?php
-$string = 'string should not be   modified';
-$heredoc =
-<<<HD
-
-
-Heredoc should not be   modified
-
-
-HD;
-$nowdoc =
-<<<'ND'
-
-
-Nowdoc should not be   modified
-
-
-ND;
-class TestClass
-{
-    public function doStuff()
-    {
-            }
-}
-EOF;
-
-        $this->assertEquals($expected, Kernel::stripComments($source));
-    }
-
-    public function testIsClassInActiveBundleFalse()
-    {
-        $kernel = $this->getKernelMockForIsClassInActiveBundleTest();
-
-        $this->assertFalse($kernel->isClassInActiveBundle('Not\In\Active\Bundle'));
-    }
-
-    public function testIsClassInActiveBundleFalseNoNamespace()
-    {
-        $kernel = $this->getKernelMockForIsClassInActiveBundleTest();
-
-        $this->assertFalse($kernel->isClassInActiveBundle('NotNamespacedClass'));
-    }
-
-    public function testIsClassInActiveBundleTrue()
-    {
-        $kernel = $this->getKernelMockForIsClassInActiveBundleTest();
-
-        $this->assertTrue($kernel->isClassInActiveBundle(__NAMESPACE__.'\Fixtures\FooBarBundle\SomeClass'));
-    }
-
-    protected function getKernelMockForIsClassInActiveBundleTest()
-    {
-        $bundle = new FooBarBundle();
-
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getBundles'))
-            ->getMock();
-        $kernel->expects($this->once())
-            ->method('getBundles')
-            ->will($this->returnValue(array($bundle)));
-
-        return $kernel;
-    }
-
-    public function testGetRootDir()
-    {
-        $kernel = new KernelForTest('test', true);
-
-        $this->assertEquals(__DIR__.DIRECTORY_SEPARATOR.'Fixtures', realpath($kernel->getRootDir()));
-    }
-
-    public function testGetName()
-    {
-        $kernel = new KernelForTest('test', true);
-
-        $this->assertEquals('Fixtures', $kernel->getName());
-    }
-
-    public function testOverrideGetName()
-    {
-        $kernel = new KernelForOverrideName('test', true);
-
-        $this->assertEquals('overridden', $kernel->getName());
-    }
-
-    public function testSerialize()
-    {
-        $env = 'test_env';
-        $debug = true;
-        $kernel = new KernelForTest($env, $debug);
-
-        $expected = serialize(array($env, $debug));
-        $this->assertEquals($expected, $kernel->serialize());
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testLocateResourceThrowsExceptionWhenNameIsNotValid()
-    {
-        $this->getKernelForInvalidLocateResource()->locateResource('Foo');
-    }
-
-    /**
-     * @expectedException \RuntimeException
-     */
-    public function testLocateResourceThrowsExceptionWhenNameIsUnsafe()
-    {
-        $this->getKernelForInvalidLocateResource()->locateResource('@FooBundle/../bar');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testLocateResourceThrowsExceptionWhenBundleDoesNotExist()
-    {
-        $this->getKernelForInvalidLocateResource()->locateResource('@FooBundle/config/routing.xml');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testLocateResourceThrowsExceptionWhenResourceDoesNotExist()
-    {
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle'))))
-        ;
-
-        $kernel->locateResource('@Bundle1Bundle/config/routing.xml');
-    }
-
-    public function testLocateResourceReturnsTheFirstThatMatches()
-    {
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle'))))
-        ;
-
-        $this->assertEquals(__DIR__.'/Fixtures/Bundle1Bundle/foo.txt', $kernel->locateResource('@Bundle1Bundle/foo.txt'));
-    }
-
-    public function testLocateResourceReturnsTheFirstThatMatchesWithParent()
-    {
-        $parent = $this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle');
-        $child = $this->getBundle(__DIR__.'/Fixtures/Bundle2Bundle');
-
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->exactly(2))
-            ->method('getBundle')
-            ->will($this->returnValue(array($child, $parent)))
-        ;
-
-        $this->assertEquals(__DIR__.'/Fixtures/Bundle2Bundle/foo.txt', $kernel->locateResource('@ParentAABundle/foo.txt'));
-        $this->assertEquals(__DIR__.'/Fixtures/Bundle1Bundle/bar.txt', $kernel->locateResource('@ParentAABundle/bar.txt'));
-    }
-
-    public function testLocateResourceReturnsAllMatches()
-    {
-        $parent = $this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle');
-        $child = $this->getBundle(__DIR__.'/Fixtures/Bundle2Bundle');
-
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($child, $parent)))
-        ;
-
-        $this->assertEquals(array(
-            __DIR__.'/Fixtures/Bundle2Bundle/foo.txt',
-            __DIR__.'/Fixtures/Bundle1Bundle/foo.txt'),
-            $kernel->locateResource('@Bundle1Bundle/foo.txt', null, false));
-    }
-
-    public function testLocateResourceReturnsAllMatchesBis()
-    {
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array(
-                $this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle'),
-                $this->getBundle(__DIR__.'/Foobar')
-            )))
-        ;
-
-        $this->assertEquals(
-            array(__DIR__.'/Fixtures/Bundle1Bundle/foo.txt'),
-            $kernel->locateResource('@Bundle1Bundle/foo.txt', null, false)
-        );
-    }
-
-    public function testLocateResourceIgnoresDirOnNonResource()
-    {
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle'))))
-        ;
-
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Bundle1Bundle/foo.txt',
-            $kernel->locateResource('@Bundle1Bundle/foo.txt', __DIR__.'/Fixtures')
-        );
-    }
-
-    public function testLocateResourceReturnsTheDirOneForResources()
-    {
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/FooBundle', null, null, 'FooBundle'))))
-        ;
-
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Resources/FooBundle/foo.txt',
-            $kernel->locateResource('@FooBundle/Resources/foo.txt', __DIR__.'/Fixtures/Resources')
-        );
-    }
-
-    public function testLocateResourceReturnsTheDirOneForResourcesAndBundleOnes()
-    {
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle', null, null, 'Bundle1Bundle'))))
-        ;
-
-        $this->assertEquals(array(
-            __DIR__.'/Fixtures/Resources/Bundle1Bundle/foo.txt',
-            __DIR__.'/Fixtures/Bundle1Bundle/Resources/foo.txt'),
-            $kernel->locateResource('@Bundle1Bundle/Resources/foo.txt', __DIR__.'/Fixtures/Resources', false)
-        );
-    }
-
-    public function testLocateResourceOverrideBundleAndResourcesFolders()
-    {
-        $parent = $this->getBundle(__DIR__.'/Fixtures/BaseBundle', null, 'BaseBundle', 'BaseBundle');
-        $child = $this->getBundle(__DIR__.'/Fixtures/ChildBundle', 'ParentBundle', 'ChildBundle', 'ChildBundle');
-
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->exactly(4))
-            ->method('getBundle')
-            ->will($this->returnValue(array($child, $parent)))
-        ;
-
-        $this->assertEquals(array(
-            __DIR__.'/Fixtures/Resources/ChildBundle/foo.txt',
-            __DIR__.'/Fixtures/ChildBundle/Resources/foo.txt',
-            __DIR__.'/Fixtures/BaseBundle/Resources/foo.txt',
-            ),
-            $kernel->locateResource('@BaseBundle/Resources/foo.txt', __DIR__.'/Fixtures/Resources', false)
-        );
-
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Resources/ChildBundle/foo.txt',
-            $kernel->locateResource('@BaseBundle/Resources/foo.txt', __DIR__.'/Fixtures/Resources')
-        );
-
-        try {
-            $kernel->locateResource('@BaseBundle/Resources/hide.txt', __DIR__.'/Fixtures/Resources', false);
-            $this->fail('Hidden resources should raise an exception when returning an array of matching paths');
-        } catch (\RuntimeException $e) {
-        }
-
-        try {
-            $kernel->locateResource('@BaseBundle/Resources/hide.txt', __DIR__.'/Fixtures/Resources', true);
-            $this->fail('Hidden resources should raise an exception when returning the first matching path');
-        } catch (\RuntimeException $e) {
-        }
-    }
-
-    public function testLocateResourceOnDirectories()
-    {
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->exactly(2))
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/FooBundle', null, null, 'FooBundle'))))
-        ;
-
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Resources/FooBundle/',
-            $kernel->locateResource('@FooBundle/Resources/', __DIR__.'/Fixtures/Resources')
-        );
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Resources/FooBundle',
-            $kernel->locateResource('@FooBundle/Resources', __DIR__.'/Fixtures/Resources')
-        );
-
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->exactly(2))
-            ->method('getBundle')
-            ->will($this->returnValue(array($this->getBundle(__DIR__.'/Fixtures/Bundle1Bundle', null, null, 'Bundle1Bundle'))))
-        ;
-
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Bundle1Bundle/Resources/',
-            $kernel->locateResource('@Bundle1Bundle/Resources/')
-        );
-        $this->assertEquals(
-            __DIR__.'/Fixtures/Bundle1Bundle/Resources',
-            $kernel->locateResource('@Bundle1Bundle/Resources')
-        );
-    }
-
-    public function testInitializeBundles()
-    {
-        $parent = $this->getBundle(null, null, 'ParentABundle');
-        $child = $this->getBundle(null, 'ParentABundle', 'ChildABundle');
-
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('registerBundles')
-            ->will($this->returnValue(array($parent, $child)))
-        ;
-        $kernel->initializeBundles();
-
-        $map = $kernel->getBundleMap();
-        $this->assertEquals(array($child, $parent), $map['ParentABundle']);
-    }
-
-    public function testInitializeBundlesSupportInheritanceCascade()
-    {
-        $grandparent = $this->getBundle(null, null, 'GrandParentBBundle');
-        $parent = $this->getBundle(null, 'GrandParentBBundle', 'ParentBBundle');
-        $child = $this->getBundle(null, 'ParentBBundle', 'ChildBBundle');
-
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('registerBundles')
-            ->will($this->returnValue(array($grandparent, $parent, $child)))
-        ;
-
-        $kernel->initializeBundles();
-
-        $map = $kernel->getBundleMap();
-        $this->assertEquals(array($child, $parent, $grandparent), $map['GrandParentBBundle']);
-        $this->assertEquals(array($child, $parent), $map['ParentBBundle']);
-        $this->assertEquals(array($child), $map['ChildBBundle']);
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testInitializeBundlesThrowsExceptionWhenAParentDoesNotExists()
-    {
-        $child = $this->getBundle(null, 'FooBar', 'ChildCBundle');
-
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('registerBundles')
-            ->will($this->returnValue(array($child)))
-        ;
-        $kernel->initializeBundles();
-    }
-
-    public function testInitializeBundlesSupportsArbitraryBundleRegistrationOrder()
-    {
-        $grandparent = $this->getBundle(null, null, 'GrandParentCCundle');
-        $parent = $this->getBundle(null, 'GrandParentCCundle', 'ParentCCundle');
-        $child = $this->getBundle(null, 'ParentCCundle', 'ChildCCundle');
-
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('registerBundles')
-            ->will($this->returnValue(array($parent, $grandparent, $child)))
-        ;
-
-        $kernel->initializeBundles();
-
-        $map = $kernel->getBundleMap();
-        $this->assertEquals(array($child, $parent, $grandparent), $map['GrandParentCCundle']);
-        $this->assertEquals(array($child, $parent), $map['ParentCCundle']);
-        $this->assertEquals(array($child), $map['ChildCCundle']);
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testInitializeBundlesThrowsExceptionWhenABundleIsDirectlyExtendedByTwoBundles()
-    {
-        $parent = $this->getBundle(null, null, 'ParentCBundle');
-        $child1 = $this->getBundle(null, 'ParentCBundle', 'ChildC1Bundle');
-        $child2 = $this->getBundle(null, 'ParentCBundle', 'ChildC2Bundle');
-
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('registerBundles')
-            ->will($this->returnValue(array($parent, $child1, $child2)))
-        ;
-        $kernel->initializeBundles();
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testInitializeBundleThrowsExceptionWhenRegisteringTwoBundlesWithTheSameName()
-    {
-        $fooBundle = $this->getBundle(null, null, 'FooBundle', 'DuplicateName');
-        $barBundle = $this->getBundle(null, null, 'BarBundle', 'DuplicateName');
-
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('registerBundles')
-            ->will($this->returnValue(array($fooBundle, $barBundle)))
-        ;
-        $kernel->initializeBundles();
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testInitializeBundleThrowsExceptionWhenABundleExtendsItself()
-    {
-        $circularRef = $this->getBundle(null, 'CircularRefBundle', 'CircularRefBundle');
-
-        $kernel = $this->getKernel();
-        $kernel
-            ->expects($this->once())
-            ->method('registerBundles')
-            ->will($this->returnValue(array($circularRef)))
-        ;
-        $kernel->initializeBundles();
-    }
-
-    public function testTerminateReturnsSilentlyIfKernelIsNotBooted()
-    {
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getHttpKernel'))
-            ->getMock();
-
-        $kernel->expects($this->never())
-            ->method('getHttpKernel');
-
-        $kernel->setIsBooted(false);
-        $kernel->terminate(Request::create('/'), new Response());
-    }
-
-    public function testTerminateDelegatesTerminationOnlyForTerminableInterface()
-    {
-        // does not implement TerminableInterface
-        $httpKernelMock = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernelInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $httpKernelMock
-            ->expects($this->never())
-            ->method('terminate');
-
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getHttpKernel'))
-            ->getMock();
-
-        $kernel->expects($this->once())
-            ->method('getHttpKernel')
-            ->will($this->returnValue($httpKernelMock));
-
-        $kernel->setIsBooted(true);
-        $kernel->terminate(Request::create('/'), new Response());
-
-        // implements TerminableInterface
-        $httpKernelMock = $this->getMockBuilder('Symfony\Component\HttpKernel\HttpKernel')
-            ->disableOriginalConstructor()
-            ->setMethods(array('terminate'))
-            ->getMock();
-
-        $httpKernelMock
-            ->expects($this->once())
-            ->method('terminate');
-
-        $kernel = $this->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->disableOriginalConstructor()
-            ->setMethods(array('getHttpKernel'))
-            ->getMock();
-
-        $kernel->expects($this->exactly(2))
-            ->method('getHttpKernel')
-            ->will($this->returnValue($httpKernelMock));
-
-        $kernel->setIsBooted(true);
-        $kernel->terminate(Request::create('/'), new Response());
-    }
-
-    protected function getBundle($dir = null, $parent = null, $className = null, $bundleName = null)
-    {
-        $bundle = $this
-            ->getMockBuilder('Symfony\Component\HttpKernel\Bundle\BundleInterface')
-            ->setMethods(array('getPath', 'getParent', 'getName'))
-            ->disableOriginalConstructor()
-        ;
-
-        if ($className) {
-            $bundle->setMockClassName($className);
-        }
-
-        $bundle = $bundle->getMockForAbstractClass();
-
-        $bundle
-            ->expects($this->any())
-            ->method('getName')
-            ->will($this->returnValue(null === $bundleName ? get_class($bundle) : $bundleName))
-        ;
-
-        $bundle
-            ->expects($this->any())
-            ->method('getPath')
-            ->will($this->returnValue($dir))
-        ;
-
-        $bundle
-            ->expects($this->any())
-            ->method('getParent')
-            ->will($this->returnValue($parent))
-        ;
-
-        return $bundle;
-    }
-
-    protected function getKernel()
-    {
-        return $this
-            ->getMockBuilder('Symfony\Component\HttpKernel\Tests\Fixtures\KernelForTest')
-            ->setMethods(array('getBundle', 'registerBundles'))
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-    }
-
-    protected function getKernelForInvalidLocateResource()
-    {
-        return $this
-            ->getMockBuilder('Symfony\Component\HttpKernel\Kernel')
-            ->disableOriginalConstructor()
-            ->getMockForAbstractClass()
-        ;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Logger.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Logger.php
deleted file mode 100644
index 88babf3..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Logger.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\HttpKernel\Log\LoggerInterface;
-
-class Logger implements LoggerInterface
-{
-    protected $logs;
-
-    public function __construct()
-    {
-        $this->clear();
-    }
-
-    public function getLogs($priority = false)
-    {
-        return false === $priority ? $this->logs : $this->logs[$priority];
-    }
-
-    public function clear()
-    {
-        $this->logs = array(
-            'emerg' => array(),
-            'alert' => array(),
-            'crit' => array(),
-            'err' => array(),
-            'warn' => array(),
-            'notice' => array(),
-            'info' => array(),
-            'debug' => array(),
-        );
-    }
-
-    public function log($message, $priority)
-    {
-        $this->logs[$priority][] = $message;
-    }
-
-    public function emerg($message, array $context = array())
-    {
-        $this->log($message, 'emerg');
-    }
-
-    public function alert($message, array $context = array())
-    {
-        $this->log($message, 'alert');
-    }
-
-    public function crit($message, array $context = array())
-    {
-        $this->log($message, 'crit');
-    }
-
-    public function err($message, array $context = array())
-    {
-        $this->log($message, 'err');
-    }
-
-    public function warn($message, array $context = array())
-    {
-        $this->log($message, 'warn');
-    }
-
-    public function notice($message, array $context = array())
-    {
-        $this->log($message, 'notice');
-    }
-
-    public function info($message, array $context = array())
-    {
-        $this->log($message, 'info');
-    }
-
-    public function debug($message, array $context = array())
-    {
-        $this->log($message, 'debug');
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/AbstractProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/AbstractProfilerStorageTest.php
deleted file mode 100644
index 7be8826..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/AbstractProfilerStorageTest.php
+++ /dev/null
@@ -1,238 +0,0 @@
-<?php
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\Profile;
-
-abstract class AbstractProfilerStorageTest extends \PHPUnit_Framework_TestCase
-{
-    public function testStore()
-    {
-        for ($i = 0; $i < 10; $i ++) {
-            $profile = new Profile('token_'.$i);
-            $profile->setIp('127.0.0.1');
-            $profile->setUrl('http://foo.bar');
-            $profile->setMethod('GET');
-            $this->getStorage()->write($profile);
-        }
-        $this->assertCount(10, $this->getStorage()->find('127.0.0.1', 'http://foo.bar', 20, 'GET'), '->write() stores data in the storage');
-    }
-
-    public function testChildren()
-    {
-        $parentProfile = new Profile('token_parent');
-        $parentProfile->setIp('127.0.0.1');
-        $parentProfile->setUrl('http://foo.bar/parent');
-
-        $childProfile = new Profile('token_child');
-        $childProfile->setIp('127.0.0.1');
-        $childProfile->setUrl('http://foo.bar/child');
-
-        $parentProfile->addChild($childProfile);
-
-        $this->getStorage()->write($parentProfile);
-        $this->getStorage()->write($childProfile);
-
-        // Load them from storage
-        $parentProfile = $this->getStorage()->read('token_parent');
-        $childProfile  = $this->getStorage()->read('token_child');
-
-        // Check child has link to parent
-        $this->assertNotNull($childProfile->getParent());
-        $this->assertEquals($parentProfile->getToken(), $childProfile->getParentToken());
-
-        // Check parent has child
-        $children = $parentProfile->getChildren();
-        $this->assertCount(1, $children);
-        $this->assertEquals($childProfile->getToken(), $children[0]->getToken());
-    }
-
-    public function testStoreSpecialCharsInUrl()
-    {
-        // The storage accepts special characters in URLs (Even though URLs are not
-        // supposed to contain them)
-        $profile = new Profile('simple_quote');
-        $profile->setUrl('http://foo.bar/\'');
-        $this->getStorage()->write($profile);
-        $this->assertTrue(false !== $this->getStorage()->read('simple_quote'), '->write() accepts single quotes in URL');
-
-        $profile = new Profile('double_quote');
-        $profile->setUrl('http://foo.bar/"');
-        $this->getStorage()->write($profile);
-        $this->assertTrue(false !== $this->getStorage()->read('double_quote'), '->write() accepts double quotes in URL');
-
-        $profile = new Profile('backslash');
-        $profile->setUrl('http://foo.bar/\\');
-        $this->getStorage()->write($profile);
-        $this->assertTrue(false !== $this->getStorage()->read('backslash'), '->write() accepts backslash in URL');
-
-        $profile = new Profile('comma');
-        $profile->setUrl('http://foo.bar/,');
-        $this->getStorage()->write($profile);
-        $this->assertTrue(false !== $this->getStorage()->read('comma'), '->write() accepts comma in URL');
-    }
-
-    public function testStoreDuplicateToken()
-    {
-        $profile = new Profile('token');
-        $profile->setUrl('http://example.com/');
-
-        $this->assertTrue($this->getStorage()->write($profile), '->write() returns true when the token is unique');
-
-        $profile->setUrl('http://example.net/');
-
-        $this->assertTrue($this->getStorage()->write($profile), '->write() returns true when the token is already present in the storage');
-        $this->assertEquals('http://example.net/', $this->getStorage()->read('token')->getUrl(), '->write() overwrites the current profile data');
-
-        $this->assertCount(1, $this->getStorage()->find('', '', 1000, ''), '->find() does not return the same profile twice');
-    }
-
-    public function testRetrieveByIp()
-    {
-        $profile = new Profile('token');
-        $profile->setIp('127.0.0.1');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', '', 10, 'GET'), '->find() retrieve a record by IP');
-        $this->assertCount(0, $this->getStorage()->find('127.0.%.1', '', 10, 'GET'), '->find() does not interpret a "%" as a wildcard in the IP');
-        $this->assertCount(0, $this->getStorage()->find('127.0._.1', '', 10, 'GET'), '->find() does not interpret a "_" as a wildcard in the IP');
-    }
-
-    public function testRetrieveByUrl()
-    {
-        $profile = new Profile('simple_quote');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo.bar/\'');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $profile = new Profile('double_quote');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo.bar/"');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $profile = new Profile('backslash');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo\\bar/');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $profile = new Profile('percent');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo.bar/%');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $profile = new Profile('underscore');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo.bar/_');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $profile = new Profile('semicolon');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://foo.bar/;');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo.bar/\'', 10, 'GET'), '->find() accepts single quotes in URLs');
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo.bar/"', 10, 'GET'), '->find() accepts double quotes in URLs');
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo\\bar/', 10, 'GET'), '->find() accepts backslash in URLs');
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo.bar/;', 10, 'GET'), '->find() accepts semicolon in URLs');
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo.bar/%', 10, 'GET'), '->find() does not interpret a "%" as a wildcard in the URL');
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', 'http://foo.bar/_', 10, 'GET'), '->find() does not interpret a "_" as a wildcard in the URL');
-    }
-
-    public function testStoreTime()
-    {
-        $dt = new \DateTime('now');
-        $start = $dt->getTimestamp();
-
-        for ($i = 0; $i < 3; $i++) {
-            $dt->modify('+1 minute');
-            $profile = new Profile('time_'.$i);
-            $profile->setIp('127.0.0.1');
-            $profile->setUrl('http://foo.bar');
-            $profile->setTime($dt->getTimestamp());
-            $profile->setMethod('GET');
-            $this->getStorage()->write($profile);
-        }
-
-        $records = $this->getStorage()->find('', '', 3, 'GET', $start, time() + 3 * 60);
-        $this->assertCount(3, $records, '->find() returns all previously added records');
-        $this->assertEquals($records[0]['token'], 'time_2', '->find() returns records ordered by time in descendant order');
-        $this->assertEquals($records[1]['token'], 'time_1', '->find() returns records ordered by time in descendant order');
-        $this->assertEquals($records[2]['token'], 'time_0', '->find() returns records ordered by time in descendant order');
-
-        $records = $this->getStorage()->find('', '', 3, 'GET', $start, time() + 2 * 60);
-        $this->assertCount(2, $records, '->find() should return only first two of the previously added records');
-    }
-
-    public function testRetrieveByEmptyUrlAndIp()
-    {
-        for ($i = 0; $i < 5; $i++) {
-            $profile = new Profile('token_'.$i);
-            $profile->setMethod('GET');
-            $this->getStorage()->write($profile);
-        }
-        $this->assertCount(5, $this->getStorage()->find('', '', 10, 'GET'), '->find() returns all previously added records');
-        $this->getStorage()->purge();
-    }
-
-    public function testPurge()
-    {
-        $profile = new Profile('token1');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://example.com/');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $this->assertTrue(false !== $this->getStorage()->read('token1'));
-        $this->assertCount(1, $this->getStorage()->find('127.0.0.1', '', 10, 'GET'));
-
-        $profile = new Profile('token2');
-        $profile->setIp('127.0.0.1');
-        $profile->setUrl('http://example.net/');
-        $profile->setMethod('GET');
-        $this->getStorage()->write($profile);
-
-        $this->assertTrue(false !== $this->getStorage()->read('token2'));
-        $this->assertCount(2, $this->getStorage()->find('127.0.0.1', '', 10, 'GET'));
-
-        $this->getStorage()->purge();
-
-        $this->assertEmpty($this->getStorage()->read('token'), '->purge() removes all data stored by profiler');
-        $this->assertCount(0, $this->getStorage()->find('127.0.0.1', '', 10, 'GET'), '->purge() removes all items from index');
-    }
-
-    public function testDuplicates()
-    {
-        for ($i = 1; $i <= 5; $i++) {
-            $profile = new Profile('foo' . $i);
-            $profile->setIp('127.0.0.1');
-            $profile->setUrl('http://example.net/');
-            $profile->setMethod('GET');
-
-            ///three duplicates
-            $this->getStorage()->write($profile);
-            $this->getStorage()->write($profile);
-            $this->getStorage()->write($profile);
-        }
-        $this->assertCount(3, $this->getStorage()->find('127.0.0.1', 'http://example.net/', 3, 'GET'), '->find() method returns incorrect number of entries');
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    abstract protected function getStorage();
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php
deleted file mode 100644
index ad22512..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\FileProfilerStorage;
-use Symfony\Component\HttpKernel\Profiler\Profile;
-
-class FileProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $tmpDir;
-    protected static $storage;
-
-    protected static function cleanDir()
-    {
-        $flags = \FilesystemIterator::SKIP_DOTS;
-        $iterator = new \RecursiveDirectoryIterator(self::$tmpDir, $flags);
-        $iterator = new \RecursiveIteratorIterator($iterator, \RecursiveIteratorIterator::SELF_FIRST);
-
-        foreach ($iterator as $file) {
-            if (is_file($file)) {
-                unlink($file);
-            }
-        }
-    }
-
-    public static function setUpBeforeClass()
-    {
-        self::$tmpDir = sys_get_temp_dir() . '/sf2_profiler_file_storage';
-        if (is_dir(self::$tmpDir)) {
-            self::cleanDir();
-        }
-        self::$storage = new FileProfilerStorage('file:'.self::$tmpDir);
-    }
-
-    public static function tearDownAfterClass()
-    {
-        self::cleanDir();
-    }
-
-    protected function setUp()
-    {
-        self::$storage->purge();
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-
-    public function testMultiRowIndexFile()
-    {
-        $iteration = 3;
-        for ($i = 0; $i < $iteration; $i++) {
-            $profile = new Profile('token' . $i);
-            $profile->setIp('127.0.0.' . $i);
-            $profile->setUrl('http://foo.bar/' . $i);
-            $storage = $this->getStorage();
-
-            $storage->write($profile);
-            $storage->write($profile);
-            $storage->write($profile);
-        }
-
-        $handle = fopen(self::$tmpDir . '/index.csv', 'r');
-        for ($i = 0; $i < $iteration; $i++) {
-            $row = fgetcsv($handle);
-            $this->assertEquals('token' . $i, $row[0]);
-            $this->assertEquals('127.0.0.' . $i, $row[1]);
-            $this->assertEquals('http://foo.bar/' . $i, $row[3]);
-        }
-        $this->assertFalse(fgetcsv($handle));
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcacheProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcacheProfilerStorageTest.php
deleted file mode 100644
index f582dff..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcacheProfilerStorageTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\MemcacheProfilerStorage;
-use Symfony\Component\HttpKernel\Tests\Profiler\Mock\MemcacheMock;
-
-class MemcacheProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $storage;
-
-    protected function setUp()
-    {
-        $memcacheMock = new MemcacheMock();
-        $memcacheMock->addServer('127.0.0.1', 11211);
-
-        self::$storage = new MemcacheProfilerStorage('memcache://127.0.0.1:11211', '', '', 86400);
-        self::$storage->setMemcache($memcacheMock);
-
-        if (self::$storage) {
-            self::$storage->purge();
-        }
-    }
-
-    protected function tearDown()
-    {
-        if (self::$storage) {
-            self::$storage->purge();
-            self::$storage = false;
-        }
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcachedProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcachedProfilerStorageTest.php
deleted file mode 100644
index 565ac35..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcachedProfilerStorageTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\MemcachedProfilerStorage;
-use Symfony\Component\HttpKernel\Tests\Profiler\Mock\MemcachedMock;
-
-class MemcachedProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $storage;
-
-    protected function setUp()
-    {
-        $memcachedMock = new MemcachedMock();
-        $memcachedMock->addServer('127.0.0.1', 11211);
-
-        self::$storage = new MemcachedProfilerStorage('memcached://127.0.0.1:11211', '', '', 86400);
-        self::$storage->setMemcached($memcachedMock);
-
-        if (self::$storage) {
-            self::$storage->purge();
-        }
-    }
-
-    protected function tearDown()
-    {
-        if (self::$storage) {
-            self::$storage->purge();
-            self::$storage = false;
-        }
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcacheMock.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcacheMock.php
deleted file mode 100644
index 014f549..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcacheMock.php
+++ /dev/null
@@ -1,260 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler\Mock;
-
-/**
- * MemcacheMock for simulating Memcache extension in tests.
- *
- * @author Andrej Hudec <pulzarraider@gmail.com>
- */
-class MemcacheMock
-{
-    private $connected;
-    private $storage;
-
-    public function __construct()
-    {
-        $this->connected = false;
-        $this->storage = array();
-    }
-
-    /**
-     * Open memcached server connection
-     *
-     * @param string  $host
-     * @param integer $port
-     * @param integer $timeout
-     *
-     * @return boolean
-     */
-    public function connect($host, $port = null, $timeout = null)
-    {
-        if ('127.0.0.1' == $host && 11211 == $port) {
-            $this->connected = true;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Open memcached server persistent connection
-     *
-     * @param string  $host
-     * @param integer $port
-     * @param integer $timeout
-     *
-     * @return boolean
-     */
-    public function pconnect($host, $port = null, $timeout = null)
-    {
-        if ('127.0.0.1' == $host && 11211 == $port) {
-            $this->connected = true;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Add a memcached server to connection pool
-     *
-     * @param string   $host
-     * @param integer  $port
-     * @param boolean  $persistent
-     * @param integer  $weight
-     * @param integer  $timeout
-     * @param integer  $retry_interval
-     * @param boolean  $status
-     * @param callable $failure_callback
-     * @param integer  $timeoutms
-     *
-     * @return boolean
-     */
-    public function addServer($host, $port = 11211, $persistent = null, $weight = null, $timeout = null, $retry_interval = null, $status = null, $failure_callback = null, $timeoutms = null)
-    {
-        if ('127.0.0.1' == $host && 11211 == $port) {
-            $this->connected = true;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Add an item to the server only if such key doesn't exist at the server yet.
-     *
-     * @param string  $key
-     * @param mixed   $var
-     * @param integer $flag
-     * @param integer $expire
-     *
-     * @return boolean
-     */
-    public function add($key, $var, $flag = null, $expire = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (!isset($this->storage[$key])) {
-            $this->storeData($key, $var);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Store data at the server.
-     *
-     * @param string  $key
-     * @param string  $var
-     * @param integer $flag
-     * @param integer $expire
-     *
-     * @return boolean
-     */
-    public function set($key, $var, $flag = null, $expire = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storeData($key, $var);
-
-        return true;
-    }
-
-    /**
-     * Replace value of the existing item.
-     *
-     * @param string  $key
-     * @param mixed   $var
-     * @param integer $flag
-     * @param integer $expire
-     *
-     * @return boolean
-     */
-    public function replace($key, $var, $flag = null, $expire = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            $this->storeData($key, $var);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Retrieve item from the server.
-     *
-     * @param string|array  $key
-     * @param integer|array $flags
-     *
-     * @return mixed
-     */
-    public function get($key, &$flags = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (is_array($key)) {
-            $result = array();
-            foreach ($key as $k) {
-                if (isset($this->storage[$k])) {
-                    $result[] = $this->getData($k);
-                }
-            }
-
-            return $result;
-        }
-
-        return $this->getData($key);
-    }
-
-    /**
-     * Delete item from the server
-     *
-     * @param string $key
-     *
-     * @return boolean
-     */
-    public function delete($key)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            unset($this->storage[$key]);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Flush all existing items at the server
-     *
-     * @return boolean
-     */
-    public function flush()
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storage = array();
-
-        return true;
-    }
-
-    /**
-     * Close memcached server connection
-     *
-     * @return boolean
-     */
-    public function close()
-    {
-        $this->connected = false;
-
-        return true;
-    }
-
-    private function getData($key)
-    {
-        if (isset($this->storage[$key])) {
-            return unserialize($this->storage[$key]);
-        }
-
-        return false;
-    }
-
-    private function storeData($key, $value)
-    {
-        $this->storage[$key] = serialize($value);
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcachedMock.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcachedMock.php
deleted file mode 100644
index 2b17d70..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcachedMock.php
+++ /dev/null
@@ -1,225 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler\Mock;
-
-/**
- * MemcachedMock for simulating Memcached extension in tests.
- *
- * @author Andrej Hudec <pulzarraider@gmail.com>
- */
-class MemcachedMock
-{
-    private $connected;
-    private $storage;
-
-    public function __construct()
-    {
-        $this->connected = false;
-        $this->storage = array();
-    }
-
-    /**
-     * Set a Memcached option
-     *
-     * @param integer $option
-     * @param mixed   $value
-     *
-     * @return boolean
-     */
-    public function setOption($option, $value)
-    {
-        return true;
-    }
-
-    /**
-     * Add a memcached server to connection pool
-     *
-     * @param string  $host
-     * @param integer $port
-     * @param integer $weight
-     *
-     * @return boolean
-     */
-    public function addServer($host, $port = 11211, $weight = 0)
-    {
-        if ('127.0.0.1' == $host && 11211 == $port) {
-            $this->connected = true;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Add an item to the server only if such key doesn't exist at the server yet.
-     *
-     * @param string  $key
-     * @param mixed   $value
-     * @param integer $expiration
-     *
-     * @return boolean
-     */
-    public function add($key, $value, $expiration = 0)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (!isset($this->storage[$key])) {
-            $this->storeData($key, $value);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Store data at the server.
-     *
-     * @param string  $key
-     * @param mixed   $value
-     * @param integer $expiration
-     *
-     * @return boolean
-     */
-    public function set($key, $value, $expiration = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storeData($key, $value);
-
-        return true;
-    }
-
-    /**
-     * Replace value of the existing item.
-     *
-     * @param string  $key
-     * @param mixed   $value
-     * @param integer $expiration
-     *
-     * @return boolean
-     */
-    public function replace($key, $value, $expiration = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            $this->storeData($key, $value);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Retrieve item from the server.
-     *
-     * @param string   $key
-     * @param callable $cache_cb
-     * @param float    $cas_token
-     *
-     * @return boolean
-     */
-    public function get($key, $cache_cb = null, &$cas_token = null)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        return $this->getData($key);
-    }
-
-    /**
-     * Append data to an existing item
-     *
-     * @param string $key
-     * @param string $value
-     *
-     * @return boolean
-     */
-    public function append($key, $value)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            $this->storeData($key, $this->getData($key).$value);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Delete item from the server
-     *
-     * @param string $key
-     *
-     * @return boolean
-     */
-    public function delete($key)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            unset($this->storage[$key]);
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Flush all existing items at the server
-     *
-     * @return boolean
-     */
-    public function flush()
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storage = array();
-
-        return true;
-    }
-
-    private function getData($key)
-    {
-        if (isset($this->storage[$key])) {
-            return unserialize($this->storage[$key]);
-        }
-
-        return false;
-    }
-
-    private function storeData($key, $value)
-    {
-        $this->storage[$key] = serialize($value);
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/RedisMock.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/RedisMock.php
deleted file mode 100644
index 4b8cf07..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/RedisMock.php
+++ /dev/null
@@ -1,241 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler\Mock;
-
-/**
- * RedisMock for simulating Redis extension in tests.
- *
- * @author Andrej Hudec <pulzarraider@gmail.com>
- */
-class RedisMock
-{
-
-    private $connected;
-    private $storage;
-
-    public function __construct()
-    {
-        $this->connected = false;
-        $this->storage = array();
-    }
-
-    /**
-     * Add a server to connection pool
-     *
-     * @param string  $host
-     * @param integer $port
-     * @param float   $timeout
-     *
-     * @return boolean
-     */
-    public function connect($host, $port = 6379, $timeout = 0)
-    {
-        if ('127.0.0.1' == $host && 6379 == $port) {
-            $this->connected = true;
-
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Set client option.
-     *
-     * @param integer $name
-     * @param integer $value
-     *
-     * @return boolean
-     */
-    public function setOption($name, $value)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * Verify if the specified key exists.
-     *
-     * @param string $key
-     *
-     * @return boolean
-     */
-    public function exists($key)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        return isset($this->storage[$key]);
-    }
-
-    /**
-     * Store data at the server with expiration time.
-     *
-     * @param string  $key
-     * @param integer $ttl
-     * @param mixed   $value
-     *
-     * @return boolean
-     */
-    public function setex($key, $ttl, $value)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storeData($key, $value);
-
-        return true;
-    }
-
-    /**
-     * Sets an expiration time on an item.
-     *
-     * @param string  $key
-     * @param integer $ttl
-     *
-     * @return boolean
-     */
-    public function setTimeout($key, $ttl)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            return true;
-        }
-
-        return false;
-    }
-
-    /**
-     * Retrieve item from the server.
-     *
-     * @param string $key
-     *
-     * @return boolean
-     */
-    public function get($key)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        return $this->getData($key);
-    }
-
-    /**
-     * Append data to an existing item
-     *
-     * @param string $key
-     * @param string $value
-     *
-     * @return integer Size of the value after the append.
-     */
-    public function append($key, $value)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (isset($this->storage[$key])) {
-            $this->storeData($key, $this->getData($key).$value);
-
-            return strlen($this->storage[$key]);
-        }
-
-        return false;
-    }
-
-    /**
-     * Remove specified keys.
-     *
-     * @param string|array $key
-     *
-     * @return integer
-     */
-    public function delete($key)
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        if (is_array($key)) {
-            $result = 0;
-            foreach ($key as $k) {
-                if (isset($this->storage[$k])) {
-                    unset($this->storage[$k]);
-                    ++$result;
-                }
-            }
-
-            return $result;
-        }
-
-        if (isset($this->storage[$key])) {
-            unset($this->storage[$key]);
-
-            return 1;
-        }
-
-        return 0;
-    }
-
-    /**
-     * Flush all existing items from all databases at the server.
-     *
-     * @return boolean
-     */
-    public function flushAll()
-    {
-        if (!$this->connected) {
-            return false;
-        }
-
-        $this->storage = array();
-
-        return true;
-    }
-
-    /**
-     * Close Redis server connection
-     *
-     * @return boolean
-     */
-    public function close()
-    {
-        $this->connected = false;
-
-        return true;
-    }
-
-    private function getData($key)
-    {
-        if (isset($this->storage[$key])) {
-            return unserialize($this->storage[$key]);
-        }
-
-        return false;
-    }
-
-    private function storeData($key, $value)
-    {
-        $this->storage[$key] = serialize($value);
-
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php
deleted file mode 100644
index b63b84c..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php
+++ /dev/null
@@ -1,128 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\MongoDbProfilerStorage;
-use Symfony\Component\HttpKernel\Profiler\Profile;
-use Symfony\Component\HttpKernel\DataCollector\DataCollector;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class DummyMongoDbProfilerStorage extends MongoDbProfilerStorage
-{
-    public function getMongo()
-    {
-        return parent::getMongo();
-    }
-}
-
-class MongoDbProfilerStorageTestDataCollector extends DataCollector
-{
-    public function setData($data)
-    {
-        $this->data = $data;
-    }
-
-    public function getData()
-    {
-        return $this->data;
-    }
-
-    public function collect(Request $request, Response $response, \Exception $exception = null)
-    {
-    }
-
-    public function getName()
-    {
-        return 'test_data_collector';
-    }
-}
-
-class MongoDbProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $storage;
-
-    public static function setUpBeforeClass()
-    {
-        if (extension_loaded('mongo')) {
-            self::$storage = new DummyMongoDbProfilerStorage('mongodb://localhost/symfony_tests/profiler_data', '', '', 86400);
-            try {
-                self::$storage->getMongo();
-            } catch (\MongoConnectionException $e) {
-                self::$storage = null;
-            }
-        }
-    }
-
-    public static function tearDownAfterClass()
-    {
-        if (self::$storage) {
-            self::$storage->purge();
-            self::$storage = null;
-        }
-    }
-
-    public function testCleanup()
-    {
-        $dt = new \DateTime('-2 day');
-        for ($i = 0; $i < 3; $i++) {
-            $dt->modify('-1 day');
-            $profile = new Profile('time_'.$i);
-            $profile->setTime($dt->getTimestamp());
-            $profile->setMethod('GET');
-            self::$storage->write($profile);
-        }
-        $records = self::$storage->find('', '', 3, 'GET');
-        $this->assertCount(1, $records, '->find() returns only one record');
-        $this->assertEquals($records[0]['token'], 'time_2', '->find() returns the latest added record');
-        self::$storage->purge();
-    }
-
-    public function testUtf8()
-    {
-        $profile = new Profile('utf8_test_profile');
-
-        $data = 'HЁʃʃϿ, ϢorЃd!';
-        $nonUtf8Data = mb_convert_encoding($data, 'UCS-2');
-
-        $collector = new MongoDbProfilerStorageTestDataCollector();
-        $collector->setData($nonUtf8Data);
-
-        $profile->setCollectors(array($collector));
-
-        self::$storage->write($profile);
-
-        $readProfile = self::$storage->read('utf8_test_profile');
-        $collectors = $readProfile->getCollectors();
-
-        $this->assertCount(1, $collectors);
-        $this->assertArrayHasKey('test_data_collector', $collectors);
-        $this->assertEquals($nonUtf8Data, $collectors['test_data_collector']->getData(), 'Non-UTF8 data is properly encoded/decoded');
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-
-    protected function setUp()
-    {
-        if (self::$storage) {
-            self::$storage->purge();
-        } else {
-            $this->markTestSkipped('MongoDbProfilerStorageTest requires the mongo PHP extension and a MongoDB server on localhost');
-        }
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php
deleted file mode 100644
index 2a41531..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\DataCollector\RequestDataCollector;
-use Symfony\Component\HttpKernel\Profiler\SqliteProfilerStorage;
-use Symfony\Component\HttpKernel\Profiler\Profiler;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-
-class ProfilerTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\HttpFoundation\Request')) {
-            $this->markTestSkipped('The "HttpFoundation" component is not available');
-        }
-    }
-
-    public function testCollect()
-    {
-        if (!class_exists('SQLite3') && (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers()))) {
-            $this->markTestSkipped('This test requires SQLite support in your environment');
-        }
-
-        $request = new Request();
-        $request->query->set('foo', 'bar');
-        $response = new Response();
-        $collector = new RequestDataCollector();
-
-        $tmp = tempnam(sys_get_temp_dir(), 'sf2_profiler');
-        if (file_exists($tmp)) {
-            @unlink($tmp);
-        }
-        $storage = new SqliteProfilerStorage('sqlite:'.$tmp);
-        $storage->purge();
-
-        $profiler = new Profiler($storage);
-        $profiler->add($collector);
-        $profile = $profiler->collect($request, $response);
-
-        $profile = $profiler->loadProfile($profile->getToken());
-        $this->assertEquals(array('foo' => 'bar'), $profiler->get('request')->getRequestQuery()->all());
-
-        @unlink($tmp);
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/RedisProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/RedisProfilerStorageTest.php
deleted file mode 100644
index 91354ae..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/RedisProfilerStorageTest.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\RedisProfilerStorage;
-use Symfony\Component\HttpKernel\Tests\Profiler\Mock\RedisMock;
-
-class RedisProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $storage;
-
-    protected function setUp()
-    {
-        $redisMock = new RedisMock();
-        $redisMock->connect('127.0.0.1', 6379);
-
-        self::$storage = new RedisProfilerStorage('redis://127.0.0.1:6379', '', '', 86400);
-        self::$storage->setRedis($redisMock);
-
-        if (self::$storage) {
-            self::$storage->purge();
-        }
-    }
-
-    protected function tearDown()
-    {
-        if (self::$storage) {
-            self::$storage->purge();
-            self::$storage = false;
-        }
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/SqliteProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/SqliteProfilerStorageTest.php
deleted file mode 100644
index 43546c1..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/SqliteProfilerStorageTest.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests\Profiler;
-
-use Symfony\Component\HttpKernel\Profiler\SqliteProfilerStorage;
-
-class SqliteProfilerStorageTest extends AbstractProfilerStorageTest
-{
-    protected static $dbFile;
-    protected static $storage;
-
-    public static function setUpBeforeClass()
-    {
-        self::$dbFile = tempnam(sys_get_temp_dir(), 'sf2_sqlite_storage');
-        if (file_exists(self::$dbFile)) {
-            @unlink(self::$dbFile);
-        }
-        self::$storage = new SqliteProfilerStorage('sqlite:'.self::$dbFile);
-    }
-
-    public static function tearDownAfterClass()
-    {
-        @unlink(self::$dbFile);
-    }
-
-    protected function setUp()
-    {
-        if (!class_exists('SQLite3') && (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers()))) {
-            $this->markTestSkipped('This test requires SQLite support in your environment');
-        }
-        self::$storage->purge();
-    }
-
-    /**
-     * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface
-     */
-    protected function getStorage()
-    {
-        return self::$storage;
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/TestHttpKernel.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/TestHttpKernel.php
deleted file mode 100644
index d526c4d..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/TestHttpKernel.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\HttpKernel\Tests;
-
-use Symfony\Component\HttpKernel\HttpKernel;
-use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\Response;
-use Symfony\Component\HttpKernel\Controller\ControllerResolverInterface;
-use Symfony\Component\EventDispatcher\EventDispatcher;
-
-class TestHttpKernel extends HttpKernel implements ControllerResolverInterface
-{
-    public function __construct()
-    {
-        parent::__construct(new EventDispatcher(), $this);
-    }
-
-    public function getController(Request $request)
-    {
-        return array($this, 'callController');
-    }
-
-    public function getArguments(Request $request, $controller)
-    {
-        return array($request);
-    }
-
-    public function callController(Request $request)
-    {
-        return new Response('Request: '.$request->getRequestUri());
-    }
-}
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/phpunit.xml.dist b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/phpunit.xml.dist
deleted file mode 100644
index f8490c3..0000000
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/phpunit.xml.dist
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         colors="true"
-         convertErrorsToExceptions="true"
-         convertNoticesToExceptions="true"
-         convertWarningsToExceptions="true"
-         processIsolation="false"
-         stopOnFailure="false"
-         syntaxCheck="false"
-         bootstrap="vendor/autoload.php"
->
-    <testsuites>
-        <testsuite name="Symfony HttpKernel Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./Tests</directory>
-                <directory>./vendor</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/.gitattributes b/core/vendor/symfony/process/Symfony/Component/Process/.gitattributes
deleted file mode 100644
index 8048151..0000000
--- a/core/vendor/symfony/process/Symfony/Component/Process/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-/Tests export-ignore
-phpunit.xml.dist export-ignore
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessFailedException.php b/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessFailedException.php
index a4540c0..f778a36 100755
--- a/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessFailedException.php
+++ b/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessFailedException.php
@@ -30,8 +30,10 @@ public function __construct(Process $process)
 
         parent::__construct(
             sprintf(
-                'The command "%s" failed.'."\n\nOutput:\n================\n".$process->getOutput()."\n\nError Output:\n================\n".$process->getErrorOutput(),
-                $process->getCommandLine()
+                'The command "%s" failed.'."\n\nOutput:\n================\n%s\n\nError Output:\n================\n%s",
+                $process->getCommandLine(),
+                $process->getOutput(),
+                $process->getErrorOutput()
             )
         );
 
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/ExecutableFinder.php b/core/vendor/symfony/process/Symfony/Component/Process/ExecutableFinder.php
index 087c94b..5cc99c7 100644
--- a/core/vendor/symfony/process/Symfony/Component/Process/ExecutableFinder.php
+++ b/core/vendor/symfony/process/Symfony/Component/Process/ExecutableFinder.php
@@ -19,22 +19,23 @@
  */
 class ExecutableFinder
 {
-    private static $isWindows;
-
     private $suffixes = array('.exe', '.bat', '.cmd', '.com');
 
-    public function __construct()
-    {
-        if (null === self::$isWindows) {
-            self::$isWindows = 0 === stripos(PHP_OS, 'win');
-        }
-    }
-
+    /**
+     * Replaces default suffixes of executable.
+     *
+     * @param array $suffixes
+     */
     public function setSuffixes(array $suffixes)
     {
         $this->suffixes = $suffixes;
     }
 
+    /**
+     * Adds new possible suffix to check for executable.
+     *
+     * @param string $suffix
+     */
     public function addSuffix($suffix)
     {
         $this->suffixes[] = $suffix;
@@ -78,7 +79,7 @@ public function find($name, $default = null, array $extraDirs = array())
         }
         foreach ($suffixes as $suffix) {
             foreach ($dirs as $dir) {
-                if (is_file($file = $dir.DIRECTORY_SEPARATOR.$name.$suffix) && (self::$isWindows || is_executable($file))) {
+                if (is_file($file = $dir.DIRECTORY_SEPARATOR.$name.$suffix) && (defined('PHP_WINDOWS_VERSION_BUILD') || is_executable($file))) {
                     return $file;
                 }
             }
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/LICENSE b/core/vendor/symfony/process/Symfony/Component/Process/LICENSE
index cdffe7a..88a57f8 100644
--- a/core/vendor/symfony/process/Symfony/Component/Process/LICENSE
+++ b/core/vendor/symfony/process/Symfony/Component/Process/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2004-2012 Fabien Potencier
+Copyright (c) 2004-2013 Fabien Potencier
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/PhpProcess.php b/core/vendor/symfony/process/Symfony/Component/Process/PhpProcess.php
index 2bd5600..7a9fd08 100644
--- a/core/vendor/symfony/process/Symfony/Component/Process/PhpProcess.php
+++ b/core/vendor/symfony/process/Symfony/Component/Process/PhpProcess.php
@@ -55,16 +55,9 @@ public function setPhpBinary($php)
     }
 
     /**
-     * Runs the process.
-     *
-     * @param Closure|string|array $callback A PHP callback to run whenever there is some
-     *                                       output available on STDOUT or STDERR
-     *
-     * @return integer The exit status code
-     *
-     * @api
+     * {@inheritdoc}
      */
-    public function run($callback = null)
+    public function start($callback = null)
     {
         if (null === $this->getCommandLine()) {
             if (false === $php = $this->executableFinder->find()) {
@@ -73,6 +66,6 @@ public function run($callback = null)
             $this->setCommandLine($php);
         }
 
-        return parent::run($callback);
+        parent::start($callback);
     }
 }
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Process.php b/core/vendor/symfony/process/Symfony/Component/Process/Process.php
index ba76255..4af26e8 100644
--- a/core/vendor/symfony/process/Symfony/Component/Process/Process.php
+++ b/core/vendor/symfony/process/Symfony/Component/Process/Process.php
@@ -127,7 +127,7 @@ public function __construct($commandline, $cwd = null, array $env = null, $stdin
         }
 
         $this->commandline = $commandline;
-        $this->cwd = null === $cwd ? getcwd() : $cwd;
+        $this->cwd = $cwd;
         if (null !== $env) {
             $this->env = array();
             foreach ($env as $key => $value) {
@@ -159,8 +159,8 @@ public function __destruct()
      * The STDOUT and STDERR are also available after the process is finished
      * via the getOutput() and getErrorOutput() methods.
      *
-     * @param Closure|string|array $callback A PHP callback to run whenever there is some
-     *                                       output available on STDOUT or STDERR
+     * @param callback|null $callback A PHP callback to run whenever there is some
+     *                                output available on STDOUT or STDERR
      *
      * @return integer The exit status code
      *
@@ -190,8 +190,8 @@ public function run($callback = null)
      * with true as a second parameter then the callback will get all data occurred
      * in (and since) the start call.
      *
-     * @param Closure|string|array $callback A PHP callback to run whenever there is some
-     *                                       output available on STDOUT or STDERR
+     * @param callback|null $callback A PHP callback to run whenever there is some
+     *                                output available on STDOUT or STDERR
      *
      * @throws \RuntimeException When process can't be launch or is stopped
      * @throws \RuntimeException When process is already running
@@ -318,11 +318,12 @@ public function start($callback = null)
      * from the output in real-time while writing the standard input to the process.
      * It allows to have feedback from the independent process during execution.
      *
-     * @param mixed $callback A valid PHP callback
+     * @param callback|null $callback A valid PHP callback
      *
-     * @return int The exitcode of the process
+     * @return integer The exitcode of the process
      *
-     * @throws \RuntimeException
+     * @throws \RuntimeException When process timed out
+     * @throws \RuntimeException When process stopped after receiving signal
      */
     public function wait($callback = null)
     {
@@ -338,10 +339,13 @@ public function wait($callback = null)
                 $w = null;
                 $e = null;
 
-                $n = @stream_select($r, $w, $e, $this->timeout);
+                if (false === $n = @stream_select($r, $w, $e, $this->timeout)) {
+                    $lastError = error_get_last();
 
-                if (false === $n) {
-                    $this->pipes = array();
+                    // stream_select returns false when the `select` system call is interrupted by an incoming signal
+                    if (isset($lastError['message']) && false === stripos($lastError['message'], 'interrupted system call')) {
+                        $this->pipes = array();
+                    }
 
                     continue;
                 }
@@ -452,8 +456,6 @@ public function getExitCode()
      *
      * @return string A string representation for the exit status code
      *
-     * @throws RuntimeException In case --enable-sigchild is activated and the sigchild compatibility mode is disabled
-     *
      * @see http://tldp.org/LDP/abs/html/exitcodes.html
      * @see http://en.wikipedia.org/wiki/Unix_signal
      */
@@ -469,8 +471,6 @@ public function getExitCodeText()
      *
      * @return Boolean true if the process ended successfully, false otherwise
      *
-     * @throws RuntimeException In case --enable-sigchild is activated and the sigchild compatibility mode is disabled
-     *
      * @api
      */
     public function isSuccessful()
@@ -573,11 +573,9 @@ public function isRunning()
     /**
      * Stops the process.
      *
-     * @param float $timeout The timeout in seconds
+     * @param integer|float $timeout The timeout in seconds
      *
      * @return integer The exit-code of the process
-     *
-     * @throws \RuntimeException if the process got signaled
      */
     public function stop($timeout=10)
     {
@@ -693,6 +691,13 @@ public function setTimeout($timeout)
      */
     public function getWorkingDirectory()
     {
+        // This is for BC only
+        if (null === $this->cwd) {
+            // getcwd() will return false if any one of the parent directories does not have
+            // the readable or search mode set, even if the current directory does
+            return getcwd() ?: null;
+        }
+
         return $this->cwd;
     }
 
@@ -818,9 +823,9 @@ public function setEnhanceSigchildCompatibility($enhance)
      * The callbacks adds all occurred output to the specific buffer and calls
      * the user callback (if present) with the received output.
      *
-     * @param mixed $callback The user defined PHP callback
+     * @param callback|null $callback The user defined PHP callback
      *
-     * @return mixed A PHP callable
+     * @return callback A PHP callable
      */
     protected function buildCallback($callback)
     {
@@ -860,6 +865,9 @@ protected function updateStatus()
         }
     }
 
+    /**
+     * Updates the current error output of the process (STDERR).
+     */
     protected function updateErrorOutput()
     {
         if (isset($this->pipes[self::STDERR]) && is_resource($this->pipes[self::STDERR])) {
@@ -867,6 +875,9 @@ protected function updateErrorOutput()
         }
     }
 
+    /**
+     * Updates the current output of the process (STDOUT).
+     */
     protected function updateOutput()
     {
         if (defined('PHP_WINDOWS_VERSION_BUILD') && isset($this->fileHandles[self::STDOUT]) && is_resource($this->fileHandles[self::STDOUT])) {
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php
index d83c1f3..51d51f4 100644
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php
+++ b/core/vendor/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php
@@ -11,13 +11,13 @@
 
 namespace Symfony\Component\Process\Tests;
 
+use Symfony\Component\Process\Process;
+
 /**
  * @author Robert Schönthal <seroscho@googlemail.com>
  */
 abstract class AbstractProcessTest extends \PHPUnit_Framework_TestCase
 {
-    protected abstract function getProcess($commandline, $cwd = null, array $env = null, $stdin = null, $timeout = 60, array $options = array());
-
     /**
      * @expectedException \InvalidArgumentException
      */
@@ -233,11 +233,14 @@ public function testProcessWithTermSignal()
             $this->markTestSkipped('Windows does not support POSIX signals');
         }
 
+        // SIGTERM is only defined if pcntl extension is present
+        $termSignal = defined('SIGTERM') ? SIGTERM : 15;
 
         $process = $this->getProcess('php -r "while (true) {}"');
         $process->start();
         $process->stop();
-        $this->assertEquals(SIGTERM, $process->getTermSignal());
+
+        $this->assertEquals($termSignal, $process->getTermSignal());
     }
 
     public function testPhpDeadlock()
@@ -297,4 +300,16 @@ public function methodProvider()
 
         return $defaults;
     }
+
+    /**
+     * @param string  $commandline
+     * @param null    $cwd
+     * @param array   $env
+     * @param null    $stdin
+     * @param integer $timeout
+     * @param array   $options
+     *
+     * @return Process
+     */
+    abstract protected function getProcess($commandline, $cwd = null, array $env = null, $stdin = null, $timeout = 60, array $options = array());
 }
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpExecutableFinderTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpExecutableFinderTest.php
index c632e31..99c4a1e 100644
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpExecutableFinderTest.php
+++ b/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpExecutableFinderTest.php
@@ -21,7 +21,7 @@ class PhpExecutableFinderTest extends \PHPUnit_Framework_TestCase
     /**
      * tests find() with the env var PHP_PATH
      */
-    public function testFindWithPHP_PATH()
+    public function testFindWithPhpPath()
     {
         if (defined('PHP_BINARY')) {
             $this->markTestSkipped('The PHP binary is easily available as of PHP 5.4');
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpProcessTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpProcessTest.php
new file mode 100644
index 0000000..7bcdd2f
--- /dev/null
+++ b/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpProcessTest.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace Symfony\Component\Process\Tests;
+
+use Symfony\Component\Process\PhpProcess;
+
+class PhpProcessTest extends \PHPUnit_Framework_TestCase
+{
+
+    public function testNonBlockingWorks()
+    {
+        $expected = 'hello world!';
+        $process = new PhpProcess(<<<PHP
+<?php echo '$expected';
+PHP
+        );
+        $process->start();
+        $process->wait();
+        $this->assertEquals($expected, $process->getOutput());
+    }
+}
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php
index 4a321ad..67fc002 100644
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php
+++ b/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php
@@ -13,15 +13,6 @@
 
 class SigchildDisabledProcessTest extends AbstractProcessTest
 {
-
-    protected function getProcess($commandline, $cwd = null, array $env = null, $stdin = null, $timeout = 60, array $options = array())
-    {
-        $process = new ProcessInSigchildEnvironment($commandline, $cwd, $env, $stdin, $timeout, $options);
-        $process->setEnhanceSigchildCompatibility(false);
-
-        return $process;
-    }
-
     /**
      * @expectedException Symfony\Component\Process\Exception\RuntimeException
      */
@@ -96,4 +87,15 @@ public function testIsNotSuccessful()
     {
         parent::testIsNotSuccessful();
     }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getProcess($commandline, $cwd = null, array $env = null, $stdin = null, $timeout = 60, array $options = array())
+    {
+        $process = new ProcessInSigchildEnvironment($commandline, $cwd, $env, $stdin, $timeout, $options);
+        $process->setEnhanceSigchildCompatibility(false);
+
+        return $process;
+    }
 }
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildEnabledProcessTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildEnabledProcessTest.php
index 4c04ff1..fb9b6f8 100644
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildEnabledProcessTest.php
+++ b/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildEnabledProcessTest.php
@@ -13,15 +13,6 @@
 
 class SigchildEnabledProcessTest extends AbstractProcessTest
 {
-
-    protected function getProcess($commandline, $cwd = null, array $env = null, $stdin = null, $timeout = 60, array $options = array())
-    {
-        $process = new ProcessInSigchildEnvironment($commandline, $cwd, $env, $stdin, $timeout, $options);
-        $process->setEnhanceSigchildCompatibility(true);
-
-        return $process;
-    }
-
     /**
      * @expectedException Symfony\Component\Process\Exception\RuntimeException
      */
@@ -62,4 +53,14 @@ public function testExitCodeText()
         $this->assertInternalType('string', $process->getExitCodeText());
     }
 
+    /**
+     * {@inheritdoc}
+     */
+    protected function getProcess($commandline, $cwd = null, array $env = null, $stdin = null, $timeout = 60, array $options = array())
+    {
+        $process = new ProcessInSigchildEnvironment($commandline, $cwd, $env, $stdin, $timeout, $options);
+        $process->setEnhanceSigchildCompatibility(true);
+
+        return $process;
+    }
 }
diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SimpleProcessTest.php b/core/vendor/symfony/process/Symfony/Component/Process/Tests/SimpleProcessTest.php
index 8742a69..17dea3f 100644
--- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SimpleProcessTest.php
+++ b/core/vendor/symfony/process/Symfony/Component/Process/Tests/SimpleProcessTest.php
@@ -15,20 +15,14 @@
 
 class SimpleProcessTest extends AbstractProcessTest
 {
+    private $enabledSigchild = false;
 
-    protected function skipIfPHPSigchild()
+    public function setUp()
     {
         ob_start();
         phpinfo(INFO_GENERAL);
 
-        if (false !== strpos(ob_get_clean(), '--enable-sigchild')) {
-            $this->markTestSkipped('Your PHP has been compiled with --enable-sigchild, this test can not be executed');
-        }
-    }
-
-    protected function getProcess($commandline, $cwd = null, array $env = null, $stdin = null, $timeout = 60, array $options = array())
-    {
-        return new Process($commandline, $cwd, $env, $stdin, $timeout, $options);
+        $this->enabledSigchild = false !== strpos(ob_get_clean(), '--enable-sigchild');
     }
 
     public function testGetExitCode()
@@ -84,4 +78,19 @@ public function testIsNotSuccessful()
         $this->skipIfPHPSigchild();
         parent::testIsNotSuccessful();
     }
+
+    /**
+     * {@inheritdoc}
+     */
+    protected function getProcess($commandline, $cwd = null, array $env = null, $stdin = null, $timeout = 60, array $options = array())
+    {
+        return new Process($commandline, $cwd, $env, $stdin, $timeout, $options);
+    }
+
+    private function skipIfPHPSigchild()
+    {
+        if ($this->enabledSigchild) {
+            $this->markTestSkipped('Your PHP has been compiled with --enable-sigchild, this test can not be executed');
+        }
+    }
 }
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/CHANGELOG.md b/core/vendor/symfony/routing/Symfony/Component/Routing/CHANGELOG.md
index af5f753..14b9065 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/CHANGELOG.md
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/CHANGELOG.md
@@ -79,6 +79,8 @@ CHANGELOG
    pass the requirements (otherwise it would break your link anyway).
  * There is no restriction on the route name anymore. So non-alphanumeric characters
    are now also allowed.
+ * [BC BREAK] `RouteCompilerInterface::compile(Route $route)` was made static
+   (only relevant if you implemented your own RouteCompiler).
 
 2.1.0
 -----
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/LICENSE b/core/vendor/symfony/routing/Symfony/Component/Routing/LICENSE
index cdffe7a..88a57f8 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/LICENSE
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2004-2012 Fabien Potencier
+Copyright (c) 2004-2013 Fabien Potencier
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Route.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Route.php
index 241c8ef..701cf52 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Route.php
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/Route.php
@@ -50,8 +50,6 @@ class Route implements \Serializable
      */
     private $compiled;
 
-    private static $compilers = array();
-
     /**
      * Constructor.
      *
@@ -421,6 +419,9 @@ public function setRequirement($key, $regex)
      *
      * @return CompiledRoute A CompiledRoute instance
      *
+     * @throws \LogicException If the Route cannot be compiled because the
+     *                         path or hostname pattern is invalid
+     *
      * @see RouteCompiler which is responsible for the compilation process
      */
     public function compile()
@@ -431,11 +432,7 @@ public function compile()
 
         $class = $this->getOption('compiler_class');
 
-        if (!isset(self::$compilers[$class])) {
-            self::$compilers[$class] = new $class;
-        }
-
-        return $this->compiled = self::$compilers[$class]->compile($this);
+        return $this->compiled = $class::compile($this);
     }
 
     private function sanitizeRequirement($key, $regex)
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php b/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php
index 991ce09..70ebe77 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php
@@ -35,7 +35,7 @@ class RouteCompiler implements RouteCompilerInterface
      * @throws \DomainException If a variable name is numeric because PHP raises an error for such
      *                          subpatterns in PCRE and thus would break matching, e.g. "(?P<123>.+)".
      */
-    public function compile(Route $route)
+    public static function compile(Route $route)
     {
         $staticPrefix = null;
         $hostnameVariables = array();
@@ -47,7 +47,7 @@ public function compile(Route $route)
         $hostnameTokens = array();
 
         if ('' !== $hostnamePattern = $route->getHostnamePattern()) {
-            $result = $this->compilePattern($route, $hostnamePattern, true);
+            $result = self::compilePattern($route, $hostnamePattern, true);
 
             $hostnameVariables = $result['variables'];
             $variables = array_merge($variables, $hostnameVariables);
@@ -58,7 +58,7 @@ public function compile(Route $route)
 
         $pattern = $route->getPattern();
 
-        $result = $this->compilePattern($route, $pattern, false);
+        $result = self::compilePattern($route, $pattern, false);
 
         $staticPrefix = $result['staticPrefix'];
 
@@ -80,7 +80,7 @@ public function compile(Route $route)
         );
     }
 
-    private function compilePattern(Route $route, $pattern, $isHostname)
+    private static function compilePattern(Route $route, $pattern, $isHostname)
     {
         $tokens = array();
         $variables = array();
@@ -122,7 +122,7 @@ private function compilePattern(Route $route, $pattern, $isHostname)
                 // If {page} would also match the separating dot, {_format} would never match as {page} will eagerly consume everything.
                 // Also even if {_format} was not optional the requirement prevents that {page} matches something that was originally
                 // part of {_format} when generating the URL, e.g. _format = 'mobile.html'.
-                $nextSeparator = $this->findNextSeparator($followingPattern);
+                $nextSeparator = self::findNextSeparator($followingPattern);
                 $regexp = sprintf(
                     '[^%s%s]+',
                     preg_quote($defaultSeparator, self::REGEX_DELIMITER),
@@ -162,7 +162,7 @@ private function compilePattern(Route $route, $pattern, $isHostname)
         // compute the matching regexp
         $regexp = '';
         for ($i = 0, $nbToken = count($tokens); $i < $nbToken; $i++) {
-            $regexp .= $this->computeRegexp($tokens, $i, $firstOptional);
+            $regexp .= self::computeRegexp($tokens, $i, $firstOptional);
         }
 
         return array(
@@ -180,7 +180,7 @@ private function compilePattern(Route $route, $pattern, $isHostname)
      *
      * @return string The next static character that functions as separator (or empty string when none available)
      */
-    private function findNextSeparator($pattern)
+    private static function findNextSeparator($pattern)
     {
         if ('' == $pattern) {
             // return empty string if pattern is empty or false (false which can be returned by substr)
@@ -201,7 +201,7 @@ private function findNextSeparator($pattern)
      *
      * @return string The regexp pattern for a single token
      */
-    private function computeRegexp(array $tokens, $index, $firstOptional)
+    private static function computeRegexp(array $tokens, $index, $firstOptional)
     {
         $token = $tokens[$index];
         if ('text' === $token[0]) {
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompilerInterface.php b/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompilerInterface.php
index f72e9e5..36e131c 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompilerInterface.php
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompilerInterface.php
@@ -24,6 +24,9 @@
      * @param Route $route A Route instance
      *
      * @return CompiledRoute A CompiledRoute instance
+     *
+     * @throws \LogicException If the Route cannot be compiled because the
+     *                         path or hostname pattern is invalid
      */
-    public function compile(Route $route);
+    public static function compile(Route $route);
 }
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Annotation/RouteTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Annotation/RouteTest.php
deleted file mode 100644
index e1da002..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Annotation/RouteTest.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Annotation;
-
-use Symfony\Component\Routing\Annotation\Route;
-
-class RouteTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \BadMethodCallException
-     */
-    public function testInvalidRouteParameter()
-    {
-        $route = new Route(array('foo' => 'bar'));
-    }
-
-    /**
-     * @dataProvider getValidParameters
-     */
-    public function testRouteParameters($parameter, $value, $getter)
-    {
-        $route = new Route(array($parameter => $value));
-        $this->assertEquals($route->$getter(), $value);
-    }
-
-    public function getValidParameters()
-    {
-        return array(
-           array('value', '/Blog', 'getPattern'),
-           array('requirements', array('_method' => 'GET'), 'getRequirements'),
-           array('options', array('compiler_class' => 'RouteCompiler'), 'getOptions'),
-           array('name', 'blog_index', 'getName'),
-           array('defaults', array('_controller' => 'MyBlogBundle:Blog:index'), 'getDefaults'),
-           array('hostname_pattern', array('{locale}.example.com'), 'getHostnamePattern')
-        );
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php
deleted file mode 100644
index 215ebb7..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests;
-
-use Symfony\Component\Routing\CompiledRoute;
-
-class CompiledRouteTest extends \PHPUnit_Framework_TestCase
-{
-    public function testAccessors()
-    {
-        $compiled = new CompiledRoute('prefix', 'regex', array('tokens'), array(), array(), array(), array(), array('variables'));
-        $this->assertEquals('prefix', $compiled->getStaticPrefix(), '__construct() takes a static prefix as its second argument');
-        $this->assertEquals('regex', $compiled->getRegex(), '__construct() takes a regexp as its third argument');
-        $this->assertEquals(array('tokens'), $compiled->getTokens(), '__construct() takes an array of tokens as its fourth argument');
-        $this->assertEquals(array('variables'), $compiled->getVariables(), '__construct() takes an array of variables as its ninth argument');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php
deleted file mode 100644
index 56bcab2..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses;
-
-abstract class AbstractClass
-{
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/BarClass.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/BarClass.php
deleted file mode 100644
index a388277..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/BarClass.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses;
-
-class BarClass
-{
-    public function routeAction($arg1, $arg2 = 'defaultValue2', $arg3 = 'defaultValue3')
-    {
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/FooClass.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/FooClass.php
deleted file mode 100644
index 320dc35..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/FooClass.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses;
-
-class FooClass
-{
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php
deleted file mode 100644
index c2601d4..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Fixtures;
-
-use Symfony\Component\Routing\Loader\XmlFileLoader;
-
-/**
- * XmlFileLoader with schema validation turned off
- */
-class CustomXmlFileLoader extends XmlFileLoader
-{
-    protected function validate(\DOMDocument $dom)
-    {
-        return true;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/RedirectableUrlMatcher.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/RedirectableUrlMatcher.php
deleted file mode 100644
index e95c1f2..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/RedirectableUrlMatcher.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Fixtures;
-
-use Symfony\Component\Routing\Matcher\UrlMatcher;
-use Symfony\Component\Routing\Matcher\RedirectableUrlMatcherInterface;
-
-/**
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class RedirectableUrlMatcher extends UrlMatcher implements RedirectableUrlMatcherInterface
-{
-    public function redirect($path, $route, $scheme = null)
-    {
-        return array(
-            '_controller' => 'Some controller reference...',
-            'path'        => $path,
-            'scheme'      => $scheme,
-        );
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/annotated.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/annotated.php
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.apache b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.apache
deleted file mode 100644
index 4b9c11d..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.apache
+++ /dev/null
@@ -1,163 +0,0 @@
-# skip "real" requests
-RewriteCond %{REQUEST_FILENAME} -f
-RewriteRule .* - [QSA,L]
-
-# foo
-RewriteCond %{REQUEST_URI} ^/foo/(baz|symfony)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:foo,E=_ROUTING_param_bar:%1,E=_ROUTING_default_def:test]
-
-# foobar
-RewriteCond %{REQUEST_URI} ^/foo(?:/([^/]++))?$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:foobar,E=_ROUTING_param_bar:%1,E=_ROUTING_default_bar:toto]
-
-# bar
-RewriteCond %{REQUEST_URI} ^/bar/([^/]++)$
-RewriteCond %{REQUEST_METHOD} !^(GET|HEAD)$ [NC]
-RewriteRule .* - [S=1,E=_ROUTING_allow_GET:1,E=_ROUTING_allow_HEAD:1]
-RewriteCond %{REQUEST_URI} ^/bar/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:bar,E=_ROUTING_param_foo:%1]
-
-# baragain
-RewriteCond %{REQUEST_URI} ^/baragain/([^/]++)$
-RewriteCond %{REQUEST_METHOD} !^(GET|POST|HEAD)$ [NC]
-RewriteRule .* - [S=1,E=_ROUTING_allow_GET:1,E=_ROUTING_allow_POST:1,E=_ROUTING_allow_HEAD:1]
-RewriteCond %{REQUEST_URI} ^/baragain/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baragain,E=_ROUTING_param_foo:%1]
-
-# baz
-RewriteCond %{REQUEST_URI} ^/test/baz$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz]
-
-# baz2
-RewriteCond %{REQUEST_URI} ^/test/baz\.html$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz2]
-
-# baz3
-RewriteCond %{REQUEST_URI} ^/test/baz3$
-RewriteRule .* $0/ [QSA,L,R=301]
-RewriteCond %{REQUEST_URI} ^/test/baz3/$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz3]
-
-# baz4
-RewriteCond %{REQUEST_URI} ^/test/([^/]++)$
-RewriteRule .* $0/ [QSA,L,R=301]
-RewriteCond %{REQUEST_URI} ^/test/([^/]++)/$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz4,E=_ROUTING_param_foo:%1]
-
-# baz5
-RewriteCond %{REQUEST_URI} ^/test/([^/]++)/$
-RewriteCond %{REQUEST_METHOD} !^(GET|HEAD)$ [NC]
-RewriteRule .* - [S=2,E=_ROUTING_allow_GET:1,E=_ROUTING_allow_HEAD:1]
-RewriteCond %{REQUEST_URI} ^/test/([^/]++)$
-RewriteRule .* $0/ [QSA,L,R=301]
-RewriteCond %{REQUEST_URI} ^/test/([^/]++)/$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz5,E=_ROUTING_param_foo:%1]
-
-# baz5unsafe
-RewriteCond %{REQUEST_URI} ^/testunsafe/([^/]++)/$
-RewriteCond %{REQUEST_METHOD} !^(POST)$ [NC]
-RewriteRule .* - [S=1,E=_ROUTING_allow_POST:1]
-RewriteCond %{REQUEST_URI} ^/testunsafe/([^/]++)/$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz5unsafe,E=_ROUTING_param_foo:%1]
-
-# baz6
-RewriteCond %{REQUEST_URI} ^/test/baz$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz6,E=_ROUTING_default_foo:bar\ baz]
-
-# baz7
-RewriteCond %{REQUEST_URI} ^/te\ st/baz$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz7]
-
-# baz8
-RewriteCond %{REQUEST_URI} ^/te\\\ st/baz$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz8]
-
-# baz9
-RewriteCond %{REQUEST_URI} ^/test/(te\\\ st)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:baz9,E=_ROUTING_param_baz:%1]
-
-RewriteCond %{HTTP:Host} ^a\.example\.com$
-RewriteRule .? - [E=__ROUTING_hostname_1:1]
-
-# route1
-RewriteCond %{ENV:__ROUTING_hostname_1} =1
-RewriteCond %{REQUEST_URI} ^/route1$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route1]
-
-# route2
-RewriteCond %{ENV:__ROUTING_hostname_1} =1
-RewriteCond %{REQUEST_URI} ^/c2/route2$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route2]
-
-RewriteCond %{HTTP:Host} ^b\.example\.com$
-RewriteRule .? - [E=__ROUTING_hostname_2:1]
-
-# route3
-RewriteCond %{ENV:__ROUTING_hostname_2} =1
-RewriteCond %{REQUEST_URI} ^/c2/route3$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route3]
-
-RewriteCond %{HTTP:Host} ^a\.example\.com$
-RewriteRule .? - [E=__ROUTING_hostname_3:1]
-
-# route4
-RewriteCond %{ENV:__ROUTING_hostname_3} =1
-RewriteCond %{REQUEST_URI} ^/route4$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route4]
-
-RewriteCond %{HTTP:Host} ^c\.example\.com$
-RewriteRule .? - [E=__ROUTING_hostname_4:1]
-
-# route5
-RewriteCond %{ENV:__ROUTING_hostname_4} =1
-RewriteCond %{REQUEST_URI} ^/route5$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route5]
-
-# route6
-RewriteCond %{REQUEST_URI} ^/route6$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route6]
-
-RewriteCond %{HTTP:Host} ^([^\.]++)\.example\.com$
-RewriteRule .? - [E=__ROUTING_hostname_5:1,E=__ROUTING_hostname_5_var1:%1]
-
-# route11
-RewriteCond %{ENV:__ROUTING_hostname_5} =1
-RewriteCond %{REQUEST_URI} ^/route11$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route11,E=_ROUTING_param_var1:%{ENV:__ROUTING_hostname_5_var1}]
-
-# route12
-RewriteCond %{ENV:__ROUTING_hostname_5} =1
-RewriteCond %{REQUEST_URI} ^/route12$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route12,E=_ROUTING_param_var1:%{ENV:__ROUTING_hostname_5_var1},E=_ROUTING_default_var1:val]
-
-# route13
-RewriteCond %{ENV:__ROUTING_hostname_5} =1
-RewriteCond %{REQUEST_URI} ^/route13/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route13,E=_ROUTING_param_var1:%{ENV:__ROUTING_hostname_5_var1},E=_ROUTING_param_name:%1]
-
-# route14
-RewriteCond %{ENV:__ROUTING_hostname_5} =1
-RewriteCond %{REQUEST_URI} ^/route14/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route14,E=_ROUTING_param_var1:%{ENV:__ROUTING_hostname_5_var1},E=_ROUTING_param_name:%1,E=_ROUTING_default_var1:val]
-
-RewriteCond %{HTTP:Host} ^c\.example\.com$
-RewriteRule .? - [E=__ROUTING_hostname_6:1]
-
-# route15
-RewriteCond %{ENV:__ROUTING_hostname_6} =1
-RewriteCond %{REQUEST_URI} ^/route15/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route15,E=_ROUTING_param_name:%1]
-
-# route16
-RewriteCond %{REQUEST_URI} ^/route16/([^/]++)$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route16,E=_ROUTING_param_name:%1,E=_ROUTING_default_var1:val]
-
-# route17
-RewriteCond %{REQUEST_URI} ^/route17$
-RewriteRule .* app.php [QSA,L,E=_ROUTING_route:route17]
-
-# 405 Method Not Allowed
-RewriteCond %{ENV:_ROUTING__allow_GET} =1 [OR]
-RewriteCond %{ENV:_ROUTING__allow_HEAD} =1 [OR]
-RewriteCond %{ENV:_ROUTING__allow_POST} =1
-RewriteRule .* app.php [QSA,L]
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.php
deleted file mode 100644
index bb4e623..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.php
+++ /dev/null
@@ -1,310 +0,0 @@
-<?php
-
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\RequestContext;
-
-/**
- * ProjectUrlMatcher
- *
- * This class has been auto-generated
- * by the Symfony Routing Component.
- */
-class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher
-{
-    /**
-     * Constructor.
-     */
-    public function __construct(RequestContext $context)
-    {
-        $this->context = $context;
-    }
-
-    public function match($pathinfo)
-    {
-        $allow = array();
-        $pathinfo = rawurldecode($pathinfo);
-
-        // foo
-        if (0 === strpos($pathinfo, '/foo') && preg_match('#^/foo/(?P<bar>baz|symfony)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo')), array (  'def' => 'test',));
-        }
-
-        if (0 === strpos($pathinfo, '/bar')) {
-            // bar
-            if (preg_match('#^/bar/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                if (!in_array($this->context->getMethod(), array('GET', 'HEAD'))) {
-                    $allow = array_merge($allow, array('GET', 'HEAD'));
-                    goto not_bar;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar')), array ());
-            }
-            not_bar:
-
-            // barhead
-            if (0 === strpos($pathinfo, '/barhead') && preg_match('#^/barhead/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                if (!in_array($this->context->getMethod(), array('GET', 'HEAD'))) {
-                    $allow = array_merge($allow, array('GET', 'HEAD'));
-                    goto not_barhead;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'barhead')), array ());
-            }
-            not_barhead:
-
-        }
-
-        if (0 === strpos($pathinfo, '/test')) {
-            if (0 === strpos($pathinfo, '/test/baz')) {
-                // baz
-                if ($pathinfo === '/test/baz') {
-                    return array('_route' => 'baz');
-                }
-
-                // baz2
-                if ($pathinfo === '/test/baz.html') {
-                    return array('_route' => 'baz2');
-                }
-
-                // baz3
-                if ($pathinfo === '/test/baz3/') {
-                    return array('_route' => 'baz3');
-                }
-
-            }
-
-            // baz4
-            if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz4')), array ());
-            }
-
-            // baz5
-            if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
-                if ($this->context->getMethod() != 'POST') {
-                    $allow[] = 'POST';
-                    goto not_baz5;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz5')), array ());
-            }
-            not_baz5:
-
-            // baz.baz6
-            if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
-                if ($this->context->getMethod() != 'PUT') {
-                    $allow[] = 'PUT';
-                    goto not_bazbaz6;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz.baz6')), array ());
-            }
-            not_bazbaz6:
-
-        }
-
-        // foofoo
-        if ($pathinfo === '/foofoo') {
-            return array (  'def' => 'test',  '_route' => 'foofoo',);
-        }
-
-        // quoter
-        if (preg_match('#^/(?P<quoter>[\']+)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'quoter')), array ());
-        }
-
-        // space
-        if ($pathinfo === '/spa ce') {
-            return array('_route' => 'space');
-        }
-
-        if (0 === strpos($pathinfo, '/a')) {
-            if (0 === strpos($pathinfo, '/a/b\'b')) {
-                // foo1
-                if (preg_match('#^/a/b\'b/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo1')), array ());
-                }
-
-                // bar1
-                if (preg_match('#^/a/b\'b/(?P<bar>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar1')), array ());
-                }
-
-            }
-
-            // overridden
-            if (preg_match('#^/a/(?P<var>.*)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'overridden')), array ());
-            }
-
-            if (0 === strpos($pathinfo, '/a/b\'b')) {
-                // foo2
-                if (preg_match('#^/a/b\'b/(?P<foo1>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo2')), array ());
-                }
-
-                // bar2
-                if (preg_match('#^/a/b\'b/(?P<bar1>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar2')), array ());
-                }
-
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/multi')) {
-            // helloWorld
-            if (0 === strpos($pathinfo, '/multi/hello') && preg_match('#^/multi/hello(?:/(?P<who>[^/]++))?$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'helloWorld')), array (  'who' => 'World!',));
-            }
-
-            // overridden2
-            if ($pathinfo === '/multi/new') {
-                return array('_route' => 'overridden2');
-            }
-
-            // hey
-            if ($pathinfo === '/multi/hey/') {
-                return array('_route' => 'hey');
-            }
-
-        }
-
-        // foo3
-        if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo3')), array ());
-        }
-
-        // bar3
-        if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<bar>[^/]++)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar3')), array ());
-        }
-
-        if (0 === strpos($pathinfo, '/aba')) {
-            // ababa
-            if ($pathinfo === '/ababa') {
-                return array('_route' => 'ababa');
-            }
-
-            // foo4
-            if (preg_match('#^/aba/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo4')), array ());
-            }
-
-        }
-
-        $hostname = $this->context->getHost();
-
-        if (preg_match('#^a\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            // route1
-            if ($pathinfo === '/route1') {
-                return array('_route' => 'route1');
-            }
-
-            // route2
-            if ($pathinfo === '/c2/route2') {
-                return array('_route' => 'route2');
-            }
-
-        }
-
-        if (preg_match('#^b\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            // route3
-            if ($pathinfo === '/c2/route3') {
-                return array('_route' => 'route3');
-            }
-
-        }
-
-        if (preg_match('#^a\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            // route4
-            if ($pathinfo === '/route4') {
-                return array('_route' => 'route4');
-            }
-
-        }
-
-        if (preg_match('#^c\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            // route5
-            if ($pathinfo === '/route5') {
-                return array('_route' => 'route5');
-            }
-
-        }
-
-        // route6
-        if ($pathinfo === '/route6') {
-            return array('_route' => 'route6');
-        }
-
-        if (preg_match('#^(?P<var1>[^\\.]++)\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            if (0 === strpos($pathinfo, '/route1')) {
-                // route11
-                if ($pathinfo === '/route11') {
-                    return $this->mergeDefaults(array_replace($hostnameMatches, array('_route' => 'route11')), array ());
-                }
-
-                // route12
-                if ($pathinfo === '/route12') {
-                    return $this->mergeDefaults(array_replace($hostnameMatches, array('_route' => 'route12')), array (  'var1' => 'val',));
-                }
-
-                // route13
-                if (0 === strpos($pathinfo, '/route13') && preg_match('#^/route13/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($hostnameMatches, $matches, array('_route' => 'route13')), array ());
-                }
-
-                // route14
-                if (0 === strpos($pathinfo, '/route14') && preg_match('#^/route14/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($hostnameMatches, $matches, array('_route' => 'route14')), array (  'var1' => 'val',));
-                }
-
-            }
-
-        }
-
-        if (preg_match('#^c\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            // route15
-            if (0 === strpos($pathinfo, '/route15') && preg_match('#^/route15/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'route15')), array ());
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/route1')) {
-            // route16
-            if (0 === strpos($pathinfo, '/route16') && preg_match('#^/route16/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'route16')), array (  'var1' => 'val',));
-            }
-
-            // route17
-            if ($pathinfo === '/route17') {
-                return array('_route' => 'route17');
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/a')) {
-            // a
-            if ($pathinfo === '/a/a...') {
-                return array('_route' => 'a');
-            }
-
-            if (0 === strpos($pathinfo, '/a/b')) {
-                // b
-                if (preg_match('#^/a/b/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'b')), array ());
-                }
-
-                // c
-                if (0 === strpos($pathinfo, '/a/b/c') && preg_match('#^/a/b/c/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'c')), array ());
-                }
-
-            }
-
-        }
-
-        throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException();
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.apache b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.apache
deleted file mode 100644
index 309f2ff..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.apache
+++ /dev/null
@@ -1,7 +0,0 @@
-# skip "real" requests
-RewriteCond %{REQUEST_FILENAME} -f
-RewriteRule .* - [QSA,L]
-
-# foo
-RewriteCond %{REQUEST_URI} ^/foo$
-RewriteRule .* ap\ p_d\ ev.php [QSA,L,E=_ROUTING_route:foo]
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.php
deleted file mode 100644
index 2bd3812..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.php
+++ /dev/null
@@ -1,340 +0,0 @@
-<?php
-
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\RequestContext;
-
-/**
- * ProjectUrlMatcher
- *
- * This class has been auto-generated
- * by the Symfony Routing Component.
- */
-class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher
-{
-    /**
-     * Constructor.
-     */
-    public function __construct(RequestContext $context)
-    {
-        $this->context = $context;
-    }
-
-    public function match($pathinfo)
-    {
-        $allow = array();
-        $pathinfo = rawurldecode($pathinfo);
-
-        // foo
-        if (0 === strpos($pathinfo, '/foo') && preg_match('#^/foo/(?P<bar>baz|symfony)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo')), array (  'def' => 'test',));
-        }
-
-        if (0 === strpos($pathinfo, '/bar')) {
-            // bar
-            if (preg_match('#^/bar/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                if (!in_array($this->context->getMethod(), array('GET', 'HEAD'))) {
-                    $allow = array_merge($allow, array('GET', 'HEAD'));
-                    goto not_bar;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar')), array ());
-            }
-            not_bar:
-
-            // barhead
-            if (0 === strpos($pathinfo, '/barhead') && preg_match('#^/barhead/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                if (!in_array($this->context->getMethod(), array('GET', 'HEAD'))) {
-                    $allow = array_merge($allow, array('GET', 'HEAD'));
-                    goto not_barhead;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'barhead')), array ());
-            }
-            not_barhead:
-
-        }
-
-        if (0 === strpos($pathinfo, '/test')) {
-            if (0 === strpos($pathinfo, '/test/baz')) {
-                // baz
-                if ($pathinfo === '/test/baz') {
-                    return array('_route' => 'baz');
-                }
-
-                // baz2
-                if ($pathinfo === '/test/baz.html') {
-                    return array('_route' => 'baz2');
-                }
-
-                // baz3
-                if (rtrim($pathinfo, '/') === '/test/baz3') {
-                    if (substr($pathinfo, -1) !== '/') {
-                        return $this->redirect($pathinfo.'/', 'baz3');
-                    }
-
-                    return array('_route' => 'baz3');
-                }
-
-            }
-
-            // baz4
-            if (preg_match('#^/test/(?P<foo>[^/]++)/?$#s', $pathinfo, $matches)) {
-                if (substr($pathinfo, -1) !== '/') {
-                    return $this->redirect($pathinfo.'/', 'baz4');
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz4')), array ());
-            }
-
-            // baz5
-            if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
-                if ($this->context->getMethod() != 'POST') {
-                    $allow[] = 'POST';
-                    goto not_baz5;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz5')), array ());
-            }
-            not_baz5:
-
-            // baz.baz6
-            if (preg_match('#^/test/(?P<foo>[^/]++)/$#s', $pathinfo, $matches)) {
-                if ($this->context->getMethod() != 'PUT') {
-                    $allow[] = 'PUT';
-                    goto not_bazbaz6;
-                }
-
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'baz.baz6')), array ());
-            }
-            not_bazbaz6:
-
-        }
-
-        // foofoo
-        if ($pathinfo === '/foofoo') {
-            return array (  'def' => 'test',  '_route' => 'foofoo',);
-        }
-
-        // quoter
-        if (preg_match('#^/(?P<quoter>[\']+)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'quoter')), array ());
-        }
-
-        // space
-        if ($pathinfo === '/spa ce') {
-            return array('_route' => 'space');
-        }
-
-        if (0 === strpos($pathinfo, '/a')) {
-            if (0 === strpos($pathinfo, '/a/b\'b')) {
-                // foo1
-                if (preg_match('#^/a/b\'b/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo1')), array ());
-                }
-
-                // bar1
-                if (preg_match('#^/a/b\'b/(?P<bar>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar1')), array ());
-                }
-
-            }
-
-            // overridden
-            if (preg_match('#^/a/(?P<var>.*)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'overridden')), array ());
-            }
-
-            if (0 === strpos($pathinfo, '/a/b\'b')) {
-                // foo2
-                if (preg_match('#^/a/b\'b/(?P<foo1>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo2')), array ());
-                }
-
-                // bar2
-                if (preg_match('#^/a/b\'b/(?P<bar1>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar2')), array ());
-                }
-
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/multi')) {
-            // helloWorld
-            if (0 === strpos($pathinfo, '/multi/hello') && preg_match('#^/multi/hello(?:/(?P<who>[^/]++))?$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'helloWorld')), array (  'who' => 'World!',));
-            }
-
-            // overridden2
-            if ($pathinfo === '/multi/new') {
-                return array('_route' => 'overridden2');
-            }
-
-            // hey
-            if (rtrim($pathinfo, '/') === '/multi/hey') {
-                if (substr($pathinfo, -1) !== '/') {
-                    return $this->redirect($pathinfo.'/', 'hey');
-                }
-
-                return array('_route' => 'hey');
-            }
-
-        }
-
-        // foo3
-        if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo3')), array ());
-        }
-
-        // bar3
-        if (preg_match('#^/(?P<_locale>[^/]++)/b/(?P<bar>[^/]++)$#s', $pathinfo, $matches)) {
-            return $this->mergeDefaults(array_replace($matches, array('_route' => 'bar3')), array ());
-        }
-
-        if (0 === strpos($pathinfo, '/aba')) {
-            // ababa
-            if ($pathinfo === '/ababa') {
-                return array('_route' => 'ababa');
-            }
-
-            // foo4
-            if (preg_match('#^/aba/(?P<foo>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'foo4')), array ());
-            }
-
-        }
-
-        $hostname = $this->context->getHost();
-
-        if (preg_match('#^a\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            // route1
-            if ($pathinfo === '/route1') {
-                return array('_route' => 'route1');
-            }
-
-            // route2
-            if ($pathinfo === '/c2/route2') {
-                return array('_route' => 'route2');
-            }
-
-        }
-
-        if (preg_match('#^b\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            // route3
-            if ($pathinfo === '/c2/route3') {
-                return array('_route' => 'route3');
-            }
-
-        }
-
-        if (preg_match('#^a\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            // route4
-            if ($pathinfo === '/route4') {
-                return array('_route' => 'route4');
-            }
-
-        }
-
-        if (preg_match('#^c\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            // route5
-            if ($pathinfo === '/route5') {
-                return array('_route' => 'route5');
-            }
-
-        }
-
-        // route6
-        if ($pathinfo === '/route6') {
-            return array('_route' => 'route6');
-        }
-
-        if (preg_match('#^(?P<var1>[^\\.]++)\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            if (0 === strpos($pathinfo, '/route1')) {
-                // route11
-                if ($pathinfo === '/route11') {
-                    return $this->mergeDefaults(array_replace($hostnameMatches, array('_route' => 'route11')), array ());
-                }
-
-                // route12
-                if ($pathinfo === '/route12') {
-                    return $this->mergeDefaults(array_replace($hostnameMatches, array('_route' => 'route12')), array (  'var1' => 'val',));
-                }
-
-                // route13
-                if (0 === strpos($pathinfo, '/route13') && preg_match('#^/route13/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($hostnameMatches, $matches, array('_route' => 'route13')), array ());
-                }
-
-                // route14
-                if (0 === strpos($pathinfo, '/route14') && preg_match('#^/route14/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($hostnameMatches, $matches, array('_route' => 'route14')), array (  'var1' => 'val',));
-                }
-
-            }
-
-        }
-
-        if (preg_match('#^c\\.example\\.com$#s', $hostname, $hostnameMatches)) {
-            // route15
-            if (0 === strpos($pathinfo, '/route15') && preg_match('#^/route15/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'route15')), array ());
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/route1')) {
-            // route16
-            if (0 === strpos($pathinfo, '/route16') && preg_match('#^/route16/(?P<name>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'route16')), array (  'var1' => 'val',));
-            }
-
-            // route17
-            if ($pathinfo === '/route17') {
-                return array('_route' => 'route17');
-            }
-
-        }
-
-        if (0 === strpos($pathinfo, '/a')) {
-            // a
-            if ($pathinfo === '/a/a...') {
-                return array('_route' => 'a');
-            }
-
-            if (0 === strpos($pathinfo, '/a/b')) {
-                // b
-                if (preg_match('#^/a/b/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'b')), array ());
-                }
-
-                // c
-                if (0 === strpos($pathinfo, '/a/b/c') && preg_match('#^/a/b/c/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
-                    return $this->mergeDefaults(array_replace($matches, array('_route' => 'c')), array ());
-                }
-
-            }
-
-        }
-
-        // secure
-        if ($pathinfo === '/secure') {
-            if ($this->context->getScheme() !== 'https') {
-                return $this->redirect($pathinfo, 'secure', 'https');
-            }
-
-            return array('_route' => 'secure');
-        }
-
-        // nonsecure
-        if ($pathinfo === '/nonsecure') {
-            if ($this->context->getScheme() !== 'http') {
-                return $this->redirect($pathinfo, 'nonsecure', 'http');
-            }
-
-            return array('_route' => 'nonsecure');
-        }
-
-        throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException();
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher3.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher3.php
deleted file mode 100644
index f2f642e..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher3.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\RequestContext;
-
-/**
- * ProjectUrlMatcher
- *
- * This class has been auto-generated
- * by the Symfony Routing Component.
- */
-class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher
-{
-    /**
-     * Constructor.
-     */
-    public function __construct(RequestContext $context)
-    {
-        $this->context = $context;
-    }
-
-    public function match($pathinfo)
-    {
-        $allow = array();
-        $pathinfo = rawurldecode($pathinfo);
-
-        if (0 === strpos($pathinfo, '/rootprefix')) {
-            // static
-            if ($pathinfo === '/rootprefix/test') {
-                return array('_route' => 'static');
-            }
-
-            // dynamic
-            if (preg_match('#^/rootprefix/(?P<var>[^/]++)$#s', $pathinfo, $matches)) {
-                return $this->mergeDefaults(array_replace($matches, array('_route' => 'dynamic')), array ());
-            }
-
-        }
-
-        throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException();
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/empty.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/empty.yml
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo.xml
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo1.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo1.xml
deleted file mode 100644
index e69de29..0000000
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/incomplete.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/incomplete.yml
deleted file mode 100644
index df64d32..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/incomplete.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-blog_show:
-    defaults:  { _controller: MyBlogBundle:Blog:show }
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_id.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_id.xml
deleted file mode 100644
index 52719be..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_id.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <route pattern="/test"></route>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_path.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_path.xml
deleted file mode 100644
index ef5bc08..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_path.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <route id="myroute"></route>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/namespaceprefix.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/namespaceprefix.xml
deleted file mode 100644
index efc4da9..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/namespaceprefix.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<r:routes xmlns:r="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <r:route id="blog_show" pattern="/blog/{slug}" hostname-pattern="{_locale}.example.com">
-        <r:default key="_controller">MyBundle:Blog:show</r:default>
-        <requirement xmlns="http://symfony.com/schema/routing" key="slug">\w+</requirement>
-        <r2:requirement xmlns:r2="http://symfony.com/schema/routing" key="_locale">en|fr|de</r2:requirement>
-        <r:option key="compiler_class">RouteCompiler</r:option>
-    </r:route>
-</r:routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_resource_plus_path.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_resource_plus_path.yml
deleted file mode 100644
index eba64e5..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_resource_plus_path.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-blog_show:
-    resource: validpattern.yml
-    pattern:  /test
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_type_without_resource.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_type_without_resource.yml
deleted file mode 100644
index 3b4c768..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_type_without_resource.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-blog_show:
-    pattern: /blog/{slug}
-    type:    custom
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.xml
deleted file mode 100644
index a9b72f3..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <route id="blog_show" pattern="/blog/{slug}">
-        <default key="_controller">MyBundle:Blog:show</default>
-        <requirement key="_method">GET</requirement>
-        <option key="segment_separators">/</option>
-    <!-- </route> -->
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.yml
deleted file mode 100644
index 257cc56..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.yml
+++ /dev/null
@@ -1 +0,0 @@
-foo
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid2.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid2.yml
deleted file mode 100644
index cfa9992..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid2.yml
+++ /dev/null
@@ -1 +0,0 @@
-route: string
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidkeys.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidkeys.yml
deleted file mode 100644
index 015e270..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidkeys.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-someroute:
-  resource: path/to/some.yml
-  name_prefix: test_
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidnode.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidnode.xml
deleted file mode 100644
index 863ef03..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidnode.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <foo>bar</foo>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidroute.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidroute.xml
deleted file mode 100644
index cba82f3..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidroute.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <route id="blog_show" pattern="/blog/{slug}">
-        <default key="_controller">MyBundle:Blog:show</default>
-        <requirement key="_method">GET</requirement>
-        <option key="compiler_class">RouteCompiler</option>
-        <foo key="bar">baz</foo>
-    </route>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/special_route_name.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/special_route_name.yml
deleted file mode 100644
index 1009741..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/special_route_name.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-"#$péß^a|":
-    pattern: "true"
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.php
deleted file mode 100644
index 08e7d6e..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-
-$collection = new RouteCollection();
-$collection->add('blog_show', new Route(
-    '/blog/{slug}',
-    array('_controller' => 'MyBlogBundle:Blog:show'),
-    array('_method' => 'GET', 'locale' => '\w+'),
-    array('compiler_class' => 'RouteCompiler'),
-    '{locale}.example.com'
-));
-
-return $collection;
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml
deleted file mode 100644
index 0791163..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <route id="blog_show" pattern="/blog/{slug}" hostname-pattern="{locale}.example.com">
-        <default key="_controller">MyBundle:Blog:show</default>
-        <requirement key="_method">GET</requirement>
-        <requirement key="locale">\w+</requirement>
-        <option key="compiler_class">RouteCompiler</option>
-    </route>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.yml
deleted file mode 100644
index 8fad8a0..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-blog_show:
-    pattern:          /blog/{slug}
-    defaults:         { _controller: MyBlogBundle:Blog:show }
-    hostname_pattern: "{locale}.example.com"
-    requirements:     { '_method': 'GET', 'locale': '\w+' }
-    options:
-        compiler_class: RouteCompiler
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.xml
deleted file mode 100644
index b374786..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<routes xmlns="http://symfony.com/schema/routing"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
-
-    <import resource="validpattern.xml" prefix="/{foo}" hostname-pattern="{locale}.example.com">
-        <default key="foo">123</default>
-        <requirement key="foo">\d+</requirement>
-        <option key="foo">bar</option>
-    </import>
-</routes>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.yml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.yml
deleted file mode 100644
index 35a4539..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-blog_show:
-    resource:         validpattern.yml
-    prefix:           /{foo}
-    defaults:         { 'foo': '123' }
-    requirements:     { 'foo': '\d+' }
-    options:          { 'foo': 'bar' }
-    hostname_pattern: "{locale}.example.com"
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml
deleted file mode 100644
index f217d5b..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE foo>
-<foo></foo>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php
deleted file mode 100644
index 6a86736..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Generator\Dumper;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\Generator\Dumper\PhpGeneratorDumper;
-use Symfony\Component\Routing\RequestContext;
-
-class PhpGeneratorDumperTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var RouteCollection
-     */
-    private $routeCollection;
-
-    /**
-     * @var PhpGeneratorDumper
-     */
-    private $generatorDumper;
-
-    /**
-     * @var string
-     */
-    private $testTmpFilepath;
-
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->routeCollection = new RouteCollection();
-        $this->generatorDumper = new PhpGeneratorDumper($this->routeCollection);
-        $this->testTmpFilepath = sys_get_temp_dir().DIRECTORY_SEPARATOR.'php_generator.php';
-        @unlink($this->testTmpFilepath);
-    }
-
-    protected function tearDown()
-    {
-        parent::tearDown();
-
-        @unlink($this->testTmpFilepath);
-
-        $this->routeCollection = null;
-        $this->generatorDumper = null;
-        $this->testTmpFilepath = null;
-    }
-
-    public function testDumpWithRoutes()
-    {
-        $this->routeCollection->add('Test', new Route('/testing/{foo}'));
-        $this->routeCollection->add('Test2', new Route('/testing2'));
-
-        file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump());
-        include ($this->testTmpFilepath);
-
-        $projectUrlGenerator = new \ProjectUrlGenerator(new RequestContext('/app.php'));
-
-        $absoluteUrlWithParameter    = $projectUrlGenerator->generate('Test', array('foo' => 'bar'), true);
-        $absoluteUrlWithoutParameter = $projectUrlGenerator->generate('Test2', array(), true);
-        $relativeUrlWithParameter    = $projectUrlGenerator->generate('Test', array('foo' => 'bar'), false);
-        $relativeUrlWithoutParameter = $projectUrlGenerator->generate('Test2', array(), false);
-
-        $this->assertEquals($absoluteUrlWithParameter, 'http://localhost/app.php/testing/bar');
-        $this->assertEquals($absoluteUrlWithoutParameter, 'http://localhost/app.php/testing2');
-        $this->assertEquals($relativeUrlWithParameter, '/app.php/testing/bar');
-        $this->assertEquals($relativeUrlWithoutParameter, '/app.php/testing2');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testDumpWithoutRoutes()
-    {
-        file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump(array('class' => 'WithoutRoutesUrlGenerator')));
-        include ($this->testTmpFilepath);
-
-        $projectUrlGenerator = new \WithoutRoutesUrlGenerator(new RequestContext('/app.php'));
-
-        $projectUrlGenerator->generate('Test', array());
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\RouteNotFoundException
-     */
-    public function testGenerateNonExistingRoute()
-    {
-        $this->routeCollection->add('Test', new Route('/test'));
-
-        file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump(array('class' => 'NonExistingRoutesUrlGenerator')));
-        include ($this->testTmpFilepath);
-
-        $projectUrlGenerator = new \NonExistingRoutesUrlGenerator(new RequestContext());
-        $url = $projectUrlGenerator->generate('NonExisting', array());
-    }
-
-    public function testDumpForRouteWithDefaults()
-    {
-        $this->routeCollection->add('Test', new Route('/testing/{foo}', array('foo' => 'bar')));
-
-        file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump(array('class' => 'DefaultRoutesUrlGenerator')));
-        include ($this->testTmpFilepath);
-
-        $projectUrlGenerator = new \DefaultRoutesUrlGenerator(new RequestContext());
-        $url = $projectUrlGenerator->generate('Test', array());
-
-        $this->assertEquals($url, '/testing');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
deleted file mode 100644
index a3f50b6..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php
+++ /dev/null
@@ -1,462 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Generator;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\Generator\UrlGenerator;
-use Symfony\Component\Routing\RequestContext;
-
-class UrlGeneratorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testAbsoluteUrlWithPort80()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes)->generate('test', array(), true);
-
-        $this->assertEquals('http://localhost/app.php/testing', $url);
-    }
-
-    public function testAbsoluteSecureUrlWithPort443()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes, array('scheme' => 'https'))->generate('test', array(), true);
-
-        $this->assertEquals('https://localhost/app.php/testing', $url);
-    }
-
-    public function testAbsoluteUrlWithNonStandardPort()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes, array('httpPort' => 8080))->generate('test', array(), true);
-
-        $this->assertEquals('http://localhost:8080/app.php/testing', $url);
-    }
-
-    public function testAbsoluteSecureUrlWithNonStandardPort()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes, array('httpsPort' => 8080, 'scheme' => 'https'))->generate('test', array(), true);
-
-        $this->assertEquals('https://localhost:8080/app.php/testing', $url);
-    }
-
-    public function testRelativeUrlWithoutParameters()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes)->generate('test', array(), false);
-
-        $this->assertEquals('/app.php/testing', $url);
-    }
-
-    public function testRelativeUrlWithParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}'));
-        $url = $this->getGenerator($routes)->generate('test', array('foo' => 'bar'), false);
-
-        $this->assertEquals('/app.php/testing/bar', $url);
-    }
-
-    public function testRelativeUrlWithNullParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing.{format}', array('format' => null)));
-        $url = $this->getGenerator($routes)->generate('test', array(), false);
-
-        $this->assertEquals('/app.php/testing', $url);
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testRelativeUrlWithNullParameterButNotOptional()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}/bar', array('foo' => null)));
-        // This must raise an exception because the default requirement for "foo" is "[^/]+" which is not met with these params.
-        // Generating path "/testing//bar" would be wrong as matching this route would fail.
-        $this->getGenerator($routes)->generate('test', array(), false);
-    }
-
-    public function testRelativeUrlWithOptionalZeroParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{page}'));
-        $url = $this->getGenerator($routes)->generate('test', array('page' => 0), false);
-
-        $this->assertEquals('/app.php/testing/0', $url);
-    }
-
-    public function testNotPassedOptionalParameterInBetween()
-    {
-        $routes = $this->getRoutes('test', new Route('/{slug}/{page}', array('slug' => 'index', 'page' => 0)));
-        $this->assertSame('/app.php/index/1', $this->getGenerator($routes)->generate('test', array('page' => 1)));
-        $this->assertSame('/app.php/', $this->getGenerator($routes)->generate('test'));
-    }
-
-    public function testRelativeUrlWithExtraParameters()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes)->generate('test', array('foo' => 'bar'), false);
-
-        $this->assertEquals('/app.php/testing?foo=bar', $url);
-    }
-
-    public function testAbsoluteUrlWithExtraParameters()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes)->generate('test', array('foo' => 'bar'), true);
-
-        $this->assertEquals('http://localhost/app.php/testing?foo=bar', $url);
-    }
-
-    public function testUrlWithNullExtraParameters()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $url = $this->getGenerator($routes)->generate('test', array('foo' => null), true);
-
-        $this->assertEquals('http://localhost/app.php/testing', $url);
-    }
-
-    public function testUrlWithExtraParametersFromGlobals()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing'));
-        $generator = $this->getGenerator($routes);
-        $context = new RequestContext('/app.php');
-        $context->setParameter('bar', 'bar');
-        $generator->setContext($context);
-        $url = $generator->generate('test', array('foo' => 'bar'));
-
-        $this->assertEquals('/app.php/testing?foo=bar', $url);
-    }
-
-    public function testUrlWithGlobalParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}'));
-        $generator = $this->getGenerator($routes);
-        $context = new RequestContext('/app.php');
-        $context->setParameter('foo', 'bar');
-        $generator->setContext($context);
-        $url = $generator->generate('test', array());
-
-        $this->assertEquals('/app.php/testing/bar', $url);
-    }
-
-    public function testGlobalParameterHasHigherPriorityThanDefault()
-    {
-        $routes = $this->getRoutes('test', new Route('/{_locale}', array('_locale' => 'en')));
-        $generator = $this->getGenerator($routes);
-        $context = new RequestContext('/app.php');
-        $context->setParameter('_locale', 'de');
-        $generator->setContext($context);
-        $url = $generator->generate('test', array());
-
-        $this->assertSame('/app.php/de', $url);
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\RouteNotFoundException
-     */
-    public function testGenerateWithoutRoutes()
-    {
-        $routes = $this->getRoutes('foo', new Route('/testing/{foo}'));
-        $this->getGenerator($routes)->generate('test', array(), true);
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\MissingMandatoryParametersException
-     */
-    public function testGenerateForRouteWithoutMandatoryParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}'));
-        $this->getGenerator($routes)->generate('test', array(), true);
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testGenerateForRouteWithInvalidOptionalParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array('foo' => '1'), array('foo' => 'd+')));
-        $this->getGenerator($routes)->generate('test', array('foo' => 'bar'), true);
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testGenerateForRouteWithInvalidParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array(), array('foo' => '1|2')));
-        $this->getGenerator($routes)->generate('test', array('foo' => '0'), true);
-    }
-
-    public function testGenerateForRouteWithInvalidOptionalParameterNonStrict()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array('foo' => '1'), array('foo' => 'd+')));
-        $generator = $this->getGenerator($routes);
-        $generator->setStrictRequirements(false);
-        $this->assertNull($generator->generate('test', array('foo' => 'bar'), true));
-    }
-
-    public function testGenerateForRouteWithInvalidOptionalParameterNonStrictWithLogger()
-    {
-        if (!interface_exists('Symfony\Component\HttpKernel\Log\LoggerInterface')) {
-            $this->markTestSkipped('The "HttpKernel" component is not available');
-        }
-
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array('foo' => '1'), array('foo' => 'd+')));
-        $logger = $this->getMock('Symfony\Component\HttpKernel\Log\LoggerInterface');
-        $logger->expects($this->once())
-            ->method('err');
-        $generator = $this->getGenerator($routes, array(), $logger);
-        $generator->setStrictRequirements(false);
-        $this->assertNull($generator->generate('test', array('foo' => 'bar'), true));
-    }
-
-    public function testGenerateForRouteWithInvalidParameterButDisabledRequirementsCheck()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array('foo' => '1'), array('foo' => 'd+')));
-        $generator = $this->getGenerator($routes);
-        $generator->setStrictRequirements(null);
-        $this->assertSame('/app.php/testing/bar', $generator->generate('test', array('foo' => 'bar')));
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testGenerateForRouteWithInvalidMandatoryParameter()
-    {
-        $routes = $this->getRoutes('test', new Route('/testing/{foo}', array(), array('foo' => 'd+')));
-        $this->getGenerator($routes)->generate('test', array('foo' => 'bar'), true);
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testRequiredParamAndEmptyPassed()
-    {
-        $routes = $this->getRoutes('test', new Route('/{slug}', array(), array('slug' => '.+')));
-        $this->getGenerator($routes)->generate('test', array('slug' => ''));
-    }
-
-    public function testSchemeRequirementDoesNothingIfSameCurrentScheme()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'http')));
-        $this->assertEquals('/app.php/', $this->getGenerator($routes)->generate('test'));
-
-        $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'https')));
-        $this->assertEquals('/app.php/', $this->getGenerator($routes, array('scheme' => 'https'))->generate('test'));
-    }
-
-    public function testSchemeRequirementForcesAbsoluteUrl()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'https')));
-        $this->assertEquals('https://localhost/app.php/', $this->getGenerator($routes)->generate('test'));
-
-        $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'http')));
-        $this->assertEquals('http://localhost/app.php/', $this->getGenerator($routes, array('scheme' => 'https'))->generate('test'));
-    }
-
-    public function testPathWithTwoStartingSlashes()
-    {
-        $routes = $this->getRoutes('test', new Route('//path-and-not-domain'));
-
-        // this must not generate '//path-and-not-domain' because that would be a network path
-        $this->assertSame('/path-and-not-domain', $this->getGenerator($routes, array('BaseUrl' => ''))->generate('test'));
-    }
-
-    public function testNoTrailingSlashForMultipleOptionalParameters()
-    {
-        $routes = $this->getRoutes('test', new Route('/category/{slug1}/{slug2}/{slug3}', array('slug2' => null, 'slug3' => null)));
-
-        $this->assertEquals('/app.php/category/foo', $this->getGenerator($routes)->generate('test', array('slug1' => 'foo')));
-    }
-
-    public function testWithAnIntegerAsADefaultValue()
-    {
-        $routes = $this->getRoutes('test', new Route('/{default}', array('default' => 0)));
-
-        $this->assertEquals('/app.php/foo', $this->getGenerator($routes)->generate('test', array('default' => 'foo')));
-    }
-
-    public function testQueryParamSameAsDefault()
-    {
-        $routes = $this->getRoutes('test', new Route('/test', array('default' => 'value')));
-
-        $this->assertSame('/app.php/test?default=foo', $this->getGenerator($routes)->generate('test', array('default' => 'foo')));
-        $this->assertSame('/app.php/test?default=value', $this->getGenerator($routes)->generate('test', array('default' => 'value')));
-        $this->assertSame('/app.php/test', $this->getGenerator($routes)->generate('test'));
-    }
-
-    public function testGenerateWithSpecialRouteName()
-    {
-        $routes = $this->getRoutes('$péß^a|', new Route('/bar'));
-
-        $this->assertSame('/app.php/bar', $this->getGenerator($routes)->generate('$péß^a|'));
-    }
-
-    public function testUrlEncoding()
-    {
-        // This tests the encoding of reserved characters that are used for delimiting of URI components (defined in RFC 3986)
-        // and other special ASCII chars. These chars are tested as static text path, variable path and query param.
-        $chars = '@:[]/()*\'" +,;-._~&$<>|{}%\\^`!?foo=bar#id';
-        $routes = $this->getRoutes('test', new Route("/$chars/{varpath}", array(), array('varpath' => '.+')));
-        $this->assertSame('/app.php/@:%5B%5D/%28%29*%27%22%20+,;-._~%26%24%3C%3E|%7B%7D%25%5C%5E%60!%3Ffoo=bar%23id'
-            . '/@:%5B%5D/%28%29*%27%22%20+,;-._~%26%24%3C%3E|%7B%7D%25%5C%5E%60!%3Ffoo=bar%23id'
-            . '?query=%40%3A%5B%5D%2F%28%29%2A%27%22+%2B%2C%3B-._%7E%26%24%3C%3E%7C%7B%7D%25%5C%5E%60%21%3Ffoo%3Dbar%23id',
-            $this->getGenerator($routes)->generate('test', array(
-                'varpath' => $chars,
-                'query' => $chars
-            ))
-        );
-    }
-
-    public function testEncodingOfRelativePathSegments()
-    {
-        $routes = $this->getRoutes('test', new Route('/dir/../dir/..'));
-        $this->assertSame('/app.php/dir/%2E%2E/dir/%2E%2E', $this->getGenerator($routes)->generate('test'));
-        $routes = $this->getRoutes('test', new Route('/dir/./dir/.'));
-        $this->assertSame('/app.php/dir/%2E/dir/%2E', $this->getGenerator($routes)->generate('test'));
-        $routes = $this->getRoutes('test', new Route('/a./.a/a../..a/...'));
-        $this->assertSame('/app.php/a./.a/a../..a/...', $this->getGenerator($routes)->generate('test'));
-    }
-
-    public function testAdjacentVariables()
-    {
-        $routes = $this->getRoutes('test', new Route('/{x}{y}{z}.{_format}', array('z' => 'default-z', '_format' => 'html'), array('y' => '\d+')));
-        $generator = $this->getGenerator($routes);
-        $this->assertSame('/app.php/foo123', $generator->generate('test', array('x' => 'foo', 'y' => '123')));
-        $this->assertSame('/app.php/foo123bar.xml', $generator->generate('test', array('x' => 'foo', 'y' => '123', 'z' => 'bar', '_format' => 'xml')));
-
-        // The default requirement for 'x' should not allow the separator '.' in this case because it would otherwise match everything
-        // and following optional variables like _format could never match.
-        $this->setExpectedException('Symfony\Component\Routing\Exception\InvalidParameterException');
-        $generator->generate('test', array('x' => 'do.t', 'y' => '123', 'z' => 'bar', '_format' => 'xml'));
-    }
-
-    public function testOptionalVariableWithNoRealSeparator()
-    {
-        $routes = $this->getRoutes('test', new Route('/get{what}', array('what' => 'All')));
-        $generator = $this->getGenerator($routes);
-
-        $this->assertSame('/app.php/get', $generator->generate('test'));
-        $this->assertSame('/app.php/getSites', $generator->generate('test', array('what' => 'Sites')));
-    }
-
-    public function testRequiredVariableWithNoRealSeparator()
-    {
-        $routes = $this->getRoutes('test', new Route('/get{what}Suffix'));
-        $generator = $this->getGenerator($routes);
-
-        $this->assertSame('/app.php/getSitesSuffix', $generator->generate('test', array('what' => 'Sites')));
-    }
-
-    public function testDefaultRequirementOfVariable()
-    {
-        $routes = $this->getRoutes('test', new Route('/{page}.{_format}'));
-        $generator = $this->getGenerator($routes);
-
-        $this->assertSame('/app.php/index.mobile.html', $generator->generate('test', array('page' => 'index', '_format' => 'mobile.html')));
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testDefaultRequirementOfVariableDisallowsSlash()
-    {
-        $routes = $this->getRoutes('test', new Route('/{page}.{_format}'));
-        $this->getGenerator($routes)->generate('test', array('page' => 'index', '_format' => 'sl/ash'));
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testDefaultRequirementOfVariableDisallowsNextSeparator()
-    {
-
-        $routes = $this->getRoutes('test', new Route('/{page}.{_format}'));
-        $this->getGenerator($routes)->generate('test', array('page' => 'do.t', '_format' => 'html'));
-    }
-
-    public function testWithHostnameDifferentFromContext()
-    {
-        $routes = $this->getRoutes('test', new Route('/{name}', array(), array(), array(), '{locale}.example.com'));
-
-        $this->assertEquals('http://fr.example.com/app.php/Fabien', $this->getGenerator($routes)->generate('test', array('name' =>'Fabien', 'locale' => 'fr')));
-    }
-
-    public function testWithHostnameSameAsContext()
-    {
-        $routes = $this->getRoutes('test', new Route('/{name}', array(), array(), array(), '{locale}.example.com'));
-
-        $this->assertEquals('/app.php/Fabien', $this->getGenerator($routes, array('host' => 'fr.example.com'))->generate('test', array('name' =>'Fabien', 'locale' => 'fr')));
-    }
-
-    public function testWithHostnameSameAsContextAndAbsolute()
-    {
-        $routes = $this->getRoutes('test', new Route('/{name}', array(), array(), array(), '{locale}.example.com'));
-
-        $this->assertEquals('http://fr.example.com/app.php/Fabien', $this->getGenerator($routes, array('host' => 'fr.example.com'))->generate('test', array('name' =>'Fabien', 'locale' => 'fr'), true));
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testUrlWithInvalidParameterInHostname()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array(), array('foo' => 'bar'), array(), '{foo}.example.com'));
-        $this->getGenerator($routes)->generate('test', array('foo' => 'baz'), false);
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testUrlWithInvalidParameterInHostnameWhenParamHasADefaultValue()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array('foo' => 'bar'), array('foo' => 'bar'), array(), '{foo}.example.com'));
-        $this->getGenerator($routes)->generate('test', array('foo' => 'baz'), false);
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\InvalidParameterException
-     */
-    public function testUrlWithInvalidParameterEqualsDefaultValueInHostname()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array('foo' => 'baz'), array('foo' => 'bar'), array(), '{foo}.example.com'));
-        $this->getGenerator($routes)->generate('test', array('foo' => 'baz'), false);
-    }
-
-    public function testUrlWithInvalidParameterInHostnameInNonStrictMode()
-    {
-        $routes = $this->getRoutes('test', new Route('/', array(), array('foo' => 'bar'), array(), '{foo}.example.com'));
-        $generator = $this->getGenerator($routes);
-        $generator->setStrictRequirements(false);
-        $this->assertNull($generator->generate('test', array('foo' => 'baz'), false));
-    }
-
-    protected function getGenerator(RouteCollection $routes, array $parameters = array(), $logger = null)
-    {
-        $context = new RequestContext('/app.php');
-        foreach ($parameters as $key => $value) {
-            $method = 'set'.$key;
-            $context->$method($value);
-        }
-        $generator = new UrlGenerator($routes, $context, $logger);
-
-        return $generator;
-    }
-
-    protected function getRoutes($name, Route $route)
-    {
-        $routes = new RouteCollection();
-        $routes->add($name, $route);
-
-        return $routes;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AbstractAnnotationLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AbstractAnnotationLoaderTest.php
deleted file mode 100644
index c927ae4..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AbstractAnnotationLoaderTest.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-abstract class AbstractAnnotationLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Doctrine\\Common\\Version')) {
-            $this->markTestSkipped('Doctrine is not available.');
-        }
-    }
-
-    public function getReader()
-    {
-        return $this->getMockBuilder('Doctrine\Common\Annotations\Reader')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-    }
-
-    public function getClassLoader($reader)
-    {
-        return $this->getMockBuilder('Symfony\Component\Routing\Loader\AnnotationClassLoader')
-            ->setConstructorArgs(array($reader))
-            ->getMockForAbstractClass()
-        ;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php
deleted file mode 100644
index 9f55975..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-class AnnotationClassLoaderTest extends AbstractAnnotationLoaderTest
-{
-    protected $loader;
-
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->reader = $this->getReader();
-        $this->loader = $this->getClassLoader($this->reader);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testLoadMissingClass()
-    {
-        $this->loader->load('MissingClass');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testLoadAbstractClass()
-    {
-        $this->loader->load('Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\AbstractClass');
-    }
-
-    /**
-     * @dataProvider provideTestSupportsChecksResource
-     */
-    public function testSupportsChecksResource($resource, $expectedSupports)
-    {
-        $this->assertSame($expectedSupports, $this->loader->supports($resource), '->supports() returns true if the resource is loadable');
-    }
-
-    public function provideTestSupportsChecksResource()
-    {
-        return array(
-            array('class', true),
-            array('\fully\qualified\class\name', true),
-            array('namespaced\class\without\leading\slash', true),
-            array('ÿClassWithLegalSpecialCharacters', true),
-            array('5', false),
-            array('foo.foo', false),
-            array(null, false),
-        );
-    }
-
-    public function testSupportsChecksTypeIfSpecified()
-    {
-        $this->assertTrue($this->loader->supports('class', 'annotation'), '->supports() checks the resource type if specified');
-        $this->assertFalse($this->loader->supports('class', 'foo'), '->supports() checks the resource type if specified');
-    }
-
-    public function getLoadTests()
-    {
-        return array(
-            array(
-                'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass',
-                array('name'=>'route1'),
-                array('arg2' => 'defaultValue2', 'arg3' =>'defaultValue3')
-            ),
-            array(
-                'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass',
-                array('name'=>'route1', 'defaults' => array('arg2' => 'foo')),
-                array('arg2' => 'defaultValue2', 'arg3' =>'defaultValue3')
-            ),
-        );
-    }
-
-    /**
-     * @dataProvider getLoadTests
-     */
-    public function testLoad($className, $routeDatas = array(), $methodArgs = array())
-    {
-        $routeDatas = array_replace(array(
-            'name'         => 'route',
-            'pattern'      => '/',
-            'requirements' => array(),
-            'options'      => array(),
-            'defaults'     => array(),
-        ), $routeDatas);
-
-        $this->reader
-            ->expects($this->once())
-            ->method('getMethodAnnotations')
-            ->will($this->returnValue(array($this->getAnnotatedRoute($routeDatas))))
-        ;
-        $routeCollection = $this->loader->load($className);
-        $route = $routeCollection->get($routeDatas['name']);
-
-        $this->assertSame($routeDatas['pattern'], $route->getPattern(), '->load preserves pattern annotation');
-        $this->assertSame($routeDatas['requirements'],$route->getRequirements(), '->load preserves requirements annotation');
-        $this->assertCount(0, array_intersect($route->getOptions(), $routeDatas['options']), '->load preserves options annotation');
-        $this->assertSame(array_replace($routeDatas['defaults'], $methodArgs), $route->getDefaults(), '->load preserves defaults annotation');
-    }
-
-    private function getAnnotatedRoute($datas)
-    {
-        return new \Symfony\Component\Routing\Annotation\Route($datas);
-    }
-
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php
deleted file mode 100644
index 29126ba..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Routing\Loader\AnnotationDirectoryLoader;
-use Symfony\Component\Config\FileLocator;
-
-class AnnotationDirectoryLoaderTest extends AbstractAnnotationLoaderTest
-{
-    protected $loader;
-    protected $reader;
-
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->reader = $this->getReader();
-        $this->loader = new AnnotationDirectoryLoader(new FileLocator(), $this->getClassLoader($this->reader));
-    }
-
-    public function testLoad()
-    {
-        $this->reader->expects($this->exactly(2))->method('getClassAnnotation');
-
-        $this->reader
-            ->expects($this->any())
-            ->method('getMethodAnnotations')
-            ->will($this->returnValue(array()))
-        ;
-
-        $this->loader->load(__DIR__.'/../Fixtures/AnnotatedClasses');
-    }
-
-    public function testSupports()
-    {
-        $fixturesDir = __DIR__.'/../Fixtures';
-
-        $this->assertTrue($this->loader->supports($fixturesDir), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($this->loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($this->loader->supports($fixturesDir, 'annotation'), '->supports() checks the resource type if specified');
-        $this->assertFalse($this->loader->supports($fixturesDir, 'foo'), '->supports() checks the resource type if specified');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php
deleted file mode 100644
index f0a8a0e..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Routing\Loader\AnnotationFileLoader;
-use Symfony\Component\Config\FileLocator;
-
-class AnnotationFileLoaderTest extends AbstractAnnotationLoaderTest
-{
-    protected $loader;
-    protected $reader;
-
-    protected function setUp()
-    {
-        parent::setUp();
-
-        $this->reader = $this->getReader();
-        $this->loader = new AnnotationFileLoader(new FileLocator(), $this->getClassLoader($this->reader));
-    }
-
-    public function testLoad()
-    {
-        $this->reader->expects($this->once())->method('getClassAnnotation');
-
-        $this->loader->load(__DIR__.'/../Fixtures/AnnotatedClasses/FooClass.php');
-    }
-
-    public function testSupports()
-    {
-        $fixture = __DIR__.'/../Fixtures/annotated.php';
-
-        $this->assertTrue($this->loader->supports($fixture), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($this->loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($this->loader->supports($fixture, 'annotation'), '->supports() checks the resource type if specified');
-        $this->assertFalse($this->loader->supports($fixture, 'foo'), '->supports() checks the resource type if specified');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/ClosureLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/ClosureLoaderTest.php
deleted file mode 100644
index 64d1b08..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/ClosureLoaderTest.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Routing\Loader\ClosureLoader;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-
-class ClosureLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\Config\FileLocator')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-    }
-
-    public function testSupports()
-    {
-        $loader = new ClosureLoader();
-
-        $closure = function () {};
-
-        $this->assertTrue($loader->supports($closure), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($loader->supports($closure, 'closure'), '->supports() checks the resource type if specified');
-        $this->assertFalse($loader->supports($closure, 'foo'), '->supports() checks the resource type if specified');
-    }
-
-    public function testLoad()
-    {
-        $loader = new ClosureLoader();
-
-        $route = new Route('/');
-        $routes = $loader->load(function () use ($route) {
-            $routes = new RouteCollection();
-
-            $routes->add('foo', $route);
-
-            return $routes;
-        });
-
-        $this->assertEquals($route, $routes->get('foo'), '->load() loads a \Closure resource');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php
deleted file mode 100644
index 3ff425d..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Config\FileLocator;
-use Symfony\Component\Routing\Loader\PhpFileLoader;
-
-class PhpFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\Config\FileLocator')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-    }
-
-    public function testSupports()
-    {
-        $loader = new PhpFileLoader($this->getMock('Symfony\Component\Config\FileLocator'));
-
-        $this->assertTrue($loader->supports('foo.php'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($loader->supports('foo.php', 'php'), '->supports() checks the resource type if specified');
-        $this->assertFalse($loader->supports('foo.php', 'foo'), '->supports() checks the resource type if specified');
-    }
-
-    public function testLoadWithRoute()
-    {
-        $loader = new PhpFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('validpattern.php');
-        $routes = $routeCollection->all();
-
-        $this->assertEquals(1, count($routes), 'One route is loaded');
-        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
-        $route = $routes['blog_show'];
-        $this->assertEquals('/blog/{slug}', $route->getPattern());
-        $this->assertEquals('MyBlogBundle:Blog:show', $route->getDefault('_controller'));
-        $this->assertEquals('GET', $route->getRequirement('_method'));
-        $this->assertEquals('{locale}.example.com', $route->getHostnamePattern());
-        $this->assertEquals('RouteCompiler', $route->getOption('compiler_class'));
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php
deleted file mode 100644
index 17e33ef..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php
+++ /dev/null
@@ -1,120 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Config\FileLocator;
-use Symfony\Component\Routing\Loader\XmlFileLoader;
-use Symfony\Component\Routing\Tests\Fixtures\CustomXmlFileLoader;
-
-class XmlFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\Config\FileLocator')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-    }
-
-    public function testSupports()
-    {
-        $loader = new XmlFileLoader($this->getMock('Symfony\Component\Config\FileLocator'));
-
-        $this->assertTrue($loader->supports('foo.xml'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($loader->supports('foo.xml', 'xml'), '->supports() checks the resource type if specified');
-        $this->assertFalse($loader->supports('foo.xml', 'foo'), '->supports() checks the resource type if specified');
-    }
-
-    public function testLoadWithRoute()
-    {
-        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('validpattern.xml');
-        $routes = $routeCollection->all();
-
-        $this->assertEquals(1, count($routes), 'One route is loaded');
-        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
-        $route = $routes['blog_show'];
-        $this->assertEquals('/blog/{slug}', $route->getPattern());
-        $this->assertEquals('MyBundle:Blog:show', $route->getDefault('_controller'));
-        $this->assertEquals('GET', $route->getRequirement('_method'));
-        $this->assertEquals('\w+', $route->getRequirement('locale'));
-        $this->assertEquals('{locale}.example.com', $route->getHostnamePattern());
-        $this->assertEquals('RouteCompiler', $route->getOption('compiler_class'));
-    }
-
-    public function testLoadWithNamespacePrefix()
-    {
-        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('namespaceprefix.xml');
-
-        $this->assertCount(1, $routeCollection, 'One route is loaded');
-        $route = $routeCollection->get('blog_show');
-        $this->assertEquals('/blog/{slug}', $route->getPattern());
-        $this->assertEquals('MyBundle:Blog:show', $route->getDefault('_controller'));
-        $this->assertEquals('\w+', $route->getRequirement('slug'));
-        $this->assertEquals('en|fr|de', $route->getRequirement('_locale'));
-        $this->assertEquals('{_locale}.example.com', $route->getHostnamePattern());
-        $this->assertEquals('RouteCompiler', $route->getOption('compiler_class'));
-    }
-
-    public function testLoadWithImport()
-    {
-        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('validresource.xml');
-        $routes = $routeCollection->all();
-
-        $this->assertEquals(1, count($routes), 'One route is loaded');
-        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
-        $this->assertEquals('/{foo}/blog/{slug}', $routes['blog_show']->getPattern());
-        $this->assertEquals('MyBundle:Blog:show', $routes['blog_show']->getDefault('_controller'));
-        $this->assertEquals('123', $routes['blog_show']->getDefault('foo'));
-        $this->assertEquals('\d+', $routes['blog_show']->getRequirement('foo'));
-        $this->assertEquals('bar', $routes['blog_show']->getOption('foo'));
-        $this->assertEquals('{locale}.example.com', $routes['blog_show']->getHostnamePattern());
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @dataProvider getPathsToInvalidFiles
-     */
-    public function testLoadThrowsExceptionWithInvalidFile($filePath)
-    {
-        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $loader->load($filePath);
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @dataProvider getPathsToInvalidFiles
-     */
-    public function testLoadThrowsExceptionWithInvalidFileEvenWithoutSchemaValidation($filePath)
-    {
-        $loader = new CustomXmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $loader->load($filePath);
-    }
-
-    public function getPathsToInvalidFiles()
-    {
-        return array(array('nonvalidnode.xml'), array('nonvalidroute.xml'), array('nonvalid.xml'), array('missing_id.xml'), array('missing_path.xml'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage Document types are not allowed.
-     */
-    public function testDocTypeIsNotAllowed()
-    {
-        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $loader->load('withdoctype.xml');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/YamlFileLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/YamlFileLoaderTest.php
deleted file mode 100644
index f99e789..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/YamlFileLoaderTest.php
+++ /dev/null
@@ -1,108 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Loader;
-
-use Symfony\Component\Config\FileLocator;
-use Symfony\Component\Routing\Loader\YamlFileLoader;
-use Symfony\Component\Config\Resource\FileResource;
-
-class YamlFileLoaderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        if (!class_exists('Symfony\Component\Config\FileLocator')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-
-        if (!class_exists('Symfony\Component\Yaml\Yaml')) {
-            $this->markTestSkipped('The "Yaml" component is not available');
-        }
-    }
-
-    public function testSupports()
-    {
-        $loader = new YamlFileLoader($this->getMock('Symfony\Component\Config\FileLocator'));
-
-        $this->assertTrue($loader->supports('foo.yml'), '->supports() returns true if the resource is loadable');
-        $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable');
-
-        $this->assertTrue($loader->supports('foo.yml', 'yaml'), '->supports() checks the resource type if specified');
-        $this->assertFalse($loader->supports('foo.yml', 'foo'), '->supports() checks the resource type if specified');
-    }
-
-    public function testLoadDoesNothingIfEmpty()
-    {
-        $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $collection = $loader->load('empty.yml');
-
-        $this->assertEquals(array(), $collection->all());
-        $this->assertEquals(array(new FileResource(realpath(__DIR__.'/../Fixtures/empty.yml'))), $collection->getResources());
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     * @dataProvider getPathsToInvalidFiles
-     */
-    public function testLoadThrowsExceptionWithInvalidFile($filePath)
-    {
-        $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $loader->load($filePath);
-    }
-
-    public function getPathsToInvalidFiles()
-    {
-        return array(array('nonvalid.yml'), array('nonvalid2.yml'), array('incomplete.yml'), array('nonvalidkeys.yml'), array('nonesense_resource_plus_path.yml'), array('nonesense_type_without_resource.yml'));
-    }
-
-    public function testLoadSpecialRouteName()
-    {
-        $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('special_route_name.yml');
-        $route = $routeCollection->get('#$péß^a|');
-
-        $this->assertInstanceOf('Symfony\Component\Routing\Route', $route);
-        $this->assertSame('/true', $route->getPattern());
-    }
-
-    public function testLoadWithPattern()
-    {
-        $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('validpattern.yml');
-        $routes = $routeCollection->all();
-
-        $this->assertEquals(1, count($routes), 'One route is loaded');
-        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
-        $route = $routes['blog_show'];
-        $this->assertEquals('/blog/{slug}', $route->getPattern());
-        $this->assertEquals('MyBlogBundle:Blog:show', $route->getDefault('_controller'));
-        $this->assertEquals('GET', $route->getRequirement('_method'));
-        $this->assertEquals('\w+', $route->getRequirement('locale'));
-        $this->assertEquals('{locale}.example.com', $route->getHostnamePattern());
-        $this->assertEquals('RouteCompiler', $route->getOption('compiler_class'));
-    }
-
-    public function testLoadWithResource()
-    {
-        $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
-        $routeCollection = $loader->load('validresource.yml');
-        $routes = $routeCollection->all();
-
-        $this->assertEquals(1, count($routes), 'One route is loaded');
-        $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes);
-        $this->assertEquals('/{foo}/blog/{slug}', $routes['blog_show']->getPattern());
-        $this->assertEquals('MyBlogBundle:Blog:show', $routes['blog_show']->getDefault('_controller'));
-        $this->assertEquals('123', $routes['blog_show']->getDefault('foo'));
-        $this->assertEquals('\d+', $routes['blog_show']->getRequirement('foo'));
-        $this->assertEquals('bar', $routes['blog_show']->getOption('foo'));
-        $this->assertEquals('{locale}.example.com', $routes['blog_show']->getHostnamePattern());
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/ApacheUrlMatcherTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/ApacheUrlMatcherTest.php
deleted file mode 100644
index 6550911..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/ApacheUrlMatcherTest.php
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\RequestContext;
-use Symfony\Component\Routing\Matcher\ApacheUrlMatcher;
-
-class ApacheUrlMatcherTest extends \PHPUnit_Framework_TestCase
-{
-    protected $server;
-
-    protected function setUp()
-    {
-        $this->server = $_SERVER;
-    }
-
-    protected function tearDown()
-    {
-        $_SERVER = $this->server;
-    }
-
-    /**
-     * @dataProvider getMatchData
-     */
-    public function testMatch($name, $pathinfo, $server, $expect)
-    {
-        $collection = new RouteCollection();
-        $context = new RequestContext();
-        $matcher = new ApacheUrlMatcher($collection, $context);
-
-        $_SERVER = $server;
-
-        $result = $matcher->match($pathinfo, $server);
-        $this->assertSame(var_export($expect, true), var_export($result, true));
-    }
-
-    public function getMatchData()
-    {
-        return array(
-            array(
-                'Simple route',
-                '/hello/world',
-                array(
-                    '_ROUTING_route' => 'hello',
-                    '_ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    '_ROUTING_param_name' => 'world',
-                ),
-                array(
-                    '_controller' => 'AcmeBundle:Default:index',
-                    'name' => 'world',
-                    '_route' => 'hello',
-                ),
-            ),
-            array(
-                'Route with params and defaults',
-                '/hello/hugo',
-                array(
-                    '_ROUTING_route' => 'hello',
-                    '_ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    '_ROUTING_param_name' => 'hugo',
-                    '_ROUTING_default_name' => 'world',
-                ),
-                array(
-                    'name' => 'hugo',
-                    '_controller' => 'AcmeBundle:Default:index',
-                    '_route' => 'hello',
-                ),
-            ),
-            array(
-                'Route with defaults only',
-                '/hello',
-                array(
-                    '_ROUTING_route' => 'hello',
-                    '_ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    '_ROUTING_default_name' => 'world',
-                ),
-                array(
-                    'name' => 'world',
-                    '_controller' => 'AcmeBundle:Default:index',
-                    '_route' => 'hello',
-                ),
-            ),
-            array(
-                'REDIRECT_ envs',
-                '/hello/world',
-                array(
-                    'REDIRECT__ROUTING_route' => 'hello',
-                    'REDIRECT__ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    'REDIRECT__ROUTING_param_name' => 'world',
-                ),
-                array(
-                    '_controller' => 'AcmeBundle:Default:index',
-                    'name' => 'world',
-                    '_route' => 'hello',
-                ),
-            ),
-            array(
-                'REDIRECT_REDIRECT_ envs',
-                '/hello/world',
-                array(
-                    'REDIRECT_REDIRECT__ROUTING_route' => 'hello',
-                    'REDIRECT_REDIRECT__ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    'REDIRECT_REDIRECT__ROUTING_param_name' => 'world',
-                ),
-                array(
-                    '_controller' => 'AcmeBundle:Default:index',
-                    'name' => 'world',
-                    '_route' => 'hello',
-                ),
-            ),
-            array(
-                'REDIRECT_REDIRECT_ envs',
-                '/hello/world',
-                array(
-                    'REDIRECT_REDIRECT__ROUTING_route' => 'hello',
-                    'REDIRECT_REDIRECT__ROUTING_param__controller' => 'AcmeBundle:Default:index',
-                    'REDIRECT_REDIRECT__ROUTING_param_name' => 'world',
-                ),
-                array(
-                    '_controller' => 'AcmeBundle:Default:index',
-                    'name' => 'world',
-                    '_route' => 'hello',
-                ),
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/ApacheMatcherDumperTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/ApacheMatcherDumperTest.php
deleted file mode 100644
index e72976f..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/ApacheMatcherDumperTest.php
+++ /dev/null
@@ -1,195 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher\Dumper;
-
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Matcher\Dumper\ApacheMatcherDumper;
-
-class ApacheMatcherDumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected static $fixturesPath;
-
-    public static function setUpBeforeClass()
-    {
-        self::$fixturesPath = realpath(__DIR__.'/../../Fixtures/');
-    }
-
-    public function testDump()
-    {
-        $dumper = new ApacheMatcherDumper($this->getRouteCollection());
-
-        $this->assertStringEqualsFile(self::$fixturesPath.'/dumper/url_matcher1.apache', $dumper->dump(), '->dump() dumps basic routes to the correct apache format.');
-    }
-
-    /**
-     * @dataProvider provideEscapeFixtures
-     */
-    public function testEscapePattern($src, $dest, $char, $with, $message)
-    {
-        $r = new \ReflectionMethod(new ApacheMatcherDumper($this->getRouteCollection()), 'escape');
-        $r->setAccessible(true);
-        $this->assertEquals($dest, $r->invoke(null, $src, $char, $with), $message);
-    }
-
-    public function provideEscapeFixtures()
-    {
-        return array(
-            array('foo', 'foo', ' ', '-', 'Preserve string that should not be escaped'),
-            array('fo-o', 'fo-o', ' ', '-', 'Preserve string that should not be escaped'),
-            array('fo o', 'fo- o', ' ', '-', 'Escape special characters'),
-            array('fo-- o', 'fo--- o', ' ', '-', 'Escape special characters'),
-            array('fo- o', 'fo- o', ' ', '-', 'Do not escape already escaped string'),
-        );
-    }
-
-    public function testEscapeScriptName()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-        $dumper = new ApacheMatcherDumper($collection);
-        $this->assertStringEqualsFile(self::$fixturesPath.'/dumper/url_matcher2.apache', $dumper->dump(array('script_name' => 'ap p_d\ ev.php')));
-    }
-
-    private function getRouteCollection()
-    {
-        $collection = new RouteCollection();
-
-        // defaults and requirements
-        $collection->add('foo', new Route(
-            '/foo/{bar}',
-            array('def' => 'test'),
-            array('bar' => 'baz|symfony')
-        ));
-        // defaults parameters in pattern
-        $collection->add('foobar', new Route(
-            '/foo/{bar}',
-            array('bar' => 'toto')
-        ));
-        // method requirement
-        $collection->add('bar', new Route(
-            '/bar/{foo}',
-            array(),
-            array('_method' => 'GET|head')
-        ));
-        // method requirement (again)
-        $collection->add('baragain', new Route(
-            '/baragain/{foo}',
-            array(),
-            array('_method' => 'get|post')
-        ));
-        // simple
-        $collection->add('baz', new Route(
-            '/test/baz'
-        ));
-        // simple with extension
-        $collection->add('baz2', new Route(
-            '/test/baz.html'
-        ));
-        // trailing slash
-        $collection->add('baz3', new Route(
-            '/test/baz3/'
-        ));
-        // trailing slash with variable
-        $collection->add('baz4', new Route(
-            '/test/{foo}/'
-        ));
-        // trailing slash and safe method
-        $collection->add('baz5', new Route(
-            '/test/{foo}/',
-            array(),
-            array('_method' => 'get')
-        ));
-        // trailing slash and unsafe method
-        $collection->add('baz5unsafe', new Route(
-            '/testunsafe/{foo}/',
-            array(),
-            array('_method' => 'post')
-        ));
-        // complex
-        $collection->add('baz6', new Route(
-            '/test/baz',
-            array('foo' => 'bar baz')
-        ));
-        // space in path
-        $collection->add('baz7', new Route(
-            '/te st/baz'
-        ));
-        // space preceded with \ in path
-        $collection->add('baz8', new Route(
-            '/te\\ st/baz'
-        ));
-        // space preceded with \ in requirement
-        $collection->add('baz9', new Route(
-            '/test/{baz}',
-            array(),
-            array(
-                'baz' => 'te\\\\ st',
-            )
-        ));
-
-        $collection1 = new RouteCollection();
-
-        $route1 = new Route('/route1', array(), array(), array(), 'a.example.com');
-        $collection1->add('route1', $route1);
-
-        $collection2 = new RouteCollection();
-
-        $route2 = new Route('/route2', array(), array(), array(), 'a.example.com');
-        $collection2->add('route2', $route2);
-
-        $route3 = new Route('/route3', array(), array(), array(), 'b.example.com');
-        $collection2->add('route3', $route3);
-
-        $collection1->addCollection($collection2, '/c2');
-
-        $route4 = new Route('/route4', array(), array(), array(), 'a.example.com');
-        $collection1->add('route4', $route4);
-
-        $route5 = new Route('/route5', array(), array(), array(), 'c.example.com');
-        $collection1->add('route5', $route5);
-
-        $route6 = new Route('/route6', array(), array(), array(), null);
-        $collection1->add('route6', $route6);
-
-        $collection->addCollection($collection1);
-
-        // hostname and variables
-
-        $collection1 = new RouteCollection();
-
-        $route11 = new Route('/route11', array(), array(), array(), '{var1}.example.com');
-        $collection1->add('route11', $route11);
-
-        $route12 = new Route('/route12', array('var1' => 'val'), array(), array(), '{var1}.example.com');
-        $collection1->add('route12', $route12);
-
-        $route13 = new Route('/route13/{name}', array(), array(), array(), '{var1}.example.com');
-        $collection1->add('route13', $route13);
-
-        $route14 = new Route('/route14/{name}', array('var1' => 'val'), array(), array(), '{var1}.example.com');
-        $collection1->add('route14', $route14);
-
-        $route15 = new Route('/route15/{name}', array(), array(), array(), 'c.example.com');
-        $collection1->add('route15', $route15);
-
-        $route16 = new Route('/route16/{name}', array('var1' => 'val'), array(), array(), null);
-        $collection1->add('route16', $route16);
-
-        $route17 = new Route('/route17', array(), array(), array(), null);
-        $collection1->add('route17', $route17);
-
-        $collection->addCollection($collection1);
-
-        return $collection;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperCollectionTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperCollectionTest.php
deleted file mode 100644
index 62ca947..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperCollectionTest.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-namespace Symfony\Component\Routing\Test\Matcher\Dumper;
-
-use Symfony\Component\Routing\Matcher\Dumper\DumperCollection;
-
-class DumperCollectionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testGetRoot()
-    {
-        $a = new DumperCollection();
-
-        $b = new DumperCollection();
-        $a->add($b);
-
-        $c = new DumperCollection();
-        $b->add($c);
-
-        $d = new DumperCollection();
-        $c->add($d);
-
-        $this->assertSame($a, $c->getRoot());
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php
deleted file mode 100644
index 9ba140b..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-namespace Symfony\Component\Routing\Tests\Matcher\Dumper;
-
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\Matcher\Dumper\DumperPrefixCollection;
-use Symfony\Component\Routing\Matcher\Dumper\DumperRoute;
-use Symfony\Component\Routing\Matcher\Dumper\DumperCollection;
-
-class DumperPrefixCollectionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testAddPrefixRoute()
-    {
-        $coll = new DumperPrefixCollection;
-        $coll->setPrefix('');
-
-        $route = new DumperRoute('bar', new Route('/foo/bar'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('bar2', new Route('/foo/bar'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('qux', new Route('/foo/qux'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('bar3', new Route('/foo/bar'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('bar4', new Route(''));
-        $result = $coll->addPrefixRoute($route);
-
-        $expect = <<<'EOF'
-            |-coll /
-            | |-coll /f
-            | | |-coll /fo
-            | | | |-coll /foo
-            | | | | |-coll /foo/
-            | | | | | |-coll /foo/b
-            | | | | | | |-coll /foo/ba
-            | | | | | | | |-coll /foo/bar
-            | | | | | | | | |-route bar /foo/bar
-            | | | | | | | | |-route bar2 /foo/bar
-            | | | | | |-coll /foo/q
-            | | | | | | |-coll /foo/qu
-            | | | | | | | |-coll /foo/qux
-            | | | | | | | | |-route qux /foo/qux
-            | | | | | |-coll /foo/b
-            | | | | | | |-coll /foo/ba
-            | | | | | | | |-coll /foo/bar
-            | | | | | | | | |-route bar3 /foo/bar
-            | |-route bar4 /
-
-EOF;
-
-        $this->assertSame($expect, $this->collectionToString($result->getRoot(), '            '));
-    }
-
-    public function testMergeSlashNodes()
-    {
-        $coll = new DumperPrefixCollection;
-        $coll->setPrefix('');
-
-        $route = new DumperRoute('bar', new Route('/foo/bar'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('bar2', new Route('/foo/bar'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('qux', new Route('/foo/qux'));
-        $coll = $coll->addPrefixRoute($route);
-
-        $route = new DumperRoute('bar3', new Route('/foo/bar'));
-        $result = $coll->addPrefixRoute($route);
-
-        $result->getRoot()->mergeSlashNodes();
-
-        $expect = <<<'EOF'
-            |-coll /f
-            | |-coll /fo
-            | | |-coll /foo
-            | | | |-coll /foo/b
-            | | | | |-coll /foo/ba
-            | | | | | |-coll /foo/bar
-            | | | | | | |-route bar /foo/bar
-            | | | | | | |-route bar2 /foo/bar
-            | | | |-coll /foo/q
-            | | | | |-coll /foo/qu
-            | | | | | |-coll /foo/qux
-            | | | | | | |-route qux /foo/qux
-            | | | |-coll /foo/b
-            | | | | |-coll /foo/ba
-            | | | | | |-coll /foo/bar
-            | | | | | | |-route bar3 /foo/bar
-
-EOF;
-
-        $this->assertSame($expect, $this->collectionToString($result->getRoot(), '            '));
-    }
-
-    private function collectionToString(DumperCollection $collection, $prefix)
-    {
-        $string = '';
-        foreach ($collection as $route) {
-            if ($route instanceof DumperCollection) {
-                $string .= sprintf("%s|-coll %s\n", $prefix, $route->getPrefix());
-                $string .= $this->collectionToString($route, $prefix.'| ');
-            } else {
-                $string .= sprintf("%s|-route %s %s\n", $prefix, $route->getName(), $route->getRoute()->getPattern());
-            }
-        }
-
-        return $string;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php
deleted file mode 100644
index e04310c..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php
+++ /dev/null
@@ -1,254 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher\Dumper;
-
-use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherDumper;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-
-class PhpMatcherDumperTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \LogicException
-     */
-    public function testDumpWhenSchemeIsUsedWithoutAProperDumper()
-    {
-        $collection = new RouteCollection();
-        $collection->add('secure', new Route(
-            '/secure',
-            array(),
-            array('_scheme' => 'https')
-        ));
-        $dumper = new PhpMatcherDumper($collection);
-        $dumper->dump();
-    }
-
-    /**
-     * @dataProvider getRouteCollections
-     */
-    public function testDump(RouteCollection $collection, $fixture, $options = array())
-    {
-        $basePath = __DIR__.'/../../Fixtures/dumper/';
-
-        $dumper = new PhpMatcherDumper($collection);
-        $this->assertStringEqualsFile($basePath.$fixture, $dumper->dump($options), '->dump() correctly dumps routes as optimized PHP code.');
-    }
-
-    public function getRouteCollections()
-    {
-        /* test case 1 */
-
-        $collection = new RouteCollection();
-
-        $collection->add('overridden', new Route('/overridden'));
-
-        // defaults and requirements
-        $collection->add('foo', new Route(
-            '/foo/{bar}',
-            array('def' => 'test'),
-            array('bar' => 'baz|symfony')
-        ));
-        // method requirement
-        $collection->add('bar', new Route(
-            '/bar/{foo}',
-            array(),
-            array('_method' => 'GET|head')
-        ));
-        // GET method requirement automatically adds HEAD as valid
-        $collection->add('barhead', new Route(
-            '/barhead/{foo}',
-            array(),
-            array('_method' => 'GET')
-        ));
-        // simple
-        $collection->add('baz', new Route(
-            '/test/baz'
-        ));
-        // simple with extension
-        $collection->add('baz2', new Route(
-            '/test/baz.html'
-        ));
-        // trailing slash
-        $collection->add('baz3', new Route(
-            '/test/baz3/'
-        ));
-        // trailing slash with variable
-        $collection->add('baz4', new Route(
-            '/test/{foo}/'
-        ));
-        // trailing slash and method
-        $collection->add('baz5', new Route(
-            '/test/{foo}/',
-            array(),
-            array('_method' => 'post')
-        ));
-        // complex name
-        $collection->add('baz.baz6', new Route(
-            '/test/{foo}/',
-            array(),
-            array('_method' => 'put')
-        ));
-        // defaults without variable
-        $collection->add('foofoo', new Route(
-            '/foofoo',
-            array('def' => 'test')
-        ));
-        // pattern with quotes
-        $collection->add('quoter', new Route(
-            '/{quoter}',
-            array(),
-            array('quoter' => '[\']+')
-        ));
-        // space in pattern
-        $collection->add('space', new Route(
-            '/spa ce'
-        ));
-
-        // prefixes
-        $collection1 = new RouteCollection();
-        $collection1->add('overridden', new Route('/overridden1'));
-        $collection1->add('foo1', new Route('/{foo}'));
-        $collection1->add('bar1', new Route('/{bar}'));
-        $collection2 = new RouteCollection();
-        $collection2->addCollection($collection1, '/b\'b');
-        $collection2->add('overridden', new Route('/{var}', array(), array('var' => '.*')));
-        $collection1 = new RouteCollection();
-        $collection1->add('foo2', new Route('/{foo1}'));
-        $collection1->add('bar2', new Route('/{bar1}'));
-        $collection2->addCollection($collection1, '/b\'b');
-        $collection->addCollection($collection2, '/a');
-
-        // overridden through addCollection() and multiple sub-collections with no own prefix
-        $collection1 = new RouteCollection();
-        $collection1->add('overridden2', new Route('/old'));
-        $collection1->add('helloWorld', new Route('/hello/{who}', array('who' => 'World!')));
-        $collection2 = new RouteCollection();
-        $collection3 = new RouteCollection();
-        $collection3->add('overridden2', new Route('/new'));
-        $collection3->add('hey', new Route('/hey/'));
-        $collection2->addCollection($collection3);
-        $collection1->addCollection($collection2);
-        $collection->addCollection($collection1, '/multi');
-
-        // "dynamic" prefix
-        $collection1 = new RouteCollection();
-        $collection1->add('foo3', new Route('/{foo}'));
-        $collection1->add('bar3', new Route('/{bar}'));
-        $collection2 = new RouteCollection();
-        $collection2->addCollection($collection1, '/b');
-        $collection->addCollection($collection2, '/{_locale}');
-
-        // route between collections
-        $collection->add('ababa', new Route('/ababa'));
-
-        // collection with static prefix but only one route
-        $collection1 = new RouteCollection();
-        $collection1->add('foo4', new Route('/{foo}'));
-        $collection->addCollection($collection1, '/aba');
-
-        // prefix and hostname
-
-        $collection1 = new RouteCollection();
-
-        $route1 = new Route('/route1', array(), array(), array(), 'a.example.com');
-        $collection1->add('route1', $route1);
-
-        $collection2 = new RouteCollection();
-
-        $route2 = new Route('/c2/route2', array(), array(), array(), 'a.example.com');
-        $collection1->add('route2', $route2);
-
-        $route3 = new Route('/c2/route3', array(), array(), array(), 'b.example.com');
-        $collection1->add('route3', $route3);
-
-        $route4 = new Route('/route4', array(), array(), array(), 'a.example.com');
-        $collection1->add('route4', $route4);
-
-        $route5 = new Route('/route5', array(), array(), array(), 'c.example.com');
-        $collection1->add('route5', $route5);
-
-        $route6 = new Route('/route6', array(), array(), array(), null);
-        $collection1->add('route6', $route6);
-
-        $collection->addCollection($collection1);
-
-        // hostname and variables
-
-        $collection1 = new RouteCollection();
-
-        $route11 = new Route('/route11', array(), array(), array(), '{var1}.example.com');
-        $collection1->add('route11', $route11);
-
-        $route12 = new Route('/route12', array('var1' => 'val'), array(), array(), '{var1}.example.com');
-        $collection1->add('route12', $route12);
-
-        $route13 = new Route('/route13/{name}', array(), array(), array(), '{var1}.example.com');
-        $collection1->add('route13', $route13);
-
-        $route14 = new Route('/route14/{name}', array('var1' => 'val'), array(), array(), '{var1}.example.com');
-        $collection1->add('route14', $route14);
-
-        $route15 = new Route('/route15/{name}', array(), array(), array(), 'c.example.com');
-        $collection1->add('route15', $route15);
-
-        $route16 = new Route('/route16/{name}', array('var1' => 'val'), array(), array(), null);
-        $collection1->add('route16', $route16);
-
-        $route17 = new Route('/route17', array(), array(), array(), null);
-        $collection1->add('route17', $route17);
-
-        $collection->addCollection($collection1);
-
-        // multiple sub-collections with a single route and a prefix each
-        $collection1 = new RouteCollection();
-        $collection1->add('a', new Route('/a...'));
-        $collection2 = new RouteCollection();
-        $collection2->add('b', new Route('/{var}'));
-        $collection3 = new RouteCollection();
-        $collection3->add('c', new Route('/{var}'));
-
-        $collection2->addCollection($collection3, '/c');
-        $collection1->addCollection($collection2, '/b');
-        $collection->addCollection($collection1, '/a');
-
-        /* test case 2 */
-
-        $redirectCollection = clone $collection;
-
-        // force HTTPS redirection
-        $redirectCollection->add('secure', new Route(
-            '/secure',
-            array(),
-            array('_scheme' => 'https')
-        ));
-
-        // force HTTP redirection
-        $redirectCollection->add('nonsecure', new Route(
-            '/nonsecure',
-            array(),
-            array('_scheme' => 'http')
-        ));
-
-        /* test case 3 */
-
-        $rootprefixCollection = new RouteCollection();
-        $rootprefixCollection->add('static', new Route('/test'));
-        $rootprefixCollection->add('dynamic', new Route('/{var}'));
-        $rootprefixCollection->addPrefix('rootprefix');
-
-        return array(
-           array($collection, 'url_matcher1.php', array()),
-           array($redirectCollection, 'url_matcher2.php', array('base_class' => 'Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher')),
-           array($rootprefixCollection, 'url_matcher3.php', array())
-        );
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/RedirectableUrlMatcherTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/RedirectableUrlMatcherTest.php
deleted file mode 100644
index b8ab264..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/RedirectableUrlMatcherTest.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher;
-
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\RequestContext;
-
-class RedirectableUrlMatcherTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRedirectWhenNoSlash()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/'));
-
-        $matcher = $this->getMockForAbstractClass('Symfony\Component\Routing\Matcher\RedirectableUrlMatcher', array($coll, new RequestContext()));
-        $matcher->expects($this->once())->method('redirect');
-        $matcher->match('/foo');
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testRedirectWhenNoSlashForNonSafeMethod()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/'));
-
-        $context = new RequestContext();
-        $context->setMethod('POST');
-        $matcher = $this->getMockForAbstractClass('Symfony\Component\Routing\Matcher\RedirectableUrlMatcher', array($coll, $context));
-        $matcher->match('/foo');
-    }
-
-    public function testSchemeRedirect()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array('_scheme' => 'https')));
-
-        $matcher = $this->getMockForAbstractClass('Symfony\Component\Routing\Matcher\RedirectableUrlMatcher', array($coll, new RequestContext()));
-        $matcher
-            ->expects($this->once())
-            ->method('redirect')
-            ->with('/foo', 'foo', 'https')
-            ->will($this->returnValue(array('_route' => 'foo')))
-        ;
-        $matcher->match('/foo');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/TraceableUrlMatcherTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/TraceableUrlMatcherTest.php
deleted file mode 100644
index 7f8725c..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/TraceableUrlMatcherTest.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher;
-
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\RequestContext;
-use Symfony\Component\Routing\Matcher\TraceableUrlMatcher;
-
-class TraceableUrlMatcherTest extends \PHPUnit_Framework_TestCase
-{
-    public function test()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array('_method' => 'POST')));
-        $coll->add('bar', new Route('/bar/{id}', array(), array('id' => '\d+')));
-        $coll->add('bar1', new Route('/bar/{name}', array(), array('id' => '\w+', '_method' => 'POST')));
-
-        $context = new RequestContext();
-
-        $matcher = new TraceableUrlMatcher($coll, $context);
-        $traces = $matcher->getTraces('/babar');
-        $this->assertEquals(array(0, 0, 0), $this->getLevels($traces));
-
-        $traces = $matcher->getTraces('/foo');
-        $this->assertEquals(array(1, 0, 0), $this->getLevels($traces));
-
-        $traces = $matcher->getTraces('/bar/12');
-        $this->assertEquals(array(0, 2), $this->getLevels($traces));
-
-        $traces = $matcher->getTraces('/bar/dd');
-        $this->assertEquals(array(0, 1, 1), $this->getLevels($traces));
-
-        $context->setMethod('POST');
-        $traces = $matcher->getTraces('/foo');
-        $this->assertEquals(array(2), $this->getLevels($traces));
-
-        $traces = $matcher->getTraces('/bar/dd');
-        $this->assertEquals(array(0, 1, 2), $this->getLevels($traces));
-    }
-
-    public function getLevels($traces)
-    {
-        $levels = array();
-        foreach ($traces as $trace) {
-            $levels[] = $trace['level'];
-        }
-
-        return $levels;
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/UrlMatcherTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/UrlMatcherTest.php
deleted file mode 100644
index 18e11eb..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/UrlMatcherTest.php
+++ /dev/null
@@ -1,391 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests\Matcher;
-
-use Symfony\Component\Routing\Exception\MethodNotAllowedException;
-use Symfony\Component\Routing\Exception\ResourceNotFoundException;
-use Symfony\Component\Routing\Matcher\UrlMatcher;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\RequestContext;
-
-class UrlMatcherTest extends \PHPUnit_Framework_TestCase
-{
-    public function testNoMethodSoAllowed()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $matcher->match('/foo');
-    }
-
-    public function testMethodNotAllowed()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array('_method' => 'post')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        try {
-            $matcher->match('/foo');
-            $this->fail();
-        } catch (MethodNotAllowedException $e) {
-            $this->assertEquals(array('POST'), $e->getAllowedMethods());
-        }
-    }
-
-    public function testHeadAllowedWhenRequirementContainsGet()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array('_method' => 'get')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext('', 'head'));
-        $matcher->match('/foo');
-    }
-
-    public function testMethodNotAllowedAggregatesAllowedMethods()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo1', new Route('/foo', array(), array('_method' => 'post')));
-        $coll->add('foo2', new Route('/foo', array(), array('_method' => 'put|delete')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        try {
-            $matcher->match('/foo');
-            $this->fail();
-        } catch (MethodNotAllowedException $e) {
-            $this->assertEquals(array('POST', 'PUT', 'DELETE'), $e->getAllowedMethods());
-        }
-    }
-
-    public function testMatch()
-    {
-        // test the patterns are matched and parameters are returned
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo/{bar}'));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        try {
-            $matcher->match('/no-match');
-            $this->fail();
-        } catch (ResourceNotFoundException $e) {}
-        $this->assertEquals(array('_route' => 'foo', 'bar' => 'baz'), $matcher->match('/foo/baz'));
-
-        // test that defaults are merged
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo/{bar}', array('def' => 'test')));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'foo', 'bar' => 'baz', 'def' => 'test'), $matcher->match('/foo/baz'));
-
-        // test that route "method" is ignored if no method is given in the context
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo', array(), array('_method' => 'GET|head')));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertInternalType('array', $matcher->match('/foo'));
-
-        // route does not match with POST method context
-        $matcher = new UrlMatcher($collection, new RequestContext('', 'post'));
-        try {
-            $matcher->match('/foo');
-            $this->fail();
-        } catch (MethodNotAllowedException $e) {}
-
-        // route does match with GET or HEAD method context
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertInternalType('array', $matcher->match('/foo'));
-        $matcher = new UrlMatcher($collection, new RequestContext('', 'head'));
-        $this->assertInternalType('array', $matcher->match('/foo'));
-
-        // route with an optional variable as the first segment
-        $collection = new RouteCollection();
-        $collection->add('bar', new Route('/{bar}/foo', array('bar' => 'bar'), array('bar' => 'foo|bar')));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'bar', 'bar' => 'bar'), $matcher->match('/bar/foo'));
-        $this->assertEquals(array('_route' => 'bar', 'bar' => 'foo'), $matcher->match('/foo/foo'));
-
-        $collection = new RouteCollection();
-        $collection->add('bar', new Route('/{bar}', array('bar' => 'bar'), array('bar' => 'foo|bar')));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'bar', 'bar' => 'foo'), $matcher->match('/foo'));
-        $this->assertEquals(array('_route' => 'bar', 'bar' => 'bar'), $matcher->match('/'));
-
-        // route with only optional variables
-        $collection = new RouteCollection();
-        $collection->add('bar', new Route('/{foo}/{bar}', array('foo' => 'foo', 'bar' => 'bar'), array()));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'bar', 'foo' => 'foo', 'bar' => 'bar'), $matcher->match('/'));
-        $this->assertEquals(array('_route' => 'bar', 'foo' => 'a', 'bar' => 'bar'), $matcher->match('/a'));
-        $this->assertEquals(array('_route' => 'bar', 'foo' => 'a', 'bar' => 'b'), $matcher->match('/a/b'));
-    }
-
-    public function testMatchWithPrefixes()
-    {
-        $collection1 = new RouteCollection();
-        $collection1->add('foo', new Route('/{foo}'));
-
-        $collection2 = new RouteCollection();
-        $collection2->addCollection($collection1, '/b');
-
-        $collection = new RouteCollection();
-        $collection->addCollection($collection2, '/a');
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'foo', 'foo' => 'foo'), $matcher->match('/a/b/foo'));
-    }
-
-    public function testMatchWithDynamicPrefix()
-    {
-        $collection1 = new RouteCollection();
-        $collection1->add('foo', new Route('/{foo}'));
-
-        $collection2 = new RouteCollection();
-        $collection2->addCollection($collection1, '/b');
-
-        $collection = new RouteCollection();
-        $collection->addCollection($collection2, '/{_locale}');
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_locale' => 'fr', '_route' => 'foo', 'foo' => 'foo'), $matcher->match('/fr/b/foo'));
-    }
-
-    public function testMatchSpecialRouteName()
-    {
-        $collection = new RouteCollection();
-        $collection->add('$péß^a|', new Route('/bar'));
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => '$péß^a|'), $matcher->match('/bar'));
-    }
-
-    public function testMatchNonAlpha()
-    {
-        $collection = new RouteCollection();
-        $chars = '!"$%éà &\'()*+,./:;<=>@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\[]^_`abcdefghijklmnopqrstuvwxyz{|}~-';
-        $collection->add('foo', new Route('/{foo}/bar', array(), array('foo' => '['.preg_quote($chars).']+')));
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'foo', 'foo' => $chars), $matcher->match('/'.rawurlencode($chars).'/bar'));
-        $this->assertEquals(array('_route' => 'foo', 'foo' => $chars), $matcher->match('/'.strtr($chars, array('%' => '%25')).'/bar'));
-    }
-
-    public function testMatchWithDotMetacharacterInRequirements()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/{foo}/bar', array(), array('foo' => '.+')));
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        $this->assertEquals(array('_route' => 'foo', 'foo' => "\n"), $matcher->match('/'.urlencode("\n").'/bar'), 'linefeed character is matched');
-    }
-
-    public function testMatchOverriddenRoute()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-
-        $collection1 = new RouteCollection();
-        $collection1->add('foo', new Route('/foo1'));
-
-        $collection->addCollection($collection1);
-
-        $matcher = new UrlMatcher($collection, new RequestContext());
-
-        $this->assertEquals(array('_route' => 'foo'), $matcher->match('/foo1'));
-        $this->setExpectedException('Symfony\Component\Routing\Exception\ResourceNotFoundException');
-        $this->assertEquals(array(), $matcher->match('/foo'));
-    }
-
-    public function testMatchRegression()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/{foo}'));
-        $coll->add('bar', new Route('/foo/bar/{foo}'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $this->assertEquals(array('foo' => 'bar', '_route' => 'bar'), $matcher->match('/foo/bar/bar'));
-
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/{bar}'));
-        $matcher = new UrlMatcher($collection, new RequestContext());
-        try {
-            $matcher->match('/');
-            $this->fail();
-        } catch (ResourceNotFoundException $e) {
-        }
-    }
-
-    public function testDefaultRequirementForOptionalVariables()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{page}.{_format}', array('page' => 'index', '_format' => 'html')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $this->assertEquals(array('page' => 'my-page', '_format' => 'xml', '_route' => 'test'), $matcher->match('/my-page.xml'));
-    }
-
-    public function testMatchingIsEager()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{foo}-{bar}-', array(), array('foo' => '.+', 'bar' => '.+')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $this->assertEquals(array('foo' => 'text1-text2-text3', 'bar' => 'text4', '_route' => 'test'), $matcher->match('/text1-text2-text3-text4-'));
-    }
-
-    public function testAdjacentVariables()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{w}{x}{y}{z}.{_format}', array('z' => 'default-z', '_format' => 'html'), array('y' => 'y|Y')));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        // 'w' eagerly matches as much as possible and the other variables match the remaining chars.
-        // This also shows that the variables w-z must all exclude the separating char (the dot '.' in this case) by default requirement.
-        // Otherwise they would also consume '.xml' and _format would never match as it's an optional variable.
-        $this->assertEquals(array('w' => 'wwwww', 'x' => 'x', 'y' => 'Y', 'z' => 'Z','_format' => 'xml', '_route' => 'test'), $matcher->match('/wwwwwxYZ.xml'));
-        // As 'y' has custom requirement and can only be of value 'y|Y', it will leave  'ZZZ' to variable z.
-        // So with carefully chosen requirements adjacent variables, can be useful.
-        $this->assertEquals(array('w' => 'wwwww', 'x' => 'x', 'y' => 'y', 'z' => 'ZZZ','_format' => 'html', '_route' => 'test'), $matcher->match('/wwwwwxyZZZ'));
-        // z and _format are optional.
-        $this->assertEquals(array('w' => 'wwwww', 'x' => 'x', 'y' => 'y', 'z' => 'default-z','_format' => 'html', '_route' => 'test'), $matcher->match('/wwwwwxy'));
-
-        $this->setExpectedException('Symfony\Component\Routing\Exception\ResourceNotFoundException');
-        $matcher->match('/wxy.html');
-    }
-
-    public function testOptionalVariableWithNoRealSeparator()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/get{what}', array('what' => 'All')));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        $this->assertEquals(array('what' => 'All', '_route' => 'test'), $matcher->match('/get'));
-        $this->assertEquals(array('what' => 'Sites', '_route' => 'test'), $matcher->match('/getSites'));
-
-        // Usually the character in front of an optional parameter can be left out, e.g. with pattern '/get/{what}' just '/get' would match.
-        // But here the 't' in 'get' is not a separating character, so it makes no sense to match without it.
-        $this->setExpectedException('Symfony\Component\Routing\Exception\ResourceNotFoundException');
-        $matcher->match('/ge');
-    }
-
-    public function testRequiredVariableWithNoRealSeparator()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/get{what}Suffix'));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        $this->assertEquals(array('what' => 'Sites', '_route' => 'test'), $matcher->match('/getSitesSuffix'));
-    }
-
-    public function testDefaultRequirementOfVariable()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{page}.{_format}'));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        $this->assertEquals(array('page' => 'index', '_format' => 'mobile.html', '_route' => 'test'), $matcher->match('/index.mobile.html'));
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testDefaultRequirementOfVariableDisallowsSlash()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{page}.{_format}'));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        $matcher->match('/index.sl/ash');
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testDefaultRequirementOfVariableDisallowsNextSeparator()
-    {
-        $coll = new RouteCollection();
-        $coll->add('test', new Route('/{page}.{_format}', array(), array('_format' => 'html|xml')));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-
-        $matcher->match('/do.t.html');
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testSchemeRequirement()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo', array(), array('_scheme' => 'https')));
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $matcher->match('/foo');
-    }
-
-    public function testDecodeOnce()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/{foo}'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $this->assertEquals(array('foo' => 'bar%23', '_route' => 'foo'), $matcher->match('/foo/bar%2523'));
-    }
-
-    public function testCannotRelyOnPrefix()
-    {
-        $coll = new RouteCollection();
-
-        $subColl = new RouteCollection();
-        $subColl->add('bar', new Route('/bar'));
-        $subColl->addPrefix('/prefix');
-        // overwrite the pattern, so the prefix is not valid anymore for this route in the collection
-        $subColl->get('bar')->setPattern('/new');
-
-        $coll->addCollection($subColl);
-
-        $matcher = new UrlMatcher($coll, new RequestContext());
-        $this->assertEquals(array('_route' => 'bar'), $matcher->match('/new'));
-    }
-
-    public function testWithHostname()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/{foo}', array(), array(), array(), '{locale}.example.com'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext('', 'GET', 'en.example.com'));
-        $this->assertEquals(array('foo' => 'bar', '_route' => 'foo', 'locale' => 'en'), $matcher->match('/foo/bar'));
-    }
-
-    public function testWithHostnameOnRouteCollection()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/{foo}'));
-        $coll->add('bar', new Route('/bar/{foo}', array(), array(), array(), '{locale}.example.net'));
-        $coll->setHostnamePattern('{locale}.example.com');
-
-        $matcher = new UrlMatcher($coll, new RequestContext('', 'GET', 'en.example.com'));
-        $this->assertEquals(array('foo' => 'bar', '_route' => 'foo', 'locale' => 'en'), $matcher->match('/foo/bar'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext('', 'GET', 'en.example.com'));
-        $this->assertEquals(array('foo' => 'bar', '_route' => 'bar', 'locale' => 'en'), $matcher->match('/bar/bar'));
-    }
-
-    /**
-     * @expectedException Symfony\Component\Routing\Exception\ResourceNotFoundException
-     */
-    public function testWithOutHostnameHostnameDoesNotMatch()
-    {
-        $coll = new RouteCollection();
-        $coll->add('foo', new Route('/foo/{foo}', array(), array(), array(), '{locale}.example.com'));
-
-        $matcher = new UrlMatcher($coll, new RequestContext('', 'GET', 'example.com'));
-        $matcher->match('/foo/bar');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCollectionTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCollectionTest.php
deleted file mode 100644
index de1d9b1..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCollectionTest.php
+++ /dev/null
@@ -1,240 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests;
-
-use Symfony\Component\Routing\RouteCollection;
-use Symfony\Component\Routing\Route;
-use Symfony\Component\Config\Resource\FileResource;
-
-class RouteCollectionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRoute()
-    {
-        $collection = new RouteCollection();
-        $route = new Route('/foo');
-        $collection->add('foo', $route);
-        $this->assertEquals(array('foo' => $route), $collection->all(), '->add() adds a route');
-        $this->assertEquals($route, $collection->get('foo'), '->get() returns a route by name');
-        $this->assertNull($collection->get('bar'), '->get() returns null if a route does not exist');
-    }
-
-    public function testOverriddenRoute()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-        $collection->add('foo', new Route('/foo1'));
-
-        $this->assertEquals('/foo1', $collection->get('foo')->getPattern());
-    }
-
-    public function testDeepOverriddenRoute()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-
-        $collection1 = new RouteCollection();
-        $collection1->add('foo', new Route('/foo1'));
-
-        $collection2 = new RouteCollection();
-        $collection2->add('foo', new Route('/foo2'));
-
-        $collection1->addCollection($collection2);
-        $collection->addCollection($collection1);
-
-        $this->assertEquals('/foo2', $collection1->get('foo')->getPattern());
-        $this->assertEquals('/foo2', $collection->get('foo')->getPattern());
-    }
-
-    public function testIteratorWithOverriddenRoutes()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-
-        $collection1 = new RouteCollection();
-        $collection1->add('foo', new Route('/foo1'));
-        $collection->addCollection($collection1);
-
-        $this->assertEquals('/foo1', $this->getFirstNamedRoute($collection, 'foo')->getPattern());
-    }
-
-    public function testCount()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', new Route('/foo'));
-
-        $collection1 = new RouteCollection();
-        $collection1->add('foo1', new Route('/foo1'));
-        $collection->addCollection($collection1);
-
-        $this->assertCount(2, $collection);
-    }
-
-    protected function getFirstNamedRoute(RouteCollection $routeCollection, $name)
-    {
-        foreach ($routeCollection as $key => $route) {
-            if ($route instanceof RouteCollection) {
-                return $this->getFirstNamedRoute($route, $name);
-            }
-
-            if ($name === $key) {
-                return $route;
-            }
-        }
-    }
-
-    public function testAddCollection()
-    {
-        if (!class_exists('Symfony\Component\Config\Resource\FileResource')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-
-        $collection = new RouteCollection();
-        $collection->add('foo', $foo = new Route('/foo'));
-        $collection1 = new RouteCollection();
-        $collection1->add('foo', $foo1 = new Route('/foo1'));
-        $collection1->add('bar', $bar1 = new Route('/bar1'));
-        $collection->addCollection($collection1);
-        $this->assertEquals(array('foo' => $foo1, 'bar' => $bar1), $collection->all(), '->addCollection() adds routes from another collection');
-
-        $collection = new RouteCollection();
-        $collection->add('foo', $foo = new Route('/foo'));
-        $collection1 = new RouteCollection();
-        $collection1->add('foo', $foo1 = new Route('/foo1'));
-        $collection->addCollection($collection1, '/{foo}', array('foo' => 'foo'), array('foo' => '\d+'), array('foo' => 'bar'));
-        $this->assertEquals('/{foo}/foo1', $collection->get('foo')->getPattern(), '->addCollection() can add a prefix to all merged routes');
-        $this->assertEquals(array('foo' => 'foo'), $collection->get('foo')->getDefaults(), '->addCollection() can add a prefix to all merged routes');
-        $this->assertEquals(array('foo' => '\d+'), $collection->get('foo')->getRequirements(), '->addCollection() can add a prefix to all merged routes');
-        $this->assertEquals(
-            array('foo' => 'bar', 'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler'),
-            $collection->get('foo')->getOptions(), '->addCollection() can add an option to all merged routes'
-        );
-
-        $collection = new RouteCollection();
-        $collection->addResource($foo = new FileResource(__DIR__.'/Fixtures/foo.xml'));
-        $collection1 = new RouteCollection();
-        $collection1->addResource($foo1 = new FileResource(__DIR__.'/Fixtures/foo1.xml'));
-        $collection->addCollection($collection1);
-        $this->assertEquals(array($foo, $foo1), $collection->getResources(), '->addCollection() merges resources');
-    }
-
-    public function testAddPrefix()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', $foo = new Route('/foo'));
-        $collection2 = new RouteCollection();
-        $collection2->add('bar', $bar = new Route('/bar'));
-        $collection->addCollection($collection2);
-        $this->assertSame('', $collection->getPrefix(), '->getPrefix() is initialized with ""');
-        $collection->addPrefix(' / ');
-        $this->assertSame('', $collection->getPrefix(), '->addPrefix() trims the prefix and a single slash has no effect');
-        $collection->addPrefix('/{admin}', array('admin' => 'admin'), array('admin' => '\d+'), array('foo' => 'bar'));
-        $this->assertEquals('/{admin}/foo', $collection->get('foo')->getPattern(), '->addPrefix() adds a prefix to all routes');
-        $this->assertEquals('/{admin}/bar', $collection->get('bar')->getPattern(), '->addPrefix() adds a prefix to all routes');
-        $this->assertEquals(array('admin' => 'admin'), $collection->get('foo')->getDefaults(), '->addPrefix() adds defaults to all routes');
-        $this->assertEquals(array('admin' => 'admin'), $collection->get('bar')->getDefaults(), '->addPrefix() adds defaults to all routes');
-        $this->assertEquals(array('admin' => '\d+'), $collection->get('foo')->getRequirements(), '->addPrefix() adds requirements to all routes');
-        $this->assertEquals(array('admin' => '\d+'), $collection->get('bar')->getRequirements(), '->addPrefix() adds requirements to all routes');
-        $this->assertEquals(
-            array('foo' => 'bar', 'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler'),
-            $collection->get('foo')->getOptions(), '->addPrefix() adds an option to all routes'
-        );
-        $this->assertEquals(
-            array('foo' => 'bar', 'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler'),
-            $collection->get('bar')->getOptions(), '->addPrefix() adds an option to all routes'
-        );
-        $collection->addPrefix('0');
-        $this->assertEquals('/0/{admin}', $collection->getPrefix(), '->addPrefix() ensures a prefix must start with a slash and must not end with a slash');
-        $collection->addPrefix('/ /');
-        $this->assertSame('/ /0/{admin}', $collection->getPrefix(), '->addPrefix() can handle spaces if desired');
-        $this->assertSame('/ /0/{admin}/foo', $collection->get('foo')->getPattern(), 'the route pattern is in synch with the collection prefix');
-        $this->assertSame('/ /0/{admin}/bar', $collection->get('bar')->getPattern(), 'the route pattern in a sub-collection is in synch with the collection prefix');
-    }
-
-    public function testAddPrefixOverridesDefaultsAndRequirements()
-    {
-        $collection = new RouteCollection();
-        $collection->add('foo', $foo = new Route('/foo'));
-        $collection->add('bar', $bar = new Route('/bar', array(), array('_scheme' => 'http')));
-        $collection->addPrefix('/admin', array(), array('_scheme' => 'https'));
-
-        $this->assertEquals('https', $collection->get('foo')->getRequirement('_scheme'), '->addPrefix() overrides existing requirements');
-        $this->assertEquals('https', $collection->get('bar')->getRequirement('_scheme'), '->addPrefix() overrides existing requirements');
-    }
-
-    public function testAddCollectionOverridesDefaultsAndRequirements()
-    {
-        $imported = new RouteCollection();
-        $imported->add('foo', $foo = new Route('/foo'));
-        $imported->add('bar', $bar = new Route('/bar', array(), array('_scheme' => 'http')));
-
-        $collection = new RouteCollection();
-        $collection->addCollection($imported, null, array(), array('_scheme' => 'https'));
-
-        $this->assertEquals('https', $collection->get('foo')->getRequirement('_scheme'), '->addCollection() overrides existing requirements');
-        $this->assertEquals('https', $collection->get('bar')->getRequirement('_scheme'), '->addCollection() overrides existing requirements');
-    }
-
-    public function testResource()
-    {
-        if (!class_exists('Symfony\Component\Config\Resource\FileResource')) {
-            $this->markTestSkipped('The "Config" component is not available');
-        }
-
-        $collection = new RouteCollection();
-        $collection->addResource($foo = new FileResource(__DIR__.'/Fixtures/foo.xml'));
-        $this->assertEquals(array($foo), $collection->getResources(), '->addResources() adds a resource');
-    }
-
-    public function testUniqueRouteWithGivenName()
-    {
-        $collection1 = new RouteCollection();
-        $collection1->add('foo', new Route('/old'));
-        $collection2 = new RouteCollection();
-        $collection3 = new RouteCollection();
-        $collection3->add('foo', $new = new Route('/new'));
-
-        $collection2->addCollection($collection3);
-        $collection1->addCollection($collection2);
-
-        $this->assertSame($new, $collection1->get('foo'), '->get() returns new route that overrode previous one');
-        // size of 1 because collection1 contains /new but not /old anymore
-        $this->assertCount(1, $collection1->getIterator(), '->addCollection() removes previous routes when adding new routes with the same name');
-    }
-
-    public function testGet()
-    {
-        $collection1 = new RouteCollection();
-        $collection1->add('a', $a = new Route('/a'));
-        $collection2 = new RouteCollection();
-        $collection2->add('b', $b = new Route('/b'));
-        $collection1->addCollection($collection2);
-
-        $this->assertSame($b, $collection1->get('b'), '->get() returns correct route in child collection');
-        $this->assertNull($collection2->get('a'), '->get() does not return the route defined in parent collection');
-        $this->assertNull($collection1->get('non-existent'), '->get() returns null when route does not exist');
-        $this->assertNull($collection1->get(0), '->get() does not disclose internal child RouteCollection');
-    }
-
-    public function testSetHostnamePattern()
-    {
-        $collection = new RouteCollection();
-        $routea = new Route('/a');
-        $routeb = new Route('/b', array(), array(), array(), '{locale}.example.net');
-        $collection->add('a', $routea);
-        $collection->add('b', $routeb);
-
-        $collection->setHostnamePattern('{locale}.example.com');
-
-        $this->assertEquals('{locale}.example.com', $routea->getHostnamePattern());
-        $this->assertEquals('{locale}.example.com', $routeb->getHostnamePattern());
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCompilerTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCompilerTest.php
deleted file mode 100644
index 42d8976..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCompilerTest.php
+++ /dev/null
@@ -1,253 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests;
-
-use Symfony\Component\Routing\Route;
-
-class RouteCompilerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider provideCompileData
-     */
-    public function testCompile($name, $arguments, $prefix, $regex, $variables, $tokens)
-    {
-        $r = new \ReflectionClass('Symfony\\Component\\Routing\\Route');
-        $route = $r->newInstanceArgs($arguments);
-
-        $compiled = $route->compile();
-        $this->assertEquals($prefix, $compiled->getStaticPrefix(), $name.' (static prefix)');
-        $this->assertEquals($regex, $compiled->getRegex(), $name.' (regex)');
-        $this->assertEquals($variables, $compiled->getVariables(), $name.' (variables)');
-        $this->assertEquals($tokens, $compiled->getTokens(), $name.' (tokens)');
-    }
-
-    public function provideCompileData()
-    {
-        return array(
-            array(
-                'Static route',
-                array('/foo'),
-                '/foo', '#^/foo$#s', array(), array(
-                    array('text', '/foo'),
-                )),
-
-            array(
-                'Route with a variable',
-                array('/foo/{bar}'),
-                '/foo', '#^/foo/(?P<bar>[^/]++)$#s', array('bar'), array(
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('text', '/foo'),
-                )),
-
-            array(
-                'Route with a variable that has a default value',
-                array('/foo/{bar}', array('bar' => 'bar')),
-                '/foo', '#^/foo(?:/(?P<bar>[^/]++))?$#s', array('bar'), array(
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('text', '/foo'),
-                )),
-
-            array(
-                'Route with several variables',
-                array('/foo/{bar}/{foobar}'),
-                '/foo', '#^/foo/(?P<bar>[^/]++)/(?P<foobar>[^/]++)$#s', array('bar', 'foobar'), array(
-                    array('variable', '/', '[^/]++', 'foobar'),
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('text', '/foo'),
-                )),
-
-            array(
-                'Route with several variables that have default values',
-                array('/foo/{bar}/{foobar}', array('bar' => 'bar', 'foobar' => '')),
-                '/foo', '#^/foo(?:/(?P<bar>[^/]++)(?:/(?P<foobar>[^/]++))?)?$#s', array('bar', 'foobar'), array(
-                    array('variable', '/', '[^/]++', 'foobar'),
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('text', '/foo'),
-                )),
-
-            array(
-                'Route with several variables but some of them have no default values',
-                array('/foo/{bar}/{foobar}', array('bar' => 'bar')),
-                '/foo', '#^/foo/(?P<bar>[^/]++)/(?P<foobar>[^/]++)$#s', array('bar', 'foobar'), array(
-                    array('variable', '/', '[^/]++', 'foobar'),
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('text', '/foo'),
-                )),
-
-            array(
-                'Route with an optional variable as the first segment',
-                array('/{bar}', array('bar' => 'bar')),
-                '', '#^/(?P<bar>[^/]++)?$#s', array('bar'), array(
-                    array('variable', '/', '[^/]++', 'bar'),
-                )),
-
-            array(
-                'Route with a requirement of 0',
-                array('/{bar}', array('bar' => null), array('bar' => '0')),
-                '', '#^/(?P<bar>0)?$#s', array('bar'), array(
-                    array('variable', '/', '0', 'bar'),
-                )),
-
-            array(
-                'Route with an optional variable as the first segment with requirements',
-                array('/{bar}', array('bar' => 'bar'), array('bar' => '(foo|bar)')),
-                '', '#^/(?P<bar>(foo|bar))?$#s', array('bar'), array(
-                    array('variable', '/', '(foo|bar)', 'bar'),
-                )),
-
-            array(
-                'Route with only optional variables',
-                array('/{foo}/{bar}', array('foo' => 'foo', 'bar' => 'bar')),
-                '', '#^/(?P<foo>[^/]++)?(?:/(?P<bar>[^/]++))?$#s', array('foo', 'bar'), array(
-                    array('variable', '/', '[^/]++', 'bar'),
-                    array('variable', '/', '[^/]++', 'foo'),
-                )),
-
-            array(
-                'Route with a variable in last position',
-                array('/foo-{bar}'),
-                '/foo', '#^/foo\-(?P<bar>[^/]++)$#s', array('bar'), array(
-                array('variable', '-', '[^/]++', 'bar'),
-                array('text', '/foo'),
-            )),
-
-            array(
-                'Route with nested placeholders',
-                array('/{static{var}static}'),
-                '/{static', '#^/\{static(?P<var>[^/]+)static\}$#s', array('var'), array(
-                array('text', 'static}'),
-                array('variable', '', '[^/]+', 'var'),
-                array('text', '/{static'),
-            )),
-
-            array(
-                'Route without separator between variables',
-                array('/{w}{x}{y}{z}.{_format}', array('z' => 'default-z', '_format' => 'html'), array('y' => '(y|Y)')),
-                '', '#^/(?P<w>[^/\.]+)(?P<x>[^/\.]+)(?P<y>(y|Y))(?:(?P<z>[^/\.]++)(?:\.(?P<_format>[^/]++))?)?$#s', array('w', 'x', 'y', 'z', '_format'), array(
-                array('variable', '.', '[^/]++', '_format'),
-                array('variable', '', '[^/\.]++', 'z'),
-                array('variable', '', '(y|Y)', 'y'),
-                array('variable', '', '[^/\.]+', 'x'),
-                array('variable', '/', '[^/\.]+', 'w'),
-            )),
-
-            array(
-                'Route with a format',
-                array('/foo/{bar}.{_format}'),
-                '/foo', '#^/foo/(?P<bar>[^/\.]++)\.(?P<_format>[^/]++)$#s', array('bar', '_format'), array(
-                array('variable', '.', '[^/]++', '_format'),
-                array('variable', '/', '[^/\.]++', 'bar'),
-                array('text', '/foo'),
-            )),
-        );
-    }
-
-    /**
-     * @expectedException \LogicException
-     */
-    public function testRouteWithSameVariableTwice()
-    {
-        $route = new Route('/{name}/{name}');
-
-        $compiled = $route->compile();
-    }
-
-    /**
-     * @dataProvider getNumericVariableNames
-     * @expectedException \DomainException
-     */
-    public function testRouteWithNumericVariableName($name)
-    {
-        $route = new Route('/{'. $name . '}');
-        $route->compile();
-    }
-
-    public function getNumericVariableNames()
-    {
-        return array(
-           array('09'),
-           array('123'),
-           array('1e2')
-        );
-    }
-
-    /**
-     * @dataProvider provideCompileWithHostnameData
-     */
-    public function testCompileWithHostname($name, $arguments, $prefix, $regex, $variables, $pathVariables, $tokens, $hostnameRegex, $hostnameVariables, $hostnameTokens)
-    {
-        $r = new \ReflectionClass('Symfony\\Component\\Routing\\Route');
-        $route = $r->newInstanceArgs($arguments);
-
-        $compiled = $route->compile();
-        $this->assertEquals($prefix, $compiled->getStaticPrefix(), $name.' (static prefix)');
-        $this->assertEquals($regex, str_replace(array("\n", ' '), '', $compiled->getRegex()), $name.' (regex)');
-        $this->assertEquals($variables, $compiled->getVariables(), $name.' (variables)');
-        $this->assertEquals($pathVariables, $compiled->getPathVariables(), $name.' (path variables)');
-        $this->assertEquals($tokens, $compiled->getTokens(), $name.' (tokens)');
-        $this->assertEquals($hostnameRegex, str_replace(array("\n", ' '), '', $compiled->getHostnameRegex()), $name.' (hostname regex)');
-        $this->assertEquals($hostnameVariables, $compiled->getHostnameVariables(), $name.' (hostname variables)');
-        $this->assertEquals($hostnameTokens, $compiled->getHostnameTokens(), $name.' (hostname tokens)');
-    }
-
-    public function provideCompileWithHostnameData()
-    {
-        return array(
-            array(
-                'Route with hostname pattern',
-                array('/hello', array(), array(), array(), 'www.example.com'),
-                '/hello', '#^/hello$#s', array(), array(), array(
-                    array('text', '/hello'),
-                ),
-                '#^www\.example\.com$#s', array(), array(
-                    array('text', 'www.example.com'),
-                ),
-            ),
-            array(
-                'Route with hostname pattern and some variables',
-                array('/hello/{name}', array(), array(), array(), 'www.example.{tld}'),
-                '/hello', '#^/hello/(?P<name>[^/]++)$#s', array('tld', 'name'), array('name'), array(
-                    array('variable', '/', '[^/]++', 'name'),
-                    array('text', '/hello'),
-                ),
-                '#^www\.example\.(?P<tld>[^\.]++)$#s', array('tld'), array(
-                    array('variable', '.', '[^\.]++', 'tld'),
-                    array('text', 'www.example'),
-                ),
-            ),
-            array(
-                'Route with variable at beginning of hostname',
-                array('/hello', array(), array(), array(), '{locale}.example.{tld}'),
-                '/hello', '#^/hello$#s', array('locale', 'tld'), array(), array(
-                    array('text', '/hello'),
-                ),
-                '#^(?P<locale>[^\.]++)\.example\.(?P<tld>[^\.]++)$#s', array('locale', 'tld'), array(
-                    array('variable', '.', '[^\.]++', 'tld'),
-                    array('text', '.example'),
-                    array('variable', '', '[^\.]++', 'locale'),
-                ),
-            ),
-            array(
-                'Route with hostname variables that has a default value',
-                array('/hello', array('locale' => 'a', 'tld' => 'b'), array(), array(), '{locale}.example.{tld}'),
-                '/hello', '#^/hello$#s', array('locale', 'tld'), array(), array(
-                    array('text', '/hello'),
-                ),
-                '#^(?P<locale>[^\.]++)\.example\.(?P<tld>[^\.]++)$#s', array('locale', 'tld'), array(
-                    array('variable', '.', '[^\.]++', 'tld'),
-                    array('text', '.example'),
-                    array('variable', '', '[^\.]++', 'locale'),
-                ),
-            ),
-        );
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteTest.php
deleted file mode 100644
index c89ad5d..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteTest.php
+++ /dev/null
@@ -1,140 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Routing\Tests;
-
-use Symfony\Component\Routing\Route;
-
-class RouteTest extends \PHPUnit_Framework_TestCase
-{
-    public function testConstructor()
-    {
-        $route = new Route('/{foo}', array('foo' => 'bar'), array('foo' => '\d+'), array('foo' => 'bar'), '{locale}.example.com');
-        $this->assertEquals('/{foo}', $route->getPattern(), '__construct() takes a pattern as its first argument');
-        $this->assertEquals(array('foo' => 'bar'), $route->getDefaults(), '__construct() takes defaults as its second argument');
-        $this->assertEquals(array('foo' => '\d+'), $route->getRequirements(), '__construct() takes requirements as its third argument');
-        $this->assertEquals('bar', $route->getOption('foo'), '__construct() takes options as its fourth argument');
-        $this->assertEquals('{locale}.example.com', $route->getHostnamePattern(), '__construct() takes a hostname pattern as its fifth argument');
-    }
-
-    public function testPattern()
-    {
-        $route = new Route('/{foo}');
-        $route->setPattern('/{bar}');
-        $this->assertEquals('/{bar}', $route->getPattern(), '->setPattern() sets the pattern');
-        $route->setPattern('');
-        $this->assertEquals('/', $route->getPattern(), '->setPattern() adds a / at the beginning of the pattern if needed');
-        $route->setPattern('bar');
-        $this->assertEquals('/bar', $route->getPattern(), '->setPattern() adds a / at the beginning of the pattern if needed');
-        $this->assertEquals($route, $route->setPattern(''), '->setPattern() implements a fluent interface');
-        $route->setPattern('//path');
-        $this->assertEquals('/path', $route->getPattern(), '->setPattern() does not allow two slashes "//" at the beginning of the pattern as it would be confused with a network path when generating the path from the route');
-    }
-
-    public function testOptions()
-    {
-        $route = new Route('/{foo}');
-        $route->setOptions(array('foo' => 'bar'));
-        $this->assertEquals(array_merge(array(
-        'compiler_class'     => 'Symfony\\Component\\Routing\\RouteCompiler',
-        ), array('foo' => 'bar')), $route->getOptions(), '->setOptions() sets the options');
-        $this->assertEquals($route, $route->setOptions(array()), '->setOptions() implements a fluent interface');
-
-        $route->setOptions(array('foo' => 'foo'));
-        $route->addOptions(array('bar' => 'bar'));
-        $this->assertEquals($route, $route->addOptions(array()), '->addOptions() implements a fluent interface');
-        $this->assertEquals(array('foo' => 'foo', 'bar' => 'bar', 'compiler_class' => 'Symfony\\Component\\Routing\\RouteCompiler'), $route->getOptions(), '->addDefaults() keep previous defaults');
-    }
-
-    public function testDefaults()
-    {
-        $route = new Route('/{foo}');
-        $route->setDefaults(array('foo' => 'bar'));
-        $this->assertEquals(array('foo' => 'bar'), $route->getDefaults(), '->setDefaults() sets the defaults');
-        $this->assertEquals($route, $route->setDefaults(array()), '->setDefaults() implements a fluent interface');
-
-        $route->setDefault('foo', 'bar');
-        $this->assertEquals('bar', $route->getDefault('foo'), '->setDefault() sets a default value');
-
-        $route->setDefault('foo2', 'bar2');
-        $this->assertEquals('bar2', $route->getDefault('foo2'), '->getDefault() return the default value');
-        $this->assertNull($route->getDefault('not_defined'), '->getDefault() return null if default value is not setted');
-
-        $route->setDefault('_controller', $closure = function () { return 'Hello'; });
-        $this->assertEquals($closure, $route->getDefault('_controller'), '->setDefault() sets a default value');
-
-        $route->setDefaults(array('foo' => 'foo'));
-        $route->addDefaults(array('bar' => 'bar'));
-        $this->assertEquals($route, $route->addDefaults(array()), '->addDefaults() implements a fluent interface');
-        $this->assertEquals(array('foo' => 'foo', 'bar' => 'bar'), $route->getDefaults(), '->addDefaults() keep previous defaults');
-    }
-
-    public function testRequirements()
-    {
-        $route = new Route('/{foo}');
-        $route->setRequirements(array('foo' => '\d+'));
-        $this->assertEquals(array('foo' => '\d+'), $route->getRequirements(), '->setRequirements() sets the requirements');
-        $this->assertEquals('\d+', $route->getRequirement('foo'), '->getRequirement() returns a requirement');
-        $this->assertNull($route->getRequirement('bar'), '->getRequirement() returns null if a requirement is not defined');
-        $route->setRequirements(array('foo' => '^\d+$'));
-        $this->assertEquals('\d+', $route->getRequirement('foo'), '->getRequirement() removes ^ and $ from the pattern');
-        $this->assertEquals($route, $route->setRequirements(array()), '->setRequirements() implements a fluent interface');
-
-        $route->setRequirements(array('foo' => '\d+'));
-        $route->addRequirements(array('bar' => '\d+'));
-        $this->assertEquals($route, $route->addRequirements(array()), '->addRequirements() implements a fluent interface');
-        $this->assertEquals(array('foo' => '\d+', 'bar' => '\d+'), $route->getRequirements(), '->addRequirement() keep previous requirements');
-    }
-
-    public function testRequirement()
-    {
-        $route = new Route('/{foo}');
-        $route->setRequirement('foo', '^\d+$');
-        $this->assertEquals('\d+', $route->getRequirement('foo'), '->setRequirement() removes ^ and $ from the pattern');
-    }
-
-    /**
-     * @dataProvider getInvalidRequirements
-     * @expectedException \InvalidArgumentException
-     */
-    public function testSetInvalidRequirement($req)
-    {
-        $route = new Route('/{foo}');
-        $route->setRequirement('foo', $req);
-    }
-
-    public function getInvalidRequirements()
-    {
-        return array(
-           array(''),
-           array(array()),
-           array('^$'),
-           array('^'),
-           array('$')
-        );
-    }
-
-    public function testHostnamePattern()
-    {
-        $route = new Route('/');
-        $route->setHostnamePattern('{locale}.example.net');
-        $this->assertEquals('{locale}.example.net', $route->getHostnamePattern(), '->setHostnamePattern() sets the hostname pattern');
-    }
-
-    public function testCompile()
-    {
-        $route = new Route('/{foo}');
-        $this->assertInstanceOf('Symfony\Component\Routing\CompiledRoute', $compiled = $route->compile(), '->compile() returns a compiled route');
-        $this->assertSame($compiled, $route->compile(), '->compile() only compiled the route once if unchanged');
-        $route->setRequirement('foo', '.*');
-        $this->assertNotSame($compiled, $route->compile(), '->compile() recompiles if the route was modified');
-    }
-}
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/phpunit.xml.dist b/core/vendor/symfony/routing/Symfony/Component/Routing/phpunit.xml.dist
deleted file mode 100644
index 830066a..0000000
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/phpunit.xml.dist
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         colors="true"
-         convertErrorsToExceptions="true"
-         convertNoticesToExceptions="true"
-         convertWarningsToExceptions="true"
-         processIsolation="false"
-         stopOnFailure="false"
-         syntaxCheck="false"
-         bootstrap="vendor/autoload.php"
->
-    <testsuites>
-        <testsuite name="Symfony Routing Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./vendor</directory>
-                <directory>./Tests</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE b/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE
index cdffe7a..88a57f8 100644
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE
+++ b/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2004-2012 Fabien Potencier
+Copyright (c) 2004-2013 Fabien Potencier
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php
deleted file mode 100644
index 23cb021..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php
+++ /dev/null
@@ -1,329 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Encoder;
-
-use Symfony\Component\Serializer\Tests\Fixtures\Dummy;
-use Symfony\Component\Serializer\Tests\Fixtures\ScalarDummy;
-use Symfony\Component\Serializer\Encoder\XmlEncoder;
-use Symfony\Component\Serializer\Serializer;
-use Symfony\Component\Serializer\Exception\UnexpectedValueException;
-use Symfony\Component\Serializer\Normalizer\CustomNormalizer;
-
-class XmlEncoderTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        $this->encoder = new XmlEncoder;
-        $serializer = new Serializer(array(new CustomNormalizer()), array('xml' => new XmlEncoder()));
-        $this->encoder->setSerializer($serializer);
-    }
-
-    public function testEncodeScalar()
-    {
-        $obj = new ScalarDummy;
-        $obj->xmlFoo = "foo";
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response>foo</response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($obj, 'xml'));
-    }
-
-    public function testSetRootNodeName()
-    {
-        $obj = new ScalarDummy;
-        $obj->xmlFoo = "foo";
-
-        $this->encoder->setRootNodeName('test');
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<test>foo</test>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($obj, 'xml'));
-    }
-
-    /**
-     * @expectedException        UnexpectedValueException
-     * @expectedExceptionMessage Document types are not allowed.
-     */
-    public function testDocTypeIsNotAllowed()
-    {
-        $this->encoder->decode('<?xml version="1.0"?><!DOCTYPE foo><foo></foo>', 'foo');
-    }
-
-    public function testAttributes()
-    {
-        $obj = new ScalarDummy;
-        $obj->xmlFoo = array(
-            'foo-bar' => array(
-                '@id' => 1,
-                '@name' => 'Bar'
-            ),
-            'Foo' => array(
-                'Bar' => "Test",
-                '@Type' => 'test'
-            ),
-            'föo_bär' => 'a',
-            "Bar" => array(1,2,3),
-            'a' => 'b',
-        );
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response>'.
-            '<foo-bar id="1" name="Bar"/>'.
-            '<Foo Type="test"><Bar>Test</Bar></Foo>'.
-            '<föo_bär>a</föo_bär>'.
-            '<Bar>1</Bar>'.
-            '<Bar>2</Bar>'.
-            '<Bar>3</Bar>'.
-            '<a>b</a>'.
-            '</response>'."\n";
-        $this->assertEquals($expected, $this->encoder->encode($obj, 'xml'));
-    }
-
-    public function testElementNameValid()
-    {
-        $obj = new ScalarDummy;
-        $obj->xmlFoo = array(
-            'foo-bar' => 'a',
-            'foo_bar' => 'a',
-            'föo_bär' => 'a',
-        );
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response>'.
-            '<foo-bar>a</foo-bar>'.
-            '<foo_bar>a</foo_bar>'.
-            '<föo_bär>a</föo_bär>'.
-            '</response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($obj, 'xml'));
-    }
-
-    public function testEncodeSimpleXML()
-    {
-        $xml = simplexml_load_string('<firstname>Peter</firstname>');
-        $array = array('person' => $xml);
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response><person><firstname>Peter</firstname></person></response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($array, 'xml'));
-    }
-
-    public function testEncodeScalarRootAttributes()
-    {
-        $array = array(
-          '#' => 'Paul',
-          '@gender' => 'm'
-        );
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response gender="m">Paul</response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($array, 'xml'));
-    }
-
-    public function testEncodeRootAttributes()
-    {
-        $array = array(
-          'firstname' => 'Paul',
-          '@gender' => 'm'
-        );
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response gender="m"><firstname>Paul</firstname></response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($array, 'xml'));
-    }
-
-    public function testEncodeCdataWrapping()
-    {
-        $array = array(
-          'firstname' => 'Paul <or Me>',
-        );
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response><firstname><![CDATA[Paul <or Me>]]></firstname></response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($array, 'xml'));
-    }
-
-    public function testEncodeScalarWithAttribute()
-    {
-        $array = array(
-            'person' => array('@gender' => 'M', '#' => 'Peter'),
-        );
-
-        $expected = '<?xml version="1.0"?>'."\n".
-            '<response><person gender="M">Peter</person></response>'."\n";
-
-        $this->assertEquals($expected, $this->encoder->encode($array, 'xml'));
-    }
-
-    public function testDecodeScalar()
-    {
-        $source = '<?xml version="1.0"?>'."\n".
-            '<response>foo</response>'."\n";
-
-        $this->assertEquals('foo', $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testEncode()
-    {
-        $source = $this->getXmlSource();
-        $obj = $this->getObject();
-
-        $this->assertEquals($source, $this->encoder->encode($obj, 'xml'));
-    }
-
-    public function testDecode()
-    {
-        $source = $this->getXmlSource();
-        $obj = $this->getObject();
-
-        $this->assertEquals(get_object_vars($obj), $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeScalarWithAttribute()
-    {
-        $source = '<?xml version="1.0"?>'."\n".
-            '<response><person gender="M">Peter</person></response>'."\n";
-
-        $expected = array(
-            'person' => array('@gender' => 'M', '#' => 'Peter'),
-        );
-
-        $this->assertEquals($expected, $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeScalarRootAttributes()
-    {
-        $source = '<?xml version="1.0"?>'."\n".
-            '<person gender="M">Peter</person>'."\n";
-
-        $expected = array(
-            '#' => 'Peter',
-            '@gender' => 'M'
-        );
-
-        $this->assertEquals($expected, $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeRootAttributes()
-    {
-        $source = '<?xml version="1.0"?>'."\n".
-            '<person gender="M"><firstname>Peter</firstname><lastname>Mac Calloway</lastname></person>'."\n";
-
-        $expected = array(
-            'firstname' => 'Peter',
-            'lastname' => 'Mac Calloway',
-            '@gender' => 'M'
-        );
-
-        $this->assertEquals($expected, $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeArray()
-    {
-        $source = '<?xml version="1.0"?>'."\n".
-            '<response>'.
-            '<people>'.
-            '<person><firstname>Benjamin</firstname><lastname>Alexandre</lastname></person>'.
-            '<person><firstname>Damien</firstname><lastname>Clay</lastname></person>'.
-            '</people>'.
-            '</response>'."\n";
-
-        $expected = array(
-            'people' => array('person' => array(
-                array('firstname' => 'Benjamin', 'lastname' => 'Alexandre'),
-                array('firstname' => 'Damien', 'lastname' => 'Clay')
-            ))
-        );
-
-        $this->assertEquals($expected, $this->encoder->decode($source, 'xml'));
-    }
-
-    public function testDecodeWithoutItemHash()
-    {
-        $obj = new ScalarDummy;
-        $obj->xmlFoo = array(
-            'foo-bar' => array(
-                '@key' => "value",
-                'item' => array("@key" => 'key', "key-val" => 'val')
-            ),
-            'Foo' => array(
-                'Bar' => "Test",
-                '@Type' => 'test'
-            ),
-            'föo_bär' => 'a',
-            "Bar" => array(1,2,3),
-            'a' => 'b',
-        );
-        $expected = array(
-            'foo-bar' => array(
-                '@key' => "value",
-                'key' => array('@key' => 'key', "key-val" => 'val')
-            ),
-            'Foo' => array(
-                'Bar' => "Test",
-                '@Type' => 'test'
-            ),
-            'föo_bär' => 'a',
-            "Bar" => array(1,2,3),
-            'a' => 'b',
-        );
-        $xml = $this->encoder->encode($obj, 'xml');
-        $this->assertEquals($expected, $this->encoder->decode($xml, 'xml'));
-    }
-
-    public function testPreventsComplexExternalEntities()
-    {
-        $oldCwd = getcwd();
-        chdir(__DIR__);
-
-        try {
-            $this->encoder->decode('<?xml version="1.0"?><!DOCTYPE scan[<!ENTITY test SYSTEM "php://filter/read=convert.base64-encode/resource=XmlEncoderTest.php">]><scan>&test;</scan>', 'xml');
-            chdir($oldCwd);
-
-            $this->fail('No exception was thrown.');
-        } catch (\Exception $e) {
-            chdir($oldCwd);
-
-            if (!$e instanceof UnexpectedValueException) {
-                $this->fail('Expected UnexpectedValueException');
-            }
-        }
-    }
-
-    protected function getXmlSource()
-    {
-        return '<?xml version="1.0"?>'."\n".
-            '<response>'.
-            '<foo>foo</foo>'.
-            '<bar>a</bar><bar>b</bar>'.
-            '<baz><key>val</key><key2>val</key2><item key="A B">bar</item>'.
-            '<item><title>title1</title></item><item><title>title2</title></item>'.
-            '<Barry><FooBar id="1"><Baz>Ed</Baz></FooBar></Barry></baz>'.
-            '<qux>1</qux>'.
-            '</response>'."\n";
-    }
-
-    protected function getObject()
-    {
-        $obj = new Dummy;
-        $obj->foo = 'foo';
-        $obj->bar = array('a', 'b');
-        $obj->baz = array('key' => 'val', 'key2' => 'val', 'A B' => 'bar', 'item' => array(array('title' => 'title1'), array('title' => 'title2')), 'Barry' => array('FooBar' => array('Baz' => 'Ed', '@id' => 1)));
-        $obj->qux = "1";
-
-        return $obj;
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php
deleted file mode 100644
index 468d444..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-use Symfony\Component\Serializer\Normalizer\DenormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
-
-class DenormalizableDummy implements DenormalizableInterface
-{
-
-    public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null)
-    {
-
-    }
-
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php
deleted file mode 100644
index cdcf510..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-use Symfony\Component\Serializer\Normalizer\NormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
-
-class Dummy implements NormalizableInterface, DenormalizableInterface
-{
-    public $foo;
-    public $bar;
-    public $baz;
-    public $qux;
-
-    public function normalize(NormalizerInterface $normalizer, $format = null)
-    {
-        return array(
-            'foo' => $this->foo,
-            'bar' => $this->bar,
-            'baz' => $this->baz,
-            'qux' => $this->qux,
-        );
-    }
-
-    public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null)
-    {
-        $this->foo = $data['foo'];
-        $this->bar = $data['bar'];
-        $this->baz = $data['baz'];
-        $this->qux = $data['qux'];
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php
deleted file mode 100644
index ba1f924..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-use Symfony\Component\Serializer\Normalizer\NormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
-
-class NormalizableTraversableDummy extends TraversableDummy implements NormalizableInterface, DenormalizableInterface
-{
-    public function normalize(NormalizerInterface $normalizer, $format = null)
-    {
-        return array(
-            'foo' => 'normalizedFoo',
-            'bar' => 'normalizedBar',
-        );
-    }
-
-    public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null)
-    {
-        return array(
-            'foo' => 'denormalizedFoo',
-            'bar' => 'denormalizedBar',
-        );
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php
deleted file mode 100644
index 1b0516a..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-use Symfony\Component\Serializer\Normalizer\NormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizableInterface;
-use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
-use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
-
-class ScalarDummy implements NormalizableInterface, DenormalizableInterface
-{
-    public $foo;
-    public $xmlFoo;
-
-    public function normalize(NormalizerInterface $normalizer, $format = null)
-    {
-        return $format === 'xml' ? $this->xmlFoo : $this->foo;
-    }
-
-    public function denormalize(DenormalizerInterface $denormalizer, $data, $format = null)
-    {
-        if ($format === 'xml') {
-            $this->xmlFoo = $data;
-        } else {
-            $this->foo = $data;
-        }
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/TraversableDummy.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/TraversableDummy.php
deleted file mode 100644
index bcf46e5..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/TraversableDummy.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Fixtures;
-
-class TraversableDummy implements \IteratorAggregate
-{
-    public $foo = 'foo';
-    public $bar = 'bar';
-
-    public function getIterator()
-    {
-        return new \ArrayIterator(get_object_vars($this));
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php
deleted file mode 100644
index 7b4b4ae..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Normalizer;
-
-use Symfony\Component\Serializer\Tests\Fixtures\ScalarDummy;
-use Symfony\Component\Serializer\Normalizer\CustomNormalizer;
-use Symfony\Component\Serializer\Serializer;
-
-class CustomNormalizerTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        $this->normalizer = new CustomNormalizer;
-        $this->normalizer->setSerializer(new Serializer);
-    }
-
-    public function testSerialize()
-    {
-        $obj = new ScalarDummy;
-        $obj->foo = 'foo';
-        $obj->xmlFoo = 'xml';
-        $this->assertEquals('foo', $this->normalizer->normalize($obj, 'json'));
-        $this->assertEquals('xml', $this->normalizer->normalize($obj, 'xml'));
-    }
-
-    public function testDeserialize()
-    {
-        $obj = $this->normalizer->denormalize('foo', get_class(new ScalarDummy), 'xml');
-        $this->assertEquals('foo', $obj->xmlFoo);
-        $this->assertNull($obj->foo);
-
-        $obj = $this->normalizer->denormalize('foo', get_class(new ScalarDummy), 'json');
-        $this->assertEquals('foo', $obj->foo);
-        $this->assertNull($obj->xmlFoo);
-    }
-
-    public function testSupportsNormalization()
-    {
-        $this->assertTrue($this->normalizer->supportsNormalization(new ScalarDummy));
-        $this->assertFalse($this->normalizer->supportsNormalization(new \stdClass));
-    }
-
-    public function testSupportsDenormalization()
-    {
-        $this->assertTrue($this->normalizer->supportsDenormalization(array(), 'Symfony\Component\Serializer\Tests\Fixtures\ScalarDummy'));
-        $this->assertFalse($this->normalizer->supportsDenormalization(array(), 'stdClass'));
-        $this->assertTrue($this->normalizer->supportsDenormalization(array(), 'Symfony\Component\Serializer\Tests\Fixtures\DenormalizableDummy'));
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
deleted file mode 100644
index 0637532..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
+++ /dev/null
@@ -1,220 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests\Normalizer;
-
-use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
-
-class GetSetMethodNormalizerTest extends \PHPUnit_Framework_TestCase
-{
-    protected function setUp()
-    {
-        $this->normalizer = new GetSetMethodNormalizer;
-        $this->normalizer->setSerializer($this->getMock('Symfony\Component\Serializer\Serializer'));
-    }
-
-    public function testNormalize()
-    {
-        $obj = new GetSetDummy;
-        $obj->setFoo('foo');
-        $obj->setBar('bar');
-        $this->assertEquals(
-            array('foo' => 'foo', 'bar' => 'bar', 'fooBar' => 'foobar'),
-            $this->normalizer->normalize($obj, 'any')
-        );
-    }
-
-    public function testDenormalize()
-    {
-        $obj = $this->normalizer->denormalize(
-            array('foo' => 'foo', 'bar' => 'bar', 'fooBar' => 'foobar'),
-            __NAMESPACE__.'\GetSetDummy',
-            'any'
-        );
-        $this->assertEquals('foo', $obj->getFoo());
-        $this->assertEquals('bar', $obj->getBar());
-    }
-
-    public function testConstructorDenormalize()
-    {
-        $obj = $this->normalizer->denormalize(
-            array('foo' => 'foo', 'bar' => 'bar', 'fooBar' => 'foobar'),
-            __NAMESPACE__.'\GetConstructorDummy', 'any');
-        $this->assertEquals('foo', $obj->getFoo());
-        $this->assertEquals('bar', $obj->getBar());
-    }
-
-    /**
-     * @dataProvider provideCallbacks
-     */
-    public function testCallbacks($callbacks, $value, $result, $message)
-    {
-        $this->normalizer->setCallbacks($callbacks);
-
-        $obj = new GetConstructorDummy('', $value);
-
-        $this->assertEquals(
-            $result,
-            $this->normalizer->normalize($obj, 'any'),
-            $message
-        );
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testUncallableCallbacks()
-    {
-        $this->normalizer->setCallbacks(array('bar' => null));
-
-        $obj = new GetConstructorDummy('baz', 'quux');
-
-        $this->normalizer->normalize($obj, 'any');
-    }
-
-    public function testIgnoredAttributes()
-    {
-        $this->normalizer->setIgnoredAttributes(array('foo', 'bar'));
-
-        $obj = new GetSetDummy;
-        $obj->setFoo('foo');
-        $obj->setBar('bar');
-
-        $this->assertEquals(
-            array('fooBar' => 'foobar'),
-            $this->normalizer->normalize($obj, 'any')
-        );
-    }
-
-    public function provideCallbacks()
-    {
-        return array(
-            array(
-                array(
-                    'bar' => function ($bar) {
-                        return 'baz';
-                    },
-                ),
-                'baz',
-                array('foo' => '', 'bar' => 'baz'),
-                'Change a string',
-            ),
-            array(
-                array(
-                    'bar' => function ($bar) {
-                        return null;
-                    },
-                ),
-                'baz',
-                array('foo' => '', 'bar' => null),
-                'Null an item'
-            ),
-            array(
-                array(
-                    'bar' => function ($bar) {
-                        return $bar->format('d-m-Y H:i:s');
-                    },
-                ),
-                new \DateTime('2011-09-10 06:30:00'),
-                array('foo' => '', 'bar' => '10-09-2011 06:30:00'),
-                'Format a date',
-            ),
-            array(
-                array(
-                    'bar' => function ($bars) {
-                        $foos = '';
-                        foreach ($bars as $bar) {
-                            $foos .= $bar->getFoo();
-                        }
-
-                        return $foos;
-                    },
-                ),
-                array(new GetConstructorDummy('baz', ''), new GetConstructorDummy('quux', '')),
-                array('foo' => '', 'bar' => 'bazquux'),
-                'Collect a property',
-            ),
-            array(
-                array(
-                    'bar' => function ($bars) {
-                        return count($bars);
-                    },
-                ),
-                array(new GetConstructorDummy('baz', ''), new GetConstructorDummy('quux', '')),
-                array('foo' => '', 'bar' => 2),
-                'Count a property',
-            ),
-        );
-    }
-}
-
-class GetSetDummy
-{
-    protected $foo;
-    private $bar;
-
-    public function getFoo()
-    {
-        return $this->foo;
-    }
-
-    public function setFoo($foo)
-    {
-        $this->foo = $foo;
-    }
-
-    public function getBar()
-    {
-        return $this->bar;
-    }
-
-    public function setBar($bar)
-    {
-        $this->bar = $bar;
-    }
-
-    public function getFooBar()
-    {
-        return $this->foo . $this->bar;
-    }
-
-    public function otherMethod()
-    {
-        throw new \RuntimeException("Dummy::otherMethod() should not be called");
-    }
-}
-
-class GetConstructorDummy
-{
-    protected $foo;
-    private $bar;
-
-    public function __construct($foo, $bar)
-    {
-        $this->foo = $foo;
-        $this->bar = $bar;
-    }
-
-    public function getFoo()
-    {
-        return $this->foo;
-    }
-
-    public function getBar()
-    {
-        return $this->bar;
-    }
-
-    public function otherMethod()
-    {
-        throw new \RuntimeException("Dummy::otherMethod() should not be called");
-    }
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/SerializerTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/SerializerTest.php
deleted file mode 100644
index 6470393..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/SerializerTest.php
+++ /dev/null
@@ -1,227 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Serializer\Tests;
-
-use Symfony\Component\Serializer\Serializer;
-use Symfony\Component\Serializer\Encoder\JsonEncoder;
-use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
-use Symfony\Component\Serializer\Normalizer\CustomNormalizer;
-use Symfony\Component\Serializer\Tests\Fixtures\TraversableDummy;
-use Symfony\Component\Serializer\Tests\Fixtures\NormalizableTraversableDummy;
-
-class SerializerTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testNormalizeNoMatch()
-    {
-        $this->serializer = new Serializer(array($this->getMock('Symfony\Component\Serializer\Normalizer\CustomNormalizer')));
-        $this->serializer->normalize(new \stdClass, 'xml');
-    }
-
-    public function testNormalizeTraversable()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $result = $this->serializer->serialize(new TraversableDummy, 'json');
-        $this->assertEquals('{"foo":"foo","bar":"bar"}', $result);
-    }
-
-    public function testNormalizeGivesPriorityToInterfaceOverTraversable()
-    {
-        $this->serializer = new Serializer(array(new CustomNormalizer), array('json' => new JsonEncoder()));
-        $result = $this->serializer->serialize(new NormalizableTraversableDummy, 'json');
-        $this->assertEquals('{"foo":"normalizedFoo","bar":"normalizedBar"}', $result);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testDenormalizeNoMatch()
-    {
-        $this->serializer = new Serializer(array($this->getMock('Symfony\Component\Serializer\Normalizer\CustomNormalizer')));
-        $this->serializer->denormalize('foo', 'stdClass');
-    }
-
-    public function testSerialize()
-    {
-        $this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $result = $this->serializer->serialize(Model::fromArray($data), 'json');
-        $this->assertEquals(json_encode($data), $result);
-    }
-
-    public function testSerializeScalar()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $result = $this->serializer->serialize('foo', 'json');
-        $this->assertEquals('"foo"', $result);
-    }
-
-    public function testSerializeArrayOfScalars()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $data = array('foo', array(5, 3));
-        $result = $this->serializer->serialize($data, 'json');
-        $this->assertEquals(json_encode($data), $result);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testSerializeNoEncoder()
-    {
-        $this->serializer = new Serializer(array(), array());
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->serialize($data, 'json');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\LogicException
-     */
-    public function testSerializeNoNormalizer()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->serialize(Model::fromArray($data), 'json');
-    }
-
-    public function testDeserialize()
-    {
-        $this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $result = $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-        $this->assertEquals($data, $result->toArray());
-    }
-
-    public function testDeserializeUseCache()
-    {
-        $this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-        $data = array('title' => 'bar', 'numbers' => array(2, 8));
-        $result = $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-        $this->assertEquals($data, $result->toArray());
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\LogicException
-     */
-    public function testDeserializeNoNormalizer()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testDeserializeWrongNormalizer()
-    {
-        $this->serializer = new Serializer(array(new CustomNormalizer()), array('json' => new JsonEncoder()));
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException
-     */
-    public function testDeserializeNoEncoder()
-    {
-        $this->serializer = new Serializer(array(), array());
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->serializer->deserialize(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json');
-    }
-
-    public function testDeserializeSupported()
-    {
-        $this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array());
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->assertTrue($this->serializer->supportsDenormalization(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json'));
-    }
-
-    public function testDeserializeNotSupported()
-    {
-        $this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array());
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->assertFalse($this->serializer->supportsDenormalization(json_encode($data), 'stdClass', 'json'));
-    }
-
-    public function testDeserializeNotSupportedMissing()
-    {
-        $this->serializer = new Serializer(array(), array());
-        $data = array('title' => 'foo', 'numbers' => array(5, 3));
-        $this->assertFalse($this->serializer->supportsDenormalization(json_encode($data), '\Symfony\Component\Serializer\Tests\Model', 'json'));
-    }
-
-    public function testEncode()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $data = array('foo', array(5, 3));
-        $result = $this->serializer->encode($data, 'json');
-        $this->assertEquals(json_encode($data), $result);
-    }
-
-    public function testDecode()
-    {
-        $this->serializer = new Serializer(array(), array('json' => new JsonEncoder()));
-        $data = array('foo', array(5, 3));
-        $result = $this->serializer->decode(json_encode($data), 'json');
-        $this->assertEquals($data, $result);
-    }
-}
-
-class Model
-{
-    private $title;
-    private $numbers;
-
-    public static function fromArray($array)
-    {
-        $model = new self();
-        if (isset($array['title'])) {
-            $model->setTitle($array['title']);
-        }
-        if (isset($array['numbers'])) {
-            $model->setNumbers($array['numbers']);
-        }
-
-        return $model;
-    }
-
-    public function getTitle()
-    {
-        return $this->title;
-    }
-
-    public function setTitle($title)
-    {
-        $this->title = $title;
-    }
-
-    public function getNumbers()
-    {
-        return $this->numbers;
-    }
-
-    public function setNumbers($numbers)
-    {
-        $this->numbers = $numbers;
-    }
-
-    public function toArray()
-    {
-        return array('title' => $this->title, 'numbers' => $this->numbers);
-    }
-
-}
diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/phpunit.xml.dist b/core/vendor/symfony/serializer/Symfony/Component/Serializer/phpunit.xml.dist
deleted file mode 100644
index 691219d..0000000
--- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/phpunit.xml.dist
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         colors="true"
-         convertErrorsToExceptions="true"
-         convertNoticesToExceptions="true"
-         convertWarningsToExceptions="true"
-         processIsolation="false"
-         stopOnFailure="false"
-         syntaxCheck="false"
-         bootstrap="vendor/autoload.php"
->
-    <testsuites>
-        <testsuite name="Symfony Serializer Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./vendor</directory>
-                <directory>./Tests</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE b/core/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE
index cdffe7a..88a57f8 100644
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE
+++ b/core/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2004-2012 Fabien Potencier
+Copyright (c) 2004-2013 Fabien Potencier
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/DumperTest.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/DumperTest.php
deleted file mode 100644
index c662ead..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/DumperTest.php
+++ /dev/null
@@ -1,166 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Tests;
-
-use Symfony\Component\Yaml\Yaml;
-use Symfony\Component\Yaml\Parser;
-use Symfony\Component\Yaml\Dumper;
-
-class DumperTest extends \PHPUnit_Framework_TestCase
-{
-    protected $parser;
-    protected $dumper;
-    protected $path;
-
-    protected function setUp()
-    {
-        $this->parser = new Parser();
-        $this->dumper = new Dumper();
-        $this->path = __DIR__.'/Fixtures';
-    }
-
-    protected function tearDown()
-    {
-        $this->parser = null;
-        $this->dumper = null;
-        $this->path = null;
-    }
-
-    public function testSpecifications()
-    {
-        $files = $this->parser->parse(file_get_contents($this->path.'/index.yml'));
-        foreach ($files as $file) {
-            $yamls = file_get_contents($this->path.'/'.$file.'.yml');
-
-            // split YAMLs documents
-            foreach (preg_split('/^---( %YAML\:1\.0)?/m', $yamls) as $yaml) {
-                if (!$yaml) {
-                    continue;
-                }
-
-                $test = $this->parser->parse($yaml);
-                if (isset($test['dump_skip']) && $test['dump_skip']) {
-                    continue;
-                } elseif (isset($test['todo']) && $test['todo']) {
-                    // TODO
-                } else {
-                    $expected = eval('return '.trim($test['php']).';');
-
-                    $this->assertEquals($expected, $this->parser->parse($this->dumper->dump($expected, 10)), $test['test']);
-                }
-            }
-        }
-    }
-
-    public function testInlineLevel()
-    {
-        // inline level
-        $array = array(
-            '' => 'bar',
-            'foo' => '#bar',
-            'foo\'bar' => array(),
-            'bar' => array(1, 'foo'),
-            'foobar' => array(
-                'foo' => 'bar',
-                'bar' => array(1, 'foo'),
-                'foobar' => array(
-                    'foo' => 'bar',
-                    'bar' => array(1, 'foo'),
-                ),
-            ),
-        );
-
-        $expected = <<<EOF
-{ '': bar, foo: '#bar', 'foo''bar': {  }, bar: [1, foo], foobar: { foo: bar, bar: [1, foo], foobar: { foo: bar, bar: [1, foo] } } }
-EOF;
-$this->assertEquals($expected, $this->dumper->dump($array, -10), '->dump() takes an inline level argument');
-$this->assertEquals($expected, $this->dumper->dump($array, 0), '->dump() takes an inline level argument');
-
-$expected = <<<EOF
-'': bar
-foo: '#bar'
-'foo''bar': {  }
-bar: [1, foo]
-foobar: { foo: bar, bar: [1, foo], foobar: { foo: bar, bar: [1, foo] } }
-
-EOF;
-        $this->assertEquals($expected, $this->dumper->dump($array, 1), '->dump() takes an inline level argument');
-
-        $expected = <<<EOF
-'': bar
-foo: '#bar'
-'foo''bar': {  }
-bar:
-    - 1
-    - foo
-foobar:
-    foo: bar
-    bar: [1, foo]
-    foobar: { foo: bar, bar: [1, foo] }
-
-EOF;
-        $this->assertEquals($expected, $this->dumper->dump($array, 2), '->dump() takes an inline level argument');
-
-        $expected = <<<EOF
-'': bar
-foo: '#bar'
-'foo''bar': {  }
-bar:
-    - 1
-    - foo
-foobar:
-    foo: bar
-    bar:
-        - 1
-        - foo
-    foobar:
-        foo: bar
-        bar: [1, foo]
-
-EOF;
-        $this->assertEquals($expected, $this->dumper->dump($array, 3), '->dump() takes an inline level argument');
-
-        $expected = <<<EOF
-'': bar
-foo: '#bar'
-'foo''bar': {  }
-bar:
-    - 1
-    - foo
-foobar:
-    foo: bar
-    bar:
-        - 1
-        - foo
-    foobar:
-        foo: bar
-        bar:
-            - 1
-            - foo
-
-EOF;
-        $this->assertEquals($expected, $this->dumper->dump($array, 4), '->dump() takes an inline level argument');
-        $this->assertEquals($expected, $this->dumper->dump($array, 10), '->dump() takes an inline level argument');
-    }
-
-    public function testObjectsSupport()
-    {
-        $a = array('foo' => new A(), 'bar' => 1);
-
-        $this->assertEquals('{ foo: !!php/object:O:30:"Symfony\Component\Yaml\Tests\A":1:{s:1:"a";s:3:"foo";}, bar: 1 }', $this->dumper->dump($a), '->dump() is able to dump objects');
-    }
-}
-
-class A
-{
-    public $a = 'foo';
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsAnchorAlias.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsAnchorAlias.yml
deleted file mode 100644
index 5f9c942..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsAnchorAlias.yml
+++ /dev/null
@@ -1,31 +0,0 @@
---- %YAML:1.0
-test: Simple Alias Example
-brief: >
-    If you need to refer to the same item of data twice,
-    you can give that item an alias.  The alias is a plain
-    string, starting with an ampersand.  The item may then
-    be referred to by the alias throughout your document
-    by using an asterisk before the name of the alias.
-    This is called an anchor.
-yaml: |
-    - &showell Steve
-    - Clark
-    - Brian
-    - Oren
-    - *showell
-php: |
-    array('Steve', 'Clark', 'Brian', 'Oren', 'Steve')
-
----
-test: Alias of a Mapping
-brief: >
-    An alias can be used on any item of data, including
-    sequences, mappings, and other complex data types.
-yaml: |
-    - &hello
-        Meat: pork
-        Starch: potato
-    - banana
-    - *hello
-php: |
-    array(array('Meat'=>'pork', 'Starch'=>'potato'), 'banana', array('Meat'=>'pork', 'Starch'=>'potato'))
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml
deleted file mode 100644
index 5542b0d..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml
+++ /dev/null
@@ -1,178 +0,0 @@
---- %YAML:1.0
-test: Simple Sequence
-brief: |
-    You can specify a list in YAML by placing each
-    member of the list on a new line with an opening
-    dash. These lists are called sequences.
-yaml: |
-    - apple
-    - banana
-    - carrot
-php: |
-    array('apple', 'banana', 'carrot')
----
-test: Nested Sequences
-brief: |
-    You can include a sequence within another
-    sequence by giving the sequence an empty
-    dash, followed by an indented list.
-yaml: |
-    -
-     - foo
-     - bar
-     - baz
-php: |
-    array(array('foo', 'bar', 'baz'))
----
-test: Mixed Sequences
-brief: |
-    Sequences can contain any YAML data,
-    including strings and other sequences.
-yaml: |
-    - apple
-    -
-     - foo
-     - bar
-     - x123
-    - banana
-    - carrot
-php: |
-    array('apple', array('foo', 'bar', 'x123'), 'banana', 'carrot')
----
-test: Deeply Nested Sequences
-brief: |
-    Sequences can be nested even deeper, with each
-    level of indentation representing a level of
-    depth.
-yaml: |
-    -
-     -
-      - uno
-      - dos
-php: |
-    array(array(array('uno', 'dos')))
----
-test: Simple Mapping
-brief: |
-    You can add a keyed list (also known as a dictionary or
-    hash) to your document by placing each member of the
-    list on a new line, with a colon seperating the key
-    from its value.  In YAML, this type of list is called
-    a mapping.
-yaml: |
-    foo: whatever
-    bar: stuff
-php: |
-    array('foo' => 'whatever', 'bar' => 'stuff')
----
-test: Sequence in a Mapping
-brief: |
-    A value in a mapping can be a sequence.
-yaml: |
-    foo: whatever
-    bar:
-     - uno
-     - dos
-php: |
-    array('foo' => 'whatever', 'bar' => array('uno', 'dos'))
----
-test: Nested Mappings
-brief: |
-    A value in a mapping can be another mapping.
-yaml: |
-    foo: whatever
-    bar:
-     fruit: apple
-     name: steve
-     sport: baseball
-php: |
-    array(
-      'foo' => 'whatever',
-      'bar' => array(
-         'fruit' => 'apple',
-         'name' => 'steve',
-         'sport' => 'baseball'
-       )
-    )
----
-test: Mixed Mapping
-brief: |
-    A mapping can contain any assortment
-    of mappings and sequences as values.
-yaml: |
-    foo: whatever
-    bar:
-     -
-       fruit: apple
-       name: steve
-       sport: baseball
-     - more
-     -
-       python: rocks
-       perl: papers
-       ruby: scissorses
-php: |
-    array(
-      'foo' => 'whatever',
-      'bar' => array(
-        array(
-            'fruit' => 'apple',
-            'name' => 'steve',
-            'sport' => 'baseball'
-        ),
-        'more',
-        array(
-            'python' => 'rocks',
-            'perl' => 'papers',
-            'ruby' => 'scissorses'
-        )
-      )
-    )
----
-test: Mapping-in-Sequence Shortcut
-todo: true
-brief: |
-     If you are adding a mapping to a sequence, you
-     can place the mapping on the same line as the
-     dash as a shortcut.
-yaml: |
-     - work on YAML.py:
-        - work on Store
-php: |
-    array(array('work on YAML.py' => array('work on Store')))
----
-test: Sequence-in-Mapping Shortcut
-todo: true
-brief: |
-     The dash in a sequence counts as indentation, so
-     you can add a sequence inside of a mapping without
-     needing spaces as indentation.
-yaml: |
-     allow:
-     - 'localhost'
-     - '%.sourceforge.net'
-     - '%.freepan.org'
-php: |
-     array('allow' => array('localhost', '%.sourceforge.net', '%.freepan.org'))
----
-todo: true
-test: Merge key
-brief: |
-     A merge key ('<<') can be used in a mapping to insert other mappings.  If
-     the value associated with the merge key is a mapping, each of its key/value
-     pairs is inserted into the current mapping.
-yaml: |
-     mapping:
-       name: Joe
-       job: Accountant
-       <<:
-         age: 38
-php: |
-     array(
-       'mapping' =>
-       array(
-         'name' => 'Joe',
-         'job' => 'Accountant',
-         'age' => 38
-       )
-     )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBlockMapping.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBlockMapping.yml
deleted file mode 100644
index f7ca469..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBlockMapping.yml
+++ /dev/null
@@ -1,51 +0,0 @@
----
-test: One Element Mapping
-brief: |
-    A mapping with one key/value pair
-yaml: |
-    foo: bar
-php: |
-    array('foo' => 'bar')
----
-test: Multi Element Mapping
-brief: |
-    More than one key/value pair
-yaml: |
-    red: baron
-    white: walls
-    blue: berries
-php: |
-    array(
-     'red' => 'baron',
-     'white' => 'walls',
-     'blue' => 'berries',
-    )
----
-test: Values aligned
-brief: |
-    Often times human editors of documents will align the values even
-    though YAML emitters generally don't.
-yaml: |
-    red:   baron
-    white: walls
-    blue:  berries
-php: |
-    array(
-     'red' => 'baron',
-     'white' => 'walls',
-     'blue' => 'berries',
-    )
----
-test: Colons aligned
-brief: |
-    Spaces can come before the ': ' key/value separator.
-yaml: |
-    red   : baron
-    white : walls
-    blue  : berries
-php: |
-    array(
-     'red' => 'baron',
-     'white' => 'walls',
-     'blue' => 'berries',
-    )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsDocumentSeparator.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsDocumentSeparator.yml
deleted file mode 100644
index f8501dd..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsDocumentSeparator.yml
+++ /dev/null
@@ -1,85 +0,0 @@
---- %YAML:1.0
-test: Trailing Document Separator
-todo: true
-brief: >
-    You can separate YAML documents
-    with a string of three dashes.
-yaml: |
-    - foo: 1
-      bar: 2
-    ---
-    more: stuff
-python: |
-    [
-        [ { 'foo': 1, 'bar': 2 } ],
-        { 'more': 'stuff' }
-    ]
-ruby: |
-    [ { 'foo' => 1, 'bar' => 2 } ]
-
----
-test: Leading Document Separator
-todo: true
-brief: >
-    You can explicity give an opening
-    document separator to your YAML stream.
-yaml: |
-    ---
-    - foo: 1
-      bar: 2
-    ---
-    more: stuff
-python: |
-    [
-        [ {'foo': 1, 'bar': 2}],
-        {'more': 'stuff'}
-    ]
-ruby: |
-    [ { 'foo' => 1, 'bar' => 2 } ]
-
----
-test: YAML Header
-todo: true
-brief: >
-    The opening separator can contain directives
-    to the YAML parser, such as the version
-    number.
-yaml: |
-    --- %YAML:1.0
-    foo: 1
-    bar: 2
-php: |
-    array('foo' => 1, 'bar' => 2)
-documents: 1
-
----
-test: Red Herring Document Separator
-brief: >
-    Separators included in blocks or strings
-    are treated as blocks or strings, as the
-    document separator should have no indentation
-    preceding it.
-yaml: |
-    foo: |
-        ---
-php: |
-    array('foo' => "---\n")
-
----
-test: Multiple Document Separators in Block
-brief: >
-    This technique allows you to embed other YAML
-    documents within literal blocks.
-yaml: |
-    foo: |
-        ---
-        foo: bar
-        ---
-        yo: baz
-    bar: |
-        fooness
-php: |
-    array(
-       'foo' => "---\nfoo: bar\n---\nyo: baz\n",
-       'bar' => "fooness\n"
-    )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsErrorTests.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsErrorTests.yml
deleted file mode 100644
index e8506fc..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsErrorTests.yml
+++ /dev/null
@@ -1,25 +0,0 @@
----
-test: Missing value for hash item
-todo: true
-brief: |
-    Third item in this hash doesn't have a value
-yaml: |
-    okay: value
-    also okay: ~
-    causes error because no value specified
-    last key: value okay here too
-python-error: causes error because no value specified
-
----
-test: Not indenting enough
-brief: |
-    There was a bug in PyYaml where it was off by one
-    in the indentation check.  It was allowing the YAML
-    below.
-# This is actually valid YAML now. Someone should tell showell.
-yaml: |
-    foo:
-    firstline: 1
-    secondline: 2
-php: |
-  array('foo' => null, 'firstline' => 1, 'secondline' => 2)
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFlowCollections.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFlowCollections.yml
deleted file mode 100644
index 03090e4..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFlowCollections.yml
+++ /dev/null
@@ -1,60 +0,0 @@
----
-test: Simple Inline Array
-brief: >
-    Sequences can be contained on a
-    single line, using the inline syntax.
-    Separate each entry with commas and
-    enclose in square brackets.
-yaml: |
-    seq: [ a, b, c ]
-php: |
-    array('seq' => array('a', 'b', 'c'))
----
-test: Simple Inline Hash
-brief: >
-    Mapping can also be contained on
-    a single line, using the inline
-    syntax.  Each key-value pair is
-    separated by a colon, with a comma
-    between each entry in the mapping.
-    Enclose with curly braces.
-yaml: |
-    hash: { name: Steve, foo: bar }
-php: |
-    array('hash' => array('name' => 'Steve', 'foo' => 'bar'))
----
-test: Multi-line Inline Collections
-todo: true
-brief: >
-    Both inline sequences and inline mappings
-    can span multiple lines, provided that you
-    indent the additional lines.
-yaml: |
-    languages: [ Ruby,
-                 Perl,
-                 Python ]
-    websites: { YAML: yaml.org,
-                Ruby: ruby-lang.org,
-                Python: python.org,
-                Perl: use.perl.org }
-php: |
-    array(
-      'languages' => array('Ruby', 'Perl', 'Python'),
-      'websites' => array(
-        'YAML' => 'yaml.org',
-        'Ruby' => 'ruby-lang.org',
-        'Python' => 'python.org',
-        'Perl' => 'use.perl.org'
-      )
-    )
----
-test: Commas in Values (not in the spec!)
-todo: true
-brief: >
-    List items in collections are delimited by commas, but
-    there must be a space after each comma.  This allows you
-    to add numbers without quoting.
-yaml: |
-    attendances: [ 45,123, 70,000, 17,222 ]
-php: |
-    array('attendances' => array(45123, 70000, 17222))
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFoldedScalars.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFoldedScalars.yml
deleted file mode 100644
index a14735a..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFoldedScalars.yml
+++ /dev/null
@@ -1,176 +0,0 @@
---- %YAML:1.0
-test: Single ending newline
-brief: >
-    A pipe character, followed by an indented
-    block of text is treated as a literal
-    block, in which newlines are preserved
-    throughout the block, including the final
-    newline.
-yaml: |
-    ---
-    this: |
-        Foo
-        Bar
-php: |
-    array('this' => "Foo\nBar\n")
----
-test: The '+' indicator
-brief: >
-    The '+' indicator says to keep newlines at the end of text
-    blocks.
-yaml: |
-    normal: |
-      extra new lines not kept
-
-    preserving: |+
-      extra new lines are kept
-
-
-    dummy: value
-php: |
-    array(
-        'normal' => "extra new lines not kept\n",
-        'preserving' => "extra new lines are kept\n\n\n",
-        'dummy' => 'value'
-    )
----
-test: Three trailing newlines in literals
-brief: >
-    To give you more control over how space
-    is preserved in text blocks, YAML has
-    the keep '+' and chomp '-' indicators.
-    The keep indicator will preserve all
-    ending newlines, while the chomp indicator
-    will strip all ending newlines.
-yaml: |
-    clipped: |
-        This has one newline.
-
-
-
-    same as "clipped" above: "This has one newline.\n"
-
-    stripped: |-
-        This has no newline.
-
-
-
-    same as "stripped" above: "This has no newline."
-
-    kept: |+
-        This has four newlines.
-
-
-
-    same as "kept" above: "This has four newlines.\n\n\n\n"
-php: |
-    array(
-      'clipped' => "This has one newline.\n",
-      'same as "clipped" above' => "This has one newline.\n",
-      'stripped' => 'This has no newline.',
-      'same as "stripped" above' => 'This has no newline.',
-      'kept' => "This has four newlines.\n\n\n\n",
-      'same as "kept" above' => "This has four newlines.\n\n\n\n"
-    )
----
-test: Extra trailing newlines with spaces
-todo: true
-brief: >
-    Normally, only a single newline is kept
-    from the end of a literal block, unless the
-    keep '+' character is used in combination
-    with the pipe.  The following example
-    will preserve all ending whitespace
-    since the last line of both literal blocks
-    contains spaces which extend past the indentation
-    level.
-yaml: |
-    ---
-    this: |
-        Foo
-
-
-    kept: |+
-        Foo
-
-
-php: |
-    array('this' => "Foo\n\n  \n",
-      'kept' => "Foo\n\n  \n" )
-
----
-test: Folded Block in a Sequence
-brief: >
-    A greater-then character, followed by an indented
-    block of text is treated as a folded block, in
-    which lines of text separated by a single newline
-    are concatenated as a single line.
-yaml: |
-    ---
-    - apple
-    - banana
-    - >
-        can't you see
-        the beauty of yaml?
-        hmm
-    - dog
-php: |
-    array(
-        'apple',
-        'banana',
-        "can't you see the beauty of yaml? hmm\n",
-        'dog'
-    )
----
-test: Folded Block as a Mapping Value
-brief: >
-    Both literal and folded blocks can be
-    used in collections, as values in a
-    sequence or a mapping.
-yaml: |
-    ---
-    quote: >
-        Mark McGwire's
-        year was crippled
-        by a knee injury.
-    source: espn
-php: |
-    array(
-        'quote' => "Mark McGwire's year was crippled by a knee injury.\n",
-        'source' => 'espn'
-    )
----
-test: Three trailing newlines in folded blocks
-brief: >
-    The keep and chomp indicators can also
-    be applied to folded blocks.
-yaml: |
-    clipped: >
-        This has one newline.
-
-
-
-    same as "clipped" above: "This has one newline.\n"
-
-    stripped: >-
-        This has no newline.
-
-
-
-    same as "stripped" above: "This has no newline."
-
-    kept: >+
-        This has four newlines.
-
-
-
-    same as "kept" above: "This has four newlines.\n\n\n\n"
-php: |
-    array(
-      'clipped' => "This has one newline.\n",
-      'same as "clipped" above' => "This has one newline.\n",
-      'stripped' => 'This has no newline.',
-      'same as "stripped" above' => 'This has no newline.',
-      'kept' => "This has four newlines.\n\n\n\n",
-      'same as "kept" above' => "This has four newlines.\n\n\n\n"
-    )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsNullsAndEmpties.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsNullsAndEmpties.yml
deleted file mode 100644
index 9a5300f..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsNullsAndEmpties.yml
+++ /dev/null
@@ -1,45 +0,0 @@
---- %YAML:1.0
-test: Empty Sequence
-brief: >
-    You can represent the empty sequence
-    with an empty inline sequence.
-yaml: |
-    empty: []
-php: |
-    array('empty' => array())
----
-test: Empty Mapping
-brief: >
-    You can represent the empty mapping
-    with an empty inline mapping.
-yaml: |
-    empty: {}
-php: |
-    array('empty' => array())
----
-test: Empty Sequence as Entire Document
-yaml: |
-    []
-php: |
-    array()
----
-test: Empty Mapping as Entire Document
-yaml: |
-    {}
-php: |
-    array()
----
-test: Null as Document
-yaml: |
-    ~
-php: |
-    null
----
-test: Empty String
-brief: >
-    You can represent an empty string
-    with a pair of quotes.
-yaml: |
-    ''
-php: |
-    ''
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml
deleted file mode 100644
index 6f99f75..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml
+++ /dev/null
@@ -1,1695 +0,0 @@
---- %YAML:1.0
-test: Sequence of scalars
-spec: 2.1
-yaml: |
-  - Mark McGwire
-  - Sammy Sosa
-  - Ken Griffey
-php: |
-  array('Mark McGwire', 'Sammy Sosa', 'Ken Griffey')
----
-test: Mapping of scalars to scalars
-spec: 2.2
-yaml: |
-  hr:  65
-  avg: 0.278
-  rbi: 147
-php: |
-  array('hr' => 65, 'avg' => 0.278, 'rbi' => 147)
----
-test: Mapping of scalars to sequences
-spec: 2.3
-yaml: |
-    american:
-       - Boston Red Sox
-       - Detroit Tigers
-       - New York Yankees
-    national:
-       - New York Mets
-       - Chicago Cubs
-       - Atlanta Braves
-php: |
-    array('american' =>
-        array( 'Boston Red Sox', 'Detroit Tigers',
-          'New York Yankees' ),
-      'national' =>
-        array( 'New York Mets', 'Chicago Cubs',
-          'Atlanta Braves' )
-    )
----
-test: Sequence of mappings
-spec: 2.4
-yaml: |
-    -
-      name: Mark McGwire
-      hr:   65
-      avg:  0.278
-    -
-      name: Sammy Sosa
-      hr:   63
-      avg:  0.288
-php: |
-    array(
-      array('name' => 'Mark McGwire', 'hr' => 65, 'avg' => 0.278),
-      array('name' => 'Sammy Sosa', 'hr' => 63, 'avg' => 0.288)
-    )
----
-test: Legacy A5
-todo: true
-spec: legacy_A5
-yaml: |
-    ?
-        - New York Yankees
-        - Atlanta Braves
-    :
-      - 2001-07-02
-      - 2001-08-12
-      - 2001-08-14
-    ?
-        - Detroit Tigers
-        - Chicago Cubs
-    :
-      - 2001-07-23
-perl-busted: >
-    YAML.pm will be able to emulate this behavior soon. In this regard
-    it may be somewhat more correct than Python's native behaviour which
-    can only use tuples as mapping keys. PyYAML will also need to figure
-    out some clever way to roundtrip structured keys.
-python: |
-    [
-    {
-        ('New York Yankees', 'Atlanta Braves'):
-            [yaml.timestamp('2001-07-02'),
-             yaml.timestamp('2001-08-12'),
-             yaml.timestamp('2001-08-14')],
-        ('Detroit Tigers', 'Chicago Cubs'):
-        [yaml.timestamp('2001-07-23')]
-    }
-    ]
-ruby: |
-    {
-      [ 'New York Yankees', 'Atlanta Braves' ] =>
-        [ Date.new( 2001, 7, 2 ), Date.new( 2001, 8, 12 ), Date.new( 2001, 8, 14 ) ],
-      [ 'Detroit Tigers', 'Chicago Cubs' ] =>
-        [ Date.new( 2001, 7, 23 ) ]
-    }
-syck: |
-  struct test_node seq1[] = {
-      { T_STR, 0, "New York Yankees" },
-      { T_STR, 0, "Atlanta Braves" },
-      end_node
-  };
-  struct test_node seq2[] = {
-      { T_STR, 0, "2001-07-02" },
-      { T_STR, 0, "2001-08-12" },
-      { T_STR, 0, "2001-08-14" },
-      end_node
-  };
-  struct test_node seq3[] = {
-      { T_STR, 0, "Detroit Tigers" },
-      { T_STR, 0, "Chicago Cubs" },
-      end_node
-  };
-  struct test_node seq4[] = {
-      { T_STR, 0, "2001-07-23" },
-      end_node
-  };
-  struct test_node map[] = {
-      { T_SEQ, 0, 0, seq1 },
-      { T_SEQ, 0, 0, seq2 },
-      { T_SEQ, 0, 0, seq3 },
-      { T_SEQ, 0, 0, seq4 },
-      end_node
-  };
-  struct test_node stream[] = {
-      { T_MAP, 0, 0, map },
-      end_node
-  };
-
----
-test: Sequence of sequences
-spec: 2.5
-yaml: |
-  - [ name         , hr , avg   ]
-  - [ Mark McGwire , 65 , 0.278 ]
-  - [ Sammy Sosa   , 63 , 0.288 ]
-php: |
-  array(
-    array( 'name', 'hr', 'avg' ),
-    array( 'Mark McGwire', 65, 0.278 ),
-    array( 'Sammy Sosa', 63, 0.288 )
-  )
----
-test: Mapping of mappings
-todo: true
-spec: 2.6
-yaml: |
-  Mark McGwire: {hr: 65, avg: 0.278}
-  Sammy Sosa: {
-      hr: 63,
-      avg: 0.288
-    }
-php: |
-  array(
-    'Mark McGwire' =>
-      array( 'hr' => 65, 'avg' => 0.278 ),
-    'Sammy Sosa' =>
-      array( 'hr' => 63, 'avg' => 0.288 )
-  )
----
-test: Two documents in a stream each with a leading comment
-todo: true
-spec: 2.7
-yaml: |
-  # Ranking of 1998 home runs
-  ---
-  - Mark McGwire
-  - Sammy Sosa
-  - Ken Griffey
-
-  # Team ranking
-  ---
-  - Chicago Cubs
-  - St Louis Cardinals
-ruby: |
-  y = YAML::Stream.new
-  y.add( [ 'Mark McGwire', 'Sammy Sosa', 'Ken Griffey' ] )
-  y.add( [ 'Chicago Cubs', 'St Louis Cardinals' ] )
-documents: 2
-
----
-test: Play by play feed from a game
-todo: true
-spec: 2.8
-yaml: |
-  ---
-  time: 20:03:20
-  player: Sammy Sosa
-  action: strike (miss)
-  ...
-  ---
-  time: 20:03:47
-  player: Sammy Sosa
-  action: grand slam
-  ...
-perl: |
-  [ 'Mark McGwire', 'Sammy Sosa', 'Ken Griffey' ]
-documents: 2
-
----
-test: Single document with two comments
-spec: 2.9
-yaml: |
-  hr: # 1998 hr ranking
-    - Mark McGwire
-    - Sammy Sosa
-  rbi:
-    # 1998 rbi ranking
-    - Sammy Sosa
-    - Ken Griffey
-php: |
-  array(
-    'hr' => array( 'Mark McGwire', 'Sammy Sosa' ),
-    'rbi' => array( 'Sammy Sosa', 'Ken Griffey' )
-  )
----
-test: Node for Sammy Sosa appears twice in this document
-spec: 2.10
-yaml: |
-   ---
-   hr:
-      - Mark McGwire
-      # Following node labeled SS
-      - &SS Sammy Sosa
-   rbi:
-      - *SS # Subsequent occurance
-      - Ken Griffey
-php: |
-   array(
-      'hr' =>
-         array('Mark McGwire', 'Sammy Sosa'),
-      'rbi' =>
-         array('Sammy Sosa', 'Ken Griffey')
-   )
----
-test: Mapping between sequences
-todo: true
-spec: 2.11
-yaml: |
-   ? # PLAY SCHEDULE
-     - Detroit Tigers
-     - Chicago Cubs
-   :
-     - 2001-07-23
-
-   ? [ New York Yankees,
-       Atlanta Braves ]
-   : [ 2001-07-02, 2001-08-12,
-       2001-08-14 ]
-ruby: |
-   {
-      [ 'Detroit Tigers', 'Chicago Cubs' ] => [ Date.new( 2001, 7, 23 ) ],
-      [ 'New York Yankees', 'Atlanta Braves' ] => [ Date.new( 2001, 7, 2 ), Date.new( 2001, 8, 12 ), Date.new( 2001, 8, 14 ) ]
-   }
-syck: |
-  struct test_node seq1[] = {
-      { T_STR, 0, "New York Yankees" },
-      { T_STR, 0, "Atlanta Braves" },
-      end_node
-  };
-  struct test_node seq2[] = {
-      { T_STR, 0, "2001-07-02" },
-      { T_STR, 0, "2001-08-12" },
-      { T_STR, 0, "2001-08-14" },
-      end_node
-  };
-  struct test_node seq3[] = {
-      { T_STR, 0, "Detroit Tigers" },
-      { T_STR, 0, "Chicago Cubs" },
-      end_node
-  };
-  struct test_node seq4[] = {
-      { T_STR, 0, "2001-07-23" },
-      end_node
-  };
-  struct test_node map[] = {
-      { T_SEQ, 0, 0, seq3 },
-      { T_SEQ, 0, 0, seq4 },
-      { T_SEQ, 0, 0, seq1 },
-      { T_SEQ, 0, 0, seq2 },
-      end_node
-  };
-  struct test_node stream[] = {
-      { T_MAP, 0, 0, map },
-      end_node
-  };
-
----
-test: Sequence key shortcut
-spec: 2.12
-yaml: |
-  ---
-  # products purchased
-  - item    : Super Hoop
-    quantity: 1
-  - item    : Basketball
-    quantity: 4
-  - item    : Big Shoes
-    quantity: 1
-php: |
-  array (
-    array (
-      'item' => 'Super Hoop',
-      'quantity' => 1,
-    ),
-    array (
-      'item' => 'Basketball',
-      'quantity' => 4,
-    ),
-    array (
-      'item' => 'Big Shoes',
-      'quantity' => 1,
-    )
-  )
-perl: |
-  [
-     { item => 'Super Hoop', quantity => 1 },
-     { item => 'Basketball', quantity => 4 },
-     { item => 'Big Shoes',  quantity => 1 }
-  ]
-
-ruby: |
-  [
-     { 'item' => 'Super Hoop', 'quantity' => 1 },
-     { 'item' => 'Basketball', 'quantity' => 4 },
-     { 'item' => 'Big Shoes', 'quantity' => 1 }
-  ]
-python: |
-  [
-       { 'item': 'Super Hoop', 'quantity': 1 },
-       { 'item': 'Basketball', 'quantity': 4 },
-       { 'item': 'Big Shoes',  'quantity': 1 }
-  ]
-syck: |
-  struct test_node map1[] = {
-      { T_STR, 0, "item" },
-          { T_STR, 0, "Super Hoop" },
-      { T_STR, 0, "quantity" },
-          { T_STR, 0, "1" },
-      end_node
-  };
-  struct test_node map2[] = {
-      { T_STR, 0, "item" },
-          { T_STR, 0, "Basketball" },
-      { T_STR, 0, "quantity" },
-          { T_STR, 0, "4" },
-      end_node
-  };
-  struct test_node map3[] = {
-      { T_STR, 0, "item" },
-          { T_STR, 0, "Big Shoes" },
-      { T_STR, 0, "quantity" },
-          { T_STR, 0, "1" },
-      end_node
-  };
-  struct test_node seq[] = {
-      { T_MAP, 0, 0, map1 },
-      { T_MAP, 0, 0, map2 },
-      { T_MAP, 0, 0, map3 },
-      end_node
-  };
-  struct test_node stream[] = {
-      { T_SEQ, 0, 0, seq },
-      end_node
-  };
-
-
----
-test: Literal perserves newlines
-todo: true
-spec: 2.13
-yaml: |
-  # ASCII Art
-  --- |
-    \//||\/||
-    // ||  ||_
-perl: |
-  "\\//||\\/||\n// ||  ||_\n"
-ruby: |
-  "\\//||\\/||\n// ||  ||_\n"
-python: |
-    [
-        flushLeft(
-        """
-        \//||\/||
-        // ||  ||_
-        """
-        )
-    ]
-syck: |
-  struct test_node stream[] = {
-      { T_STR, 0, "\\//||\\/||\n// ||  ||_\n" },
-      end_node
-  };
-
----
-test: Folded treats newlines as a space
-todo: true
-spec: 2.14
-yaml: |
-  ---
-    Mark McGwire's
-    year was crippled
-    by a knee injury.
-perl: |
-  "Mark McGwire's year was crippled by a knee injury."
-ruby: |
-  "Mark McGwire's year was crippled by a knee injury."
-python: |
-    [ "Mark McGwire's year was crippled by a knee injury." ]
-syck: |
-  struct test_node stream[] = {
-      { T_STR, 0, "Mark McGwire's year was crippled by a knee injury." },
-      end_node
-  };
-
----
-test: Newlines preserved for indented and blank lines
-todo: true
-spec: 2.15
-yaml: |
-  --- >
-   Sammy Sosa completed another
-   fine season with great stats.
-
-     63 Home Runs
-     0.288 Batting Average
-
-   What a year!
-perl: |
-  "Sammy Sosa completed another fine season with great stats.\n\n  63 Home Runs\n  0.288 Batting Average\n\nWhat a year!\n"
-ruby: |
-  "Sammy Sosa completed another fine season with great stats.\n\n  63 Home Runs\n  0.288 Batting Average\n\nWhat a year!\n"
-python: |
-    [
-        flushLeft(
-        """
-        Sammy Sosa completed another fine season with great stats.
-
-          63 Home Runs
-          0.288 Batting Average
-
-        What a year!
-        """
-        )
-    ]
-syck: |
-  struct test_node stream[] = {
-      { T_STR, 0, "Sammy Sosa completed another fine season with great stats.\n\n  63 Home Runs\n  0.288 Batting Average\n\nWhat a year!\n" },
-      end_node
-  };
-
-
----
-test: Indentation determines scope
-spec: 2.16
-yaml: |
-  name: Mark McGwire
-  accomplishment: >
-     Mark set a major league
-     home run record in 1998.
-  stats: |
-     65 Home Runs
-     0.278 Batting Average
-php: |
-  array(
-    'name'           => 'Mark McGwire',
-    'accomplishment' => "Mark set a major league home run record in 1998.\n",
-    'stats'          => "65 Home Runs\n0.278 Batting Average\n"
-  )
----
-test: Quoted scalars
-todo: true
-spec: 2.17
-yaml: |
-  unicode: "Sosa did fine.\u263A"
-  control: "\b1998\t1999\t2000\n"
-  hexesc:  "\x0D\x0A is \r\n"
-
-  single: '"Howdy!" he cried.'
-  quoted: ' # not a ''comment''.'
-  tie-fighter: '|\-*-/|'
-ruby: |
-  {
-    "tie-fighter" => "|\\-*-/|",
-    "control"=>"\0101998\t1999\t2000\n",
-    "unicode"=>"Sosa did fine." + ["263A".hex ].pack('U*'),
-    "quoted"=>" # not a 'comment'.",
-    "single"=>"\"Howdy!\" he cried.",
-    "hexesc"=>"\r\n is \r\n"
-  }
----
-test: Multiline flow scalars
-todo: true
-spec: 2.18
-yaml: |
-  plain:
-    This unquoted scalar
-    spans many lines.
-
-  quoted: "So does this
-    quoted scalar.\n"
-ruby: |
-  {
-    'plain' => 'This unquoted scalar spans many lines.',
-    'quoted' => "So does this quoted scalar.\n"
-  }
----
-test: Integers
-spec: 2.19
-yaml: |
-  canonical: 12345
-  decimal: +12,345
-  octal: 014
-  hexadecimal: 0xC
-php: |
-  array(
-    'canonical' => 12345,
-    'decimal' => 12345,
-    'octal' => 014,
-    'hexadecimal' => 0xC
-  )
----
-# FIX: spec shows parens around -inf and NaN
-test: Floating point
-spec: 2.20
-yaml: |
-  canonical: 1.23015e+3
-  exponential: 12.3015e+02
-  fixed: 1,230.15
-  negative infinity: -.inf
-  not a number: .NaN
-php: |
-  array(
-    'canonical' => 1230.15,
-    'exponential' => 1230.15,
-    'fixed' => 1230.15,
-    'negative infinity' => log(0),
-    'not a number' => -log(0),
-  )
----
-test: Miscellaneous
-spec: 2.21
-yaml: |
-  null: ~
-  true: true
-  false: false
-  string: '12345'
-php: |
-  array(
-    '' => null,
-    1 => true,
-    0 => false,
-    'string' => '12345'
-  )
----
-test: Timestamps
-todo: true
-spec: 2.22
-yaml: |
-  canonical: 2001-12-15T02:59:43.1Z
-  iso8601:  2001-12-14t21:59:43.10-05:00
-  spaced:  2001-12-14 21:59:43.10 -05:00
-  date:   2002-12-14 # Time is noon UTC
-php: |
-  array(
-    'canonical' => YAML::mktime( 2001, 12, 15, 2, 59, 43, 0.10 ),
-    'iso8601' => YAML::mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ),
-    'spaced' => YAML::mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ),
-    'date' => Date.new( 2002, 12, 14 )
-  )
----
-test: legacy Timestamps test
-todo: true
-spec: legacy D4
-yaml: |
-    canonical: 2001-12-15T02:59:43.00Z
-    iso8601:  2001-02-28t21:59:43.00-05:00
-    spaced:  2001-12-14 21:59:43.00 -05:00
-    date:   2002-12-14
-php: |
-   array(
-     'canonical' => Time::utc( 2001, 12, 15, 2, 59, 43, 0 ),
-     'iso8601' => YAML::mktime( 2001, 2, 28, 21, 59, 43, 0, "-05:00" ),
-     'spaced' => YAML::mktime( 2001, 12, 14, 21, 59, 43, 0, "-05:00" ),
-     'date' => Date.new( 2002, 12, 14 )
-   )
----
-test: Various explicit families
-todo: true
-spec: 2.23
-yaml: |
-  not-date: !str 2002-04-28
-  picture: !binary |
-   R0lGODlhDAAMAIQAAP//9/X
-   17unp5WZmZgAAAOfn515eXv
-   Pz7Y6OjuDg4J+fn5OTk6enp
-   56enmleECcgggoBADs=
-
-  application specific tag: !!something |
-   The semantics of the tag
-   above may be different for
-   different documents.
-
-ruby-setup: |
-  YAML.add_private_type( "something" ) do |type, val|
-    "SOMETHING: #{val}"
-  end
-ruby: |
-  {
-    'not-date' => '2002-04-28',
-    'picture' => "GIF89a\f\000\f\000\204\000\000\377\377\367\365\365\356\351\351\345fff\000\000\000\347\347\347^^^\363\363\355\216\216\216\340\340\340\237\237\237\223\223\223\247\247\247\236\236\236i^\020' \202\n\001\000;",
-    'application specific tag' => "SOMETHING: The semantics of the tag\nabove may be different for\ndifferent documents.\n"
-  }
----
-test: Application specific family
-todo: true
-spec: 2.24
-yaml: |
-  # Establish a tag prefix
-  --- !clarkevans.com,2002/graph/^shape
-    # Use the prefix: shorthand for
-    # !clarkevans.com,2002/graph/circle
-  - !^circle
-    center: &ORIGIN {x: 73, 'y': 129}
-    radius: 7
-  - !^line # !clarkevans.com,2002/graph/line
-    start: *ORIGIN
-    finish: { x: 89, 'y': 102 }
-  - !^label
-    start: *ORIGIN
-    color: 0xFFEEBB
-    value: Pretty vector drawing.
-ruby-setup: |
-  YAML.add_domain_type( "clarkevans.com,2002", 'graph/shape' ) { |type, val|
-    if Array === val
-      val << "Shape Container"
-      val
-    else
-      raise YAML::Error, "Invalid graph of class #{ val.class }: " + val.inspect
-    end
-  }
-  one_shape_proc = Proc.new { |type, val|
-    scheme, domain, type = type.split( /:/, 3 )
-    if val.is_a? ::Hash
-      val['TYPE'] = "Shape: #{type}"
-      val
-    else
-      raise YAML::Error, "Invalid graph of class #{ val.class }: " + val.inspect
-    end
-  }
-  YAML.add_domain_type( "clarkevans.com,2002", 'graph/circle', &one_shape_proc )
-  YAML.add_domain_type( "clarkevans.com,2002", 'graph/line', &one_shape_proc )
-  YAML.add_domain_type( "clarkevans.com,2002", 'graph/label', &one_shape_proc )
-ruby: |
-  [
-    {
-      "radius" => 7,
-      "center"=>
-      {
-        "x" => 73,
-        "y" => 129
-      },
-      "TYPE" => "Shape: graph/circle"
-    }, {
-      "finish" =>
-      {
-        "x" => 89,
-        "y" => 102
-      },
-      "TYPE" => "Shape: graph/line",
-      "start" =>
-      {
-        "x" => 73,
-        "y" => 129
-      }
-    }, {
-      "TYPE" => "Shape: graph/label",
-      "value" => "Pretty vector drawing.",
-      "start" =>
-      {
-        "x" => 73,
-        "y" => 129
-      },
-      "color" => 16772795
-    },
-    "Shape Container"
-  ]
-# ---
-# test: Unordered set
-# spec: 2.25
-# yaml: |
-#   # sets are represented as a
-#   # mapping where each key is
-#   # associated with the empty string
-#   --- !set
-#   ? Mark McGwire
-#   ? Sammy Sosa
-#   ? Ken Griff
----
-test: Ordered mappings
-todo: true
-spec: 2.26
-yaml: |
-  # ordered maps are represented as
-  # a sequence of mappings, with
-  # each mapping having one key
-  --- !omap
-  - Mark McGwire: 65
-  - Sammy Sosa: 63
-  - Ken Griffy: 58
-ruby: |
-  YAML::Omap[
-    'Mark McGwire', 65,
-    'Sammy Sosa', 63,
-    'Ken Griffy', 58
-  ]
----
-test: Invoice
-dump_skip: true
-spec: 2.27
-yaml: |
-  --- !clarkevans.com,2002/^invoice
-  invoice: 34843
-  date   : 2001-01-23
-  bill-to: &id001
-      given  : Chris
-      family : Dumars
-      address:
-          lines: |
-              458 Walkman Dr.
-              Suite #292
-          city    : Royal Oak
-          state   : MI
-          postal  : 48046
-  ship-to: *id001
-  product:
-      -
-        sku         : BL394D
-        quantity    : 4
-        description : Basketball
-        price       : 450.00
-      -
-        sku         : BL4438H
-        quantity    : 1
-        description : Super Hoop
-        price       : 2392.00
-  tax  : 251.42
-  total: 4443.52
-  comments: >
-    Late afternoon is best.
-    Backup contact is Nancy
-    Billsmer @ 338-4338.
-php: |
-  array(
-     'invoice' => 34843, 'date' => mktime(0, 0, 0, 1, 23, 2001),
-     'bill-to' =>
-      array( 'given' => 'Chris', 'family' => 'Dumars', 'address' => array( 'lines' => "458 Walkman Dr.\nSuite #292\n", 'city' => 'Royal Oak', 'state' => 'MI', 'postal' => 48046 ) )
-     , 'ship-to' =>
-      array( 'given' => 'Chris', 'family' => 'Dumars', 'address' => array( 'lines' => "458 Walkman Dr.\nSuite #292\n", 'city' => 'Royal Oak', 'state' => 'MI', 'postal' => 48046 ) )
-     , 'product' =>
-       array(
-        array( 'sku' => 'BL394D', 'quantity' => 4, 'description' => 'Basketball', 'price' => 450.00 ),
-        array( 'sku' => 'BL4438H', 'quantity' => 1, 'description' => 'Super Hoop', 'price' => 2392.00 )
-      ),
-     'tax' => 251.42, 'total' => 4443.52,
-     'comments' => "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.\n"
-  )
----
-test: Log file
-todo: true
-spec: 2.28
-yaml: |
-  ---
-  Time: 2001-11-23 15:01:42 -05:00
-  User: ed
-  Warning: >
-    This is an error message
-    for the log file
-  ---
-  Time: 2001-11-23 15:02:31 -05:00
-  User: ed
-  Warning: >
-    A slightly different error
-    message.
-  ---
-  Date: 2001-11-23 15:03:17 -05:00
-  User: ed
-  Fatal: >
-    Unknown variable "bar"
-  Stack:
-    - file: TopClass.py
-      line: 23
-      code: |
-        x = MoreObject("345\n")
-    - file: MoreClass.py
-      line: 58
-      code: |-
-        foo = bar
-ruby: |
-  y = YAML::Stream.new
-  y.add( { 'Time' => YAML::mktime( 2001, 11, 23, 15, 01, 42, 00, "-05:00" ),
-           'User' => 'ed', 'Warning' => "This is an error message for the log file\n" } )
-  y.add( { 'Time' => YAML::mktime( 2001, 11, 23, 15, 02, 31, 00, "-05:00" ),
-           'User' => 'ed', 'Warning' => "A slightly different error message.\n" } )
-  y.add( { 'Date' => YAML::mktime( 2001, 11, 23, 15, 03, 17, 00, "-05:00" ),
-           'User' => 'ed', 'Fatal' => "Unknown variable \"bar\"\n",
-           'Stack' => [
-           { 'file' => 'TopClass.py', 'line' => 23, 'code' => "x = MoreObject(\"345\\n\")\n" },
-           { 'file' => 'MoreClass.py', 'line' => 58, 'code' => "foo = bar" } ] } )
-documents: 3
-
----
-test: Throwaway comments
-yaml: |
-   ### These are four throwaway comment  ###
-
-   ### lines (the second line is empty). ###
-   this: |   # Comments may trail lines.
-      contains three lines of text.
-      The third one starts with a
-      # character. This isn't a comment.
-
-   # These are three throwaway comment
-   # lines (the first line is empty).
-php: |
-   array(
-     'this' => "contains three lines of text.\nThe third one starts with a\n# character. This isn't a comment.\n"
-   )
----
-test: Document with a single value
-todo: true
-yaml: |
-   --- >
-   This YAML stream contains a single text value.
-   The next stream is a log file - a sequence of
-   log entries. Adding an entry to the log is a
-   simple matter of appending it at the end.
-ruby: |
-   "This YAML stream contains a single text value. The next stream is a log file - a sequence of log entries. Adding an entry to the log is a simple matter of appending it at the end.\n"
----
-test: Document stream
-todo: true
-yaml: |
-   ---
-   at: 2001-08-12 09:25:00.00 Z
-   type: GET
-   HTTP: '1.0'
-   url: '/index.html'
-   ---
-   at: 2001-08-12 09:25:10.00 Z
-   type: GET
-   HTTP: '1.0'
-   url: '/toc.html'
-ruby: |
-   y = YAML::Stream.new
-   y.add( {
-      'at' => Time::utc( 2001, 8, 12, 9, 25, 00 ),
-      'type' => 'GET',
-      'HTTP' => '1.0',
-      'url' => '/index.html'
-   } )
-   y.add( {
-      'at' => Time::utc( 2001, 8, 12, 9, 25, 10 ),
-      'type' => 'GET',
-      'HTTP' => '1.0',
-      'url' => '/toc.html'
-   } )
-documents: 2
-
----
-test: Top level mapping
-yaml: |
-   # This stream is an example of a top-level mapping.
-   invoice : 34843
-   date    : 2001-01-23
-   total   : 4443.52
-php: |
-   array(
-      'invoice' => 34843,
-      'date' => mktime(0, 0, 0, 1, 23, 2001),
-      'total' => 4443.52
-   )
----
-test: Single-line documents
-todo: true
-yaml: |
-  # The following is a sequence of three documents.
-  # The first contains an empty mapping, the second
-  # an empty sequence, and the last an empty string.
-  --- {}
-  --- [ ]
-  --- ''
-ruby: |
-  y = YAML::Stream.new
-  y.add( {} )
-  y.add( [] )
-  y.add( '' )
-documents: 3
-
----
-test: Document with pause
-todo: true
-yaml: |
-  # A communication channel based on a YAML stream.
-  ---
-  sent at: 2002-06-06 11:46:25.10 Z
-  payload: Whatever
-  # Receiver can process this as soon as the following is sent:
-  ...
-  # Even if the next message is sent long after:
-  ---
-  sent at: 2002-06-06 12:05:53.47 Z
-  payload: Whatever
-  ...
-ruby: |
-  y = YAML::Stream.new
-  y.add(
-    { 'sent at' => YAML::mktime( 2002, 6, 6, 11, 46, 25, 0.10 ),
-      'payload' => 'Whatever' }
-  )
-  y.add(
-    { "payload" => "Whatever", "sent at" => YAML::mktime( 2002, 6, 6, 12, 5, 53, 0.47 ) }
-  )
-documents: 2
-
----
-test: Explicit typing
-yaml: |
-   integer: 12
-   also int: ! "12"
-   string: !str 12
-php: |
-   array( 'integer' => 12, 'also int' => 12, 'string' => '12' )
----
-test: Private types
-todo: true
-yaml: |
-  # Both examples below make use of the 'x-private:ball'
-  # type family URI, but with different semantics.
-  ---
-  pool: !!ball
-    number: 8
-    color: black
-  ---
-  bearing: !!ball
-    material: steel
-ruby: |
-  y = YAML::Stream.new
-  y.add( { 'pool' =>
-    YAML::PrivateType.new( 'ball',
-      { 'number' => 8, 'color' => 'black' } ) }
-  )
-  y.add( { 'bearing' =>
-    YAML::PrivateType.new( 'ball',
-      { 'material' => 'steel' } ) }
-  )
-documents: 2
-
----
-test: Type family under yaml.org
-yaml: |
-  # The URI is 'tag:yaml.org,2002:str'
-  - !str a Unicode string
-php: |
-  array( 'a Unicode string' )
----
-test: Type family under perl.yaml.org
-todo: true
-yaml: |
-  # The URI is 'tag:perl.yaml.org,2002:Text::Tabs'
-  - !perl/Text::Tabs {}
-ruby: |
-  [ YAML::DomainType.new( 'perl.yaml.org,2002', 'Text::Tabs', {} ) ]
----
-test: Type family under clarkevans.com
-todo: true
-yaml: |
-  # The URI is 'tag:clarkevans.com,2003-02:timesheet'
-  - !clarkevans.com,2003-02/timesheet {}
-ruby: |
-  [ YAML::DomainType.new( 'clarkevans.com,2003-02', 'timesheet', {} ) ]
----
-test: URI Escaping
-todo: true
-yaml: |
-  same:
-    - !domain.tld,2002/type\x30 value
-    - !domain.tld,2002/type0 value
-  different: # As far as the YAML parser is concerned
-    - !domain.tld,2002/type%30 value
-    - !domain.tld,2002/type0 value
-ruby-setup: |
-  YAML.add_domain_type( "domain.tld,2002", "type0" ) { |type, val|
-    "ONE: #{val}"
-  }
-  YAML.add_domain_type( "domain.tld,2002", "type%30" ) { |type, val|
-    "TWO: #{val}"
-  }
-ruby: |
-  { 'same' => [ 'ONE: value', 'ONE: value' ], 'different' => [ 'TWO: value', 'ONE: value' ] }
----
-test: URI Prefixing
-todo: true
-yaml: |
-  # 'tag:domain.tld,2002:invoice' is some type family.
-  invoice: !domain.tld,2002/^invoice
-    # 'seq' is shorthand for 'tag:yaml.org,2002:seq'.
-    # This does not effect '^customer' below
-    # because it is does not specify a prefix.
-    customers: !seq
-      # '^customer' is shorthand for the full
-      # notation 'tag:domain.tld,2002:customer'.
-      - !^customer
-        given : Chris
-        family : Dumars
-ruby-setup: |
-  YAML.add_domain_type( "domain.tld,2002", /(invoice|customer)/ ) { |type, val|
-    if val.is_a? ::Hash
-      scheme, domain, type = type.split( /:/, 3 )
-      val['type'] = "domain #{type}"
-      val
-    else
-      raise YAML::Error, "Not a Hash in domain.tld/invoice: " + val.inspect
-    end
-  }
-ruby: |
-  { "invoice"=> { "customers"=> [ { "given"=>"Chris", "type"=>"domain customer", "family"=>"Dumars" } ], "type"=>"domain invoice" } }
-
----
-test: Overriding anchors
-yaml: |
-  anchor : &A001 This scalar has an anchor.
-  override : &A001 >
-   The alias node below is a
-   repeated use of this value.
-  alias : *A001
-php: |
-  array( 'anchor' => 'This scalar has an anchor.',
-    'override' => "The alias node below is a repeated use of this value.\n",
-    'alias' => "The alias node below is a repeated use of this value.\n" )
----
-test: Flow and block formatting
-todo: true
-yaml: |
-  empty: []
-  flow: [ one, two, three # May span lines,
-           , four,           # indentation is
-             five ]          # mostly ignored.
-  block:
-   - First item in top sequence
-   -
-    - Subordinate sequence entry
-   - >
-     A folded sequence entry
-   - Sixth item in top sequence
-ruby: |
-  { 'empty' => [], 'flow' => [ 'one', 'two', 'three', 'four', 'five' ],
-    'block' => [ 'First item in top sequence', [ 'Subordinate sequence entry' ],
-    "A folded sequence entry\n", 'Sixth item in top sequence' ] }
----
-test: Complete mapping test
-todo: true
-yaml: |
- empty: {}
- flow: { one: 1, two: 2 }
- spanning: { one: 1,
-    two: 2 }
- block:
-  first : First entry
-  second:
-   key: Subordinate mapping
-  third:
-   - Subordinate sequence
-   - { }
-   - Previous mapping is empty.
-   - A key: value pair in a sequence.
-     A second: key:value pair.
-   - The previous entry is equal to the following one.
-   -
-     A key: value pair in a sequence.
-     A second: key:value pair.
-  !float 12 : This key is a float.
-  ? >
-   ?
-  : This key had to be protected.
-  "\a" : This key had to be escaped.
-  ? >
-   This is a
-   multi-line
-   folded key
-  : Whose value is
-    also multi-line.
-  ? this also works as a key
-  : with a value at the next line.
-  ?
-   - This key
-   - is a sequence
-  :
-   - With a sequence value.
-  ?
-   This: key
-   is a: mapping
-  :
-   with a: mapping value.
-ruby: |
-  { 'empty' => {}, 'flow' => { 'one' => 1, 'two' => 2 },
-    'spanning' => { 'one' => 1, 'two' => 2 },
-    'block' => { 'first' => 'First entry', 'second' =>
-    { 'key' => 'Subordinate mapping' }, 'third' =>
-      [ 'Subordinate sequence', {}, 'Previous mapping is empty.',
-        { 'A key' => 'value pair in a sequence.', 'A second' => 'key:value pair.' },
-        'The previous entry is equal to the following one.',
-        { 'A key' => 'value pair in a sequence.', 'A second' => 'key:value pair.' } ],
-    12.0 => 'This key is a float.', "?\n" => 'This key had to be protected.',
-    "\a" => 'This key had to be escaped.',
-    "This is a multi-line folded key\n" => "Whose value is also multi-line.",
-    'this also works as a key' => 'with a value at the next line.',
-    [ 'This key', 'is a sequence' ] => [ 'With a sequence value.' ] } }
-  # Couldn't recreate map exactly, so we'll do a detailed check to be sure it's entact
-  obj_y['block'].keys.each { |k|
-    if Hash === k
-      v = obj_y['block'][k]
-      if k['This'] == 'key' and k['is a'] == 'mapping' and v['with a'] == 'mapping value.'
-         obj_r['block'][k] = v
-      end
-    end
-  }
----
-test: Literal explicit indentation
-yaml: |
-   # Explicit indentation must
-   # be given in all the three
-   # following cases.
-   leading spaces: |2
-         This value starts with four spaces.
-
-   leading line break: |2
-
-     This value starts with a line break.
-
-   leading comment indicator: |2
-     # first line starts with a
-     # character.
-
-   # Explicit indentation may
-   # also be given when it is
-   # not required.
-   redundant: |2
-     This value is indented 2 spaces.
-php: |
-   array(
-      'leading spaces' => "    This value starts with four spaces.\n",
-      'leading line break' => "\nThis value starts with a line break.\n",
-      'leading comment indicator' => "# first line starts with a\n# character.\n",
-      'redundant' => "This value is indented 2 spaces.\n"
-   )
----
-test: Chomping and keep modifiers
-yaml: |
-    clipped: |
-        This has one newline.
-
-    same as "clipped" above: "This has one newline.\n"
-
-    stripped: |-
-        This has no newline.
-
-    same as "stripped" above: "This has no newline."
-
-    kept: |+
-        This has two newlines.
-
-    same as "kept" above: "This has two newlines.\n\n"
-php: |
-    array(
-      'clipped' => "This has one newline.\n",
-      'same as "clipped" above' => "This has one newline.\n",
-      'stripped' => 'This has no newline.',
-      'same as "stripped" above' => 'This has no newline.',
-      'kept' => "This has two newlines.\n\n",
-      'same as "kept" above' => "This has two newlines.\n\n"
-    )
----
-test: Literal combinations
-todo: true
-yaml: |
-   empty: |
-
-   literal: |
-    The \ ' " characters may be
-    freely used. Leading white
-       space is significant.
-
-    Line breaks are significant.
-    Thus this value contains one
-    empty line and ends with a
-    single line break, but does
-    not start with one.
-
-   is equal to: "The \\ ' \" characters may \
-    be\nfreely used. Leading white\n   space \
-    is significant.\n\nLine breaks are \
-    significant.\nThus this value contains \
-    one\nempty line and ends with a\nsingle \
-    line break, but does\nnot start with one.\n"
-
-   # Comments may follow a block
-   # scalar value. They must be
-   # less indented.
-
-   # Modifiers may be combined in any order.
-   indented and chomped: |2-
-       This has no newline.
-
-   also written as: |-2
-       This has no newline.
-
-   both are equal to: "  This has no newline."
-php: |
-   array(
-     'empty' => '',
-     'literal' => "The \\ ' \" characters may be\nfreely used. Leading white\n   space " +
-       "is significant.\n\nLine breaks are significant.\nThus this value contains one\n" +
-       "empty line and ends with a\nsingle line break, but does\nnot start with one.\n",
-     'is equal to' => "The \\ ' \" characters may be\nfreely used. Leading white\n   space " +
-       "is significant.\n\nLine breaks are significant.\nThus this value contains one\n" +
-       "empty line and ends with a\nsingle line break, but does\nnot start with one.\n",
-     'indented and chomped' => '  This has no newline.',
-     'also written as' => '  This has no newline.',
-     'both are equal to' => '  This has no newline.'
-   )
----
-test: Folded combinations
-todo: true
-yaml: |
-   empty: >
-
-   one paragraph: >
-    Line feeds are converted
-    to spaces, so this value
-    contains no line breaks
-    except for the final one.
-
-   multiple paragraphs: >2
-
-     An empty line, either
-     at the start or in
-     the value:
-
-     Is interpreted as a
-     line break. Thus this
-     value contains three
-     line breaks.
-
-   indented text: >
-       This is a folded
-       paragraph followed
-       by a list:
-        * first entry
-        * second entry
-       Followed by another
-       folded paragraph,
-       another list:
-
-        * first entry
-
-        * second entry
-
-       And a final folded
-       paragraph.
-
-   above is equal to: |
-       This is a folded paragraph followed by a list:
-        * first entry
-        * second entry
-       Followed by another folded paragraph, another list:
-
-        * first entry
-
-        * second entry
-
-       And a final folded paragraph.
-
-   # Explicit comments may follow
-   # but must be less indented.
-php: |
-   array(
-     'empty' => '',
-     'one paragraph' => 'Line feeds are converted to spaces, so this value'.
-       " contains no line breaks except for the final one.\n",
-     'multiple paragraphs' => "\nAn empty line, either at the start or in the value:\n".
-       "Is interpreted as a line break. Thus this value contains three line breaks.\n",
-     'indented text' => "This is a folded paragraph followed by a list:\n".
-       " * first entry\n * second entry\nFollowed by another folded paragraph, ".
-       "another list:\n\n * first entry\n\n * second entry\n\nAnd a final folded paragraph.\n",
-     'above is equal to' => "This is a folded paragraph followed by a list:\n".
-       " * first entry\n * second entry\nFollowed by another folded paragraph, ".
-       "another list:\n\n * first entry\n\n * second entry\n\nAnd a final folded paragraph.\n"
-   )
----
-test: Single quotes
-todo: true
-yaml: |
-   empty: ''
-   second: '! : \ etc. can be used freely.'
-   third: 'a single quote '' must be escaped.'
-   span: 'this contains
-         six spaces
-
-         and one
-         line break'
-   is same as: "this contains six spaces\nand one line break"
-php: |
-   array(
-     'empty' => '',
-     'second' => '! : \\ etc. can be used freely.',
-     'third' => "a single quote ' must be escaped.",
-     'span' => "this contains six spaces\nand one line break",
-     'is same as' => "this contains six spaces\nand one line break"
-   )
----
-test: Double quotes
-todo: true
-yaml: |
-   empty: ""
-   second: "! : etc. can be used freely."
-   third: "a \" or a \\ must be escaped."
-   fourth: "this value ends with an LF.\n"
-   span: "this contains
-     four  \
-         spaces"
-   is equal to: "this contains four  spaces"
-php: |
-   array(
-     'empty' => '',
-     'second' => '! : etc. can be used freely.',
-     'third' => 'a " or a \\ must be escaped.',
-     'fourth' => "this value ends with an LF.\n",
-     'span' => "this contains four  spaces",
-     'is equal to' => "this contains four  spaces"
-   )
----
-test: Unquoted strings
-todo: true
-yaml: |
-   first: There is no unquoted empty string.
-
-   second: 12          ## This is an integer.
-
-   third: !str 12      ## This is a string.
-
-   span: this contains
-         six spaces
-
-         and one
-         line break
-
-   indicators: this has no comments.
-               #:foo and bar# are
-               both text.
-
-   flow: [ can span
-              lines, # comment
-              like
-              this ]
-
-   note: { one-line keys: but multi-line values }
-
-php: |
-   array(
-     'first' => 'There is no unquoted empty string.',
-     'second' => 12,
-     'third' => '12',
-     'span' => "this contains six spaces\nand one line break",
-     'indicators' => "this has no comments. #:foo and bar# are both text.",
-     'flow' => [ 'can span lines', 'like this' ],
-     'note' => { 'one-line keys' => 'but multi-line values' }
-   )
----
-test: Spanning sequences
-todo: true
-yaml: |
-   # The following are equal seqs
-   # with different identities.
-   flow: [ one, two ]
-   spanning: [ one,
-        two ]
-   block:
-     - one
-     - two
-php: |
-   array(
-     'flow' => [ 'one', 'two' ],
-     'spanning' => [ 'one', 'two' ],
-     'block' => [ 'one', 'two' ]
-   )
----
-test: Flow mappings
-yaml: |
-   # The following are equal maps
-   # with different identities.
-   flow: { one: 1, two: 2 }
-   block:
-       one: 1
-       two: 2
-php: |
-   array(
-     'flow' => array( 'one' => 1, 'two' => 2 ),
-     'block' => array( 'one' => 1, 'two' => 2 )
-   )
----
-test: Representations of 12
-todo: true
-yaml: |
-   - 12 # An integer
-   # The following scalars
-   # are loaded to the
-   # string value '1' '2'.
-   - !str 12
-   - '12'
-   - "12"
-   - "\
-     1\
-     2\
-     "
-   # Strings containing paths and regexps can be unquoted:
-   - /foo/bar
-   - d:/foo/bar
-   - foo/bar
-   - /a.*b/
-php: |
-   array( 12, '12', '12', '12', '12', '/foo/bar', 'd:/foo/bar', 'foo/bar', '/a.*b/' )
----
-test: "Null"
-todo: true
-yaml: |
-   canonical: ~
-
-   english: null
-
-   # This sequence has five
-   # entries, two with values.
-   sparse:
-     - ~
-     - 2nd entry
-     - Null
-     - 4th entry
-     -
-
-   four: This mapping has five keys,
-         only two with values.
-
-php: |
-   array (
-     'canonical' => null,
-     'english' => null,
-     'sparse' => array( null, '2nd entry', null, '4th entry', null ]),
-     'four' => 'This mapping has five keys, only two with values.'
-   )
----
-test: Omap
-todo: true
-yaml: |
-   # Explicitly typed dictionary.
-   Bestiary: !omap
-     - aardvark: African pig-like ant eater. Ugly.
-     - anteater: South-American ant eater. Two species.
-     - anaconda: South-American constrictor snake. Scary.
-     # Etc.
-ruby: |
-   {
-     'Bestiary' => YAML::Omap[
-       'aardvark', 'African pig-like ant eater. Ugly.',
-       'anteater', 'South-American ant eater. Two species.',
-       'anaconda', 'South-American constrictor snake. Scary.'
-     ]
-   }
-
----
-test: Pairs
-todo: true
-yaml: |
-  # Explicitly typed pairs.
-  tasks: !pairs
-    - meeting: with team.
-    - meeting: with boss.
-    - break: lunch.
-    - meeting: with client.
-ruby: |
-  {
-    'tasks' => YAML::Pairs[
-      'meeting', 'with team.',
-      'meeting', 'with boss.',
-      'break', 'lunch.',
-      'meeting', 'with client.'
-    ]
-  }
-
----
-test: Set
-todo: true
-yaml: |
-  # Explicitly typed set.
-  baseball players: !set
-    Mark McGwire:
-    Sammy Sosa:
-    Ken Griffey:
-ruby: |
-  {
-    'baseball players' => YAML::Set[
-      'Mark McGwire', nil,
-      'Sammy Sosa', nil,
-      'Ken Griffey', nil
-    ]
-  }
-
----
-test: Boolean
-yaml: |
-   false: used as key
-   logical:  true
-   answer: false
-php: |
-   array(
-     false => 'used as key',
-     'logical' => true,
-     'answer' => false
-   )
----
-test: Integer
-yaml: |
-   canonical: 12345
-   decimal: +12,345
-   octal: 014
-   hexadecimal: 0xC
-php: |
-   array(
-     'canonical' => 12345,
-     'decimal' => 12345,
-     'octal' => 12,
-     'hexadecimal' => 12
-   )
----
-test: Float
-yaml: |
-   canonical: 1.23015e+3
-   exponential: 12.3015e+02
-   fixed: 1,230.15
-   negative infinity: -.inf
-   not a number: .NaN
-php: |
-  array(
-    'canonical' => 1230.15,
-    'exponential' => 1230.15,
-    'fixed' => 1230.15,
-    'negative infinity' => log(0),
-    'not a number' => -log(0)
-  )
----
-test: Timestamp
-todo: true
-yaml: |
-   canonical:       2001-12-15T02:59:43.1Z
-   valid iso8601:   2001-12-14t21:59:43.10-05:00
-   space separated: 2001-12-14 21:59:43.10 -05:00
-   date (noon UTC): 2002-12-14
-ruby: |
-   array(
-     'canonical' => YAML::mktime( 2001, 12, 15, 2, 59, 43, 0.10 ),
-     'valid iso8601' => YAML::mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ),
-     'space separated' => YAML::mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ),
-     'date (noon UTC)' => Date.new( 2002, 12, 14 )
-   )
----
-test: Binary
-todo: true
-yaml: |
-   canonical: !binary "\
-    R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5\
-    OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+\
-    +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC\
-    AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs="
-   base64: !binary |
-    R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5
-    OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+
-    +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC
-    AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs=
-   description: >
-    The binary value above is a tiny arrow
-    encoded as a gif image.
-ruby-setup: |
-   arrow_gif = "GIF89a\f\000\f\000\204\000\000\377\377\367\365\365\356\351\351\345fff\000\000\000\347\347\347^^^\363\363\355\216\216\216\340\340\340\237\237\237\223\223\223\247\247\247\236\236\236iiiccc\243\243\243\204\204\204\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371\377\376\371!\376\016Made with GIMP\000,\000\000\000\000\f\000\f\000\000\005,  \216\2010\236\343@\024\350i\020\304\321\212\010\034\317\200M$z\357\3770\205p\270\2601f\r\e\316\001\303\001\036\020' \202\n\001\000;"
-ruby: |
-   {
-     'canonical' => arrow_gif,
-     'base64' => arrow_gif,
-     'description' => "The binary value above is a tiny arrow encoded as a gif image.\n"
-   }
-
----
-test: Merge key
-todo: true
-yaml: |
-  ---
-  - &CENTER { x: 1, y: 2 }
-  - &LEFT { x: 0, y: 2 }
-  - &BIG { r: 10 }
-  - &SMALL { r: 1 }
-
-  # All the following maps are equal:
-
-  - # Explicit keys
-    x: 1
-    y: 2
-    r: 10
-    label: center/big
-
-  - # Merge one map
-    << : *CENTER
-    r: 10
-    label: center/big
-
-  - # Merge multiple maps
-    << : [ *CENTER, *BIG ]
-    label: center/big
-
-  - # Override
-    << : [ *BIG, *LEFT, *SMALL ]
-    x: 1
-    label: center/big
-
-ruby-setup: |
-  center = { 'x' => 1, 'y' => 2 }
-  left = { 'x' => 0, 'y' => 2 }
-  big = { 'r' => 10 }
-  small = { 'r' => 1 }
-  node1 = { 'x' => 1, 'y' => 2, 'r' => 10, 'label' => 'center/big' }
-  node2 = center.dup
-  node2.update( { 'r' => 10, 'label' => 'center/big' } )
-  node3 = big.dup
-  node3.update( center )
-  node3.update( { 'label' => 'center/big' } )
-  node4 = small.dup
-  node4.update( left )
-  node4.update( big )
-  node4.update( { 'x' => 1, 'label' => 'center/big' } )
-
-ruby: |
-  [
-    center, left, big, small, node1, node2, node3, node4
-  ]
-
----
-test: Default key
-todo: true
-yaml: |
-   ---     # Old schema
-   link with:
-     - library1.dll
-     - library2.dll
-   ---     # New schema
-   link with:
-     - = : library1.dll
-       version: 1.2
-     - = : library2.dll
-       version: 2.3
-ruby: |
-   y = YAML::Stream.new
-   y.add( { 'link with' => [ 'library1.dll', 'library2.dll' ] } )
-   obj_h = Hash[ 'version' => 1.2 ]
-   obj_h.default = 'library1.dll'
-   obj_h2 = Hash[ 'version' => 2.3 ]
-   obj_h2.default = 'library2.dll'
-   y.add( { 'link with' => [ obj_h, obj_h2 ] } )
-documents: 2
-
----
-test: Special keys
-todo: true
-yaml: |
-   "!": These three keys
-   "&": had to be quoted
-   "=": and are normal strings.
-   # NOTE: the following node should NOT be serialized this way.
-   encoded node :
-    !special '!' : '!type'
-    !special|canonical '&' : 12
-    = : value
-   # The proper way to serialize the above node is as follows:
-   node : !!type &12 value
-ruby: |
-   { '!' => 'These three keys', '&' => 'had to be quoted',
-     '=' => 'and are normal strings.',
-     'encoded node' => YAML::PrivateType.new( 'type', 'value' ),
-     'node' => YAML::PrivateType.new( 'type', 'value' ) }
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml
deleted file mode 100644
index 9972c1f..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml
+++ /dev/null
@@ -1,244 +0,0 @@
---- %YAML:1.0
-test: Strings
-brief: >
-    Any group of characters beginning with an
-    alphabetic or numeric character is a string,
-    unless it belongs to one of the groups below
-    (such as an Integer or Time).
-yaml: |
-    String
-php: |
-    'String'
----
-test: String characters
-brief: >
-    A string can contain any alphabetic or
-    numeric character, along with many
-    punctuation characters, including the
-    period, dash, space, quotes, exclamation, and
-    question mark.
-yaml: |
-    - What's Yaml?
-    - It's for writing data structures in plain text.
-    - And?
-    - And what? That's not good enough for you?
-    - No, I mean, "And what about Yaml?"
-    - Oh, oh yeah. Uh.. Yaml for Ruby.
-php: |
-    array(
-      "What's Yaml?",
-      "It's for writing data structures in plain text.",
-      "And?",
-      "And what? That's not good enough for you?",
-      "No, I mean, \"And what about Yaml?\"",
-      "Oh, oh yeah. Uh.. Yaml for Ruby."
-    )
----
-test: Indicators in Strings
-brief: >
-    Be careful using indicators in strings.  In particular,
-    the comma, colon, and pound sign must be used carefully.
-yaml: |
-    the colon followed by space is an indicator: but is a string:right here
-    same for the pound sign: here we have it#in a string
-    the comma can, honestly, be used in most cases: [ but not in, inline collections ]
-php: |
-    array(
-      'the colon followed by space is an indicator' => 'but is a string:right here',
-      'same for the pound sign' => 'here we have it#in a string',
-      'the comma can, honestly, be used in most cases' => array('but not in', 'inline collections')
-    )
----
-test: Forcing Strings
-brief: >
-    Any YAML type can be forced into a string using the
-    explicit !str method.
-yaml: |
-    date string: !str 2001-08-01
-    number string: !str 192
-php: |
-    array(
-      'date string' => '2001-08-01',
-      'number string' => '192'
-    )
----
-test: Single-quoted Strings
-brief: >
-    You can also enclose your strings within single quotes,
-    which allows use of slashes, colons, and other indicators
-    freely.  Inside single quotes, you can represent a single
-    quote in your string by using two single quotes next to
-    each other.
-yaml: |
-    all my favorite symbols: '#:!/%.)'
-    a few i hate: '&(*'
-    why do i hate them?: 'it''s very hard to explain'
-    entities: '&pound; me'
-php: |
-    array(
-      'all my favorite symbols' => '#:!/%.)',
-      'a few i hate' => '&(*',
-      'why do i hate them?' => 'it\'s very hard to explain',
-      'entities' => '&pound; me'
-    )
----
-test: Double-quoted Strings
-brief: >
-    Enclosing strings in double quotes allows you
-    to use escapings to represent ASCII and
-    Unicode characters.
-yaml: |
-    i know where i want my line breaks: "one here\nand another here\n"
-php: |
-    array(
-      'i know where i want my line breaks' => "one here\nand another here\n"
-    )
----
-test: Multi-line Quoted Strings
-todo: true
-brief: >
-    Both single- and double-quoted strings may be
-    carried on to new lines in your YAML document.
-    They must be indented a step and indentation
-    is interpreted as a single space.
-yaml: |
-    i want a long string: "so i'm going to
-      let it go on and on to other lines
-      until i end it with a quote."
-php: |
-    array('i want a long string' => "so i'm going to ".
-         "let it go on and on to other lines ".
-         "until i end it with a quote."
-    )
-
----
-test: Plain scalars
-todo: true
-brief: >
-    Unquoted strings may also span multiple lines, if they
-    are free of YAML space indicators and indented.
-yaml: |
-    - My little toe is broken in two places;
-    - I'm crazy to have skied this way;
-    - I'm not the craziest he's seen, since there was always the German guy
-      who skied for 3 hours on a broken shin bone (just below the kneecap);
-    - Nevertheless, second place is respectable, and he doesn't
-      recommend going for the record;
-    - He's going to put my foot in plaster for a month;
-    - This would impair my skiing ability somewhat for the
-      duration, as can be imagined.
-php: |
-    array(
-      "My little toe is broken in two places;",
-      "I'm crazy to have skied this way;",
-      "I'm not the craziest he's seen, since there was always ".
-         "the German guy who skied for 3 hours on a broken shin ".
-         "bone (just below the kneecap);",
-      "Nevertheless, second place is respectable, and he doesn't ".
-         "recommend going for the record;",
-      "He's going to put my foot in plaster for a month;",
-      "This would impair my skiing ability somewhat for the duration, ".
-         "as can be imagined."
-    )
----
-test: 'Null'
-brief: >
-    You can use the tilde '~' character for a null value.
-yaml: |
-    name: Mr. Show
-    hosted by: Bob and David
-    date of next season: ~
-php: |
-    array(
-      'name' => 'Mr. Show',
-      'hosted by' => 'Bob and David',
-      'date of next season' => null
-    )
----
-test: Boolean
-brief: >
-    You can use 'true' and 'false' for Boolean values.
-yaml: |
-    Is Gus a Liar?: true
-    Do I rely on Gus for Sustenance?: false
-php: |
-    array(
-      'Is Gus a Liar?' => true,
-      'Do I rely on Gus for Sustenance?' => false
-    )
----
-test: Integers
-dump_skip: true
-brief: >
-    An integer is a series of numbers, optionally
-    starting with a positive or negative sign.  Integers
-    may also contain commas for readability.
-yaml: |
-    zero: 0
-    simple: 12
-    one-thousand: 1,000
-    negative one-thousand: -1,000
-php: |
-    array(
-      'zero' => 0,
-      'simple' => 12,
-      'one-thousand' => 1000,
-      'negative one-thousand' => -1000
-    )
----
-test: Integers as Map Keys
-brief: >
-    An integer can be used a dictionary key.
-yaml: |
-    1: one
-    2: two
-    3: three
-php: |
-    array(
-        1 => 'one',
-        2 => 'two',
-        3 => 'three'
-    )
----
-test: Floats
-dump_skip: true
-brief: >
-     Floats are represented by numbers with decimals,
-     allowing for scientific notation, as well as
-     positive and negative infinity and "not a number."
-yaml: |
-     a simple float: 2.00
-     larger float: 1,000.09
-     scientific notation: 1.00009e+3
-php: |
-     array(
-       'a simple float' => 2.0,
-       'larger float' => 1000.09,
-       'scientific notation' => 1000.09
-     )
----
-test: Time
-todo: true
-brief: >
-    You can represent timestamps by using
-    ISO8601 format, or a variation which
-    allows spaces between the date, time and
-    time zone.
-yaml: |
-    iso8601: 2001-12-14t21:59:43.10-05:00
-    space seperated: 2001-12-14 21:59:43.10 -05:00
-php: |
-    array(
-      'iso8601' => mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" ),
-      'space seperated' => mktime( 2001, 12, 14, 21, 59, 43, 0.10, "-05:00" )
-    )
----
-test: Date
-todo: true
-brief: >
-    A date can be represented by its year,
-    month and day in ISO8601 order.
-yaml: |
-    1976-07-31
-php: |
-    date( 1976, 7, 31 )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/embededPhp.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/embededPhp.yml
deleted file mode 100644
index ec456ed..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/embededPhp.yml
+++ /dev/null
@@ -1 +0,0 @@
-value: <?php echo 1 + 2 + 3 ?>
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/escapedCharacters.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/escapedCharacters.yml
deleted file mode 100644
index 09bf86e..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/escapedCharacters.yml
+++ /dev/null
@@ -1,147 +0,0 @@
-test: outside double quotes
-yaml: |
-    \0 \ \a \b \n
-php: |
-    "\\0 \\ \\a \\b \\n"
----
-test: null
-yaml: |
-    "\0"
-php: |
-    "\x00"
----
-test: bell
-yaml: |
-    "\a"
-php: |
-    "\x07"
----
-test: backspace
-yaml: |
-    "\b"
-php: |
-    "\x08"
----
-test: horizontal tab (1)
-yaml: |
-    "\t"
-php: |
-    "\x09"
----
-test: horizontal tab (2)
-yaml: |
-    "\	"
-php: |
-    "\x09"
----
-test: line feed
-yaml: |
-    "\n"
-php: |
-    "\x0a"
----
-test: vertical tab
-yaml: |
-    "\v"
-php: |
-    "\x0b"
----
-test: form feed
-yaml: |
-    "\f"
-php: |
-    "\x0c"
----
-test: carriage return
-yaml: |
-    "\r"
-php: |
-    "\x0d"
----
-test: escape
-yaml: |
-    "\e"
-php: |
-   "\x1b"
----
-test: space
-yaml: |
-    "\ "
-php: |
-    "\x20"
----
-test: slash
-yaml: |
-    "\/"
-php: |
-    "\x2f"
----
-test: backslash
-yaml: |
-    "\\"
-php: |
-    "\\"
----
-test: Unicode next line
-yaml: |
-    "\N"
-php: |
-    "\xc2\x85"
----
-test: Unicode non-breaking space
-yaml: |
-    "\_"
-php: |
-    "\xc2\xa0"
----
-test: Unicode line separator
-yaml: |
-    "\L"
-php: |
-    "\xe2\x80\xa8"
----
-test: Unicode paragraph separator
-yaml: |
-    "\P"
-php: |
-    "\xe2\x80\xa9"
----
-test: Escaped 8-bit Unicode
-yaml: |
-    "\x42"
-php: |
-    "B"
----
-test: Escaped 16-bit Unicode
-yaml: |
-    "\u20ac"
-php: |
-    "\xe2\x82\xac"
----
-test: Escaped 32-bit Unicode
-yaml: |
-    "\U00000043"
-php: |
-    "C"
----
-test: Example 5.13 Escaped Characters
-note: |
-    Currently throws an error parsing first line. Maybe Symfony Yaml doesn't support
-    continuation of string across multiple lines? Keeping test here but disabled.
-todo: true
-yaml: |
-    "Fun with \\
-    \" \a \b \e \f \
-    \n \r \t \v \0 \
-    \  \_ \N \L \P \
-    \x41 \u0041 \U00000041"
-php: |
-    "Fun with \x5C\n\x22 \x07 \x08 \x1B \x0C\n\x0A \x0D \x09 \x0B \x00\n\x20 \xA0 \x85 \xe2\x80\xa8 \xe2\x80\xa9\nA A A"
----
-test: Double quotes with a line feed
-yaml: |
-   { double: "some value\n \"some quoted string\" and 'some single quotes one'" }
-php: |
-    array(
-        'double' => "some value\n \"some quoted string\" and 'some single quotes one'"
-    )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/index.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/index.yml
deleted file mode 100644
index 3216a89..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/index.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-- escapedCharacters
-- sfComments
-- sfCompact
-- sfTests
-- sfObjects
-- sfMergeKey
-- sfQuotes
-- YtsAnchorAlias
-- YtsBasicTests
-- YtsBlockMapping
-- YtsDocumentSeparator
-- YtsErrorTests
-- YtsFlowCollections
-- YtsFoldedScalars
-- YtsNullsAndEmpties
-- YtsSpecificationExamples
-- YtsTypeTransfers
-- unindentedCollections
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfComments.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfComments.yml
deleted file mode 100644
index 34225e1..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfComments.yml
+++ /dev/null
@@ -1,51 +0,0 @@
---- %YAML:1.0
-test: Comments at the end of a line
-brief: >
-    Comments at the end of a line
-yaml: |
-    ex1: "foo # bar"
-    ex2: "foo # bar" # comment
-    ex3: 'foo # bar' # comment
-    ex4: foo # comment
-php: |
-    array('ex1' => 'foo # bar', 'ex2' => 'foo # bar', 'ex3' => 'foo # bar', 'ex4' => 'foo')
----
-test: Comments in the middle
-brief: >
-  Comments in the middle
-yaml: |
-    foo:
-    # some comment
-    # some comment
-      bar: foo
-    # some comment
-    # some comment
-php: |
-    array('foo' => array('bar' => 'foo'))
----
-test: Comments on a hash line
-brief: >
-  Comments on a hash line
-yaml: |
-    foo:   # a comment
-      foo: bar # a comment
-php: |
-    array('foo' => array('foo' => 'bar'))
----
-test: 'Value starting with a #'
-brief: >
-  'Value starting with a #'
-yaml: |
-    foo:   '#bar'
-php: |
-    array('foo' => '#bar')
----
-test: Document starting with a comment and a separator
-brief: >
-  Commenting before document start is allowed
-yaml: |
-    # document comment
-    ---
-    foo: bar # a comment
-php: |
-    array('foo' => 'bar')
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfCompact.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfCompact.yml
deleted file mode 100644
index 1339d23..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfCompact.yml
+++ /dev/null
@@ -1,159 +0,0 @@
---- %YAML:1.0
-test: Compact notation
-brief: |
-    Compact notation for sets of mappings with single element
-yaml: |
-  ---
-  # products purchased
-  - item    : Super Hoop
-  - item    : Basketball
-    quantity: 1
-  - item:
-      name: Big Shoes
-      nick: Biggies
-    quantity: 1
-php: |
-  array (
-    array (
-      'item' => 'Super Hoop',
-    ),
-    array (
-      'item' => 'Basketball',
-      'quantity' => 1,
-    ),
-    array (
-      'item' => array(
-        'name' => 'Big Shoes',
-        'nick' => 'Biggies'
-      ),
-      'quantity' => 1
-    )
-  )
----
-test: Compact notation combined with inline notation
-brief: |
-    Combinations of compact and inline notation are allowed
-yaml: |
-  ---
-  items:
-    - { item: Super Hoop, quantity: 1 }
-    - [ Basketball, Big Shoes ]
-php: |
-  array (
-    'items' => array (
-      array (
-        'item' => 'Super Hoop',
-        'quantity' => 1,
-      ),
-      array (
-        'Basketball',
-        'Big Shoes'
-      )
-    )
-  )
---- %YAML:1.0
-test: Compact notation
-brief: |
-    Compact notation for sets of mappings with single element
-yaml: |
-  ---
-  # products purchased
-  - item    : Super Hoop
-  - item    : Basketball
-    quantity: 1
-  - item:
-      name: Big Shoes
-      nick: Biggies
-    quantity: 1
-php: |
-  array (
-    array (
-      'item' => 'Super Hoop',
-    ),
-    array (
-      'item' => 'Basketball',
-      'quantity' => 1,
-    ),
-    array (
-      'item' => array(
-        'name' => 'Big Shoes',
-        'nick' => 'Biggies'
-      ),
-      'quantity' => 1
-    )
-  )
----
-test: Compact notation combined with inline notation
-brief: |
-    Combinations of compact and inline notation are allowed
-yaml: |
-  ---
-  items:
-    - { item: Super Hoop, quantity: 1 }
-    - [ Basketball, Big Shoes ]
-php: |
-  array (
-    'items' => array (
-      array (
-        'item' => 'Super Hoop',
-        'quantity' => 1,
-      ),
-      array (
-        'Basketball',
-        'Big Shoes'
-      )
-    )
-  )
---- %YAML:1.0
-test: Compact notation
-brief: |
-    Compact notation for sets of mappings with single element
-yaml: |
-  ---
-  # products purchased
-  - item    : Super Hoop
-  - item    : Basketball
-    quantity: 1
-  - item:
-      name: Big Shoes
-      nick: Biggies
-    quantity: 1
-php: |
-  array (
-    array (
-      'item' => 'Super Hoop',
-    ),
-    array (
-      'item' => 'Basketball',
-      'quantity' => 1,
-    ),
-    array (
-      'item' => array(
-        'name' => 'Big Shoes',
-        'nick' => 'Biggies'
-      ),
-      'quantity' => 1
-    )
-  )
----
-test: Compact notation combined with inline notation
-brief: |
-    Combinations of compact and inline notation are allowed
-yaml: |
-  ---
-  items:
-    - { item: Super Hoop, quantity: 1 }
-    - [ Basketball, Big Shoes ]
-php: |
-  array (
-    'items' => array (
-      array (
-        'item' => 'Super Hoop',
-        'quantity' => 1,
-      ),
-      array (
-        'Basketball',
-        'Big Shoes'
-      )
-    )
-  )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml
deleted file mode 100644
index 3eec4f8..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml
+++ /dev/null
@@ -1,27 +0,0 @@
---- %YAML:1.0
-test: Simple In Place Substitution
-brief: >
-    If you want to reuse an entire alias, only overwriting what is different
-    you can use a << in place substitution. This is not part of the official
-    YAML spec, but a widely implemented extension. See the following URL for
-    details: http://yaml.org/type/merge.html
-yaml: |
-    foo: &foo
-        a: Steve
-        b: Clark
-        c: Brian
-    bar: &bar
-        <<: *foo
-        x: Oren
-    foo2: &foo2
-        a: Ballmer
-    ding: &dong [ fi, fei, fo, fam]
-    check:
-        <<:
-            - *foo
-            - *dong
-        isit: tested
-    head:
-        <<: [ *foo , *dong , *foo2 ]
-php: |
-    array('foo' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian'), 'bar' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian', 'x' => 'Oren'), 'foo2' => array('a' => 'Ballmer'), 'ding' => array('fi', 'fei', 'fo', 'fam'), 'check' => array('a' => 'Steve', 'b' => 'Clark', 'c' => 'Brian', 'fi', 'fei', 'fo', 'fam', 'isit' => 'tested'), 'head' => array('a' => 'Ballmer', 'b' => 'Clark', 'c' => 'Brian', 'fi', 'fei', 'fo', 'fam'))
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfObjects.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfObjects.yml
deleted file mode 100644
index ee124b2..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfObjects.yml
+++ /dev/null
@@ -1,11 +0,0 @@
---- %YAML:1.0
-test: Objects
-brief: >
-    Comments at the end of a line
-yaml: |
-    ex1: "foo # bar"
-    ex2: "foo # bar" # comment
-    ex3: 'foo # bar' # comment
-    ex4: foo # comment
-php: |
-    array('ex1' => 'foo # bar', 'ex2' => 'foo # bar', 'ex3' => 'foo # bar', 'ex4' => 'foo')
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfQuotes.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfQuotes.yml
deleted file mode 100644
index 741f1be..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfQuotes.yml
+++ /dev/null
@@ -1,33 +0,0 @@
---- %YAML:1.0
-test: Some characters at the beginning of a string must be escaped
-brief: >
-    Some characters at the beginning of a string must be escaped
-yaml: |
-    foo: | bar
-php: |
-    array('foo' => '| bar')
----
-test: A key can be a quoted string
-brief: >
-  A key can be a quoted string
-yaml: |
-    "foo1": bar
-    'foo2': bar
-    "foo \" bar": bar
-    'foo '' bar': bar
-    'foo3: ': bar
-    "foo4: ": bar
-    foo5: { "foo \" bar: ": bar, 'foo '' bar: ': bar }
-php: |
-    array(
-      'foo1' => 'bar',
-      'foo2' => 'bar',
-      'foo " bar' => 'bar',
-      'foo \' bar' => 'bar',
-      'foo3: ' => 'bar',
-      'foo4: ' => 'bar',
-      'foo5' => array(
-        'foo " bar: ' => 'bar',
-        'foo \' bar: ' => 'bar',
-      ),
-    )
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfTests.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfTests.yml
deleted file mode 100644
index 7a54f16..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfTests.yml
+++ /dev/null
@@ -1,135 +0,0 @@
---- %YAML:1.0
-test: Multiple quoted string on one line
-brief: >
-    Multiple quoted string on one line
-yaml: |
-    stripped_title: { name: "foo bar", help: "bar foo" }
-php: |
-    array('stripped_title' => array('name' => 'foo bar', 'help' => 'bar foo'))
----
-test: Empty sequence
-yaml: |
-    foo: [ ]
-php: |
-    array('foo' => array())
----
-test: Empty value
-yaml: |
-    foo:
-php: |
-    array('foo' => null)
----
-test: Inline string parsing
-brief: >
-    Inline string parsing
-yaml: |
-    test: ['complex: string', 'another [string]']
-php: |
-    array('test' => array('complex: string', 'another [string]'))
----
-test: Boolean
-brief: >
-    Boolean
-yaml: |
-    - false
-    - true
-    - null
-    - ~
-    - 'false'
-    - 'true'
-    - 'null'
-    - '~'
-php: |
-    array(
-      false,
-      true,
-      null,
-      null,
-      'false',
-      'true',
-      'null',
-      '~',
-    )
----
-test: Empty lines in folded blocks
-brief: >
-  Empty lines in folded blocks
-yaml: |
-  foo:
-    bar: |
-      foo
-
-
-        
-      bar
-php: |
-  array('foo' => array('bar' => "foo\n\n\n  \nbar\n"))
----
-test: IP addresses
-brief: >
-  IP addresses
-yaml: |
-  foo: 10.0.0.2
-php: |
-  array('foo' => '10.0.0.2')
----
-test: A sequence with an embedded mapping
-brief: >
-  A sequence with an embedded mapping
-yaml: |
-  - foo
-  - bar: { bar: foo }
-php: |
-  array('foo', array('bar' => array('bar' => 'foo')))
----
-test: A sequence with an unordered array
-brief: >
-  A sequence with an unordered array
-yaml: |
-  1: foo
-  0: bar
-php: |
-  array(1 => 'foo', 0 => 'bar')
----
-test: Octal
-brief: as in spec example 2.19, octal value is converted
-yaml: |
-  foo: 0123
-php: |
-  array('foo' => 83)
----
-test: Octal strings
-brief: Octal notation in a string must remain a string
-yaml: |
-  foo: "0123"
-php: |
-  array('foo' => '0123')
----
-test: Octal strings
-brief: Octal notation in a string must remain a string
-yaml: |
-  foo: '0123'
-php: |
-  array('foo' => '0123')
----
-test: Octal strings
-brief: Octal notation in a string must remain a string
-yaml: |
-  foo: |
-    0123
-php: |
-  array('foo' => "0123\n")
----
-test: Document as a simple hash
-brief: Document as a simple hash
-yaml: |
-  { foo: bar }
-php: |
-  array('foo' => 'bar')
----
-test: Document as a simple array
-brief: Document as a simple array
-yaml: |
-  [ foo, bar ]
-php: |
-  array('foo', 'bar')
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/unindentedCollections.yml b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/unindentedCollections.yml
deleted file mode 100644
index fd8ad7e..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/unindentedCollections.yml
+++ /dev/null
@@ -1,62 +0,0 @@
---- %YAML:1.0
-test: Unindented collection
-brief: >
-    Unindented collection
-yaml: |
-    collection:
-    - item1
-    - item2
-    - item3
-php: |
-    array('collection' => array('item1', 'item2', 'item3'))
----
-test: Nested unindented collection (two levels)
-brief: >
-    Nested unindented collection
-yaml: |
-    collection:
-        key:
-        - a
-        - b
-        - c
-php: |
-    array('collection' => array('key' => array('a', 'b', 'c')))
----
-test: Nested unindented collection (three levels)
-brief: >
-    Nested unindented collection
-yaml: |
-    collection:
-        key:
-            subkey:
-            - one
-            - two
-            - three
-php: |
-    array('collection' => array('key' => array('subkey' => array('one', 'two', 'three'))))
----
-test: Key/value after unindented collection (1)
-brief: >
-    Key/value after unindented collection (1)
-yaml: |
-    collection:
-        key:
-        - a
-        - b
-        - c
-    foo: bar
-php: |
-    array('collection' => array('key' => array('a', 'b', 'c')), 'foo' => 'bar')
----
-test: Key/value after unindented collection (at the same level)
-brief: >
-    Key/value after unindented collection
-yaml: |
-    collection:
-        key:
-        - a
-        - b
-        - c
-        foo: bar
-php: |
-    array('collection' => array('key' => array('a', 'b', 'c'), 'foo' => 'bar'))
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php
deleted file mode 100644
index 9733426..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php
+++ /dev/null
@@ -1,213 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Tests;
-
-use Symfony\Component\Yaml\Yaml;
-use Symfony\Component\Yaml\Inline;
-
-class InlineTest extends \PHPUnit_Framework_TestCase
-{
-    public function testParse()
-    {
-        foreach ($this->getTestsForParse() as $yaml => $value) {
-            $this->assertEquals($value, Inline::parse($yaml), sprintf('::parse() converts an inline YAML to a PHP structure (%s)', $yaml));
-        }
-    }
-
-    public function testDump()
-    {
-        $testsForDump = $this->getTestsForDump();
-
-        foreach ($testsForDump as $yaml => $value) {
-            $this->assertEquals($yaml, Inline::dump($value), sprintf('::dump() converts a PHP structure to an inline YAML (%s)', $yaml));
-        }
-
-        foreach ($this->getTestsForParse() as $yaml => $value) {
-            $this->assertEquals($value, Inline::parse(Inline::dump($value)), 'check consistency');
-        }
-
-        foreach ($testsForDump as $yaml => $value) {
-            $this->assertEquals($value, Inline::parse(Inline::dump($value)), 'check consistency');
-        }
-    }
-
-    public function testDumpNumericValueWithLocale()
-    {
-        $locale = setlocale(LC_NUMERIC, 0);
-        if (false === $locale) {
-            $this->markTestSkipped('Your platform does not support locales.');
-        }
-
-        $required_locales = array('fr_FR.UTF-8', 'fr_FR.UTF8', 'fr_FR.utf-8', 'fr_FR.utf8', 'French_France.1252');
-        if (false === setlocale(LC_ALL, $required_locales)) {
-            $this->markTestSkipped('Could not set any of required locales: ' . implode(", ", $required_locales));
-        }
-
-        $this->assertEquals('1.2', Inline::dump(1.2));
-        $this->assertContains('fr', strtolower(setlocale(LC_NUMERIC, 0)));
-
-        setlocale(LC_ALL, $locale);
-    }
-
-    public function testHashStringsResemblingExponentialNumericsShouldNotBeChangedToINF()
-    {
-        $value = '686e444';
-
-        $this->assertSame($value, Inline::parse(Inline::dump($value)));
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testParseScalarWithIncorrectlyQuotedStringShouldThrowException()
-    {
-        $value = "'don't do somthin' like that'";
-        Inline::parse($value);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testParseScalarWithIncorrectlyDoubleQuotedStringShouldThrowException()
-    {
-        $value = '"don"t do somthin" like that"';
-        Inline::parse($value);
-    }
-
-    /**
-     * @expectedException \Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testParseInvalidMappingKeyShouldThrowException()
-    {
-        $value = '{ "foo " bar": "bar" }';
-        Inline::parse($value);
-    }
-
-    public function testParseScalarWithCorrectlyQuotedStringShouldReturnString()
-    {
-        $value = "'don''t do somthin'' like that'";
-        $expect = "don't do somthin' like that";
-
-        $this->assertSame($expect, Inline::parseScalar($value));
-    }
-
-    protected function getTestsForParse()
-    {
-        return array(
-            '' => '',
-            'null' => null,
-            'false' => false,
-            'true' => true,
-            '12' => 12,
-            '"quoted string"' => 'quoted string',
-            "'quoted string'" => 'quoted string',
-            '12.30e+02' => 12.30e+02,
-            '0x4D2' => 0x4D2,
-            '02333' => 02333,
-            '.Inf' => -log(0),
-            '-.Inf' => log(0),
-            "'686e444'" => '686e444',
-            '686e444' => 646e444,
-            '123456789123456789' => '123456789123456789',
-            '"foo\r\nbar"' => "foo\r\nbar",
-            "'foo#bar'" => 'foo#bar',
-            "'foo # bar'" => 'foo # bar',
-            "'#cfcfcf'" => '#cfcfcf',
-            '::form_base.html.twig' => '::form_base.html.twig',
-
-            '2007-10-30' => mktime(0, 0, 0, 10, 30, 2007),
-            '2007-10-30T02:59:43Z' => gmmktime(2, 59, 43, 10, 30, 2007),
-            '2007-10-30 02:59:43 Z' => gmmktime(2, 59, 43, 10, 30, 2007),
-            '1960-10-30 02:59:43 Z' => gmmktime(2, 59, 43, 10, 30, 1960),
-            '1730-10-30T02:59:43Z' => gmmktime(2, 59, 43, 10, 30, 1730),
-
-            '"a \\"string\\" with \'quoted strings inside\'"' => 'a "string" with \'quoted strings inside\'',
-            "'a \"string\" with ''quoted strings inside'''" => 'a "string" with \'quoted strings inside\'',
-
-            // sequences
-            // urls are no key value mapping. see #3609. Valid yaml "key: value" mappings require a space after the colon
-            '[foo, http://urls.are/no/mappings, false, null, 12]' => array('foo', 'http://urls.are/no/mappings', false, null, 12),
-            '[  foo  ,   bar , false  ,  null     ,  12  ]' => array('foo', 'bar', false, null, 12),
-            '[\'foo,bar\', \'foo bar\']' => array('foo,bar', 'foo bar'),
-
-            // mappings
-            '{foo:bar,bar:foo,false:false,null:null,integer:12}' => array('foo' => 'bar', 'bar' => 'foo', 'false' => false, 'null' => null, 'integer' => 12),
-            '{ foo  : bar, bar : foo,  false  :   false,  null  :   null,  integer :  12  }' => array('foo' => 'bar', 'bar' => 'foo', 'false' => false, 'null' => null, 'integer' => 12),
-            '{foo: \'bar\', bar: \'foo: bar\'}' => array('foo' => 'bar', 'bar' => 'foo: bar'),
-            '{\'foo\': \'bar\', "bar": \'foo: bar\'}' => array('foo' => 'bar', 'bar' => 'foo: bar'),
-            '{\'foo\'\'\': \'bar\', "bar\"": \'foo: bar\'}' => array('foo\'' => 'bar', "bar\"" => 'foo: bar'),
-            '{\'foo: \': \'bar\', "bar: ": \'foo: bar\'}' => array('foo: ' => 'bar', "bar: " => 'foo: bar'),
-
-            // nested sequences and mappings
-            '[foo, [bar, foo]]' => array('foo', array('bar', 'foo')),
-            '[foo, {bar: foo}]' => array('foo', array('bar' => 'foo')),
-            '{ foo: {bar: foo} }' => array('foo' => array('bar' => 'foo')),
-            '{ foo: [bar, foo] }' => array('foo' => array('bar', 'foo')),
-
-            '[  foo, [  bar, foo  ]  ]' => array('foo', array('bar', 'foo')),
-
-            '[{ foo: {bar: foo} }]' => array(array('foo' => array('bar' => 'foo'))),
-
-            '[foo, [bar, [foo, [bar, foo]], foo]]' => array('foo', array('bar', array('foo', array('bar', 'foo')), 'foo')),
-
-            '[foo, {bar: foo, foo: [foo, {bar: foo}]}, [foo, {bar: foo}]]' => array('foo', array('bar' => 'foo', 'foo' => array('foo', array('bar' => 'foo'))), array('foo', array('bar' => 'foo'))),
-
-            '[foo, bar: { foo: bar }]' => array('foo', '1' => array('bar' => array('foo' => 'bar'))),
-            '[foo, \'@foo.baz\', { \'%foo%\': \'foo is %foo%\', bar: \'%foo%\' }, true, \'@service_container\']' => array('foo', '@foo.baz', array('%foo%' => 'foo is %foo%', 'bar' => '%foo%',), true, '@service_container',),
-        );
-    }
-
-    protected function getTestsForDump()
-    {
-        return array(
-            'null' => null,
-            'false' => false,
-            'true' => true,
-            '12' => 12,
-            "'quoted string'" => 'quoted string',
-            '12.30e+02' => 12.30e+02,
-            '1234' => 0x4D2,
-            '1243' => 02333,
-            '.Inf' => -log(0),
-            '-.Inf' => log(0),
-            "'686e444'" => '686e444',
-            '.Inf' => 646e444,
-            '"foo\r\nbar"' => "foo\r\nbar",
-            "'foo#bar'" => 'foo#bar',
-            "'foo # bar'" => 'foo # bar',
-            "'#cfcfcf'" => '#cfcfcf',
-
-            "'a \"string\" with ''quoted strings inside'''" => 'a "string" with \'quoted strings inside\'',
-
-            // sequences
-            '[foo, bar, false, null, 12]' => array('foo', 'bar', false, null, 12),
-            '[\'foo,bar\', \'foo bar\']' => array('foo,bar', 'foo bar'),
-
-            // mappings
-            '{ foo: bar, bar: foo, \'false\': false, \'null\': null, integer: 12 }' => array('foo' => 'bar', 'bar' => 'foo', 'false' => false, 'null' => null, 'integer' => 12),
-            '{ foo: bar, bar: \'foo: bar\' }' => array('foo' => 'bar', 'bar' => 'foo: bar'),
-
-            // nested sequences and mappings
-            '[foo, [bar, foo]]' => array('foo', array('bar', 'foo')),
-
-            '[foo, [bar, [foo, [bar, foo]], foo]]' => array('foo', array('bar', array('foo', array('bar', 'foo')), 'foo')),
-
-            '{ foo: { bar: foo } }' => array('foo' => array('bar' => 'foo')),
-
-            '[foo, { bar: foo }]' => array('foo', array('bar' => 'foo')),
-
-            '[foo, { bar: foo, foo: [foo, { bar: foo }] }, [foo, { bar: foo }]]' => array('foo', array('bar' => 'foo', 'foo' => array('foo', array('bar' => 'foo'))), array('foo', array('bar' => 'foo'))),
-
-            '[foo, \'@foo.baz\', { \'%foo%\': \'foo is %foo%\', bar: \'%foo%\' }, true, \'@service_container\']' => array('foo', '@foo.baz', array('%foo%' => 'foo is %foo%', 'bar' => '%foo%',), true, '@service_container',),
-        );
-    }
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php
deleted file mode 100644
index e27482a..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php
+++ /dev/null
@@ -1,193 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Tests;
-
-use Symfony\Component\Yaml\Yaml;
-use Symfony\Component\Yaml\Parser;
-use Symfony\Component\Yaml\Exception\ParseException;
-
-class ParserTest extends \PHPUnit_Framework_TestCase
-{
-    protected $parser;
-
-    protected function setUp()
-    {
-        $this->parser = new Parser();
-    }
-
-    protected function tearDown()
-    {
-        $this->parser = null;
-    }
-
-    /**
-     * @dataProvider getDataFormSpecifications
-     */
-    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);
-    }
-
-    public function getDataFormSpecifications()
-    {
-        $parser = new Parser();
-        $path = __DIR__.'/Fixtures';
-
-        $tests = array();
-        $files = $parser->parse(file_get_contents($path.'/index.yml'));
-        foreach ($files as $file) {
-            $yamls = file_get_contents($path.'/'.$file.'.yml');
-
-            // split YAMLs documents
-            foreach (preg_split('/^---( %YAML\:1\.0)?/m', $yamls) as $yaml) {
-                if (!$yaml) {
-                    continue;
-                }
-
-                $test = $parser->parse($yaml);
-                if (isset($test['todo']) && $test['todo']) {
-                    // TODO
-                } else {
-                    $expected = var_export(eval('return '.trim($test['php']).';'), true);
-
-                    $tests[] = array($file, $expected, $test['yaml'], $test['test']);
-                }
-            }
-        }
-
-        return $tests;
-    }
-
-    public function testTabsInYaml()
-    {
-        // test tabs in YAML
-        $yamls = array(
-            "foo:\n	bar",
-            "foo:\n 	bar",
-            "foo:\n	 bar",
-            "foo:\n 	 bar",
-        );
-
-        foreach ($yamls as $yaml) {
-            try {
-                $content = $this->parser->parse($yaml);
-
-                $this->fail('YAML files must not contain tabs');
-            } catch (\Exception $e) {
-                $this->assertInstanceOf('\Exception', $e, 'YAML files must not contain tabs');
-                $this->assertEquals('A YAML file cannot contain tabs as indentation at line 2 (near "'.strpbrk($yaml, "\t").'").', $e->getMessage(), 'YAML files must not contain tabs');
-            }
-        }
-    }
-
-    public function testEndOfTheDocumentMarker()
-    {
-        $yaml = <<<EOF
---- %YAML:1.0
-foo
-...
-EOF;
-
-        $this->assertEquals('foo', $this->parser->parse($yaml));
-    }
-
-    public function testObjectsSupport()
-    {
-        $b = array('foo' => new B(), 'bar' => 1);
-        $this->assertEquals($this->parser->parse(<<<EOF
-foo: !!php/object:O:30:"Symfony\Component\Yaml\Tests\B":1:{s:1:"b";s:3:"foo";}
-bar: 1
-EOF
-        ), $b, '->parse() is able to dump objects');
-    }
-
-    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.');
-
-            return;
-        }
-
-        $yamls = array(
-            iconv("UTF-8", "ISO-8859-1", "foo: 'äöüß'"),
-            iconv("UTF-8", "ISO-8859-15", "euro: '€'"),
-            iconv("UTF-8", "CP1252", "cp1252: '©ÉÇáñ'")
-        );
-
-        foreach ($yamls as $yaml) {
-            try {
-                $this->parser->parse($yaml);
-
-                $this->fail('charsets other than UTF-8 are rejected.');
-            } catch (\Exception $e) {
-                 $this->assertInstanceOf('Symfony\Component\Yaml\Exception\ParseException', $e, 'charsets other than UTF-8 are rejected.');
-            }
-        }
-    }
-
-    /**
-     *
-     * @expectedException Symfony\Component\Yaml\Exception\ParseException
-     *
-     */
-    public function testUnindentedCollectionException()
-    {
-        $yaml = <<<EOF
-
-collection:
--item1
--item2
--item3
-
-EOF;
-
-        $this->parser->parse($yaml);
-    }
-
-    /**
-     * @expectedException Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testSequenceInAMapping()
-    {
-        Yaml::parse(<<<EOF
-yaml:
-  hash: me
-  - array stuff
-EOF
-        );
-    }
-
-    /**
-     * @expectedException Symfony\Component\Yaml\Exception\ParseException
-     */
-    public function testMappingInASequence()
-    {
-        Yaml::parse(<<<EOF
-yaml:
-  - array stuff
-  hash: me
-EOF
-        );
-    }
-}
-
-class B
-{
-    public $b = 'foo';
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/YamlTest.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/YamlTest.php
deleted file mode 100644
index b1a9ba0..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/YamlTest.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Symfony\Component\Yaml\Tests;
-
-use Symfony\Component\Yaml\Yaml;
-
-class YamlTest extends \PHPUnit_Framework_TestCase
-{
-
-    public function testParseAndDump()
-    {
-        $data = array('lorem' => 'ipsum', 'dolor' => 'sit');
-        $yml = Yaml::dump($data);
-        $parsed = Yaml::parse($yml);
-        $this->assertEquals($data, $parsed);
-
-        $filename = __DIR__.'/Fixtures/index.yml';
-        $contents = file_get_contents($filename);
-        $parsedByFilename = Yaml::parse($filename);
-        $parsedByContents = Yaml::parse($contents);
-        $this->assertEquals($parsedByFilename, $parsedByContents);
-    }
-
-    public function testEmbededPhp()
-    {
-        $filename = __DIR__.'/Fixtures/embededPhp.yml';
-        Yaml::enablePhpParsing();
-        $parsed = Yaml::parse($filename);
-        $this->assertEquals(array('value' => 6), $parsed);
-    }
-
-}
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist b/core/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist
deleted file mode 100644
index aa77e9d..0000000
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit backupGlobals="false"
-         backupStaticAttributes="false"
-         colors="true"
-         convertErrorsToExceptions="true"
-         convertNoticesToExceptions="true"
-         convertWarningsToExceptions="true"
-         processIsolation="false"
-         stopOnFailure="false"
-         syntaxCheck="false"
-         bootstrap="vendor/autoload.php"
->
-    <testsuites>
-        <testsuite name="Symfony Yaml Component Test Suite">
-            <directory>./Tests/</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./</directory>
-            <exclude>
-                <directory>./vendor</directory>
-                <directory>./Tests</directory>
-            </exclude>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/twig/twig/.editorconfig b/core/vendor/twig/twig/.editorconfig
new file mode 100644
index 0000000..270f1d1
--- /dev/null
+++ b/core/vendor/twig/twig/.editorconfig
@@ -0,0 +1,18 @@
+; top-most EditorConfig file
+root = true
+
+; Unix-style newlines
+[*]
+end_of_line = LF
+
+[*.php]
+indent_style = space
+indent_size = 4
+
+[*.test]
+indent_style = space
+indent_size = 4
+
+[*.rst]
+indent_style = space
+indent_size = 4
diff --git a/core/vendor/twig/twig/CHANGELOG b/core/vendor/twig/twig/CHANGELOG
index dcfab94..25513cf 100644
--- a/core/vendor/twig/twig/CHANGELOG
+++ b/core/vendor/twig/twig/CHANGELOG
@@ -1,3 +1,25 @@
+* 1.12.1 (2013-01-15)
+
+ * added support for object instances as the second argument of the constant function
+ * relaxed globals management to avoid a BC break
+ * added support for {{ some_string[:2] }}
+
+* 1.12.0 (2013-01-08)
+
+ * added verbatim as an alias for the raw tag to avoid confusion with the raw filter
+ * fixed registration of tests and functions as anonymous functions
+ * fixed globals management
+
+* 1.12.0-RC1 (2012-12-29)
+
+ * added an include function (does the same as the include tag but in a more flexible way)
+ * added the ability to use any PHP callable to define filters, functions, and tests
+ * added a syntax error when using a loop variable that is not defined
+ * added the ability to set default values for macro arguments
+ * added support for named arguments for filters, tests, and functions
+ * moved filters/functions/tests syntax errors to the parser
+ * added support for extended ternary operator syntaxes
+
 * 1.11.1 (2012-11-11)
 
  * fixed debug info line numbering (was off by 2)
diff --git a/core/vendor/twig/twig/LICENSE b/core/vendor/twig/twig/LICENSE
index 5063d8d..3384cc5 100644
--- a/core/vendor/twig/twig/LICENSE
+++ b/core/vendor/twig/twig/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2009 by the Twig Team, see AUTHORS for more details.
+Copyright (c) 2009-2013 by the Twig Team, see AUTHORS for more details.
 
 Some rights reserved.
 
diff --git a/core/vendor/twig/twig/bin/create_pear_package.php b/core/vendor/twig/twig/bin/create_pear_package.php
deleted file mode 100644
index 4899927..0000000
--- a/core/vendor/twig/twig/bin/create_pear_package.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-if (!isset($argv[1]))
-{
-    die('You must provide the version (1.0.0)');
-}
-
-if (!isset($argv[2]))
-{
-    die('You must provide the stability (alpha, beta, or stable)');
-}
-
-$context = array(
-    'date'          => date('Y-m-d'),
-    'time'          => date('H:m:00'),
-    'version'       => $argv[1],
-    'api_version'   => $argv[1],
-    'stability'     => $argv[2],
-    'api_stability' => $argv[2],
-);
-
-$context['files'] = '';
-$path = realpath(dirname(__FILE__).'/../lib/Twig');
-foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::LEAVES_ONLY) as $file)
-{
-    if (preg_match('/\.php$/', $file))
-    {
-        $name = str_replace($path.'/', '', $file);
-        $context['files'] .= '        <file install-as="Twig/'.$name.'" name="'.$name.'" role="php" />'."\n";
-    }
-}
-
-$template = file_get_contents(dirname(__FILE__).'/../package.xml.tpl');
-$content = preg_replace_callback('/\{\{\s*([a-zA-Z0-9_]+)\s*\}\}/', 'replace_parameters', $template);
-file_put_contents(dirname(__FILE__).'/../package.xml', $content);
-
-function replace_parameters($matches)
-{
-    global $context;
-
-    return isset($context[$matches[1]]) ? $context[$matches[1]] : null;
-}
diff --git a/core/vendor/twig/twig/composer.json b/core/vendor/twig/twig/composer.json
index 3bbc5ca..5530d28 100644
--- a/core/vendor/twig/twig/composer.json
+++ b/core/vendor/twig/twig/composer.json
@@ -25,7 +25,7 @@
     },
     "extra": {
         "branch-alias": {
-            "dev-master": "1.11-dev"
+            "dev-master": "1.12-dev"
         }
     }
 }
diff --git a/core/vendor/twig/twig/doc/advanced.rst b/core/vendor/twig/twig/doc/advanced.rst
index 4be84ed..06ad771 100644
--- a/core/vendor/twig/twig/doc/advanced.rst
+++ b/core/vendor/twig/twig/doc/advanced.rst
@@ -1,6 +1,12 @@
 Extending Twig
 ==============
 
+.. caution::
+
+    This section describes how to extend Twig as of **Twig 1.12**. If you are
+    using an older version, read the :doc:`legacy<advanced_legacy>` chapter
+    instead.
+
 Twig can be extended in many ways; you can add extra tags, filters, tests,
 operators, global variables, and functions. You can even extend the parser
 itself with node visitors.
@@ -14,11 +20,10 @@ itself with node visitors.
 
 .. caution::
 
-    When extending Twig by calling methods on the Twig environment instance,
-    Twig won't be able to recompile your templates when the PHP code is
-    updated. To see your changes in real-time, either disable template caching
-    or package your code into an extension (see the next section of this
-    chapter).
+    When extending Twig without creating an extension, Twig won't be able to
+    recompile your templates when the PHP code is updated. To see your changes
+    in real-time, either disable template caching or package your code into an
+    extension (see the next section of this chapter).
 
 Before extending Twig, you must understand the differences between all the
 different possible extension points and when to use them.
@@ -75,9 +80,9 @@ extension point to use. And you can use it anywhere an expression is accepted:
 
 .. code-block:: jinja
 
-    {{ 'some text' ~ ipsum(40) ~ 'some more text' }}
+    {{ 'some text' ~ lipsum(40) ~ 'some more text' }}
 
-    {% set ipsum = ipsum(40) %}
+    {% set lipsum = lipsum(40) %}
 
 Last but not the least, you can also use a *global* object with a method able
 to generate lorem ipsum text:
@@ -121,151 +126,113 @@ You can then use the ``text`` variable anywhere in a template:
 Filters
 -------
 
-A filter is a regular PHP function or an object method that takes the left
-side of the filter (before the pipe ``|``) as first argument and the extra
-arguments passed to the filter (within parentheses ``()``) as extra arguments.
-
-Defining a filter is as easy as associating the filter name with a PHP
-callable. For instance, let's say you have the following code in a template:
-
-.. code-block:: jinja
-
-    {{ 'TWIG'|lower }}
-
-When compiling this template to PHP, Twig looks for the PHP callable
-associated with the ``lower`` filter. The ``lower`` filter is a built-in Twig
-filter, and it is simply mapped to the PHP ``strtolower()`` function. After
-compilation, the generated PHP code is roughly equivalent to:
-
-.. code-block:: html+php
-
-    <?php echo strtolower('TWIG') ?>
-
-As you can see, the ``'TWIG'`` string is passed as a first argument to the PHP
-function.
-
-A filter can also take extra arguments like in the following example:
-
-.. code-block:: jinja
-
-    {{ now|date('d/m/Y') }}
-
-In this case, the extra arguments are passed to the function after the main
-argument, and the compiled code is equivalent to:
+Creating a filter is as simple as associating a name with a PHP callable::
 
-.. code-block:: html+php
-
-    <?php echo twig_date_format_filter($now, 'd/m/Y') ?>
-
-Let's see how to create a new filter.
-
-In this section, we will create a ``rot13`` filter, which should return the
-`rot13`_ transformation of a string. Here is an example of its usage and the
-expected output:
+    // an anonymous function
+    $filter = new Twig_SimpleFilter('rot13', function ($string) {
+        return str_rot13($string);
+    });
 
-.. code-block:: jinja
+    // or a simple PHP function
+    $filter = new Twig_SimpleFilter('rot13', 'str_rot13');
 
-    {{ "Twig"|rot13 }}
+    // or a class method
+    $filter = new Twig_SimpleFilter('rot13', array('SomeClass', 'rot13Filter'));
 
-    {# should displays Gjvt #}
+The first argument passed to the ``Twig_SimpleFilter`` constructor is the name
+of the filter you will use in templates and the second one is the PHP callable
+to associate with it.
 
-Adding a filter is as simple as calling the ``addFilter()`` method on the
-``Twig_Environment`` instance::
+Then, add the filter to your Twig environment::
 
     $twig = new Twig_Environment($loader);
-    $twig->addFilter('rot13', new Twig_Filter_Function('str_rot13'));
-
-The second argument of ``addFilter()`` is an instance of ``Twig_Filter``.
-Here, we use ``Twig_Filter_Function`` as the filter is a PHP function. The
-first argument passed to the ``Twig_Filter_Function`` constructor is the name
-of the PHP function to call, here ``str_rot13``, a native PHP function.
+    $twig->addFilter($filter);
 
-Let's say I now want to be able to add a prefix before the converted string:
+And here is how to use it in a template:
 
 .. code-block:: jinja
 
-    {{ "Twig"|rot13('prefix_') }}
+    {{ 'Twig'|rot13 }}
 
-    {# should displays prefix_Gjvt #}
+    {# will output Gjvt #}
 
-As the PHP ``str_rot13()`` function does not support this requirement, let's
-create a new PHP function::
+When called by Twig, the PHP callable receives the left side of the filter
+(before the pipe ``|``) as the first argument and the extra arguments passed
+to the filter (within parentheses ``()``) as extra arguments.
 
-    function project_compute_rot13($string, $prefix = '')
-    {
-        return $prefix.str_rot13($string);
-    }
+For instance, the following code:
 
-As you can see, the ``prefix`` argument of the filter is passed as an extra
-argument to the ``project_compute_rot13()`` function.
-
-Adding this filter is as easy as before::
+.. code-block:: jinja
 
-    $twig->addFilter('rot13', new Twig_Filter_Function('project_compute_rot13'));
+    {{ 'TWIG'|lower }}
+    {{ now|date('d/m/Y') }}
 
-For better encapsulation, a filter can also be defined as a static method of a
-class. The ``Twig_Filter_Function`` class can also be used to register such
-static methods as filters::
+is compiled to something like the following::
 
-    $twig->addFilter('rot13', new Twig_Filter_Function('SomeClass::rot13Filter'));
+    <?php echo strtolower('TWIG') ?>
+    <?php echo twig_date_format_filter($now, 'd/m/Y') ?>
 
-.. tip::
+The ``Twig_SimpleFilter`` class takes an array of options as its last
+argument::
 
-    In an extension, you can also define a filter as a static method of the
-    extension class.
+    $filter = new Twig_SimpleFilter('rot13', 'str_rot13', $options);
 
 Environment aware Filters
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The ``Twig_Filter`` classes take options as their last argument. For instance,
-if you want access to the current environment instance in your filter, set the
-``needs_environment`` option to ``true``::
-
-    $filter = new Twig_Filter_Function('str_rot13', array('needs_environment' => true));
-
-Twig will then pass the current environment as the first argument to the
-filter call::
+If you want to access the current environment instance in your filter, set the
+``needs_environment`` option to ``true``; Twig will pass the current
+environment as the first argument to the filter call::
 
-    function twig_compute_rot13(Twig_Environment $env, $string)
-    {
+    $filter = new Twig_SimpleFilter('rot13', function (Twig_Environment $env, $string) {
         // get the current charset for instance
         $charset = $env->getCharset();
 
         return str_rot13($string);
-    }
+    }, array('needs_environment' => true));
+
+Context aware Filters
+~~~~~~~~~~~~~~~~~~~~~
+
+If you want to access the current context in your filter, set the
+``needs_context`` option to ``true``; Twig will pass the current context as
+the first argument to the filter call (or the second one if
+``needs_environment`` is also set to ``true``)::
+
+    $filter = new Twig_SimpleFilter('rot13', function ($context, $string) {
+        // ...
+    }, array('needs_context' => true));
+
+    $filter = new Twig_SimpleFilter('rot13', function (Twig_Environment $env, $context, $string) {
+        // ...
+    }, array('needs_context' => true, 'needs_environment' => true));
 
 Automatic Escaping
 ~~~~~~~~~~~~~~~~~~
 
 If automatic escaping is enabled, the output of the filter may be escaped
 before printing. If your filter acts as an escaper (or explicitly outputs html
-or javascript code), you will want the raw output to be printed. In such a
+or JavaScript code), you will want the raw output to be printed. In such a
 case, set the ``is_safe`` option::
 
-    $filter = new Twig_Filter_Function('nl2br', array('is_safe' => array('html')));
+    $filter = new Twig_SimpleFilter('nl2br', 'nl2br', array('is_safe' => array('html')));
 
 Some filters may need to work on input that is already escaped or safe, for
 example when adding (safe) html tags to originally unsafe output. In such a
 case, set the ``pre_escape`` option to escape the input data before it is run
 through your filter::
 
-    $filter = new Twig_Filter_Function('somefilter', array('pre_escape' => 'html', 'is_safe' => array('html')));
+    $filter = new Twig_SimpleFilter('somefilter', 'somefilter', array('pre_escape' => 'html', 'is_safe' => array('html')));
 
 Dynamic Filters
 ~~~~~~~~~~~~~~~
 
-.. versionadded:: 1.5
-    Dynamic filters support was added in Twig 1.5.
-
 A filter name containing the special ``*`` character is a dynamic filter as
 the ``*`` can be any string::
 
-    $twig->addFilter('*_path', new Twig_Filter_Function('twig_path'));
-
-    function twig_path($name, $arguments)
-    {
+    $filter = new Twig_SimpleFilter('*_path', function ($name, $arguments) {
         // ...
-    }
+    });
 
 The following filters will be matched by the above defined dynamic filter:
 
@@ -274,83 +241,43 @@ The following filters will be matched by the above defined dynamic filter:
 
 A dynamic filter can define more than one dynamic parts::
 
-    $twig->addFilter('*_path_*', new Twig_Filter_Function('twig_path'));
-
-    function twig_path($name, $suffix, $arguments)
-    {
+    $filter = new Twig_SimpleFilter('*_path', function ($name, $suffix, $arguments) {
         // ...
-    }
+    });
 
 The filter will receive all dynamic part values before the normal filters
-arguments. For instance, a call to ``'foo'|a_path_b()`` will result in the
-following PHP call: ``twig_path('a', 'b', 'foo')``.
+arguments, but after the environment and the context. For instance, a call to
+``'foo'|a_path_b()`` will result in the following arguments to be passed to
+the filter: ``('a', 'b', 'foo')``.
 
 Functions
 ---------
 
-A function is a regular PHP function or an object method that can be called from
-templates.
-
-.. code-block:: jinja
-
-    {{ constant("DATE_W3C") }}
+Functions are defined in the exact same way as filters, but you need to create
+an instance of ``Twig_SimpleFunction``::
 
-When compiling this template to PHP, Twig looks for the PHP callable
-associated with the ``constant`` function. The ``constant`` function is a built-in Twig
-function, and it is simply mapped to the PHP ``constant()`` function. After
-compilation, the generated PHP code is roughly equivalent to:
-
-.. code-block:: html+php
-
-    <?php echo constant('DATE_W3C') ?>
-
-Adding a function is similar to adding a filter. This can be done by calling the
-``addFunction()`` method on the ``Twig_Environment`` instance::
-
-    $twig = new Twig_Environment($loader);
-    $twig->addFunction('functionName', new Twig_Function_Function('someFunction'));
-
-You can also expose extension methods as functions in your templates::
-
-    // $this is an object that implements Twig_ExtensionInterface.
     $twig = new Twig_Environment($loader);
-    $twig->addFunction('otherFunction', new Twig_Function_Method($this, 'someMethod'));
-
-Functions also support ``needs_environment`` and ``is_safe`` parameters.
-
-Dynamic Functions
-~~~~~~~~~~~~~~~~~
-
-.. versionadded:: 1.5
-    Dynamic functions support was added in Twig 1.5.
-
-A function name containing the special ``*`` character is a dynamic function
-as the ``*`` can be any string::
-
-    $twig->addFunction('*_path', new Twig_Function_Function('twig_path'));
-
-    function twig_path($name, $arguments)
-    {
+    $function = new Twig_SimpleFunction('function_name', function () {
         // ...
-    }
+    });
+    $twig->addFunction($function);
 
-The following functions will be matched by the above defined dynamic function:
+Functions support the same features as filters, except for the ``pre_escape``
+and ``preserves_safety`` options.
 
-* ``product_path``
-* ``category_path``
-
-A dynamic function can define more than one dynamic parts::
+Tests
+-----
 
-    $twig->addFilter('*_path_*', new Twig_Filter_Function('twig_path'));
+Tests are defined in the exact same way as filters and functions, but you need
+to create an instance of ``Twig_SimpleTest``::
 
-    function twig_path($name, $suffix, $arguments)
-    {
+    $twig = new Twig_Environment($loader);
+    $test = new Twig_SimpleTest('test_name', function () {
         // ...
-    }
+    });
+    $twig->addTest($test);
 
-The function will receive all dynamic part values before the normal functions
-arguments. For instance, a call to ``a_path_b('foo')`` will result in the
-following PHP call: ``twig_path('a', 'b', 'foo')``.
+Tests do not support any options.
 
 Tags
 ----
@@ -517,7 +444,7 @@ to host all the specific tags and filters you want to add to Twig.
 .. tip::
 
     When packaging your code into an extension, Twig is smart enough to
-    recompile your templates whenever you make a change to it (when the
+    recompile your templates whenever you make a change to it (when
     ``auto_reload`` is enabled).
 
 .. note::
@@ -663,7 +590,7 @@ method::
         public function getFunctions()
         {
             return array(
-                'lipsum' => new Twig_Function_Function('generate_lipsum'),
+                new Twig_SimpleFunction('lipsum', 'generate_lipsum'),
             );
         }
 
@@ -682,94 +609,13 @@ environment::
         public function getFilters()
         {
             return array(
-                'rot13' => new Twig_Filter_Function('str_rot13'),
+                new Twig_SimpleFilter('rot13', 'str_rot13'),
             );
         }
 
         // ...
     }
 
-As you can see in the above code, the ``getFilters()`` method returns an array
-where keys are the name of the filters (``rot13``) and the values the
-definition of the filter (``new Twig_Filter_Function('str_rot13')``).
-
-As seen in the previous chapter, you can also define filters as static methods
-on the extension class::
-
-$twig->addFilter('rot13', new Twig_Filter_Function('Project_Twig_Extension::rot13Filter'));
-
-You can also use ``Twig_Filter_Method`` instead of ``Twig_Filter_Function``
-when defining a filter to use a method::
-
-    class Project_Twig_Extension extends Twig_Extension
-    {
-        public function getFilters()
-        {
-            return array(
-                'rot13' => new Twig_Filter_Method($this, 'rot13Filter'),
-            );
-        }
-
-        public function rot13Filter($string)
-        {
-            return str_rot13($string);
-        }
-
-        // ...
-    }
-
-The first argument of the ``Twig_Filter_Method`` constructor is always
-``$this``, the current extension object. The second one is the name of the
-method to call.
-
-Using methods for filters is a great way to package your filter without
-polluting the global namespace. This also gives the developer more flexibility
-at the cost of a small overhead.
-
-Overriding default Filters
-..........................
-
-If some default core filters do not suit your needs, you can easily override
-them by creating your own core extension. Of course, you don't need to copy
-and paste the whole core extension code of Twig. Instead, you can just extends
-it and override the filter(s) you want by overriding the ``getFilters()``
-method::
-
-    class MyCoreExtension extends Twig_Extension_Core
-    {
-        public function getFilters()
-        {
-            return array_merge(parent::getFilters(), array(
-                'date' => new Twig_Filter_Method($this, 'dateFilter'),
-                // ...
-            ));
-        }
-
-        public function dateFilter($timestamp, $format = 'F j, Y H:i')
-        {
-            return '...'.twig_date_format_filter($timestamp, $format);
-        }
-
-        // ...
-    }
-
-Here, we override the ``date`` filter with a custom one. Using this new core
-extension is as simple as registering the ``MyCoreExtension`` extension by
-calling the ``addExtension()`` method on the environment instance::
-
-    $twig = new Twig_Environment($loader);
-    $twig->addExtension(new MyCoreExtension());
-
-But I can already hear some people wondering how it can work as the Core
-extension is loaded by default. That's true, but the trick is that both
-extensions share the same unique identifier (``core`` - defined in the
-``getName()`` method). By registering an extension with the same name as an
-existing one, you have actually overridden the default one, even if it is
-already registered::
-
-    $twig->addExtension(new Twig_Extension_Core());
-    $twig->addExtension(new MyCoreExtension());
-
 Tags
 ~~~~
 
@@ -825,19 +671,59 @@ The ``getTests()`` methods allows to add new test functions::
         public function getTests()
         {
             return array(
-                'even' => new Twig_Test_Function('twig_test_even'),
+                new Twig_SimpleTest('even', 'twig_test_even'),
             );
         }
 
         // ...
     }
 
+Overloading
+-----------
+
+To overload an already defined filter, test, operator, global variable, or
+function, define it again **as late as possible**::
+
+    $twig = new Twig_Environment($loader);
+    $twig->addFilter(new Twig_SimpleFilter('date', function ($timestamp, $format = 'F j, Y H:i') {
+        // do something different from the built-in date filter
+    }));
+
+Here, we have overloaded the built-in ``date`` filter with a custom one.
+
+That also works with an extension::
+
+    class MyCoreExtension extends Twig_Extension
+    {
+        public function getFilters()
+        {
+            return array(
+                new Twig_SimpleFilter('date', array($this, 'dateFilter')),
+            );
+        }
+
+        public function dateFilter($timestamp, $format = 'F j, Y H:i')
+        {
+            // do something different from the built-in date filter
+        }
+
+        public function getName()
+        {
+            return 'project';
+        }
+    }
+
+    $twig = new Twig_Environment($loader);
+    $twig->addExtension(new MyCoreExtension());
+
+.. caution::
+
+    Note that overloading the built-in Twig elements is not recommended as it
+    might be confusing.
+
 Testing an Extension
 --------------------
 
-.. versionadded:: 1.10
-    Support for functional tests was added in Twig 1.10.
-
 Functional Tests
 ~~~~~~~~~~~~~~~~
 
diff --git a/core/vendor/twig/twig/doc/advanced_legacy.rst b/core/vendor/twig/twig/doc/advanced_legacy.rst
new file mode 100644
index 0000000..8dbc525
--- /dev/null
+++ b/core/vendor/twig/twig/doc/advanced_legacy.rst
@@ -0,0 +1,887 @@
+Extending Twig
+==============
+
+.. caution::
+
+    This section describes how to extends Twig for versions **older than
+    1.12**. If you are using a newer version, read the :doc:`newer<advanced>`
+    chapter instead.
+
+Twig can be extended in many ways; you can add extra tags, filters, tests,
+operators, global variables, and functions. You can even extend the parser
+itself with node visitors.
+
+.. note::
+
+    The first section of this chapter describes how to extend Twig easily. If
+    you want to reuse your changes in different projects or if you want to
+    share them with others, you should then create an extension as described
+    in the following section.
+
+.. caution::
+
+    When extending Twig by calling methods on the Twig environment instance,
+    Twig won't be able to recompile your templates when the PHP code is
+    updated. To see your changes in real-time, either disable template caching
+    or package your code into an extension (see the next section of this
+    chapter).
+
+Before extending Twig, you must understand the differences between all the
+different possible extension points and when to use them.
+
+First, remember that Twig has two main language constructs:
+
+* ``{{ }}``: used to print the result of an expression evaluation;
+
+* ``{% %}``: used to execute statements.
+
+To understand why Twig exposes so many extension points, let's see how to
+implement a *Lorem ipsum* generator (it needs to know the number of words to
+generate).
+
+You can use a ``lipsum`` *tag*:
+
+.. code-block:: jinja
+
+    {% lipsum 40 %}
+
+That works, but using a tag for ``lipsum`` is not a good idea for at least
+three main reasons:
+
+* ``lipsum`` is not a language construct;
+* The tag outputs something;
+* The tag is not flexible as you cannot use it in an expression:
+
+  .. code-block:: jinja
+
+      {{ 'some text' ~ {% lipsum 40 %} ~ 'some more text' }}
+
+In fact, you rarely need to create tags; and that's good news because tags are
+the most complex extension point of Twig.
+
+Now, let's use a ``lipsum`` *filter*:
+
+.. code-block:: jinja
+
+    {{ 40|lipsum }}
+
+Again, it works, but it looks weird. A filter transforms the passed value to
+something else but here we use the value to indicate the number of words to
+generate (so, ``40`` is an argument of the filter, not the value we want to
+transform).
+
+Next, let's use a ``lipsum`` *function*:
+
+.. code-block:: jinja
+
+    {{ lipsum(40) }}
+
+Here we go. For this specific example, the creation of a function is the
+extension point to use. And you can use it anywhere an expression is accepted:
+
+.. code-block:: jinja
+
+    {{ 'some text' ~ ipsum(40) ~ 'some more text' }}
+
+    {% set ipsum = ipsum(40) %}
+
+Last but not the least, you can also use a *global* object with a method able
+to generate lorem ipsum text:
+
+.. code-block:: jinja
+
+    {{ text.lipsum(40) }}
+
+As a rule of thumb, use functions for frequently used features and global
+objects for everything else.
+
+Keep in mind the following when you want to extend Twig:
+
+========== ========================== ========== =========================
+What?      Implementation difficulty? How often? When?
+========== ========================== ========== =========================
+*macro*    trivial                    frequent   Content generation
+*global*   trivial                    frequent   Helper object
+*function* trivial                    frequent   Content generation
+*filter*   trivial                    frequent   Value transformation
+*tag*      complex                    rare       DSL language construct
+*test*     trivial                    rare       Boolean decision
+*operator* trivial                    rare       Values transformation
+========== ========================== ========== =========================
+
+Globals
+-------
+
+A global variable is like any other template variable, except that it's
+available in all templates and macros::
+
+    $twig = new Twig_Environment($loader);
+    $twig->addGlobal('text', new Text());
+
+You can then use the ``text`` variable anywhere in a template:
+
+.. code-block:: jinja
+
+    {{ text.lipsum(40) }}
+
+Filters
+-------
+
+A filter is a regular PHP function or an object method that takes the left
+side of the filter (before the pipe ``|``) as first argument and the extra
+arguments passed to the filter (within parentheses ``()``) as extra arguments.
+
+Defining a filter is as easy as associating the filter name with a PHP
+callable. For instance, let's say you have the following code in a template:
+
+.. code-block:: jinja
+
+    {{ 'TWIG'|lower }}
+
+When compiling this template to PHP, Twig looks for the PHP callable
+associated with the ``lower`` filter. The ``lower`` filter is a built-in Twig
+filter, and it is simply mapped to the PHP ``strtolower()`` function. After
+compilation, the generated PHP code is roughly equivalent to:
+
+.. code-block:: html+php
+
+    <?php echo strtolower('TWIG') ?>
+
+As you can see, the ``'TWIG'`` string is passed as a first argument to the PHP
+function.
+
+A filter can also take extra arguments like in the following example:
+
+.. code-block:: jinja
+
+    {{ now|date('d/m/Y') }}
+
+In this case, the extra arguments are passed to the function after the main
+argument, and the compiled code is equivalent to:
+
+.. code-block:: html+php
+
+    <?php echo twig_date_format_filter($now, 'd/m/Y') ?>
+
+Let's see how to create a new filter.
+
+In this section, we will create a ``rot13`` filter, which should return the
+`rot13`_ transformation of a string. Here is an example of its usage and the
+expected output:
+
+.. code-block:: jinja
+
+    {{ "Twig"|rot13 }}
+
+    {# should displays Gjvt #}
+
+Adding a filter is as simple as calling the ``addFilter()`` method on the
+``Twig_Environment`` instance::
+
+    $twig = new Twig_Environment($loader);
+    $twig->addFilter('rot13', new Twig_Filter_Function('str_rot13'));
+
+The second argument of ``addFilter()`` is an instance of ``Twig_Filter``.
+Here, we use ``Twig_Filter_Function`` as the filter is a PHP function. The
+first argument passed to the ``Twig_Filter_Function`` constructor is the name
+of the PHP function to call, here ``str_rot13``, a native PHP function.
+
+Let's say I now want to be able to add a prefix before the converted string:
+
+.. code-block:: jinja
+
+    {{ "Twig"|rot13('prefix_') }}
+
+    {# should displays prefix_Gjvt #}
+
+As the PHP ``str_rot13()`` function does not support this requirement, let's
+create a new PHP function::
+
+    function project_compute_rot13($string, $prefix = '')
+    {
+        return $prefix.str_rot13($string);
+    }
+
+As you can see, the ``prefix`` argument of the filter is passed as an extra
+argument to the ``project_compute_rot13()`` function.
+
+Adding this filter is as easy as before::
+
+    $twig->addFilter('rot13', new Twig_Filter_Function('project_compute_rot13'));
+
+For better encapsulation, a filter can also be defined as a static method of a
+class. The ``Twig_Filter_Function`` class can also be used to register such
+static methods as filters::
+
+    $twig->addFilter('rot13', new Twig_Filter_Function('SomeClass::rot13Filter'));
+
+.. tip::
+
+    In an extension, you can also define a filter as a static method of the
+    extension class.
+
+Environment aware Filters
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ``Twig_Filter`` classes take options as their last argument. For instance,
+if you want access to the current environment instance in your filter, set the
+``needs_environment`` option to ``true``::
+
+    $filter = new Twig_Filter_Function('str_rot13', array('needs_environment' => true));
+
+Twig will then pass the current environment as the first argument to the
+filter call::
+
+    function twig_compute_rot13(Twig_Environment $env, $string)
+    {
+        // get the current charset for instance
+        $charset = $env->getCharset();
+
+        return str_rot13($string);
+    }
+
+Automatic Escaping
+~~~~~~~~~~~~~~~~~~
+
+If automatic escaping is enabled, the output of the filter may be escaped
+before printing. If your filter acts as an escaper (or explicitly outputs html
+or javascript code), you will want the raw output to be printed. In such a
+case, set the ``is_safe`` option::
+
+    $filter = new Twig_Filter_Function('nl2br', array('is_safe' => array('html')));
+
+Some filters may need to work on input that is already escaped or safe, for
+example when adding (safe) html tags to originally unsafe output. In such a
+case, set the ``pre_escape`` option to escape the input data before it is run
+through your filter::
+
+    $filter = new Twig_Filter_Function('somefilter', array('pre_escape' => 'html', 'is_safe' => array('html')));
+
+Dynamic Filters
+~~~~~~~~~~~~~~~
+
+.. versionadded:: 1.5
+    Dynamic filters support was added in Twig 1.5.
+
+A filter name containing the special ``*`` character is a dynamic filter as
+the ``*`` can be any string::
+
+    $twig->addFilter('*_path', new Twig_Filter_Function('twig_path'));
+
+    function twig_path($name, $arguments)
+    {
+        // ...
+    }
+
+The following filters will be matched by the above defined dynamic filter:
+
+* ``product_path``
+* ``category_path``
+
+A dynamic filter can define more than one dynamic parts::
+
+    $twig->addFilter('*_path_*', new Twig_Filter_Function('twig_path'));
+
+    function twig_path($name, $suffix, $arguments)
+    {
+        // ...
+    }
+
+The filter will receive all dynamic part values before the normal filters
+arguments. For instance, a call to ``'foo'|a_path_b()`` will result in the
+following PHP call: ``twig_path('a', 'b', 'foo')``.
+
+Functions
+---------
+
+A function is a regular PHP function or an object method that can be called from
+templates.
+
+.. code-block:: jinja
+
+    {{ constant("DATE_W3C") }}
+
+When compiling this template to PHP, Twig looks for the PHP callable
+associated with the ``constant`` function. The ``constant`` function is a built-in Twig
+function, and it is simply mapped to the PHP ``constant()`` function. After
+compilation, the generated PHP code is roughly equivalent to:
+
+.. code-block:: html+php
+
+    <?php echo constant('DATE_W3C') ?>
+
+Adding a function is similar to adding a filter. This can be done by calling the
+``addFunction()`` method on the ``Twig_Environment`` instance::
+
+    $twig = new Twig_Environment($loader);
+    $twig->addFunction('functionName', new Twig_Function_Function('someFunction'));
+
+You can also expose extension methods as functions in your templates::
+
+    // $this is an object that implements Twig_ExtensionInterface.
+    $twig = new Twig_Environment($loader);
+    $twig->addFunction('otherFunction', new Twig_Function_Method($this, 'someMethod'));
+
+Functions also support ``needs_environment`` and ``is_safe`` parameters.
+
+Dynamic Functions
+~~~~~~~~~~~~~~~~~
+
+.. versionadded:: 1.5
+    Dynamic functions support was added in Twig 1.5.
+
+A function name containing the special ``*`` character is a dynamic function
+as the ``*`` can be any string::
+
+    $twig->addFunction('*_path', new Twig_Function_Function('twig_path'));
+
+    function twig_path($name, $arguments)
+    {
+        // ...
+    }
+
+The following functions will be matched by the above defined dynamic function:
+
+* ``product_path``
+* ``category_path``
+
+A dynamic function can define more than one dynamic parts::
+
+    $twig->addFilter('*_path_*', new Twig_Filter_Function('twig_path'));
+
+    function twig_path($name, $suffix, $arguments)
+    {
+        // ...
+    }
+
+The function will receive all dynamic part values before the normal functions
+arguments. For instance, a call to ``a_path_b('foo')`` will result in the
+following PHP call: ``twig_path('a', 'b', 'foo')``.
+
+Tags
+----
+
+One of the most exciting feature of a template engine like Twig is the
+possibility to define new language constructs. This is also the most complex
+feature as you need to understand how Twig's internals work.
+
+Let's create a simple ``set`` tag that allows the definition of simple
+variables from within a template. The tag can be used like follows:
+
+.. code-block:: jinja
+
+    {% set name = "value" %}
+
+    {{ name }}
+
+    {# should output value #}
+
+.. note::
+
+    The ``set`` tag is part of the Core extension and as such is always
+    available. The built-in version is slightly more powerful and supports
+    multiple assignments by default (cf. the template designers chapter for
+    more information).
+
+Three steps are needed to define a new tag:
+
+* Defining a Token Parser class (responsible for parsing the template code);
+
+* Defining a Node class (responsible for converting the parsed code to PHP);
+
+* Registering the tag.
+
+Registering a new tag
+~~~~~~~~~~~~~~~~~~~~~
+
+Adding a tag is as simple as calling the ``addTokenParser`` method on the
+``Twig_Environment`` instance::
+
+    $twig = new Twig_Environment($loader);
+    $twig->addTokenParser(new Project_Set_TokenParser());
+
+Defining a Token Parser
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Now, let's see the actual code of this class::
+
+    class Project_Set_TokenParser extends Twig_TokenParser
+    {
+        public function parse(Twig_Token $token)
+        {
+            $lineno = $token->getLine();
+            $name = $this->parser->getStream()->expect(Twig_Token::NAME_TYPE)->getValue();
+            $this->parser->getStream()->expect(Twig_Token::OPERATOR_TYPE, '=');
+            $value = $this->parser->getExpressionParser()->parseExpression();
+
+            $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
+
+            return new Project_Set_Node($name, $value, $lineno, $this->getTag());
+        }
+
+        public function getTag()
+        {
+            return 'set';
+        }
+    }
+
+The ``getTag()`` method must return the tag we want to parse, here ``set``.
+
+The ``parse()`` method is invoked whenever the parser encounters a ``set``
+tag. It should return a ``Twig_Node`` instance that represents the node (the
+``Project_Set_Node`` calls creating is explained in the next section).
+
+The parsing process is simplified thanks to a bunch of methods you can call
+from the token stream (``$this->parser->getStream()``):
+
+* ``getCurrent()``: Gets the current token in the stream.
+
+* ``next()``: Moves to the next token in the stream, *but returns the old one*.
+
+* ``test($type)``, ``test($value)`` or ``test($type, $value)``: Determines whether
+  the current token is of a particular type or value (or both). The value may be an
+  array of several possible values.
+
+* ``expect($type[, $value[, $message]])``: If the current token isn't of the given
+  type/value a syntax error is thrown. Otherwise, if the type and value are correct,
+  the token is returned and the stream moves to the next token.
+
+* ``look()``: Looks a the next token without consuming it.
+
+Parsing expressions is done by calling the ``parseExpression()`` like we did for
+the ``set`` tag.
+
+.. tip::
+
+    Reading the existing ``TokenParser`` classes is the best way to learn all
+    the nitty-gritty details of the parsing process.
+
+Defining a Node
+~~~~~~~~~~~~~~~
+
+The ``Project_Set_Node`` class itself is rather simple::
+
+    class Project_Set_Node extends Twig_Node
+    {
+        public function __construct($name, Twig_Node_Expression $value, $lineno, $tag = null)
+        {
+            parent::__construct(array('value' => $value), array('name' => $name), $lineno, $tag);
+        }
+
+        public function compile(Twig_Compiler $compiler)
+        {
+            $compiler
+                ->addDebugInfo($this)
+                ->write('$context[\''.$this->getAttribute('name').'\'] = ')
+                ->subcompile($this->getNode('value'))
+                ->raw(";\n")
+            ;
+        }
+    }
+
+The compiler implements a fluid interface and provides methods that helps the
+developer generate beautiful and readable PHP code:
+
+* ``subcompile()``: Compiles a node.
+
+* ``raw()``: Writes the given string as is.
+
+* ``write()``: Writes the given string by adding indentation at the beginning
+  of each line.
+
+* ``string()``: Writes a quoted string.
+
+* ``repr()``: Writes a PHP representation of a given value (see
+  ``Twig_Node_For`` for a usage example).
+
+* ``addDebugInfo()``: Adds the line of the original template file related to
+  the current node as a comment.
+
+* ``indent()``: Indents the generated code (see ``Twig_Node_Block`` for a
+  usage example).
+
+* ``outdent()``: Outdents the generated code (see ``Twig_Node_Block`` for a
+  usage example).
+
+.. _creating_extensions:
+
+Creating an Extension
+---------------------
+
+The main motivation for writing an extension is to move often used code into a
+reusable class like adding support for internationalization. An extension can
+define tags, filters, tests, operators, global variables, functions, and node
+visitors.
+
+Creating an extension also makes for a better separation of code that is
+executed at compilation time and code needed at runtime. As such, it makes
+your code faster.
+
+Most of the time, it is useful to create a single extension for your project,
+to host all the specific tags and filters you want to add to Twig.
+
+.. tip::
+
+    When packaging your code into an extension, Twig is smart enough to
+    recompile your templates whenever you make a change to it (when the
+    ``auto_reload`` is enabled).
+
+.. note::
+
+    Before writing your own extensions, have a look at the Twig official
+    extension repository: http://github.com/fabpot/Twig-extensions.
+
+An extension is a class that implements the following interface::
+
+    interface Twig_ExtensionInterface
+    {
+        /**
+         * Initializes the runtime environment.
+         *
+         * This is where you can load some file that contains filter functions for instance.
+         *
+         * @param Twig_Environment $environment The current Twig_Environment instance
+         */
+        function initRuntime(Twig_Environment $environment);
+
+        /**
+         * Returns the token parser instances to add to the existing list.
+         *
+         * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances
+         */
+        function getTokenParsers();
+
+        /**
+         * Returns the node visitor instances to add to the existing list.
+         *
+         * @return array An array of Twig_NodeVisitorInterface instances
+         */
+        function getNodeVisitors();
+
+        /**
+         * Returns a list of filters to add to the existing list.
+         *
+         * @return array An array of filters
+         */
+        function getFilters();
+
+        /**
+         * Returns a list of tests to add to the existing list.
+         *
+         * @return array An array of tests
+         */
+        function getTests();
+
+        /**
+         * Returns a list of functions to add to the existing list.
+         *
+         * @return array An array of functions
+         */
+        function getFunctions();
+
+        /**
+         * Returns a list of operators to add to the existing list.
+         *
+         * @return array An array of operators
+         */
+        function getOperators();
+
+        /**
+         * Returns a list of global variables to add to the existing list.
+         *
+         * @return array An array of global variables
+         */
+        function getGlobals();
+
+        /**
+         * Returns the name of the extension.
+         *
+         * @return string The extension name
+         */
+        function getName();
+    }
+
+To keep your extension class clean and lean, it can inherit from the built-in
+``Twig_Extension`` class instead of implementing the whole interface. That
+way, you just need to implement the ``getName()`` method as the
+``Twig_Extension`` provides empty implementations for all other methods.
+
+The ``getName()`` method must return a unique identifier for your extension.
+
+Now, with this information in mind, let's create the most basic extension
+possible::
+
+    class Project_Twig_Extension extends Twig_Extension
+    {
+        public function getName()
+        {
+            return 'project';
+        }
+    }
+
+.. note::
+
+    Of course, this extension does nothing for now. We will customize it in
+    the next sections.
+
+Twig does not care where you save your extension on the filesystem, as all
+extensions must be registered explicitly to be available in your templates.
+
+You can register an extension by using the ``addExtension()`` method on your
+main ``Environment`` object::
+
+    $twig = new Twig_Environment($loader);
+    $twig->addExtension(new Project_Twig_Extension());
+
+Of course, you need to first load the extension file by either using
+``require_once()`` or by using an autoloader (see `spl_autoload_register()`_).
+
+.. tip::
+
+    The bundled extensions are great examples of how extensions work.
+
+Globals
+~~~~~~~
+
+Global variables can be registered in an extension via the ``getGlobals()``
+method::
+
+    class Project_Twig_Extension extends Twig_Extension
+    {
+        public function getGlobals()
+        {
+            return array(
+                'text' => new Text(),
+            );
+        }
+
+        // ...
+    }
+
+Functions
+~~~~~~~~~
+
+Functions can be registered in an extension via the ``getFunctions()``
+method::
+
+    class Project_Twig_Extension extends Twig_Extension
+    {
+        public function getFunctions()
+        {
+            return array(
+                'lipsum' => new Twig_Function_Function('generate_lipsum'),
+            );
+        }
+
+        // ...
+    }
+
+Filters
+~~~~~~~
+
+To add a filter to an extension, you need to override the ``getFilters()``
+method. This method must return an array of filters to add to the Twig
+environment::
+
+    class Project_Twig_Extension extends Twig_Extension
+    {
+        public function getFilters()
+        {
+            return array(
+                'rot13' => new Twig_Filter_Function('str_rot13'),
+            );
+        }
+
+        // ...
+    }
+
+As you can see in the above code, the ``getFilters()`` method returns an array
+where keys are the name of the filters (``rot13``) and the values the
+definition of the filter (``new Twig_Filter_Function('str_rot13')``).
+
+As seen in the previous chapter, you can also define filters as static methods
+on the extension class::
+
+$twig->addFilter('rot13', new Twig_Filter_Function('Project_Twig_Extension::rot13Filter'));
+
+You can also use ``Twig_Filter_Method`` instead of ``Twig_Filter_Function``
+when defining a filter to use a method::
+
+    class Project_Twig_Extension extends Twig_Extension
+    {
+        public function getFilters()
+        {
+            return array(
+                'rot13' => new Twig_Filter_Method($this, 'rot13Filter'),
+            );
+        }
+
+        public function rot13Filter($string)
+        {
+            return str_rot13($string);
+        }
+
+        // ...
+    }
+
+The first argument of the ``Twig_Filter_Method`` constructor is always
+``$this``, the current extension object. The second one is the name of the
+method to call.
+
+Using methods for filters is a great way to package your filter without
+polluting the global namespace. This also gives the developer more flexibility
+at the cost of a small overhead.
+
+Overriding default Filters
+..........................
+
+If some default core filters do not suit your needs, you can easily override
+them by creating your own extension. Just use the same names as the one you
+want to override::
+
+    class MyCoreExtension extends Twig_Extension
+    {
+        public function getFilters()
+        {
+            return array(
+                'date' => new Twig_Filter_Method($this, 'dateFilter'),
+                // ...
+            );
+        }
+
+        public function dateFilter($timestamp, $format = 'F j, Y H:i')
+        {
+            return '...'.twig_date_format_filter($timestamp, $format);
+        }
+
+        public function getName()
+        {
+            return 'project';
+        }
+    }
+
+Here, we override the ``date`` filter with a custom one. Using this extension
+is as simple as registering the ``MyCoreExtension`` extension by calling the
+``addExtension()`` method on the environment instance::
+
+    $twig = new Twig_Environment($loader);
+    $twig->addExtension(new MyCoreExtension());
+
+Tags
+~~~~
+
+Adding a tag in an extension can be done by overriding the
+``getTokenParsers()`` method. This method must return an array of tags to add
+to the Twig environment::
+
+    class Project_Twig_Extension extends Twig_Extension
+    {
+        public function getTokenParsers()
+        {
+            return array(new Project_Set_TokenParser());
+        }
+
+        // ...
+    }
+
+In the above code, we have added a single new tag, defined by the
+``Project_Set_TokenParser`` class. The ``Project_Set_TokenParser`` class is
+responsible for parsing the tag and compiling it to PHP.
+
+Operators
+~~~~~~~~~
+
+The ``getOperators()`` methods allows to add new operators. Here is how to add
+``!``, ``||``, and ``&&`` operators::
+
+    class Project_Twig_Extension extends Twig_Extension
+    {
+        public function getOperators()
+        {
+            return array(
+                array(
+                    '!' => array('precedence' => 50, 'class' => 'Twig_Node_Expression_Unary_Not'),
+                ),
+                array(
+                    '||' => array('precedence' => 10, 'class' => 'Twig_Node_Expression_Binary_Or', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                    '&&' => array('precedence' => 15, 'class' => 'Twig_Node_Expression_Binary_And', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                ),
+            );
+        }
+
+        // ...
+    }
+
+Tests
+~~~~~
+
+The ``getTests()`` methods allows to add new test functions::
+
+    class Project_Twig_Extension extends Twig_Extension
+    {
+        public function getTests()
+        {
+            return array(
+                'even' => new Twig_Test_Function('twig_test_even'),
+            );
+        }
+
+        // ...
+    }
+
+Testing an Extension
+--------------------
+
+.. versionadded:: 1.10
+    Support for functional tests was added in Twig 1.10.
+
+Functional Tests
+~~~~~~~~~~~~~~~~
+
+You can create functional tests for extensions simply by creating the
+following file structure in your test directory::
+
+    Fixtures/
+        filters/
+            foo.test
+            bar.test
+        functions/
+            foo.test
+            bar.test
+        tags/
+            foo.test
+            bar.test
+    IntegrationTest.php
+
+The ``IntegrationTest.php`` file should look like this::
+
+    class Project_Tests_IntegrationTest extends Twig_Test_IntegrationTestCase
+    {
+        public function getExtensions()
+        {
+            return array(
+                new Project_Twig_Extension1(),
+                new Project_Twig_Extension2(),
+            );
+        }
+
+        public function getFixturesDir()
+        {
+            return dirname(__FILE__).'/Fixtures/';
+        }
+    }
+
+Fixtures examples can be found within the Twig repository
+`tests/Twig/Fixtures`_ directory.
+
+Node Tests
+~~~~~~~~~~
+
+Testing the node visitors can be complex, so extend your test cases from
+``Twig_Test_NodeTestCase``. Examples can be found in the Twig repository
+`tests/Twig/Node`_ directory.
+
+.. _`spl_autoload_register()`: http://www.php.net/spl_autoload_register
+.. _`rot13`:                   http://www.php.net/manual/en/function.str-rot13.php
+.. _`tests/Twig/Fixtures`:     https://github.com/fabpot/Twig/tree/master/test/Twig/Tests/Fixtures
+.. _`tests/Twig/Node`:         https://github.com/fabpot/Twig/tree/master/test/Twig/Tests/Node
diff --git a/core/vendor/twig/twig/doc/api.rst b/core/vendor/twig/twig/doc/api.rst
index fbcc8bc..9160c3f 100644
--- a/core/vendor/twig/twig/doc/api.rst
+++ b/core/vendor/twig/twig/doc/api.rst
@@ -317,10 +317,7 @@ Twig comes bundled with the following extensions:
 * *Twig_Extension_Optimizer*: Optimizers the node tree before compilation.
 
 The core, escaper, and optimizer extensions do not need to be added to the
-Twig environment, as they are registered by default. You can disable an
-already registered extension::
-
-    $twig->removeExtension('escaper');
+Twig environment, as they are registered by default.
 
 Built-in Extensions
 -------------------
@@ -354,7 +351,7 @@ The ``core`` extension defines all the core features of Twig:
   * ``do``
   * ``embed``
   * ``flush``
-  * ``raw``
+  * ``verbatim``
   * ``sandbox``
   * ``use``
 
diff --git a/core/vendor/twig/twig/doc/deprecated.rst b/core/vendor/twig/twig/doc/deprecated.rst
new file mode 100644
index 0000000..f0a3a0f
--- /dev/null
+++ b/core/vendor/twig/twig/doc/deprecated.rst
@@ -0,0 +1,98 @@
+Deprecated Features
+===================
+
+This document lists all deprecated features in Twig. Deprecated features are
+kept for backward compatibility and removed in the next major release (a
+feature that was deprecated in Twig 1.x is removed in Twig 2.0).
+
+Token Parsers
+-------------
+
+* As of Twig 1.x, the token parser broker sub-system is deprecated. The
+  following class and interface will be removed in 2.0:
+
+  * ``Twig_TokenParserBrokerInterface``
+  * ``Twig_TokenParserBroker``
+
+Extensions
+----------
+
+* As of Twig 1.x, the ability to remove an extension is deprecated and the
+  ``Twig_Environment::removeExtension()`` method will be removed in 2.0.
+
+PEAR
+----
+
+PEAR support will be discontinued in Twig 2.0, and no PEAR packages will be
+provided. Use Composer instead.
+
+Filters
+-------
+
+* As of Twig 1.x, use ``Twig_SimpleFilter`` to add a filter. The following
+  classes and interfaces will be removed in 2.0:
+
+  * ``Twig_FilterInterface``
+  * ``Twig_FilterCallableInterface``
+  * ``Twig_Filter``
+  * ``Twig_Filter_Function``
+  * ``Twig_Filter_Method``
+  * ``Twig_Filter_Node``
+
+* As of Twig 2.x, the ``Twig_SimpleFilter`` class is deprecated and will be
+  removed in Twig 3.x (use ``Twig_Filter`` instead). In Twig 2.x,
+  ``Twig_SimpleFilter`` is just an alias for ``Twig_Filter``.
+
+Functions
+---------
+
+* As of Twig 1.x, use ``Twig_SimpleFunction`` to add a function. The following
+  classes and interfaces will be removed in 2.0:
+
+  * ``Twig_FunctionInterface``
+  * ``Twig_FunctionCallableInterface``
+  * ``Twig_Function``
+  * ``Twig_Function_Function``
+  * ``Twig_Function_Method``
+  * ``Twig_Function_Node``
+
+* As of Twig 2.x, the ``Twig_SimpleFunction`` class is deprecated and will be
+  removed in Twig 3.x (use ``Twig_Function`` instead). In Twig 2.x,
+  ``Twig_SimpleFunction`` is just an alias for ``Twig_Function``.
+
+Tests
+-----
+
+* As of Twig 1.x, use ``Twig_SimpleTest`` to add a test. The following classes
+  and interfaces will be removed in 2.0:
+
+  * ``Twig_TestInterface``
+  * ``Twig_TestCallableInterface``
+  * ``Twig_Test``
+  * ``Twig_Test_Function``
+  * ``Twig_Test_Method``
+  * ``Twig_Test_Node``
+
+* As of Twig 2.x, the ``Twig_SimpleTest`` class is deprecated and will be
+  removed in Twig 3.x (use ``Twig_Test`` instead). In Twig 2.x,
+  ``Twig_SimpleTest`` is just an alias for ``Twig_Test``.
+
+Interfaces
+----------
+
+* As of Twig 2.x, the following interfaces are deprecated and empty (they will
+  be removed in Twig 3.0):
+
+* ``Twig_CompilerInterface``     (use ``Twig_Compiler`` instead)
+* ``Twig_LexerInterface``        (use ``Twig_Lexer`` instead)
+* ``Twig_NodeInterface``         (use ``Twig_Node`` instead)
+* ``Twig_ParserInterface``       (use ``Twig_Parser`` instead)
+* ``Twig_ExistsLoaderInterface`` (merged with ``Twig_LoaderInterface``)
+* ``Twig_TemplateInterface``     (use ``Twig_Template`` instead)
+
+Globals
+-------
+
+* As of Twig 2.x, the ability to register a global variable after the runtime
+  or the extensions have been initialized is not possible anymore (but
+  changing the value of an already registered global is possible).
diff --git a/core/vendor/twig/twig/doc/filters/convert_encoding.rst b/core/vendor/twig/twig/doc/filters/convert_encoding.rst
index 2febab2..1b0eb60 100644
--- a/core/vendor/twig/twig/doc/filters/convert_encoding.rst
+++ b/core/vendor/twig/twig/doc/filters/convert_encoding.rst
@@ -18,5 +18,11 @@ is the input charset:
     them must be installed. In case both are installed, `mbstring`_ is used by
     default (Twig before 1.8.1 uses `iconv`_ by default).
 
+Arguments
+---------
+
+ * ``from``: The input charset
+ * ``to``:   The output charset
+
 .. _`iconv`:    http://php.net/iconv
 .. _`mbstring`: http://php.net/mbstring
diff --git a/core/vendor/twig/twig/doc/filters/date.rst b/core/vendor/twig/twig/doc/filters/date.rst
index 39ad732..8e2f31f 100644
--- a/core/vendor/twig/twig/doc/filters/date.rst
+++ b/core/vendor/twig/twig/doc/filters/date.rst
@@ -77,6 +77,12 @@ The default timezone can also be set globally by calling ``setTimezone()``:
     $twig = new Twig_Environment($loader);
     $twig->getExtension('core')->setTimezone('Europe/Paris');
 
+Arguments
+---------
+
+ * ``format``:   The date format
+ * ``timezone``: The date timezone
+
 .. _`strtotime`:    http://www.php.net/strtotime
 .. _`DateTime`:     http://www.php.net/DateTime
 .. _`DateInterval`: http://www.php.net/DateInterval
diff --git a/core/vendor/twig/twig/doc/filters/date_modify.rst b/core/vendor/twig/twig/doc/filters/date_modify.rst
index ae12c52..6a5c73d 100644
--- a/core/vendor/twig/twig/doc/filters/date_modify.rst
+++ b/core/vendor/twig/twig/doc/filters/date_modify.rst
@@ -14,5 +14,10 @@ The ``date_modify`` filter accepts strings (it must be in a format supported
 by the `strtotime`_ function) or `DateTime`_ instances. You can easily combine
 it with the :doc:`date<date>` filter for formatting.
 
+Arguments
+---------
+
+ * ``modifier``: The modifier
+
 .. _`strtotime`: http://www.php.net/strtotime
 .. _`DateTime`:  http://www.php.net/DateTime
diff --git a/core/vendor/twig/twig/doc/filters/default.rst b/core/vendor/twig/twig/doc/filters/default.rst
index 4055ead..46ed963 100644
--- a/core/vendor/twig/twig/doc/filters/default.rst
+++ b/core/vendor/twig/twig/doc/filters/default.rst
@@ -26,3 +26,8 @@ undefined:
 
     Read the documentation for the :doc:`defined<../tests/defined>` and
     :doc:`empty<../tests/empty>` tests to learn more about their semantics.
+
+Arguments
+---------
+
+ * ``default``: The default value
diff --git a/core/vendor/twig/twig/doc/filters/escape.rst b/core/vendor/twig/twig/doc/filters/escape.rst
index ddb2bbb..5ade7d7 100644
--- a/core/vendor/twig/twig/doc/filters/escape.rst
+++ b/core/vendor/twig/twig/doc/filters/escape.rst
@@ -74,7 +74,7 @@ The ``escape`` filter supports the following escaping strategies:
         {% endautoescape %}
 
     When using a variable as the escaping strategy, you should disable
-    automatic escaping::
+    automatic escaping:
 
     .. code-block:: jinja
 
@@ -84,4 +84,10 @@ The ``escape`` filter supports the following escaping strategies:
             {{ var|escape(strategy)|raw }} {# won't be double-escaped #}
         {% endautoescape %}
 
+Arguments
+---------
+
+ * ``strategy``: The escaping strategy
+ * ``charset``:  The string charset
+
 .. _`htmlspecialchars`: http://php.net/htmlspecialchars
diff --git a/core/vendor/twig/twig/doc/filters/join.rst b/core/vendor/twig/twig/doc/filters/join.rst
index eec2045..f495242 100644
--- a/core/vendor/twig/twig/doc/filters/join.rst
+++ b/core/vendor/twig/twig/doc/filters/join.rst
@@ -16,3 +16,8 @@ define it with the optional first parameter:
 
     {{ [1, 2, 3]|join('|') }}
     {# returns 1|2|3 #}
+
+Arguments
+---------
+
+ * ``glue``: The separator
diff --git a/core/vendor/twig/twig/doc/filters/json_encode.rst b/core/vendor/twig/twig/doc/filters/json_encode.rst
index c7d19b3..374f519 100644
--- a/core/vendor/twig/twig/doc/filters/json_encode.rst
+++ b/core/vendor/twig/twig/doc/filters/json_encode.rst
@@ -11,4 +11,9 @@ The ``json_encode`` filter returns the JSON representation of a string:
 
     Internally, Twig uses the PHP `json_encode`_ function.
 
+Arguments
+---------
+
+ * ``options``: The options
+
 .. _`json_encode`: http://php.net/json_encode
diff --git a/core/vendor/twig/twig/doc/filters/number_format.rst b/core/vendor/twig/twig/doc/filters/number_format.rst
index b591b1e..fedacd9 100644
--- a/core/vendor/twig/twig/doc/filters/number_format.rst
+++ b/core/vendor/twig/twig/doc/filters/number_format.rst
@@ -35,4 +35,11 @@ These defaults can be easily changed through the core extension:
 The defaults set for ``number_format`` can be over-ridden upon each call using the
 additional parameters.
 
+Arguments
+---------
+
+ * ``decimal``:       The number of decimal points to display
+ * ``decimal_point``: The character(s) to use for the decimal point
+ * ``decimal_sep``:   The character(s) to use for the thousands separator
+
 .. _`number_format`: http://php.net/number_format
diff --git a/core/vendor/twig/twig/doc/filters/replace.rst b/core/vendor/twig/twig/doc/filters/replace.rst
index cc603fa..e961f23 100644
--- a/core/vendor/twig/twig/doc/filters/replace.rst
+++ b/core/vendor/twig/twig/doc/filters/replace.rst
@@ -11,4 +11,9 @@ The ``replace`` filter formats a given string by replacing the placeholders
     {# returns I like foo and bar
        if the foo parameter equals to the foo string. #}
 
+Arguments
+---------
+
+ * ``replace_pairs``: The placeholder values
+
 .. seealso:: :doc:`format<format>`
diff --git a/core/vendor/twig/twig/doc/filters/slice.rst b/core/vendor/twig/twig/doc/filters/slice.rst
index 80a4293..7a9ada0 100644
--- a/core/vendor/twig/twig/doc/filters/slice.rst
+++ b/core/vendor/twig/twig/doc/filters/slice.rst
@@ -34,6 +34,12 @@ As syntactic sugar, you can also use the ``[]`` notation:
 
     {{ '1234'[1:2] }}
 
+    {# you can omit the first argument -- which is the same as 0 #}
+    {{ '1234'[:2] }} {# will display "12" #}
+
+    {# you can omit the last argument -- which will select everything till the end #}
+    {{ '1234'[2:] }} {# will display "34 #}
+
 The ``slice`` filter works as the `array_slice`_ PHP function for arrays and
 `substr`_ for strings.
 
@@ -52,6 +58,13 @@ up until the end of the variable.
 
     It also works with objects implementing the `Traversable`_ interface.
 
+Arguments
+---------
+
+ * ``start``:         The start of the slice
+ * ``length``:        The size of the slice
+ * ``preserve_keys``: Whether to preserve key or not (when the input is an array)
+
 .. _`Traversable`: http://php.net/manual/en/class.traversable.php
 .. _`array_slice`: http://php.net/array_slice
 .. _`substr`:      http://php.net/substr
diff --git a/core/vendor/twig/twig/doc/filters/split.rst b/core/vendor/twig/twig/doc/filters/split.rst
index 9b9e4e6..7cd2ca5 100644
--- a/core/vendor/twig/twig/doc/filters/split.rst
+++ b/core/vendor/twig/twig/doc/filters/split.rst
@@ -25,7 +25,7 @@ You can also pass a ``limit`` argument:
 .. code-block:: jinja
 
     {{ "one,two,three,four,five"|split(',', 3) }}
-    {# returns [one, two, "three,four,five"] #}
+    {# returns ['one', 'two', 'three,four,five'] #}
 
 If the ``delimiter`` is an empty string, then value will be split by equal
 chunks. Length is set by the ``limit`` argument (one character by default).
@@ -33,15 +33,21 @@ chunks. Length is set by the ``limit`` argument (one character by default).
 .. code-block:: jinja
 
     {{ "123"|split('') }}
-    {# returns [1, 2, 3] #}
+    {# returns ['1', '2', '3'] #}
 
     {{ "aabbcc"|split('', 2) }}
-    {# returns [aa, bb, cc] #}
+    {# returns ['aa', 'bb', 'cc'] #}
 
 .. note::
 
     Internally, Twig uses the PHP `explode`_ or `str_split`_ (if delimiter is
     empty) functions for string splitting.
 
+Arguments
+---------
+
+ * ``delimiter``: The delimiter
+ * ``limit``:     The limit argument
+
 .. _`explode`:   http://php.net/explode
 .. _`str_split`: http://php.net/str_split
diff --git a/core/vendor/twig/twig/doc/filters/trim.rst b/core/vendor/twig/twig/doc/filters/trim.rst
index f1215f6..f38afd5 100644
--- a/core/vendor/twig/twig/doc/filters/trim.rst
+++ b/core/vendor/twig/twig/doc/filters/trim.rst
@@ -21,4 +21,9 @@ and end of a string:
 
     Internally, Twig uses the PHP `trim`_ function.
 
+Arguments
+---------
+
+ * ``character_mask``: The characters to strip
+
 .. _`trim`: http://php.net/trim
diff --git a/core/vendor/twig/twig/doc/functions/constant.rst b/core/vendor/twig/twig/doc/functions/constant.rst
index 5b247b3..bea0e9f 100644
--- a/core/vendor/twig/twig/doc/functions/constant.rst
+++ b/core/vendor/twig/twig/doc/functions/constant.rst
@@ -1,9 +1,18 @@
 ``constant``
 ============
 
+.. versionadded: 1.12.1
+    constant now accepts object instances as the second argument.
+
 ``constant`` returns the constant value for a given string:
 
 .. code-block:: jinja
 
     {{ some_date|date(constant('DATE_W3C')) }}
     {{ constant('Namespace\\Classname::CONSTANT_NAME') }}
+
+As of 1.12.1 you can read constants from object instances as well:
+
+.. code-block:: jinja
+
+    {{ constant('RSS', date) }}
diff --git a/core/vendor/twig/twig/doc/functions/cycle.rst b/core/vendor/twig/twig/doc/functions/cycle.rst
index fe11d68..0015cae 100644
--- a/core/vendor/twig/twig/doc/functions/cycle.rst
+++ b/core/vendor/twig/twig/doc/functions/cycle.rst
@@ -18,3 +18,8 @@ The array can contain any number of values:
     {% for i in 0..10 %}
         {{ cycle(fruits, i) }}
     {% endfor %}
+
+Arguments
+---------
+
+ * ``position``: The cycle position
diff --git a/core/vendor/twig/twig/doc/functions/date.rst b/core/vendor/twig/twig/doc/functions/date.rst
index c1a011c..fd67fc5 100644
--- a/core/vendor/twig/twig/doc/functions/date.rst
+++ b/core/vendor/twig/twig/doc/functions/date.rst
@@ -43,4 +43,10 @@ If no argument is passed, the function returns the current date:
         $twig = new Twig_Environment($loader);
         $twig->getExtension('core')->setTimezone('Europe/Paris');
 
+Arguments
+---------
+
+ * ``date``:     The date
+ * ``timezone``: The timezone
+
 .. _`date`: http://www.php.net/date
diff --git a/core/vendor/twig/twig/doc/functions/dump.rst b/core/vendor/twig/twig/doc/functions/dump.rst
index 8ff0c05..1500b0f 100644
--- a/core/vendor/twig/twig/doc/functions/dump.rst
+++ b/core/vendor/twig/twig/doc/functions/dump.rst
@@ -60,5 +60,10 @@ dumped:
 
     Internally, Twig uses the PHP `var_dump`_ function.
 
+Arguments
+---------
+
+ * ``context``: The context to dump
+
 .. _`XDebug`:   http://xdebug.org/docs/display
 .. _`var_dump`: http://php.net/var_dump
diff --git a/core/vendor/twig/twig/doc/functions/include.rst b/core/vendor/twig/twig/doc/functions/include.rst
new file mode 100644
index 0000000..eaddfe6
--- /dev/null
+++ b/core/vendor/twig/twig/doc/functions/include.rst
@@ -0,0 +1,80 @@
+``include``
+===========
+
+.. versionadded:: 1.12
+    The include function was added in Twig 1.12.
+
+The ``include`` function returns the rendered content of a template:
+
+.. code-block:: jinja
+
+    {{ include('template.html') }}
+    {{ include(some_var) }}
+
+Included templates have access to the variables of the active context.
+
+If you are using the filesystem loader, the templates are looked for in the
+paths defined by it.
+
+The context is passed by default to the template but you can also pass
+additional variables:
+
+.. code-block:: jinja
+
+    {# template.html will have access to the variables from the current context and the additional ones provided #}
+    {{ include('template.html', {foo: 'bar'}) }}
+
+You can disable access to the context by setting ``with_context`` to
+``false``:
+
+.. code-block:: jinja
+
+    {# only the foo variable will be accessible #}
+    {{ include('template.html', {foo: 'bar'}, with_context = false) }}
+
+.. code-block:: jinja
+
+    {# no variables will be accessible #}
+    {{ include('template.html', with_context = false) }}
+
+And if the expression evaluates to a ``Twig_Template`` object, Twig will use it
+directly::
+
+    // {{ include(template) }}
+
+    $template = $twig->loadTemplate('some_template.twig');
+
+    $twig->loadTemplate('template.twig')->display(array('template' => $template));
+
+When you set the ``ignore_missing`` flag, Twig will return an empty string if
+the template does not exist:
+
+.. code-block:: jinja
+
+    {{ include('sidebar.html', ignore_missing = true) }}
+
+You can also provide a list of templates that are checked for existence before
+inclusion. The first template that exists will be rendered:
+
+.. code-block:: jinja
+
+    {{ include(['page_detailed.html', 'page.html']) }}
+
+If ``ignore_missing`` is set, it will fall back to rendering nothing if none
+of the templates exist, otherwise it will throw an exception.
+
+When including a template created by an end user, you should consider
+sandboxing it:
+
+.. code-block:: jinja
+
+    {{ include('page.html', sandboxed = true) }}
+
+Arguments
+---------
+
+ * ``template``:       The template to render
+ * ``variables``:      The variables to pass to the template
+ * ``with_context``:   Whether to pass the current context variables or not
+ * ``ignore_missing``: Whether to ignore missing templates or not
+ * ``sandboxed``:      Whether to sandbox the template or not
diff --git a/core/vendor/twig/twig/doc/functions/index.rst b/core/vendor/twig/twig/doc/functions/index.rst
index 4d9a003..c5ac896 100644
--- a/core/vendor/twig/twig/doc/functions/index.rst
+++ b/core/vendor/twig/twig/doc/functions/index.rst
@@ -14,3 +14,4 @@ Functions
     dump
     date
     template_from_string
+    include
diff --git a/core/vendor/twig/twig/doc/functions/random.rst b/core/vendor/twig/twig/doc/functions/random.rst
index 104493d..a5a916b 100644
--- a/core/vendor/twig/twig/doc/functions/random.rst
+++ b/core/vendor/twig/twig/doc/functions/random.rst
@@ -21,4 +21,9 @@ parameter type:
     {{ random() }}                              {# example output: 15386094 (works as native PHP `mt_rand`_ function) #}
     {{ random(5) }}                             {# example output: 3 #}
 
+Arguments
+---------
+
+ * ``values``: The values
+
 .. _`mt_rand`: http://php.net/mt_rand
diff --git a/core/vendor/twig/twig/doc/functions/range.rst b/core/vendor/twig/twig/doc/functions/range.rst
index c9bdd96..b1fa547 100644
--- a/core/vendor/twig/twig/doc/functions/range.rst
+++ b/core/vendor/twig/twig/doc/functions/range.rst
@@ -35,4 +35,11 @@ function (with a step of 1):
 
     The ``range`` function works as the native PHP `range`_ function.
 
+Arguments
+---------
+
+ * ``low``:  The first value of the sequence.
+ * ``high``: The highest possible value of the sequence.
+ * ``step``: The increment between elements of the sequence.
+
 .. _`range`: http://php.net/range
diff --git a/core/vendor/twig/twig/doc/functions/template_from_string.rst b/core/vendor/twig/twig/doc/functions/template_from_string.rst
index 0b3b0b4..6df650e 100644
--- a/core/vendor/twig/twig/doc/functions/template_from_string.rst
+++ b/core/vendor/twig/twig/doc/functions/template_from_string.rst
@@ -25,3 +25,8 @@ The ``template_from_string`` function loads a template from a string:
     Even if you will probably always use the ``template_from_string`` function
     with the ``include`` tag, you can use it with any tag or function that
     takes a template as an argument (like the ``embed`` or ``extends`` tags).
+
+Arguments
+---------
+
+ * ``template``: The template
diff --git a/core/vendor/twig/twig/doc/index.rst b/core/vendor/twig/twig/doc/index.rst
index 56012f7..3e5166c 100644
--- a/core/vendor/twig/twig/doc/index.rst
+++ b/core/vendor/twig/twig/doc/index.rst
@@ -15,3 +15,4 @@ Twig
     filters/index
     functions/index
     tests/index
+    deprecated
diff --git a/core/vendor/twig/twig/doc/tags/include.rst b/core/vendor/twig/twig/doc/tags/include.rst
index 1440c50..d839968 100644
--- a/core/vendor/twig/twig/doc/tags/include.rst
+++ b/core/vendor/twig/twig/doc/tags/include.rst
@@ -19,23 +19,23 @@ You can add additional variables by passing them after the ``with`` keyword:
 
 .. code-block:: jinja
 
-    {# the foo template will have access to the variables from the current context and the foo one #}
-    {% include 'foo' with {'foo': 'bar'} %}
+    {# template.html will have access to the variables from the current context and the additional ones provided #}
+    {% include 'template.html' with {'foo': 'bar'} %}
 
     {% set vars = {'foo': 'bar'} %}
-    {% include 'foo' with vars %}
+    {% include 'template.html' with vars %}
 
 You can disable access to the context by appending the ``only`` keyword:
 
 .. code-block:: jinja
 
     {# only the foo variable will be accessible #}
-    {% include 'foo' with {'foo': 'bar'} only %}
+    {% include 'template.html' with {'foo': 'bar'} only %}
 
 .. code-block:: jinja
 
-    {# no variable will be accessible #}
-    {% include 'foo' only %}
+    {# no variables will be accessible #}
+    {% include 'template.html' only %}
 
 .. tip::
 
@@ -68,9 +68,9 @@ placed just after the template name. Here some valid examples:
 
 .. code-block:: jinja
 
-    {% include "sidebar.html" ignore missing %}
-    {% include "sidebar.html" ignore missing with {'foo': 'bar} %}
-    {% include "sidebar.html" ignore missing only %}
+    {% include 'sidebar.html' ignore missing %}
+    {% include 'sidebar.html' ignore missing with {'foo': 'bar'} %}
+    {% include 'sidebar.html' ignore missing only %}
 
 .. versionadded:: 1.2
     The possibility to pass an array of templates has been added in Twig 1.2.
diff --git a/core/vendor/twig/twig/doc/tags/index.rst b/core/vendor/twig/twig/doc/tags/index.rst
index fe0a00f..6dbc550 100644
--- a/core/vendor/twig/twig/doc/tags/index.rst
+++ b/core/vendor/twig/twig/doc/tags/index.rst
@@ -17,7 +17,7 @@ Tags
     use
     spaceless
     autoescape
-    raw
+    verbatim
     flush
     do
     sandbox
diff --git a/core/vendor/twig/twig/doc/tags/raw.rst b/core/vendor/twig/twig/doc/tags/raw.rst
deleted file mode 100644
index 4136c70..0000000
--- a/core/vendor/twig/twig/doc/tags/raw.rst
+++ /dev/null
@@ -1,16 +0,0 @@
-``raw``
-=======
-
-The ``raw`` tag marks sections as being raw text that should not be parsed.
-For example to put Twig syntax as example into a template you can use this
-snippet:
-
-.. code-block:: jinja
-
-    {% raw %}
-        <ul>
-        {% for item in seq %}
-            <li>{{ item }}</li>
-        {% endfor %}
-        </ul>
-    {% endraw %}
diff --git a/core/vendor/twig/twig/doc/tags/verbatim.rst b/core/vendor/twig/twig/doc/tags/verbatim.rst
new file mode 100644
index 0000000..fe61ca1
--- /dev/null
+++ b/core/vendor/twig/twig/doc/tags/verbatim.rst
@@ -0,0 +1,24 @@
+``verbatim``
+============
+
+.. versionadded:: 1.12
+    The ``verbatim`` tag was added in Twig 1.12 (it was named ``raw`` before).
+
+The ``verbatim`` tag marks sections as being raw text that should not be
+parsed. For example to put Twig syntax as example into a template you can use
+this snippet:
+
+.. code-block:: jinja
+
+    {% verbatim %}
+        <ul>
+        {% for item in seq %}
+            <li>{{ item }}</li>
+        {% endfor %}
+        </ul>
+    {% endverbatim %}
+
+.. note::
+
+    The ``verbatim`` tag works in the exact same way as the old ``raw`` tag,
+    but was renamed to avoid confusion with the ``raw`` filter.
\ No newline at end of file
diff --git a/core/vendor/twig/twig/doc/templates.rst b/core/vendor/twig/twig/doc/templates.rst
index 104dcad..a23fcb6 100644
--- a/core/vendor/twig/twig/doc/templates.rst
+++ b/core/vendor/twig/twig/doc/templates.rst
@@ -57,6 +57,7 @@ Many IDEs support syntax highlighting and auto-completion for Twig:
 * *Coda 2* via the `other Twig syntax mode`_
 * *Komodo* and *Komodo Edit* via the Twig highlight/syntax check mode
 * *Notepad++* via the `Notepad++ Twig Highlighter`_
+* *Emacs* via `web-mode.el`_
 
 Variables
 ---------
@@ -190,6 +191,56 @@ progression of integers:
 Go to the :doc:`functions<functions/index>` page to learn more about the
 built-in functions.
 
+Named Arguments
+---------------
+
+.. versionadded:: 1.12
+    Support for named arguments was added in Twig 1.12.
+
+Arguments for filters and functions can also be passed as *named arguments*:
+
+.. code-block:: jinja
+
+    {% for i in range(low=1, high=10, step=2) %}
+        {{ i }},
+    {% endfor %}
+
+Using named arguments makes your templates more explicit about the meaning of
+the values you pass as arguments:
+
+.. code-block:: jinja
+
+    {{ data|convert_encoding('UTF-8', 'iso-2022-jp') }}
+
+    {# versus #}
+
+    {{ data|convert_encoding(from='iso-2022-jp', to='UTF-8') }}
+
+Named arguments also allow you to skip some arguments for which you don't want
+to change the default value::
+
+.. code-block:: jinja
+
+    {# the first argument is the date format, which defaults to the global date format if null is passed #}
+    {{ "now"|date(null, "Europe/Paris") }}
+
+    {# or skip the format value by using a named argument for the timezone #}
+    {{ "now"|date(timezone="Europe/Paris") }}
+
+You can also use both positional and named arguments in one call, which is not
+recommended as it can be confusing:
+
+.. code-block:: jinja
+
+    {# both work #}
+    {{ "now"|date('d/m/Y H:i', timezone="Europe/Paris") }}
+    {{ "now"|date(timezone="Europe/Paris", 'd/m/Y H:i') }}
+
+.. tip::
+
+    Each function and filter documentation page has a section where the names
+    of all arguments are listed when supported.
+
 Control Structure
 -----------------
 
@@ -438,11 +489,15 @@ expression:
 
     {{ '{{' }}
 
-For bigger sections it makes sense to mark a block :doc:`raw<tags/raw>`.
+For bigger sections it makes sense to mark a block
+:doc:`verbatim<tags/verbatim>`.
 
 Macros
 ------
 
+.. versionadded:: 1.12
+    Support for default argument values was added in Twig 1.12.
+
 Macros are comparable with functions in regular programming languages. They
 are useful to reuse often used HTML fragments to not repeat yourself.
 
@@ -478,6 +533,15 @@ current namespace via the :doc:`from<tags/from>` tag and optionally alias them:
         <dd>{{ input_field('password', '', 'password') }}</dd>
     </dl>
 
+A default value can also be defined for macro arguments when not provided in a
+macro call:
+
+.. code-block:: jinja
+
+    {% macro input(name, value = "", type = "text", size = 20) %}
+        <input type="{{ type }}" name="{{ name }}" value="{{ value|e }}" size="{{ size }}" />
+    {% endmacro %}
+
 Expressions
 -----------
 
@@ -659,6 +723,9 @@ tests.
 Other Operators
 ~~~~~~~~~~~~~~~
 
+.. versionadded:: 1.12.0
+    Support for the extended ternary operator was added in Twig 1.12.0.
+
 The following operators are very useful but don't fit into any of the other
 categories:
 
@@ -674,7 +741,15 @@ categories:
 
 * ``.``, ``[]``: Gets an attribute of an object.
 
-* ``?:``: The PHP ternary operator: ``{{ foo ? 'yes' : 'no' }}``
+* ``?:``: The ternary operator:
+
+  .. code-block:: jinja
+
+      {{ foo ? 'yes' : 'no' }}
+
+      {# as of Twig 1.12.0 #}
+      {{ foo ?: 'no' }} == {{ foo ? foo : 'no' }}
+      {{ foo ? 'yes' }} == {{ foo ? 'yes' : '' }}
 
 String Interpolation
 ~~~~~~~~~~~~~~~~~~~~
@@ -759,3 +834,4 @@ Extension<creating_extensions>` chapter.
 .. _`Twig syntax mode`:           https://github.com/bobthecow/Twig-HTML.mode
 .. _`other Twig syntax mode`:     https://github.com/muxx/Twig-HTML.mode
 .. _`Notepad++ Twig Highlighter`: https://github.com/Banane9/notepadplusplus-twig
+.. _`web-mode.el`:                http://web-mode.org/
diff --git a/core/vendor/twig/twig/ext/twig/php_twig.h b/core/vendor/twig/twig/ext/twig/php_twig.h
index 0cba858..1508b0e 100644
--- a/core/vendor/twig/twig/ext/twig/php_twig.h
+++ b/core/vendor/twig/twig/ext/twig/php_twig.h
@@ -15,7 +15,7 @@
 #ifndef PHP_TWIG_H
 #define PHP_TWIG_H
 
-#define PHP_TWIG_VERSION "1.11.1"
+#define PHP_TWIG_VERSION "1.12.1"
 
 #include "php.h"
 
diff --git a/core/vendor/twig/twig/ext/twig/twig.c b/core/vendor/twig/twig/ext/twig/twig.c
index 1fea683..f871d1e 100644
--- a/core/vendor/twig/twig/ext/twig/twig.c
+++ b/core/vendor/twig/twig/ext/twig/twig.c
@@ -1030,7 +1030,7 @@ PHP_FUNCTION(twig_template_get_attributes)
 	// ret can be null, if e.g. the called method throws an exception
 	if (ret) {
 		if (TWIG_INSTANCE_OF_USERLAND(object, "Twig_TemplateInterface" TSRMLS_CC)) {
-			if (Z_STRVAL_P(ret) == "") {
+			if (Z_STRLEN_P(ret) == 0) {
 				free_ret = 1;
 			} else {
 				zval *charset = TWIG_CALL_USER_FUNC_ARRAY(TWIG_PROPERTY_CHAR(template, "env" TSRMLS_CC), "getCharset", NULL TSRMLS_CC);
diff --git a/core/vendor/twig/twig/lib/Twig/Compiler.php b/core/vendor/twig/twig/lib/Twig/Compiler.php
index c1ab250..95b1869 100644
--- a/core/vendor/twig/twig/lib/Twig/Compiler.php
+++ b/core/vendor/twig/twig/lib/Twig/Compiler.php
@@ -256,7 +256,7 @@ public function indent($step = 1)
      */
     public function outdent($step = 1)
     {
-        // can't outdent by more steps that the current indentation level
+        // can't outdent by more steps than the current indentation level
         if ($this->indentation < $step) {
             throw new LogicException('Unable to call outdent() as the indentation would become negative');
         }
diff --git a/core/vendor/twig/twig/lib/Twig/CompilerInterface.php b/core/vendor/twig/twig/lib/Twig/CompilerInterface.php
index 89d87e6..db848a0 100644
--- a/core/vendor/twig/twig/lib/Twig/CompilerInterface.php
+++ b/core/vendor/twig/twig/lib/Twig/CompilerInterface.php
@@ -14,6 +14,7 @@
  *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 interface Twig_CompilerInterface
 {
diff --git a/core/vendor/twig/twig/lib/Twig/Environment.php b/core/vendor/twig/twig/lib/Twig/Environment.php
index 39e2c76..eabbf0a 100644
--- a/core/vendor/twig/twig/lib/Twig/Environment.php
+++ b/core/vendor/twig/twig/lib/Twig/Environment.php
@@ -17,7 +17,7 @@
  */
 class Twig_Environment
 {
-    const VERSION = '1.11.1';
+    const VERSION = '1.12.1';
 
     protected $charset;
     protected $loader;
@@ -36,6 +36,7 @@ class Twig_Environment
     protected $functions;
     protected $globals;
     protected $runtimeInitialized;
+    protected $extensionInitialized;
     protected $loadedTemplates;
     protected $strictVariables;
     protected $unaryOperators;
@@ -102,24 +103,17 @@ public function __construct(Twig_LoaderInterface $loader = null, $options = arra
         $this->charset            = $options['charset'];
         $this->baseTemplateClass  = $options['base_template_class'];
         $this->autoReload         = null === $options['auto_reload'] ? $this->debug : (bool) $options['auto_reload'];
-        $this->extensions         = array(
-            'core'      => new Twig_Extension_Core(),
-            'escaper'   => new Twig_Extension_Escaper($options['autoescape']),
-            'optimizer' => new Twig_Extension_Optimizer($options['optimizations']),
-        );
         $this->strictVariables    = (bool) $options['strict_variables'];
         $this->runtimeInitialized = false;
         $this->setCache($options['cache']);
         $this->functionCallbacks = array();
         $this->filterCallbacks = array();
-        $this->staging = array(
-            'functions'     => array(),
-            'filters'       => array(),
-            'tests'         => array(),
-            'token_parsers' => array(),
-            'visitors'      => array(),
-            'globals'       => array(),
-        );
+
+        $this->addExtension(new Twig_Extension_Core());
+        $this->addExtension(new Twig_Extension_Escaper($options['autoescape']));
+        $this->addExtension(new Twig_Extension_Optimizer($options['optimizations']));
+        $this->extensionInitialized = false;
+        $this->staging = new Twig_Extension_Staging();
     }
 
     /**
@@ -629,29 +623,29 @@ public function getExtension($name)
      */
     public function addExtension(Twig_ExtensionInterface $extension)
     {
+        if ($this->extensionInitialized) {
+            throw new LogicException(sprintf('Unable to register extension "%s" as extensions have already been initialized.', $extension->getName()));
+        }
+
         $this->extensions[$extension->getName()] = $extension;
-        $this->parsers = null;
-        $this->visitors = null;
-        $this->filters = null;
-        $this->tests = null;
-        $this->functions = null;
-        $this->globals = null;
     }
 
     /**
      * Removes an extension by name.
      *
+     * This method is deprecated and you should not use it.
+     *
      * @param string $name The extension name
+     *
+     * @deprecated since 1.12 (to be removed in 2.0)
      */
     public function removeExtension($name)
     {
+        if ($this->extensionInitialized) {
+            throw new LogicException(sprintf('Unable to remove extension "%s" as extensions have already been initialized.', $name));
+        }
+
         unset($this->extensions[$name]);
-        $this->parsers = null;
-        $this->visitors = null;
-        $this->filters = null;
-        $this->tests = null;
-        $this->functions = null;
-        $this->globals = null;
     }
 
     /**
@@ -683,8 +677,11 @@ public function getExtensions()
      */
     public function addTokenParser(Twig_TokenParserInterface $parser)
     {
-        $this->staging['token_parsers'][] = $parser;
-        $this->parsers = null;
+        if ($this->extensionInitialized) {
+            throw new LogicException('Unable to add a token parser as extensions have already been initialized.');
+        }
+
+        $this->staging->addTokenParser($parser);
     }
 
     /**
@@ -694,27 +691,8 @@ public function addTokenParser(Twig_TokenParserInterface $parser)
      */
     public function getTokenParsers()
     {
-        if (null === $this->parsers) {
-            $this->parsers = new Twig_TokenParserBroker();
-
-            if (isset($this->staging['token_parsers'])) {
-                foreach ($this->staging['token_parsers'] as $parser) {
-                    $this->parsers->addTokenParser($parser);
-                }
-            }
-
-            foreach ($this->getExtensions() as $extension) {
-                $parsers = $extension->getTokenParsers();
-                foreach ($parsers as $parser) {
-                    if ($parser instanceof Twig_TokenParserInterface) {
-                        $this->parsers->addTokenParser($parser);
-                    } elseif ($parser instanceof Twig_TokenParserBrokerInterface) {
-                        $this->parsers->addTokenParserBroker($parser);
-                    } else {
-                        throw new LogicException('getTokenParsers() must return an array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances');
-                    }
-                }
-            }
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
         }
 
         return $this->parsers;
@@ -746,8 +724,11 @@ public function getTags()
      */
     public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
     {
-        $this->staging['visitors'][] = $visitor;
-        $this->visitors = null;
+        if ($this->extensionInitialized) {
+            throw new LogicException('Unable to add a node visitor as extensions have already been initialized.', $extension->getName());
+        }
+
+        $this->staging->addNodeVisitor($visitor);
     }
 
     /**
@@ -757,14 +738,8 @@ public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
      */
     public function getNodeVisitors()
     {
-        if (null === $this->visitors) {
-            foreach ($this->getExtensions() as $extension) {
-                foreach ($extension->getNodeVisitors() as $visitor) {
-                    $this->addNodeVisitor($visitor);
-                }
-            }
-
-            $this->visitors = $this->staging['visitors'];
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
         }
 
         return $this->visitors;
@@ -773,13 +748,25 @@ public function getNodeVisitors()
     /**
      * Registers a Filter.
      *
-     * @param string               $name   The filter name
-     * @param Twig_FilterInterface $filter A Twig_FilterInterface instance
+     * @param string|Twig_SimpleFilter               $name   The filter name or a Twig_SimpleFilter instance
+     * @param Twig_FilterInterface|Twig_SimpleFilter $filter A Twig_FilterInterface instance or a Twig_SimpleFilter instance
      */
-    public function addFilter($name, Twig_FilterInterface $filter)
+    public function addFilter($name, $filter = null)
     {
-        $this->staging['filters'][$name] = $filter;
-        $this->filters = null;
+        if ($this->extensionInitialized) {
+            throw new LogicException(sprintf('Unable to add filter "%s" as extensions have already been initialized.', $name));
+        }
+
+        if (!$name instanceof Twig_SimpleFilter && !($filter instanceof Twig_SimpleFilter || $filter instanceof Twig_FilterInterface)) {
+            throw new LogicException('A filter must be an instance of Twig_FilterInterface or Twig_SimpleFilter');
+        }
+
+        if ($name instanceof Twig_SimpleFilter) {
+            $filter = $name;
+            $name = $filter->getName();
+        }
+
+        $this->staging->addFilter($name, $filter);
     }
 
     /**
@@ -790,12 +777,12 @@ public function addFilter($name, Twig_FilterInterface $filter)
      *
      * @param string $name The filter name
      *
-     * @return Twig_Filter|false A Twig_Filter instance or false if the filter does not exists
+     * @return Twig_Filter|false A Twig_Filter instance or false if the filter does not exist
      */
     public function getFilter($name)
     {
-        if (null === $this->filters) {
-            $this->getFilters();
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
         }
 
         if (isset($this->filters[$name])) {
@@ -840,14 +827,8 @@ public function registerUndefinedFilterCallback($callable)
      */
     public function getFilters()
     {
-        if (null === $this->filters) {
-            foreach ($this->getExtensions() as $extension) {
-                foreach ($extension->getFilters() as $name => $filter) {
-                    $this->addFilter($name, $filter);
-                }
-            }
-
-            $this->filters = $this->staging['filters'];
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
         }
 
         return $this->filters;
@@ -856,13 +837,25 @@ public function getFilters()
     /**
      * Registers a Test.
      *
-     * @param string             $name The test name
-     * @param Twig_TestInterface $test A Twig_TestInterface instance
+     * @param string|Twig_SimpleTest             $name The test name or a Twig_SimpleTest instance
+     * @param Twig_TestInterface|Twig_SimpleTest $test A Twig_TestInterface instance or a Twig_SimpleTest instance
      */
-    public function addTest($name, Twig_TestInterface $test)
+    public function addTest($name, $test = null)
     {
-        $this->staging['tests'][$name] = $test;
-        $this->tests = null;
+        if ($this->extensionInitialized) {
+            throw new LogicException(sprintf('Unable to add test "%s" as extensions have already been initialized.', $name));
+        }
+
+        if (!$name instanceof Twig_SimpleTest && !($test instanceof Twig_SimpleTest || $test instanceof Twig_TestInterface)) {
+            throw new LogicException('A test must be an instance of Twig_TestInterface or Twig_SimpleTest');
+        }
+
+        if ($name instanceof Twig_SimpleTest) {
+            $test = $name;
+            $name = $test->getName();
+        }
+
+        $this->staging->addTest($name, $test);
     }
 
     /**
@@ -872,29 +865,55 @@ public function addTest($name, Twig_TestInterface $test)
      */
     public function getTests()
     {
-        if (null === $this->tests) {
-            foreach ($this->getExtensions() as $extension) {
-                foreach ($extension->getTests() as $name => $test) {
-                    $this->addTest($name, $test);
-                }
-            }
-
-            $this->tests = $this->staging['tests'];
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
         }
 
         return $this->tests;
     }
 
     /**
+     * Gets a test by name.
+     *
+     * @param string $name The test name
+     *
+     * @return Twig_Test|false A Twig_Test instance or false if the test does not exist
+     */
+    public function getTest($name)
+    {
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
+        }
+
+        if (isset($this->tests[$name])) {
+            return $this->tests[$name];
+        }
+
+        return false;
+    }
+
+    /**
      * Registers a Function.
      *
-     * @param string                 $name     The function name
-     * @param Twig_FunctionInterface $function A Twig_FunctionInterface instance
+     * @param string|Twig_SimpleFunction                 $name     The function name or a Twig_SimpleFunction instance
+     * @param Twig_FunctionInterface|Twig_SimpleFunction $function A Twig_FunctionInterface instance or a Twig_SimpleFunction instance
      */
-    public function addFunction($name, Twig_FunctionInterface $function)
+    public function addFunction($name, $function = null)
     {
-        $this->staging['functions'][$name] = $function;
-        $this->functions = null;
+        if ($this->extensionInitialized) {
+            throw new LogicException(sprintf('Unable to add function "%s" as extensions have already been initialized.', $name));
+        }
+
+        if (!$name instanceof Twig_SimpleFunction && !($function instanceof Twig_SimpleFunction || $function instanceof Twig_FunctionInterface)) {
+            throw new LogicException('A function must be an instance of Twig_FunctionInterface or Twig_SimpleFunction');
+        }
+
+        if ($name instanceof Twig_SimpleFunction) {
+            $function = $name;
+            $name = $function->getName();
+        }
+
+        $this->staging->addFunction($name, $function);
     }
 
     /**
@@ -905,12 +924,12 @@ public function addFunction($name, Twig_FunctionInterface $function)
      *
      * @param string $name function name
      *
-     * @return Twig_Function|false A Twig_Function instance or false if the function does not exists
+     * @return Twig_Function|false A Twig_Function instance or false if the function does not exist
      */
     public function getFunction($name)
     {
-        if (null === $this->functions) {
-            $this->getFunctions();
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
         }
 
         if (isset($this->functions[$name])) {
@@ -955,14 +974,8 @@ public function registerUndefinedFunctionCallback($callable)
      */
     public function getFunctions()
     {
-        if (null === $this->functions) {
-            foreach ($this->getExtensions() as $extension) {
-                foreach ($extension->getFunctions() as $name => $function) {
-                    $this->addFunction($name, $function);
-                }
-            }
-
-            $this->functions = $this->staging['functions'];
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
         }
 
         return $this->functions;
@@ -971,13 +984,32 @@ public function getFunctions()
     /**
      * Registers a Global.
      *
+     * New globals can be added before compiling or rendering a template;
+     * but after, you can only update existing globals.
+     *
      * @param string $name  The global name
      * @param mixed  $value The global value
      */
     public function addGlobal($name, $value)
     {
-        $this->staging['globals'][$name] = $value;
-        $this->globals = null;
+        if ($this->extensionInitialized || $this->runtimeInitialized) {
+            if (null === $this->globals) {
+                $this->initGlobals();
+            }
+
+            /* This condition must be uncommented in Twig 2.0
+            if (!array_key_exists($name, $this->globals)) {
+                throw new LogicException(sprintf('Unable to add global "%s" as the runtime or the extensions have already been initialized.', $name));
+            }
+            */
+        }
+
+        if ($this->extensionInitialized || $this->runtimeInitialized) {
+            // update the value
+            $this->globals[$name] = $value;
+        } else {
+            $this->staging->addGlobal($name, $value);
+        }
     }
 
     /**
@@ -987,11 +1019,8 @@ public function addGlobal($name, $value)
      */
     public function getGlobals()
     {
-        if (null === $this->globals) {
-            $this->globals = isset($this->staging['globals']) ? $this->staging['globals'] : array();
-            foreach ($this->getExtensions() as $extension) {
-                $this->globals = array_merge($this->globals, $extension->getGlobals());
-            }
+        if (null === $this->globals || !($this->runtimeInitialized || $this->extensionInitialized)) {
+            $this->initGlobals();
         }
 
         return $this->globals;
@@ -1024,8 +1053,8 @@ public function mergeGlobals(array $context)
      */
     public function getUnaryOperators()
     {
-        if (null === $this->unaryOperators) {
-            $this->initOperators();
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
         }
 
         return $this->unaryOperators;
@@ -1038,8 +1067,8 @@ public function getUnaryOperators()
      */
     public function getBinaryOperators()
     {
-        if (null === $this->binaryOperators) {
-            $this->initOperators();
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
         }
 
         return $this->binaryOperators;
@@ -1059,17 +1088,92 @@ public function computeAlternatives($name, $items)
         return array_keys($alternatives);
     }
 
-    protected function initOperators()
+    protected function initGlobals()
+    {
+        $this->globals = array();
+        foreach ($this->extensions as $extension) {
+            $this->globals = array_merge($this->globals, $extension->getGlobals());
+        }
+        $this->globals = array_merge($this->globals, $this->staging->getGlobals());
+    }
+
+    protected function initExtensions()
     {
+        if ($this->extensionInitialized) {
+            return;
+        }
+
+        $this->extensionInitialized = true;
+        $this->parsers = new Twig_TokenParserBroker();
+        $this->filters = array();
+        $this->functions = array();
+        $this->tests = array();
+        $this->visitors = array();
         $this->unaryOperators = array();
         $this->binaryOperators = array();
-        foreach ($this->getExtensions() as $extension) {
-            $operators = $extension->getOperators();
 
-            if (!$operators) {
-                continue;
+        foreach ($this->extensions as $extension) {
+            $this->initExtension($extension);
+        }
+        $this->initExtension($this->staging);
+    }
+
+    protected function initExtension(Twig_ExtensionInterface $extension)
+    {
+        // filters
+        foreach ($extension->getFilters() as $name => $filter) {
+            if ($name instanceof Twig_SimpleFilter) {
+                $filter = $name;
+                $name = $filter->getName();
+            } elseif ($filter instanceof Twig_SimpleFilter) {
+                $name = $filter->getName();
+            }
+
+            $this->filters[$name] = $filter;
+        }
+
+        // functions
+        foreach ($extension->getFunctions() as $name => $function) {
+            if ($name instanceof Twig_SimpleFunction) {
+                $function = $name;
+                $name = $function->getName();
+            } elseif ($function instanceof Twig_SimpleFunction) {
+                $name = $function->getName();
+            }
+
+            $this->functions[$name] = $function;
+        }
+
+        // tests
+        foreach ($extension->getTests() as $name => $test) {
+            if ($name instanceof Twig_SimpleTest) {
+                $test = $name;
+                $name = $test->getName();
+            } elseif ($test instanceof Twig_SimpleTest) {
+                $name = $test->getName();
+            }
+
+            $this->tests[$name] = $test;
+        }
+
+        // token parsers
+        foreach ($extension->getTokenParsers() as $parser) {
+            if ($parser instanceof Twig_TokenParserInterface) {
+                $this->parsers->addTokenParser($parser);
+            } elseif ($parser instanceof Twig_TokenParserBrokerInterface) {
+                $this->parsers->addTokenParserBroker($parser);
+            } else {
+                throw new LogicException('getTokenParsers() must return an array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances');
             }
+        }
+
+        // node visitors
+        foreach ($extension->getNodeVisitors() as $visitor) {
+            $this->visitors[] = $visitor;
+        }
 
+        // operators
+        if ($operators = $extension->getOperators()) {
             if (2 !== count($operators)) {
                 throw new InvalidArgumentException(sprintf('"%s::getOperators()" does not return a valid operators array.', get_class($extension)));
             }
diff --git a/core/vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php b/core/vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php
index 0e08a1d..95fbeb0 100644
--- a/core/vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php
+++ b/core/vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php
@@ -14,6 +14,7 @@
  *
  * @package    twig
  * @author     Florin Patan <florinpatan@gmail.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 interface Twig_ExistsLoaderInterface
 {
diff --git a/core/vendor/twig/twig/lib/Twig/ExpressionParser.php b/core/vendor/twig/twig/lib/Twig/ExpressionParser.php
index 3309bb5..7b9114a 100644
--- a/core/vendor/twig/twig/lib/Twig/ExpressionParser.php
+++ b/core/vendor/twig/twig/lib/Twig/ExpressionParser.php
@@ -89,9 +89,19 @@ protected function parseConditionalExpression($expr)
     {
         while ($this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, '?')) {
             $this->parser->getStream()->next();
-            $expr2 = $this->parseExpression();
-            $this->parser->getStream()->expect(Twig_Token::PUNCTUATION_TYPE, ':', 'The ternary operator must have a default value');
-            $expr3 = $this->parseExpression();
+            if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
+                $expr2 = $this->parseExpression();
+                if ($this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
+                    $this->parser->getStream()->next();
+                    $expr3 = $this->parseExpression();
+                } else {
+                    $expr3 = new Twig_Node_Expression_Constant('', $this->parser->getCurrentToken()->getLine());
+                }
+            } else {
+                $this->parser->getStream()->next();
+                $expr2 = $expr;
+                $expr3 = $this->parseExpression();
+            }
 
             $expr = new Twig_Node_Expression_Conditional($expr, $expr2, $expr3, $this->parser->getCurrentToken()->getLine());
         }
@@ -287,9 +297,9 @@ public function parsePostfixExpression($node)
 
     public function getFunctionNode($name, $line)
     {
-        $args = $this->parseArguments();
         switch ($name) {
             case 'parent':
+                $args = $this->parseArguments();
                 if (!count($this->parser->getBlockStack())) {
                     throw new Twig_Error_Syntax('Calling "parent" outside a block is forbidden', $line, $this->parser->getFilename());
                 }
@@ -300,8 +310,9 @@ public function getFunctionNode($name, $line)
 
                 return new Twig_Node_Expression_Parent($this->parser->peekBlockStack(), $line);
             case 'block':
-                return new Twig_Node_Expression_BlockReference($args->getNode(0), false, $line);
+                return new Twig_Node_Expression_BlockReference($this->parseArguments()->getNode(0), false, $line);
             case 'attribute':
+                $args = $this->parseArguments();
                 if (count($args) < 2) {
                     throw new Twig_Error_Syntax('The "attribute" function takes at least two arguments (the variable and the attributes)', $line, $this->parser->getFilename());
                 }
@@ -310,7 +321,7 @@ public function getFunctionNode($name, $line)
             default:
                 if (null !== $alias = $this->parser->getImportedSymbol('function', $name)) {
                     $arguments = new Twig_Node_Expression_Array(array(), $line);
-                    foreach ($args as $n) {
+                    foreach ($this->parseArguments() as $n) {
                         $arguments->addElement($n);
                     }
 
@@ -320,7 +331,8 @@ public function getFunctionNode($name, $line)
                     return $node;
                 }
 
-                $class = $this->getFunctionNodeClass($name);
+                $args = $this->parseArguments(true);
+                $class = $this->getFunctionNodeClass($name, $line);
 
                 return new $class($name, $args, $line);
         }
@@ -353,22 +365,42 @@ public function parseSubscriptExpression($node)
             } else {
                 throw new Twig_Error_Syntax('Expected name or number', $lineno, $this->parser->getFilename());
             }
+
+            if ($node instanceof Twig_Node_Expression_Name && null !== $alias = $this->parser->getImportedSymbol('template', $node->getAttribute('name'))) {
+                if (!$arg instanceof Twig_Node_Expression_Constant) {
+                    throw new Twig_Error_Syntax(sprintf('Dynamic macro names are not supported (called on "%s")', $node->getAttribute('name')), $token->getLine(), $this->parser->getFilename());
+                }
+
+                $node = new Twig_Node_Expression_MethodCall($node, 'get'.$arg->getAttribute('value'), $arguments, $lineno);
+                $node->setAttribute('safe', true);
+
+                return $node;
+            }
         } else {
             $type = Twig_TemplateInterface::ARRAY_CALL;
 
-            $arg = $this->parseExpression();
-
             // slice?
+            $slice = false;
+            if ($stream->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
+                $slice = true;
+                $arg = new Twig_Node_Expression_Constant(0, $token->getLine());
+            } else {
+                $arg = $this->parseExpression();
+            }
+
             if ($stream->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
+                $slice = true;
                 $stream->next();
+            }
 
+            if ($slice) {
                 if ($stream->test(Twig_Token::PUNCTUATION_TYPE, ']')) {
                     $length = new Twig_Node_Expression_Constant(null, $token->getLine());
                 } else {
                     $length = $this->parseExpression();
                 }
 
-                $class = $this->getFilterNodeClass('slice');
+                $class = $this->getFilterNodeClass('slice', $token->getLine());
                 $arguments = new Twig_Node(array($arg, $length));
                 $filter = new $class($node, new Twig_Node_Expression_Constant('slice', $token->getLine()), $arguments, $token->getLine());
 
@@ -380,13 +412,6 @@ public function parseSubscriptExpression($node)
             $stream->expect(Twig_Token::PUNCTUATION_TYPE, ']');
         }
 
-        if ($node instanceof Twig_Node_Expression_Name && null !== $alias = $this->parser->getImportedSymbol('template', $node->getAttribute('name'))) {
-            $node = new Twig_Node_Expression_MethodCall($node, 'get'.$arg->getAttribute('value'), $arguments, $lineno);
-            $node->setAttribute('safe', true);
-
-            return $node;
-        }
-
         return new Twig_Node_Expression_GetAttr($node, $arg, $arguments, $type, $lineno);
     }
 
@@ -406,10 +431,10 @@ public function parseFilterExpressionRaw($node, $tag = null)
             if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
                 $arguments = new Twig_Node();
             } else {
-                $arguments = $this->parseArguments();
+                $arguments = $this->parseArguments(true);
             }
 
-            $class = $this->getFilterNodeClass($name->getAttribute('value'));
+            $class = $this->getFilterNodeClass($name->getAttribute('value'), $token->getLine());
 
             $node = new $class($node, $name, $arguments, $token->getLine(), $tag);
 
@@ -423,17 +448,62 @@ public function parseFilterExpressionRaw($node, $tag = null)
         return $node;
     }
 
-    public function parseArguments()
+    /**
+     * Parses arguments.
+     *
+     * @param Boolean $namedArguments Whether to allow named arguments or not
+     * @param Boolean $definition     Whether we are parsing arguments for a function definition
+     */
+    public function parseArguments($namedArguments = false, $definition = false)
     {
         $args = array();
         $stream = $this->parser->getStream();
 
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, '(', 'A list of arguments must be opened by a parenthesis');
+        $stream->expect(Twig_Token::PUNCTUATION_TYPE, '(', 'A list of arguments must begin with an opening parenthesis');
         while (!$stream->test(Twig_Token::PUNCTUATION_TYPE, ')')) {
             if (!empty($args)) {
                 $stream->expect(Twig_Token::PUNCTUATION_TYPE, ',', 'Arguments must be separated by a comma');
             }
-            $args[] = $this->parseExpression();
+
+            if ($definition) {
+                $token = $stream->expect(Twig_Token::NAME_TYPE, null, 'An argument must be a name');
+                $value = new Twig_Node_Expression_Name($token->getValue(), $this->parser->getCurrentToken()->getLine());
+            } else {
+                $value = $this->parseExpression();
+            }
+
+            $name = null;
+            if ($namedArguments && $stream->test(Twig_Token::OPERATOR_TYPE, '=')) {
+                $token = $stream->next();
+                if (!$value instanceof Twig_Node_Expression_Name) {
+                    throw new Twig_Error_Syntax(sprintf('A parameter name must be a string, "%s" given', get_class($value)), $token->getLine(), $this->parser->getFilename());
+                }
+                $name = $value->getAttribute('name');
+
+                if ($definition) {
+                    $value = $this->parsePrimaryExpression();
+
+                    if (!$this->checkConstantExpression($value)) {
+                        throw new Twig_Error_Syntax(sprintf('A default value for an argument must be a constant (a boolean, a string, a number, or an array).'), $token->getLine(), $this->parser->getFilename());
+                    }
+                } else {
+                    $value = $this->parseExpression();
+                }
+            }
+
+            if ($definition) {
+                if (null === $name) {
+                    $name = $value->getAttribute('name');
+                    $value = new Twig_Node_Expression_Constant(null, $this->parser->getCurrentToken()->getLine());
+                }
+                $args[$name] = $value;
+            } else {
+                if (null === $name) {
+                    $args[] = $value;
+                } else {
+                    $args[$name] = $value;
+                }
+            }
         }
         $stream->expect(Twig_Token::PUNCTUATION_TYPE, ')', 'A list of arguments must be closed by a parenthesis');
 
@@ -473,23 +543,59 @@ public function parseMultitargetExpression()
         return new Twig_Node($targets);
     }
 
-    protected function getFunctionNodeClass($name)
+    protected function getFunctionNodeClass($name, $line)
+    {
+        $env = $this->parser->getEnvironment();
+
+        if (false === $function = $env->getFunction($name)) {
+            $message = sprintf('The function "%s" does not exist', $name);
+            if ($alternatives = $env->computeAlternatives($name, array_keys($env->getFunctions()))) {
+                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
+            }
+
+            throw new Twig_Error_Syntax($message, $line, $this->parser->getFilename());
+        }
+
+        if ($function instanceof Twig_SimpleFunction) {
+            return $function->getNodeClass();
+        }
+
+        return $function instanceof Twig_Function_Node ? $function->getClass() : 'Twig_Node_Expression_Function';
+    }
+
+    protected function getFilterNodeClass($name, $line)
     {
-        $functionMap = $this->parser->getEnvironment()->getFunctions();
-        if (isset($functionMap[$name]) && $functionMap[$name] instanceof Twig_Function_Node) {
-            return $functionMap[$name]->getClass();
+        $env = $this->parser->getEnvironment();
+
+        if (false === $filter = $env->getFilter($name)) {
+            $message = sprintf('The filter "%s" does not exist', $name);
+            if ($alternatives = $env->computeAlternatives($name, array_keys($env->getFilters()))) {
+                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
+            }
+
+            throw new Twig_Error_Syntax($message, $line, $this->parser->getFilename());
+        }
+
+        if ($filter instanceof Twig_SimpleFilter) {
+            return $filter->getNodeClass();
         }
 
-        return 'Twig_Node_Expression_Function';
+        return $filter instanceof Twig_Filter_Node ? $filter->getClass() : 'Twig_Node_Expression_Filter';
     }
 
-    protected function getFilterNodeClass($name)
+    // checks that the node only contains "constant" elements
+    protected function checkConstantExpression(Twig_NodeInterface $node)
     {
-        $filterMap = $this->parser->getEnvironment()->getFilters();
-        if (isset($filterMap[$name]) && $filterMap[$name] instanceof Twig_Filter_Node) {
-            return $filterMap[$name]->getClass();
+        if (!($node instanceof Twig_Node_Expression_Constant || $node instanceof Twig_Node_Expression_Array)) {
+            return false;
+        }
+
+        foreach ($node as $n) {
+            if (!$this->checkConstantExpression($n)) {
+                return false;
+            }
         }
 
-        return 'Twig_Node_Expression_Filter';
+        return true;
     }
 }
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/Core.php b/core/vendor/twig/twig/lib/Twig/Extension/Core.php
index 3db899f..2110120 100644
--- a/core/vendor/twig/twig/lib/Twig/Extension/Core.php
+++ b/core/vendor/twig/twig/lib/Twig/Extension/Core.php
@@ -126,47 +126,45 @@ public function getFilters()
     {
         $filters = array(
             // formatting filters
-            'date'          => new Twig_Filter_Function('twig_date_format_filter', array('needs_environment' => true)),
-            'date_modify'   => new Twig_Filter_Function('twig_date_modify_filter', array('needs_environment' => true)),
-            'format'        => new Twig_Filter_Function('sprintf'),
-            'replace'       => new Twig_Filter_Function('strtr'),
-            'number_format' => new Twig_Filter_Function('twig_number_format_filter', array('needs_environment' => true)),
-            'abs'           => new Twig_Filter_Function('abs'),
+            new Twig_SimpleFilter('date', 'twig_date_format_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('date_modify', 'twig_date_modify_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('format', 'sprintf'),
+            new Twig_SimpleFilter('replace', 'strtr'),
+            new Twig_SimpleFilter('number_format', 'twig_number_format_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('abs', 'abs'),
 
             // encoding
-            'url_encode'       => new Twig_Filter_Function('twig_urlencode_filter'),
-            'json_encode'      => new Twig_Filter_Function('twig_jsonencode_filter'),
-            'convert_encoding' => new Twig_Filter_Function('twig_convert_encoding'),
+            new Twig_SimpleFilter('url_encode', 'twig_urlencode_filter'),
+            new Twig_SimpleFilter('json_encode', 'twig_jsonencode_filter'),
+            new Twig_SimpleFilter('convert_encoding', 'twig_convert_encoding'),
 
             // string filters
-            'title'      => new Twig_Filter_Function('twig_title_string_filter', array('needs_environment' => true)),
-            'capitalize' => new Twig_Filter_Function('twig_capitalize_string_filter', array('needs_environment' => true)),
-            'upper'      => new Twig_Filter_Function('strtoupper'),
-            'lower'      => new Twig_Filter_Function('strtolower'),
-            'striptags'  => new Twig_Filter_Function('strip_tags'),
-            'trim'       => new Twig_Filter_Function('trim'),
-            'nl2br'      => new Twig_Filter_Function('nl2br', array('pre_escape' => 'html', 'is_safe' => array('html'))),
+            new Twig_SimpleFilter('title', 'twig_title_string_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('capitalize', 'twig_capitalize_string_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('upper', 'strtoupper'),
+            new Twig_SimpleFilter('lower', 'strtolower'),
+            new Twig_SimpleFilter('striptags', 'strip_tags'),
+            new Twig_SimpleFilter('trim', 'trim'),
+            new Twig_SimpleFilter('nl2br', 'nl2br', array('pre_escape' => 'html', 'is_safe' => array('html'))),
 
             // array helpers
-            'join'    => new Twig_Filter_Function('twig_join_filter'),
-            'split'   => new Twig_Filter_Function('twig_split_filter'),
-            'sort'    => new Twig_Filter_Function('twig_sort_filter'),
-            'merge'   => new Twig_Filter_Function('twig_array_merge'),
+            new Twig_SimpleFilter('join', 'twig_join_filter'),
+            new Twig_SimpleFilter('split', 'twig_split_filter'),
+            new Twig_SimpleFilter('sort', 'twig_sort_filter'),
+            new Twig_SimpleFilter('merge', 'twig_array_merge'),
 
             // string/array filters
-            'reverse' => new Twig_Filter_Function('twig_reverse_filter', array('needs_environment' => true)),
-            'length'  => new Twig_Filter_Function('twig_length_filter', array('needs_environment' => true)),
-            'slice'   => new Twig_Filter_Function('twig_slice', array('needs_environment' => true)),
+            new Twig_SimpleFilter('reverse', 'twig_reverse_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('length', 'twig_length_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('slice', 'twig_slice', array('needs_environment' => true)),
 
             // iteration and runtime
-            'default' => new Twig_Filter_Node('Twig_Node_Expression_Filter_Default'),
-            '_default' => new Twig_Filter_Function('_twig_default_filter'),
-
-            'keys'    => new Twig_Filter_Function('twig_get_array_keys_filter'),
+            new Twig_SimpleFilter('default', '_twig_default_filter', array('node_class' => 'Twig_Node_Expression_Filter_Default')),
+            new Twig_SimpleFilter('keys', 'twig_get_array_keys_filter'),
 
             // escaping
-            'escape' => new Twig_Filter_Function('twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
-            'e'      => new Twig_Filter_Function('twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
+            new Twig_SimpleFilter('escape', 'twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
+            new Twig_SimpleFilter('e', 'twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
         );
 
         if (function_exists('mb_get_info')) {
@@ -185,11 +183,12 @@ public function getFilters()
     public function getFunctions()
     {
         return array(
-            'range'    => new Twig_Function_Function('range'),
-            'constant' => new Twig_Function_Function('constant'),
-            'cycle'    => new Twig_Function_Function('twig_cycle'),
-            'random'   => new Twig_Function_Function('twig_random', array('needs_environment' => true)),
-            'date'     => new Twig_Function_Function('twig_date_converter', array('needs_environment' => true)),
+            new Twig_SimpleFunction('range', 'range'),
+            new Twig_SimpleFunction('constant', 'twig_constant'),
+            new Twig_SimpleFunction('cycle', 'twig_cycle'),
+            new Twig_SimpleFunction('random', 'twig_random', array('needs_environment' => true)),
+            new Twig_SimpleFunction('date', 'twig_date_converter', array('needs_environment' => true)),
+            new Twig_SimpleFunction('include', 'twig_include', array('needs_environment' => true, 'needs_context' => true)),
         );
     }
 
@@ -201,16 +200,16 @@ public function getFunctions()
     public function getTests()
     {
         return array(
-            'even'        => new Twig_Test_Node('Twig_Node_Expression_Test_Even'),
-            'odd'         => new Twig_Test_Node('Twig_Node_Expression_Test_Odd'),
-            'defined'     => new Twig_Test_Node('Twig_Node_Expression_Test_Defined'),
-            'sameas'      => new Twig_Test_Node('Twig_Node_Expression_Test_Sameas'),
-            'none'        => new Twig_Test_Node('Twig_Node_Expression_Test_Null'),
-            'null'        => new Twig_Test_Node('Twig_Node_Expression_Test_Null'),
-            'divisibleby' => new Twig_Test_Node('Twig_Node_Expression_Test_Divisibleby'),
-            'constant'    => new Twig_Test_Node('Twig_Node_Expression_Test_Constant'),
-            'empty'       => new Twig_Test_Function('twig_test_empty'),
-            'iterable'    => new Twig_Test_Function('twig_test_iterable'),
+            new Twig_SimpleTest('even', null, array('node_class' => 'Twig_Node_Expression_Test_Even')),
+            new Twig_SimpleTest('odd', null, array('node_class' => 'Twig_Node_Expression_Test_Odd')),
+            new Twig_SimpleTest('defined', null, array('node_class' => 'Twig_Node_Expression_Test_Defined')),
+            new Twig_SimpleTest('sameas', null, array('node_class' => 'Twig_Node_Expression_Test_Sameas')),
+            new Twig_SimpleTest('none', null, array('node_class' => 'Twig_Node_Expression_Test_Null')),
+            new Twig_SimpleTest('null', null, array('node_class' => 'Twig_Node_Expression_Test_Null')),
+            new Twig_SimpleTest('divisibleby', null, array('node_class' => 'Twig_Node_Expression_Test_Divisibleby')),
+            new Twig_SimpleTest('constant', null, array('node_class' => 'Twig_Node_Expression_Test_Constant')),
+            new Twig_SimpleTest('empty', 'twig_test_empty'),
+            new Twig_SimpleTest('iterable', 'twig_test_iterable'),
         );
     }
 
@@ -267,22 +266,32 @@ public function parseTestExpression(Twig_Parser $parser, $node)
         $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
         $arguments = null;
         if ($stream->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-            $arguments = $parser->getExpressionParser()->parseArguments();
+            $arguments = $parser->getExpressionParser()->parseArguments(true);
         }
 
-        $class = $this->getTestNodeClass($parser->getEnvironment(), $name);
+        $class = $this->getTestNodeClass($parser, $name, $node->getLine());
 
         return new $class($node, $name, $arguments, $parser->getCurrentToken()->getLine());
     }
 
-    protected function getTestNodeClass(Twig_Environment $env, $name)
+    protected function getTestNodeClass(Twig_Parser $parser, $name, $line)
     {
+        $env = $parser->getEnvironment();
         $testMap = $env->getTests();
-        if (isset($testMap[$name]) && $testMap[$name] instanceof Twig_Test_Node) {
-            return $testMap[$name]->getClass();
+        if (!isset($testMap[$name])) {
+            $message = sprintf('The test "%s" does not exist', $name);
+            if ($alternatives = $env->computeAlternatives($name, array_keys($env->getTests()))) {
+                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
+            }
+
+            throw new Twig_Error_Syntax($message, $line, $parser->getFilename());
+        }
+
+        if ($testMap[$name] instanceof Twig_SimpleTest) {
+            return $testMap[$name]->getNodeClass();
         }
 
-        return 'Twig_Node_Expression_Test';
+        return $testMap[$name] instanceof Twig_Test_Node ? $testMap[$name]->getClass() : 'Twig_Node_Expression_Test';
     }
 
     /**
@@ -299,18 +308,18 @@ public function getName()
 /**
  * Cycles over a value.
  *
- * @param ArrayAccess|array $values An array or an ArrayAccess instance
- * @param integer           $i      The cycle value
+ * @param ArrayAccess|array $values   An array or an ArrayAccess instance
+ * @param integer           $position The cycle position
  *
  * @return string The next value in the cycle
  */
-function twig_cycle($values, $i)
+function twig_cycle($values, $position)
 {
     if (!is_array($values) && !$values instanceof ArrayAccess) {
         return $values;
     }
 
-    return $values[$i % count($values)];
+    return $values[$position % count($values)];
 }
 
 /**
@@ -404,7 +413,7 @@ function twig_date_format_filter(Twig_Environment $env, $date, $format = null, $
  * Returns a new date object modified
  *
  * <pre>
- *   {{ post.published_at|modify("-1day")|date("m/d/Y") }}
+ *   {{ post.published_at|date_modify("-1day")|date("m/d/Y") }}
  * </pre>
  *
  * @param Twig_Environment  $env      A Twig_Environment instance
@@ -773,18 +782,16 @@ function twig_sort_filter($array)
 /* used internally */
 function twig_in_filter($value, $compare)
 {
-    $strict = is_object($value);
-
     if (is_array($compare)) {
-        return in_array($value, $compare, $strict);
+        return in_array($value, $compare, is_object($value));
     } elseif (is_string($compare)) {
-        if (!strlen((string) $value)) {
+        if (!strlen($value)) {
             return empty($compare);
         }
 
         return false !== strpos($compare, (string) $value);
-    } elseif (is_object($compare) && $compare instanceof Traversable) {
-        return in_array($value, iterator_to_array($compare, false), $strict);
+    } elseif ($compare instanceof Traversable) {
+        return in_array($value, iterator_to_array($compare, false), is_object($value));
     }
 
     return false;
@@ -1191,7 +1198,7 @@ function twig_test_empty($value)
         return 0 == count($value);
     }
 
-    return false === $value || (empty($value) && '0' != $value);
+    return '' === $value || false === $value || null === $value || array() === $value;
 }
 
 /**
@@ -1212,3 +1219,58 @@ function twig_test_iterable($value)
 {
     return $value instanceof Traversable || is_array($value);
 }
+
+/**
+ * Renders a template.
+ *
+ * @param string  template       The template to render
+ * @param array   variables      The variables to pass to the template
+ * @param Boolean with_context   Whether to pass the current context variables or not
+ * @param Boolean ignore_missing Whether to ignore missing templates or not
+ * @param Boolean sandboxed      Whether to sandbox the template or not
+ *
+ * @return string The rendered template
+ */
+function twig_include(Twig_Environment $env, $context, $template, $variables = array(), $withContext = true, $ignoreMissing = false, $sandboxed = false)
+{
+    if ($withContext) {
+        $variables = array_merge($context, $variables);
+    }
+
+    if ($isSandboxed = $sandboxed && $env->hasExtension('sandbox')) {
+        $sandbox = $env->getExtension('sandbox');
+        if (!$alreadySandboxed = $sandbox->isSandboxed()) {
+            $sandbox->enableSandbox();
+        }
+    }
+
+    try {
+        return $env->resolveTemplate($template)->display($variables);
+    } catch (Twig_Error_Loader $e) {
+        if (!$ignoreMissing) {
+            throw $e;
+        }
+    }
+
+    if ($isSandboxed && !$alreadySandboxed) {
+        $sandbox->disableSandbox();
+    }
+}
+
+/**
+ * Provides the ability to get constants from instances as well as class/global constants.
+ *
+ * @param string      $constant The name of the constant
+ * @param null|object $object   The object to get the constant from
+ *
+ * @return string
+ */
+function twig_constant($constant, $object = null)
+{
+    if (!$object) {
+        return constant($constant);
+    }
+    $class = get_class($object);
+
+    return constant($class.'::'.$constant);
+}
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/Debug.php b/core/vendor/twig/twig/lib/Twig/Extension/Debug.php
index 3dc4d2d..97007fb 100644
--- a/core/vendor/twig/twig/lib/Twig/Extension/Debug.php
+++ b/core/vendor/twig/twig/lib/Twig/Extension/Debug.php
@@ -27,7 +27,7 @@ public function getFunctions()
         ;
 
         return array(
-            'dump' => new Twig_Function_Function('twig_var_dump', array('is_safe' => $isDumpOutputHtmlSafe ? array('html') : array(), 'needs_context' => true, 'needs_environment' => true)),
+            new Twig_SimpleFunction('dump', 'twig_var_dump', array('is_safe' => $isDumpOutputHtmlSafe ? array('html') : array(), 'needs_context' => true, 'needs_environment' => true)),
         );
     }
 
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/Escaper.php b/core/vendor/twig/twig/lib/Twig/Extension/Escaper.php
index db1a50e..c9a7f68 100644
--- a/core/vendor/twig/twig/lib/Twig/Extension/Escaper.php
+++ b/core/vendor/twig/twig/lib/Twig/Extension/Escaper.php
@@ -45,7 +45,7 @@ public function getNodeVisitors()
     public function getFilters()
     {
         return array(
-            'raw' => new Twig_Filter_Function('twig_raw_filter', array('is_safe' => array('all'))),
+            new Twig_SimpleFilter('raw', 'twig_raw_filter', array('is_safe' => array('all'))),
         );
     }
 
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/Staging.php b/core/vendor/twig/twig/lib/Twig/Extension/Staging.php
new file mode 100644
index 0000000..f67fc65
--- /dev/null
+++ b/core/vendor/twig/twig/lib/Twig/Extension/Staging.php
@@ -0,0 +1,114 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2012 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Internal class.
+ *
+ * This class is used by Twig_Environment as a staging area and must not be used directly.
+ *
+ * @package twig
+ * @author  Fabien Potencier <fabien@symfony.com>
+ */
+class Twig_Extension_Staging extends Twig_Extension
+{
+    protected $functions = array();
+    protected $filters = array();
+    protected $visitors = array();
+    protected $tokenParsers = array();
+    protected $globals = array();
+    protected $tests = array();
+
+    public function addFunction($name, $function)
+    {
+        $this->functions[$name] = $function;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getFunctions()
+    {
+        return $this->functions;
+    }
+
+    public function addFilter($name, $filter)
+    {
+        $this->filters[$name] = $filter;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getFilters()
+    {
+        return $this->filters;
+    }
+
+    public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
+    {
+        $this->visitors[] = $visitor;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getNodeVisitors()
+    {
+        return $this->visitors;
+    }
+
+    public function addTokenParser(Twig_TokenParserInterface $parser)
+    {
+        $this->tokenParsers[] = $parser;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getTokenParsers()
+    {
+        return $this->tokenParsers;
+    }
+
+    public function addGlobal($name, $value)
+    {
+        $this->globals[$name] = $value;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getGlobals()
+    {
+        return $this->globals;
+    }
+
+    public function addTest($name, $test)
+    {
+        $this->tests[$name] = $test;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getTests()
+    {
+        return $this->tests;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getName()
+    {
+        return 'staging';
+    }
+}
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/StringLoader.php b/core/vendor/twig/twig/lib/Twig/Extension/StringLoader.php
index 90caf28..d5b881b 100644
--- a/core/vendor/twig/twig/lib/Twig/Extension/StringLoader.php
+++ b/core/vendor/twig/twig/lib/Twig/Extension/StringLoader.php
@@ -16,7 +16,7 @@ class Twig_Extension_StringLoader extends Twig_Extension
     public function getFunctions()
     {
         return array(
-            'template_from_string' => new Twig_Function_Function('twig_template_from_string', array('needs_environment' => true)),
+            new Twig_SimpleFunction('template_from_string', 'twig_template_from_string', array('needs_environment' => true)),
         );
     }
 
diff --git a/core/vendor/twig/twig/lib/Twig/Filter.php b/core/vendor/twig/twig/lib/Twig/Filter.php
index 1a4806c..879ef67 100644
--- a/core/vendor/twig/twig/lib/Twig/Filter.php
+++ b/core/vendor/twig/twig/lib/Twig/Filter.php
@@ -12,10 +12,13 @@
 /**
  * Represents a template filter.
  *
+ * Use Twig_SimpleFilter instead.
+ *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
-abstract class Twig_Filter implements Twig_FilterInterface
+abstract class Twig_Filter implements Twig_FilterInterface, Twig_FilterCallableInterface
 {
     protected $options;
     protected $arguments = array();
@@ -27,6 +30,7 @@ public function __construct(array $options = array())
             'needs_context'     => false,
             'pre_escape'        => null,
             'preserves_safety'  => null,
+            'callable'          => null,
         ), $options);
     }
 
@@ -72,4 +76,9 @@ public function getPreEscape()
     {
         return $this->options['pre_escape'];
     }
+
+    public function getCallable()
+    {
+        return $this->options['callable'];
+    }
 }
diff --git a/core/vendor/twig/twig/lib/Twig/Filter/Function.php b/core/vendor/twig/twig/lib/Twig/Filter/Function.php
index 1de078b..ae1f961 100644
--- a/core/vendor/twig/twig/lib/Twig/Filter/Function.php
+++ b/core/vendor/twig/twig/lib/Twig/Filter/Function.php
@@ -12,8 +12,11 @@
 /**
  * Represents a function template filter.
  *
+ * Use Twig_SimpleFilter instead.
+ *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 class Twig_Filter_Function extends Twig_Filter
 {
@@ -21,6 +24,8 @@ class Twig_Filter_Function extends Twig_Filter
 
     public function __construct($function, array $options = array())
     {
+        $options['callable'] = $function;
+
         parent::__construct($options);
 
         $this->function = $function;
diff --git a/core/vendor/twig/twig/lib/Twig/Filter/Method.php b/core/vendor/twig/twig/lib/Twig/Filter/Method.php
index a680f61..074371a 100644
--- a/core/vendor/twig/twig/lib/Twig/Filter/Method.php
+++ b/core/vendor/twig/twig/lib/Twig/Filter/Method.php
@@ -12,8 +12,11 @@
 /**
  * Represents a method template filter.
  *
+ * Use Twig_SimpleFilter instead.
+ *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 class Twig_Filter_Method extends Twig_Filter
 {
@@ -22,6 +25,8 @@ class Twig_Filter_Method extends Twig_Filter
 
     public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array())
     {
+        $options['callable'] = array($extension, $method);
+
         parent::__construct($options);
 
         $this->extension = $extension;
diff --git a/core/vendor/twig/twig/lib/Twig/Filter/Node.php b/core/vendor/twig/twig/lib/Twig/Filter/Node.php
index 7481c05..4d27c93 100644
--- a/core/vendor/twig/twig/lib/Twig/Filter/Node.php
+++ b/core/vendor/twig/twig/lib/Twig/Filter/Node.php
@@ -12,8 +12,11 @@
 /**
  * Represents a template filter as a node.
  *
+ * Use Twig_SimpleFilter instead.
+ *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 class Twig_Filter_Node extends Twig_Filter
 {
diff --git a/core/vendor/twig/twig/lib/Twig/FilterCallableInterface.php b/core/vendor/twig/twig/lib/Twig/FilterCallableInterface.php
new file mode 100644
index 0000000..97c7610
--- /dev/null
+++ b/core/vendor/twig/twig/lib/Twig/FilterCallableInterface.php
@@ -0,0 +1,24 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2012 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Represents a callable template filter.
+ *
+ * Use Twig_SimpleFilter instead.
+ *
+ * @package    twig
+ * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
+ */
+interface Twig_FilterCallableInterface
+{
+    public function getCallable();
+}
diff --git a/core/vendor/twig/twig/lib/Twig/FilterInterface.php b/core/vendor/twig/twig/lib/Twig/FilterInterface.php
index 0a07c7c..0c7f0a4 100644
--- a/core/vendor/twig/twig/lib/Twig/FilterInterface.php
+++ b/core/vendor/twig/twig/lib/Twig/FilterInterface.php
@@ -12,8 +12,11 @@
 /**
  * Represents a template filter.
  *
+ * Use Twig_SimpleFilter instead.
+ *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 interface Twig_FilterInterface
 {
diff --git a/core/vendor/twig/twig/lib/Twig/Function.php b/core/vendor/twig/twig/lib/Twig/Function.php
index cd7643f..b30c30e 100644
--- a/core/vendor/twig/twig/lib/Twig/Function.php
+++ b/core/vendor/twig/twig/lib/Twig/Function.php
@@ -12,10 +12,13 @@
 /**
  * Represents a template function.
  *
+ * Use Twig_SimpleFunction instead.
+ *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
-abstract class Twig_Function implements Twig_FunctionInterface
+abstract class Twig_Function implements Twig_FunctionInterface, Twig_FunctionCallableInterface
 {
     protected $options;
     protected $arguments = array();
@@ -25,6 +28,7 @@ public function __construct(array $options = array())
         $this->options = array_merge(array(
             'needs_environment' => false,
             'needs_context'     => false,
+            'callable'          => null,
         ), $options);
     }
 
@@ -60,4 +64,9 @@ public function getSafe(Twig_Node $functionArgs)
 
         return array();
     }
+
+    public function getCallable()
+    {
+        return $this->options['callable'];
+    }
 }
diff --git a/core/vendor/twig/twig/lib/Twig/Function/Function.php b/core/vendor/twig/twig/lib/Twig/Function/Function.php
index 3237d8c..7e5c9c2 100644
--- a/core/vendor/twig/twig/lib/Twig/Function/Function.php
+++ b/core/vendor/twig/twig/lib/Twig/Function/Function.php
@@ -13,8 +13,11 @@
 /**
  * Represents a function template function.
  *
+ * Use Twig_SimpleFunction instead.
+ *
  * @package    twig
  * @author     Arnaud Le Blanc <arnaud.lb@gmail.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 class Twig_Function_Function extends Twig_Function
 {
@@ -22,6 +25,8 @@ class Twig_Function_Function extends Twig_Function
 
     public function __construct($function, array $options = array())
     {
+        $options['callable'] = $function;
+
         parent::__construct($options);
 
         $this->function = $function;
diff --git a/core/vendor/twig/twig/lib/Twig/Function/Method.php b/core/vendor/twig/twig/lib/Twig/Function/Method.php
index 8838618..a13741e 100644
--- a/core/vendor/twig/twig/lib/Twig/Function/Method.php
+++ b/core/vendor/twig/twig/lib/Twig/Function/Method.php
@@ -13,8 +13,11 @@
 /**
  * Represents a method template function.
  *
+ * Use Twig_SimpleFunction instead.
+ *
  * @package    twig
  * @author     Arnaud Le Blanc <arnaud.lb@gmail.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 class Twig_Function_Method extends Twig_Function
 {
@@ -23,6 +26,8 @@ class Twig_Function_Method extends Twig_Function
 
     public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array())
     {
+        $options['callable'] = array($extension, $method);
+
         parent::__construct($options);
 
         $this->extension = $extension;
diff --git a/core/vendor/twig/twig/lib/Twig/Function/Node.php b/core/vendor/twig/twig/lib/Twig/Function/Node.php
index df937e5..068c5fd 100644
--- a/core/vendor/twig/twig/lib/Twig/Function/Node.php
+++ b/core/vendor/twig/twig/lib/Twig/Function/Node.php
@@ -12,8 +12,11 @@
 /**
  * Represents a template function as a node.
  *
+ * Use Twig_SimpleFunction instead.
+ *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 class Twig_Function_Node extends Twig_Function
 {
diff --git a/core/vendor/twig/twig/lib/Twig/FunctionCallableInterface.php b/core/vendor/twig/twig/lib/Twig/FunctionCallableInterface.php
new file mode 100644
index 0000000..dfd6f75
--- /dev/null
+++ b/core/vendor/twig/twig/lib/Twig/FunctionCallableInterface.php
@@ -0,0 +1,24 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2012 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Represents a callable template function.
+ *
+ * Use Twig_SimpleFunction instead.
+ *
+ * @package    twig
+ * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
+ */
+interface Twig_FunctionCallableInterface
+{
+    public function getCallable();
+}
diff --git a/core/vendor/twig/twig/lib/Twig/FunctionInterface.php b/core/vendor/twig/twig/lib/Twig/FunctionInterface.php
index d652ac3..1c03cbd 100644
--- a/core/vendor/twig/twig/lib/Twig/FunctionInterface.php
+++ b/core/vendor/twig/twig/lib/Twig/FunctionInterface.php
@@ -13,8 +13,11 @@
 /**
  * Represents a template function.
  *
+ * Use Twig_SimpleFunction instead.
+ *
  * @package    twig
  * @author     Arnaud Le Blanc <arnaud.lb@gmail.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 interface Twig_FunctionInterface
 {
diff --git a/core/vendor/twig/twig/lib/Twig/Lexer.php b/core/vendor/twig/twig/lib/Twig/Lexer.php
index d77071d..3be7215 100644
--- a/core/vendor/twig/twig/lib/Twig/Lexer.php
+++ b/core/vendor/twig/twig/lib/Twig/Lexer.php
@@ -61,10 +61,10 @@ public function __construct(Twig_Environment $env, array $options = array())
         $this->regexes = array(
             'lex_var'             => '/\s*'.preg_quote($this->options['whitespace_trim'].$this->options['tag_variable'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_variable'][1], '/').'/A',
             'lex_block'           => '/\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')\n?/A',
-            'lex_raw_data'        => '/('.preg_quote($this->options['tag_block'][0].$this->options['whitespace_trim'], '/').'|'.preg_quote($this->options['tag_block'][0], '/').')\s*endraw\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/s',
+            'lex_raw_data'        => '/('.preg_quote($this->options['tag_block'][0].$this->options['whitespace_trim'], '/').'|'.preg_quote($this->options['tag_block'][0], '/').')\s*(?:end%s)\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/s',
             'operator'            => $this->getOperatorRegex(),
             'lex_comment'         => '/(?:'.preg_quote($this->options['whitespace_trim'], '/').preg_quote($this->options['tag_comment'][1], '/').'\s*|'.preg_quote($this->options['tag_comment'][1], '/').')\n?/s',
-            'lex_block_raw'       => '/\s*raw\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/As',
+            'lex_block_raw'       => '/\s*(raw|verbatim)\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/As',
             'lex_block_line'      => '/\s*line\s+(\d+)\s*'.preg_quote($this->options['tag_block'][1], '/').'/As',
             'lex_tokens_start'    => '/('.preg_quote($this->options['tag_variable'][0], '/').'|'.preg_quote($this->options['tag_block'][0], '/').'|'.preg_quote($this->options['tag_comment'][0], '/').')('.preg_quote($this->options['whitespace_trim'], '/').')?/s',
             'interpolation_start' => '/'.preg_quote($this->options['interpolation'][0], '/').'\s*/A',
@@ -178,7 +178,7 @@ protected function lexData()
                 // raw data?
                 if (preg_match($this->regexes['lex_block_raw'], $this->code, $match, null, $this->cursor)) {
                     $this->moveCursor($match[0]);
-                    $this->lexRawData();
+                    $this->lexRawData($match[1]);
                 // {% line \d+ %}
                 } elseif (preg_match($this->regexes['lex_block_line'], $this->code, $match, null, $this->cursor)) {
                     $this->moveCursor($match[0]);
@@ -286,10 +286,10 @@ protected function lexExpression()
         }
     }
 
-    protected function lexRawData()
+    protected function lexRawData($tag)
     {
-        if (!preg_match($this->regexes['lex_raw_data'], $this->code, $match, PREG_OFFSET_CAPTURE, $this->cursor)) {
-            throw new Twig_Error_Syntax(sprintf('Unexpected end of file: Unclosed "block"'), $this->lineno, $this->filename);
+        if (!preg_match(str_replace('%s', $tag, $this->regexes['lex_raw_data']), $this->code, $match, PREG_OFFSET_CAPTURE, $this->cursor)) {
+            throw new Twig_Error_Syntax(sprintf('Unexpected end of file: Unclosed "%s" block', $tag), $this->lineno, $this->filename);
         }
 
         $text = substr($this->code, $this->cursor, $match[0][1] - $this->cursor);
diff --git a/core/vendor/twig/twig/lib/Twig/LexerInterface.php b/core/vendor/twig/twig/lib/Twig/LexerInterface.php
index 9c3d3d2..6fd4db5 100644
--- a/core/vendor/twig/twig/lib/Twig/LexerInterface.php
+++ b/core/vendor/twig/twig/lib/Twig/LexerInterface.php
@@ -14,6 +14,7 @@
  *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 interface Twig_LexerInterface
 {
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Call.php b/core/vendor/twig/twig/lib/Twig/Node/Expression/Call.php
new file mode 100644
index 0000000..a97b3b5
--- /dev/null
+++ b/core/vendor/twig/twig/lib/Twig/Node/Expression/Call.php
@@ -0,0 +1,171 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2012 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+abstract class Twig_Node_Expression_Call extends Twig_Node_Expression
+{
+    protected function compileCallable(Twig_Compiler $compiler)
+    {
+        $callable = $this->getAttribute('callable');
+
+        $closingParenthesis = false;
+        if ($callable) {
+            if (is_string($callable)) {
+                $compiler->raw($callable);
+            } elseif (is_array($callable) && $callable[0] instanceof Twig_ExtensionInterface) {
+                $compiler->raw(sprintf('$this->env->getExtension(\'%s\')->%s', $callable[0]->getName(), $callable[1]));
+            } else {
+                $type = ucfirst($this->getAttribute('type'));
+                $compiler->raw(sprintf('call_user_func_array($this->env->get%s(\'%s\')->getCallable(), array', $type, $this->getAttribute('name')));
+                $closingParenthesis = true;
+            }
+        } else {
+            $compiler->raw($this->getAttribute('thing')->compile());
+        }
+
+        $this->compileArguments($compiler);
+
+        if ($closingParenthesis) {
+            $compiler->raw(')');
+        }
+    }
+
+    protected function compileArguments(Twig_Compiler $compiler)
+    {
+        $compiler->raw('(');
+
+        $first = true;
+
+        if ($this->hasAttribute('needs_environment') && $this->getAttribute('needs_environment')) {
+            $compiler->raw('$this->env');
+            $first = false;
+        }
+
+        if ($this->hasAttribute('needs_context') && $this->getAttribute('needs_context')) {
+            if (!$first) {
+                $compiler->raw(', ');
+            }
+            $compiler->raw('$context');
+            $first = false;
+        }
+
+        if ($this->hasAttribute('arguments')) {
+            foreach ($this->getAttribute('arguments') as $argument) {
+                if (!$first) {
+                    $compiler->raw(', ');
+                }
+                $compiler->string($argument);
+                $first = false;
+            }
+        }
+
+        if ($this->hasNode('node')) {
+            if (!$first) {
+                $compiler->raw(', ');
+            }
+            $compiler->subcompile($this->getNode('node'));
+            $first = false;
+        }
+
+        if ($this->hasNode('arguments') && null !== $this->getNode('arguments')) {
+            $callable = $this->hasAttribute('callable') ? $this->getAttribute('callable') : null;
+
+            $arguments = $this->getArguments($callable, $this->getNode('arguments'));
+
+            foreach ($arguments as $node) {
+                if (!$first) {
+                    $compiler->raw(', ');
+                }
+                $compiler->subcompile($node);
+                $first = false;
+            }
+        }
+
+        $compiler->raw(')');
+    }
+
+    protected function getArguments($callable, $arguments)
+    {
+        $parameters = array();
+        $named = false;
+        foreach ($arguments as $name => $node) {
+            if (!is_int($name)) {
+                $named = true;
+                $name = $this->normalizeName($name);
+            }
+            $parameters[$name] = $node;
+        }
+
+        if (!$named) {
+            return $parameters;
+        }
+
+        if (!$callable) {
+            throw new LogicException(sprintf('Named arguments are not supported for %s "%s".', $this->getAttribute('type'), $this->getAttribute('name')));
+        }
+
+        // manage named arguments
+        if (is_array($callable)) {
+            $r = new ReflectionMethod($callable[0], $callable[1]);
+        } elseif (is_object($callable) && !$callable instanceof Closure) {
+            $r = new ReflectionObject($callable);
+            $r = $r->getMethod('__invoke');
+        } else {
+            $r = new ReflectionFunction($callable);
+        }
+
+        $definition = $r->getParameters();
+        if ($this->hasNode('node')) {
+            array_shift($definition);
+        }
+        if ($this->hasAttribute('needs_environment') && $this->getAttribute('needs_environment')) {
+            array_shift($definition);
+        }
+        if ($this->hasAttribute('needs_context') && $this->getAttribute('needs_context')) {
+            array_shift($definition);
+        }
+        if ($this->hasAttribute('arguments') && null !== $this->getAttribute('arguments')) {
+            foreach ($this->getAttribute('arguments') as $argument) {
+                array_shift($definition);
+            }
+        }
+
+        $arguments = array();
+        $pos = 0;
+        foreach ($definition as $param) {
+            $name = $this->normalizeName($param->name);
+
+            if (array_key_exists($name, $parameters)) {
+                $arguments[] = $parameters[$name];
+                unset($parameters[$name]);
+            } elseif (array_key_exists($pos, $parameters)) {
+                $arguments[] = $parameters[$pos];
+                unset($parameters[$pos]);
+                ++$pos;
+            } elseif ($param->isDefaultValueAvailable()) {
+                $arguments[] = new Twig_Node_Expression_Constant($param->getDefaultValue(), -1);
+            } elseif ($param->isOptional()) {
+                break;
+            } else {
+                throw new Twig_Error_Syntax(sprintf('Value for argument "%s" is required for %s "%s".', $name, $this->getAttribute('type'), $this->getAttribute('name')));
+            }
+        }
+
+        foreach (array_keys($parameters) as $name) {
+            throw new Twig_Error_Syntax(sprintf('Unknown argument "%s" for %s "%s".', $name, $this->getAttribute('type'), $this->getAttribute('name')));
+        }
+
+        return $arguments;
+    }
+
+    protected function normalizeName($name)
+    {
+        return strtolower(preg_replace(array('/([A-Z]+)([A-Z][a-z])/', '/([a-z\d])([A-Z])/'), array('\\1_\\2', '\\1_\\2'), $name));
+    }
+}
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php b/core/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php
index eb9cd31..207b062 100644
--- a/core/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php
+++ b/core/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php
@@ -9,7 +9,7 @@
  * For the full copyright and license information, please view the LICENSE
  * file that was distributed with this source code.
  */
-class Twig_Node_Expression_Filter extends Twig_Node_Expression
+class Twig_Node_Expression_Filter extends Twig_Node_Expression_Call
 {
     public function __construct(Twig_NodeInterface $node, Twig_Node_Expression_Constant $filterName, Twig_NodeInterface $arguments, $lineno, $tag = null)
     {
@@ -19,43 +19,18 @@ public function __construct(Twig_NodeInterface $node, Twig_Node_Expression_Const
     public function compile(Twig_Compiler $compiler)
     {
         $name = $this->getNode('filter')->getAttribute('value');
-
-        if (false === $filter = $compiler->getEnvironment()->getFilter($name)) {
-            $message = sprintf('The filter "%s" does not exist', $name);
-            if ($alternatives = $compiler->getEnvironment()->computeAlternatives($name, array_keys($compiler->getEnvironment()->getFilters()))) {
-                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-            }
-
-            throw new Twig_Error_Syntax($message, $this->getLine(), $compiler->getFilename());
-        }
-
-        $this->compileFilter($compiler, $filter);
-    }
-
-    protected function compileFilter(Twig_Compiler $compiler, Twig_FilterInterface $filter)
-    {
-        $compiler
-            ->raw($filter->compile().'(')
-            ->raw($filter->needsEnvironment() ? '$this->env, ' : '')
-            ->raw($filter->needsContext() ? '$context, ' : '')
-        ;
-
-        foreach ($filter->getArguments() as $argument) {
-            $compiler
-                ->string($argument)
-                ->raw(', ')
-            ;
-        }
-
-        $compiler->subcompile($this->getNode('node'));
-
-        foreach ($this->getNode('arguments') as $node) {
-            $compiler
-                ->raw(', ')
-                ->subcompile($node)
-            ;
+        $filter = $compiler->getEnvironment()->getFilter($name);
+
+        $this->setAttribute('name', $name);
+        $this->setAttribute('type', 'filter');
+        $this->setAttribute('thing', $filter);
+        $this->setAttribute('needs_environment', $filter->needsEnvironment());
+        $this->setAttribute('needs_context', $filter->needsContext());
+        $this->setAttribute('arguments', $filter->getArguments());
+        if ($filter instanceof Twig_FilterCallableInterface || $filter instanceof Twig_SimpleFilter) {
+            $this->setAttribute('callable', $filter->getCallable());
         }
 
-        $compiler->raw(')');
+        $this->compileCallable($compiler);
     }
 }
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php b/core/vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php
index 1cb3342..fccd39a 100644
--- a/core/vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php
+++ b/core/vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php
@@ -23,7 +23,7 @@ class Twig_Node_Expression_Filter_Default extends Twig_Node_Expression_Filter
 {
     public function __construct(Twig_NodeInterface $node, Twig_Node_Expression_Constant $filterName, Twig_NodeInterface $arguments, $lineno, $tag = null)
     {
-        $default = new Twig_Node_Expression_Filter($node, new Twig_Node_Expression_Constant('_default', $node->getLine()), $arguments, $node->getLine());
+        $default = new Twig_Node_Expression_Filter($node, new Twig_Node_Expression_Constant('default', $node->getLine()), $arguments, $node->getLine());
 
         if ('default' === $filterName->getAttribute('value') && ($node instanceof Twig_Node_Expression_Name || $node instanceof Twig_Node_Expression_GetAttr)) {
             $test = new Twig_Node_Expression_Test_Defined(clone $node, 'defined', new Twig_Node(), $node->getLine());
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Function.php b/core/vendor/twig/twig/lib/Twig/Node/Expression/Function.php
index 5640377..3e1f6b5 100644
--- a/core/vendor/twig/twig/lib/Twig/Node/Expression/Function.php
+++ b/core/vendor/twig/twig/lib/Twig/Node/Expression/Function.php
@@ -8,7 +8,7 @@
  * For the full copyright and license information, please view the LICENSE
  * file that was distributed with this source code.
  */
-class Twig_Node_Expression_Function extends Twig_Node_Expression
+class Twig_Node_Expression_Function extends Twig_Node_Expression_Call
 {
     public function __construct($name, Twig_NodeInterface $arguments, $lineno)
     {
@@ -18,49 +18,18 @@ public function __construct($name, Twig_NodeInterface $arguments, $lineno)
     public function compile(Twig_Compiler $compiler)
     {
         $name = $this->getAttribute('name');
-
-        if (false === $function = $compiler->getEnvironment()->getFunction($name)) {
-            $message = sprintf('The function "%s" does not exist', $name);
-            if ($alternatives = $compiler->getEnvironment()->computeAlternatives($name, array_keys($compiler->getEnvironment()->getFunctions()))) {
-                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-            }
-
-            throw new Twig_Error_Syntax($message, $this->getLine(), $compiler->getFilename());
-        }
-
-        $compiler->raw($function->compile().'(');
-
-        $first = true;
-
-        if ($function->needsEnvironment()) {
-            $compiler->raw('$this->env');
-            $first = false;
-        }
-
-        if ($function->needsContext()) {
-            if (!$first) {
-                $compiler->raw(', ');
-            }
-            $compiler->raw('$context');
-            $first = false;
-        }
-
-        foreach ($function->getArguments() as $argument) {
-            if (!$first) {
-                $compiler->raw(', ');
-            }
-            $compiler->string($argument);
-            $first = false;
-        }
-
-        foreach ($this->getNode('arguments') as $node) {
-            if (!$first) {
-                $compiler->raw(', ');
-            }
-            $compiler->subcompile($node);
-            $first = false;
+        $function = $compiler->getEnvironment()->getFunction($name);
+
+        $this->setAttribute('name', $name);
+        $this->setAttribute('type', 'function');
+        $this->setAttribute('thing', $function);
+        $this->setAttribute('needs_environment', $function->needsEnvironment());
+        $this->setAttribute('needs_context', $function->needsContext());
+        $this->setAttribute('arguments', $function->getArguments());
+        if ($function instanceof Twig_FunctionCallableInterface || $function instanceof Twig_SimpleFunction) {
+            $this->setAttribute('callable', $function->getCallable());
         }
 
-        $compiler->raw(')');
+        $this->compileCallable($compiler);
     }
 }
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Test.php b/core/vendor/twig/twig/lib/Twig/Node/Expression/Test.php
index 076e39d..639f501 100644
--- a/core/vendor/twig/twig/lib/Twig/Node/Expression/Test.php
+++ b/core/vendor/twig/twig/lib/Twig/Node/Expression/Test.php
@@ -8,7 +8,7 @@
  * For the full copyright and license information, please view the LICENSE
  * file that was distributed with this source code.
  */
-class Twig_Node_Expression_Test extends Twig_Node_Expression
+class Twig_Node_Expression_Test extends Twig_Node_Expression_Call
 {
     public function __construct(Twig_NodeInterface $node, $name, Twig_NodeInterface $arguments = null, $lineno)
     {
@@ -18,37 +18,15 @@ public function __construct(Twig_NodeInterface $node, $name, Twig_NodeInterface
     public function compile(Twig_Compiler $compiler)
     {
         $name = $this->getAttribute('name');
-        $testMap = $compiler->getEnvironment()->getTests();
-        if (!isset($testMap[$name])) {
-            $message = sprintf('The test "%s" does not exist', $name);
-            if ($alternatives = $compiler->getEnvironment()->computeAlternatives($name, array_keys($compiler->getEnvironment()->getTests()))) {
-                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-            }
+        $test = $compiler->getEnvironment()->getTest($name);
 
-            throw new Twig_Error_Syntax($message, $this->getLine(), $compiler->getFilename());
+        $this->setAttribute('name', $name);
+        $this->setAttribute('type', 'test');
+        $this->setAttribute('thing', $test);
+        if ($test instanceof Twig_TestCallableInterface || $test instanceof Twig_SimpleTest) {
+            $this->setAttribute('callable', $test->getCallable());
         }
 
-        $name = $this->getAttribute('name');
-        $node = $this->getNode('node');
-
-        $compiler
-            ->raw($testMap[$name]->compile().'(')
-            ->subcompile($node)
-        ;
-
-        if (null !== $this->getNode('arguments')) {
-            $compiler->raw(', ');
-
-            $max = count($this->getNode('arguments')) - 1;
-            foreach ($this->getNode('arguments') as $i => $arg) {
-                $compiler->subcompile($arg);
-
-                if ($i != $max) {
-                    $compiler->raw(', ');
-                }
-            }
-        }
-
-        $compiler->raw(')');
+        $this->compileCallable($compiler);
     }
 }
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Macro.php b/core/vendor/twig/twig/lib/Twig/Node/Macro.php
index 8bb5d9d..347e4b2 100644
--- a/core/vendor/twig/twig/lib/Twig/Node/Macro.php
+++ b/core/vendor/twig/twig/lib/Twig/Node/Macro.php
@@ -29,14 +29,27 @@ public function __construct($name, Twig_NodeInterface $body, Twig_NodeInterface
      */
     public function compile(Twig_Compiler $compiler)
     {
-        $arguments = array();
-        foreach ($this->getNode('arguments') as $argument) {
-            $arguments[] = '$_'.$argument->getAttribute('name').' = null';
+        $compiler
+            ->addDebugInfo($this)
+            ->write(sprintf("public function get%s(", $this->getAttribute('name')))
+        ;
+
+        $count = count($this->getNode('arguments'));
+        $pos = 0;
+        foreach ($this->getNode('arguments') as $name => $default) {
+            $compiler
+                ->raw('$_'.$name.' = ')
+                ->subcompile($default)
+            ;
+
+            if (++$pos < $count) {
+                $compiler->raw(', ');
+            }
         }
 
         $compiler
-            ->addDebugInfo($this)
-            ->write(sprintf("public function get%s(%s)\n", $this->getAttribute('name'), implode(', ', $arguments)), "{\n")
+            ->raw(")\n")
+            ->write("{\n")
             ->indent()
         ;
 
@@ -48,11 +61,11 @@ public function compile(Twig_Compiler $compiler)
                 ->indent()
             ;
 
-            foreach ($this->getNode('arguments') as $argument) {
+            foreach ($this->getNode('arguments') as $name => $default) {
                 $compiler
                     ->write('')
-                    ->string($argument->getAttribute('name'))
-                    ->raw(' => $_'.$argument->getAttribute('name'))
+                    ->string($name)
+                    ->raw(' => $_'.$name)
                     ->raw(",\n")
                 ;
             }
diff --git a/core/vendor/twig/twig/lib/Twig/NodeInterface.php b/core/vendor/twig/twig/lib/Twig/NodeInterface.php
index e77782f..44b953b 100644
--- a/core/vendor/twig/twig/lib/Twig/NodeInterface.php
+++ b/core/vendor/twig/twig/lib/Twig/NodeInterface.php
@@ -14,6 +14,7 @@
  *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 interface Twig_NodeInterface extends Countable, IteratorAggregate
 {
diff --git a/core/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php b/core/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php
index cc9a58b..0d749fe 100644
--- a/core/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php
+++ b/core/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php
@@ -107,22 +107,18 @@ protected function preEscapeFilterNode(Twig_Node_Expression_Filter $filter, Twig
     {
         $name = $filter->getNode('filter')->getAttribute('value');
 
-        if (false !== $f = $env->getFilter($name)) {
-            $type = $f->getPreEscape();
-            if (null === $type) {
-                return $filter;
-            }
-
-            $node = $filter->getNode('node');
-            if ($this->isSafeFor($type, $node, $env)) {
-                return $filter;
-            }
-
-            $filter->setNode('node', $this->getEscaperFilter($type, $node));
+        $type = $env->getFilter($name)->getPreEscape();
+        if (null === $type) {
+            return $filter;
+        }
 
+        $node = $filter->getNode('node');
+        if ($this->isSafeFor($type, $node, $env)) {
             return $filter;
         }
 
+        $filter->setNode('node', $this->getEscaperFilter($type, $node));
+
         return $filter;
     }
 
diff --git a/core/vendor/twig/twig/lib/Twig/ParserInterface.php b/core/vendor/twig/twig/lib/Twig/ParserInterface.php
index 4de3999..2783a68 100644
--- a/core/vendor/twig/twig/lib/Twig/ParserInterface.php
+++ b/core/vendor/twig/twig/lib/Twig/ParserInterface.php
@@ -12,8 +12,9 @@
 /**
  * Interface implemented by parser classes.
  *
- * @package twig
- * @author  Fabien Potencier <fabien@symfony.com>
+ * @package    twig
+ * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 interface Twig_ParserInterface
 {
diff --git a/core/vendor/twig/twig/lib/Twig/SimpleFilter.php b/core/vendor/twig/twig/lib/Twig/SimpleFilter.php
new file mode 100644
index 0000000..7089a9d
--- /dev/null
+++ b/core/vendor/twig/twig/lib/Twig/SimpleFilter.php
@@ -0,0 +1,97 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2009-2012 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Represents a template filter.
+ *
+ * @package    twig
+ * @author     Fabien Potencier <fabien@symfony.com>
+ */
+class Twig_SimpleFilter
+{
+    protected $name;
+    protected $callable;
+    protected $options;
+    protected $arguments = array();
+
+    public function __construct($name, $callable, array $options = array())
+    {
+        $this->name = $name;
+        $this->callable = $callable;
+        $this->options = array_merge(array(
+            'needs_environment' => false,
+            'needs_context'     => false,
+            'is_safe'           => null,
+            'is_safe_callback'  => null,
+            'pre_escape'        => null,
+            'preserves_safety'  => null,
+            'node_class'        => 'Twig_Node_Expression_Filter',
+        ), $options);
+    }
+
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    public function getCallable()
+    {
+        return $this->callable;
+    }
+
+    public function getNodeClass()
+    {
+        return $this->options['node_class'];
+    }
+
+    public function setArguments($arguments)
+    {
+        $this->arguments = $arguments;
+    }
+
+    public function getArguments()
+    {
+        return $this->arguments;
+    }
+
+    public function needsEnvironment()
+    {
+        return $this->options['needs_environment'];
+    }
+
+    public function needsContext()
+    {
+        return $this->options['needs_context'];
+    }
+
+    public function getSafe(Twig_Node $filterArgs)
+    {
+        if (null !== $this->options['is_safe']) {
+            return $this->options['is_safe'];
+        }
+
+        if (null !== $this->options['is_safe_callback']) {
+            return call_user_func($this->options['is_safe_callback'], $filterArgs);
+        }
+
+        return null;
+    }
+
+    public function getPreservesSafety()
+    {
+        return $this->options['preserves_safety'];
+    }
+
+    public function getPreEscape()
+    {
+        return $this->options['pre_escape'];
+    }
+}
diff --git a/core/vendor/twig/twig/lib/Twig/SimpleFunction.php b/core/vendor/twig/twig/lib/Twig/SimpleFunction.php
new file mode 100644
index 0000000..9924154
--- /dev/null
+++ b/core/vendor/twig/twig/lib/Twig/SimpleFunction.php
@@ -0,0 +1,85 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2010-2012 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Represents a template function.
+ *
+ * @package    twig
+ * @author     Fabien Potencier <fabien@symfony.com>
+ */
+class Twig_SimpleFunction
+{
+    protected $name;
+    protected $callable;
+    protected $options;
+    protected $arguments = array();
+
+    public function __construct($name, $callable, array $options = array())
+    {
+        $this->name = $name;
+        $this->callable = $callable;
+        $this->options = array_merge(array(
+            'needs_environment' => false,
+            'needs_context'     => false,
+            'is_safe'           => null,
+            'is_safe_callback'  => null,
+            'node_class'        => 'Twig_Node_Expression_Function',
+        ), $options);
+    }
+
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    public function getCallable()
+    {
+        return $this->callable;
+    }
+
+    public function getNodeClass()
+    {
+        return $this->options['node_class'];
+    }
+
+    public function setArguments($arguments)
+    {
+        $this->arguments = $arguments;
+    }
+
+    public function getArguments()
+    {
+        return $this->arguments;
+    }
+
+    public function needsEnvironment()
+    {
+        return $this->options['needs_environment'];
+    }
+
+    public function needsContext()
+    {
+        return $this->options['needs_context'];
+    }
+
+    public function getSafe(Twig_Node $functionArgs)
+    {
+        if (null !== $this->options['is_safe']) {
+            return $this->options['is_safe'];
+        }
+
+        if (null !== $this->options['is_safe_callback']) {
+            return call_user_func($this->options['is_safe_callback'], $functionArgs);
+        }
+
+        return array();
+    }
+}
diff --git a/core/vendor/twig/twig/lib/Twig/SimpleTest.php b/core/vendor/twig/twig/lib/Twig/SimpleTest.php
new file mode 100644
index 0000000..7502c79
--- /dev/null
+++ b/core/vendor/twig/twig/lib/Twig/SimpleTest.php
@@ -0,0 +1,47 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2010-2012 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Represents a template test.
+ *
+ * @package    twig
+ * @author     Fabien Potencier <fabien@symfony.com>
+ */
+class Twig_SimpleTest
+{
+    protected $name;
+    protected $callable;
+    protected $options;
+
+    public function __construct($name, $callable, array $options = array())
+    {
+        $this->name = $name;
+        $this->callable = $callable;
+        $this->options = array_merge(array(
+            'node_class' => 'Twig_Node_Expression_Test',
+        ), $options);
+    }
+
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    public function getCallable()
+    {
+        return $this->callable;
+    }
+
+    public function getNodeClass()
+    {
+        return $this->options['node_class'];
+    }
+}
diff --git a/core/vendor/twig/twig/lib/Twig/TemplateInterface.php b/core/vendor/twig/twig/lib/Twig/TemplateInterface.php
index 5d7b027..d2a2c39 100644
--- a/core/vendor/twig/twig/lib/Twig/TemplateInterface.php
+++ b/core/vendor/twig/twig/lib/Twig/TemplateInterface.php
@@ -12,8 +12,9 @@
 /**
  * Interface implemented by all compiled templates.
  *
- * @package twig
- * @author  Fabien Potencier <fabien@symfony.com>
+ * @package    twig
+ * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 interface Twig_TemplateInterface
 {
diff --git a/core/vendor/twig/twig/lib/Twig/Test.php b/core/vendor/twig/twig/lib/Twig/Test.php
new file mode 100644
index 0000000..7fef1b4
--- /dev/null
+++ b/core/vendor/twig/twig/lib/Twig/Test.php
@@ -0,0 +1,35 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2012 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Represents a template test.
+ *
+ * @package    twig
+ * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
+ */
+abstract class Twig_Test implements Twig_TestInterface, Twig_TestCallableInterface
+{
+    protected $options;
+    protected $arguments = array();
+
+    public function __construct(array $options = array())
+    {
+        $this->options = array_merge(array(
+            'callable' => null,
+        ), $options);
+    }
+
+    public function getCallable()
+    {
+        return $this->options['callable'];
+    }
+}
diff --git a/core/vendor/twig/twig/lib/Twig/Test/Function.php b/core/vendor/twig/twig/lib/Twig/Test/Function.php
index 1240a0f..d0ff490 100644
--- a/core/vendor/twig/twig/lib/Twig/Test/Function.php
+++ b/core/vendor/twig/twig/lib/Twig/Test/Function.php
@@ -14,13 +14,18 @@
  *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
-class Twig_Test_Function implements Twig_TestInterface
+class Twig_Test_Function extends Twig_Test
 {
     protected $function;
 
-    public function __construct($function)
+    public function __construct($function, array $options = array())
     {
+        $options['callable'] = $function;
+
+        parent::__construct($options);
+
         $this->function = $function;
     }
 
diff --git a/core/vendor/twig/twig/lib/Twig/Test/Method.php b/core/vendor/twig/twig/lib/Twig/Test/Method.php
index a8d1d9b..5a5f37f 100644
--- a/core/vendor/twig/twig/lib/Twig/Test/Method.php
+++ b/core/vendor/twig/twig/lib/Twig/Test/Method.php
@@ -14,14 +14,19 @@
  *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
-class Twig_Test_Method implements Twig_TestInterface
+class Twig_Test_Method extends Twig_Test
 {
     protected $extension;
     protected $method;
 
-    public function __construct(Twig_ExtensionInterface $extension, $method)
+    public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array())
     {
+        $options['callable'] = array($extension, $method);
+
+        parent::__construct($options);
+
         $this->extension = $extension;
         $this->method = $method;
     }
diff --git a/core/vendor/twig/twig/lib/Twig/Test/Node.php b/core/vendor/twig/twig/lib/Twig/Test/Node.php
index 47a978e..eee48f9 100644
--- a/core/vendor/twig/twig/lib/Twig/Test/Node.php
+++ b/core/vendor/twig/twig/lib/Twig/Test/Node.php
@@ -14,13 +14,16 @@
  *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
-class Twig_Test_Node implements Twig_TestInterface
+class Twig_Test_Node extends Twig_Test
 {
     protected $class;
 
-    public function __construct($class)
+    public function __construct($class, array $options = array())
     {
+        parent::__construct($options);
+
         $this->class = $class;
     }
 
diff --git a/core/vendor/twig/twig/lib/Twig/TestCallableInterface.php b/core/vendor/twig/twig/lib/Twig/TestCallableInterface.php
new file mode 100644
index 0000000..18a9ca2
--- /dev/null
+++ b/core/vendor/twig/twig/lib/Twig/TestCallableInterface.php
@@ -0,0 +1,22 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2012 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Represents a callable template test.
+ *
+ * @package    twig
+ * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
+ */
+interface Twig_TestCallableInterface
+{
+    public function getCallable();
+}
diff --git a/core/vendor/twig/twig/lib/Twig/TestInterface.php b/core/vendor/twig/twig/lib/Twig/TestInterface.php
index 96db428..c1a2118 100644
--- a/core/vendor/twig/twig/lib/Twig/TestInterface.php
+++ b/core/vendor/twig/twig/lib/Twig/TestInterface.php
@@ -14,6 +14,7 @@
  *
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 interface Twig_TestInterface
 {
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/For.php b/core/vendor/twig/twig/lib/Twig/TokenParser/For.php
index 2cbb580..98a6d07 100644
--- a/core/vendor/twig/twig/lib/Twig/TokenParser/For.php
+++ b/core/vendor/twig/twig/lib/Twig/TokenParser/For.php
@@ -33,25 +33,26 @@ class Twig_TokenParser_For extends Twig_TokenParser
     public function parse(Twig_Token $token)
     {
         $lineno = $token->getLine();
+        $stream = $this->parser->getStream();
         $targets = $this->parser->getExpressionParser()->parseAssignmentExpression();
-        $this->parser->getStream()->expect(Twig_Token::OPERATOR_TYPE, 'in');
+        $stream->expect(Twig_Token::OPERATOR_TYPE, 'in');
         $seq = $this->parser->getExpressionParser()->parseExpression();
 
         $ifexpr = null;
-        if ($this->parser->getStream()->test(Twig_Token::NAME_TYPE, 'if')) {
-            $this->parser->getStream()->next();
+        if ($stream->test(Twig_Token::NAME_TYPE, 'if')) {
+            $stream->next();
             $ifexpr = $this->parser->getExpressionParser()->parseExpression();
         }
 
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
+        $stream->expect(Twig_Token::BLOCK_END_TYPE);
         $body = $this->parser->subparse(array($this, 'decideForFork'));
-        if ($this->parser->getStream()->next()->getValue() == 'else') {
-            $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
+        if ($stream->next()->getValue() == 'else') {
+            $stream->expect(Twig_Token::BLOCK_END_TYPE);
             $else = $this->parser->subparse(array($this, 'decideForEnd'), true);
         } else {
             $else = null;
         }
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
+        $stream->expect(Twig_Token::BLOCK_END_TYPE);
 
         if (count($targets) > 1) {
             $keyTarget = $targets->getNode(0);
@@ -64,6 +65,11 @@ public function parse(Twig_Token $token)
             $valueTarget = new Twig_Node_Expression_AssignName($valueTarget->getAttribute('name'), $valueTarget->getLine());
         }
 
+        if ($ifexpr) {
+            $this->checkLoopUsageCondition($stream, $ifexpr);
+            $this->checkLoopUsageBody($stream, $body);
+        }
+
         return new Twig_Node_For($keyTarget, $valueTarget, $seq, $ifexpr, $body, $else, $lineno, $this->getTag());
     }
 
@@ -77,6 +83,47 @@ public function decideForEnd(Twig_Token $token)
         return $token->test('endfor');
     }
 
+    // the loop variable cannot be used in the condition
+    protected function checkLoopUsageCondition(Twig_TokenStream $stream, Twig_NodeInterface $node)
+    {
+        if ($node instanceof Twig_Node_Expression_GetAttr && $node->getNode('node') instanceof Twig_Node_Expression_Name && 'loop' == $node->getNode('node')->getAttribute('name')) {
+            throw new Twig_Error_Syntax('The "loop" variable cannot be used in a looping condition', $node->getLine(), $stream->getFilename());
+        }
+
+        foreach ($node as $n) {
+            if (!$n) {
+                continue;
+            }
+
+            $this->checkLoopUsageCondition($stream, $n);
+        }
+    }
+
+    // check usage of non-defined loop-items
+    // it does not catch all problems (for instance when a for is included into another or when the variable is used in an include)
+    protected function checkLoopUsageBody(Twig_TokenStream $stream, Twig_NodeInterface $node)
+    {
+        if ($node instanceof Twig_Node_Expression_GetAttr && $node->getNode('node') instanceof Twig_Node_Expression_Name && 'loop' == $node->getNode('node')->getAttribute('name')) {
+            $attribute = $node->getNode('attribute');
+            if ($attribute instanceof Twig_Node_Expression_Constant && in_array($attribute->getAttribute('value'), array('length', 'revindex0', 'revindex', 'last'))) {
+                throw new Twig_Error_Syntax(sprintf('The "loop.%s" variable is not defined when looping with a condition', $attribute->getAttribute('value')), $node->getLine(), $stream->getFilename());
+            }
+        }
+
+        // should check for parent.loop.XXX usage
+        if ($node instanceof Twig_Node_For) {
+            return;
+        }
+
+        foreach ($node as $n) {
+            if (!$n) {
+                continue;
+            }
+
+            $this->checkLoopUsageBody($stream, $n);
+        }
+    }
+
     /**
      * Gets the tag name associated with this token parser.
      *
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Macro.php b/core/vendor/twig/twig/lib/Twig/TokenParser/Macro.php
index de10059..c2a0336 100644
--- a/core/vendor/twig/twig/lib/Twig/TokenParser/Macro.php
+++ b/core/vendor/twig/twig/lib/Twig/TokenParser/Macro.php
@@ -33,7 +33,7 @@ public function parse(Twig_Token $token)
         $stream = $this->parser->getStream();
         $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
 
-        $arguments = $this->parser->getExpressionParser()->parseArguments();
+        $arguments = $this->parser->getExpressionParser()->parseArguments(true, true);
 
         $stream->expect(Twig_Token::BLOCK_END_TYPE);
         $this->parser->pushLocalScope();
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParserBroker.php b/core/vendor/twig/twig/lib/Twig/TokenParserBroker.php
index f2c27ee..23474de 100644
--- a/core/vendor/twig/twig/lib/Twig/TokenParserBroker.php
+++ b/core/vendor/twig/twig/lib/Twig/TokenParserBroker.php
@@ -13,8 +13,9 @@
 /**
  * Default implementation of a token parser broker.
  *
- * @package twig
- * @author  Arnaud Le Blanc <arnaud.lb@gmail.com>
+ * @package    twig
+ * @author     Arnaud Le Blanc <arnaud.lb@gmail.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 class Twig_TokenParserBroker implements Twig_TokenParserBrokerInterface
 {
@@ -55,6 +56,19 @@ public function addTokenParser(Twig_TokenParserInterface $parser)
     }
 
     /**
+     * Removes a TokenParser.
+     *
+     * @param Twig_TokenParserInterface $parser A Twig_TokenParserInterface instance
+     */
+    public function removeTokenParser(Twig_TokenParserInterface $parser)
+    {
+        $name = $parser->getTag();
+        if (isset($this->parsers[$name]) && $parser === $this->parsers[$name]) {
+            unset($this->parsers[$name]);
+        }
+    }
+
+    /**
      * Adds a TokenParserBroker.
      *
      * @param Twig_TokenParserBroker $broker A Twig_TokenParserBroker instance
@@ -65,6 +79,18 @@ public function addTokenParserBroker(Twig_TokenParserBroker $broker)
     }
 
     /**
+     * Removes a TokenParserBroker.
+     *
+     * @param Twig_TokenParserBroker $broker A Twig_TokenParserBroker instance
+     */
+    public function removeTokenParserBroker(Twig_TokenParserBroker $broker)
+    {
+        if (false !== $pos = array_search($broker, $this->brokers)) {
+            unset($this->brokers[$pos]);
+        }
+    }
+
+    /**
      * Gets a suitable TokenParser for a tag.
      *
      * First looks in parsers, then in brokers.
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php b/core/vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php
index b8e3c23..ac7e7cd 100644
--- a/core/vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php
+++ b/core/vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php
@@ -15,8 +15,9 @@
  *
  * Token parser brokers allows to implement custom logic in the process of resolving a token parser for a given tag name.
  *
- * @package twig
- * @author  Arnaud Le Blanc <arnaud.lb@gmail.com>
+ * @package    twig
+ * @author     Arnaud Le Blanc <arnaud.lb@gmail.com>
+ * @deprecated since 1.12 (to be removed in 2.0)
  */
 interface Twig_TokenParserBrokerInterface
 {
diff --git a/core/vendor/twig/twig/lib/Twig/TokenStream.php b/core/vendor/twig/twig/lib/Twig/TokenStream.php
index 292c11f..fcb10eb 100644
--- a/core/vendor/twig/twig/lib/Twig/TokenStream.php
+++ b/core/vendor/twig/twig/lib/Twig/TokenStream.php
@@ -58,7 +58,7 @@ public function injectTokens(array $tokens)
     public function next()
     {
         if (!isset($this->tokens[++$this->current])) {
-            throw new Twig_Error_Syntax('Unexpected end of template', $this->token[$this->current - 1]->getLine(), $this->filename);
+            throw new Twig_Error_Syntax('Unexpected end of template', $this->tokens[$this->current - 1]->getLine(), $this->filename);
         }
 
         return $this->tokens[$this->current - 1];
@@ -97,7 +97,7 @@ public function expect($type, $value = null, $message = null)
     public function look($number = 1)
     {
         if (!isset($this->tokens[$this->current + $number])) {
-            throw new Twig_Error_Syntax('Unexpected end of template', $this->token[$this->current + $number - 1]->getLine(), $this->filename);
+            throw new Twig_Error_Syntax('Unexpected end of template', $this->tokens[$this->current + $number - 1]->getLine(), $this->filename);
         }
 
         return $this->tokens[$this->current + $number];
diff --git a/core/vendor/twig/twig/package.xml.tpl b/core/vendor/twig/twig/package.xml.tpl
deleted file mode 100644
index f9a9b89..0000000
--- a/core/vendor/twig/twig/package.xml.tpl
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<package packagerversion="1.8.0" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0
-    http://pear.php.net/dtd/tasks-1.0.xsd
-    http://pear.php.net/dtd/package-2.0
-    http://pear.php.net/dtd/package-2.0.xsd">
- <name>Twig</name>
- <channel>pear.twig-project.org</channel>
- <summary>Twig is a PHP template engine.</summary>
- <description>
-   Twig is a template language for PHP, released under the new BSD license
-   (code and documentation).
-
-   Twig uses a syntax similar to the Django and Jinja template languages which
-   inspired the Twig runtime environment.
- </description>
- <lead>
-  <name>Fabien Potencier</name>
-  <user>fabpot</user>
-  <email>fabien.potencier@symfony-project.org</email>
-  <active>yes</active>
- </lead>
- <lead>
-  <name>Armin Ronacher</name>
-  <user>armin</user>
-  <email>armin.ronacher@active-4.com</email>
-  <active>no</active>
- </lead>
- <date>{{ date }}</date>
- <time>{{ time }}</time>
- <version>
-  <release>{{ version }}</release>
-  <api>{{ api_version }}</api>
- </version>
- <stability>
-  <release>{{ stability }}</release>
-  <api>{{ stability }}</api>
- </stability>
- <license uri="http://www.opensource.org/licenses/bsd-license.php">BSD Style</license>
- <notes>-</notes>
- <contents>
-   <dir name="/">
-     <file name="AUTHORS" role="doc" />
-     <file name="CHANGELOG" role="doc" />
-     <file name="LICENSE" role="doc" />
-     <file name="README.markdown" role="doc" />
-     <dir name="lib">
-      <dir name="Twig">
-{{ files }}
-      </dir>
-     </dir>
-   </dir>
- </contents>
- <dependencies>
-  <required>
-   <php>
-    <min>5.2.4</min>
-   </php>
-   <pearinstaller>
-    <min>1.4.0</min>
-   </pearinstaller>
-  </required>
- </dependencies>
- <phprelease />
-</package>
diff --git a/core/vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php b/core/vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php
index 76731ea..fc2cef8 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php
+++ b/core/vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php
@@ -32,4 +32,241 @@ public function escapingStrategyCallback($filename)
     {
         return $filename;
     }
+
+    public function testGlobals()
+    {
+        // globals can be added after calling getGlobals
+        $twig = new Twig_Environment(new Twig_Loader_String());
+        $twig->addGlobal('foo', 'foo');
+        $globals = $twig->getGlobals();
+        $twig->addGlobal('foo', 'bar');
+        $globals = $twig->getGlobals();
+        $this->assertEquals('bar', $globals['foo']);
+
+        // globals can be modified after runtime init
+        $twig = new Twig_Environment(new Twig_Loader_String());
+        $twig->addGlobal('foo', 'foo');
+        $globals = $twig->getGlobals();
+        $twig->initRuntime();
+        $twig->addGlobal('foo', 'bar');
+        $globals = $twig->getGlobals();
+        $this->assertEquals('bar', $globals['foo']);
+
+        // globals can be modified after extensions init
+        $twig = new Twig_Environment(new Twig_Loader_String());
+        $twig->addGlobal('foo', 'foo');
+        $globals = $twig->getGlobals();
+        $twig->getFunctions();
+        $twig->addGlobal('foo', 'bar');
+        $globals = $twig->getGlobals();
+        $this->assertEquals('bar', $globals['foo']);
+
+        // globals can be modified after extensions and runtime init
+        $twig = new Twig_Environment(new Twig_Loader_String());
+        $twig->addGlobal('foo', 'foo');
+        $globals = $twig->getGlobals();
+        $twig->getFunctions();
+        $twig->initRuntime();
+        $twig->addGlobal('foo', 'bar');
+        $globals = $twig->getGlobals();
+        $this->assertEquals('bar', $globals['foo']);
+
+        /* to be uncomment in Twig 2.0
+        // globals cannot be added after runtime init
+        $twig = new Twig_Environment(new Twig_Loader_String());
+        $twig->addGlobal('foo', 'foo');
+        $globals = $twig->getGlobals();
+        $twig->initRuntime();
+        try {
+            $twig->addGlobal('bar', 'bar');
+            $this->fail();
+        } catch (LogicException $e) {
+            $this->assertFalse(array_key_exists('bar', $twig->getGlobals()));
+        }
+
+        // globals cannot be added after extensions init
+        $twig = new Twig_Environment(new Twig_Loader_String());
+        $twig->addGlobal('foo', 'foo');
+        $globals = $twig->getGlobals();
+        $twig->getFunctions();
+        try {
+            $twig->addGlobal('bar', 'bar');
+            $this->fail();
+        } catch (LogicException $e) {
+            $this->assertFalse(array_key_exists('bar', $twig->getGlobals()));
+        }
+
+        // globals cannot be added after extensions and runtime init
+        $twig = new Twig_Environment(new Twig_Loader_String());
+        $twig->addGlobal('foo', 'foo');
+        $globals = $twig->getGlobals();
+        $twig->getFunctions();
+        $twig->initRuntime();
+        try {
+            $twig->addGlobal('bar', 'bar');
+            $this->fail();
+        } catch (LogicException $e) {
+            $this->assertFalse(array_key_exists('bar', $twig->getGlobals()));
+        }
+
+        // test adding globals after initRuntime without call to getGlobals
+        $twig = new Twig_Environment(new Twig_Loader_String());
+        $twig->initRuntime();
+        try {
+            $twig->addGlobal('bar', 'bar');
+            $this->fail();
+        } catch (LogicException $e) {
+            $this->assertFalse(array_key_exists('bar', $twig->getGlobals()));
+        }
+        */
+    }
+
+    public function testExtensionsAreNotInitializedWhenRenderingACompiledTemplate()
+    {
+        $options = array('cache' => sys_get_temp_dir().'/twig', 'auto_reload' => false, 'debug' => false);
+
+        // force compilation
+        $twig = new Twig_Environment(new Twig_Loader_String(), $options);
+        $cache = $twig->getCacheFilename('{{ foo }}');
+        if (!is_dir(dirname($cache))) {
+            mkdir(dirname($cache), 0777, true);
+        }
+        file_put_contents($cache, $twig->compileSource('{{ foo }}', '{{ foo }}'));
+
+        // check that extensions won't be initialized when rendering a template that is already in the cache
+        $twig = $this
+            ->getMockBuilder('Twig_Environment')
+            ->setConstructorArgs(array(new Twig_Loader_String(), $options))
+            ->setMethods(array('initExtensions'))
+            ->getMock()
+        ;
+
+        $twig->expects($this->never())->method('initExtensions');
+
+        // render template
+        $output = $twig->render('{{ foo }}', array('foo' => 'bar'));
+        $this->assertEquals('bar', $output);
+
+        unlink($cache);
+    }
+
+    public function testAddExtension()
+    {
+        $twig = new Twig_Environment(new Twig_Loader_String());
+        $twig->addExtension(new Twig_Tests_EnvironmentTest_Extension());
+
+        $this->assertArrayHasKey('test', $twig->getTags());
+        $this->assertArrayHasKey('foo_filter', $twig->getFilters());
+        $this->assertArrayHasKey('foo_function', $twig->getFunctions());
+        $this->assertArrayHasKey('foo_test', $twig->getTests());
+        $this->assertArrayHasKey('foo_unary', $twig->getUnaryOperators());
+        $this->assertArrayHasKey('foo_binary', $twig->getBinaryOperators());
+        $this->assertArrayHasKey('foo_global', $twig->getGlobals());
+        $visitors = $twig->getNodeVisitors();
+        $this->assertEquals('Twig_Tests_EnvironmentTest_NodeVisitor', get_class($visitors[2]));
+    }
+
+    public function testRemoveExtension()
+    {
+        $twig = new Twig_Environment(new Twig_Loader_String());
+        $twig->addExtension(new Twig_Tests_EnvironmentTest_Extension());
+        $twig->removeExtension('test');
+
+        $this->assertFalse(array_key_exists('test', $twig->getTags()));
+        $this->assertFalse(array_key_exists('foo_filter', $twig->getFilters()));
+        $this->assertFalse(array_key_exists('foo_function', $twig->getFunctions()));
+        $this->assertFalse(array_key_exists('foo_test', $twig->getTests()));
+        $this->assertFalse(array_key_exists('foo_unary', $twig->getUnaryOperators()));
+        $this->assertFalse(array_key_exists('foo_binary', $twig->getBinaryOperators()));
+        $this->assertFalse(array_key_exists('foo_global', $twig->getGlobals()));
+        $this->assertCount(2, $twig->getNodeVisitors());
+    }
+}
+
+class Twig_Tests_EnvironmentTest_Extension extends Twig_Extension
+{
+    public function getTokenParsers()
+    {
+        return array(
+            new Twig_Tests_EnvironmentTest_TokenParser(),
+        );
+    }
+
+    public function getNodeVisitors()
+    {
+        return array(
+            new Twig_Tests_EnvironmentTest_NodeVisitor(),
+        );
+    }
+
+    public function getFilters()
+    {
+        return array(
+            'foo_filter' => new Twig_Filter_Function('foo_filter'),
+        );
+    }
+
+    public function getTests()
+    {
+        return array(
+            'foo_test' => new Twig_Test_Function('foo_test'),
+        );
+    }
+
+    public function getFunctions()
+    {
+        return array(
+            'foo_function' => new Twig_Function_Function('foo_function'),
+        );
+    }
+
+    public function getOperators()
+    {
+        return array(
+            array('foo_unary' => array()),
+            array('foo_binary' => array()),
+        );
+    }
+
+    public function getGlobals()
+    {
+        return array(
+            'foo_global' => 'foo_global',
+        );
+    }
+
+    public function getName()
+    {
+        return 'test';
+    }
+}
+
+class Twig_Tests_EnvironmentTest_TokenParser extends Twig_TokenParser
+{
+    public function parse(Twig_Token $token)
+    {
+    }
+
+    public function getTag()
+    {
+        return 'test';
+    }
+}
+
+class Twig_Tests_EnvironmentTest_NodeVisitor implements Twig_NodeVisitorInterface
+{
+    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env)
+    {
+        return $node;
+    }
+
+    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env)
+    {
+        return $node;
+    }
+
+    public function getPriority()
+    {
+        return 0;
+    }
 }
diff --git a/core/vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php b/core/vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php
index b3f300f..8ec6537 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php
+++ b/core/vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php
@@ -214,4 +214,119 @@ public function getTestsForString()
             ),
         );
     }
+
+    /**
+     * @expectedException Twig_Error_Syntax
+     */
+    public function testAttributeCallDoesNotSupportNamedArguments()
+    {
+        $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false, 'autoescape' => false));
+        $parser = new Twig_Parser($env);
+
+        $parser->parse($env->tokenize('{{ foo.bar(name="Foo") }}', 'index'));
+    }
+
+    /**
+     * @expectedException Twig_Error_Syntax
+     */
+    public function testMacroCallDoesNotSupportNamedArguments()
+    {
+        $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false, 'autoescape' => false));
+        $parser = new Twig_Parser($env);
+
+        $parser->parse($env->tokenize('{% from _self import foo %}{% macro foo() %}{% endmacro %}{{ foo(name="Foo") }}', 'index'));
+    }
+
+    /**
+     * @expectedException        Twig_Error_Syntax
+     * @expectedExceptionMessage An argument must be a name. Unexpected token "string" of value "a" ("name" expected) in "index" at line 1
+     */
+    public function testMacroDefinitionDoesNotSupportNonNameVariableName()
+    {
+        $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false, 'autoescape' => false));
+        $parser = new Twig_Parser($env);
+
+        $parser->parse($env->tokenize('{% macro foo("a") %}{% endmacro %}', 'index'));
+    }
+
+    /**
+     * @expectedException        Twig_Error_Syntax
+     * @expectedExceptionMessage A default value for an argument must be a constant (a boolean, a string, a number, or an array) in "index" at line 1
+     * @dataProvider             getMacroDefinitionDoesNotSupportNonConstantDefaultValues
+     */
+    public function testMacroDefinitionDoesNotSupportNonConstantDefaultValues($template)
+    {
+        $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false, 'autoescape' => false));
+        $parser = new Twig_Parser($env);
+
+        $parser->parse($env->tokenize($template, 'index'));
+    }
+
+    public function getMacroDefinitionDoesNotSupportNonConstantDefaultValues()
+    {
+        return array(
+            array('{% macro foo(name = "a #{foo} a") %}{% endmacro %}'),
+            array('{% macro foo(name = [["b", "a #{foo} a"]]) %}{% endmacro %}'),
+        );
+    }
+
+    /**
+     * @dataProvider getMacroDefinitionSupportsConstantDefaultValues
+     */
+    public function testMacroDefinitionSupportsConstantDefaultValues($template)
+    {
+        $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false, 'autoescape' => false));
+        $parser = new Twig_Parser($env);
+
+        $parser->parse($env->tokenize($template, 'index'));
+    }
+
+    public function getMacroDefinitionSupportsConstantDefaultValues()
+    {
+        return array(
+            array('{% macro foo(name = "aa") %}{% endmacro %}'),
+            array('{% macro foo(name = 12) %}{% endmacro %}'),
+            array('{% macro foo(name = true) %}{% endmacro %}'),
+            array('{% macro foo(name = ["a"]) %}{% endmacro %}'),
+            array('{% macro foo(name = [["a"]]) %}{% endmacro %}'),
+            array('{% macro foo(name = {a: "a"}) %}{% endmacro %}'),
+            array('{% macro foo(name = {a: {b: "a"}}) %}{% endmacro %}'),
+        );
+    }
+
+    /**
+     * @expectedException        Twig_Error_Syntax
+     * @expectedExceptionMessage The function "cycl" does not exist. Did you mean "cycle" in "index" at line 1
+     */
+    public function testUnknownFunction()
+    {
+        $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false, 'autoescape' => false));
+        $parser = new Twig_Parser($env);
+
+        $parser->parse($env->tokenize('{{ cycl() }}', 'index'));
+    }
+
+    /**
+     * @expectedException        Twig_Error_Syntax
+     * @expectedExceptionMessage The filter "lowe" does not exist. Did you mean "lower" in "index" at line 1
+     */
+    public function testUnknownFilter()
+    {
+        $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false, 'autoescape' => false));
+        $parser = new Twig_Parser($env);
+
+        $parser->parse($env->tokenize('{{ 1|lowe }}', 'index'));
+    }
+
+    /**
+     * @expectedException        Twig_Error_Syntax
+     * @expectedExceptionMessage The test "nul" does not exist. Did you mean "null" in "index" at line 1
+     */
+    public function testUnknownTest()
+    {
+        $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false, 'autoescape' => false));
+        $parser = new Twig_Parser($env);
+
+        $parser->parse($env->tokenize('{{ 1 is nul }}', 'index'));
+    }
 }
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_noelse.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_noelse.test
new file mode 100644
index 0000000..fdc660f
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_noelse.test
@@ -0,0 +1,10 @@
+--TEST--
+Twig supports the ternary operator
+--TEMPLATE--
+{{ 1 ? 'YES' }}
+{{ 0 ? 'YES' }}
+--DATA--
+return array()
+--EXPECT--
+YES
+
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_nothen.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_nothen.test
new file mode 100644
index 0000000..9057e83
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_nothen.test
@@ -0,0 +1,10 @@
+--TEST--
+Twig supports the ternary operator
+--TEMPLATE--
+{{ 'YES' ?: 'NO' }}
+{{ 0 ?: 'NO' }}
+--DATA--
+return array()
+--EXPECT--
+YES
+NO
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_namedargs.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_namedargs.test
new file mode 100644
index 0000000..6ca2049
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_namedargs.test
@@ -0,0 +1,15 @@
+--TEST--
+"date" filter
+--TEMPLATE--
+{{ date|date(format='d/m/Y H:i:s P', timezone='America/Chicago') }}
+{{ date|date(timezone='America/Chicago', format='d/m/Y H:i:s P') }}
+{{ date|date(timezone='America/Chicago', 'd/m/Y H:i:s P') }}
+{{ date|date('d/m/Y H:i:s P', timezone='America/Chicago') }}
+--DATA--
+date_default_timezone_set('UTC');
+return array('date' => mktime(13, 45, 0, 10, 4, 2010))
+--EXPECT--
+04/10/2010 08:45:00 -05:00
+04/10/2010 08:45:00 -05:00
+04/10/2010 08:45:00 -05:00
+04/10/2010 08:45:00 -05:00
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/reverse.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/reverse.test
index 3c5f410..7948ac4 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/reverse.test
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/reverse.test
@@ -4,9 +4,15 @@
 {{ [1, 2, 3, 4]|reverse|join('') }}
 {{ '1234évènement'|reverse }}
 {{ arr|reverse|join('') }}
+{{ {'a': 'c', 'b': 'a'}|reverse()|join(',') }}
+{{ {'a': 'c', 'b': 'a'}|reverse(preserveKeys=true)|join(glue=',') }}
+{{ {'a': 'c', 'b': 'a'}|reverse(preserve_keys=true)|join(glue=',') }}
 --DATA--
 return array('arr' => new ArrayObject(array(1, 2, 3, 4)))
 --EXPECT--
 4321
 tnemenèvé4321
 4321
+a,c
+a,c
+a,c
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/slice.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/slice.test
index bb32dfb..b37ad65 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/slice.test
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/slice.test
@@ -18,6 +18,7 @@
 {{ [1, 2, 3, 4][1:]|join('') }}
 {{ '1234'|slice(1) }}
 {{ '1234'[1:] }}
+{{ '1234'[:1] }}
 --DATA--
 return array('start' => 1, 'length' => 2, 'arr' => new ArrayObject(array(1, 2, 3, 4)))
 --EXPECT--
@@ -38,3 +39,4 @@
 234
 234
 234
+1
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/constant.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/constant.test
index 6d4b374..6312879 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/constant.test
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/constant.test
@@ -1,12 +1,10 @@
 --TEST--
 "constant" function
 --TEMPLATE--
-{% if constant('DATE_W3C') == expect %}
-true
-{% else %}
-false
-{% endif %}
+{{ constant('DATE_W3C') == expect ? 'true' : 'false' }}
+{{ constant('ARRAY_AS_PROPS', object) }}
 --DATA--
-return array('expect' => DATE_W3C);
+return array('expect' => DATE_W3C, 'object' => new ArrayObject(array('hi')));
 --EXPECT--
 true
+2
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date_namedargs.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date_namedargs.test
new file mode 100644
index 0000000..b9dd9e3
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date_namedargs.test
@@ -0,0 +1,11 @@
+--TEST--
+"date" function
+--TEMPLATE--
+{{ date(date, "America/New_York")|date('d/m/Y H:i:s P', false) }}
+{{ date(timezone="America/New_York", date=date)|date('d/m/Y H:i:s P', false) }}
+--DATA--
+date_default_timezone_set('UTC');
+return array('date' => mktime(13, 45, 0, 10, 4, 2010))
+--EXPECT--
+04/10/2010 09:45:00 -04:00
+04/10/2010 09:45:00 -04:00
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/basic.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/basic.test
new file mode 100644
index 0000000..a434182
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/basic.test
@@ -0,0 +1,17 @@
+--TEST--
+"include" function
+--TEMPLATE--
+FOO
+{{ include("foo.twig") }}
+
+BAR
+--TEMPLATE(foo.twig)--
+FOOBAR
+--DATA--
+return array()
+--EXPECT--
+FOO
+
+FOOBAR
+
+BAR
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/expression.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/expression.test
new file mode 100644
index 0000000..aba30ce
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/expression.test
@@ -0,0 +1,17 @@
+--TEST--
+"include" function allows expressions for the template to include
+--TEMPLATE--
+FOO
+{{ include(foo) }}
+
+BAR
+--TEMPLATE(foo.twig)--
+FOOBAR
+--DATA--
+return array('foo' => 'foo.twig')
+--EXPECT--
+FOO
+
+FOOBAR
+
+BAR
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/ignore_missing.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/ignore_missing.test
new file mode 100644
index 0000000..43a2ccc
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/ignore_missing.test
@@ -0,0 +1,10 @@
+--TEST--
+"include" function
+--TEMPLATE--
+{{ include(["foo.twig", "bar.twig"], ignore_missing = true) }}
+{{ include("foo.twig", ignore_missing = true) }}
+{{ include("foo.twig", ignore_missing = true, variables = {}) }}
+{{ include("foo.twig", ignore_missing = true, variables = {}, with_context = true) }}
+--DATA--
+return array()
+--EXPECT--
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing.test
new file mode 100644
index 0000000..4d2f6cf
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing.test
@@ -0,0 +1,8 @@
+--TEST--
+"include" function
+--TEMPLATE--
+{{ include("foo.twig") }}
+--DATA--
+return array();
+--EXCEPTION--
+Twig_Error_Loader: Template "foo.twig" is not defined in "index.twig" at line 2.
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing_nested.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing_nested.test
new file mode 100644
index 0000000..78fddc7
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing_nested.test
@@ -0,0 +1,16 @@
+--TEST--
+"include" function
+--TEMPLATE--
+{% extends "base.twig" %}
+
+{% block content %}
+    {{ parent() }}
+{% endblock %}
+--TEMPLATE(base.twig)--
+{% block content %}
+    {{ include("foo.twig") }}
+{% endblock %}
+--DATA--
+return array();
+--EXCEPTION--
+Twig_Error_Loader: Template "foo.twig" is not defined in "base.twig" at line 3.
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox.test
new file mode 100644
index 0000000..788a2ab
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox.test
@@ -0,0 +1,10 @@
+--TEST--
+"include" tag sandboxed
+--TEMPLATE--
+{{ include("foo.twig", sandboxed = true) }}
+--TEMPLATE(foo.twig)--
+{{ foo|e }}
+--DATA--
+return array()
+--EXCEPTION--
+Twig_Sandbox_SecurityError: Filter "e" is not allowed in "index.twig" at line 2.
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/template_instance.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/template_instance.test
new file mode 100644
index 0000000..18d405a
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/template_instance.test
@@ -0,0 +1,10 @@
+--TEST--
+"include" function accepts Twig_Template instance
+--TEMPLATE--
+{{ include(foo) }} FOO
+--TEMPLATE(foo.twig)--
+BAR
+--DATA--
+return array('foo' => $twig->loadTemplate('foo.twig'))
+--EXPECT--
+BAR FOO
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/templates_as_array.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/templates_as_array.test
new file mode 100644
index 0000000..1a81006
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/templates_as_array.test
@@ -0,0 +1,12 @@
+--TEST--
+"include" function
+--TEMPLATE--
+{{ include(["foo.twig", "bar.twig"]) }}
+{{- include(["bar.twig", "foo.twig"]) }}
+--TEMPLATE(foo.twig)--
+foo
+--DATA--
+return array()
+--EXPECT--
+foo
+foo
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_context.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_context.test
new file mode 100644
index 0000000..35611fb
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_context.test
@@ -0,0 +1,16 @@
+--TEST--
+"include" function accept variables and with_context
+--TEMPLATE--
+{{ include("foo.twig") }}
+{{- include("foo.twig", with_context = false) }}
+{{- include("foo.twig", {'foo1': 'bar'}) }}
+{{- include("foo.twig", {'foo1': 'bar'}, with_context = false) }}
+--TEMPLATE(foo.twig)--
+{% for k, v in _context %}{{ k }},{% endfor %}
+--DATA--
+return array('foo' => 'bar')
+--EXPECT--
+foo,global,_parent,
+global,_parent,
+foo,global,foo1,_parent,
+foo1,global,_parent,
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_variables.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_variables.test
new file mode 100644
index 0000000..b2ace94
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_variables.test
@@ -0,0 +1,12 @@
+--TEST--
+"include" function accept variables
+--TEMPLATE--
+{{ include("foo.twig", {'foo': 'bar'}) }}
+{{- include("foo.twig", vars) }}
+--TEMPLATE(foo.twig)--
+{{ foo }}
+--DATA--
+return array('vars' => array('foo' => 'bar'))
+--EXPECT--
+bar
+bar
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/range.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/range.test
new file mode 100644
index 0000000..e0377c8
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/range.test
@@ -0,0 +1,8 @@
+--TEST--
+"range" function
+--TEMPLATE--
+{{ range(low=0+1, high=10+0, step=2)|join(',') }}
+--DATA--
+return array()
+--EXPECT--
+1,3,5,7,9
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/default_values.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/default_values.test
new file mode 100644
index 0000000..4ccff7b
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/default_values.test
@@ -0,0 +1,16 @@
+--TEST--
+macro
+--TEMPLATE--
+{% from _self import test %}
+
+{% macro test(a, b = 'bar') -%}
+{{ a }}{{ b }}
+{%- endmacro %}
+
+{{ test('foo') }}
+{{ test('bar', 'foo') }}
+--DATA--
+return array();
+--EXPECT--
+foobar
+barfoo
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/condition.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/condition.test
index 9e4eb9b..380531f 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/condition.test
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/condition.test
@@ -2,13 +2,13 @@
 "for" tag takes a condition
 --TEMPLATE--
 {% for i in 1..5 if i is odd -%}
-    {{ loop.index }}.{{ i }}
+    {{ loop.index }}.{{ i }}{{ foo.bar }}
 {% endfor %}
 --DATA--
-return array()
+return array('foo' => array('bar' => 'X'))
 --CONFIG--
 return array('strict_variables' => false)
 --EXPECT--
-1.1
-2.3
-3.5
+1.1X
+2.3X
+3.5X
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined.test
new file mode 100644
index 0000000..4301ef2
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined.test
@@ -0,0 +1,10 @@
+--TEST--
+"for" tag
+--TEMPLATE--
+{% for i, item in items if i > 0 %}
+    {{ loop.last }}
+{% endfor %}
+--DATA--
+return array('items' => array('a', 'b'))
+--EXCEPTION--
+Twig_Error_Syntax: The "loop.last" variable is not defined when looping with a condition in "index.twig" at line 3
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined_cond.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined_cond.test
new file mode 100644
index 0000000..c7e723a
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined_cond.test
@@ -0,0 +1,9 @@
+--TEST--
+"for" tag
+--TEMPLATE--
+{% for i, item in items if loop.last > 0 %}
+{% endfor %}
+--DATA--
+return array('items' => array('a', 'b'))
+--EXCEPTION--
+Twig_Error_Syntax: The "loop" variable cannot be used in a looping condition in "index.twig" at line 2
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/mixed_usage_with_raw.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/mixed_usage_with_raw.test
new file mode 100644
index 0000000..2fd9fb2
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/mixed_usage_with_raw.test
@@ -0,0 +1,10 @@
+--TEST--
+"raw" tag
+--TEMPLATE--
+{% raw %}
+{{ foo }}
+{% endverbatim %}
+--DATA--
+return array()
+--EXCEPTION--
+Twig_Error_Syntax: Unexpected end of file: Unclosed "raw" block in "index.twig" at line 2
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/basic.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/basic.test
new file mode 100644
index 0000000..a95be55
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/basic.test
@@ -0,0 +1,10 @@
+--TEST--
+"verbatim" tag
+--TEMPLATE--
+{% verbatim %}
+{{ foo }}
+{% endverbatim %}
+--DATA--
+return array()
+--EXPECT--
+{{ foo }}
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/mixed_usage_with_raw.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/mixed_usage_with_raw.test
new file mode 100644
index 0000000..941dddc
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/mixed_usage_with_raw.test
@@ -0,0 +1,10 @@
+--TEST--
+"verbatim" tag
+--TEMPLATE--
+{% verbatim %}
+{{ foo }}
+{% endraw %}
+--DATA--
+return array()
+--EXCEPTION--
+Twig_Error_Syntax: Unexpected end of file: Unclosed "verbatim" block in "index.twig" at line 2
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/whitespace_control.test b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/whitespace_control.test
new file mode 100644
index 0000000..eb61044
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/whitespace_control.test
@@ -0,0 +1,56 @@
+--TEST--
+"verbatim" tag
+--TEMPLATE--
+1***
+
+{%- verbatim %}
+    {{ 'bla' }}
+{% endverbatim %}
+
+1***
+2***
+
+{%- verbatim -%}
+    {{ 'bla' }}
+{% endverbatim %}
+
+2***
+3***
+
+{%- verbatim -%}
+    {{ 'bla' }}
+{% endverbatim -%}
+
+3***
+4***
+
+{%- verbatim -%}
+    {{ 'bla' }}
+{%- endverbatim %}
+
+4***
+5***
+
+{%- verbatim -%}
+    {{ 'bla' }}
+{%- endverbatim -%}
+
+5***
+--DATA--
+return array()
+--EXPECT--
+1***
+    {{ 'bla' }}
+
+
+1***
+2***{{ 'bla' }}
+
+
+2***
+3***{{ 'bla' }}
+3***
+4***{{ 'bla' }}
+
+4***
+5***{{ 'bla' }}5***
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FilterTest.php b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FilterTest.php
index d37dd22..8089b9c 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FilterTest.php
+++ b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FilterTest.php
@@ -35,19 +35,6 @@ public function testCompile($node, $source, $environment = null)
         parent::testCompile($node, $source, $environment);
     }
 
-    /**
-     * @covers Twig_Node_Expression_Filter::compile
-     * @expectedException Twig_Error_Syntax
-     * @expectedExceptionMessage The filter "lowe" does not exist. Did you mean "lower" at line 1
-     */
-    public function testCompileUnknownFilter()
-    {
-        $expr = new Twig_Node_Expression_Constant('foo', 1);
-        $node = $this->createFilter($expr, 'lowe', array(new Twig_Node_Expression_Constant('bar', 1), new Twig_Node_Expression_Constant('foobar', 1)));
-
-        $node->compile($this->getCompiler());
-    }
-
     public function getTests()
     {
         $tests = array();
@@ -62,18 +49,69 @@ public function getTests()
             $tests[] = array($node, 'twig_number_format_filter($this->env, strtoupper("foo"), 2, ".", ",")');
         }
 
+        // named arguments
+        $date = new Twig_Node_Expression_Constant(0, 1);
+        $node = $this->createFilter($date, 'date', array(
+            'timezone' => new Twig_Node_Expression_Constant('America/Chicago', 1),
+            'format'   => new Twig_Node_Expression_Constant('d/m/Y H:i:s P', 1),
+        ));
+        $tests[] = array($node, 'twig_date_format_filter($this->env, 0, "d/m/Y H:i:s P", "America/Chicago")');
+
+        // skip an optional argument
+        $date = new Twig_Node_Expression_Constant(0, 1);
+        $node = $this->createFilter($date, 'date', array(
+            'timezone' => new Twig_Node_Expression_Constant('America/Chicago', 1),
+        ));
+        $tests[] = array($node, 'twig_date_format_filter($this->env, 0, null, "America/Chicago")');
+
+        // underscores vs camelCase for named arguments
+        $string = new Twig_Node_Expression_Constant('abc', 1);
+        $node = $this->createFilter($string, 'reverse', array(
+            'preserve_keys' => new Twig_Node_Expression_Constant(true, 1),
+        ));
+        $tests[] = array($node, 'twig_reverse_filter($this->env, "abc", true)');
+        $node = $this->createFilter($string, 'reverse', array(
+            'preserveKeys' => new Twig_Node_Expression_Constant(true, 1),
+        ));
+        $tests[] = array($node, 'twig_reverse_filter($this->env, "abc", true)');
+
+        // filter as an anonymous function
+        if (version_compare(phpversion(), '5.3.0', '>=')) {
+            $node = $this->createFilter(new Twig_Node_Expression_Constant('foo', 1), 'anonymous');
+            $tests[] = array($node, 'call_user_func_array($this->env->getFilter(\'anonymous\')->getCallable(), array("foo"))');
+        }
+
         return $tests;
     }
 
     /**
-     * @covers Twig_Node_Expression_Filter::compile
      * @expectedException        Twig_Error_Syntax
-     * @expectedExceptionMessage The filter "uppe" does not exist. Did you mean "upper" at line 1
+     * @expectedExceptionMessage Unknown argument "foobar" for filter "date".
      */
-    public function testUnknownFilter()
+    public function testCompileWithWrongNamedArgumentName()
     {
-        $node = $this->createFilter(new Twig_Node_Expression_Constant('foo', 1), 'uppe');
-        $node->compile($this->getCompiler());
+        $date = new Twig_Node_Expression_Constant(0, 1);
+        $node = $this->createFilter($date, 'date', array(
+            'foobar' => new Twig_Node_Expression_Constant('America/Chicago', 1),
+        ));
+
+        $compiler = $this->getCompiler();
+        $compiler->compile($node);
+    }
+
+    /**
+     * @expectedException        Twig_Error_Syntax
+     * @expectedExceptionMessage Value for argument "from" is required for filter "replace".
+     */
+    public function testCompileWithMissingNamedArgument()
+    {
+        $value = new Twig_Node_Expression_Constant(0, 1);
+        $node = $this->createFilter($value, 'replace', array(
+            'to' => new Twig_Node_Expression_Constant('foo', 1),
+        ));
+
+        $compiler = $this->getCompiler();
+        $compiler->compile($node);
     }
 
     protected function createFilter($node, $name, array $arguments = array())
@@ -83,4 +121,13 @@ protected function createFilter($node, $name, array $arguments = array())
 
         return new Twig_Node_Expression_Filter($node, $name, $arguments, 1);
     }
+
+    protected function getEnvironment()
+    {
+        if (version_compare(phpversion(), '5.3.0', '>=')) {
+            return include 'PHP53/FilterInclude.php';
+        }
+
+        return parent::getEnvironment();
+    }
 }
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FunctionTest.php b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FunctionTest.php
index 13f4823..431dc38 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FunctionTest.php
+++ b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FunctionTest.php
@@ -33,17 +33,6 @@ public function testCompile($node, $source, $environment = null)
         parent::testCompile($node, $source, $environment);
     }
 
-    /**
-     * @covers Twig_Node_Expression_Filter::compile
-     * @expectedException        Twig_Error_Syntax
-     * @expectedExceptionMessage The function "cycl" does not exist. Did you mean "cycle" at line 1
-     */
-    public function testUnknownFunction()
-    {
-        $node = $this->createFunction('cycl', array());
-        $node->compile($this->getCompiler());
-    }
-
     public function getTests()
     {
         $environment = new Twig_Environment();
@@ -78,6 +67,19 @@ public function getTests()
         $node = $this->createFunction('foobar', array(new Twig_Node_Expression_Constant('bar', 1)));
         $tests[] = array($node, 'foobar($this->env, $context, "bar")', $environment);
 
+        // named arguments
+        $node = $this->createFunction('date', array(
+            'timezone' => new Twig_Node_Expression_Constant('America/Chicago', 1),
+            'date'     => new Twig_Node_Expression_Constant(0, 1),
+        ));
+        $tests[] = array($node, 'twig_date_converter($this->env, 0, "America/Chicago")');
+
+        // function as an anonymous function
+        if (version_compare(phpversion(), '5.3.0', '>=')) {
+            $node = $this->createFunction('anonymous', array(new Twig_Node_Expression_Constant('foo', 1)));
+            $tests[] = array($node, 'call_user_func_array($this->env->getFunction(\'anonymous\')->getCallable(), array("foo"))');
+        }
+
         return $tests;
     }
 
@@ -85,4 +87,13 @@ protected function createFunction($name, array $arguments = array())
     {
         return new Twig_Node_Expression_Function($name, new Twig_Node($arguments), 1);
     }
+
+    protected function getEnvironment()
+    {
+        if (version_compare(phpversion(), '5.3.0', '>=')) {
+            return include 'PHP53/FunctionInclude.php';
+        }
+
+        return parent::getEnvironment();
+    }
 }
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FilterInclude.php b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FilterInclude.php
new file mode 100644
index 0000000..15e3aa9
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FilterInclude.php
@@ -0,0 +1,6 @@
+<?php
+
+$env = new Twig_Environment();
+$env->addFilter(new Twig_SimpleFilter('anonymous', function () {}));
+
+return $env;
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FunctionInclude.php b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FunctionInclude.php
new file mode 100644
index 0000000..d2170ed
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FunctionInclude.php
@@ -0,0 +1,6 @@
+<?php
+
+$env = new Twig_Environment();
+$env->addFunction(new Twig_SimpleFunction('anonymous', function () {}));
+
+return $env;
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/TestInclude.php b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/TestInclude.php
new file mode 100644
index 0000000..6366286
--- /dev/null
+++ b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/TestInclude.php
@@ -0,0 +1,6 @@
+<?php
+
+$env = new Twig_Environment();
+$env->addTest(new Twig_SimpleTest('anonymous', function () {}));
+
+return $env;
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/TestTest.php b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/TestTest.php
index 4d0cf41..0664150 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/TestTest.php
+++ b/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/TestTest.php
@@ -41,25 +41,28 @@ public function getTests()
 
         $expr = new Twig_Node_Expression_Constant('foo', 1);
         $node = new Twig_Node_Expression_Test_Null($expr, 'null', new Twig_Node(array()), 1);
-
         $tests[] = array($node, '(null === "foo")');
 
+        // test as an anonymous function
+        if (version_compare(phpversion(), '5.3.0', '>=')) {
+            $node = $this->createTest(new Twig_Node_Expression_Constant('foo', 1), 'anonymous', array(new Twig_Node_Expression_Constant('foo', 1)));
+            $tests[] = array($node, 'call_user_func_array($this->env->getTest(\'anonymous\')->getCallable(), array("foo", "foo"))');
+        }
+
         return $tests;
     }
 
-    /**
-     * @covers Twig_Node_Expression_Filter::compile
-     * @expectedException        Twig_Error_Syntax
-     * @expectedExceptionMessage The test "nul" does not exist. Did you mean "null" at line 1
-     */
-    public function testUnknownTest()
+    protected function createTest($node, $name, array $arguments = array())
     {
-        $node = $this->createTest(new Twig_Node_Expression_Constant('foo', 1), 'nul');
-        $node->compile($this->getCompiler());
+        return new Twig_Node_Expression_Test($node, $name, new Twig_Node($arguments), 1);
     }
 
-    protected function createTest($node, $name, array $arguments = array())
+    protected function getEnvironment()
     {
-        return new Twig_Node_Expression_Test($node, $name, new Twig_Node($arguments), 1);
+        if (version_compare(phpversion(), '5.3.0', '>=')) {
+            return include 'PHP53/TestInclude.php';
+        }
+
+        return parent::getEnvironment();
     }
 }
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/MacroTest.php b/core/vendor/twig/twig/test/Twig/Tests/Node/MacroTest.php
index 39e8131..4d2f641 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/Node/MacroTest.php
+++ b/core/vendor/twig/twig/test/Twig/Tests/Node/MacroTest.php
@@ -37,16 +37,20 @@ public function testCompile($node, $source, $environment = null)
     public function getTests()
     {
         $body = new Twig_Node_Text('foo', 1);
-        $arguments = new Twig_Node(array(new Twig_Node_Expression_Name('foo', 1)), array(), 1);
+        $arguments = new Twig_Node(array(
+            'foo' => new Twig_Node_Expression_Constant(null, 1),
+            'bar' => new Twig_Node_Expression_Constant('Foo', 1),
+        ), array(), 1);
         $node = new Twig_Node_Macro('foo', $body, $arguments, 1);
 
         return array(
             array($node, <<<EOF
 // line 1
-public function getfoo(\$_foo = null)
+public function getfoo(\$_foo = null, \$_bar = "Foo")
 {
     \$context = \$this->env->mergeGlobals(array(
         "foo" => \$_foo,
+        "bar" => \$_bar,
     ));
 
     \$blocks = array();
diff --git a/core/vendor/twig/twig/test/Twig/Tests/NodeVisitor/OptimizerTest.php b/core/vendor/twig/twig/test/Twig/Tests/NodeVisitor/OptimizerTest.php
index a55d98e..d35740d 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/NodeVisitor/OptimizerTest.php
+++ b/core/vendor/twig/twig/test/Twig/Tests/NodeVisitor/OptimizerTest.php
@@ -13,7 +13,6 @@ class Twig_Tests_NodeVisitor_OptimizerTest extends PHPUnit_Framework_TestCase
     public function testRenderBlockOptimizer()
     {
         $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false, 'autoescape' => false));
-        $env->addExtension(new Twig_Extension_Optimizer());
 
         $stream = $env->parse($env->tokenize('{{ block("foo") }}', 'index'));
 
@@ -26,7 +25,6 @@ public function testRenderBlockOptimizer()
     public function testRenderParentBlockOptimizer()
     {
         $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false, 'autoescape' => false));
-        $env->addExtension(new Twig_Extension_Optimizer());
 
         $stream = $env->parse($env->tokenize('{% extends "foo" %}{% block content %}{{ parent() }}{% endblock %}', 'index'));
 
@@ -43,7 +41,6 @@ public function testRenderVariableBlockOptimizer()
         }
 
         $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false, 'autoescape' => false));
-        $env->addExtension(new Twig_Extension_Optimizer());
         $stream = $env->parse($env->tokenize('{{ block(name|lower) }}', 'index'));
 
         $node = $stream->getNode('body')->getNode(0)->getNode(1);
@@ -58,7 +55,6 @@ public function testRenderVariableBlockOptimizer()
     public function testForOptimizer($template, $expected)
     {
         $env = new Twig_Environment(new Twig_Loader_String(), array('cache' => false));
-        $env->addExtension(new Twig_Extension_Optimizer());
 
         $stream = $env->parse($env->tokenize($template, 'index'));
 
diff --git a/core/vendor/twig/twig/test/Twig/Tests/TemplateTest.php b/core/vendor/twig/twig/test/Twig/Tests/TemplateTest.php
index 75103d1..448bdf8 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/TemplateTest.php
+++ b/core/vendor/twig/twig/test/Twig/Tests/TemplateTest.php
@@ -62,6 +62,84 @@ public function getAttributeExceptions()
     }
 
     /**
+     * @dataProvider getGetAttributeWithSandbox
+     */
+    public function testGetAttributeWithSandbox($object, $item, $allowed, $useExt)
+    {
+        $twig = new Twig_Environment();
+        $policy = new Twig_Sandbox_SecurityPolicy(array(), array(), array(/*methid*/), array(/*peop*/), array());
+        $twig->addExtension(new Twig_Extension_Sandbox($policy, !$allowed));
+        $template = new Twig_TemplateTest($twig, $useExt);
+
+        try {
+            $template->getAttribute($object, $item, array(), 'any');
+
+            if (!$allowed) {
+                $this->fail();
+            }
+        } catch (Twig_Sandbox_SecurityError $e) {
+            if ($allowed) {
+                $this->fail();
+            }
+
+            $this->assertContains('is not allowed', $e->getMessage());
+        }
+    }
+
+    public function getGetAttributeWithSandbox()
+    {
+        $tests = array(
+            array(new Twig_TemplatePropertyObject(), 'defined', false, false),
+            array(new Twig_TemplatePropertyObject(), 'defined', true, false),
+            array(new Twig_TemplateMethodObject(), 'defined', false, false),
+            array(new Twig_TemplateMethodObject(), 'defined', true, false),
+        );
+
+        if (function_exists('twig_template_get_attributes')) {
+            foreach (array_slice($tests, 0) as $test) {
+                $test[3] = true;
+                $tests[] = $test;
+            }
+        }
+
+        return $tests;
+    }
+
+    /**
+     * @dataProvider getGetAttributeWithTemplateAsObject
+     */
+    public function testGetAttributeWithTemplateAsObject($useExt)
+    {
+        $template = new Twig_TemplateTest(new Twig_Environment(), $useExt);
+        $template1 = new Twig_TemplateTest(new Twig_Environment(), false);
+
+        $this->assertInstanceof('Twig_Markup', $template->getAttribute($template1, 'string'));
+        $this->assertEquals('some_string', $template->getAttribute($template1, 'string'));
+
+        $this->assertInstanceof('Twig_Markup', $template->getAttribute($template1, 'true'));
+        $this->assertEquals('1', $template->getAttribute($template1, 'true'));
+
+        $this->assertInstanceof('Twig_Markup', $template->getAttribute($template1, 'zero'));
+        $this->assertEquals('0', $template->getAttribute($template1, 'zero'));
+
+        $this->assertNotInstanceof('Twig_Markup', $template->getAttribute($template1, 'empty'));
+        $this->assertSame('', $template->getAttribute($template1, 'empty'));
+    }
+
+    public function getGetAttributeWithTemplateAsObject()
+    {
+        $bools = array(
+            array(false),
+        );
+
+        if (function_exists('twig_template_get_attributes')) {
+            $bools[] = array(true);
+        }
+
+        return $bools;
+    }
+
+    /**
      * @dataProvider getGetAttributeTests
      */
     public function testGetAttribute($defined, $value, $object, $item, $arguments, $type, $useExt = false)
@@ -120,6 +198,7 @@ public function getGetAttributeTests()
             'zero'    => 0,
             'null'    => null,
             '1'       => 1,
+            'bar'     => true,
         );
 
         $objectArray         = new Twig_TemplateArrayAccessObject();
@@ -144,6 +223,7 @@ public function getGetAttributeTests()
             array(true,  1,         1),
             array(true,  1,         1.0),
             array(true,  null,      'null'),
+            array(true,  true,      'bar'),
         );
         $testObjects = array(
             // array(object, type of fetch)
@@ -243,6 +323,26 @@ public function __construct(Twig_Environment $env, $useExtGetAttribute = false)
         Twig_Template::clearCache();
     }
 
+    public function getZero()
+    {
+        return 0;
+    }
+
+    public function getEmpty()
+    {
+        return '';
+    }
+
+    public function getString()
+    {
+        return 'some_string';
+    }
+
+    public function getTrue()
+    {
+        return true;
+    }
+
     public function getTemplateName()
     {
     }
@@ -279,6 +379,7 @@ class Twig_TemplateArrayAccessObject implements ArrayAccess
         'zero'    => 0,
         'null'    => null,
         '1'       => 1,
+        'bar'     => true,
     );
 
     public function offsetExists($name)
@@ -308,6 +409,7 @@ class Twig_TemplateMagicPropertyObject
         'zero'    => 0,
         'null'    => null,
         '1'       => 1,
+        'bar'     => true,
     );
 
     protected $protected = 'protected';
@@ -328,6 +430,7 @@ class Twig_TemplatePropertyObject
     public $defined = 'defined';
     public $zero    = 0;
     public $null    = null;
+    public $bar     = true;
 
     protected $protected = 'protected';
 }
@@ -385,6 +488,11 @@ public function getNull()
         return null;
     }
 
+    public function isBar()
+    {
+        return true;
+    }
+
     protected function getProtected()
     {
         return 'protected';
diff --git a/core/vendor/twig/twig/test/Twig/Tests/TokenStreamTest.php b/core/vendor/twig/twig/test/Twig/Tests/TokenStreamTest.php
index 4edb8c3..fd4ec63 100644
--- a/core/vendor/twig/twig/test/Twig/Tests/TokenStreamTest.php
+++ b/core/vendor/twig/twig/test/Twig/Tests/TokenStreamTest.php
@@ -38,4 +38,33 @@ public function testNext()
         }
         $this->assertEquals('1, 2, 3, 4, 5, 6, 7', implode(', ', $repr), '->next() advances the pointer and returns the current token');
     }
+
+    /**
+     * @expectedException Twig_Error_Syntax
+     * @expectedMessage   Unexpected end of template
+     */
+    public function testEndOfTemplateNext()
+    {
+        $stream = new Twig_TokenStream(array(
+            new Twig_Token(Twig_Token::BLOCK_START_TYPE, 1, 1),
+        ));
+        while (!$stream->isEOF()) {
+            $stream->next();
+        }
+    }
+
+    /**
+     * @expectedException Twig_Error_Syntax
+     * @expectedMessage   Unexpected end of template
+     */
+    public function testEndOfTemplateLook()
+    {
+        $stream = new Twig_TokenStream(array(
+            new Twig_Token(Twig_Token::BLOCK_START_TYPE, 1, 1),
+        ));
+        while (!$stream->isEOF()) {
+            $stream->look();
+            $stream->next();
+        }
+    }
 }
