Jelajahi Sumber

composer 更新

qr 5 bulan lalu
induk
melakukan
14538e6ba8
100 mengubah file dengan 5025 tambahan dan 1582 penghapusan
  1. 4 2
      include/composer.json
  2. 668 75
      include/composer.lock
  3. 251 96
      include/vendor/alibabacloud/credentials/README-zh-CN.md
  4. 237 88
      include/vendor/alibabacloud/credentials/README.md
  5. 1 1
      include/vendor/alibabacloud/credentials/composer.json
  6. 15 1
      include/vendor/alibabacloud/credentials/src/AccessKeyCredential.php
  7. 14 0
      include/vendor/alibabacloud/credentials/src/BearerTokenCredential.php
  8. 179 94
      include/vendor/alibabacloud/credentials/src/Credential.php
  9. 243 23
      include/vendor/alibabacloud/credentials/src/Credential/Config.php
  10. 3 1
      include/vendor/alibabacloud/credentials/src/Credentials.php
  11. 9 0
      include/vendor/alibabacloud/credentials/src/CredentialsInterface.php
  12. 56 8
      include/vendor/alibabacloud/credentials/src/EcsRamRoleCredential.php
  13. 0 134
      include/vendor/alibabacloud/credentials/src/Filter.php
  14. 0 202
      include/vendor/alibabacloud/credentials/src/Helper.php
  15. 0 98
      include/vendor/alibabacloud/credentials/src/MockTrait.php
  16. 3 2
      include/vendor/alibabacloud/credentials/src/Providers/ChainProvider.php
  17. 0 94
      include/vendor/alibabacloud/credentials/src/Providers/EcsRamRoleProvider.php
  18. 0 82
      include/vendor/alibabacloud/credentials/src/Providers/Provider.php
  19. 0 49
      include/vendor/alibabacloud/credentials/src/Providers/RamRoleArnProvider.php
  20. 0 53
      include/vendor/alibabacloud/credentials/src/Providers/RsaKeyPairProvider.php
  21. 30 6
      include/vendor/alibabacloud/credentials/src/RamRoleArnCredential.php
  22. 0 37
      include/vendor/alibabacloud/credentials/src/Request/AssumeRole.php
  23. 0 33
      include/vendor/alibabacloud/credentials/src/Request/GenerateSessionAccessKey.php
  24. 65 53
      include/vendor/alibabacloud/credentials/src/Request/Request.php
  25. 31 4
      include/vendor/alibabacloud/credentials/src/RsaKeyPairCredential.php
  26. 20 3
      include/vendor/alibabacloud/credentials/src/StsCredential.php
  27. 1 1
      include/vendor/alibabacloud/darabonba-openapi/composer.json
  28. 30 4
      include/vendor/alibabacloud/darabonba-openapi/src/Models/Config.php
  29. 1 0
      include/vendor/alibabacloud/darabonba-openapi/src/Models/GlobalParameters.php
  30. 1 0
      include/vendor/alibabacloud/darabonba-openapi/src/Models/OpenApiRequest.php
  31. 1 0
      include/vendor/alibabacloud/darabonba-openapi/src/Models/Params.php
  32. 142 51
      include/vendor/alibabacloud/darabonba-openapi/src/OpenApiClient.php
  33. 12 0
      include/vendor/alibabacloud/tea-utils/src/Utils/RuntimeOptions.php
  34. 7 0
      include/vendor/alibabacloud/tea-utils/tests/UtilsTest.php
  35. 4 0
      include/vendor/aliyuncs/oss-sdk-php/CHANGELOG.md
  36. 23 8
      include/vendor/aliyuncs/oss-sdk-php/src/OSS/OssClient.php
  37. 5 0
      include/vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/Common.php
  38. 84 10
      include/vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientForcePathStyleTest.php
  39. 43 0
      include/vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientPresignV4Test.php
  40. 800 9
      include/vendor/composer/autoload_classmap.php
  41. 2 0
      include/vendor/composer/autoload_files.php
  42. 1 0
      include/vendor/composer/autoload_namespaces.php
  43. 7 0
      include/vendor/composer/autoload_psr4.php
  44. 855 9
      include/vendor/composer/autoload_static.php
  45. 698 81
      include/vendor/composer/installed.json
  46. 104 32
      include/vendor/composer/installed.php
  47. 2 2
      include/vendor/composer/platform_check.php
  48. 31 0
      include/vendor/guzzlehttp/guzzle/CHANGELOG.md
  49. 5 5
      include/vendor/guzzlehttp/guzzle/README.md
  50. 32 4
      include/vendor/guzzlehttp/guzzle/composer.json
  51. 3 3
      include/vendor/guzzlehttp/guzzle/src/BodySummarizer.php
  52. 2 2
      include/vendor/guzzlehttp/guzzle/src/Client.php
  53. 1 1
      include/vendor/guzzlehttp/guzzle/src/ClientInterface.php
  54. 1 1
      include/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php
  55. 1 1
      include/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
  56. 1 1
      include/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php
  57. 1 1
      include/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php
  58. 6 22
      include/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
  59. 116 18
      include/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
  60. 17 0
      include/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
  61. 4 4
      include/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php
  62. 9 3
      include/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
  63. 3 3
      include/vendor/guzzlehttp/guzzle/src/HandlerStack.php
  64. 1 1
      include/vendor/guzzlehttp/guzzle/src/MessageFormatter.php
  65. 1 1
      include/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php
  66. 3 3
      include/vendor/guzzlehttp/guzzle/src/Middleware.php
  67. 2 2
      include/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
  68. 1 1
      include/vendor/guzzlehttp/guzzle/src/RequestOptions.php
  69. 2 2
      include/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php
  70. 2 2
      include/vendor/guzzlehttp/guzzle/src/TransferStats.php
  71. 2 2
      include/vendor/guzzlehttp/guzzle/src/Utils.php
  72. 7 0
      include/vendor/guzzlehttp/promises/CHANGELOG.md
  73. 4 4
      include/vendor/guzzlehttp/promises/README.md
  74. 1 1
      include/vendor/guzzlehttp/promises/composer.json
  75. 2 2
      include/vendor/guzzlehttp/promises/src/Coroutine.php
  76. 5 5
      include/vendor/guzzlehttp/promises/src/Each.php
  77. 2 2
      include/vendor/guzzlehttp/promises/src/FulfilledPromise.php
  78. 4 4
      include/vendor/guzzlehttp/promises/src/Promise.php
  79. 2 2
      include/vendor/guzzlehttp/promises/src/PromiseInterface.php
  80. 2 2
      include/vendor/guzzlehttp/promises/src/RejectedPromise.php
  81. 1 1
      include/vendor/guzzlehttp/promises/src/RejectionException.php
  82. 1 1
      include/vendor/guzzlehttp/promises/src/Utils.php
  83. 17 0
      include/vendor/guzzlehttp/psr7/CHANGELOG.md
  84. 12 5
      include/vendor/guzzlehttp/psr7/README.md
  85. 2 2
      include/vendor/guzzlehttp/psr7/composer.json
  86. 1 1
      include/vendor/guzzlehttp/psr7/src/CachingStream.php
  87. 3 3
      include/vendor/guzzlehttp/psr7/src/HttpFactory.php
  88. 1 1
      include/vendor/guzzlehttp/psr7/src/MultipartStream.php
  89. 12 7
      include/vendor/guzzlehttp/psr7/src/Query.php
  90. 1 1
      include/vendor/guzzlehttp/psr7/src/Response.php
  91. 7 3
      include/vendor/guzzlehttp/psr7/src/StreamWrapper.php
  92. 2 2
      include/vendor/guzzlehttp/psr7/src/UploadedFile.php
  93. 1 1
      include/vendor/guzzlehttp/psr7/src/Uri.php
  94. 15 1
      include/vendor/guzzlehttp/psr7/src/Utils.php
  95. 12 0
      include/vendor/monolog/monolog/CHANGELOG.md
  96. 2 2
      include/vendor/monolog/monolog/composer.json
  97. 2 0
      include/vendor/monolog/monolog/src/Monolog/DateTimeImmutable.php
  98. 4 0
      include/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php
  99. 1 0
      include/vendor/monolog/monolog/src/Monolog/Handler/ElasticsearchHandler.php
  100. 0 0
      include/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php

+ 4 - 2
include/composer.json

@@ -5,11 +5,13 @@
         "alibabacloud/dysmsapi-20170525": "^2.0.24",
         "alibabacloud/darabonba-openapi": "^0.2.10",
         "alibabacloud/tea-console": "^0.1.0",
-        "alibabacloud/tea-utils": "^0.2.19"
+        "alibabacloud/tea-utils": "^0.2.19",
+        "phpoffice/phpspreadsheet": "^1.21"
     },
     "autoload": {
         "psr-4": {
-            "AlibabaCloud\\SDK\\Sample\\": "src"
+            "AlibabaCloud\\SDK\\Sample\\": "src",
+            "PhpOffice\\PhpSpreadsheet\\": "vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet"
         }
     },
     "scripts": {

File diff ditekan karena terlalu besar
+ 668 - 75
include/composer.lock


File diff ditekan karena terlalu besar
+ 251 - 96
include/vendor/alibabacloud/credentials/README-zh-CN.md


File diff ditekan karena terlalu besar
+ 237 - 88
include/vendor/alibabacloud/credentials/README.md


+ 1 - 1
include/vendor/alibabacloud/credentials/composer.json

@@ -47,7 +47,7 @@
         "ext-sockets": "*",
         "drupal/coder": "^8.3",
         "symfony/dotenv": "^3.4",
-        "phpunit/phpunit": "^5.7|^6.6|^7.5",
+        "phpunit/phpunit": "^5.7|^6.6|^9.3",
         "monolog/monolog": "^1.24",
         "composer/composer": "^1.8",
         "mikey179/vfsstream": "^1.6",

+ 15 - 1
include/vendor/alibabacloud/credentials/src/AccessKeyCredential.php

@@ -2,9 +2,12 @@
 
 namespace AlibabaCloud\Credentials;
 
+use AlibabaCloud\Credentials\Utils\Filter;
+use AlibabaCloud\Credentials\Credential\CredentialModel;
 use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
 
 /**
+ * @deprecated
  * Use the AccessKey to complete the authentication.
  */
 class AccessKeyCredential implements CredentialsInterface
@@ -29,7 +32,7 @@ class AccessKeyCredential implements CredentialsInterface
     {
         Filter::accessKey($access_key_id, $access_key_secret);
 
-        $this->accessKeyId     = $access_key_id;
+        $this->accessKeyId = $access_key_id;
         $this->accessKeySecret = $access_key_secret;
     }
 
@@ -69,4 +72,15 @@ class AccessKeyCredential implements CredentialsInterface
     {
         return '';
     }
+    /**
+     * @inheritDoc
+     */
+    public function getCredential()
+    {
+        return new CredentialModel([
+            'accessKeyId' => $this->accessKeyId,
+            'accessKeySecret' => $this->accessKeySecret,
+            'type' => 'access_key',
+        ]);
+    }
 }

+ 14 - 0
include/vendor/alibabacloud/credentials/src/BearerTokenCredential.php

@@ -2,6 +2,8 @@
 
 namespace AlibabaCloud\Credentials;
 
+use AlibabaCloud\Credentials\Utils\Filter;
+use AlibabaCloud\Credentials\Credential\CredentialModel;
 use AlibabaCloud\Credentials\Signature\BearerTokenSignature;
 
 /**
@@ -50,4 +52,16 @@ class BearerTokenCredential implements CredentialsInterface
     {
         return new BearerTokenSignature();
     }
+
+    /**
+     * @inheritDoc
+     */
+    public function getCredential()
+    {
+        return new CredentialModel([
+            'bearerToken' => $this->bearerToken,
+            'type' => 'bearer',
+        ]);
+    }
+
 }

+ 179 - 94
include/vendor/alibabacloud/credentials/src/Credential.php

@@ -3,172 +3,257 @@
 namespace AlibabaCloud\Credentials;
 
 use AlibabaCloud\Credentials\Credential\Config;
+use AlibabaCloud\Credentials\Credential\CredentialModel;
+use AlibabaCloud\Credentials\Providers\DefaultCredentialsProvider;
+use AlibabaCloud\Credentials\Providers\EcsRamRoleCredentialsProvider;
+use AlibabaCloud\Credentials\Providers\OIDCRoleArnCredentialsProvider;
+use AlibabaCloud\Credentials\Providers\RamRoleArnCredentialsProvider;
+use AlibabaCloud\Credentials\Providers\RsaKeyPairCredentialsProvider;
+use AlibabaCloud\Credentials\Providers\StaticAKCredentialsProvider;
+use AlibabaCloud\Credentials\Providers\StaticSTSCredentialsProvider;
+use AlibabaCloud\Credentials\Providers\URLCredentialsProvider;
+use AlibabaCloud\Credentials\Utils\Helper;
+use GuzzleHttp\Exception\GuzzleException;
 use InvalidArgumentException;
-use ReflectionClass;
-use ReflectionException;
-use ReflectionParameter;
+use RuntimeException;
 
 /**
  * Class Credential
  *
  * @package AlibabaCloud\Credentials
  *
- * @mixin AccessKeyCredential
- * @mixin BearerTokenCredential
- * @mixin EcsRamRoleCredential
- * @mixin RamRoleArnCredential
- * @mixin RsaKeyPairCredential
  */
 class Credential
 {
-    /**
-     * @var array
-     */
-    protected $config = [];
 
     /**
-     * @var array
+     * Version of the Client
      */
-    protected $types = [
-        'access_key'   => AccessKeyCredential::class,
-        'sts'          => StsCredential::class,
-        'ecs_ram_role' => EcsRamRoleCredential::class,
-        'ram_role_arn' => RamRoleArnCredential::class,
-        'rsa_key_pair' => RsaKeyPairCredential::class,
-        'bearer' => BearerTokenCredential::class,
-    ];
+    const VERSION = '1.1.5';
 
     /**
-     * @var AccessKeyCredential|BearerTokenCredential|EcsRamRoleCredential|RamRoleArnCredential|RsaKeyPairCredential
+     * @var Config
      */
-    protected $credential;
+    protected $config;
 
     /**
-     * @var string
+     * @var CredentialsInterface
      */
-    protected $type;
+    protected $credential;
 
     /**
      * Credential constructor.
      *
      * @param array|Config $config
-     *
-     * @throws ReflectionException
      */
     public function __construct($config = [])
     {
-        if ($config instanceof Config) {
-            $config = $this->parse($config);
-        }
-        if ($config !== []) {
-            $this->config = array_change_key_case($config);
-            $this->parseConfig();
+        if (\is_array($config)) {
+            if (empty($config)) {
+                $this->config = null;
+            } else {
+                $this->config = new Config($this->parseConfig($config));
+            }
         } else {
-            $this->credential = Credentials::get()->getCredential();
+            $this->config = $config;
         }
+        $this->credential = $this->getCredentials($this->config);
     }
 
     /**
-     * @param Config $config
+     * @param array $config
      *
      * @return array
      */
-    private function parse($config)
+    private function parseConfig($config)
     {
-        $config = get_object_vars($config);
-        $res    = [];
-        foreach ($config as $key => $value) {
-            $res[$this->toUnderScore($key)] = $value;
+        $res = [];
+        foreach (\array_change_key_case($config) as $key => $value) {
+            $res[Helper::snakeToCamelCase($key)] = $value;
         }
         return $res;
     }
 
-    private function toUnderScore($str)
-    {
-        $dstr = preg_replace_callback('/([A-Z]+)/', function ($matchs) {
-            return '_' . strtolower($matchs[0]);
-        }, $str);
-        return trim(preg_replace('/_{2,}/', '_', $dstr), '_');
-    }
+
 
     /**
-     * @throws ReflectionException
+     * Credentials getter.
+     *
+     * @param Config $config
+     * @return CredentialsInterface
+     *
      */
-    private function parseConfig()
+    private function getCredentials($config)
     {
-        if (!isset($this->config['type'])) {
-            throw  new InvalidArgumentException('Missing required type option');
+        if (is_null($config)) {
+            return new CredentialsProviderWrap('default', new DefaultCredentialsProvider());
         }
-
-        $this->type = $this->config['type'];
-        if (!isset($this->types[$this->type])) {
-            throw  new InvalidArgumentException(
-                'Invalid type option, support: ' .
-                implode(', ', array_keys($this->types))
-            );
+        switch ($config->type) {
+            case 'access_key':
+                $provider = new StaticAKCredentialsProvider([
+                    'accessKeyId' => $config->accessKeyId,
+                    'accessKeySecret' => $config->accessKeySecret,
+                ]);
+                return new CredentialsProviderWrap('access_key', $provider);
+            case 'sts':
+                $provider = new StaticSTSCredentialsProvider([
+                    'accessKeyId' => $config->accessKeyId,
+                    'accessKeySecret' => $config->accessKeySecret,
+                    'securityToken' => $config->securityToken,
+                ]);
+                return new CredentialsProviderWrap('sts', $provider);
+            case 'bearer':
+                return new BearerTokenCredential($config->bearerToken);
+            case 'ram_role_arn':
+                if (!is_null($config->securityToken) && $config->securityToken !== '') {
+                    $innerProvider = new StaticSTSCredentialsProvider([
+                        'accessKeyId' => $config->accessKeyId,
+                        'accessKeySecret' => $config->accessKeySecret,
+                        'securityToken' => $config->securityToken,
+                    ]);
+                } else {
+                    $innerProvider = new StaticAKCredentialsProvider([
+                        'accessKeyId' => $config->accessKeyId,
+                        'accessKeySecret' => $config->accessKeySecret,
+                    ]);
+                }
+                $provider = new RamRoleArnCredentialsProvider([
+                    'credentialsProvider' => $innerProvider,
+                    'roleArn' => $config->roleArn,
+                    'roleSessionName' => $config->roleSessionName,
+                    'policy' => $config->policy,
+                    'durationSeconds' => $config->roleSessionExpiration,
+                    'externalId' => $config->externalId,
+                    'stsEndpoint' => $config->STSEndpoint,
+                ], [
+                    'connectTimeout' => $config->connectTimeout,
+                    'readTimeout' => $config->readTimeout,
+                ]);
+                return new CredentialsProviderWrap('ram_role_arn', $provider);
+            case 'rsa_key_pair':
+                $provider = new RsaKeyPairCredentialsProvider([
+                    'publicKeyId' => $config->publicKeyId,
+                    'privateKeyFile' => $config->privateKeyFile,
+                    'durationSeconds' => $config->roleSessionExpiration,
+                    'stsEndpoint' => $config->STSEndpoint,
+                ], [
+                    'connectTimeout' => $config->connectTimeout,
+                    'readTimeout' => $config->readTimeout,
+                ]);
+                return new CredentialsProviderWrap('rsa_key_pair', $provider);
+            case 'ecs_ram_role':
+                $provider = new EcsRamRoleCredentialsProvider([
+                    'roleName' => $config->roleName,
+                    'disableIMDSv1' => $config->disableIMDSv1,
+                ], [
+                    'connectTimeout' => $config->connectTimeout,
+                    'readTimeout' => $config->readTimeout,
+                ]);
+                return new CredentialsProviderWrap('ecs_ram_role', $provider);
+            case 'oidc_role_arn':
+                $provider = new OIDCRoleArnCredentialsProvider([
+                    'roleArn' => $config->roleArn,
+                    'oidcProviderArn' => $config->oidcProviderArn,
+                    'oidcTokenFilePath' => $config->oidcTokenFilePath,
+                    'roleSessionName' => $config->roleSessionName,
+                    'policy' => $config->policy,
+                    'durationSeconds' => $config->roleSessionExpiration,
+                    'stsEndpoint' => $config->STSEndpoint,
+                ], [
+                    'connectTimeout' => $config->connectTimeout,
+                    'readTimeout' => $config->readTimeout,
+                ]);
+                return new CredentialsProviderWrap('oidc_role_arn', $provider);
+            case "credentials_uri":
+                $provider = new URLCredentialsProvider([
+                    'credentialsURI' => $config->credentialsURI,
+                ], [
+                    'connectTimeout' => $config->connectTimeout,
+                    'readTimeout' => $config->readTimeout,
+                ]);
+                return new CredentialsProviderWrap('credentials_uri', $provider);
+            default:
+                throw new InvalidArgumentException('Unsupported credential type option: ' . $config->type . ', support: access_key, sts, bearer, ecs_ram_role, ram_role_arn, rsa_key_pair, oidc_role_arn, credentials_uri');
         }
+    }
 
-        $class      = new ReflectionClass($this->types[$this->type]);
-        $parameters = [];
-        /**
-         * @var $parameter ReflectionParameter
-         */
-        foreach ($class->getConstructor()->getParameters() as $parameter) {
-            $parameters[] = $this->getValue($parameter);
-        }
+    /**
+     * @return CredentialModel
+     * @throws RuntimeException
+     * @throws GuzzleException
+     */
+    public function getCredential()
+    {
+        return $this->credential->getCredential();
+    }
 
-        $this->credential = $class->newInstance(...$parameters);
+    /**
+     * @return array
+     */
+    public function getConfig()
+    {
+        return $this->config->toMap();
     }
 
     /**
-     * @param ReflectionParameter $parameter
+     * @deprecated use getCredential() instead
      *
-     * @return string|array
-     * @throws ReflectionException
+     * @return string
+     * @throws RuntimeException
+     * @throws GuzzleException
      */
-    protected function getValue(ReflectionParameter $parameter)
+    public function getType()
     {
-        if ($parameter->name === 'config' || $parameter->name === 'credential') {
-            return $this->config;
-        }
-
-        foreach ($this->config as $key => $value) {
-            if (strtolower($parameter->name) === $key) {
-                return $value;
-            }
-        }
-
-        if ($parameter->isDefaultValueAvailable()) {
-            return $parameter->getDefaultValue();
-        }
-
-        throw new InvalidArgumentException("Missing required {$parameter->name} option in config for {$this->type}");
+        return $this->credential->getCredential()->getType();
     }
 
     /**
-     * @return AccessKeyCredential|BearerTokenCredential|EcsRamRoleCredential|RamRoleArnCredential|RsaKeyPairCredential
+     * @deprecated use getCredential() instead
+     * 
+     * @return string
+     * @throws RuntimeException
+     * @throws GuzzleException
      */
-    public function getCredential()
+    public function getAccessKeyId()
     {
-        return $this->credential;
+        return $this->credential->getCredential()->getAccessKeyId();
     }
 
     /**
-     * @return array
+     * @deprecated use getCredential() instead
+     * 
+     * @return string
+     * @throws RuntimeException
+     * @throws GuzzleException
      */
-    public function getConfig()
+    public function getAccessKeySecret()
     {
-        return $this->config;
+        return $this->credential->getCredential()->getAccessKeySecret();
     }
 
     /**
+     * @deprecated use getCredential() instead
+     * 
      * @return string
+     * @throws RuntimeException
+     * @throws GuzzleException
      */
-    public function getType()
+    public function getSecurityToken()
     {
-        return $this->type;
+        return $this->credential->getCredential()->getSecurityToken();
     }
 
+    /**
+     * @deprecated use getCredential() instead
+     * 
+     * @return string
+     * @throws RuntimeException
+     * @throws GuzzleException
+     */
+    public function getBearerToken()
+    {
+        return $this->credential->getCredential()->getBearerToken();
+    }
 
     /**
      * @param string $name

+ 243 - 23
include/vendor/alibabacloud/credentials/src/Credential/Config.php

@@ -2,49 +2,269 @@
 
 namespace AlibabaCloud\Credentials\Credential;
 
-class Config
+use AlibabaCloud\Tea\Model;
+
+class Config extends Model
 {
+    public function validate()
+    {
+    }
+    public function toMap()
+    {
+        $res = [];
+        if (null !== $this->accessKeyId) {
+            $res['accessKeyId'] = $this->accessKeyId;
+        }
+        if (null !== $this->accessKeySecret) {
+            $res['accessKeySecret'] = $this->accessKeySecret;
+        }
+        if (null !== $this->securityToken) {
+            $res['securityToken'] = $this->securityToken;
+        }
+        if (null !== $this->bearerToken) {
+            $res['bearerToken'] = $this->bearerToken;
+        }
+        if (null !== $this->durationSeconds) {
+            $res['durationSeconds'] = $this->durationSeconds;
+        }
+        if (null !== $this->roleArn) {
+            $res['roleArn'] = $this->roleArn;
+        }
+        if (null !== $this->policy) {
+            $res['policy'] = $this->policy;
+        }
+        if (null !== $this->roleSessionExpiration) {
+            $res['roleSessionExpiration'] = $this->roleSessionExpiration;
+        }
+        if (null !== $this->roleSessionName) {
+            $res['roleSessionName'] = $this->roleSessionName;
+        }
+        if (null !== $this->publicKeyId) {
+            $res['publicKeyId'] = $this->publicKeyId;
+        }
+        if (null !== $this->privateKeyFile) {
+            $res['privateKeyFile'] = $this->privateKeyFile;
+        }
+        if (null !== $this->roleName) {
+            $res['roleName'] = $this->roleName;
+        }
+        if (null !== $this->credentialsURI) {
+            $res['credentialsURI'] = $this->credentialsURI;
+        }
+        if (null !== $this->type) {
+            $res['type'] = $this->type;
+        }
+        if (null !== $this->STSEndpoint) {
+            $res['STSEndpoint'] = $this->STSEndpoint;
+        }
+        if (null !== $this->externalId) {
+            $res['externalId'] = $this->externalId;
+        }
+        return $res;
+    }
     /**
+     * @param array $map
+     * @return Config
+     */
+    public static function fromMap($map = [])
+    {
+        $model = new self();
+        if (isset($map['accessKeyId'])) {
+            $model->accessKeyId = $map['accessKeyId'];
+        }
+        if (isset($map['accessKeySecret'])) {
+            $model->accessKeySecret = $map['accessKeySecret'];
+        }
+        if (isset($map['securityToken'])) {
+            $model->securityToken = $map['securityToken'];
+        }
+        if (isset($map['bearerToken'])) {
+            $model->bearerToken = $map['bearerToken'];
+        }
+        if (isset($map['durationSeconds'])) {
+            $model->durationSeconds = $map['durationSeconds'];
+        }
+        if (isset($map['roleArn'])) {
+            $model->roleArn = $map['roleArn'];
+        }
+        if (isset($map['policy'])) {
+            $model->policy = $map['policy'];
+        }
+        if (isset($map['roleSessionExpiration'])) {
+            $model->roleSessionExpiration = $map['roleSessionExpiration'];
+        }
+        if (isset($map['roleSessionName'])) {
+            $model->roleSessionName = $map['roleSessionName'];
+        }
+        if (isset($map['publicKeyId'])) {
+            $model->publicKeyId = $map['publicKeyId'];
+        }
+        if (isset($map['privateKeyFile'])) {
+            $model->privateKeyFile = $map['privateKeyFile'];
+        }
+        if (isset($map['roleName'])) {
+            $model->roleName = $map['roleName'];
+        }
+        if (isset($map['credentialsURI'])) {
+            $model->credentialsURI = $map['credentialsURI'];
+        }
+        if (isset($map['type'])) {
+            $model->type = $map['type'];
+        }
+        if (isset($map['STSEndpoint'])) {
+            $model->STSEndpoint = $map['STSEndpoint'];
+        }
+        if (isset($map['externalId'])) {
+            $model->externalId = $map['externalId'];
+        }
+        return $model;
+    }
+    /**
+     * @description credential type
+     * @example access_key
      * @var string
      */
     public $type = 'default';
 
-    public $accessKeyId = "";
+    /**
+     * @description accesskey id
+     * @var string
+     */
+    public $accessKeyId;
+
+    /**
+     * @description accesskey secret
+     * @var string
+     */
+    public $accessKeySecret;
+
+    /**
+     * @description security token
+     * @var string
+     */
+    public $securityToken;
+
+    /**
+     * @description bearer token
+     * @var string
+     */
+    public $bearerToken;
+
+    /**
+     * @description role name
+     * @var string
+     */
+    public $roleName;
+
+    /**
+     * @description role arn
+     * @var string
+     */
+    public $roleArn;
 
-    public $accessKeySecret = "";
+    /**
+     * @description oidc provider arn
+     * @var string
+     */
+    public $oidcProviderArn;
 
-    public $securityToken = "";
+    /**
+     * @description oidc token file path
+     * @var string
+     */
+    public $oidcTokenFilePath;
 
-    public $bearerToken = "";
+    /**
+     * @description role session expiration
+     * @example 3600
+     * @var int
+     */
+    public $roleSessionExpiration;
 
-    public $roleName = "";
+    /**
+     * @description role session name
+     * @var string
+     */
+    public $roleSessionName;
 
-    public $roleArn = "";
+    /**
+     * @description role arn policy
+     * @var string
+     */
+    public $policy;
 
-    public $roleSessionName = "";
+    /**
+     * @description external id for ram role arn
+     * @var string
+     */
+    public $externalId;
 
-    public $host = "";
+    /**
+     * @description sts endpoint
+     * @var string
+     */
+    public $STSEndpoint;
 
-    public $publicKeyId = "";
+    public $publicKeyId;
 
-    public $privateKeyFile = "";
+    public $privateKeyFile;
 
-    public $readTimeout = 0;
+    /**
+     * @description read timeout
+     * @var int
+     */
+    public $readTimeout;
 
-    public $connectTimeout = 0;
+    /**
+     * @description connection timeout
+     * @var int
+     */
+    public $connectTimeout;
 
-    public $certFile = "";
+    /**
+     * @description disable IMDS v1
+     * @var bool
+     */
+    public $disableIMDSv1;
 
-    public $certPassword = "";
+    /**
+     * @description credentials URI
+     * @var string
+     */
+    public $credentialsURI;
 
-    public $proxy = "";
+    /**
+     * @deprecated
+     */
+    public $metadataTokenDuration;
 
-    public $expiration = 0;
+    /**
+     * @deprecated
+     */
+    public $durationSeconds;
 
-    public function __construct($config)
-    {
-        foreach ($config as $k => $v) {
-            $this->{$k} = $v;
-        }
-    }
+    /**
+     * @deprecated
+     */
+    public $host;
+
+    /**
+     * @deprecated
+     */
+    public $expiration;
+
+    /**
+     * @deprecated
+     */
+    public $certFile = "";
+
+    /**
+     * @deprecated
+     */
+    public $certPassword = "";
+
+    /**
+     * @internal
+     */
+    public $proxy;
 }

+ 3 - 1
include/vendor/alibabacloud/credentials/src/Credentials.php

@@ -3,6 +3,8 @@
 namespace AlibabaCloud\Credentials;
 
 use AlibabaCloud\Credentials\Providers\ChainProvider;
+use AlibabaCloud\Credentials\Utils\Filter;
+use AlibabaCloud\Credentials\Utils\MockTrait;
 use ReflectionException;
 use RuntimeException;
 
@@ -99,4 +101,4 @@ class Credentials
 
         self::$credentials[\strtolower($name)] = \array_change_key_case($credential);
     }
-}
+}

+ 9 - 0
include/vendor/alibabacloud/credentials/src/CredentialsInterface.php

@@ -2,9 +2,11 @@
 
 namespace AlibabaCloud\Credentials;
 
+use AlibabaCloud\Credentials\Credential\CredentialModel;
 use AlibabaCloud\Credentials\Signature\SignatureInterface;
 
 /**
+ * @internal This class is intended for internal use within the package. 
  * Interface CredentialsInterface
  *
  * @codeCoverageIgnore
@@ -12,12 +14,19 @@ use AlibabaCloud\Credentials\Signature\SignatureInterface;
 interface CredentialsInterface
 {
     /**
+     * @deprecated
      * @return string
      */
     public function __toString();
 
     /**
+     * @deprecated
      * @return SignatureInterface
      */
     public function getSignature();
+
+    /**
+     * @return CredentialModel
+     */
+    public function getCredential();
 }

+ 56 - 8
include/vendor/alibabacloud/credentials/src/EcsRamRoleCredential.php

@@ -2,15 +2,18 @@
 
 namespace AlibabaCloud\Credentials;
 
-use AlibabaCloud\Credentials\Providers\EcsRamRoleProvider;
-use AlibabaCloud\Credentials\Request\Request;
+use AlibabaCloud\Credentials\Providers\EcsRamRoleCredentialsProvider;
+use AlibabaCloud\Credentials\Credential\CredentialModel;
 use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
+use AlibabaCloud\Credentials\Request\Request;
+use AlibabaCloud\Credentials\Utils\Filter;
 use Exception;
 use GuzzleHttp\Exception\GuzzleException;
 use InvalidArgumentException;
 use RuntimeException;
 
 /**
+ * @deprecated
  * Use the RAM role of an ECS instance to complete the authentication.
  */
 class EcsRamRoleCredential implements CredentialsInterface
@@ -22,15 +25,32 @@ class EcsRamRoleCredential implements CredentialsInterface
     private $roleName;
 
     /**
+     * @var boolean
+     */
+    private $disableIMDSv1;
+
+    /**
+     * @var int
+     */
+    private $metadataTokenDuration;
+
+
+    /**
      * EcsRamRoleCredential constructor.
      *
      * @param $role_name
      */
-    public function __construct($role_name = null)
+    public function __construct($role_name = null, $disable_imdsv1 = false, $metadata_token_duration = 21600)
     {
         Filter::roleName($role_name);
 
         $this->roleName = $role_name;
+
+        Filter::disableIMDSv1($disable_imdsv1);
+
+        $this->disableIMDSv1 = $disable_imdsv1;
+
+        $this->metadataTokenDuration = $metadata_token_duration;
     }
 
     /**
@@ -56,8 +76,8 @@ class EcsRamRoleCredential implements CredentialsInterface
     public function getRoleNameFromMeta()
     {
         $options = [
-            'http_errors'     => false,
-            'timeout'         => 1,
+            'http_errors' => false,
+            'timeout' => 1,
             'connect_timeout' => 1,
         ];
 
@@ -75,7 +95,7 @@ class EcsRamRoleCredential implements CredentialsInterface
             throw new RuntimeException('Error retrieving credentials from result: ' . $result->getBody());
         }
 
-        $role_name = (string)$result;
+        $role_name = (string) $result;
         if (!$role_name) {
             throw new RuntimeException('Error retrieving credentials from result is empty');
         }
@@ -110,13 +130,18 @@ class EcsRamRoleCredential implements CredentialsInterface
     }
 
     /**
-     * @return StsCredential
+     * @return AlibabaCloud\Credentials\Providers\Credentials
      * @throws Exception
      * @throws GuzzleException
      */
     protected function getSessionCredential()
     {
-        return (new EcsRamRoleProvider($this))->get();
+        $params = [
+            "roleName" => $this->roleName,
+            'disableIMDSv1' => $this->disableIMDSv1,
+            'metadataTokenDuration' => $this->metadataTokenDuration,
+        ];
+        return (new EcsRamRoleCredentialsProvider($params))->getCredentials();
     }
 
     /**
@@ -148,4 +173,27 @@ class EcsRamRoleCredential implements CredentialsInterface
     {
         return $this->getSessionCredential()->getExpiration();
     }
+
+    /**
+     * @return bool
+     */
+    public function isDisableIMDSv1()
+    {
+        return $this->disableIMDSv1;
+    }
+
+    /**
+     * @inheritDoc
+     */
+    public function getCredential()
+    {
+        $credentials = $this->getSessionCredential();
+        return new CredentialModel([
+            'accessKeyId' => $credentials->getAccessKeyId(),
+            'accessKeySecret' => $credentials->getAccessKeySecret(),
+            'securityToken' => $credentials->getSecurityToken(),
+            'type' => 'ecs_ram_role',
+        ]);
+    }
+
 }

+ 0 - 134
include/vendor/alibabacloud/credentials/src/Filter.php

@@ -1,134 +0,0 @@
-<?php
-
-namespace AlibabaCloud\Credentials;
-
-use InvalidArgumentException;
-
-class Filter
-{
-
-    /**
-     * @param $name
-     *
-     * @codeCoverageIgnore
-     * @return string
-     */
-    public static function credentialName($name)
-    {
-        if (!is_string($name)) {
-            throw new InvalidArgumentException('Name must be a string');
-        }
-
-        if ($name === '') {
-            throw new InvalidArgumentException('Name cannot be empty');
-        }
-
-        return $name;
-    }
-
-    /**
-     * @param $bearerToken
-     *
-     * @return mixed
-     * @throws InvalidArgumentException
-     */
-    public static function bearerToken($bearerToken)
-    {
-        if (!is_string($bearerToken)) {
-            throw new InvalidArgumentException('bearer_token must be a string');
-        }
-
-        if ($bearerToken === '') {
-            throw new InvalidArgumentException('bearer_token cannot be empty');
-        }
-
-        return $bearerToken;
-    }
-
-    /**
-     * @param $publicKeyId
-     *
-     * @return mixed
-     */
-    public static function publicKeyId($publicKeyId)
-    {
-        if (!is_string($publicKeyId)) {
-            throw new InvalidArgumentException('public_key_id must be a string');
-        }
-
-        if ($publicKeyId === '') {
-            throw new InvalidArgumentException('public_key_id cannot be empty');
-        }
-
-        return $publicKeyId;
-    }
-
-    /**
-     * @param $privateKeyFile
-     *
-     * @return mixed
-     */
-    public static function privateKeyFile($privateKeyFile)
-    {
-        if (!is_string($privateKeyFile)) {
-            throw new InvalidArgumentException('private_key_file must be a string');
-        }
-
-        if ($privateKeyFile === '') {
-            throw new InvalidArgumentException('private_key_file cannot be empty');
-        }
-
-        return $privateKeyFile;
-    }
-
-    /**
-     * @param string|null $role_name
-     */
-    public static function roleName($role_name)
-    {
-        if ($role_name === null) {
-            return;
-        }
-
-        if (!is_string($role_name)) {
-            throw new InvalidArgumentException('role_name must be a string');
-        }
-
-        if ($role_name === '') {
-            throw new InvalidArgumentException('role_name cannot be empty');
-        }
-    }
-
-    /**
-     * @param string $accessKeyId
-     * @param string $accessKeySecret
-     */
-    public static function accessKey($accessKeyId, $accessKeySecret)
-    {
-        if (!is_string($accessKeyId)) {
-            throw new InvalidArgumentException('access_key_id must be a string');
-        }
-
-        if ($accessKeyId === '') {
-            throw new InvalidArgumentException('access_key_id cannot be empty');
-        }
-
-        if (!is_string($accessKeySecret)) {
-            throw new InvalidArgumentException('access_key_secret must be a string');
-        }
-
-        if ($accessKeySecret === '') {
-            throw new InvalidArgumentException('access_key_secret cannot be empty');
-        }
-    }
-
-    /**
-     * @param int $expiration
-     */
-    public static function expiration($expiration)
-    {
-        if (!is_int($expiration)) {
-            throw new InvalidArgumentException('expiration must be a int');
-        }
-    }
-}

+ 0 - 202
include/vendor/alibabacloud/credentials/src/Helper.php

@@ -1,202 +0,0 @@
-<?php
-
-namespace AlibabaCloud\Credentials;
-
-use Closure;
-
-/**
- * Class Helper
- *
- * @package AlibabaCloud\Credentials
- */
-class Helper
-{
-    /**
-     * @param array $arrays
-     *
-     * @return array
-     */
-    public static function merge(array $arrays)
-    {
-        $result = [];
-        foreach ($arrays as $array) {
-            foreach ($array as $key => $value) {
-                if (is_int($key)) {
-                    $result[] = $value;
-                    continue;
-                }
-
-                if (isset($result[$key]) && is_array($result[$key])) {
-                    $result[$key] = self::merge(
-                        [$result[$key], $value]
-                    );
-                    continue;
-                }
-
-                $result[$key] = $value;
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param      $filename
-     *
-     * @return bool
-     */
-    public static function inOpenBasedir($filename)
-    {
-        $open_basedir = ini_get('open_basedir');
-        if (!$open_basedir) {
-            return true;
-        }
-
-        $dirs = explode(PATH_SEPARATOR, $open_basedir);
-
-        return empty($dirs) || self::inDir($filename, $dirs);
-    }
-
-    /**
-     * @param string $filename
-     * @param array  $dirs
-     *
-     * @return bool
-     */
-    public static function inDir($filename, array $dirs)
-    {
-        foreach ($dirs as $dir) {
-            if ($dir[strlen($dir) - 1] !== DIRECTORY_SEPARATOR) {
-                $dir .= DIRECTORY_SEPARATOR;
-            }
-
-            if (0 === strpos($filename, $dir)) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
-     * @return bool
-     */
-    public static function isWindows()
-    {
-        return PATH_SEPARATOR === ';';
-    }
-
-    /**
-     * @param $key
-     *
-     * @return bool|mixed
-     */
-    public static function envNotEmpty($key)
-    {
-        $value = self::env($key, false);
-        if ($value) {
-            return $value;
-        }
-
-        return false;
-    }
-
-    /**
-     * Gets the value of an environment variable.
-     *
-     * @param string $key
-     * @param mixed  $default
-     *
-     * @return mixed
-     */
-    public static function env($key, $default = null)
-    {
-        $value = getenv($key);
-
-        if ($value === false) {
-            return self::value($default);
-        }
-
-        if (self::envSubstr($value)) {
-            return substr($value, 1, -1);
-        }
-
-        return self::envConversion($value);
-    }
-
-    /**
-     * Return the default value of the given value.
-     *
-     * @param mixed $value
-     *
-     * @return mixed
-     */
-    public static function value($value)
-    {
-        return $value instanceof Closure ? $value() : $value;
-    }
-
-    /**
-     * @param $value
-     *
-     * @return bool
-     */
-    public static function envSubstr($value)
-    {
-        return ($valueLength = strlen($value)) > 1
-            && strpos($value, '"') === 0
-            && $value[$valueLength - 1] === '"';
-    }
-
-    /**
-     * @param $value
-     *
-     * @return bool|string|null
-     */
-    public static function envConversion($value)
-    {
-        $key = strtolower($value);
-
-        if ($key === 'null' || $key === '(null)') {
-            return null;
-        }
-
-        $list = [
-            'true'    => true,
-            '(true)'  => true,
-            'false'   => false,
-            '(false)' => false,
-            'empty'   => '',
-            '(empty)' => '',
-        ];
-
-        return isset($list[$key]) ? $list[$key] : $value;
-    }
-
-    /**
-     * Gets the environment's HOME directory.
-     *
-     * @return null|string
-     */
-    public static function getHomeDirectory()
-    {
-        if (getenv('HOME')) {
-            return getenv('HOME');
-        }
-
-        return (getenv('HOMEDRIVE') && getenv('HOMEPATH'))
-            ? getenv('HOMEDRIVE') . getenv('HOMEPATH')
-            : null;
-    }
-
-    /**
-     * @param mixed ...$parameters
-     *
-     * @codeCoverageIgnore
-     */
-    public static function dd(...$parameters)
-    {
-        dump(...$parameters);
-        exit;
-    }
-}

+ 0 - 98
include/vendor/alibabacloud/credentials/src/MockTrait.php

@@ -1,98 +0,0 @@
-<?php
-
-namespace AlibabaCloud\Credentials;
-
-use Exception;
-use GuzzleHttp\Exception\RequestException;
-use GuzzleHttp\Handler\MockHandler;
-use GuzzleHttp\Psr7\Response;
-use Psr\Http\Message\RequestInterface;
-use Psr\Http\Message\ResponseInterface;
-
-/**
- * Trait MockTrait
- *
- * @package AlibabaCloud\Credentials
- */
-trait MockTrait
-{
-    /**
-     * @var array
-     */
-    private static $mockQueue = [];
-
-    /**
-     * @var MockHandler
-     */
-    private static $mock;
-
-    /**
-     * @param integer             $status
-     * @param array               $headers
-     * @param array|string|object $body
-     */
-    public static function mockResponse($status = 200, array $headers = [], $body = null)
-    {
-        if (is_array($body) || is_object($body)) {
-            $body = json_encode($body);
-        }
-
-        self::$mockQueue[] = new Response($status, $headers, $body);
-        self::createHandlerStack();
-    }
-
-    private static function createHandlerStack()
-    {
-        self::$mock = new MockHandler(self::$mockQueue);
-    }
-
-    /**
-     * @param string                 $message
-     * @param RequestInterface       $request
-     * @param ResponseInterface|null $response
-     * @param Exception|null         $previous
-     * @param array                  $handlerContext
-     */
-    public static function mockRequestException(
-        $message,
-        RequestInterface $request,
-        ResponseInterface $response = null,
-        Exception $previous = null,
-        array $handlerContext = []
-    ) {
-        self::$mockQueue[] = new RequestException(
-            $message,
-            $request,
-            $response,
-            $previous,
-            $handlerContext
-        );
-
-        self::createHandlerStack();
-    }
-
-    /**
-     * @return void
-     */
-    public static function cancelMock()
-    {
-        self::$mockQueue = [];
-        self::$mock      = null;
-    }
-
-    /**
-     * @return bool
-     */
-    public static function hasMock()
-    {
-        return (bool)self::$mockQueue;
-    }
-
-    /**
-     * @return MockHandler
-     */
-    public static function getMock()
-    {
-        return self::$mock;
-    }
-}

+ 3 - 2
include/vendor/alibabacloud/credentials/src/Providers/ChainProvider.php

@@ -3,12 +3,13 @@
 namespace AlibabaCloud\Credentials\Providers;
 
 use AlibabaCloud\Credentials\Credentials;
-use AlibabaCloud\Credentials\Helper;
+use AlibabaCloud\Credentials\Utils\Helper;
 use Closure;
 use InvalidArgumentException;
 use RuntimeException;
 
 /**
+ * @deprecated
  * Class ChainProvider
  *
  * @package AlibabaCloud\Credentials\Providers
@@ -184,4 +185,4 @@ class ChainProvider
             }
         };
     }
-}
+}

+ 0 - 94
include/vendor/alibabacloud/credentials/src/Providers/EcsRamRoleProvider.php

@@ -1,94 +0,0 @@
-<?php
-
-namespace AlibabaCloud\Credentials\Providers;
-
-use AlibabaCloud\Credentials\Request\Request;
-use AlibabaCloud\Credentials\StsCredential;
-use Exception;
-use GuzzleHttp\Exception\GuzzleException;
-use AlibabaCloud\Tea\Response;
-use InvalidArgumentException;
-use Psr\Http\Message\ResponseInterface;
-use RuntimeException;
-
-/**
- * Class EcsRamRoleProvider
- *
- * @package AlibabaCloud\Credentials\Providers
- */
-class EcsRamRoleProvider extends Provider
-{
-
-    /**
-     * Expiration time slot for temporary security credentials.
-     *
-     * @var int
-     */
-    protected $expirationSlot = 10;
-
-    /**
-     * @var string
-     */
-    private $uri = 'http://100.100.100.200/latest/meta-data/ram/security-credentials/';
-
-    /**
-     * Get credential.
-     *
-     * @return StsCredential
-     * @throws Exception
-     * @throws GuzzleException
-     */
-    public function get()
-    {
-        $result = $this->getCredentialsInCache();
-
-        if ($result === null) {
-            $result = $this->request();
-
-            if (!isset($result['AccessKeyId'], $result['AccessKeySecret'], $result['SecurityToken'])) {
-                throw new RuntimeException($this->error);
-            }
-
-            $this->cache($result->toArray());
-        }
-
-        return new StsCredential(
-            $result['AccessKeyId'],
-            $result['AccessKeySecret'],
-            strtotime($result['Expiration']),
-            $result['SecurityToken']
-        );
-    }
-
-    /**
-     * Get credentials by request.
-     *
-     * @return ResponseInterface
-     * @throws Exception
-     * @throws GuzzleException
-     */
-    public function request()
-    {
-        $credential = $this->credential;
-        $url        = $this->uri . $credential->getRoleName();
-
-        $options = [
-            'http_errors'     => false,
-            'timeout'         => 1,
-            'connect_timeout' => 1,
-        ];
-
-        $result = Request::createClient()->request('GET', $url, $options);
-
-        if ($result->getStatusCode() === 404) {
-            $message = 'The role was not found in the instance';
-            throw new InvalidArgumentException($message);
-        }
-
-        if ($result->getStatusCode() !== 200) {
-            throw new RuntimeException('Error retrieving credentials from result: ' . $result->toJson());
-        }
-
-        return $result;
-    }
-}

+ 0 - 82
include/vendor/alibabacloud/credentials/src/Providers/Provider.php

@@ -1,82 +0,0 @@
-<?php
-
-namespace AlibabaCloud\Credentials\Providers;
-
-use AlibabaCloud\Credentials\CredentialsInterface;
-use AlibabaCloud\Credentials\EcsRamRoleCredential;
-use AlibabaCloud\Credentials\RamRoleArnCredential;
-use AlibabaCloud\Credentials\RsaKeyPairCredential;
-
-abstract class Provider
-{
-    /**
-     * For TSC Duration Seconds
-     */
-    const DURATION_SECONDS = 3600;
-
-    /**
-     * @var array
-     */
-    protected static $credentialsCache = [];
-
-    /**
-     * Expiration time slot for temporary security credentials.
-     *
-     * @var int
-     */
-    protected $expirationSlot = 180;
-
-    /**
-     * @var RamRoleArnCredential|RsaKeyPairCredential|EcsRamRoleCredential
-     */
-    protected $credential;
-
-    /**
-     * @var string
-     */
-    protected $error = 'Result contains no credentials';
-
-    /**
-     * @var array
-     */
-    protected $config = [];
-
-    /**
-     * CredentialTrait constructor.
-     *
-     * @param CredentialsInterface $credential
-     * @param array                $config
-     */
-    public function __construct(CredentialsInterface $credential, $config = [])
-    {
-        $this->credential = $credential;
-        $this->config     = $config;
-    }
-
-    /**
-     * Get the credentials from the cache in the validity period.
-     *
-     * @return array|null
-     */
-    public function getCredentialsInCache()
-    {
-        if (isset(self::$credentialsCache[(string)$this->credential])) {
-            $result = self::$credentialsCache[(string)$this->credential];
-            if (\strtotime($result['Expiration']) - \time() >= $this->expirationSlot) {
-                return $result;
-            }
-        }
-
-        return null;
-    }
-
-    /**
-     * Cache credentials.
-     *
-     * @param array $credential
-     */
-    protected function cache(array $credential)
-    {
-        self::$credentialsCache[(string)$this->credential] = $credential;
-    }
-}

+ 0 - 49
include/vendor/alibabacloud/credentials/src/Providers/RamRoleArnProvider.php

@@ -1,49 +0,0 @@
-<?php
-
-namespace AlibabaCloud\Credentials\Providers;
-
-use AlibabaCloud\Credentials\Request\AssumeRole;
-use AlibabaCloud\Credentials\StsCredential;
-use Exception;
-use GuzzleHttp\Exception\GuzzleException;
-use RuntimeException;
-
-class RamRoleArnProvider extends Provider
-{
-
-    /**
-     * Get credential.
-     *
-     * @return StsCredential
-     * @throws Exception
-     * @throws GuzzleException
-     */
-    public function get()
-    {
-        $credential = $this->getCredentialsInCache();
-
-        if (null === $credential) {
-            $result = (new AssumeRole($this->credential))->request();
-
-            if ($result->getStatusCode() !== 200) {
-                throw new RuntimeException(isset($result['Message']) ? $result['Message'] : (string)$result->getBody());
-            }
-
-            if (!isset($result['Credentials']['AccessKeyId'],
-                $result['Credentials']['AccessKeySecret'],
-                $result['Credentials']['SecurityToken'])) {
-                throw new RuntimeException($this->error);
-            }
-
-            $credential = $result['Credentials'];
-            $this->cache($credential);
-        }
-
-        return new StsCredential(
-            $credential['AccessKeyId'],
-            $credential['AccessKeySecret'],
-            strtotime($credential['Expiration']),
-            $credential['SecurityToken']
-        );
-    }
-}

+ 0 - 53
include/vendor/alibabacloud/credentials/src/Providers/RsaKeyPairProvider.php

@@ -1,53 +0,0 @@
-<?php
-
-namespace AlibabaCloud\Credentials\Providers;
-
-use AlibabaCloud\Credentials\Request\GenerateSessionAccessKey;
-use AlibabaCloud\Credentials\StsCredential;
-use Exception;
-use GuzzleHttp\Exception\GuzzleException;
-use RuntimeException;
-
-/**
- * Class RsaKeyPairProvider
- *
- * @package AlibabaCloud\Credentials\Providers
- */
-class RsaKeyPairProvider extends Provider
-{
-
-    /**
-     * Get credential.
-     *
-     *
-     * @return StsCredential
-     * @throws Exception
-     * @throws GuzzleException
-     */
-    public function get()
-    {
-        $credential = $this->getCredentialsInCache();
-
-        if ($credential === null) {
-            $result = (new GenerateSessionAccessKey($this->credential))->request();
-
-            if ($result->getStatusCode() !== 200) {
-                throw new RuntimeException(isset($result['Message']) ? $result['Message'] : (string)$result->getBody());
-            }
-
-            if (!isset($result['SessionAccessKey']['SessionAccessKeyId'],
-                $result['SessionAccessKey']['SessionAccessKeySecret'])) {
-                throw new RuntimeException($this->error);
-            }
-
-            $credential = $result['SessionAccessKey'];
-            $this->cache($credential);
-        }
-
-        return new StsCredential(
-            $credential['SessionAccessKeyId'],
-            $credential['SessionAccessKeySecret'],
-            strtotime($credential['Expiration'])
-        );
-    }
-}

+ 30 - 6
include/vendor/alibabacloud/credentials/src/RamRoleArnCredential.php

@@ -2,13 +2,16 @@
 
 namespace AlibabaCloud\Credentials;
 
-use AlibabaCloud\Credentials\Providers\RamRoleArnProvider;
+use AlibabaCloud\Credentials\Providers\RamRoleArnCredentialsProvider;
+use AlibabaCloud\Credentials\Credential\CredentialModel;
 use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
+use AlibabaCloud\Credentials\Utils\Filter;
 use Exception;
 use GuzzleHttp\Exception\GuzzleException;
 use InvalidArgumentException;
 
 /**
+ * @deprecated
  * Use the AssumeRole of the RAM account to complete  the authentication.
  */
 class RamRoleArnCredential implements CredentialsInterface
@@ -57,10 +60,10 @@ class RamRoleArnCredential implements CredentialsInterface
 
         Filter::accessKey($credential['access_key_id'], $credential['access_key_secret']);
 
-        $this->config          = $config;
-        $this->accessKeyId     = $credential['access_key_id'];
+        $this->config = $config;
+        $this->accessKeyId = $credential['access_key_id'];
         $this->accessKeySecret = $credential['access_key_secret'];
-        $this->roleArn         = $credential['role_arn'];
+        $this->roleArn = $credential['role_arn'];
         $this->roleSessionName = $credential['role_session_name'];
     }
 
@@ -177,13 +180,20 @@ class RamRoleArnCredential implements CredentialsInterface
     }
 
     /**
-     * @return StsCredential
+     * @return AlibabaCloud\Credentials\Providers\Credentials
      * @throws Exception
      * @throws GuzzleException
      */
     protected function getSessionCredential()
     {
-        return (new RamRoleArnProvider($this))->get();
+        $params = [
+            'accessKeyId' => $this->accessKeyId,
+            'accessKeySecret' => $this->accessKeyId,
+            'roleArn' => $this->roleArn,
+            'roleSessionName' => $this->roleSessionName,
+            'policy' => $this->policy,
+        ];
+        return (new RamRoleArnCredentialsProvider($params))->getCredentials();
     }
 
     /**
@@ -215,4 +225,18 @@ class RamRoleArnCredential implements CredentialsInterface
     {
         return $this->getSessionCredential()->getExpiration();
     }
+
+    /**
+     * @inheritDoc
+     */
+    public function getCredential()
+    {
+        $credentials = $this->getSessionCredential();
+        return new CredentialModel([
+            'accessKeyId' => $credentials->getAccessKeyId(),
+            'accessKeySecret' => $credentials->getAccessKeySecret(),
+            'securityToken' => $credentials->getSecurityToken(),
+            'type' => 'ram_role_arn',
+        ]);
+    }
 }

+ 0 - 37
include/vendor/alibabacloud/credentials/src/Request/AssumeRole.php

@@ -1,37 +0,0 @@
-<?php
-
-namespace AlibabaCloud\Credentials\Request;
-
-use AlibabaCloud\Credentials\Providers\Provider;
-use AlibabaCloud\Credentials\RamRoleArnCredential;
-use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
-
-/**
- * Retrieving assume role credentials.
- */
-class AssumeRole extends Request
-{
-    /**
-     * AssumeRole constructor.
-     *
-     * @param RamRoleArnCredential $arnCredential
-     */
-    public function __construct(RamRoleArnCredential $arnCredential)
-    {
-        parent::__construct();
-        $this->signature                           = new ShaHmac1Signature();
-        $this->credential                          = $arnCredential;
-        $this->uri                                 = $this->uri->withHost('sts.aliyuncs.com');
-        $this->options['verify']                   = false;
-        $this->options['query']['RoleArn']         = $arnCredential->getRoleArn();
-        $this->options['query']['RoleSessionName'] = $arnCredential->getRoleSessionName();
-        $this->options['query']['DurationSeconds'] = Provider::DURATION_SECONDS;
-        $this->options['query']['AccessKeyId']     = $this->credential->getOriginalAccessKeyId();
-        $this->options['query']['Version']         = '2015-04-01';
-        $this->options['query']['Action']          = 'AssumeRole';
-        $this->options['query']['RegionId']        = 'cn-hangzhou';
-        if ($arnCredential->getPolicy()) {
-            $this->options['query']['Policy'] = $arnCredential->getPolicy();
-        }
-    }
-}

+ 0 - 33
include/vendor/alibabacloud/credentials/src/Request/GenerateSessionAccessKey.php

@@ -1,33 +0,0 @@
-<?php
-
-namespace AlibabaCloud\Credentials\Request;
-
-use AlibabaCloud\Credentials\Providers\Provider;
-use AlibabaCloud\Credentials\RsaKeyPairCredential;
-use AlibabaCloud\Credentials\Signature\ShaHmac256WithRsaSignature;
-
-/**
- * Use the RSA key pair to complete the authentication (supported only on Japanese site)
- */
-class GenerateSessionAccessKey extends Request
-{
-    /**
-     * GenerateSessionAccessKey constructor.
-     *
-     * @param RsaKeyPairCredential $credential
-     */
-    public function __construct(RsaKeyPairCredential $credential)
-    {
-        parent::__construct();
-        $this->signature                           = new ShaHmac256WithRsaSignature();
-        $this->credential                          = $credential;
-        $this->uri                                 = $this->uri->withHost('sts.ap-northeast-1.aliyuncs.com');
-        $this->options['verify']                   = false;
-        $this->options['query']['Version']         = '2015-04-01';
-        $this->options['query']['Action']          = 'GenerateSessionAccessKey';
-        $this->options['query']['RegionId']        = 'cn-hangzhou';
-        $this->options['query']['AccessKeyId']     = $credential->getPublicKeyId();
-        $this->options['query']['PublicKeyId']     = $credential->getPublicKeyId();
-        $this->options['query']['DurationSeconds'] = Provider::DURATION_SECONDS;
-    }
-}

+ 65 - 53
include/vendor/alibabacloud/credentials/src/Request/Request.php

@@ -3,19 +3,16 @@
 namespace AlibabaCloud\Credentials\Request;
 
 use AlibabaCloud\Credentials\Credentials;
-use AlibabaCloud\Credentials\EcsRamRoleCredential;
-use AlibabaCloud\Credentials\Helper;
-use AlibabaCloud\Credentials\RamRoleArnCredential;
-use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
-use AlibabaCloud\Credentials\Signature\ShaHmac256WithRsaSignature;
-use Exception;
+use AlibabaCloud\Credentials\Utils\Helper;
 use GuzzleHttp\Client;
 use GuzzleHttp\HandlerStack;
 use GuzzleHttp\Middleware;
-use GuzzleHttp\Psr7\Uri;
 use AlibabaCloud\Tea\Response;
 use Psr\Http\Message\ResponseInterface;
 
+use Exception;
+use InvalidArgumentException;
+
 /**
  * RESTful RPC Request.
  */
@@ -28,67 +25,33 @@ class Request
     const CONNECT_TIMEOUT = 5;
 
     /**
-     * Request Timeout
+     * Request Read Timeout
      */
-    const TIMEOUT = 10;
+    const READ_TIMEOUT = 5;
 
     /**
      * @var array
      */
     private static $config = [];
 
-    /**
-     * @var array
-     */
-    public $options = [];
-
-    /**
-     * @var Uri
-     */
-    public $uri;
-
-    /**
-     * @var EcsRamRoleCredential|RamRoleArnCredential
-     */
-    protected $credential;
-
-    /**
-     * @var ShaHmac256WithRsaSignature|ShaHmac1Signature
-     */
-    protected $signature;
 
     /**
-     * Request constructor.
+     *
+     * @return array
      */
-    public function __construct()
+    public static function commonOptions()
     {
-        $this->uri                        = (new Uri())->withScheme('https');
-        $this->options['http_errors']     = false;
-        $this->options['connect_timeout'] = self::CONNECT_TIMEOUT;
-        $this->options['timeout']         = self::TIMEOUT;
+        $options = [];
+        $options['http_errors'] = false;
+        $options['connect_timeout'] = self::CONNECT_TIMEOUT;
+        $options['read_timeout'] = self::READ_TIMEOUT;
+        $options['headers']['User-Agent'] = Helper::getUserAgent();
 
         // Turn on debug mode based on environment variable.
         if (strtolower(Helper::env('DEBUG')) === 'sdk') {
-            $this->options['debug'] = true;
+            $options['debug'] = true;
         }
-    }
-
-    /**
-     * @return ResponseInterface
-     * @throws Exception
-     */
-    public function request()
-    {
-        $this->options['query']['Format']           = 'JSON';
-        $this->options['query']['SignatureMethod']  = $this->signature->getMethod();
-        $this->options['query']['SignatureVersion'] = $this->signature->getVersion();
-        $this->options['query']['SignatureNonce']   = self::uuid(json_encode($this->options['query']));
-        $this->options['query']['Timestamp']        = gmdate('Y-m-d\TH:i:s\Z');
-        $this->options['query']['Signature']        = $this->signature->sign(
-            self::signString('GET', $this->options['query']),
-            $this->credential->getOriginalAccessKeySecret() . '&'
-        );
-        return self::createClient()->request('GET', (string)$this->uri, $this->options);
+        return $options;
     }
 
     /**
@@ -120,6 +83,53 @@ class Request
 
     /**
      * @param string $string
+     * @param string $accessKeySecret
+     *
+     * @return string
+     */
+    public static function shaHmac1sign($string, $accessKeySecret)
+    {
+        return base64_encode(hash_hmac('sha1', $string, $accessKeySecret, true));
+    }
+
+    /**
+     * @param string $string
+     * @param string $accessKeySecret
+     *
+     * @return string
+     */
+    public static function shaHmac256sign($string, $accessKeySecret)
+    {
+        return base64_encode(hash_hmac('sha256', $string, $accessKeySecret, true));
+    }
+
+    /**
+     * @param string $string
+     * @param string $privateKey
+     *
+     * @return string
+     */
+    public static function shaHmac256WithRsasign($string, $privateKey)
+    {
+        $binarySignature = '';
+        try {
+            openssl_sign(
+                $string,
+                $binarySignature,
+                $privateKey,
+                \OPENSSL_ALGO_SHA256
+            );
+        } catch (Exception $exception) {
+            throw new InvalidArgumentException(
+                $exception->getMessage()
+            );
+        }
+
+        return base64_encode($binarySignature);
+    }
+
+    /**
+     * @param string $string
      *
      * @return null|string|string[]
      */
@@ -140,6 +150,8 @@ class Request
     {
         if (Credentials::hasMock()) {
             $stack = HandlerStack::create(Credentials::getMock());
+            $history = Credentials::getHandlerHistory();
+            $stack->push($history);
         } else {
             $stack = HandlerStack::create();
         }

+ 31 - 4
include/vendor/alibabacloud/credentials/src/RsaKeyPairCredential.php

@@ -2,13 +2,16 @@
 
 namespace AlibabaCloud\Credentials;
 
-use AlibabaCloud\Credentials\Providers\RsaKeyPairProvider;
+use AlibabaCloud\Credentials\Providers\RsaKeyPairCredentialsProvider;
+use AlibabaCloud\Credentials\Credential\CredentialModel;
 use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
+use AlibabaCloud\Credentials\Utils\Filter;
 use Exception;
 use GuzzleHttp\Exception\GuzzleException;
 use InvalidArgumentException;
 
 /**
+ * @deprecated
  * Use the RSA key pair to complete the authentication (supported only on Japanese site)
  */
 class RsaKeyPairCredential implements CredentialsInterface
@@ -22,6 +25,11 @@ class RsaKeyPairCredential implements CredentialsInterface
     /**
      * @var string
      */
+    private $privateKeyFile;
+
+    /**
+     * @var string
+     */
     private $privateKey;
 
     /**
@@ -42,7 +50,8 @@ class RsaKeyPairCredential implements CredentialsInterface
         Filter::privateKeyFile($private_key_file);
 
         $this->publicKeyId = $public_key_id;
-        $this->config      = $config;
+        $this->privateKeyFile = $private_key_file;
+        $this->config = $config;
         try {
             $this->privateKey = file_get_contents($private_key_file);
         } catch (Exception $exception) {
@@ -117,13 +126,17 @@ class RsaKeyPairCredential implements CredentialsInterface
     }
 
     /**
-     * @return StsCredential
+     * @return AlibabaCloud\Credentials\Providers\Credentials
      * @throws Exception
      * @throws GuzzleException
      */
     protected function getSessionCredential()
     {
-        return (new RsaKeyPairProvider($this))->get();
+        $params = [
+            'publicKeyId' => $this->publicKeyId,
+            'privateKeyFile' => $this->privateKeyFile,
+        ];
+        return (new RsaKeyPairCredentialsProvider($params))->getCredentials();
     }
 
     /**
@@ -155,4 +168,18 @@ class RsaKeyPairCredential implements CredentialsInterface
     {
         return $this->getSessionCredential()->getExpiration();
     }
+
+    /**
+     * @inheritDoc
+     */
+    public function getCredential()
+    {
+        $credentials = $this->getSessionCredential();
+        return new CredentialModel([
+            'accessKeyId' => $credentials->getAccessKeyId(),
+            'accessKeySecret' => $credentials->getAccessKeySecret(),
+            'securityToken' => $credentials->getSecurityToken(),
+            'type' => 'rsa_key_pair',
+        ]);
+    }
 }

+ 20 - 3
include/vendor/alibabacloud/credentials/src/StsCredential.php

@@ -2,9 +2,12 @@
 
 namespace AlibabaCloud\Credentials;
 
+use AlibabaCloud\Credentials\Utils\Filter;
+use AlibabaCloud\Credentials\Credential\CredentialModel;
 use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
 
 /**
+ * @deprecated
  * Use the STS Token to complete the authentication.
  */
 class StsCredential implements CredentialsInterface
@@ -42,10 +45,10 @@ class StsCredential implements CredentialsInterface
     {
         Filter::accessKey($access_key_id, $access_key_secret);
         Filter::expiration($expiration);
-        $this->accessKeyId     = $access_key_id;
+        $this->accessKeyId = $access_key_id;
         $this->accessKeySecret = $access_key_secret;
-        $this->expiration      = $expiration;
-        $this->securityToken   = $security_token;
+        $this->expiration = $expiration;
+        $this->securityToken = $security_token;
     }
 
     /**
@@ -95,4 +98,18 @@ class StsCredential implements CredentialsInterface
     {
         return new ShaHmac1Signature();
     }
+
+    /**
+     * @inheritDoc
+     */
+    public function getCredential()
+    {
+        return new CredentialModel([
+            'accessKeyId' => $this->accessKeyId,
+            'accessKeySecret' => $this->accessKeySecret,
+            'securityToken' => $this->securityToken,
+            'type' => 'sts',
+        ]);
+    }
+
 }

+ 1 - 1
include/vendor/alibabacloud/darabonba-openapi/composer.json

@@ -11,7 +11,7 @@
   ],
   "require": {
     "php": ">5.5",
-    "alibabacloud/tea-utils": "^0.2.19",
+    "alibabacloud/tea-utils": "^0.2.21",
     "alibabacloud/credentials": "^1.1",
     "alibabacloud/openapi-util": "^0.1.10|^0.2.1",
     "alibabacloud/gateway-spi": "^1",

+ 30 - 4
include/vendor/alibabacloud/darabonba-openapi/src/Models/Config.php

@@ -17,6 +17,7 @@ class Config extends Model
         'accessKeyId' => '',
         'accessKeySecret' => '',
         'securityToken' => '',
+        'bearerToken' => '',
         'protocol' => 'http',
         'method' => '',
         'regionId' => '',
@@ -57,6 +58,9 @@ class Config extends Model
         if (null !== $this->securityToken) {
             $res['securityToken'] = $this->securityToken;
         }
+        if (null !== $this->bearerToken) {
+            $res['bearerToken'] = $this->bearerToken;
+        }
         if (null !== $this->protocol) {
             $res['protocol'] = $this->protocol;
         }
@@ -132,6 +136,9 @@ class Config extends Model
         if (null !== $this->ca) {
             $res['ca'] = $this->ca;
         }
+        if (null !== $this->disableHttp2) {
+            $res['disableHttp2'] = $this->disableHttp2;
+        }
         return $res;
     }
     /**
@@ -150,6 +157,9 @@ class Config extends Model
         if (isset($map['securityToken'])) {
             $model->securityToken = $map['securityToken'];
         }
+        if (isset($map['bearerToken'])) {
+            $model->bearerToken = $map['bearerToken'];
+        }
         if (isset($map['protocol'])) {
             $model->protocol = $map['protocol'];
         }
@@ -225,6 +235,9 @@ class Config extends Model
         if (isset($map['ca'])) {
             $model->ca = $map['ca'];
         }
+        if (isset($map['disableHttp2'])) {
+            $model->disableHttp2 = $map['disableHttp2'];
+        }
         return $model;
     }
     /**
@@ -247,6 +260,13 @@ class Config extends Model
     public $securityToken;
 
     /**
+     * @description bearer token
+     * @example the-bearer-token
+     * @var string
+     */
+    public $bearerToken;
+
+    /**
      * @description http protocol
      * @example http
      * @var string
@@ -408,17 +428,23 @@ class Config extends Model
 
     /**
      * @description client certificate
-     * @example -----BEGIN CERTIFICATE-----
-xxx-----END CERTIFICATE-----
+     * @example -----BEGIN CERTIFICATE-----xxx-----END CERTIFICATE-----
      * @var string
      */
     public $cert;
 
     /**
      * @description server certificate
-     * @example -----BEGIN CERTIFICATE-----
-xxx-----END CERTIFICATE-----
+     * @example -----BEGIN CERTIFICATE-----xxx-----END CERTIFICATE-----
      * @var string
      */
     public $ca;
+
+    /**
+     * @description disable HTTP/2
+     * @example false
+     * @var bool
+     */
+    public $disableHttp2;
+
 }

+ 1 - 0
include/vendor/alibabacloud/darabonba-openapi/src/Models/GlobalParameters.php

@@ -39,4 +39,5 @@ class GlobalParameters extends Model
     public $headers;
 
     public $queries;
+
 }

+ 1 - 0
include/vendor/alibabacloud/darabonba-openapi/src/Models/OpenApiRequest.php

@@ -71,4 +71,5 @@ class OpenApiRequest extends Model
     public $hostMap;
 
     public $endpointOverride;
+
 }

+ 1 - 0
include/vendor/alibabacloud/darabonba-openapi/src/Models/Params.php

@@ -127,4 +127,5 @@ class Params extends Model
     public $reqBodyType;
 
     public $style;
+
 }

+ 142 - 51
include/vendor/alibabacloud/darabonba-openapi/src/OpenApiClient.php

@@ -86,6 +86,8 @@ class OpenApiClient
 
     protected $_ca;
 
+    protected $_disableHttp2;
+
     /**
      * Init client with Config
      * @param config config contains the necessary information to create a client
@@ -111,6 +113,12 @@ class OpenApiClient
             ]);
             $credentialConfig->securityToken = $config->securityToken;
             $this->_credential = new Credential($credentialConfig);
+        } else if (!Utils::empty_($config->bearerToken)) {
+            $cc = new Config([
+                "type" => "bearer",
+                "bearerToken" => $config->bearerToken
+            ]);
+            $this->_credential = new Credential($cc);
         } else if (!Utils::isUnset($config->credential)) {
             $this->_credential = $config->credential;
         }
@@ -136,6 +144,7 @@ class OpenApiClient
         $this->_key = $config->key;
         $this->_cert = $config->cert;
         $this->_ca = $config->ca;
+        $this->_disableHttp2 = $config->disableHttp2;
     }
 
     /**
@@ -208,13 +217,24 @@ class OpenApiClient
                         $globalHeaders = $globalParams->headers;
                     }
                 }
+                $extendsHeaders = [];
+                $extendsQueries = [];
+                if (!Utils::isUnset($runtime->extendsParameters)) {
+                    $extendsParameters = $runtime->extendsParameters;
+                    if (!Utils::isUnset($extendsParameters->headers)) {
+                        $extendsHeaders = $extendsParameters->headers;
+                    }
+                    if (!Utils::isUnset($extendsParameters->queries)) {
+                        $extendsQueries = $extendsParameters->queries;
+                    }
+                }
                 $_request->query = Tea::merge([
                     "Action" => $action,
                     "Format" => "json",
                     "Version" => $version,
                     "Timestamp" => OpenApiUtilClient::getTimestamp(),
                     "SignatureNonce" => Utils::getNonce()
-                ], $globalQueries, $request->query);
+                ], $globalQueries, $extendsQueries, $request->query);
                 $headers = $this->getRpcHeaders();
                 if (Utils::isUnset($headers)) {
                     // endpoint is setted in product client
@@ -223,14 +243,14 @@ class OpenApiClient
                         "x-acs-version" => $version,
                         "x-acs-action" => $action,
                         "user-agent" => $this->getUserAgent()
-                    ], $globalHeaders);
+                    ], $globalHeaders, $extendsHeaders);
                 } else {
                     $_request->headers = Tea::merge([
                         "host" => $this->_endpoint,
                         "x-acs-version" => $version,
                         "x-acs-action" => $action,
                         "user-agent" => $this->getUserAgent()
-                    ], $globalHeaders, $headers);
+                    ], $globalHeaders, $extendsHeaders, $headers);
                 }
                 if (!Utils::isUnset($request->body)) {
                     $m = Utils::assertAsMap($request->body);
@@ -239,21 +259,28 @@ class OpenApiClient
                     $_request->headers["content-type"] = "application/x-www-form-urlencoded";
                 }
                 if (!Utils::equalString($authType, "Anonymous")) {
-                    $accessKeyId = $this->getAccessKeyId();
-                    $accessKeySecret = $this->getAccessKeySecret();
-                    $securityToken = $this->getSecurityToken();
-                    if (!Utils::empty_($securityToken)) {
-                        $_request->query["SecurityToken"] = $securityToken;
-                    }
-                    $_request->query["SignatureMethod"] = "HMAC-SHA1";
-                    $_request->query["SignatureVersion"] = "1.0";
-                    $_request->query["AccessKeyId"] = $accessKeyId;
-                    $t = null;
-                    if (!Utils::isUnset($request->body)) {
-                        $t = Utils::assertAsMap($request->body);
+                    $credentialType = $this->getType();
+                    if (Utils::equalString($credentialType, "bearer")) {
+                        $bearerToken = $this->getBearerToken();
+                        $_request->query["BearerToken"] = $bearerToken;
+                        $_request->query["SignatureType"] = "BEARERTOKEN";
+                    } else {
+                        $accessKeyId = $this->getAccessKeyId();
+                        $accessKeySecret = $this->getAccessKeySecret();
+                        $securityToken = $this->getSecurityToken();
+                        if (!Utils::empty_($securityToken)) {
+                            $_request->query["SecurityToken"] = $securityToken;
+                        }
+                        $_request->query["SignatureMethod"] = "HMAC-SHA1";
+                        $_request->query["SignatureVersion"] = "1.0";
+                        $_request->query["AccessKeyId"] = $accessKeyId;
+                        $t = null;
+                        if (!Utils::isUnset($request->body)) {
+                            $t = Utils::assertAsMap($request->body);
+                        }
+                        $signedParam = Tea::merge($_request->query, OpenApiUtilClient::query($t));
+                        $_request->query["Signature"] = OpenApiUtilClient::getRPCSignature($signedParam, $_request->method, $accessKeySecret);
                     }
-                    $signedParam = Tea::merge($_request->query, OpenApiUtilClient::query($t));
-                    $_request->query["Signature"] = OpenApiUtilClient::getRPCSignature($signedParam, $_request->method, $accessKeySecret);
                 }
                 $_lastRequest = $_request;
                 $_response = Tea::send($_request, $_runtime);
@@ -360,13 +387,13 @@ class OpenApiClient
             "socks5NetWork" => Utils::defaultString($runtime->socks5NetWork, $this->_socks5NetWork),
             "maxIdleConns" => Utils::defaultNumber($runtime->maxIdleConns, $this->_maxIdleConns),
             "retry" => [
-                "retryable" => $runtime->autoretry,
-                "maxAttempts" => Utils::defaultNumber($runtime->maxAttempts, 3)
-            ],
+                    "retryable" => $runtime->autoretry,
+                    "maxAttempts" => Utils::defaultNumber($runtime->maxAttempts, 3)
+                ],
             "backoff" => [
-                "policy" => Utils::defaultString($runtime->backoffPolicy, "no"),
-                "period" => Utils::defaultNumber($runtime->backoffPeriod, 1)
-            ],
+                    "policy" => Utils::defaultString($runtime->backoffPolicy, "no"),
+                    "period" => Utils::defaultNumber($runtime->backoffPeriod, 1)
+                ],
             "ignoreSSL" => $runtime->ignoreSSL
         ];
         $_lastRequest = null;
@@ -397,6 +424,17 @@ class OpenApiClient
                         $globalHeaders = $globalParams->headers;
                     }
                 }
+                $extendsHeaders = [];
+                $extendsQueries = [];
+                if (!Utils::isUnset($runtime->extendsParameters)) {
+                    $extendsParameters = $runtime->extendsParameters;
+                    if (!Utils::isUnset($extendsParameters->headers)) {
+                        $extendsHeaders = $extendsParameters->headers;
+                    }
+                    if (!Utils::isUnset($extendsParameters->queries)) {
+                        $extendsQueries = $extendsParameters->queries;
+                    }
+                }
                 $_request->headers = Tea::merge([
                     "date" => Utils::getDateUTCString(),
                     "host" => $this->_endpoint,
@@ -407,25 +445,32 @@ class OpenApiClient
                     "x-acs-version" => $version,
                     "x-acs-action" => $action,
                     "user-agent" => Utils::getUserAgent($this->_userAgent)
-                ], $globalHeaders, $request->headers);
+                ], $globalHeaders, $extendsHeaders, $request->headers);
                 if (!Utils::isUnset($request->body)) {
                     $_request->body = Utils::toJSONString($request->body);
                     $_request->headers["content-type"] = "application/json; charset=utf-8";
                 }
-                $_request->query = $globalQueries;
+                $_request->query = Tea::merge($globalQueries, $extendsQueries);
                 if (!Utils::isUnset($request->query)) {
                     $_request->query = Tea::merge($_request->query, $request->query);
                 }
                 if (!Utils::equalString($authType, "Anonymous")) {
-                    $accessKeyId = $this->getAccessKeyId();
-                    $accessKeySecret = $this->getAccessKeySecret();
-                    $securityToken = $this->getSecurityToken();
-                    if (!Utils::empty_($securityToken)) {
-                        $_request->headers["x-acs-accesskey-id"] = $accessKeyId;
-                        $_request->headers["x-acs-security-token"] = $securityToken;
+                    $credentialType = $this->getType();
+                    if (Utils::equalString($credentialType, "bearer")) {
+                        $bearerToken = $this->getBearerToken();
+                        $_request->headers["x-acs-bearer-token"] = $bearerToken;
+                        $_request->headers["x-acs-signature-type"] = "BEARERTOKEN";
+                    } else {
+                        $accessKeyId = $this->getAccessKeyId();
+                        $accessKeySecret = $this->getAccessKeySecret();
+                        $securityToken = $this->getSecurityToken();
+                        if (!Utils::empty_($securityToken)) {
+                            $_request->headers["x-acs-accesskey-id"] = $accessKeyId;
+                            $_request->headers["x-acs-security-token"] = $securityToken;
+                        }
+                        $stringToSign = OpenApiUtilClient::getStringToSign($_request);
+                        $_request->headers["authorization"] = "acs " . $accessKeyId . ":" . OpenApiUtilClient::getROASignature($stringToSign, $accessKeySecret) . "";
                     }
-                    $stringToSign = OpenApiUtilClient::getStringToSign($_request);
-                    $_request->headers["authorization"] = "acs " . $accessKeyId . ":" . OpenApiUtilClient::getROASignature($stringToSign, $accessKeySecret) . "";
                 }
                 $_lastRequest = $_request;
                 $_response = Tea::send($_request, $_runtime);
@@ -542,9 +587,9 @@ class OpenApiClient
                 "maxAttempts" => Utils::defaultNumber($runtime->maxAttempts, 3)
             ],
             "backoff" => [
-                "policy" => Utils::defaultString($runtime->backoffPolicy, "no"),
-                "period" => Utils::defaultNumber($runtime->backoffPeriod, 1)
-            ],
+                    "policy" => Utils::defaultString($runtime->backoffPolicy, "no"),
+                    "period" => Utils::defaultNumber($runtime->backoffPeriod, 1)
+                ],
             "ignoreSSL" => $runtime->ignoreSSL
         ];
         $_lastRequest = null;
@@ -575,6 +620,17 @@ class OpenApiClient
                         $globalHeaders = $globalParams->headers;
                     }
                 }
+                $extendsHeaders = [];
+                $extendsQueries = [];
+                if (!Utils::isUnset($runtime->extendsParameters)) {
+                    $extendsParameters = $runtime->extendsParameters;
+                    if (!Utils::isUnset($extendsParameters->headers)) {
+                        $extendsHeaders = $extendsParameters->headers;
+                    }
+                    if (!Utils::isUnset($extendsParameters->queries)) {
+                        $extendsQueries = $extendsParameters->queries;
+                    }
+                }
                 $_request->headers = Tea::merge([
                     "date" => Utils::getDateUTCString(),
                     "host" => $this->_endpoint,
@@ -585,26 +641,33 @@ class OpenApiClient
                     "x-acs-version" => $version,
                     "x-acs-action" => $action,
                     "user-agent" => Utils::getUserAgent($this->_userAgent)
-                ], $globalHeaders, $request->headers);
+                ], $globalHeaders, $extendsHeaders, $request->headers);
                 if (!Utils::isUnset($request->body)) {
                     $m = Utils::assertAsMap($request->body);
                     $_request->body = OpenApiUtilClient::toForm($m);
                     $_request->headers["content-type"] = "application/x-www-form-urlencoded";
                 }
-                $_request->query = $globalQueries;
+                $_request->query = Tea::merge($globalQueries, $extendsQueries);
                 if (!Utils::isUnset($request->query)) {
                     $_request->query = Tea::merge($_request->query, $request->query);
                 }
                 if (!Utils::equalString($authType, "Anonymous")) {
-                    $accessKeyId = $this->getAccessKeyId();
-                    $accessKeySecret = $this->getAccessKeySecret();
-                    $securityToken = $this->getSecurityToken();
-                    if (!Utils::empty_($securityToken)) {
-                        $_request->headers["x-acs-accesskey-id"] = $accessKeyId;
-                        $_request->headers["x-acs-security-token"] = $securityToken;
+                    $credentialType = $this->getType();
+                    if (Utils::equalString($credentialType, "bearer")) {
+                        $bearerToken = $this->getBearerToken();
+                        $_request->headers["x-acs-bearer-token"] = $bearerToken;
+                        $_request->headers["x-acs-signature-type"] = "BEARERTOKEN";
+                    } else {
+                        $accessKeyId = $this->getAccessKeyId();
+                        $accessKeySecret = $this->getAccessKeySecret();
+                        $securityToken = $this->getSecurityToken();
+                        if (!Utils::empty_($securityToken)) {
+                            $_request->headers["x-acs-accesskey-id"] = $accessKeyId;
+                            $_request->headers["x-acs-security-token"] = $securityToken;
+                        }
+                        $stringToSign = OpenApiUtilClient::getStringToSign($_request);
+                        $_request->headers["authorization"] = "acs " . $accessKeyId . ":" . OpenApiUtilClient::getROASignature($stringToSign, $accessKeySecret) . "";
                     }
-                    $stringToSign = OpenApiUtilClient::getStringToSign($_request);
-                    $_request->headers["authorization"] = "acs " . $accessKeyId . ":" . OpenApiUtilClient::getROASignature($stringToSign, $accessKeySecret) . "";
                 }
                 $_lastRequest = $_request;
                 $_response = Tea::send($_request, $_runtime);
@@ -747,7 +810,18 @@ class OpenApiClient
                         $globalHeaders = $globalParams->headers;
                     }
                 }
-                $_request->query = Tea::merge($globalQueries, $request->query);
+                $extendsHeaders = [];
+                $extendsQueries = [];
+                if (!Utils::isUnset($runtime->extendsParameters)) {
+                    $extendsParameters = $runtime->extendsParameters;
+                    if (!Utils::isUnset($extendsParameters->headers)) {
+                        $extendsHeaders = $extendsParameters->headers;
+                    }
+                    if (!Utils::isUnset($extendsParameters->queries)) {
+                        $extendsQueries = $extendsParameters->queries;
+                    }
+                }
+                $_request->query = Tea::merge($globalQueries, $extendsQueries, $request->query);
                 // endpoint is setted in product client
                 $_request->headers = Tea::merge([
                     "host" => $this->_endpoint,
@@ -757,7 +831,7 @@ class OpenApiClient
                     "x-acs-date" => OpenApiUtilClient::getTimestamp(),
                     "x-acs-signature-nonce" => Utils::getNonce(),
                     "accept" => "application/json"
-                ], $globalHeaders, $request->headers);
+                ], $globalHeaders, $extendsHeaders, $request->headers);
                 if (Utils::equalString($params->style, "RPC")) {
                     $headers = $this->getRpcHeaders();
                     if (!Utils::isUnset($headers)) {
@@ -797,6 +871,11 @@ class OpenApiClient
                     if (Utils::equalString($authType, "bearer")) {
                         $bearerToken = $this->getBearerToken();
                         $_request->headers["x-acs-bearer-token"] = $bearerToken;
+                        if (Utils::equalString($params->style, "RPC")) {
+                            $_request->query["SignatureType"] = "BEARERTOKEN";
+                        } else {
+                            $_request->headers["x-acs-signature-type"] = "BEARERTOKEN";
+                        }
                     } else {
                         $accessKeyId = $this->getAccessKeyId();
                         $accessKeySecret = $this->getAccessKeySecret();
@@ -916,7 +995,8 @@ class OpenApiClient
                 "policy" => Utils::defaultString($runtime->backoffPolicy, "no"),
                 "period" => Utils::defaultNumber($runtime->backoffPeriod, 1)
             ],
-            "ignoreSSL" => $runtime->ignoreSSL
+            "ignoreSSL" => $runtime->ignoreSSL,
+            "disableHttp2" => self::defaultAny($this->_disableHttp2, false)
         ];
         $_lastRequest = null;
         $_lastException = null;
@@ -945,9 +1025,20 @@ class OpenApiClient
                         $globalHeaders = $globalParams->headers;
                     }
                 }
+                $extendsHeaders = [];
+                $extendsQueries = [];
+                if (!Utils::isUnset($runtime->extendsParameters)) {
+                    $extendsParameters = $runtime->extendsParameters;
+                    if (!Utils::isUnset($extendsParameters->headers)) {
+                        $extendsHeaders = $extendsParameters->headers;
+                    }
+                    if (!Utils::isUnset($extendsParameters->queries)) {
+                        $extendsQueries = $extendsParameters->queries;
+                    }
+                }
                 $requestContext = new \Darabonba\GatewaySpi\Models\InterceptorContext\request([
-                    "headers" => Tea::merge($globalHeaders, $request->headers, $headers),
-                    "query" => Tea::merge($globalQueries, $request->query),
+                    "headers" => Tea::merge($globalHeaders, $extendsHeaders, $request->headers, $headers),
+                    "query" => Tea::merge($globalQueries, $extendsQueries, $request->query),
                     "body" => $request->body,
                     "stream" => $request->stream,
                     "hostMap" => $request->hostMap,

+ 12 - 0
include/vendor/alibabacloud/tea-utils/src/Utils/RuntimeOptions.php

@@ -86,6 +86,9 @@ class RuntimeOptions extends Model {
         if (null !== $this->keepAlive) {
             $res['keepAlive'] = $this->keepAlive;
         }
+        if (null !== $this->extendsParameters) {
+            $res['extendsParameters'] = null !== $this->extendsParameters ? $this->extendsParameters->toMap() : null;
+        }
         return $res;
     }
     /**
@@ -148,6 +151,9 @@ class RuntimeOptions extends Model {
         if(isset($map['keepAlive'])){
             $model->keepAlive = $map['keepAlive'];
         }
+        if(isset($map['extendsParameters'])){
+            $model->extendsParameters = ExtendsParameters::fromMap($map['extendsParameters']);
+        }
         return $model;
     }
     /**
@@ -258,4 +264,10 @@ class RuntimeOptions extends Model {
      */
     public $keepAlive;
 
+    /**
+     * @description Extends Parameters
+     * @var ExtendsParameters
+     */
+    public $extendsParameters;
+
 }

+ 7 - 0
include/vendor/alibabacloud/tea-utils/tests/UtilsTest.php

@@ -4,6 +4,7 @@ namespace AlibabaCloud\Tea\Utils\Tests;
 
 use AlibabaCloud\Tea\Model;
 use AlibabaCloud\Tea\Utils\Utils;
+use AlibabaCloud\Tea\Utils\Utils\ExtendsParameters;
 use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
 use GuzzleHttp\Psr7\Stream;
 use PHPUnit\Framework\TestCase;
@@ -416,6 +417,10 @@ final class UtilsTest extends TestCase
             "noProxy" => "noProxy",
             "maxIdleConns" => 300,
             "keepAlive" => true,
+            "extendsParameters" => new ExtendsParameters([
+                "headers" => ['key' => 'value'],
+                "queries" => ['key' => 'value'],
+            ]),
         ]);
         $this->assertEquals(false, $opts->autoretry);
         $this->assertEquals(false, $opts->ignoreSSL);
@@ -432,6 +437,8 @@ final class UtilsTest extends TestCase
         $this->assertEquals("noProxy", $opts->noProxy);
         $this->assertEquals(300, $opts->maxIdleConns);
         $this->assertEquals(true, $opts->keepAlive);
+        $this->assertEquals('value', $opts->extendsParameters->headers['key']);
+        $this->assertEquals('value', $opts->extendsParameters->queries['key']);
     }
 
     private function convert($body, &$content)

+ 4 - 0
include/vendor/aliyuncs/oss-sdk-php/CHANGELOG.md

@@ -1,5 +1,9 @@
 # ChangeLog - Aliyun OSS SDK for PHP
 
+## v2.7.2 / 2024-10-28
+* Added: presign supports response-* parameters
+* Added: forcePathStyle option.
+
 ## v2.7.1 / 2024-02-28
 * Fixed: fix deprecated
 

+ 23 - 8
include/vendor/aliyuncs/oss-sdk-php/src/OSS/OssClient.php

@@ -169,6 +169,11 @@ class OssClient
             throw new OssException("endpoint is empty");
         }
         $this->hostname = $this->checkEndpoint($endpoint, $isCName);
+        if (isset($config['forcePathStyle'])) {
+            if ($config['forcePathStyle'] === true) {
+                $this->hostType = self::OSS_HOST_TYPE_PATH_STYLE;
+            }
+        }
         $this->requestProxy = $requestProxy;
         if (!$provider instanceof CredentialsProvider) {
             throw new OssException("provider must be an instance of CredentialsProvider");
@@ -2372,7 +2377,7 @@ class OssClient
         $options[self::OSS_OBJECT] = $object;
         $options[self::OSS_SUB_RESOURCE] = 'x-oss-async-process';
         $options[self::OSS_CONTENT_TYPE] = 'application/octet-stream';
-        $options[self::OSS_CONTENT] = 'x-oss-async-process='.$asyncProcess;
+        $options[self::OSS_CONTENT] = 'x-oss-async-process=' . $asyncProcess;
         $response = $this->auth($options);
         $result = new BodyResult($response);
         return $result->getData();
@@ -2999,7 +3004,7 @@ class OssClient
         return $this->getValue($options, self::OSS_CHECK_MD5, false, true, true);
     }
 
-     /**
+    /**
      * Gets value of the specified key from the options
      *
      * @param array $options
@@ -3269,7 +3274,7 @@ class OssClient
 
         try {
             $tmp_object = $options[self::OSS_OBJECT];
-            $encoding = array('UTF-8','GB2312', 'GBK');
+            $encoding = array('UTF-8', 'GB2312', 'GBK');
             $encode = mb_detect_encoding($tmp_object, $encoding);
             if ($encode === 'UTF-8' || $encode === false) {
                 return;
@@ -3333,6 +3338,9 @@ class OssClient
         if ('' !== $bucket) {
             if ($this->hostType === self::OSS_HOST_TYPE_IP || $this->hostType === self::OSS_HOST_TYPE_PATH_STYLE) {
                 $paths[] = $bucket;
+                if ('' === $object) {
+                    $paths[] = '';
+                }
             }
         }
         // + object
@@ -3354,6 +3362,12 @@ class OssClient
         $query = array();
         $queryList = array(
             self::OSS_PART_NUM,
+            'response-content-type',
+            'response-content-language',
+            'response-cache-control',
+            'response-content-encoding',
+            'response-expires',
+            'response-content-disposition',
             self::OSS_UPLOAD_ID,
             self::OSS_COMP,
             self::OSS_LIVE_CHANNEL_STATUS,
@@ -3381,6 +3395,7 @@ class OssClient
         if (isset($options[self::OSS_SUB_RESOURCE])) {
             $query[$options[self::OSS_SUB_RESOURCE]] = '';
         }
+
         return OssUtil::toQueryString($query);
     }
 
@@ -3519,7 +3534,7 @@ class OssClient
         }
 
         try {
-            $encoding = array('UTF-8','GB2312', 'GBK');
+            $encoding = array('UTF-8', 'GB2312', 'GBK');
             $encode = mb_detect_encoding($filepath, $encoding);
             if ($encode !== 'UTF-8') {
                 return $filepath;
@@ -3534,7 +3549,7 @@ class OssClient
         return $filepath;
     }
 
-     /**
+    /**
      * Decodes the file path from GBK  to UTF-8.
      *
      * @param $filepath
@@ -3550,7 +3565,7 @@ class OssClient
         }
 
         try {
-            $encoding = array('UTF-8','GB2312', 'GBK');
+            $encoding = array('UTF-8', 'GB2312', 'GBK');
             $encode = mb_detect_encoding($filepath, $encoding);
             if ($encode === 'UTF-8' || $encode === false) {
                 return $filepath;
@@ -3745,8 +3760,8 @@ class OssClient
     );
     // OssClient version information
     const OSS_NAME = "aliyun-sdk-php";
-    const OSS_VERSION = "2.7.1";
-    const OSS_BUILD = "20240228";
+    const OSS_VERSION = "2.7.2";
+    const OSS_BUILD = "20241028";
     const OSS_AUTHOR = "";
     const OSS_OPTIONS_ORIGIN = 'Origin';
     const OSS_OPTIONS_REQUEST_METHOD = 'Access-Control-Request-Method';

+ 5 - 0
include/vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/Common.php

@@ -133,6 +133,11 @@ class Common
         return OssClient::OSS_SIGNATURE_VERSION_V1;
     }
 
+    public static function getPathStyleBucket()
+    {
+        return getenv('OSS_TEST_PATHSTYLE_BUCKET');
+    }
+
     /**
      * Tool method, create a bucket
      */

+ 84 - 10
include/vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientForcePathStyleTest.php

@@ -3,10 +3,7 @@
 namespace OSS\Tests;
 
 use OSS\Core\OssException;
-use OSS\Credentials\StaticCredentialsProvider;
-use OSS\Model\LifecycleConfig;
-use OSS\Model\LifecycleRule;
-use OSS\Model\LifecycleAction;
+use OSS\Http\RequestCore;
 use OSS\OssClient;
 
 require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
@@ -18,12 +15,14 @@ class OssClientForcePathStyleTest extends TestOssClientBase
     {
         $config = array(
             'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4,
-            'hostType' => OssClient::OSS_HOST_TYPE_PATH_STYLE,
+            'forcePathStyle' => true,
         );
-        $this->ossClient = Common::getOssClient($config);
+
+        $pathStyleClient = Common::getOssClient($config);
 
         try {
-            $this->ossClient->getBucketInfo($this->bucket);
+            $pathStyleClient->getBucketInfo($this->bucket);
+            $this->assertTrue(false, "should not here");
         } catch (OssException $e) {
             $this->assertEquals($e->getErrorCode(), "SecondLevelDomainForbidden");
             $this->assertTrue(true);
@@ -31,7 +30,8 @@ class OssClientForcePathStyleTest extends TestOssClientBase
 
         try {
             $object = "oss-php-sdk-test/upload-test-object-name.txt";
-            $this->ossClient->putObject($this->bucket, $object, 'hi oss');
+            $pathStyleClient->putObject($this->bucket, $object, 'hi oss');
+            $this->assertTrue(false, "should not here");
         } catch (OssException $e) {
             $this->assertEquals($e->getErrorCode(), "SecondLevelDomainForbidden");
             $this->assertTrue(true);
@@ -40,11 +40,85 @@ class OssClientForcePathStyleTest extends TestOssClientBase
         try {
             $endpoint = Common::getEndpoint();
             $endpoint = str_replace(array('http://', 'https://'), '', $endpoint);
-            $strUrl = $this->bucket . '.' . $endpoint . "/" . $object;
-            $signUrl = $this->ossClient->signUrl($this->bucket, $object, 3600);
+            $strUrl = $endpoint . "/" . $this->bucket . '/' .  $object;
+            $signUrl = $pathStyleClient->signUrl($this->bucket, $object, 3600);
             $this->assertTrue(strpos($signUrl, $strUrl) !== false);
         } catch (OssException $e) {
             $this->assertFalse(true);
         }
     }
+
+    public function testForcePathStyleOKV1()
+    {
+        $bucket = Common::getPathStyleBucket();
+
+        $this->assertFalse(empty($bucket), "path style bucket is not set.");
+
+        $config = array(
+            'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V1,
+            'forcePathStyle' => true,
+        );
+
+        $pathStyleClient = Common::getOssClient($config);
+
+        // bucket 
+        $info = $pathStyleClient->getBucketInfo($bucket);
+        $this->assertEquals($bucket, $info->getName());
+
+        // object
+        $object = "upload-test-object-name.txt";
+        $pathStyleClient->putObject($bucket, $object, 'hi oss');
+        $res = $pathStyleClient->getObject($bucket, $object);
+        $this->assertEquals($res, 'hi oss');
+
+        //presign
+        $signUrl = $pathStyleClient->signUrl($bucket, $object, 3600);
+
+        $httpCore = new RequestCore($signUrl);
+        $httpCore->set_body("");
+        $httpCore->set_method("GET");
+        $httpCore->connect_timeout = 10;
+        $httpCore->timeout = 10;
+        $httpCore->add_header("Content-Type", "");
+        $httpCore->send_request();
+        $this->assertEquals(200, $httpCore->response_code);
+    }
+
+    public function testForcePathStyleOKV4()
+    {
+        $bucket = Common::getPathStyleBucket();
+
+        $this->assertFalse(empty($bucket), "path style bucket is not set.");
+
+        $config = array(
+            'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4,
+            'forcePathStyle' => true,
+        );
+
+        $pathStyleClient = Common::getOssClient($config);
+
+        // bucket 
+        $info = $pathStyleClient->getBucketInfo($bucket);
+        $this->assertEquals($bucket, $info->getName());
+
+        // object
+        $object = "upload-test-object-name.txt";
+        $pathStyleClient->putObject($bucket, $object, 'hi oss');
+        $res = $pathStyleClient->getObject($bucket, $object);
+        $this->assertEquals($res, 'hi oss');
+
+        //presign
+        $signUrl = $pathStyleClient->signUrl($bucket, $object, 3600);
+
+        #print("signUrl" . $signUrl . "\n");
+
+        $httpCore = new RequestCore($signUrl);
+        $httpCore->set_body("");
+        $httpCore->set_method("GET");
+        $httpCore->connect_timeout = 10;
+        $httpCore->timeout = 10;
+        $httpCore->add_header("Content-Type", "");
+        $httpCore->send_request();
+        $this->assertEquals(200, $httpCore->response_code);
+    }    
 }

+ 43 - 0
include/vendor/aliyuncs/oss-sdk-php/tests/OSS/Tests/OssClientPresignV4Test.php

@@ -305,6 +305,49 @@ class OssClientPresignV4Test extends TestOssClientBase
         }
     }
 
+    public function testObjectWithSignV4AndResponseQuery()
+    {
+        $config = array(
+            'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4
+        );
+        $this->bucket = Common::getBucketName() . '-' . time();
+        $this->ossClient = Common::getOssClient($config);
+        $this->ossClient->createBucket($this->bucket);
+        Common::waitMetaSync();
+
+        $object = "a.file";
+        $this->ossClient->putObject($this->bucket, $object, "hi oss");
+        $timeout = 3600;
+        $options = array(
+            "response-content-disposition" => "inline"
+        );
+        try {
+            $signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, OssClient::OSS_HTTP_GET, $options);
+        } catch (OssException $e) {
+            $this->assertFalse(true);
+        }
+        $this->assertStringContainsString("response-content-disposition=inline", $signedUrl);
+        $options = array(
+            "response-content-disposition" => "attachment"
+        );
+
+        try {
+            $signedUrl = $this->ossClient->signUrl($this->bucket, $object, $timeout, OssClient::OSS_HTTP_GET, $options);
+        } catch (OssException $e) {
+            $this->assertFalse(true);
+        }
+        $this->assertStringContainsString("response-content-disposition=attachment", $signedUrl);
+
+        $httpCore = new RequestCore($signedUrl);
+        $httpCore->set_body("");
+        $httpCore->set_method("GET");
+        $httpCore->connect_timeout = 10;
+        $httpCore->timeout = 10;
+        $httpCore->add_header("Content-Type", "");
+        $httpCore->send_request();
+        $this->assertEquals(200, $httpCore->response_code);             
+    }
+
     protected function tearDown(): void
     {
         $this->ossClient->deleteObject($this->bucket, "a.file");

+ 800 - 9
include/vendor/composer/autoload_classmap.php

@@ -11,20 +11,27 @@ return array(
     'AlibabaCloud\\Credentials\\BearerTokenCredential' => $vendorDir . '/alibabacloud/credentials/src/BearerTokenCredential.php',
     'AlibabaCloud\\Credentials\\Credential' => $vendorDir . '/alibabacloud/credentials/src/Credential.php',
     'AlibabaCloud\\Credentials\\Credential\\Config' => $vendorDir . '/alibabacloud/credentials/src/Credential/Config.php',
+    'AlibabaCloud\\Credentials\\Credential\\CredentialModel' => $vendorDir . '/alibabacloud/credentials/src/Credential/CredentialModel.php',
     'AlibabaCloud\\Credentials\\Credentials' => $vendorDir . '/alibabacloud/credentials/src/Credentials.php',
     'AlibabaCloud\\Credentials\\CredentialsInterface' => $vendorDir . '/alibabacloud/credentials/src/CredentialsInterface.php',
+    'AlibabaCloud\\Credentials\\CredentialsProviderWrap' => $vendorDir . '/alibabacloud/credentials/src/CredentialsProviderWrap.php',
     'AlibabaCloud\\Credentials\\EcsRamRoleCredential' => $vendorDir . '/alibabacloud/credentials/src/EcsRamRoleCredential.php',
-    'AlibabaCloud\\Credentials\\Filter' => $vendorDir . '/alibabacloud/credentials/src/Filter.php',
-    'AlibabaCloud\\Credentials\\Helper' => $vendorDir . '/alibabacloud/credentials/src/Helper.php',
-    'AlibabaCloud\\Credentials\\MockTrait' => $vendorDir . '/alibabacloud/credentials/src/MockTrait.php',
+    'AlibabaCloud\\Credentials\\Providers\\CLIProfileCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/CLIProfileCredentialsProvider.php',
     'AlibabaCloud\\Credentials\\Providers\\ChainProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/ChainProvider.php',
-    'AlibabaCloud\\Credentials\\Providers\\EcsRamRoleProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/EcsRamRoleProvider.php',
-    'AlibabaCloud\\Credentials\\Providers\\Provider' => $vendorDir . '/alibabacloud/credentials/src/Providers/Provider.php',
-    'AlibabaCloud\\Credentials\\Providers\\RamRoleArnProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/RamRoleArnProvider.php',
-    'AlibabaCloud\\Credentials\\Providers\\RsaKeyPairProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/RsaKeyPairProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\Credentials' => $vendorDir . '/alibabacloud/credentials/src/Providers/Credentials.php',
+    'AlibabaCloud\\Credentials\\Providers\\CredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/CredentialsProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\DefaultCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/DefaultCredentialsProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\EcsRamRoleCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/EcsRamRoleCredentialsProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\EnvironmentVariableCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/EnvironmentVariableCredentialsProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\OIDCRoleArnCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/OIDCRoleArnCredentialsProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\ProfileCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/ProfileCredentialsProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\RamRoleArnCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/RamRoleArnCredentialsProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\RsaKeyPairCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/RsaKeyPairCredentialsProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\SessionCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/SessionCredentialsProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\StaticAKCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/StaticAKCredentialsProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\StaticSTSCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/StaticSTSCredentialsProvider.php',
+    'AlibabaCloud\\Credentials\\Providers\\URLCredentialsProvider' => $vendorDir . '/alibabacloud/credentials/src/Providers/URLCredentialsProvider.php',
     'AlibabaCloud\\Credentials\\RamRoleArnCredential' => $vendorDir . '/alibabacloud/credentials/src/RamRoleArnCredential.php',
-    'AlibabaCloud\\Credentials\\Request\\AssumeRole' => $vendorDir . '/alibabacloud/credentials/src/Request/AssumeRole.php',
-    'AlibabaCloud\\Credentials\\Request\\GenerateSessionAccessKey' => $vendorDir . '/alibabacloud/credentials/src/Request/GenerateSessionAccessKey.php',
     'AlibabaCloud\\Credentials\\Request\\Request' => $vendorDir . '/alibabacloud/credentials/src/Request/Request.php',
     'AlibabaCloud\\Credentials\\RsaKeyPairCredential' => $vendorDir . '/alibabacloud/credentials/src/RsaKeyPairCredential.php',
     'AlibabaCloud\\Credentials\\Signature\\BearerTokenSignature' => $vendorDir . '/alibabacloud/credentials/src/Signature/BearerTokenSignature.php',
@@ -33,6 +40,9 @@ return array(
     'AlibabaCloud\\Credentials\\Signature\\ShaHmac256WithRsaSignature' => $vendorDir . '/alibabacloud/credentials/src/Signature/ShaHmac256WithRsaSignature.php',
     'AlibabaCloud\\Credentials\\Signature\\SignatureInterface' => $vendorDir . '/alibabacloud/credentials/src/Signature/SignatureInterface.php',
     'AlibabaCloud\\Credentials\\StsCredential' => $vendorDir . '/alibabacloud/credentials/src/StsCredential.php',
+    'AlibabaCloud\\Credentials\\Utils\\Filter' => $vendorDir . '/alibabacloud/credentials/src/Utils/Filter.php',
+    'AlibabaCloud\\Credentials\\Utils\\Helper' => $vendorDir . '/alibabacloud/credentials/src/Utils/Helper.php',
+    'AlibabaCloud\\Credentials\\Utils\\MockTrait' => $vendorDir . '/alibabacloud/credentials/src/Utils/MockTrait.php',
     'AlibabaCloud\\Endpoint\\Endpoint' => $vendorDir . '/alibabacloud/endpoint-util/src/Endpoint.php',
     'AlibabaCloud\\OpenApiUtil\\OpenApiUtilClient' => $vendorDir . '/alibabacloud/openapi-util/src/OpenApiUtilClient.php',
     'AlibabaCloud\\SDK\\Dysmsapi\\V20170525\\Dysmsapi' => $vendorDir . '/alibabacloud/dysmsapi-20170525/src/Dysmsapi.php',
@@ -182,9 +192,14 @@ return array(
     'AlibabaCloud\\Tea\\Response' => $vendorDir . '/alibabacloud/tea/src/Response.php',
     'AlibabaCloud\\Tea\\Tea' => $vendorDir . '/alibabacloud/tea/src/Tea.php',
     'AlibabaCloud\\Tea\\Utils\\Utils' => $vendorDir . '/alibabacloud/tea-utils/src/Utils.php',
+    'AlibabaCloud\\Tea\\Utils\\Utils\\ExtendsParameters' => $vendorDir . '/alibabacloud/tea-utils/src/Utils/ExtendsParameters.php',
     'AlibabaCloud\\Tea\\Utils\\Utils\\RuntimeOptions' => $vendorDir . '/alibabacloud/tea-utils/src/Utils/RuntimeOptions.php',
     'AlibabaCloud\\Tea\\XML\\ArrayToXml' => $vendorDir . '/alibabacloud/tea-xml/src/ArrayToXml.php',
     'AlibabaCloud\\Tea\\XML\\XML' => $vendorDir . '/alibabacloud/tea-xml/src/XML.php',
+    'Complex\\Complex' => $vendorDir . '/markbaker/complex/classes/src/Complex.php',
+    'Complex\\Exception' => $vendorDir . '/markbaker/complex/classes/src/Exception.php',
+    'Complex\\Functions' => $vendorDir . '/markbaker/complex/classes/src/Functions.php',
+    'Complex\\Operations' => $vendorDir . '/markbaker/complex/classes/src/Operations.php',
     'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
     'Darabonba\\GatewaySpi\\Client' => $vendorDir . '/alibabacloud/gateway-spi/src/Client.php',
     'Darabonba\\GatewaySpi\\Models\\AttributeMap' => $vendorDir . '/alibabacloud/gateway-spi/src/Models/AttributeMap.php',
@@ -283,6 +298,253 @@ return array(
     'GuzzleHttp\\RetryMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RetryMiddleware.php',
     'GuzzleHttp\\TransferStats' => $vendorDir . '/guzzlehttp/guzzle/src/TransferStats.php',
     'GuzzleHttp\\Utils' => $vendorDir . '/guzzlehttp/guzzle/src/Utils.php',
+    'HTMLPurifier' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.php',
+    'HTMLPurifier_Arborize' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php',
+    'HTMLPurifier_AttrCollections' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php',
+    'HTMLPurifier_AttrDef' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php',
+    'HTMLPurifier_AttrDef_CSS' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php',
+    'HTMLPurifier_AttrDef_CSS_AlphaValue' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php',
+    'HTMLPurifier_AttrDef_CSS_Background' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php',
+    'HTMLPurifier_AttrDef_CSS_BackgroundPosition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php',
+    'HTMLPurifier_AttrDef_CSS_Border' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php',
+    'HTMLPurifier_AttrDef_CSS_Color' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php',
+    'HTMLPurifier_AttrDef_CSS_Composite' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php',
+    'HTMLPurifier_AttrDef_CSS_DenyElementDecorator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php',
+    'HTMLPurifier_AttrDef_CSS_Filter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php',
+    'HTMLPurifier_AttrDef_CSS_Font' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php',
+    'HTMLPurifier_AttrDef_CSS_FontFamily' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php',
+    'HTMLPurifier_AttrDef_CSS_Ident' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php',
+    'HTMLPurifier_AttrDef_CSS_ImportantDecorator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php',
+    'HTMLPurifier_AttrDef_CSS_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php',
+    'HTMLPurifier_AttrDef_CSS_ListStyle' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php',
+    'HTMLPurifier_AttrDef_CSS_Multiple' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php',
+    'HTMLPurifier_AttrDef_CSS_Number' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php',
+    'HTMLPurifier_AttrDef_CSS_Percentage' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php',
+    'HTMLPurifier_AttrDef_CSS_Ratio' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ratio.php',
+    'HTMLPurifier_AttrDef_CSS_TextDecoration' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php',
+    'HTMLPurifier_AttrDef_CSS_URI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php',
+    'HTMLPurifier_AttrDef_Clone' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php',
+    'HTMLPurifier_AttrDef_Enum' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php',
+    'HTMLPurifier_AttrDef_HTML_Bool' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php',
+    'HTMLPurifier_AttrDef_HTML_Class' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php',
+    'HTMLPurifier_AttrDef_HTML_Color' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php',
+    'HTMLPurifier_AttrDef_HTML_ContentEditable' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ContentEditable.php',
+    'HTMLPurifier_AttrDef_HTML_FrameTarget' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php',
+    'HTMLPurifier_AttrDef_HTML_ID' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php',
+    'HTMLPurifier_AttrDef_HTML_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php',
+    'HTMLPurifier_AttrDef_HTML_LinkTypes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php',
+    'HTMLPurifier_AttrDef_HTML_MultiLength' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php',
+    'HTMLPurifier_AttrDef_HTML_Nmtokens' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php',
+    'HTMLPurifier_AttrDef_HTML_Pixels' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php',
+    'HTMLPurifier_AttrDef_Integer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php',
+    'HTMLPurifier_AttrDef_Lang' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php',
+    'HTMLPurifier_AttrDef_Switch' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php',
+    'HTMLPurifier_AttrDef_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php',
+    'HTMLPurifier_AttrDef_URI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php',
+    'HTMLPurifier_AttrDef_URI_Email' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php',
+    'HTMLPurifier_AttrDef_URI_Email_SimpleCheck' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php',
+    'HTMLPurifier_AttrDef_URI_Host' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php',
+    'HTMLPurifier_AttrDef_URI_IPv4' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php',
+    'HTMLPurifier_AttrDef_URI_IPv6' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php',
+    'HTMLPurifier_AttrTransform' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php',
+    'HTMLPurifier_AttrTransform_Background' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php',
+    'HTMLPurifier_AttrTransform_BdoDir' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php',
+    'HTMLPurifier_AttrTransform_BgColor' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php',
+    'HTMLPurifier_AttrTransform_BoolToCSS' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php',
+    'HTMLPurifier_AttrTransform_Border' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php',
+    'HTMLPurifier_AttrTransform_EnumToCSS' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php',
+    'HTMLPurifier_AttrTransform_ImgRequired' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php',
+    'HTMLPurifier_AttrTransform_ImgSpace' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php',
+    'HTMLPurifier_AttrTransform_Input' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php',
+    'HTMLPurifier_AttrTransform_Lang' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php',
+    'HTMLPurifier_AttrTransform_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php',
+    'HTMLPurifier_AttrTransform_Name' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php',
+    'HTMLPurifier_AttrTransform_NameSync' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php',
+    'HTMLPurifier_AttrTransform_Nofollow' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php',
+    'HTMLPurifier_AttrTransform_SafeEmbed' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php',
+    'HTMLPurifier_AttrTransform_SafeObject' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php',
+    'HTMLPurifier_AttrTransform_SafeParam' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php',
+    'HTMLPurifier_AttrTransform_ScriptRequired' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php',
+    'HTMLPurifier_AttrTransform_TargetBlank' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php',
+    'HTMLPurifier_AttrTransform_TargetNoopener' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoopener.php',
+    'HTMLPurifier_AttrTransform_TargetNoreferrer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetNoreferrer.php',
+    'HTMLPurifier_AttrTransform_Textarea' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php',
+    'HTMLPurifier_AttrTypes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php',
+    'HTMLPurifier_AttrValidator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php',
+    'HTMLPurifier_Bootstrap' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php',
+    'HTMLPurifier_CSSDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php',
+    'HTMLPurifier_ChildDef' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php',
+    'HTMLPurifier_ChildDef_Chameleon' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php',
+    'HTMLPurifier_ChildDef_Custom' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php',
+    'HTMLPurifier_ChildDef_Empty' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php',
+    'HTMLPurifier_ChildDef_List' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php',
+    'HTMLPurifier_ChildDef_Optional' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php',
+    'HTMLPurifier_ChildDef_Required' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php',
+    'HTMLPurifier_ChildDef_StrictBlockquote' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php',
+    'HTMLPurifier_ChildDef_Table' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php',
+    'HTMLPurifier_Config' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Config.php',
+    'HTMLPurifier_ConfigSchema' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php',
+    'HTMLPurifier_ConfigSchema_Builder_ConfigSchema' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php',
+    'HTMLPurifier_ConfigSchema_Builder_Xml' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php',
+    'HTMLPurifier_ConfigSchema_Exception' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php',
+    'HTMLPurifier_ConfigSchema_Interchange' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php',
+    'HTMLPurifier_ConfigSchema_InterchangeBuilder' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php',
+    'HTMLPurifier_ConfigSchema_Interchange_Directive' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php',
+    'HTMLPurifier_ConfigSchema_Interchange_Id' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php',
+    'HTMLPurifier_ConfigSchema_Validator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php',
+    'HTMLPurifier_ConfigSchema_ValidatorAtom' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php',
+    'HTMLPurifier_ContentSets' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php',
+    'HTMLPurifier_Context' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Context.php',
+    'HTMLPurifier_Definition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php',
+    'HTMLPurifier_DefinitionCache' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php',
+    'HTMLPurifier_DefinitionCacheFactory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php',
+    'HTMLPurifier_DefinitionCache_Decorator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php',
+    'HTMLPurifier_DefinitionCache_Decorator_Cleanup' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php',
+    'HTMLPurifier_DefinitionCache_Decorator_Memory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php',
+    'HTMLPurifier_DefinitionCache_Null' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php',
+    'HTMLPurifier_DefinitionCache_Serializer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php',
+    'HTMLPurifier_Doctype' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php',
+    'HTMLPurifier_DoctypeRegistry' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php',
+    'HTMLPurifier_ElementDef' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php',
+    'HTMLPurifier_Encoder' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php',
+    'HTMLPurifier_EntityLookup' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php',
+    'HTMLPurifier_EntityParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php',
+    'HTMLPurifier_ErrorCollector' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php',
+    'HTMLPurifier_ErrorStruct' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php',
+    'HTMLPurifier_Exception' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php',
+    'HTMLPurifier_Filter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php',
+    'HTMLPurifier_Filter_ExtractStyleBlocks' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php',
+    'HTMLPurifier_Filter_YouTube' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php',
+    'HTMLPurifier_Generator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php',
+    'HTMLPurifier_HTMLDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php',
+    'HTMLPurifier_HTMLModule' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php',
+    'HTMLPurifier_HTMLModuleManager' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModuleManager.php',
+    'HTMLPurifier_HTMLModule_Bdo' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php',
+    'HTMLPurifier_HTMLModule_CommonAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php',
+    'HTMLPurifier_HTMLModule_Edit' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php',
+    'HTMLPurifier_HTMLModule_Forms' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php',
+    'HTMLPurifier_HTMLModule_Hypertext' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php',
+    'HTMLPurifier_HTMLModule_Iframe' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php',
+    'HTMLPurifier_HTMLModule_Image' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php',
+    'HTMLPurifier_HTMLModule_Legacy' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php',
+    'HTMLPurifier_HTMLModule_List' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php',
+    'HTMLPurifier_HTMLModule_Name' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php',
+    'HTMLPurifier_HTMLModule_Nofollow' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php',
+    'HTMLPurifier_HTMLModule_NonXMLCommonAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php',
+    'HTMLPurifier_HTMLModule_Object' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php',
+    'HTMLPurifier_HTMLModule_Presentation' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php',
+    'HTMLPurifier_HTMLModule_Proprietary' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php',
+    'HTMLPurifier_HTMLModule_Ruby' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php',
+    'HTMLPurifier_HTMLModule_SafeEmbed' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php',
+    'HTMLPurifier_HTMLModule_SafeObject' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php',
+    'HTMLPurifier_HTMLModule_SafeScripting' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php',
+    'HTMLPurifier_HTMLModule_Scripting' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php',
+    'HTMLPurifier_HTMLModule_StyleAttribute' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php',
+    'HTMLPurifier_HTMLModule_Tables' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php',
+    'HTMLPurifier_HTMLModule_Target' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php',
+    'HTMLPurifier_HTMLModule_TargetBlank' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetBlank.php',
+    'HTMLPurifier_HTMLModule_TargetNoopener' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoopener.php',
+    'HTMLPurifier_HTMLModule_TargetNoreferrer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetNoreferrer.php',
+    'HTMLPurifier_HTMLModule_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php',
+    'HTMLPurifier_HTMLModule_Tidy' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php',
+    'HTMLPurifier_HTMLModule_Tidy_Name' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php',
+    'HTMLPurifier_HTMLModule_Tidy_Proprietary' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php',
+    'HTMLPurifier_HTMLModule_Tidy_Strict' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php',
+    'HTMLPurifier_HTMLModule_Tidy_Transitional' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php',
+    'HTMLPurifier_HTMLModule_Tidy_XHTML' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php',
+    'HTMLPurifier_HTMLModule_Tidy_XHTMLAndHTML4' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php',
+    'HTMLPurifier_HTMLModule_XMLCommonAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php',
+    'HTMLPurifier_IDAccumulator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/IDAccumulator.php',
+    'HTMLPurifier_Injector' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php',
+    'HTMLPurifier_Injector_AutoParagraph' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/AutoParagraph.php',
+    'HTMLPurifier_Injector_DisplayLinkURI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/DisplayLinkURI.php',
+    'HTMLPurifier_Injector_Linkify' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/Linkify.php',
+    'HTMLPurifier_Injector_PurifierLinkify' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/PurifierLinkify.php',
+    'HTMLPurifier_Injector_RemoveEmpty' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveEmpty.php',
+    'HTMLPurifier_Injector_RemoveSpansWithoutAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php',
+    'HTMLPurifier_Injector_SafeObject' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Injector/SafeObject.php',
+    'HTMLPurifier_Language' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Language.php',
+    'HTMLPurifier_LanguageFactory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/LanguageFactory.php',
+    'HTMLPurifier_Length' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Length.php',
+    'HTMLPurifier_Lexer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php',
+    'HTMLPurifier_Lexer_DOMLex' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php',
+    'HTMLPurifier_Lexer_DirectLex' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DirectLex.php',
+    'HTMLPurifier_Lexer_PH5P' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php',
+    'HTMLPurifier_Node' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node.php',
+    'HTMLPurifier_Node_Comment' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Comment.php',
+    'HTMLPurifier_Node_Element' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php',
+    'HTMLPurifier_Node_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php',
+    'HTMLPurifier_PercentEncoder' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php',
+    'HTMLPurifier_Printer' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php',
+    'HTMLPurifier_Printer_CSSDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php',
+    'HTMLPurifier_Printer_ConfigForm' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php',
+    'HTMLPurifier_Printer_HTMLDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php',
+    'HTMLPurifier_PropertyList' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php',
+    'HTMLPurifier_PropertyListIterator' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php',
+    'HTMLPurifier_Queue' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php',
+    'HTMLPurifier_Strategy' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php',
+    'HTMLPurifier_Strategy_Composite' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Composite.php',
+    'HTMLPurifier_Strategy_Core' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php',
+    'HTMLPurifier_Strategy_FixNesting' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php',
+    'HTMLPurifier_Strategy_MakeWellFormed' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php',
+    'HTMLPurifier_Strategy_RemoveForeignElements' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/RemoveForeignElements.php',
+    'HTMLPurifier_Strategy_ValidateAttributes' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/ValidateAttributes.php',
+    'HTMLPurifier_StringHash' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/StringHash.php',
+    'HTMLPurifier_StringHashParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/StringHashParser.php',
+    'HTMLPurifier_TagTransform' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform.php',
+    'HTMLPurifier_TagTransform_Font' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Font.php',
+    'HTMLPurifier_TagTransform_Simple' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php',
+    'HTMLPurifier_Token' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token.php',
+    'HTMLPurifier_TokenFactory' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/TokenFactory.php',
+    'HTMLPurifier_Token_Comment' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Comment.php',
+    'HTMLPurifier_Token_Empty' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Empty.php',
+    'HTMLPurifier_Token_End' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/End.php',
+    'HTMLPurifier_Token_Start' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Start.php',
+    'HTMLPurifier_Token_Tag' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Tag.php',
+    'HTMLPurifier_Token_Text' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Token/Text.php',
+    'HTMLPurifier_URI' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URI.php',
+    'HTMLPurifier_URIDefinition' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIDefinition.php',
+    'HTMLPurifier_URIFilter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter.php',
+    'HTMLPurifier_URIFilter_DisableExternal' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternal.php',
+    'HTMLPurifier_URIFilter_DisableExternalResources' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternalResources.php',
+    'HTMLPurifier_URIFilter_DisableResources' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableResources.php',
+    'HTMLPurifier_URIFilter_HostBlacklist' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/HostBlacklist.php',
+    'HTMLPurifier_URIFilter_MakeAbsolute' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/MakeAbsolute.php',
+    'HTMLPurifier_URIFilter_Munge' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/Munge.php',
+    'HTMLPurifier_URIFilter_SafeIframe' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/SafeIframe.php',
+    'HTMLPurifier_URIParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIParser.php',
+    'HTMLPurifier_URIScheme' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme.php',
+    'HTMLPurifier_URISchemeRegistry' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URISchemeRegistry.php',
+    'HTMLPurifier_URIScheme_data' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/data.php',
+    'HTMLPurifier_URIScheme_file' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/file.php',
+    'HTMLPurifier_URIScheme_ftp' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/ftp.php',
+    'HTMLPurifier_URIScheme_http' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/http.php',
+    'HTMLPurifier_URIScheme_https' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/https.php',
+    'HTMLPurifier_URIScheme_mailto' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/mailto.php',
+    'HTMLPurifier_URIScheme_news' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/news.php',
+    'HTMLPurifier_URIScheme_nntp' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/nntp.php',
+    'HTMLPurifier_URIScheme_tel' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/tel.php',
+    'HTMLPurifier_UnitConverter' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/UnitConverter.php',
+    'HTMLPurifier_VarParser' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser.php',
+    'HTMLPurifier_VarParserException' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParserException.php',
+    'HTMLPurifier_VarParser_Flexible' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php',
+    'HTMLPurifier_VarParser_Native' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php',
+    'HTMLPurifier_Zipper' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php',
+    'Matrix\\Builder' => $vendorDir . '/markbaker/matrix/classes/src/Builder.php',
+    'Matrix\\Decomposition\\Decomposition' => $vendorDir . '/markbaker/matrix/classes/src/Decomposition/Decomposition.php',
+    'Matrix\\Decomposition\\LU' => $vendorDir . '/markbaker/matrix/classes/src/Decomposition/LU.php',
+    'Matrix\\Decomposition\\QR' => $vendorDir . '/markbaker/matrix/classes/src/Decomposition/QR.php',
+    'Matrix\\Div0Exception' => $vendorDir . '/markbaker/matrix/classes/src/Div0Exception.php',
+    'Matrix\\Exception' => $vendorDir . '/markbaker/matrix/classes/src/Exception.php',
+    'Matrix\\Functions' => $vendorDir . '/markbaker/matrix/classes/src/Functions.php',
+    'Matrix\\Matrix' => $vendorDir . '/markbaker/matrix/classes/src/Matrix.php',
+    'Matrix\\Operations' => $vendorDir . '/markbaker/matrix/classes/src/Operations.php',
+    'Matrix\\Operators\\Addition' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Addition.php',
+    'Matrix\\Operators\\DirectSum' => $vendorDir . '/markbaker/matrix/classes/src/Operators/DirectSum.php',
+    'Matrix\\Operators\\Division' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Division.php',
+    'Matrix\\Operators\\Multiplication' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Multiplication.php',
+    'Matrix\\Operators\\Operator' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Operator.php',
+    'Matrix\\Operators\\Subtraction' => $vendorDir . '/markbaker/matrix/classes/src/Operators/Subtraction.php',
     'Monolog\\Attribute\\AsMonologProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Attribute/AsMonologProcessor.php',
     'Monolog\\DateTimeImmutable' => $vendorDir . '/monolog/monolog/src/Monolog/DateTimeImmutable.php',
     'Monolog\\ErrorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/ErrorHandler.php',
@@ -398,6 +660,8 @@ return array(
     'Monolog\\SignalHandler' => $vendorDir . '/monolog/monolog/src/Monolog/SignalHandler.php',
     'Monolog\\Test\\TestCase' => $vendorDir . '/monolog/monolog/src/Monolog/Test/TestCase.php',
     'Monolog\\Utils' => $vendorDir . '/monolog/monolog/src/Monolog/Utils.php',
+    'MyCLabs\\Enum\\Enum' => $vendorDir . '/myclabs/php-enum/src/Enum.php',
+    'MyCLabs\\Enum\\PHPUnit\\Comparator' => $vendorDir . '/myclabs/php-enum/src/PHPUnit/Comparator.php',
     'OSS\\Core\\MimeTypes' => $vendorDir . '/aliyuncs/oss-sdk-php/src/OSS/Core/MimeTypes.php',
     'OSS\\Core\\OssException' => $vendorDir . '/aliyuncs/oss-sdk-php/src/OSS/Core/OssException.php',
     'OSS\\Core\\OssUtil' => $vendorDir . '/aliyuncs/oss-sdk-php/src/OSS/Core/OssUtil.php',
@@ -517,6 +781,512 @@ return array(
     'PhpOffice\\Common\\Text' => $vendorDir . '/phpoffice/common/src/Common/Text.php',
     'PhpOffice\\Common\\XMLReader' => $vendorDir . '/phpoffice/common/src/Common/XMLReader.php',
     'PhpOffice\\Common\\XMLWriter' => $vendorDir . '/phpoffice/common/src/Common/XMLWriter.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\ArrayEnabled' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/ArrayEnabled.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\BinaryComparison' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/BinaryComparison.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Calculation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Calculation.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Category' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Category.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DAverage' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DAverage.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DCount' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DCount.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DCountA' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DCountA.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DGet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DGet.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DMax' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DMax.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DMin' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DMin.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DProduct' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DProduct.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DStDev' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DStDev.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DStDevP' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DStDevP.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DSum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DSum.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DVar' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DVar.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DVarP' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DVarP.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Database\\DatabaseAbstract' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Database/DatabaseAbstract.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTime' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTime.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Constants' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Constants.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Current' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Current.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Date' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Date.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\DateParts' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/DateParts.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\DateValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/DateValue.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Days' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Days.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Days360' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Days360.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Difference' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Difference.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Helpers.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Month' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Month.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\NetworkDays' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/NetworkDays.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Time' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Time.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\TimeParts' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/TimeParts.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\TimeValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/TimeValue.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\Week' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/Week.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\WorkDay' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/WorkDay.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\DateTimeExcel\\YearFrac' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/DateTimeExcel/YearFrac.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\ArrayArgumentHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentHelper.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\ArrayArgumentProcessor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/ArrayArgumentProcessor.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\BranchPruner' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/BranchPruner.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\CyclicReferenceStack' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/CyclicReferenceStack.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\FormattedNumber' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/FormattedNumber.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Logger' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Logger.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Operands\\Operand' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Operands/Operand.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engine\\Operands\\StructuredReference' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engine/Operands/StructuredReference.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselI' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselI.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselJ' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselJ.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselK' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselK.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BesselY' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BesselY.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\BitWise' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/BitWise.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Compare' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Compare.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Complex' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Complex.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ComplexFunctions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ComplexFunctions.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ComplexOperations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ComplexOperations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Constants' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Constants.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertBase.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertBinary' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertBinary.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertDecimal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertDecimal.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertHex' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertHex.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertOctal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertOctal.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ConvertUOM' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ConvertUOM.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\EngineeringValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/EngineeringValidations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\Erf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/Erf.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Engineering\\ErfC' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Engineering/ErfC.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Exception.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\ExceptionHandler' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/ExceptionHandler.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Amortization' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Amortization.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\CashFlowValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/CashFlowValidations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Cumulative' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Cumulative.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Interest' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Interest.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\InterestAndPrincipal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/InterestAndPrincipal.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Constant\\Periodic\\Payments' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Constant/Periodic/Payments.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Single' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Single.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Variable\\NonPeriodic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Variable/NonPeriodic.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\CashFlow\\Variable\\Periodic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/CashFlow/Variable/Periodic.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Constants' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Constants.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Coupons' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Coupons.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Depreciation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Depreciation.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Dollar' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Dollar.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\FinancialValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/FinancialValidations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Helpers.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\InterestRate' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/InterestRate.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\AccruedInterest' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/AccruedInterest.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Price' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Price.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Rates' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Rates.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\SecurityValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/SecurityValidations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\Securities\\Yields' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/Securities/Yields.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Financial\\TreasuryBill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Financial/TreasuryBill.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\FormulaParser' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaParser.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\FormulaToken' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/FormulaToken.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Functions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Functions.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\ErrorValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/ErrorValue.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\ExcelError' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/ExcelError.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Information\\Value' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Information/Value.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\MakeMatrix' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/MakeMatrix.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Internal\\WildcardMatch' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Internal/WildcardMatch.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Boolean' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Boolean.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Conditional' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Conditional.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Logical\\Operations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Logical/Operations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Address' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Address.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\ExcelMatch' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/ExcelMatch.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Filter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Filter.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Formula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Formula.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\HLookup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/HLookup.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Helpers.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Hyperlink' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Hyperlink.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Indirect' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Indirect.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Lookup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Lookup.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\LookupBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/LookupBase.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\LookupRefValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/LookupRefValidations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Matrix' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Matrix.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Offset' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Offset.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\RowColumnInformation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/RowColumnInformation.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Selection' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Selection.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Sort' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Sort.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\Unique' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/Unique.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\LookupRef\\VLookup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/LookupRef/VLookup.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Absolute' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Absolute.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Angle' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Angle.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Arabic' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Arabic.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Base' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Base.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Ceiling' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Ceiling.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Combinations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Combinations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Exp' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Exp.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Factorial' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Factorial.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Floor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Floor.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Gcd' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Gcd.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Helpers.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\IntClass' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/IntClass.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Lcm' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Lcm.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Logarithms' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Logarithms.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\MatrixFunctions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/MatrixFunctions.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Operations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Operations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Random' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Random.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Roman' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Roman.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Round' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Round.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\SeriesSum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/SeriesSum.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sign' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sign.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sqrt' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sqrt.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Subtotal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Subtotal.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Sum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Sum.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\SumSquares' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/SumSquares.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cosecant' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosecant.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cosine' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cosine.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Cotangent' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Cotangent.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Secant' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Secant.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Sine' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Sine.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trig\\Tangent' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trig/Tangent.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\MathTrig\\Trunc' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/MathTrig/Trunc.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\AggregateBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/AggregateBase.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Averages' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Averages\\Mean' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Averages/Mean.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Conditional' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Conditional.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Confidence' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Confidence.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Counts' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Counts.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Deviations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Deviations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Beta' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Beta.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Binomial' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Binomial.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\ChiSquared' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/ChiSquared.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\DistributionValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/DistributionValidations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Exponential' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Exponential.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\F' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/F.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Fisher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Fisher.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Gamma' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Gamma.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\GammaBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/GammaBase.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\HyperGeometric' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/HyperGeometric.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\LogNormal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/LogNormal.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\NewtonRaphson' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/NewtonRaphson.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Normal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Normal.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Poisson' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Poisson.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\StandardNormal' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/StandardNormal.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\StudentT' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/StudentT.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Distributions\\Weibull' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Distributions/Weibull.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\MaxMinBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/MaxMinBase.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Maximum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Maximum.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Minimum' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Minimum.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Percentiles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Percentiles.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Permutations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Permutations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Size' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Size.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\StandardDeviations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/StandardDeviations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Standardize' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Standardize.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\StatisticalValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/StatisticalValidations.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Trends' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Trends.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\VarianceBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/VarianceBase.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Statistical\\Variances' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Statistical/Variances.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\CaseConvert' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/CaseConvert.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\CharacterConvert' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/CharacterConvert.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Concatenate' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Concatenate.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Extract' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Extract.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Format' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Format.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Helpers' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Helpers.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Replace' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Replace.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Search' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Search.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Text' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Text.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\TextData\\Trim' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/TextData/Trim.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Token\\Stack' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Token/Stack.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Web' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Web.php',
+    'PhpOffice\\PhpSpreadsheet\\Calculation\\Web\\Service' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Calculation/Web/Service.php',
+    'PhpOffice\\PhpSpreadsheet\\CellReferenceHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/CellReferenceHelper.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\AddressHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AddressHelper.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\AddressRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AddressRange.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\AdvancedValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/AdvancedValueBinder.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\Cell' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Cell.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\CellAddress' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/CellAddress.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\CellRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/CellRange.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\ColumnRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/ColumnRange.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\Coordinate' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Coordinate.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\DataType' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataType.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\DataValidation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataValidation.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\DataValidator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DataValidator.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\DefaultValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DefaultValueBinder.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\Hyperlink' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/Hyperlink.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\IValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/IValueBinder.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\IgnoredErrors' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/IgnoredErrors.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\RowRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/RowRange.php',
+    'PhpOffice\\PhpSpreadsheet\\Cell\\StringValueBinder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/StringValueBinder.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\Axis' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Axis.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\AxisText' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/AxisText.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\Chart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Chart.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\ChartColor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/ChartColor.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\DataSeries' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeries.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\DataSeriesValues' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/DataSeriesValues.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Exception.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\GridLines' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/GridLines.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\Layout' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Layout.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\Legend' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Legend.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\PlotArea' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/PlotArea.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Properties.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\IRenderer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/IRenderer.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\JpGraph' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/JpGraph.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\JpGraphRendererBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/JpGraphRendererBase.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\Renderer\\MtJpGraphRenderer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Renderer/MtJpGraphRenderer.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\Title' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/Title.php',
+    'PhpOffice\\PhpSpreadsheet\\Chart\\TrendLine' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/TrendLine.php',
+    'PhpOffice\\PhpSpreadsheet\\Collection\\Cells' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Cells.php',
+    'PhpOffice\\PhpSpreadsheet\\Collection\\CellsFactory' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/CellsFactory.php',
+    'PhpOffice\\PhpSpreadsheet\\Collection\\Memory\\SimpleCache1' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Memory/SimpleCache1.php',
+    'PhpOffice\\PhpSpreadsheet\\Collection\\Memory\\SimpleCache3' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Collection/Memory/SimpleCache3.php',
+    'PhpOffice\\PhpSpreadsheet\\Comment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Comment.php',
+    'PhpOffice\\PhpSpreadsheet\\DefinedName' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/DefinedName.php',
+    'PhpOffice\\PhpSpreadsheet\\Document\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Properties.php',
+    'PhpOffice\\PhpSpreadsheet\\Document\\Security' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Document/Security.php',
+    'PhpOffice\\PhpSpreadsheet\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Exception.php',
+    'PhpOffice\\PhpSpreadsheet\\HashTable' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/HashTable.php',
+    'PhpOffice\\PhpSpreadsheet\\Helper\\Dimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Dimension.php',
+    'PhpOffice\\PhpSpreadsheet\\Helper\\Downloader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Downloader.php',
+    'PhpOffice\\PhpSpreadsheet\\Helper\\Handler' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Handler.php',
+    'PhpOffice\\PhpSpreadsheet\\Helper\\Html' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Html.php',
+    'PhpOffice\\PhpSpreadsheet\\Helper\\Sample' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Sample.php',
+    'PhpOffice\\PhpSpreadsheet\\Helper\\Size' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/Size.php',
+    'PhpOffice\\PhpSpreadsheet\\Helper\\TextGrid' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Helper/TextGrid.php',
+    'PhpOffice\\PhpSpreadsheet\\IComparable' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IComparable.php',
+    'PhpOffice\\PhpSpreadsheet\\IOFactory' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/IOFactory.php',
+    'PhpOffice\\PhpSpreadsheet\\NamedFormula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/NamedFormula.php',
+    'PhpOffice\\PhpSpreadsheet\\NamedRange' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/NamedRange.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\BaseReader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/BaseReader.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Csv' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Csv.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Csv\\Delimiter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Csv/Delimiter.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\DefaultReadFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/DefaultReadFilter.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Exception.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\PageSetup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/PageSetup.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/Properties.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Gnumeric\\Styles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric/Styles.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Html' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Html.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\IReadFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/IReadFilter.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\IReader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/IReader.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Ods' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/AutoFilter.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\BaseLoader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/BaseLoader.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\DefinedNames' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/DefinedNames.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\FormulaTranslator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/FormulaTranslator.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\PageSettings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/PageSettings.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Ods\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Ods/Properties.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Security\\XmlScanner' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Security/XmlScanner.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Slk' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Slk.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BIFF5' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BIFF5.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BIFF8' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BIFF8.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Color\\BuiltIn' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Color/BuiltIn.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ConditionalFormatting' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ConditionalFormatting.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\DataValidationHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/DataValidationHelper.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\ErrorCode' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/ErrorCode.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Escher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Escher.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\MD5' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/MD5.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\RC4' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/RC4.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\Border' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/Border.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\CellAlignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/CellAlignment.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\CellFont' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/CellFont.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xls\\Style\\FillPattern' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xls/Style/FillPattern.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/AutoFilter.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\BaseParserClass' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/BaseParserClass.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Chart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Chart.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\ColumnAndRowAttributes' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ColumnAndRowAttributes.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\ConditionalStyles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/ConditionalStyles.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\DataValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/DataValidations.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Hyperlinks' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Hyperlinks.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Namespaces' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Namespaces.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\PageSetup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/PageSetup.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Properties.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SharedFormula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SharedFormula.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SheetViewOptions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SheetViewOptions.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\SheetViews' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/SheetViews.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Styles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Styles.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\TableReader' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/TableReader.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\Theme' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/Theme.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xlsx\\WorkbookView' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx/WorkbookView.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xml' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\DataValidations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/DataValidations.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\PageSettings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/PageSettings.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Properties' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Properties.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Alignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Alignment.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Border' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Border.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Fill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Fill.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/Font.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\NumberFormat' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/NumberFormat.php',
+    'PhpOffice\\PhpSpreadsheet\\Reader\\Xml\\Style\\StyleBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xml/Style/StyleBase.php',
+    'PhpOffice\\PhpSpreadsheet\\ReferenceHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/ReferenceHelper.php',
+    'PhpOffice\\PhpSpreadsheet\\RichText\\ITextElement' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/ITextElement.php',
+    'PhpOffice\\PhpSpreadsheet\\RichText\\RichText' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/RichText.php',
+    'PhpOffice\\PhpSpreadsheet\\RichText\\Run' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/Run.php',
+    'PhpOffice\\PhpSpreadsheet\\RichText\\TextElement' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/RichText/TextElement.php',
+    'PhpOffice\\PhpSpreadsheet\\Settings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Settings.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\CodePage' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/CodePage.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Date' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Date.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Drawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Drawing.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Escher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer\\SpgrContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer/SpgrContainer.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DgContainer\\SpgrContainer\\SpContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DgContainer/SpgrContainer/SpContainer.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer\\BSE' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer/BSE.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Escher\\DggContainer\\BstoreContainer\\BSE\\Blip' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\File' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/File.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Font.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\IntOrFloat' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/IntOrFloat.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\OLE' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\OLERead' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLERead.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\ChainedBlockStream' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/ChainedBlockStream.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS\\File' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS/File.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\OLE\\PPS\\Root' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/OLE/PPS/Root.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\PasswordHasher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/PasswordHasher.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\StringHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/StringHelper.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\TimeZone' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/TimeZone.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\BestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/BestFit.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\ExponentialBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/ExponentialBestFit.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\LinearBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/LinearBestFit.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\LogarithmicBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/LogarithmicBestFit.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\PolynomialBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/PolynomialBestFit.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\PowerBestFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/PowerBestFit.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Trend\\Trend' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Trend/Trend.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\XMLWriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/XMLWriter.php',
+    'PhpOffice\\PhpSpreadsheet\\Shared\\Xls' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/Xls.php',
+    'PhpOffice\\PhpSpreadsheet\\Spreadsheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Spreadsheet.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\Alignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Alignment.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\Border' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Border.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\Borders' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Borders.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\Color' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Color.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\Conditional' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Conditional.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\CellMatcher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/CellMatcher.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\CellStyleAssessor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/CellStyleAssessor.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalDataBar' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBar.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalDataBarExtension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalDataBarExtension.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalFormatValueObject' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormatValueObject.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\ConditionalFormattingRuleExtension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/ConditionalFormattingRuleExtension.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\StyleMerger' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/StyleMerger.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Blanks' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Blanks.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\CellValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/CellValue.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\DateValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/DateValue.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Duplicates' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Duplicates.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Errors' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Errors.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\Expression' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/Expression.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\TextValue' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/TextValue.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\WizardAbstract' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/WizardAbstract.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\ConditionalFormatting\\Wizard\\WizardInterface' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/ConditionalFormatting/Wizard/WizardInterface.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\Fill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Fill.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Font.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\BaseFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/BaseFormatter.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\DateFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/DateFormatter.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Formatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Formatter.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\FractionFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/FractionFormatter.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\NumberFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/NumberFormatter.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\PercentageFormatter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/PercentageFormatter.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Accounting' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Accounting.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Currency' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Currency.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Date' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Date.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\DateTime' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/DateTime.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\DateTimeWizard' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/DateTimeWizard.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Duration' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Duration.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Locale' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Locale.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Number' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Number.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\NumberBase' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/NumberBase.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Percentage' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Percentage.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Scientific' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Scientific.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Time' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Time.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\NumberFormat\\Wizard\\Wizard' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/NumberFormat/Wizard/Wizard.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\Protection' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Protection.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\RgbTint' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/RgbTint.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Style.php',
+    'PhpOffice\\PhpSpreadsheet\\Style\\Supervisor' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Style/Supervisor.php',
+    'PhpOffice\\PhpSpreadsheet\\Theme' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Theme.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter\\Column' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFilter\\Column\\Rule' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFilter/Column/Rule.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\AutoFit' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/AutoFit.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\BaseDrawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/BaseDrawing.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\CellIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/CellIterator.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Column' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Column.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnCellIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnCellIterator.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnDimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnDimension.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\ColumnIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/ColumnIterator.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Dimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Dimension.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Drawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Drawing.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Drawing\\Shadow' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Drawing/Shadow.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\HeaderFooter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/HeaderFooter.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\HeaderFooterDrawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/HeaderFooterDrawing.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Iterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Iterator.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\MemoryDrawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/MemoryDrawing.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageBreak' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageBreak.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageMargins' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageMargins.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\PageSetup' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/PageSetup.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Protection' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Protection.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Row' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Row.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowCellIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowCellIterator.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowDimension' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowDimension.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\RowIterator' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/RowIterator.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\SheetView' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/SheetView.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\Column' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/Column.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Table\\TableStyle' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Table/TableStyle.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Validations' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Validations.php',
+    'PhpOffice\\PhpSpreadsheet\\Worksheet\\Worksheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Worksheet/Worksheet.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\BaseWriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/BaseWriter.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Csv' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Csv.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Exception' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Exception.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Html' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Html.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\IWriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/IWriter.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\AutoFilters' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/AutoFilters.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Cell\\Comment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Comment.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Cell\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Cell/Style.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Content' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Content.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Formula' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Formula.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Meta' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Meta.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\MetaInf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/MetaInf.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Mimetype' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Mimetype.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\NamedExpressions' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/NamedExpressions.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Settings' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Settings.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Styles' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Styles.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\Thumbnails' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/Thumbnails.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Ods\\WriterPart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/WriterPart.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Dompdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Dompdf.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Mpdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Mpdf.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Pdf\\Tcpdf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Pdf/Tcpdf.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\BIFFwriter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/BIFFwriter.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\CellDataValidation' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/CellDataValidation.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\ConditionalHelper' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ConditionalHelper.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\ErrorCode' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/ErrorCode.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Escher' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Escher.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Font' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Font.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Parser' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Parser.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellAlignment' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellAlignment.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellBorder' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellBorder.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\CellFill' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/CellFill.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Style\\ColorMap' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Style/ColorMap.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Workbook' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Workbook.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Worksheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Worksheet.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xls\\Xf' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xls/Xf.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\AutoFilter' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/AutoFilter.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Chart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Chart.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Comments' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Comments.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\ContentTypes' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/ContentTypes.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\DefinedNames' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/DefinedNames.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\DocProps' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/DocProps.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Drawing' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Drawing.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\FunctionPrefix' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/FunctionPrefix.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Rels' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Rels.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\RelsRibbon' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/RelsRibbon.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\RelsVBA' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/RelsVBA.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\StringTable' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/StringTable.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Style' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Style.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Table' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Table.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Theme' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Theme.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Workbook' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Workbook.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\Worksheet' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/Worksheet.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\Xlsx\\WriterPart' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Xlsx/WriterPart.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream0' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream0.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream2' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream2.php',
+    'PhpOffice\\PhpSpreadsheet\\Writer\\ZipStream3' => $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/ZipStream3.php',
     'PhpOffice\\PhpWord\\Collection\\AbstractCollection' => $vendorDir . '/phpoffice/phpword/src/PhpWord/Collection/AbstractCollection.php',
     'PhpOffice\\PhpWord\\Collection\\Bookmarks' => $vendorDir . '/phpoffice/phpword/src/PhpWord/Collection/Bookmarks.php',
     'PhpOffice\\PhpWord\\Collection\\Charts' => $vendorDir . '/phpoffice/phpword/src/PhpWord/Collection/Charts.php',
@@ -826,8 +1596,29 @@ return array(
     'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
     'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
     'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
+    'Psr\\SimpleCache\\CacheException' => $vendorDir . '/psr/simple-cache/src/CacheException.php',
+    'Psr\\SimpleCache\\CacheInterface' => $vendorDir . '/psr/simple-cache/src/CacheInterface.php',
+    'Psr\\SimpleCache\\InvalidArgumentException' => $vendorDir . '/psr/simple-cache/src/InvalidArgumentException.php',
+    'Stringable' => $vendorDir . '/myclabs/php-enum/stubs/Stringable.php',
+    'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php',
     'Zend\\Escaper\\Escaper' => $vendorDir . '/zendframework/zend-escaper/src/Escaper.php',
     'Zend\\Escaper\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-escaper/src/Exception/ExceptionInterface.php',
     'Zend\\Escaper\\Exception\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-escaper/src/Exception/InvalidArgumentException.php',
     'Zend\\Escaper\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-escaper/src/Exception/RuntimeException.php',
+    'ZipStream\\Bigint' => $vendorDir . '/maennchen/zipstream-php/src/Bigint.php',
+    'ZipStream\\DeflateStream' => $vendorDir . '/maennchen/zipstream-php/src/DeflateStream.php',
+    'ZipStream\\Exception' => $vendorDir . '/maennchen/zipstream-php/src/Exception.php',
+    'ZipStream\\Exception\\EncodingException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/EncodingException.php',
+    'ZipStream\\Exception\\FileNotFoundException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/FileNotFoundException.php',
+    'ZipStream\\Exception\\FileNotReadableException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/FileNotReadableException.php',
+    'ZipStream\\Exception\\IncompatibleOptionsException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/IncompatibleOptionsException.php',
+    'ZipStream\\Exception\\OverflowException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/OverflowException.php',
+    'ZipStream\\Exception\\StreamNotReadableException' => $vendorDir . '/maennchen/zipstream-php/src/Exception/StreamNotReadableException.php',
+    'ZipStream\\File' => $vendorDir . '/maennchen/zipstream-php/src/File.php',
+    'ZipStream\\Option\\Archive' => $vendorDir . '/maennchen/zipstream-php/src/Option/Archive.php',
+    'ZipStream\\Option\\File' => $vendorDir . '/maennchen/zipstream-php/src/Option/File.php',
+    'ZipStream\\Option\\Method' => $vendorDir . '/maennchen/zipstream-php/src/Option/Method.php',
+    'ZipStream\\Option\\Version' => $vendorDir . '/maennchen/zipstream-php/src/Option/Version.php',
+    'ZipStream\\Stream' => $vendorDir . '/maennchen/zipstream-php/src/Stream.php',
+    'ZipStream\\ZipStream' => $vendorDir . '/maennchen/zipstream-php/src/ZipStream.php',
 );

+ 2 - 0
include/vendor/composer/autoload_files.php

@@ -10,4 +10,6 @@ return array(
     '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
     'd767e4fc2dc52fe66584ab8c6684783e' => $vendorDir . '/adbario/php-dot-notation/src/helpers.php',
     '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
+    '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
+    '2cffec82183ee1cea088009cef9a6fc3' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php',
 );

+ 1 - 0
include/vendor/composer/autoload_namespaces.php

@@ -6,4 +6,5 @@ $vendorDir = dirname(__DIR__);
 $baseDir = dirname($vendorDir);
 
 return array(
+    'HTMLPurifier' => array($vendorDir . '/ezyang/htmlpurifier/library'),
 );

+ 7 - 0
include/vendor/composer/autoload_psr4.php

@@ -6,20 +6,27 @@ $vendorDir = dirname(__DIR__);
 $baseDir = dirname($vendorDir);
 
 return array(
+    'ZipStream\\' => array($vendorDir . '/maennchen/zipstream-php/src'),
     'Zend\\Escaper\\' => array($vendorDir . '/zendframework/zend-escaper/src'),
+    'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
+    'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'),
     'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
     'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
     'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
     'PhpOffice\\PhpWord\\' => array($vendorDir . '/phpoffice/phpword/src/PhpWord'),
+    'PhpOffice\\PhpSpreadsheet\\' => array($vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet', $vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet'),
     'PhpOffice\\Common\\' => array($vendorDir . '/phpoffice/common/src/Common'),
     'OneSm\\' => array($vendorDir . '/lizhichao/one-sm/src'),
     'OSS\\' => array($vendorDir . '/aliyuncs/oss-sdk-php/src/OSS'),
+    'MyCLabs\\Enum\\' => array($vendorDir . '/myclabs/php-enum/src'),
     'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
+    'Matrix\\' => array($vendorDir . '/markbaker/matrix/classes/src'),
     'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
     'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
     'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
     'Darabonba\\OpenApi\\' => array($vendorDir . '/alibabacloud/darabonba-openapi/src'),
     'Darabonba\\GatewaySpi\\' => array($vendorDir . '/alibabacloud/gateway-spi/src'),
+    'Complex\\' => array($vendorDir . '/markbaker/complex/classes/src'),
     'AlibabaCloud\\Tea\\XML\\' => array($vendorDir . '/alibabacloud/tea-xml/src'),
     'AlibabaCloud\\Tea\\Utils\\' => array($vendorDir . '/alibabacloud/tea-utils/src'),
     'AlibabaCloud\\Tea\\Console\\' => array($vendorDir . '/alibabacloud/tea-console/src'),

File diff ditekan karena terlalu besar
+ 855 - 9
include/vendor/composer/autoload_static.php


File diff ditekan karena terlalu besar
+ 698 - 81
include/vendor/composer/installed.json


+ 104 - 32
include/vendor/composer/installed.php

@@ -3,7 +3,7 @@
         'name' => '__root__',
         'pretty_version' => 'dev-master',
         'version' => 'dev-master',
-        'reference' => 'e7368094e2f557bead9535ee2510da275dd17dc8',
+        'reference' => '69619a9f84dba5eabf881dd56f8313088fc176ac',
         'type' => 'library',
         'install_path' => __DIR__ . '/../../',
         'aliases' => array(),
@@ -13,7 +13,7 @@
         '__root__' => array(
             'pretty_version' => 'dev-master',
             'version' => 'dev-master',
-            'reference' => 'e7368094e2f557bead9535ee2510da275dd17dc8',
+            'reference' => '69619a9f84dba5eabf881dd56f8313088fc176ac',
             'type' => 'library',
             'install_path' => __DIR__ . '/../../',
             'aliases' => array(),
@@ -29,18 +29,18 @@
             'dev_requirement' => false,
         ),
         'alibabacloud/credentials' => array(
-            'pretty_version' => '1.1.5',
-            'version' => '1.1.5.0',
-            'reference' => '1d8383ceef695974a88a3859c42e235fd2e3981a',
+            'pretty_version' => '1.2.0',
+            'version' => '1.2.0.0',
+            'reference' => 'ebcda2e628180b4df235b46a86e1d014c561f5d9',
             'type' => 'library',
             'install_path' => __DIR__ . '/../alibabacloud/credentials',
             'aliases' => array(),
             'dev_requirement' => false,
         ),
         'alibabacloud/darabonba-openapi' => array(
-            'pretty_version' => '0.2.10',
-            'version' => '0.2.10.0',
-            'reference' => '88f42443e1b5c9d086d0444baa4a874f8636f7bb',
+            'pretty_version' => '0.2.13',
+            'version' => '0.2.13.0',
+            'reference' => '0213396384e2c064eefd614f3dd53636a63f987f',
             'type' => 'library',
             'install_path' => __DIR__ . '/../alibabacloud/darabonba-openapi',
             'aliases' => array(),
@@ -101,9 +101,9 @@
             'dev_requirement' => false,
         ),
         'alibabacloud/tea-utils' => array(
-            'pretty_version' => '0.2.19',
-            'version' => '0.2.19.0',
-            'reference' => '8dfc1a93e9415818e93a621b644abbb84981aea4',
+            'pretty_version' => '0.2.21',
+            'version' => '0.2.21.0',
+            'reference' => '5039e45714c6456186d267f5d81a4b260a652495',
             'type' => 'library',
             'install_path' => __DIR__ . '/../alibabacloud/tea-utils',
             'aliases' => array(),
@@ -119,36 +119,45 @@
             'dev_requirement' => false,
         ),
         'aliyuncs/oss-sdk-php' => array(
-            'pretty_version' => 'v2.7.1',
-            'version' => '2.7.1.0',
-            'reference' => 'ce5d34dae9868237a32248788ea175c7e9da14b1',
+            'pretty_version' => 'v2.7.2',
+            'version' => '2.7.2.0',
+            'reference' => '483dd0b8bff5d47f0e4ffc99f6077a295c5ccbb5',
             'type' => 'library',
             'install_path' => __DIR__ . '/../aliyuncs/oss-sdk-php',
             'aliases' => array(),
             'dev_requirement' => false,
         ),
+        'ezyang/htmlpurifier' => array(
+            'pretty_version' => 'v4.18.0',
+            'version' => '4.18.0.0',
+            'reference' => 'cb56001e54359df7ae76dc522d08845dc741621b',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../ezyang/htmlpurifier',
+            'aliases' => array(),
+            'dev_requirement' => false,
+        ),
         'guzzlehttp/guzzle' => array(
-            'pretty_version' => '7.8.1',
-            'version' => '7.8.1.0',
-            'reference' => '41042bc7ab002487b876a0683fc8dce04ddce104',
+            'pretty_version' => '7.9.2',
+            'version' => '7.9.2.0',
+            'reference' => 'd281ed313b989f213357e3be1a179f02196ac99b',
             'type' => 'library',
             'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
             'aliases' => array(),
             'dev_requirement' => false,
         ),
         'guzzlehttp/promises' => array(
-            'pretty_version' => '2.0.2',
-            'version' => '2.0.2.0',
-            'reference' => 'bbff78d96034045e58e13dedd6ad91b5d1253223',
+            'pretty_version' => '2.0.3',
+            'version' => '2.0.3.0',
+            'reference' => '6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8',
             'type' => 'library',
             'install_path' => __DIR__ . '/../guzzlehttp/promises',
             'aliases' => array(),
             'dev_requirement' => false,
         ),
         'guzzlehttp/psr7' => array(
-            'pretty_version' => '2.6.2',
-            'version' => '2.6.2.0',
-            'reference' => '45b30f99ac27b5ca93cb4831afe16285f57b8221',
+            'pretty_version' => '2.7.0',
+            'version' => '2.7.0.0',
+            'reference' => 'a70f5c95fb43bc83f07c9c948baa0dc1829bf201',
             'type' => 'library',
             'install_path' => __DIR__ . '/../guzzlehttp/psr7',
             'aliases' => array(),
@@ -163,15 +172,51 @@
             'aliases' => array(),
             'dev_requirement' => false,
         ),
+        'maennchen/zipstream-php' => array(
+            'pretty_version' => '2.2.6',
+            'version' => '2.2.6.0',
+            'reference' => '30ad6f93cf3efe4192bc7a4c9cad11ff8f4f237f',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../maennchen/zipstream-php',
+            'aliases' => array(),
+            'dev_requirement' => false,
+        ),
+        'markbaker/complex' => array(
+            'pretty_version' => '3.0.2',
+            'version' => '3.0.2.0',
+            'reference' => '95c56caa1cf5c766ad6d65b6344b807c1e8405b9',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../markbaker/complex',
+            'aliases' => array(),
+            'dev_requirement' => false,
+        ),
+        'markbaker/matrix' => array(
+            'pretty_version' => '3.0.1',
+            'version' => '3.0.1.0',
+            'reference' => '728434227fe21be27ff6d86621a1b13107a2562c',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../markbaker/matrix',
+            'aliases' => array(),
+            'dev_requirement' => false,
+        ),
         'monolog/monolog' => array(
-            'pretty_version' => '2.9.2',
-            'version' => '2.9.2.0',
-            'reference' => '437cb3628f4cf6042cc10ae97fc2b8472e48ca1f',
+            'pretty_version' => '2.10.0',
+            'version' => '2.10.0.0',
+            'reference' => '5cf826f2991858b54d5c3809bee745560a1042a7',
             'type' => 'library',
             'install_path' => __DIR__ . '/../monolog/monolog',
             'aliases' => array(),
             'dev_requirement' => false,
         ),
+        'myclabs/php-enum' => array(
+            'pretty_version' => '1.8.4',
+            'version' => '1.8.4.0',
+            'reference' => 'a867478eae49c9f59ece437ae7f9506bfaa27483',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../myclabs/php-enum',
+            'aliases' => array(),
+            'dev_requirement' => false,
+        ),
         'pclzip/pclzip' => array(
             'pretty_version' => '2.8.2',
             'version' => '2.8.2.0',
@@ -190,6 +235,15 @@
             'aliases' => array(),
             'dev_requirement' => false,
         ),
+        'phpoffice/phpspreadsheet' => array(
+            'pretty_version' => '1.29.7',
+            'version' => '1.29.7.0',
+            'reference' => '02c8625411dcb96e1f63d58c47460284e15b2e80',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../phpoffice/phpspreadsheet',
+            'aliases' => array(),
+            'dev_requirement' => false,
+        ),
         'phpoffice/phpword' => array(
             'pretty_version' => '0.17.0',
             'version' => '0.17.0.0',
@@ -230,9 +284,9 @@
             ),
         ),
         'psr/http-message' => array(
-            'pretty_version' => '2.0',
-            'version' => '2.0.0.0',
-            'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71',
+            'pretty_version' => '1.1',
+            'version' => '1.1.0.0',
+            'reference' => 'cb6ce4845ce34a8ad9e68117c10ee90a29919eba',
             'type' => 'library',
             'install_path' => __DIR__ . '/../psr/http-message',
             'aliases' => array(),
@@ -259,6 +313,15 @@
                 0 => '1.0.0 || 2.0.0 || 3.0.0',
             ),
         ),
+        'psr/simple-cache' => array(
+            'pretty_version' => '1.0.1',
+            'version' => '1.0.1.0',
+            'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../psr/simple-cache',
+            'aliases' => array(),
+            'dev_requirement' => false,
+        ),
         'ralouphie/getallheaders' => array(
             'pretty_version' => '3.0.3',
             'version' => '3.0.3.0',
@@ -269,14 +332,23 @@
             'dev_requirement' => false,
         ),
         'symfony/deprecation-contracts' => array(
-            'pretty_version' => 'v2.5.2',
-            'version' => '2.5.2.0',
-            'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66',
+            'pretty_version' => 'v2.5.4',
+            'version' => '2.5.4.0',
+            'reference' => '605389f2a7e5625f273b53960dc46aeaf9c62918',
             'type' => 'library',
             'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
             'aliases' => array(),
             'dev_requirement' => false,
         ),
+        'symfony/polyfill-mbstring' => array(
+            'pretty_version' => 'v1.31.0',
+            'version' => '1.31.0.0',
+            'reference' => '85181ba99b2345b0ef10ce42ecac37612d9fd341',
+            'type' => 'library',
+            'install_path' => __DIR__ . '/../symfony/polyfill-mbstring',
+            'aliases' => array(),
+            'dev_requirement' => false,
+        ),
         'zendframework/zend-escaper' => array(
             'pretty_version' => '2.6.1',
             'version' => '2.6.1.0',

+ 2 - 2
include/vendor/composer/platform_check.php

@@ -4,8 +4,8 @@
 
 $issues = array();
 
-if (!(PHP_VERSION_ID >= 70205)) {
-    $issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.5". You are running ' . PHP_VERSION . '.';
+if (!(PHP_VERSION_ID >= 70400)) {
+    $issues[] = 'Your Composer dependencies require a PHP version ">= 7.4.0". You are running ' . PHP_VERSION . '.';
 }
 
 if ($issues) {

+ 31 - 0
include/vendor/guzzlehttp/guzzle/CHANGELOG.md

@@ -3,6 +3,37 @@
 Please refer to [UPGRADING](UPGRADING.md) guide for upgrading to a major version.
 
 
+## 7.9.2 - 2024-07-24
+
+### Fixed
+
+- Adjusted handler selection to use cURL if its version is 7.21.2 or higher, rather than 7.34.0
+
+
+## 7.9.1 - 2024-07-19
+
+### Fixed
+
+- Fix TLS 1.3 check for HTTP/2 requests
+
+
+## 7.9.0 - 2024-07-18
+
+### Changed
+
+- Improve protocol version checks to provide feedback around unsupported protocols
+- Only select the cURL handler by default if 7.34.0 or higher is linked
+- Improved `CurlMultiHandler` to avoid busy wait if possible
+- Dropped support for EOL `guzzlehttp/psr7` v1
+- Improved URI user info redaction in errors
+
+## 7.8.2 - 2024-07-18
+
+### Added
+
+- Support for PHP 8.4
+
+
 ## 7.8.1 - 2023-12-03
 
 ### Changed

+ 5 - 5
include/vendor/guzzlehttp/guzzle/README.md

@@ -62,11 +62,11 @@ composer require guzzlehttp/guzzle
 
 | Version | Status              | Packagist           | Namespace    | Repo                | Docs                | PSR-7 | PHP Version  |
 |---------|---------------------|---------------------|--------------|---------------------|---------------------|-------|--------------|
-| 3.x     | EOL                 | `guzzle/guzzle`     | `Guzzle`     | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No    | >=5.3.3,<7.0 |
-| 4.x     | EOL                 | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A                 | No    | >=5.4,<7.0   |
-| 5.x     | EOL                 | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No    | >=5.4,<7.4   |
-| 6.x     | Security fixes only | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes   | >=5.5,<8.0   |
-| 7.x     | Latest              | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes   | >=7.2.5,<8.4 |
+| 3.x     | EOL (2016-10-31)    | `guzzle/guzzle`     | `Guzzle`     | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No    | >=5.3.3,<7.0 |
+| 4.x     | EOL (2016-10-31)    | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A                 | No    | >=5.4,<7.0   |
+| 5.x     | EOL (2019-10-31)    | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No    | >=5.4,<7.4   |
+| 6.x     | EOL (2023-10-31)    | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes   | >=5.5,<8.0   |
+| 7.x     | Latest              | `guzzlehttp/guzzle` | `GuzzleHttp` | [v7][guzzle-7-repo] | [v7][guzzle-7-docs] | Yes   | >=7.2.5,<8.5 |
 
 [guzzle-3-repo]: https://github.com/guzzle/guzzle3
 [guzzle-4-repo]: https://github.com/guzzle/guzzle/tree/4.x

+ 32 - 4
include/vendor/guzzlehttp/guzzle/composer.json

@@ -50,11 +50,39 @@
             "homepage": "https://github.com/Tobion"
         }
     ],
+    "repositories": [
+        {
+            "type": "package",
+            "package": {
+                "name": "guzzle/client-integration-tests",
+                "version": "v3.0.2",
+                "dist": {
+                    "url": "https://codeload.github.com/guzzle/client-integration-tests/zip/2c025848417c1135031fdf9c728ee53d0a7ceaee",
+                    "type": "zip"
+                },
+                "require": {
+                    "php": "^7.2.5 || ^8.0",
+                    "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.11",
+                    "php-http/message": "^1.0 || ^2.0",
+                    "guzzlehttp/psr7": "^1.7 || ^2.0",
+                    "th3n3rd/cartesian-product": "^0.3"
+                },
+                "autoload": {
+                    "psr-4": {
+                        "Http\\Client\\Tests\\": "src/"
+                    }
+                },
+                "bin": [
+                    "bin/http_test_server"
+                ]
+            }
+        }
+    ],
     "require": {
         "php": "^7.2.5 || ^8.0",
         "ext-json": "*",
-        "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
-        "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
+        "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
+        "guzzlehttp/psr7": "^2.7.0",
         "psr/http-client": "^1.0",
         "symfony/deprecation-contracts": "^2.2 || ^3.0"
     },
@@ -64,9 +92,9 @@
     "require-dev": {
         "ext-curl": "*",
         "bamarni/composer-bin-plugin": "^1.8.2",
-        "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
+        "guzzle/client-integration-tests": "3.0.2",
         "php-http/message-factory": "^1.1",
-        "phpunit/phpunit": "^8.5.36 || ^9.6.15",
+        "phpunit/phpunit": "^8.5.39 || ^9.6.20",
         "psr/log": "^1.1 || ^2.0 || ^3.0"
     },
     "suggest": {

+ 3 - 3
include/vendor/guzzlehttp/guzzle/src/BodySummarizer.php

@@ -11,7 +11,7 @@ final class BodySummarizer implements BodySummarizerInterface
      */
     private $truncateAt;
 
-    public function __construct(int $truncateAt = null)
+    public function __construct(?int $truncateAt = null)
     {
         $this->truncateAt = $truncateAt;
     }
@@ -22,7 +22,7 @@ final class BodySummarizer implements BodySummarizerInterface
     public function summarize(MessageInterface $message): ?string
     {
         return $this->truncateAt === null
-            ? \GuzzleHttp\Psr7\Message::bodySummary($message)
-            : \GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt);
+            ? Psr7\Message::bodySummary($message)
+            : Psr7\Message::bodySummary($message, $this->truncateAt);
     }
 }

+ 2 - 2
include/vendor/guzzlehttp/guzzle/src/Client.php

@@ -52,7 +52,7 @@ class Client implements ClientInterface, \Psr\Http\Client\ClientInterface
      *
      * @param array $config Client configuration settings.
      *
-     * @see \GuzzleHttp\RequestOptions for a list of available request options.
+     * @see RequestOptions for a list of available request options.
      */
     public function __construct(array $config = [])
     {
@@ -202,7 +202,7 @@ class Client implements ClientInterface, \Psr\Http\Client\ClientInterface
      *
      * @deprecated Client::getConfig will be removed in guzzlehttp/guzzle:8.0.
      */
-    public function getConfig(string $option = null)
+    public function getConfig(?string $option = null)
     {
         return $option === null
             ? $this->config

+ 1 - 1
include/vendor/guzzlehttp/guzzle/src/ClientInterface.php

@@ -80,5 +80,5 @@ interface ClientInterface
      *
      * @deprecated ClientInterface::getConfig will be removed in guzzlehttp/guzzle:8.0.
      */
-    public function getConfig(string $option = null);
+    public function getConfig(?string $option = null);
 }

+ 1 - 1
include/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php

@@ -103,7 +103,7 @@ class CookieJar implements CookieJarInterface
         }, $this->getIterator()->getArrayCopy());
     }
 
-    public function clear(string $domain = null, string $path = null, string $name = null): void
+    public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void
     {
         if (!$domain) {
             $this->cookies = [];

+ 1 - 1
include/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php

@@ -62,7 +62,7 @@ interface CookieJarInterface extends \Countable, \IteratorAggregate
      * @param string|null $path   Clears cookies matching a domain and path
      * @param string|null $name   Clears cookies matching a domain, path, and name
      */
-    public function clear(string $domain = null, string $path = null, string $name = null): void;
+    public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void;
 
     /**
      * Discard all sessions cookies.

+ 1 - 1
include/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php

@@ -14,7 +14,7 @@ class BadResponseException extends RequestException
         string $message,
         RequestInterface $request,
         ResponseInterface $response,
-        \Throwable $previous = null,
+        ?\Throwable $previous = null,
         array $handlerContext = []
     ) {
         parent::__construct($message, $request, $response, $previous, $handlerContext);

+ 1 - 1
include/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php

@@ -25,7 +25,7 @@ class ConnectException extends TransferException implements NetworkExceptionInte
     public function __construct(
         string $message,
         RequestInterface $request,
-        \Throwable $previous = null,
+        ?\Throwable $previous = null,
         array $handlerContext = []
     ) {
         parent::__construct($message, 0, $previous);

+ 6 - 22
include/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php

@@ -7,7 +7,6 @@ use GuzzleHttp\BodySummarizerInterface;
 use Psr\Http\Client\RequestExceptionInterface;
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\ResponseInterface;
-use Psr\Http\Message\UriInterface;
 
 /**
  * HTTP Request exception
@@ -32,8 +31,8 @@ class RequestException extends TransferException implements RequestExceptionInte
     public function __construct(
         string $message,
         RequestInterface $request,
-        ResponseInterface $response = null,
-        \Throwable $previous = null,
+        ?ResponseInterface $response = null,
+        ?\Throwable $previous = null,
         array $handlerContext = []
     ) {
         // Set the code of the exception if the response is set and not future.
@@ -63,10 +62,10 @@ class RequestException extends TransferException implements RequestExceptionInte
      */
     public static function create(
         RequestInterface $request,
-        ResponseInterface $response = null,
-        \Throwable $previous = null,
+        ?ResponseInterface $response = null,
+        ?\Throwable $previous = null,
         array $handlerContext = [],
-        BodySummarizerInterface $bodySummarizer = null
+        ?BodySummarizerInterface $bodySummarizer = null
     ): self {
         if (!$response) {
             return new self(
@@ -90,8 +89,7 @@ class RequestException extends TransferException implements RequestExceptionInte
             $className = __CLASS__;
         }
 
-        $uri = $request->getUri();
-        $uri = static::obfuscateUri($uri);
+        $uri = \GuzzleHttp\Psr7\Utils::redactUserInfo($request->getUri());
 
         // Client Error: `GET /` resulted in a `404 Not Found` response:
         // <html> ... (truncated)
@@ -114,20 +112,6 @@ class RequestException extends TransferException implements RequestExceptionInte
     }
 
     /**
-     * Obfuscates URI if there is a username and a password present
-     */
-    private static function obfuscateUri(UriInterface $uri): UriInterface
-    {
-        $userInfo = $uri->getUserInfo();
-
-        if (false !== ($pos = \strpos($userInfo, ':'))) {
-            return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***');
-        }
-
-        return $uri;
-    }
-
-    /**
      * Get the request that caused the exception
      */
     public function getRequest(): RequestInterface

+ 116 - 18
include/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php

@@ -11,6 +11,7 @@ use GuzzleHttp\Psr7\LazyOpenStream;
 use GuzzleHttp\TransferStats;
 use GuzzleHttp\Utils;
 use Psr\Http\Message\RequestInterface;
+use Psr\Http\Message\UriInterface;
 
 /**
  * Creates curl resources from a request
@@ -46,6 +47,16 @@ class CurlFactory implements CurlFactoryInterface
 
     public function create(RequestInterface $request, array $options): EasyHandle
     {
+        $protocolVersion = $request->getProtocolVersion();
+
+        if ('2' === $protocolVersion || '2.0' === $protocolVersion) {
+            if (!self::supportsHttp2()) {
+                throw new ConnectException('HTTP/2 is supported by the cURL handler, however libcurl is built without HTTP/2 support.', $request);
+            }
+        } elseif ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) {
+            throw new ConnectException(sprintf('HTTP/%s is not supported by the cURL handler.', $protocolVersion), $request);
+        }
+
         if (isset($options['curl']['body_as_string'])) {
             $options['_body_as_string'] = $options['curl']['body_as_string'];
             unset($options['curl']['body_as_string']);
@@ -72,6 +83,42 @@ class CurlFactory implements CurlFactoryInterface
         return $easy;
     }
 
+    private static function supportsHttp2(): bool
+    {
+        static $supportsHttp2 = null;
+
+        if (null === $supportsHttp2) {
+            $supportsHttp2 = self::supportsTls12()
+                && defined('CURL_VERSION_HTTP2')
+                && (\CURL_VERSION_HTTP2 & \curl_version()['features']);
+        }
+
+        return $supportsHttp2;
+    }
+
+    private static function supportsTls12(): bool
+    {
+        static $supportsTls12 = null;
+
+        if (null === $supportsTls12) {
+            $supportsTls12 = \CURL_SSLVERSION_TLSv1_2 & \curl_version()['features'];
+        }
+
+        return $supportsTls12;
+    }
+
+    private static function supportsTls13(): bool
+    {
+        static $supportsTls13 = null;
+
+        if (null === $supportsTls13) {
+            $supportsTls13 = defined('CURL_SSLVERSION_TLSv1_3')
+                && (\CURL_SSLVERSION_TLSv1_3 & \curl_version()['features']);
+        }
+
+        return $supportsTls13;
+    }
+
     public function release(EasyHandle $easy): void
     {
         $resource = $easy->handle;
@@ -147,7 +194,7 @@ class CurlFactory implements CurlFactoryInterface
             'error' => \curl_error($easy->handle),
             'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME),
         ] + \curl_getinfo($easy->handle);
-        $ctx[self::CURL_VERSION_STR] = \curl_version()['version'];
+        $ctx[self::CURL_VERSION_STR] = self::getCurlVersion();
         $factory->release($easy);
 
         // Retry when nothing is present or when curl failed to rewind.
@@ -158,6 +205,17 @@ class CurlFactory implements CurlFactoryInterface
         return self::createRejection($easy, $ctx);
     }
 
+    private static function getCurlVersion(): string
+    {
+        static $curlVersion = null;
+
+        if (null === $curlVersion) {
+            $curlVersion = \curl_version()['version'];
+        }
+
+        return $curlVersion;
+    }
+
     private static function createRejection(EasyHandle $easy, array $ctx): PromiseInterface
     {
         static $connectionErrors = [
@@ -194,15 +252,22 @@ class CurlFactory implements CurlFactoryInterface
             );
         }
 
+        $uri = $easy->request->getUri();
+
+        $sanitizedError = self::sanitizeCurlError($ctx['error'] ?? '', $uri);
+
         $message = \sprintf(
             'cURL error %s: %s (%s)',
             $ctx['errno'],
-            $ctx['error'],
+            $sanitizedError,
             'see https://curl.haxx.se/libcurl/c/libcurl-errors.html'
         );
-        $uriString = (string) $easy->request->getUri();
-        if ($uriString !== '' && false === \strpos($ctx['error'], $uriString)) {
-            $message .= \sprintf(' for %s', $uriString);
+
+        if ('' !== $sanitizedError) {
+            $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($uri)->__toString();
+            if ($redactedUriString !== '' && false === \strpos($sanitizedError, $redactedUriString)) {
+                $message .= \sprintf(' for %s', $redactedUriString);
+            }
         }
 
         // Create a connection exception if it was a specific error code.
@@ -213,6 +278,24 @@ class CurlFactory implements CurlFactoryInterface
         return P\Create::rejectionFor($error);
     }
 
+    private static function sanitizeCurlError(string $error, UriInterface $uri): string
+    {
+        if ('' === $error) {
+            return $error;
+        }
+
+        $baseUri = $uri->withQuery('')->withFragment('');
+        $baseUriString = $baseUri->__toString();
+
+        if ('' === $baseUriString) {
+            return $error;
+        }
+
+        $redactedUriString = \GuzzleHttp\Psr7\Utils::redactUserInfo($baseUri)->__toString();
+
+        return str_replace($baseUriString, $redactedUriString, $error);
+    }
+
     /**
      * @return array<int|string, mixed>
      */
@@ -232,10 +315,11 @@ class CurlFactory implements CurlFactoryInterface
         }
 
         $version = $easy->request->getProtocolVersion();
-        if ($version == 1.1) {
-            $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1;
-        } elseif ($version == 2.0) {
+
+        if ('2' === $version || '2.0' === $version) {
             $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0;
+        } elseif ('1.1' === $version) {
+            $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1;
         } else {
             $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_0;
         }
@@ -390,8 +474,10 @@ class CurlFactory implements CurlFactoryInterface
                 // The empty string enables all available decoders and implicitly
                 // sets a matching 'Accept-Encoding' header.
                 $conf[\CURLOPT_ENCODING] = '';
-                // But as the user did not specify any acceptable encodings we need
-                // to overwrite this implicit header with an empty one.
+                // But as the user did not specify any encoding preference,
+                // let's leave it up to server by preventing curl from sending
+                // the header, which will be interpreted as 'Accept-Encoding: *'.
+                // https://www.rfc-editor.org/rfc/rfc9110#field.accept-encoding
                 $conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:';
             }
         }
@@ -455,23 +541,35 @@ class CurlFactory implements CurlFactoryInterface
         }
 
         if (isset($options['crypto_method'])) {
-            if (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) {
-                if (!defined('CURL_SSLVERSION_TLSv1_0')) {
-                    throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.0 not supported by your version of cURL');
+            $protocolVersion = $easy->request->getProtocolVersion();
+
+            // If HTTP/2, upgrade TLS 1.0 and 1.1 to 1.2
+            if ('2' === $protocolVersion || '2.0' === $protocolVersion) {
+                if (
+                    \STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']
+                    || \STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']
+                    || \STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']
+                ) {
+                    $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2;
+                } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) {
+                    if (!self::supportsTls13()) {
+                        throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL');
+                    }
+                    $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3;
+                } else {
+                    throw new \InvalidArgumentException('Invalid crypto_method request option: unknown version provided');
                 }
+            } elseif (\STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT === $options['crypto_method']) {
                 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_0;
             } elseif (\STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']) {
-                if (!defined('CURL_SSLVERSION_TLSv1_1')) {
-                    throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.1 not supported by your version of cURL');
-                }
                 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_1;
             } elseif (\STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']) {
-                if (!defined('CURL_SSLVERSION_TLSv1_2')) {
+                if (!self::supportsTls12()) {
                     throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.2 not supported by your version of cURL');
                 }
                 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2;
             } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) {
-                if (!defined('CURL_SSLVERSION_TLSv1_3')) {
+                if (!self::supportsTls13()) {
                     throw new \InvalidArgumentException('Invalid crypto_method request option: TLS 1.3 not supported by your version of cURL');
                 }
                 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3;

+ 17 - 0
include/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php

@@ -2,6 +2,7 @@
 
 namespace GuzzleHttp\Handler;
 
+use Closure;
 use GuzzleHttp\Promise as P;
 use GuzzleHttp\Promise\Promise;
 use GuzzleHttp\Promise\PromiseInterface;
@@ -159,6 +160,9 @@ class CurlMultiHandler
             }
         }
 
+        // Run curl_multi_exec in the queue to enable other async tasks to run
+        P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue']));
+
         // Step through the task queue which may add additional requests.
         P\Utils::queue()->run();
 
@@ -169,12 +173,25 @@ class CurlMultiHandler
         }
 
         while (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) {
+            // Prevent busy looping for slow HTTP requests.
+            \curl_multi_select($this->_mh, $this->selectTimeout);
         }
 
         $this->processMessages();
     }
 
     /**
+     * Runs \curl_multi_exec() inside the event loop, to prevent busy looping
+     */
+    private function tickInQueue(): void
+    {
+        if (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) {
+            \curl_multi_select($this->_mh, 0);
+            P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue']));
+        }
+    }
+
+    /**
      * Runs until all outstanding connections have completed.
      */
     public function execute(): void

+ 4 - 4
include/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php

@@ -52,21 +52,21 @@ class MockHandler implements \Countable
      * @param callable|null $onFulfilled Callback to invoke when the return value is fulfilled.
      * @param callable|null $onRejected  Callback to invoke when the return value is rejected.
      */
-    public static function createWithMiddleware(array $queue = null, callable $onFulfilled = null, callable $onRejected = null): HandlerStack
+    public static function createWithMiddleware(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null): HandlerStack
     {
         return HandlerStack::create(new self($queue, $onFulfilled, $onRejected));
     }
 
     /**
      * The passed in value must be an array of
-     * {@see \Psr\Http\Message\ResponseInterface} objects, Exceptions,
+     * {@see ResponseInterface} objects, Exceptions,
      * callables, or Promises.
      *
      * @param array<int, mixed>|null $queue       The parameters to be passed to the append function, as an indexed array.
      * @param callable|null          $onFulfilled Callback to invoke when the return value is fulfilled.
      * @param callable|null          $onRejected  Callback to invoke when the return value is rejected.
      */
-    public function __construct(array $queue = null, callable $onFulfilled = null, callable $onRejected = null)
+    public function __construct(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null)
     {
         $this->onFulfilled = $onFulfilled;
         $this->onRejected = $onRejected;
@@ -200,7 +200,7 @@ class MockHandler implements \Countable
     private function invokeStats(
         RequestInterface $request,
         array $options,
-        ResponseInterface $response = null,
+        ?ResponseInterface $response = null,
         $reason = null
     ): void {
         if (isset($options['on_stats'])) {

+ 9 - 3
include/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php

@@ -40,6 +40,12 @@ class StreamHandler
             \usleep($options['delay'] * 1000);
         }
 
+        $protocolVersion = $request->getProtocolVersion();
+
+        if ('1.0' !== $protocolVersion && '1.1' !== $protocolVersion) {
+            throw new ConnectException(sprintf('HTTP/%s is not supported by the stream handler.', $protocolVersion), $request);
+        }
+
         $startTime = isset($options['on_stats']) ? Utils::currentTime() : null;
 
         try {
@@ -83,8 +89,8 @@ class StreamHandler
         array $options,
         RequestInterface $request,
         ?float $startTime,
-        ResponseInterface $response = null,
-        \Throwable $error = null
+        ?ResponseInterface $response = null,
+        ?\Throwable $error = null
     ): void {
         if (isset($options['on_stats'])) {
             $stats = new TransferStats($request, $response, Utils::currentTime() - $startTime, $error, []);
@@ -273,7 +279,7 @@ class StreamHandler
 
         // HTTP/1.1 streams using the PHP stream wrapper require a
         // Connection: close header
-        if ($request->getProtocolVersion() == '1.1'
+        if ($request->getProtocolVersion() === '1.1'
             && !$request->hasHeader('Connection')
         ) {
             $request = $request->withHeader('Connection', 'close');

+ 3 - 3
include/vendor/guzzlehttp/guzzle/src/HandlerStack.php

@@ -44,7 +44,7 @@ class HandlerStack
      *                                                                            handler is provided, the best handler for your
      *                                                                            system will be utilized.
      */
-    public static function create(callable $handler = null): self
+    public static function create(?callable $handler = null): self
     {
         $stack = new self($handler ?: Utils::chooseHandler());
         $stack->push(Middleware::httpErrors(), 'http_errors');
@@ -58,7 +58,7 @@ class HandlerStack
     /**
      * @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler.
      */
-    public function __construct(callable $handler = null)
+    public function __construct(?callable $handler = null)
     {
         $this->handler = $handler;
     }
@@ -131,7 +131,7 @@ class HandlerStack
      * @param callable(callable): callable $middleware Middleware function
      * @param string                       $name       Name to register for this middleware.
      */
-    public function unshift(callable $middleware, string $name = null): void
+    public function unshift(callable $middleware, ?string $name = null): void
     {
         \array_unshift($this->stack, [$middleware, $name]);
         $this->cached = null;

+ 1 - 1
include/vendor/guzzlehttp/guzzle/src/MessageFormatter.php

@@ -68,7 +68,7 @@ class MessageFormatter implements MessageFormatterInterface
      * @param ResponseInterface|null $response Response that was received
      * @param \Throwable|null        $error    Exception that was received
      */
-    public function format(RequestInterface $request, ResponseInterface $response = null, \Throwable $error = null): string
+    public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string
     {
         $cache = [];
 

+ 1 - 1
include/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php

@@ -14,5 +14,5 @@ interface MessageFormatterInterface
      * @param ResponseInterface|null $response Response that was received
      * @param \Throwable|null        $error    Exception that was received
      */
-    public function format(RequestInterface $request, ResponseInterface $response = null, \Throwable $error = null): string;
+    public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string;
 }

+ 3 - 3
include/vendor/guzzlehttp/guzzle/src/Middleware.php

@@ -55,7 +55,7 @@ final class Middleware
      *
      * @return callable(callable): callable Returns a function that accepts the next handler.
      */
-    public static function httpErrors(BodySummarizerInterface $bodySummarizer = null): callable
+    public static function httpErrors(?BodySummarizerInterface $bodySummarizer = null): callable
     {
         return static function (callable $handler) use ($bodySummarizer): callable {
             return static function ($request, array $options) use ($handler, $bodySummarizer) {
@@ -132,7 +132,7 @@ final class Middleware
      *
      * @return callable Returns a function that accepts the next handler.
      */
-    public static function tap(callable $before = null, callable $after = null): callable
+    public static function tap(?callable $before = null, ?callable $after = null): callable
     {
         return static function (callable $handler) use ($before, $after): callable {
             return static function (RequestInterface $request, array $options) use ($handler, $before, $after) {
@@ -176,7 +176,7 @@ final class Middleware
      *
      * @return callable Returns a function that accepts the next handler.
      */
-    public static function retry(callable $decider, callable $delay = null): callable
+    public static function retry(callable $decider, ?callable $delay = null): callable
     {
         return static function (callable $handler) use ($decider, $delay): RetryMiddleware {
             return new RetryMiddleware($decider, $handler, $delay);

+ 2 - 2
include/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php

@@ -76,8 +76,8 @@ class PrepareBodyMiddleware
 
         $expect = $options['expect'] ?? null;
 
-        // Return if disabled or if you're not using HTTP/1.1 or HTTP/2.0
-        if ($expect === false || $request->getProtocolVersion() < 1.1) {
+        // Return if disabled or using HTTP/1.0
+        if ($expect === false || $request->getProtocolVersion() === '1.0') {
             return;
         }
 

+ 1 - 1
include/vendor/guzzlehttp/guzzle/src/RequestOptions.php

@@ -61,7 +61,7 @@ final class RequestOptions
      * Specifies whether or not cookies are used in a request or what cookie
      * jar to use or what cookies to send. This option only works if your
      * handler has the `cookie` middleware. Valid values are `false` and
-     * an instance of {@see \GuzzleHttp\Cookie\CookieJarInterface}.
+     * an instance of {@see Cookie\CookieJarInterface}.
      */
     public const COOKIES = 'cookies';
 

+ 2 - 2
include/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php

@@ -40,7 +40,7 @@ class RetryMiddleware
      *                                                                         and returns the number of
      *                                                                         milliseconds to delay.
      */
-    public function __construct(callable $decider, callable $nextHandler, callable $delay = null)
+    public function __construct(callable $decider, callable $nextHandler, ?callable $delay = null)
     {
         $this->decider = $decider;
         $this->nextHandler = $nextHandler;
@@ -110,7 +110,7 @@ class RetryMiddleware
         };
     }
 
-    private function doRetry(RequestInterface $request, array $options, ResponseInterface $response = null): PromiseInterface
+    private function doRetry(RequestInterface $request, array $options, ?ResponseInterface $response = null): PromiseInterface
     {
         $options['delay'] = ($this->delay)(++$options['retries'], $response, $request);
 

+ 2 - 2
include/vendor/guzzlehttp/guzzle/src/TransferStats.php

@@ -46,8 +46,8 @@ final class TransferStats
      */
     public function __construct(
         RequestInterface $request,
-        ResponseInterface $response = null,
-        float $transferTime = null,
+        ?ResponseInterface $response = null,
+        ?float $transferTime = null,
         $handlerErrorData = null,
         array $handlerStats = []
     ) {

+ 2 - 2
include/vendor/guzzlehttp/guzzle/src/Utils.php

@@ -71,7 +71,7 @@ final class Utils
             return \STDOUT;
         }
 
-        return \GuzzleHttp\Psr7\Utils::tryFopen('php://output', 'w');
+        return Psr7\Utils::tryFopen('php://output', 'w');
     }
 
     /**
@@ -87,7 +87,7 @@ final class Utils
     {
         $handler = null;
 
-        if (\defined('CURLOPT_CUSTOMREQUEST')) {
+        if (\defined('CURLOPT_CUSTOMREQUEST') && \function_exists('curl_version') && version_compare(curl_version()['version'], '7.21.2') >= 0) {
             if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) {
                 $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler());
             } elseif (\function_exists('curl_exec')) {

+ 7 - 0
include/vendor/guzzlehttp/promises/CHANGELOG.md

@@ -1,6 +1,13 @@
 # CHANGELOG
 
 
+## 2.0.3 - 2024-07-18
+
+### Changed
+
+- PHP 8.4 support
+
+
 ## 2.0.2 - 2023-12-03
 
 ### Changed

+ 4 - 4
include/vendor/guzzlehttp/promises/README.md

@@ -38,10 +38,10 @@ composer require guzzlehttp/promises
 
 ## Version Guidance
 
-| Version | Status                 | PHP Version  |
-|---------|------------------------|--------------|
-| 1.x     | Bug and security fixes | >=5.5,<8.3   |
-| 2.x     | Latest                 | >=7.2.5,<8.4 |
+| Version | Status              | PHP Version  |
+|---------|---------------------|--------------|
+| 1.x     | Security fixes only | >=5.5,<8.3   |
+| 2.x     | Latest              | >=7.2.5,<8.5 |
 
 
 ## Quick Start

+ 1 - 1
include/vendor/guzzlehttp/promises/composer.json

@@ -30,7 +30,7 @@
     },
     "require-dev": {
         "bamarni/composer-bin-plugin": "^1.8.2",
-        "phpunit/phpunit": "^8.5.36 || ^9.6.15"
+        "phpunit/phpunit": "^8.5.39 || ^9.6.20"
     },
     "autoload": {
         "psr-4": {

+ 2 - 2
include/vendor/guzzlehttp/promises/src/Coroutine.php

@@ -84,8 +84,8 @@ final class Coroutine implements PromiseInterface
     }
 
     public function then(
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
         return $this->result->then($onFulfilled, $onRejected);
     }

+ 5 - 5
include/vendor/guzzlehttp/promises/src/Each.php

@@ -23,8 +23,8 @@ final class Each
      */
     public static function of(
         $iterable,
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
         return (new EachPromise($iterable, [
             'fulfilled' => $onFulfilled,
@@ -46,8 +46,8 @@ final class Each
     public static function ofLimit(
         $iterable,
         $concurrency,
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
         return (new EachPromise($iterable, [
             'fulfilled' => $onFulfilled,
@@ -67,7 +67,7 @@ final class Each
     public static function ofLimitAll(
         $iterable,
         $concurrency,
-        callable $onFulfilled = null
+        ?callable $onFulfilled = null
     ): PromiseInterface {
         return self::ofLimit(
             $iterable,

+ 2 - 2
include/vendor/guzzlehttp/promises/src/FulfilledPromise.php

@@ -31,8 +31,8 @@ class FulfilledPromise implements PromiseInterface
     }
 
     public function then(
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
         // Return itself if there is no onFulfilled function.
         if (!$onFulfilled) {

+ 4 - 4
include/vendor/guzzlehttp/promises/src/Promise.php

@@ -25,16 +25,16 @@ class Promise implements PromiseInterface
      * @param callable $cancelFn Fn that when invoked cancels the promise.
      */
     public function __construct(
-        callable $waitFn = null,
-        callable $cancelFn = null
+        ?callable $waitFn = null,
+        ?callable $cancelFn = null
     ) {
         $this->waitFn = $waitFn;
         $this->cancelFn = $cancelFn;
     }
 
     public function then(
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
         if ($this->state === self::PENDING) {
             $p = new Promise(null, [$this, 'cancel']);

+ 2 - 2
include/vendor/guzzlehttp/promises/src/PromiseInterface.php

@@ -27,8 +27,8 @@ interface PromiseInterface
      * @param callable $onRejected  Invoked when the promise is rejected.
      */
     public function then(
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface;
 
     /**

+ 2 - 2
include/vendor/guzzlehttp/promises/src/RejectedPromise.php

@@ -31,8 +31,8 @@ class RejectedPromise implements PromiseInterface
     }
 
     public function then(
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
         // If there's no onRejected callback then just return self.
         if (!$onRejected) {

+ 1 - 1
include/vendor/guzzlehttp/promises/src/RejectionException.php

@@ -18,7 +18,7 @@ class RejectionException extends \RuntimeException
      * @param mixed       $reason      Rejection reason.
      * @param string|null $description Optional description.
      */
-    public function __construct($reason, string $description = null)
+    public function __construct($reason, ?string $description = null)
     {
         $this->reason = $reason;
 

+ 1 - 1
include/vendor/guzzlehttp/promises/src/Utils.php

@@ -21,7 +21,7 @@ final class Utils
      *
      * @param TaskQueueInterface|null $assign Optionally specify a new queue instance.
      */
-    public static function queue(TaskQueueInterface $assign = null): TaskQueueInterface
+    public static function queue(?TaskQueueInterface $assign = null): TaskQueueInterface
     {
         static $queue;
 

+ 17 - 0
include/vendor/guzzlehttp/psr7/CHANGELOG.md

@@ -5,6 +5,23 @@ All notable changes to this project will be documented in this file.
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
+## 2.7.0 - 2024-07-18
+
+### Added
+
+- Add `Utils::redactUserInfo()` method
+- Add ability to encode bools as ints in `Query::build`
+
+## 2.6.3 - 2024-07-18
+
+### Fixed
+
+- Make `StreamWrapper::stream_stat()` return `false` if inner stream's size is `null` 
+
+### Changed
+
+- PHP 8.4 support
+
 ## 2.6.2 - 2023-12-03
 
 ### Fixed

+ 12 - 5
include/vendor/guzzlehttp/psr7/README.md

@@ -24,8 +24,8 @@ composer require guzzlehttp/psr7
 
 | Version | Status              | PHP Version  |
 |---------|---------------------|--------------|
-| 1.x     | Security fixes only | >=5.4,<8.1   |
-| 2.x     | Latest              | >=7.2.5,<8.4 |
+| 1.x     | EOL (2024-06-30)    | >=5.4,<8.2   |
+| 2.x     | Latest              | >=7.2.5,<8.5 |
 
 
 ## AppendStream
@@ -436,7 +436,7 @@ will be parsed into `['foo[a]' => '1', 'foo[b]' => '2'])`.
 
 ## `GuzzleHttp\Psr7\Query::build`
 
-`public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986): string`
+`public static function build(array $params, int|false $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string`
 
 Build a query string from an array of key value pairs.
 
@@ -498,11 +498,18 @@ a message.
 
 ## `GuzzleHttp\Psr7\Utils::readLine`
 
-`public static function readLine(StreamInterface $stream, int $maxLength = null): string`
+`public static function readLine(StreamInterface $stream, ?int $maxLength = null): string`
 
 Read a line from the stream up to the maximum allowed buffer length.
 
 
+## `GuzzleHttp\Psr7\Utils::redactUserInfo`
+
+`public static function redactUserInfo(UriInterface $uri): UriInterface`
+
+Redact the password in the user info part of a URI.
+
+
 ## `GuzzleHttp\Psr7\Utils::streamFor`
 
 `public static function streamFor(resource|string|null|int|float|bool|StreamInterface|callable|\Iterator $resource = '', array $options = []): StreamInterface`
@@ -674,7 +681,7 @@ termed a relative-path reference.
 
 ### `GuzzleHttp\Psr7\Uri::isSameDocumentReference`
 
-`public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool`
+`public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool`
 
 Whether the URI is a same-document reference. A same-document reference refers to a URI that is, aside from its
 fragment component, identical to the base URI. When no base URI is given, only an empty URI reference

+ 2 - 2
include/vendor/guzzlehttp/psr7/composer.json

@@ -61,8 +61,8 @@
     },
     "require-dev": {
         "bamarni/composer-bin-plugin": "^1.8.2",
-        "http-interop/http-factory-tests": "^0.9",
-        "phpunit/phpunit": "^8.5.36 || ^9.6.15"
+        "http-interop/http-factory-tests": "0.9.0",
+        "phpunit/phpunit": "^8.5.39 || ^9.6.20"
     },
     "suggest": {
         "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"

+ 1 - 1
include/vendor/guzzlehttp/psr7/src/CachingStream.php

@@ -33,7 +33,7 @@ final class CachingStream implements StreamInterface
      */
     public function __construct(
         StreamInterface $stream,
-        StreamInterface $target = null
+        ?StreamInterface $target = null
     ) {
         $this->remoteStream = $stream;
         $this->stream = $target ?: new Stream(Utils::tryFopen('php://temp', 'r+'));

+ 3 - 3
include/vendor/guzzlehttp/psr7/src/HttpFactory.php

@@ -27,10 +27,10 @@ final class HttpFactory implements RequestFactoryInterface, ResponseFactoryInter
 {
     public function createUploadedFile(
         StreamInterface $stream,
-        int $size = null,
+        ?int $size = null,
         int $error = \UPLOAD_ERR_OK,
-        string $clientFilename = null,
-        string $clientMediaType = null
+        ?string $clientFilename = null,
+        ?string $clientMediaType = null
     ): UploadedFileInterface {
         if ($size === null) {
             $size = $stream->getSize();

+ 1 - 1
include/vendor/guzzlehttp/psr7/src/MultipartStream.php

@@ -32,7 +32,7 @@ final class MultipartStream implements StreamInterface
      *
      * @throws \InvalidArgumentException
      */
-    public function __construct(array $elements = [], string $boundary = null)
+    public function __construct(array $elements = [], ?string $boundary = null)
     {
         $this->boundary = $boundary ?: bin2hex(random_bytes(20));
         $this->stream = $this->createStream($elements);

+ 12 - 7
include/vendor/guzzlehttp/psr7/src/Query.php

@@ -63,12 +63,15 @@ final class Query
      * string. This function does not modify the provided keys when an array is
      * encountered (like `http_build_query()` would).
      *
-     * @param array     $params   Query string parameters.
-     * @param int|false $encoding Set to false to not encode, PHP_QUERY_RFC3986
-     *                            to encode using RFC3986, or PHP_QUERY_RFC1738
-     *                            to encode using RFC1738.
+     * @param array     $params           Query string parameters.
+     * @param int|false $encoding         Set to false to not encode,
+     *                                    PHP_QUERY_RFC3986 to encode using
+     *                                    RFC3986, or PHP_QUERY_RFC1738 to
+     *                                    encode using RFC1738.
+     * @param bool      $treatBoolsAsInts Set to true to encode as 0/1, and
+     *                                    false as false/true.
      */
-    public static function build(array $params, $encoding = PHP_QUERY_RFC3986): string
+    public static function build(array $params, $encoding = PHP_QUERY_RFC3986, bool $treatBoolsAsInts = true): string
     {
         if (!$params) {
             return '';
@@ -86,12 +89,14 @@ final class Query
             throw new \InvalidArgumentException('Invalid type');
         }
 
+        $castBool = $treatBoolsAsInts ? static function ($v) { return (int) $v; } : static function ($v) { return $v ? 'true' : 'false'; };
+
         $qs = '';
         foreach ($params as $k => $v) {
             $k = $encoder((string) $k);
             if (!is_array($v)) {
                 $qs .= $k;
-                $v = is_bool($v) ? (int) $v : $v;
+                $v = is_bool($v) ? $castBool($v) : $v;
                 if ($v !== null) {
                     $qs .= '='.$encoder((string) $v);
                 }
@@ -99,7 +104,7 @@ final class Query
             } else {
                 foreach ($v as $vv) {
                     $qs .= $k;
-                    $vv = is_bool($vv) ? (int) $vv : $vv;
+                    $vv = is_bool($vv) ? $castBool($vv) : $vv;
                     if ($vv !== null) {
                         $qs .= '='.$encoder((string) $vv);
                     }

+ 1 - 1
include/vendor/guzzlehttp/psr7/src/Response.php

@@ -96,7 +96,7 @@ class Response implements ResponseInterface
         array $headers = [],
         $body = null,
         string $version = '1.1',
-        string $reason = null
+        ?string $reason = null
     ) {
         $this->assertStatusCodeRange($status);
 

+ 7 - 3
include/vendor/guzzlehttp/psr7/src/StreamWrapper.php

@@ -69,7 +69,7 @@ final class StreamWrapper
         }
     }
 
-    public function stream_open(string $path, string $mode, int $options, string &$opened_path = null): bool
+    public function stream_open(string $path, string $mode, int $options, ?string &$opened_path = null): bool
     {
         $options = stream_context_get_options($this->context);
 
@@ -136,10 +136,14 @@ final class StreamWrapper
      *   ctime: int,
      *   blksize: int,
      *   blocks: int
-     * }
+     * }|false
      */
-    public function stream_stat(): array
+    public function stream_stat()
     {
+        if ($this->stream->getSize() === null) {
+            return false;
+        }
+
         static $modeMap = [
             'r' => 33060,
             'rb' => 33060,

+ 2 - 2
include/vendor/guzzlehttp/psr7/src/UploadedFile.php

@@ -64,8 +64,8 @@ class UploadedFile implements UploadedFileInterface
         $streamOrFile,
         ?int $size,
         int $errorStatus,
-        string $clientFilename = null,
-        string $clientMediaType = null
+        ?string $clientFilename = null,
+        ?string $clientMediaType = null
     ) {
         $this->setError($errorStatus);
         $this->size = $size;

+ 1 - 1
include/vendor/guzzlehttp/psr7/src/Uri.php

@@ -279,7 +279,7 @@ class Uri implements UriInterface, \JsonSerializable
      *
      * @see https://datatracker.ietf.org/doc/html/rfc3986#section-4.4
      */
-    public static function isSameDocumentReference(UriInterface $uri, UriInterface $base = null): bool
+    public static function isSameDocumentReference(UriInterface $uri, ?UriInterface $base = null): bool
     {
         if ($base !== null) {
             $uri = UriResolver::resolve($base, $uri);

+ 15 - 1
include/vendor/guzzlehttp/psr7/src/Utils.php

@@ -231,7 +231,7 @@ final class Utils
      * @param StreamInterface $stream    Stream to read from
      * @param int|null        $maxLength Maximum buffer length
      */
-    public static function readLine(StreamInterface $stream, int $maxLength = null): string
+    public static function readLine(StreamInterface $stream, ?int $maxLength = null): string
     {
         $buffer = '';
         $size = 0;
@@ -251,6 +251,20 @@ final class Utils
     }
 
     /**
+     * Redact the password in the user info part of a URI.
+     */
+    public static function redactUserInfo(UriInterface $uri): UriInterface
+    {
+        $userInfo = $uri->getUserInfo();
+
+        if (false !== ($pos = \strpos($userInfo, ':'))) {
+            return $uri->withUserInfo(\substr($userInfo, 0, $pos), '***');
+        }
+
+        return $uri;
+    }
+
+    /**
      * Create a new stream based on the input type.
      *
      * Options is an associative array that can contain the following keys:

+ 12 - 0
include/vendor/monolog/monolog/CHANGELOG.md

@@ -1,3 +1,15 @@
+### 2.10.0 (2024-11-12)
+
+  * Added `$fileOpenMode` to `StreamHandler` to define a custom fopen mode to open the log file (#1913)
+  * Fixed `StreamHandler` handling of write failures so that it now closes/reopens the stream and retries the write once before failing (#1882)
+  * Fixed `StreamHandler` error handler causing issues if a stream handler triggers an error (#1866)
+  * Fixed `JsonFormatter` handling of incomplete classes (#1834)
+  * Fixed `RotatingFileHandler` bug where rotation could sometimes not happen correctly (#1905)
+
+### 2.9.3 (2024-04-12)
+
+  * Fixed PHP 8.4 deprecation warnings (#1874)
+
 ### 2.9.2 (2023-10-27)
 
   * Fixed display_errors parsing in ErrorHandler which did not support string values (#1804)

+ 2 - 2
include/vendor/monolog/monolog/composer.json

@@ -27,8 +27,8 @@
         "mongodb/mongodb": "^1.8",
         "php-amqplib/php-amqplib": "~2.4 || ^3",
         "phpspec/prophecy": "^1.15",
-        "phpstan/phpstan": "^0.12.91",
-        "phpunit/phpunit": "^8.5.14",
+        "phpstan/phpstan": "^1.10",
+        "phpunit/phpunit": "^8.5.38 || ^9.6.19",
         "predis/predis": "^1.1 || ^2.0",
         "rollbar/rollbar": "^1.3 || ^2 || ^3",
         "ruflin/elastica": "^7",

+ 2 - 0
include/vendor/monolog/monolog/src/Monolog/DateTimeImmutable.php

@@ -30,6 +30,8 @@ class DateTimeImmutable extends \DateTimeImmutable implements \JsonSerializable
     {
         $this->useMicroseconds = $useMicroseconds;
 
+        // if you like to use a custom time to pass to Logger::addRecord directly,
+        // call modify() or setTimestamp() on this instance to change the date after creating it
         parent::__construct('now', $timezone);
     }
 

+ 4 - 0
include/vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php

@@ -192,6 +192,10 @@ class JsonFormatter extends NormalizerFormatter
                 return $data;
             }
 
+            if (\get_class($data) === '__PHP_Incomplete_Class') {
+                return new \ArrayObject($data);
+            }
+
             if (method_exists($data, '__toString')) {
                 return $data->__toString();
             }

+ 1 - 0
include/vendor/monolog/monolog/src/Monolog/Handler/ElasticsearchHandler.php

@@ -187,6 +187,7 @@ class ElasticsearchHandler extends AbstractProcessingHandler
      */
     protected function createExceptionFromResponses($responses): Throwable
     {
+        // @phpstan-ignore offsetAccess.nonOffsetAccessible
         foreach ($responses['items'] ?? [] as $item) {
             if (isset($item['index']['error'])) {
                 return $this->createExceptionFromError($item['index']['error']);

+ 0 - 0
include/vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini