From 32aa5d54c63f2f2ee10e2ff0eee08f9952c42ae1 Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Tue, 23 Apr 2024 09:56:02 +0100
Subject: [PATCH] Issue #3442304 by thejimbirch: Use strict types in all the
 new code

(cherry picked from commit 5cacfa6f7910557033690f9815e78aa56dccea21)
---
 core/lib/Drupal/Core/Config/Action/Attribute/ActionMethod.php   | 2 ++
 core/lib/Drupal/Core/Config/Action/ConfigActionException.php    | 2 ++
 core/lib/Drupal/Core/Config/Action/ConfigActionManager.php      | 2 ++
 .../Drupal/Core/Config/Action/ConfigActionPluginInterface.php   | 2 ++
 .../Core/Config/Action/DuplicateConfigActionIdException.php     | 2 ++
 core/lib/Drupal/Core/Config/Action/EntityMethodException.php    | 2 ++
 core/lib/Drupal/Core/Config/Action/Exists.php                   | 2 ++
 .../Action/Plugin/ConfigAction/Deriver/EntityCreateDeriver.php  | 2 ++
 .../Action/Plugin/ConfigAction/Deriver/EntityMethodDeriver.php  | 2 ++
 .../Core/Config/Action/Plugin/ConfigAction/EntityCreate.php     | 2 ++
 .../Core/Config/Action/Plugin/ConfigAction/EntityMethod.php     | 2 ++
 .../Config/Action/Plugin/ConfigAction/SimpleConfigUpdate.php    | 2 ++
 .../Drupal/Core/Config/Checkpoint/CheckpointExistsException.php | 2 ++
 .../Drupal/Core/Config/Checkpoint/CheckpointListInterface.php   | 2 ++
 .../Core/Config/Checkpoint/CheckpointStorageInterface.php       | 2 ++
 .../Drupal/Core/Config/Checkpoint/NoCheckpointsException.php    | 2 ++
 .../Core/Config/Checkpoint/UnknownCheckpointException.php       | 2 ++
 core/lib/Drupal/Core/DefaultContent/Existing.php                | 2 ++
 core/lib/Drupal/Core/DefaultContent/ImportException.php         | 2 ++
 core/lib/Drupal/Core/Recipe/ConfigConfigurator.php              | 2 ++
 core/lib/Drupal/Core/Recipe/InstallConfigurator.php             | 2 ++
 core/lib/Drupal/Core/Recipe/Recipe.php                          | 2 ++
 core/lib/Drupal/Core/Recipe/RecipeAppliedEvent.php              | 2 ++
 core/lib/Drupal/Core/Recipe/RecipeCommand.php                   | 2 ++
 core/lib/Drupal/Core/Recipe/RecipeConfigInstaller.php           | 2 ++
 core/lib/Drupal/Core/Recipe/RecipeConfigStorageWrapper.php      | 2 ++
 core/lib/Drupal/Core/Recipe/RecipeConfigurator.php              | 2 ++
 core/lib/Drupal/Core/Recipe/RecipeDiscovery.php                 | 2 ++
 core/lib/Drupal/Core/Recipe/RecipeExtensionConfigStorage.php    | 2 ++
 core/lib/Drupal/Core/Recipe/RecipeFileException.php             | 2 ++
 .../lib/Drupal/Core/Recipe/RecipeMissingExtensionsException.php | 2 ++
 core/lib/Drupal/Core/Recipe/RecipeOverrideConfigStorage.php     | 2 ++
 .../lib/Drupal/Core/Recipe/RecipePreExistingConfigException.php | 2 ++
 core/lib/Drupal/Core/Recipe/RecipeRunner.php                    | 2 ++
 core/lib/Drupal/Core/Recipe/UnknownRecipeException.php          | 2 ++
 35 files changed, 70 insertions(+)

diff --git a/core/lib/Drupal/Core/Config/Action/Attribute/ActionMethod.php b/core/lib/Drupal/Core/Config/Action/Attribute/ActionMethod.php
index 0463871b1794..3960caa62210 100644
--- a/core/lib/Drupal/Core/Config/Action/Attribute/ActionMethod.php
+++ b/core/lib/Drupal/Core/Config/Action/Attribute/ActionMethod.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action\Attribute;
 
 // cspell:ignore inflector
diff --git a/core/lib/Drupal/Core/Config/Action/ConfigActionException.php b/core/lib/Drupal/Core/Config/Action/ConfigActionException.php
index 02e5220e3401..3ad3579b260b 100644
--- a/core/lib/Drupal/Core/Config/Action/ConfigActionException.php
+++ b/core/lib/Drupal/Core/Config/Action/ConfigActionException.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action;
 
 /**
diff --git a/core/lib/Drupal/Core/Config/Action/ConfigActionManager.php b/core/lib/Drupal/Core/Config/Action/ConfigActionManager.php
index 1dad628da36a..cb030d6ba333 100644
--- a/core/lib/Drupal/Core/Config/Action/ConfigActionManager.php
+++ b/core/lib/Drupal/Core/Config/Action/ConfigActionManager.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action;
 
 use Drupal\Component\Plugin\PluginBase;
diff --git a/core/lib/Drupal/Core/Config/Action/ConfigActionPluginInterface.php b/core/lib/Drupal/Core/Config/Action/ConfigActionPluginInterface.php
index fb174b67e3c0..6431ec959e8c 100644
--- a/core/lib/Drupal/Core/Config/Action/ConfigActionPluginInterface.php
+++ b/core/lib/Drupal/Core/Config/Action/ConfigActionPluginInterface.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action;
 
 /**
diff --git a/core/lib/Drupal/Core/Config/Action/DuplicateConfigActionIdException.php b/core/lib/Drupal/Core/Config/Action/DuplicateConfigActionIdException.php
index 9ba0ca8ff729..f1d69c57a311 100644
--- a/core/lib/Drupal/Core/Config/Action/DuplicateConfigActionIdException.php
+++ b/core/lib/Drupal/Core/Config/Action/DuplicateConfigActionIdException.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action;
 
 /**
diff --git a/core/lib/Drupal/Core/Config/Action/EntityMethodException.php b/core/lib/Drupal/Core/Config/Action/EntityMethodException.php
index 3a7b56442168..3f4e71ec797c 100644
--- a/core/lib/Drupal/Core/Config/Action/EntityMethodException.php
+++ b/core/lib/Drupal/Core/Config/Action/EntityMethodException.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action;
 
 /**
diff --git a/core/lib/Drupal/Core/Config/Action/Exists.php b/core/lib/Drupal/Core/Config/Action/Exists.php
index ec34b5740d08..39c8e472538e 100644
--- a/core/lib/Drupal/Core/Config/Action/Exists.php
+++ b/core/lib/Drupal/Core/Config/Action/Exists.php
@@ -1,6 +1,8 @@
 <?php
 // phpcs:ignoreFile
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action;
 
 use Drupal\Core\Config\Entity\ConfigEntityInterface;
diff --git a/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/Deriver/EntityCreateDeriver.php b/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/Deriver/EntityCreateDeriver.php
index 8f42f7ad9ac9..f029505b88bd 100644
--- a/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/Deriver/EntityCreateDeriver.php
+++ b/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/Deriver/EntityCreateDeriver.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action\Plugin\ConfigAction\Deriver;
 
 use Drupal\Component\Plugin\Derivative\DeriverBase;
diff --git a/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/Deriver/EntityMethodDeriver.php b/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/Deriver/EntityMethodDeriver.php
index fe99550c6cc8..2577d8d7b923 100644
--- a/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/Deriver/EntityMethodDeriver.php
+++ b/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/Deriver/EntityMethodDeriver.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action\Plugin\ConfigAction\Deriver;
 
 // cspell:ignore inflector
diff --git a/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/EntityCreate.php b/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/EntityCreate.php
index 1f20155140d8..ad33645b3ddf 100644
--- a/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/EntityCreate.php
+++ b/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/EntityCreate.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action\Plugin\ConfigAction;
 
 use Drupal\Core\Config\Action\Attribute\ConfigAction;
diff --git a/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/EntityMethod.php b/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/EntityMethod.php
index 0230c7a3ba9f..4e91f181cdeb 100644
--- a/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/EntityMethod.php
+++ b/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/EntityMethod.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action\Plugin\ConfigAction;
 
 use Drupal\Core\Config\Action\Attribute\ConfigAction;
diff --git a/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/SimpleConfigUpdate.php b/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/SimpleConfigUpdate.php
index 0caf8662132c..d6485304cc0f 100644
--- a/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/SimpleConfigUpdate.php
+++ b/core/lib/Drupal/Core/Config/Action/Plugin/ConfigAction/SimpleConfigUpdate.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Action\Plugin\ConfigAction;
 
 use Drupal\Core\Config\Action\Attribute\ConfigAction;
diff --git a/core/lib/Drupal/Core/Config/Checkpoint/CheckpointExistsException.php b/core/lib/Drupal/Core/Config/Checkpoint/CheckpointExistsException.php
index 123ece5f533b..35a203b8be76 100644
--- a/core/lib/Drupal/Core/Config/Checkpoint/CheckpointExistsException.php
+++ b/core/lib/Drupal/Core/Config/Checkpoint/CheckpointExistsException.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Checkpoint;
 
 /**
diff --git a/core/lib/Drupal/Core/Config/Checkpoint/CheckpointListInterface.php b/core/lib/Drupal/Core/Config/Checkpoint/CheckpointListInterface.php
index 5a2c569e2c8d..dd3af0b07ddf 100644
--- a/core/lib/Drupal/Core/Config/Checkpoint/CheckpointListInterface.php
+++ b/core/lib/Drupal/Core/Config/Checkpoint/CheckpointListInterface.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Checkpoint;
 
 /**
diff --git a/core/lib/Drupal/Core/Config/Checkpoint/CheckpointStorageInterface.php b/core/lib/Drupal/Core/Config/Checkpoint/CheckpointStorageInterface.php
index 837033b022ad..fe476ac92757 100644
--- a/core/lib/Drupal/Core/Config/Checkpoint/CheckpointStorageInterface.php
+++ b/core/lib/Drupal/Core/Config/Checkpoint/CheckpointStorageInterface.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Checkpoint;
 
 use Drupal\Core\Config\StorageInterface;
diff --git a/core/lib/Drupal/Core/Config/Checkpoint/NoCheckpointsException.php b/core/lib/Drupal/Core/Config/Checkpoint/NoCheckpointsException.php
index 4ebda9742609..f0822b6210ca 100644
--- a/core/lib/Drupal/Core/Config/Checkpoint/NoCheckpointsException.php
+++ b/core/lib/Drupal/Core/Config/Checkpoint/NoCheckpointsException.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Checkpoint;
 
 /**
diff --git a/core/lib/Drupal/Core/Config/Checkpoint/UnknownCheckpointException.php b/core/lib/Drupal/Core/Config/Checkpoint/UnknownCheckpointException.php
index 029585e30bd1..0f99855822c4 100644
--- a/core/lib/Drupal/Core/Config/Checkpoint/UnknownCheckpointException.php
+++ b/core/lib/Drupal/Core/Config/Checkpoint/UnknownCheckpointException.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Config\Checkpoint;
 
 /**
diff --git a/core/lib/Drupal/Core/DefaultContent/Existing.php b/core/lib/Drupal/Core/DefaultContent/Existing.php
index a55674c21e0b..75c5d8fff012 100644
--- a/core/lib/Drupal/Core/DefaultContent/Existing.php
+++ b/core/lib/Drupal/Core/DefaultContent/Existing.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\DefaultContent;
 
 /**
diff --git a/core/lib/Drupal/Core/DefaultContent/ImportException.php b/core/lib/Drupal/Core/DefaultContent/ImportException.php
index ef358b9994ba..873b796bd2f8 100644
--- a/core/lib/Drupal/Core/DefaultContent/ImportException.php
+++ b/core/lib/Drupal/Core/DefaultContent/ImportException.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\DefaultContent;
 
 /**
diff --git a/core/lib/Drupal/Core/Recipe/ConfigConfigurator.php b/core/lib/Drupal/Core/Recipe/ConfigConfigurator.php
index 3a5221ecb83f..2a379dab4f4d 100644
--- a/core/lib/Drupal/Core/Recipe/ConfigConfigurator.php
+++ b/core/lib/Drupal/Core/Recipe/ConfigConfigurator.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Drupal\Core\Config\FileStorage;
diff --git a/core/lib/Drupal/Core/Recipe/InstallConfigurator.php b/core/lib/Drupal/Core/Recipe/InstallConfigurator.php
index ce7996ee7896..abc51f5b269a 100644
--- a/core/lib/Drupal/Core/Recipe/InstallConfigurator.php
+++ b/core/lib/Drupal/Core/Recipe/InstallConfigurator.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Drupal\Component\Assertion\Inspector;
diff --git a/core/lib/Drupal/Core/Recipe/Recipe.php b/core/lib/Drupal/Core/Recipe/Recipe.php
index 3c4595e04d3d..1baa8b9dec20 100644
--- a/core/lib/Drupal/Core/Recipe/Recipe.php
+++ b/core/lib/Drupal/Core/Recipe/Recipe.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Drupal\Core\DefaultContent\Finder;
diff --git a/core/lib/Drupal/Core/Recipe/RecipeAppliedEvent.php b/core/lib/Drupal/Core/Recipe/RecipeAppliedEvent.php
index 251139058cb8..3e3078d23ca2 100644
--- a/core/lib/Drupal/Core/Recipe/RecipeAppliedEvent.php
+++ b/core/lib/Drupal/Core/Recipe/RecipeAppliedEvent.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Symfony\Contracts\EventDispatcher\Event;
diff --git a/core/lib/Drupal/Core/Recipe/RecipeCommand.php b/core/lib/Drupal/Core/Recipe/RecipeCommand.php
index 31ad8dcfa80d..c370a450e855 100644
--- a/core/lib/Drupal/Core/Recipe/RecipeCommand.php
+++ b/core/lib/Drupal/Core/Recipe/RecipeCommand.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Drupal\Core\Config\Checkpoint\Checkpoint;
diff --git a/core/lib/Drupal/Core/Recipe/RecipeConfigInstaller.php b/core/lib/Drupal/Core/Recipe/RecipeConfigInstaller.php
index 2ee21703f245..73c06151f74c 100644
--- a/core/lib/Drupal/Core/Recipe/RecipeConfigInstaller.php
+++ b/core/lib/Drupal/Core/Recipe/RecipeConfigInstaller.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Drupal\Core\Config\ConfigInstaller;
diff --git a/core/lib/Drupal/Core/Recipe/RecipeConfigStorageWrapper.php b/core/lib/Drupal/Core/Recipe/RecipeConfigStorageWrapper.php
index d2808d16ddc0..2f877833be17 100644
--- a/core/lib/Drupal/Core/Recipe/RecipeConfigStorageWrapper.php
+++ b/core/lib/Drupal/Core/Recipe/RecipeConfigStorageWrapper.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Drupal\Core\Config\NullStorage;
diff --git a/core/lib/Drupal/Core/Recipe/RecipeConfigurator.php b/core/lib/Drupal/Core/Recipe/RecipeConfigurator.php
index 851766fd5dda..3a238b329e70 100644
--- a/core/lib/Drupal/Core/Recipe/RecipeConfigurator.php
+++ b/core/lib/Drupal/Core/Recipe/RecipeConfigurator.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 /**
diff --git a/core/lib/Drupal/Core/Recipe/RecipeDiscovery.php b/core/lib/Drupal/Core/Recipe/RecipeDiscovery.php
index 68310b3e73ee..cb6de7a78104 100644
--- a/core/lib/Drupal/Core/Recipe/RecipeDiscovery.php
+++ b/core/lib/Drupal/Core/Recipe/RecipeDiscovery.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Drupal\Component\Assertion\Inspector;
diff --git a/core/lib/Drupal/Core/Recipe/RecipeExtensionConfigStorage.php b/core/lib/Drupal/Core/Recipe/RecipeExtensionConfigStorage.php
index 4dfaf80d3e4f..389b256bda2b 100644
--- a/core/lib/Drupal/Core/Recipe/RecipeExtensionConfigStorage.php
+++ b/core/lib/Drupal/Core/Recipe/RecipeExtensionConfigStorage.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Drupal\Core\Config\FileStorage;
diff --git a/core/lib/Drupal/Core/Recipe/RecipeFileException.php b/core/lib/Drupal/Core/Recipe/RecipeFileException.php
index bc7b9766fcb7..d45cc7ba494e 100644
--- a/core/lib/Drupal/Core/Recipe/RecipeFileException.php
+++ b/core/lib/Drupal/Core/Recipe/RecipeFileException.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Symfony\Component\Validator\ConstraintViolationList;
diff --git a/core/lib/Drupal/Core/Recipe/RecipeMissingExtensionsException.php b/core/lib/Drupal/Core/Recipe/RecipeMissingExtensionsException.php
index ebef0229876e..cdc210219636 100644
--- a/core/lib/Drupal/Core/Recipe/RecipeMissingExtensionsException.php
+++ b/core/lib/Drupal/Core/Recipe/RecipeMissingExtensionsException.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Drupal\Component\Assertion\Inspector;
diff --git a/core/lib/Drupal/Core/Recipe/RecipeOverrideConfigStorage.php b/core/lib/Drupal/Core/Recipe/RecipeOverrideConfigStorage.php
index 02cdca54c291..9f97f71cd4d6 100644
--- a/core/lib/Drupal/Core/Recipe/RecipeOverrideConfigStorage.php
+++ b/core/lib/Drupal/Core/Recipe/RecipeOverrideConfigStorage.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Drupal\Core\Config\StorageInterface;
diff --git a/core/lib/Drupal/Core/Recipe/RecipePreExistingConfigException.php b/core/lib/Drupal/Core/Recipe/RecipePreExistingConfigException.php
index cdd9eb0b1804..39e5d4e2c727 100644
--- a/core/lib/Drupal/Core/Recipe/RecipePreExistingConfigException.php
+++ b/core/lib/Drupal/Core/Recipe/RecipePreExistingConfigException.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 /**
diff --git a/core/lib/Drupal/Core/Recipe/RecipeRunner.php b/core/lib/Drupal/Core/Recipe/RecipeRunner.php
index fe393db13cc9..5c16789cf0c1 100644
--- a/core/lib/Drupal/Core/Recipe/RecipeRunner.php
+++ b/core/lib/Drupal/Core/Recipe/RecipeRunner.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 use Drupal\Core\Config\FileStorage;
diff --git a/core/lib/Drupal/Core/Recipe/UnknownRecipeException.php b/core/lib/Drupal/Core/Recipe/UnknownRecipeException.php
index 9351ba4dc63d..8bfd61ea03d4 100644
--- a/core/lib/Drupal/Core/Recipe/UnknownRecipeException.php
+++ b/core/lib/Drupal/Core/Recipe/UnknownRecipeException.php
@@ -1,5 +1,7 @@
 <?php
 
+declare(strict_types=1);
+
 namespace Drupal\Core\Recipe;
 
 /**
-- 
GitLab