Browse Source

composer 更新

qr 6 months ago
parent
commit
14538e6ba8
100 changed files with 5025 additions and 1582 deletions
  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/dysmsapi-20170525": "^2.0.24",
         "alibabacloud/darabonba-openapi": "^0.2.10",
         "alibabacloud/darabonba-openapi": "^0.2.10",
         "alibabacloud/tea-console": "^0.1.0",
         "alibabacloud/tea-console": "^0.1.0",
-        "alibabacloud/tea-utils": "^0.2.19"
+        "alibabacloud/tea-utils": "^0.2.19",
+        "phpoffice/phpspreadsheet": "^1.21"
     },
     },
     "autoload": {
     "autoload": {
         "psr-4": {
         "psr-4": {
-            "AlibabaCloud\\SDK\\Sample\\": "src"
+            "AlibabaCloud\\SDK\\Sample\\": "src",
+            "PhpOffice\\PhpSpreadsheet\\": "vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet"
         }
         }
     },
     },
     "scripts": {
     "scripts": {

File diff suppressed because it is too large
+ 668 - 75
include/composer.lock


File diff suppressed because it is too large
+ 251 - 96
include/vendor/alibabacloud/credentials/README-zh-CN.md


File diff suppressed because it is too large
+ 237 - 88
include/vendor/alibabacloud/credentials/README.md


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

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

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

@@ -2,9 +2,12 @@
 
 
 namespace AlibabaCloud\Credentials;
 namespace AlibabaCloud\Credentials;
 
 
+use AlibabaCloud\Credentials\Utils\Filter;
+use AlibabaCloud\Credentials\Credential\CredentialModel;
 use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
 use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
 
 
 /**
 /**
+ * @deprecated
  * Use the AccessKey to complete the authentication.
  * Use the AccessKey to complete the authentication.
  */
  */
 class AccessKeyCredential implements CredentialsInterface
 class AccessKeyCredential implements CredentialsInterface
@@ -29,7 +32,7 @@ class AccessKeyCredential implements CredentialsInterface
     {
     {
         Filter::accessKey($access_key_id, $access_key_secret);
         Filter::accessKey($access_key_id, $access_key_secret);
 
 
-        $this->accessKeyId     = $access_key_id;
+        $this->accessKeyId = $access_key_id;
         $this->accessKeySecret = $access_key_secret;
         $this->accessKeySecret = $access_key_secret;
     }
     }
 
 
@@ -69,4 +72,15 @@ class AccessKeyCredential implements CredentialsInterface
     {
     {
         return '';
         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;
 namespace AlibabaCloud\Credentials;
 
 
+use AlibabaCloud\Credentials\Utils\Filter;
+use AlibabaCloud\Credentials\Credential\CredentialModel;
 use AlibabaCloud\Credentials\Signature\BearerTokenSignature;
 use AlibabaCloud\Credentials\Signature\BearerTokenSignature;
 
 
 /**
 /**
@@ -50,4 +52,16 @@ class BearerTokenCredential implements CredentialsInterface
     {
     {
         return new BearerTokenSignature();
         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;
 namespace AlibabaCloud\Credentials;
 
 
 use AlibabaCloud\Credentials\Credential\Config;
 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 InvalidArgumentException;
-use ReflectionClass;
-use ReflectionException;
-use ReflectionParameter;
+use RuntimeException;
 
 
 /**
 /**
  * Class Credential
  * Class Credential
  *
  *
  * @package AlibabaCloud\Credentials
  * @package AlibabaCloud\Credentials
  *
  *
- * @mixin AccessKeyCredential
- * @mixin BearerTokenCredential
- * @mixin EcsRamRoleCredential
- * @mixin RamRoleArnCredential
- * @mixin RsaKeyPairCredential
  */
  */
 class Credential
 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.
      * Credential constructor.
      *
      *
      * @param array|Config $config
      * @param array|Config $config
-     *
-     * @throws ReflectionException
      */
      */
     public function __construct($config = [])
     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 {
         } else {
-            $this->credential = Credentials::get()->getCredential();
+            $this->config = $config;
         }
         }
+        $this->credential = $this->getCredentials($this->config);
     }
     }
 
 
     /**
     /**
-     * @param Config $config
+     * @param array $config
      *
      *
      * @return array
      * @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;
         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
      * @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
      * @param string $name

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

@@ -2,49 +2,269 @@
 
 
 namespace AlibabaCloud\Credentials\Credential;
 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
      * @var string
      */
      */
     public $type = 'default';
     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;
 namespace AlibabaCloud\Credentials;
 
 
 use AlibabaCloud\Credentials\Providers\ChainProvider;
 use AlibabaCloud\Credentials\Providers\ChainProvider;
+use AlibabaCloud\Credentials\Utils\Filter;
+use AlibabaCloud\Credentials\Utils\MockTrait;
 use ReflectionException;
 use ReflectionException;
 use RuntimeException;
 use RuntimeException;
 
 
@@ -99,4 +101,4 @@ class Credentials
 
 
         self::$credentials[\strtolower($name)] = \array_change_key_case($credential);
         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;
 namespace AlibabaCloud\Credentials;
 
 
+use AlibabaCloud\Credentials\Credential\CredentialModel;
 use AlibabaCloud\Credentials\Signature\SignatureInterface;
 use AlibabaCloud\Credentials\Signature\SignatureInterface;
 
 
 /**
 /**
+ * @internal This class is intended for internal use within the package. 
  * Interface CredentialsInterface
  * Interface CredentialsInterface
  *
  *
  * @codeCoverageIgnore
  * @codeCoverageIgnore
@@ -12,12 +14,19 @@ use AlibabaCloud\Credentials\Signature\SignatureInterface;
 interface CredentialsInterface
 interface CredentialsInterface
 {
 {
     /**
     /**
+     * @deprecated
      * @return string
      * @return string
      */
      */
     public function __toString();
     public function __toString();
 
 
     /**
     /**
+     * @deprecated
      * @return SignatureInterface
      * @return SignatureInterface
      */
      */
     public function getSignature();
     public function getSignature();
+
+    /**
+     * @return CredentialModel
+     */
+    public function getCredential();
 }
 }

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

@@ -2,15 +2,18 @@
 
 
 namespace AlibabaCloud\Credentials;
 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\Signature\ShaHmac1Signature;
+use AlibabaCloud\Credentials\Request\Request;
+use AlibabaCloud\Credentials\Utils\Filter;
 use Exception;
 use Exception;
 use GuzzleHttp\Exception\GuzzleException;
 use GuzzleHttp\Exception\GuzzleException;
 use InvalidArgumentException;
 use InvalidArgumentException;
 use RuntimeException;
 use RuntimeException;
 
 
 /**
 /**
+ * @deprecated
  * Use the RAM role of an ECS instance to complete the authentication.
  * Use the RAM role of an ECS instance to complete the authentication.
  */
  */
 class EcsRamRoleCredential implements CredentialsInterface
 class EcsRamRoleCredential implements CredentialsInterface
@@ -22,15 +25,32 @@ class EcsRamRoleCredential implements CredentialsInterface
     private $roleName;
     private $roleName;
 
 
     /**
     /**
+     * @var boolean
+     */
+    private $disableIMDSv1;
+
+    /**
+     * @var int
+     */
+    private $metadataTokenDuration;
+
+
+    /**
      * EcsRamRoleCredential constructor.
      * EcsRamRoleCredential constructor.
      *
      *
      * @param $role_name
      * @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);
         Filter::roleName($role_name);
 
 
         $this->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()
     public function getRoleNameFromMeta()
     {
     {
         $options = [
         $options = [
-            'http_errors'     => false,
-            'timeout'         => 1,
+            'http_errors' => false,
+            'timeout' => 1,
             'connect_timeout' => 1,
             'connect_timeout' => 1,
         ];
         ];
 
 
@@ -75,7 +95,7 @@ class EcsRamRoleCredential implements CredentialsInterface
             throw new RuntimeException('Error retrieving credentials from result: ' . $result->getBody());
             throw new RuntimeException('Error retrieving credentials from result: ' . $result->getBody());
         }
         }
 
 
-        $role_name = (string)$result;
+        $role_name = (string) $result;
         if (!$role_name) {
         if (!$role_name) {
             throw new RuntimeException('Error retrieving credentials from result is empty');
             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 Exception
      * @throws GuzzleException
      * @throws GuzzleException
      */
      */
     protected function getSessionCredential()
     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 $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;
 namespace AlibabaCloud\Credentials\Providers;
 
 
 use AlibabaCloud\Credentials\Credentials;
 use AlibabaCloud\Credentials\Credentials;
-use AlibabaCloud\Credentials\Helper;
+use AlibabaCloud\Credentials\Utils\Helper;
 use Closure;
 use Closure;
 use InvalidArgumentException;
 use InvalidArgumentException;
 use RuntimeException;
 use RuntimeException;
 
 
 /**
 /**
+ * @deprecated
  * Class ChainProvider
  * Class ChainProvider
  *
  *
  * @package AlibabaCloud\Credentials\Providers
  * @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;
 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\Signature\ShaHmac1Signature;
+use AlibabaCloud\Credentials\Utils\Filter;
 use Exception;
 use Exception;
 use GuzzleHttp\Exception\GuzzleException;
 use GuzzleHttp\Exception\GuzzleException;
 use InvalidArgumentException;
 use InvalidArgumentException;
 
 
 /**
 /**
+ * @deprecated
  * Use the AssumeRole of the RAM account to complete  the authentication.
  * Use the AssumeRole of the RAM account to complete  the authentication.
  */
  */
 class RamRoleArnCredential implements CredentialsInterface
 class RamRoleArnCredential implements CredentialsInterface
@@ -57,10 +60,10 @@ class RamRoleArnCredential implements CredentialsInterface
 
 
         Filter::accessKey($credential['access_key_id'], $credential['access_key_secret']);
         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->accessKeySecret = $credential['access_key_secret'];
-        $this->roleArn         = $credential['role_arn'];
+        $this->roleArn = $credential['role_arn'];
         $this->roleSessionName = $credential['role_session_name'];
         $this->roleSessionName = $credential['role_session_name'];
     }
     }
 
 
@@ -177,13 +180,20 @@ class RamRoleArnCredential implements CredentialsInterface
     }
     }
 
 
     /**
     /**
-     * @return StsCredential
+     * @return AlibabaCloud\Credentials\Providers\Credentials
      * @throws Exception
      * @throws Exception
      * @throws GuzzleException
      * @throws GuzzleException
      */
      */
     protected function getSessionCredential()
     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();
         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;
 namespace AlibabaCloud\Credentials\Request;
 
 
 use AlibabaCloud\Credentials\Credentials;
 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\Client;
 use GuzzleHttp\HandlerStack;
 use GuzzleHttp\HandlerStack;
 use GuzzleHttp\Middleware;
 use GuzzleHttp\Middleware;
-use GuzzleHttp\Psr7\Uri;
 use AlibabaCloud\Tea\Response;
 use AlibabaCloud\Tea\Response;
 use Psr\Http\Message\ResponseInterface;
 use Psr\Http\Message\ResponseInterface;
 
 
+use Exception;
+use InvalidArgumentException;
+
 /**
 /**
  * RESTful RPC Request.
  * RESTful RPC Request.
  */
  */
@@ -28,67 +25,33 @@ class Request
     const CONNECT_TIMEOUT = 5;
     const CONNECT_TIMEOUT = 5;
 
 
     /**
     /**
-     * Request Timeout
+     * Request Read Timeout
      */
      */
-    const TIMEOUT = 10;
+    const READ_TIMEOUT = 5;
 
 
     /**
     /**
      * @var array
      * @var array
      */
      */
     private static $config = [];
     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.
         // Turn on debug mode based on environment variable.
         if (strtolower(Helper::env('DEBUG')) === 'sdk') {
         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 $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[]
      * @return null|string|string[]
      */
      */
@@ -140,6 +150,8 @@ class Request
     {
     {
         if (Credentials::hasMock()) {
         if (Credentials::hasMock()) {
             $stack = HandlerStack::create(Credentials::getMock());
             $stack = HandlerStack::create(Credentials::getMock());
+            $history = Credentials::getHandlerHistory();
+            $stack->push($history);
         } else {
         } else {
             $stack = HandlerStack::create();
             $stack = HandlerStack::create();
         }
         }

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

@@ -2,13 +2,16 @@
 
 
 namespace AlibabaCloud\Credentials;
 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\Signature\ShaHmac1Signature;
+use AlibabaCloud\Credentials\Utils\Filter;
 use Exception;
 use Exception;
 use GuzzleHttp\Exception\GuzzleException;
 use GuzzleHttp\Exception\GuzzleException;
 use InvalidArgumentException;
 use InvalidArgumentException;
 
 
 /**
 /**
+ * @deprecated
  * Use the RSA key pair to complete the authentication (supported only on Japanese site)
  * Use the RSA key pair to complete the authentication (supported only on Japanese site)
  */
  */
 class RsaKeyPairCredential implements CredentialsInterface
 class RsaKeyPairCredential implements CredentialsInterface
@@ -22,6 +25,11 @@ class RsaKeyPairCredential implements CredentialsInterface
     /**
     /**
      * @var string
      * @var string
      */
      */
+    private $privateKeyFile;
+
+    /**
+     * @var string
+     */
     private $privateKey;
     private $privateKey;
 
 
     /**
     /**
@@ -42,7 +50,8 @@ class RsaKeyPairCredential implements CredentialsInterface
         Filter::privateKeyFile($private_key_file);
         Filter::privateKeyFile($private_key_file);
 
 
         $this->publicKeyId = $public_key_id;
         $this->publicKeyId = $public_key_id;
-        $this->config      = $config;
+        $this->privateKeyFile = $private_key_file;
+        $this->config = $config;
         try {
         try {
             $this->privateKey = file_get_contents($private_key_file);
             $this->privateKey = file_get_contents($private_key_file);
         } catch (Exception $exception) {
         } catch (Exception $exception) {
@@ -117,13 +126,17 @@ class RsaKeyPairCredential implements CredentialsInterface
     }
     }
 
 
     /**
     /**
-     * @return StsCredential
+     * @return AlibabaCloud\Credentials\Providers\Credentials
      * @throws Exception
      * @throws Exception
      * @throws GuzzleException
      * @throws GuzzleException
      */
      */
     protected function getSessionCredential()
     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();
         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;
 namespace AlibabaCloud\Credentials;
 
 
+use AlibabaCloud\Credentials\Utils\Filter;
+use AlibabaCloud\Credentials\Credential\CredentialModel;
 use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
 use AlibabaCloud\Credentials\Signature\ShaHmac1Signature;
 
 
 /**
 /**
+ * @deprecated
  * Use the STS Token to complete the authentication.
  * Use the STS Token to complete the authentication.
  */
  */
 class StsCredential implements CredentialsInterface
 class StsCredential implements CredentialsInterface
@@ -42,10 +45,10 @@ class StsCredential implements CredentialsInterface
     {
     {
         Filter::accessKey($access_key_id, $access_key_secret);
         Filter::accessKey($access_key_id, $access_key_secret);
         Filter::expiration($expiration);
         Filter::expiration($expiration);
-        $this->accessKeyId     = $access_key_id;
+        $this->accessKeyId = $access_key_id;
         $this->accessKeySecret = $access_key_secret;
         $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();
         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": {
   "require": {
     "php": ">5.5",
     "php": ">5.5",
-    "alibabacloud/tea-utils": "^0.2.19",
+    "alibabacloud/tea-utils": "^0.2.21",
     "alibabacloud/credentials": "^1.1",
     "alibabacloud/credentials": "^1.1",
     "alibabacloud/openapi-util": "^0.1.10|^0.2.1",
     "alibabacloud/openapi-util": "^0.1.10|^0.2.1",
     "alibabacloud/gateway-spi": "^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' => '',
         'accessKeyId' => '',
         'accessKeySecret' => '',
         'accessKeySecret' => '',
         'securityToken' => '',
         'securityToken' => '',
+        'bearerToken' => '',
         'protocol' => 'http',
         'protocol' => 'http',
         'method' => '',
         'method' => '',
         'regionId' => '',
         'regionId' => '',
@@ -57,6 +58,9 @@ class Config extends Model
         if (null !== $this->securityToken) {
         if (null !== $this->securityToken) {
             $res['securityToken'] = $this->securityToken;
             $res['securityToken'] = $this->securityToken;
         }
         }
+        if (null !== $this->bearerToken) {
+            $res['bearerToken'] = $this->bearerToken;
+        }
         if (null !== $this->protocol) {
         if (null !== $this->protocol) {
             $res['protocol'] = $this->protocol;
             $res['protocol'] = $this->protocol;
         }
         }
@@ -132,6 +136,9 @@ class Config extends Model
         if (null !== $this->ca) {
         if (null !== $this->ca) {
             $res['ca'] = $this->ca;
             $res['ca'] = $this->ca;
         }
         }
+        if (null !== $this->disableHttp2) {
+            $res['disableHttp2'] = $this->disableHttp2;
+        }
         return $res;
         return $res;
     }
     }
     /**
     /**
@@ -150,6 +157,9 @@ class Config extends Model
         if (isset($map['securityToken'])) {
         if (isset($map['securityToken'])) {
             $model->securityToken = $map['securityToken'];
             $model->securityToken = $map['securityToken'];
         }
         }
+        if (isset($map['bearerToken'])) {
+            $model->bearerToken = $map['bearerToken'];
+        }
         if (isset($map['protocol'])) {
         if (isset($map['protocol'])) {
             $model->protocol = $map['protocol'];
             $model->protocol = $map['protocol'];
         }
         }
@@ -225,6 +235,9 @@ class Config extends Model
         if (isset($map['ca'])) {
         if (isset($map['ca'])) {
             $model->ca = $map['ca'];
             $model->ca = $map['ca'];
         }
         }
+        if (isset($map['disableHttp2'])) {
+            $model->disableHttp2 = $map['disableHttp2'];
+        }
         return $model;
         return $model;
     }
     }
     /**
     /**
@@ -247,6 +260,13 @@ class Config extends Model
     public $securityToken;
     public $securityToken;
 
 
     /**
     /**
+     * @description bearer token
+     * @example the-bearer-token
+     * @var string
+     */
+    public $bearerToken;
+
+    /**
      * @description http protocol
      * @description http protocol
      * @example http
      * @example http
      * @var string
      * @var string
@@ -408,17 +428,23 @@ class Config extends Model
 
 
     /**
     /**
      * @description client certificate
      * @description client certificate
-     * @example -----BEGIN CERTIFICATE-----
-xxx-----END CERTIFICATE-----
+     * @example -----BEGIN CERTIFICATE-----xxx-----END CERTIFICATE-----
      * @var string
      * @var string
      */
      */
     public $cert;
     public $cert;
 
 
     /**
     /**
      * @description server certificate
      * @description server certificate
-     * @example -----BEGIN CERTIFICATE-----
-xxx-----END CERTIFICATE-----
+     * @example -----BEGIN CERTIFICATE-----xxx-----END CERTIFICATE-----
      * @var string
      * @var string
      */
      */
     public $ca;
     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 $headers;
 
 
     public $queries;
     public $queries;
+
 }
 }

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

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

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

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

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

@@ -86,6 +86,8 @@ class OpenApiClient
 
 
     protected $_ca;
     protected $_ca;
 
 
+    protected $_disableHttp2;
+
     /**
     /**
      * Init client with Config
      * Init client with Config
      * @param config config contains the necessary information to create a client
      * @param config config contains the necessary information to create a client
@@ -111,6 +113,12 @@ class OpenApiClient
             ]);
             ]);
             $credentialConfig->securityToken = $config->securityToken;
             $credentialConfig->securityToken = $config->securityToken;
             $this->_credential = new Credential($credentialConfig);
             $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)) {
         } else if (!Utils::isUnset($config->credential)) {
             $this->_credential = $config->credential;
             $this->_credential = $config->credential;
         }
         }
@@ -136,6 +144,7 @@ class OpenApiClient
         $this->_key = $config->key;
         $this->_key = $config->key;
         $this->_cert = $config->cert;
         $this->_cert = $config->cert;
         $this->_ca = $config->ca;
         $this->_ca = $config->ca;
+        $this->_disableHttp2 = $config->disableHttp2;
     }
     }
 
 
     /**
     /**
@@ -208,13 +217,24 @@ class OpenApiClient
                         $globalHeaders = $globalParams->headers;
                         $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([
                 $_request->query = Tea::merge([
                     "Action" => $action,
                     "Action" => $action,
                     "Format" => "json",
                     "Format" => "json",
                     "Version" => $version,
                     "Version" => $version,
                     "Timestamp" => OpenApiUtilClient::getTimestamp(),
                     "Timestamp" => OpenApiUtilClient::getTimestamp(),
                     "SignatureNonce" => Utils::getNonce()
                     "SignatureNonce" => Utils::getNonce()
-                ], $globalQueries, $request->query);
+                ], $globalQueries, $extendsQueries, $request->query);
                 $headers = $this->getRpcHeaders();
                 $headers = $this->getRpcHeaders();
                 if (Utils::isUnset($headers)) {
                 if (Utils::isUnset($headers)) {
                     // endpoint is setted in product client
                     // endpoint is setted in product client
@@ -223,14 +243,14 @@ class OpenApiClient
                         "x-acs-version" => $version,
                         "x-acs-version" => $version,
                         "x-acs-action" => $action,
                         "x-acs-action" => $action,
                         "user-agent" => $this->getUserAgent()
                         "user-agent" => $this->getUserAgent()
-                    ], $globalHeaders);
+                    ], $globalHeaders, $extendsHeaders);
                 } else {
                 } else {
                     $_request->headers = Tea::merge([
                     $_request->headers = Tea::merge([
                         "host" => $this->_endpoint,
                         "host" => $this->_endpoint,
                         "x-acs-version" => $version,
                         "x-acs-version" => $version,
                         "x-acs-action" => $action,
                         "x-acs-action" => $action,
                         "user-agent" => $this->getUserAgent()
                         "user-agent" => $this->getUserAgent()
-                    ], $globalHeaders, $headers);
+                    ], $globalHeaders, $extendsHeaders, $headers);
                 }
                 }
                 if (!Utils::isUnset($request->body)) {
                 if (!Utils::isUnset($request->body)) {
                     $m = Utils::assertAsMap($request->body);
                     $m = Utils::assertAsMap($request->body);
@@ -239,21 +259,28 @@ class OpenApiClient
                     $_request->headers["content-type"] = "application/x-www-form-urlencoded";
                     $_request->headers["content-type"] = "application/x-www-form-urlencoded";
                 }
                 }
                 if (!Utils::equalString($authType, "Anonymous")) {
                 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;
                 $_lastRequest = $_request;
                 $_response = Tea::send($_request, $_runtime);
                 $_response = Tea::send($_request, $_runtime);
@@ -360,13 +387,13 @@ class OpenApiClient
             "socks5NetWork" => Utils::defaultString($runtime->socks5NetWork, $this->_socks5NetWork),
             "socks5NetWork" => Utils::defaultString($runtime->socks5NetWork, $this->_socks5NetWork),
             "maxIdleConns" => Utils::defaultNumber($runtime->maxIdleConns, $this->_maxIdleConns),
             "maxIdleConns" => Utils::defaultNumber($runtime->maxIdleConns, $this->_maxIdleConns),
             "retry" => [
             "retry" => [
-                "retryable" => $runtime->autoretry,
-                "maxAttempts" => Utils::defaultNumber($runtime->maxAttempts, 3)
-            ],
+                    "retryable" => $runtime->autoretry,
+                    "maxAttempts" => Utils::defaultNumber($runtime->maxAttempts, 3)
+                ],
             "backoff" => [
             "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
             "ignoreSSL" => $runtime->ignoreSSL
         ];
         ];
         $_lastRequest = null;
         $_lastRequest = null;
@@ -397,6 +424,17 @@ class OpenApiClient
                         $globalHeaders = $globalParams->headers;
                         $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([
                 $_request->headers = Tea::merge([
                     "date" => Utils::getDateUTCString(),
                     "date" => Utils::getDateUTCString(),
                     "host" => $this->_endpoint,
                     "host" => $this->_endpoint,
@@ -407,25 +445,32 @@ class OpenApiClient
                     "x-acs-version" => $version,
                     "x-acs-version" => $version,
                     "x-acs-action" => $action,
                     "x-acs-action" => $action,
                     "user-agent" => Utils::getUserAgent($this->_userAgent)
                     "user-agent" => Utils::getUserAgent($this->_userAgent)
-                ], $globalHeaders, $request->headers);
+                ], $globalHeaders, $extendsHeaders, $request->headers);
                 if (!Utils::isUnset($request->body)) {
                 if (!Utils::isUnset($request->body)) {
                     $_request->body = Utils::toJSONString($request->body);
                     $_request->body = Utils::toJSONString($request->body);
                     $_request->headers["content-type"] = "application/json; charset=utf-8";
                     $_request->headers["content-type"] = "application/json; charset=utf-8";
                 }
                 }
-                $_request->query = $globalQueries;
+                $_request->query = Tea::merge($globalQueries, $extendsQueries);
                 if (!Utils::isUnset($request->query)) {
                 if (!Utils::isUnset($request->query)) {
                     $_request->query = Tea::merge($_request->query, $request->query);
                     $_request->query = Tea::merge($_request->query, $request->query);
                 }
                 }
                 if (!Utils::equalString($authType, "Anonymous")) {
                 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;
                 $_lastRequest = $_request;
                 $_response = Tea::send($_request, $_runtime);
                 $_response = Tea::send($_request, $_runtime);
@@ -542,9 +587,9 @@ class OpenApiClient
                 "maxAttempts" => Utils::defaultNumber($runtime->maxAttempts, 3)
                 "maxAttempts" => Utils::defaultNumber($runtime->maxAttempts, 3)
             ],
             ],
             "backoff" => [
             "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
             "ignoreSSL" => $runtime->ignoreSSL
         ];
         ];
         $_lastRequest = null;
         $_lastRequest = null;
@@ -575,6 +620,17 @@ class OpenApiClient
                         $globalHeaders = $globalParams->headers;
                         $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([
                 $_request->headers = Tea::merge([
                     "date" => Utils::getDateUTCString(),
                     "date" => Utils::getDateUTCString(),
                     "host" => $this->_endpoint,
                     "host" => $this->_endpoint,
@@ -585,26 +641,33 @@ class OpenApiClient
                     "x-acs-version" => $version,
                     "x-acs-version" => $version,
                     "x-acs-action" => $action,
                     "x-acs-action" => $action,
                     "user-agent" => Utils::getUserAgent($this->_userAgent)
                     "user-agent" => Utils::getUserAgent($this->_userAgent)
-                ], $globalHeaders, $request->headers);
+                ], $globalHeaders, $extendsHeaders, $request->headers);
                 if (!Utils::isUnset($request->body)) {
                 if (!Utils::isUnset($request->body)) {
                     $m = Utils::assertAsMap($request->body);
                     $m = Utils::assertAsMap($request->body);
                     $_request->body = OpenApiUtilClient::toForm($m);
                     $_request->body = OpenApiUtilClient::toForm($m);
                     $_request->headers["content-type"] = "application/x-www-form-urlencoded";
                     $_request->headers["content-type"] = "application/x-www-form-urlencoded";
                 }
                 }
-                $_request->query = $globalQueries;
+                $_request->query = Tea::merge($globalQueries, $extendsQueries);
                 if (!Utils::isUnset($request->query)) {
                 if (!Utils::isUnset($request->query)) {
                     $_request->query = Tea::merge($_request->query, $request->query);
                     $_request->query = Tea::merge($_request->query, $request->query);
                 }
                 }
                 if (!Utils::equalString($authType, "Anonymous")) {
                 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;
                 $_lastRequest = $_request;
                 $_response = Tea::send($_request, $_runtime);
                 $_response = Tea::send($_request, $_runtime);
@@ -747,7 +810,18 @@ class OpenApiClient
                         $globalHeaders = $globalParams->headers;
                         $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
                 // endpoint is setted in product client
                 $_request->headers = Tea::merge([
                 $_request->headers = Tea::merge([
                     "host" => $this->_endpoint,
                     "host" => $this->_endpoint,
@@ -757,7 +831,7 @@ class OpenApiClient
                     "x-acs-date" => OpenApiUtilClient::getTimestamp(),
                     "x-acs-date" => OpenApiUtilClient::getTimestamp(),
                     "x-acs-signature-nonce" => Utils::getNonce(),
                     "x-acs-signature-nonce" => Utils::getNonce(),
                     "accept" => "application/json"
                     "accept" => "application/json"
-                ], $globalHeaders, $request->headers);
+                ], $globalHeaders, $extendsHeaders, $request->headers);
                 if (Utils::equalString($params->style, "RPC")) {
                 if (Utils::equalString($params->style, "RPC")) {
                     $headers = $this->getRpcHeaders();
                     $headers = $this->getRpcHeaders();
                     if (!Utils::isUnset($headers)) {
                     if (!Utils::isUnset($headers)) {
@@ -797,6 +871,11 @@ class OpenApiClient
                     if (Utils::equalString($authType, "bearer")) {
                     if (Utils::equalString($authType, "bearer")) {
                         $bearerToken = $this->getBearerToken();
                         $bearerToken = $this->getBearerToken();
                         $_request->headers["x-acs-bearer-token"] = $bearerToken;
                         $_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 {
                     } else {
                         $accessKeyId = $this->getAccessKeyId();
                         $accessKeyId = $this->getAccessKeyId();
                         $accessKeySecret = $this->getAccessKeySecret();
                         $accessKeySecret = $this->getAccessKeySecret();
@@ -916,7 +995,8 @@ class OpenApiClient
                 "policy" => Utils::defaultString($runtime->backoffPolicy, "no"),
                 "policy" => Utils::defaultString($runtime->backoffPolicy, "no"),
                 "period" => Utils::defaultNumber($runtime->backoffPeriod, 1)
                 "period" => Utils::defaultNumber($runtime->backoffPeriod, 1)
             ],
             ],
-            "ignoreSSL" => $runtime->ignoreSSL
+            "ignoreSSL" => $runtime->ignoreSSL,
+            "disableHttp2" => self::defaultAny($this->_disableHttp2, false)
         ];
         ];
         $_lastRequest = null;
         $_lastRequest = null;
         $_lastException = null;
         $_lastException = null;
@@ -945,9 +1025,20 @@ class OpenApiClient
                         $globalHeaders = $globalParams->headers;
                         $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([
                 $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,
                     "body" => $request->body,
                     "stream" => $request->stream,
                     "stream" => $request->stream,
                     "hostMap" => $request->hostMap,
                     "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) {
         if (null !== $this->keepAlive) {
             $res['keepAlive'] = $this->keepAlive;
             $res['keepAlive'] = $this->keepAlive;
         }
         }
+        if (null !== $this->extendsParameters) {
+            $res['extendsParameters'] = null !== $this->extendsParameters ? $this->extendsParameters->toMap() : null;
+        }
         return $res;
         return $res;
     }
     }
     /**
     /**
@@ -148,6 +151,9 @@ class RuntimeOptions extends Model {
         if(isset($map['keepAlive'])){
         if(isset($map['keepAlive'])){
             $model->keepAlive = $map['keepAlive'];
             $model->keepAlive = $map['keepAlive'];
         }
         }
+        if(isset($map['extendsParameters'])){
+            $model->extendsParameters = ExtendsParameters::fromMap($map['extendsParameters']);
+        }
         return $model;
         return $model;
     }
     }
     /**
     /**
@@ -258,4 +264,10 @@ class RuntimeOptions extends Model {
      */
      */
     public $keepAlive;
     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\Model;
 use AlibabaCloud\Tea\Utils\Utils;
 use AlibabaCloud\Tea\Utils\Utils;
+use AlibabaCloud\Tea\Utils\Utils\ExtendsParameters;
 use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
 use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions;
 use GuzzleHttp\Psr7\Stream;
 use GuzzleHttp\Psr7\Stream;
 use PHPUnit\Framework\TestCase;
 use PHPUnit\Framework\TestCase;
@@ -416,6 +417,10 @@ final class UtilsTest extends TestCase
             "noProxy" => "noProxy",
             "noProxy" => "noProxy",
             "maxIdleConns" => 300,
             "maxIdleConns" => 300,
             "keepAlive" => true,
             "keepAlive" => true,
+            "extendsParameters" => new ExtendsParameters([
+                "headers" => ['key' => 'value'],
+                "queries" => ['key' => 'value'],
+            ]),
         ]);
         ]);
         $this->assertEquals(false, $opts->autoretry);
         $this->assertEquals(false, $opts->autoretry);
         $this->assertEquals(false, $opts->ignoreSSL);
         $this->assertEquals(false, $opts->ignoreSSL);
@@ -432,6 +437,8 @@ final class UtilsTest extends TestCase
         $this->assertEquals("noProxy", $opts->noProxy);
         $this->assertEquals("noProxy", $opts->noProxy);
         $this->assertEquals(300, $opts->maxIdleConns);
         $this->assertEquals(300, $opts->maxIdleConns);
         $this->assertEquals(true, $opts->keepAlive);
         $this->assertEquals(true, $opts->keepAlive);
+        $this->assertEquals('value', $opts->extendsParameters->headers['key']);
+        $this->assertEquals('value', $opts->extendsParameters->queries['key']);
     }
     }
 
 
     private function convert($body, &$content)
     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
 # 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
 ## v2.7.1 / 2024-02-28
 * Fixed: fix deprecated
 * 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");
             throw new OssException("endpoint is empty");
         }
         }
         $this->hostname = $this->checkEndpoint($endpoint, $isCName);
         $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;
         $this->requestProxy = $requestProxy;
         if (!$provider instanceof CredentialsProvider) {
         if (!$provider instanceof CredentialsProvider) {
             throw new OssException("provider must be an instance of 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_OBJECT] = $object;
         $options[self::OSS_SUB_RESOURCE] = 'x-oss-async-process';
         $options[self::OSS_SUB_RESOURCE] = 'x-oss-async-process';
         $options[self::OSS_CONTENT_TYPE] = 'application/octet-stream';
         $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);
         $response = $this->auth($options);
         $result = new BodyResult($response);
         $result = new BodyResult($response);
         return $result->getData();
         return $result->getData();
@@ -2999,7 +3004,7 @@ class OssClient
         return $this->getValue($options, self::OSS_CHECK_MD5, false, true, true);
         return $this->getValue($options, self::OSS_CHECK_MD5, false, true, true);
     }
     }
 
 
-     /**
+    /**
      * Gets value of the specified key from the options
      * Gets value of the specified key from the options
      *
      *
      * @param array $options
      * @param array $options
@@ -3269,7 +3274,7 @@ class OssClient
 
 
         try {
         try {
             $tmp_object = $options[self::OSS_OBJECT];
             $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);
             $encode = mb_detect_encoding($tmp_object, $encoding);
             if ($encode === 'UTF-8' || $encode === false) {
             if ($encode === 'UTF-8' || $encode === false) {
                 return;
                 return;
@@ -3333,6 +3338,9 @@ class OssClient
         if ('' !== $bucket) {
         if ('' !== $bucket) {
             if ($this->hostType === self::OSS_HOST_TYPE_IP || $this->hostType === self::OSS_HOST_TYPE_PATH_STYLE) {
             if ($this->hostType === self::OSS_HOST_TYPE_IP || $this->hostType === self::OSS_HOST_TYPE_PATH_STYLE) {
                 $paths[] = $bucket;
                 $paths[] = $bucket;
+                if ('' === $object) {
+                    $paths[] = '';
+                }
             }
             }
         }
         }
         // + object
         // + object
@@ -3354,6 +3362,12 @@ class OssClient
         $query = array();
         $query = array();
         $queryList = array(
         $queryList = array(
             self::OSS_PART_NUM,
             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_UPLOAD_ID,
             self::OSS_COMP,
             self::OSS_COMP,
             self::OSS_LIVE_CHANNEL_STATUS,
             self::OSS_LIVE_CHANNEL_STATUS,
@@ -3381,6 +3395,7 @@ class OssClient
         if (isset($options[self::OSS_SUB_RESOURCE])) {
         if (isset($options[self::OSS_SUB_RESOURCE])) {
             $query[$options[self::OSS_SUB_RESOURCE]] = '';
             $query[$options[self::OSS_SUB_RESOURCE]] = '';
         }
         }
+
         return OssUtil::toQueryString($query);
         return OssUtil::toQueryString($query);
     }
     }
 
 
@@ -3519,7 +3534,7 @@ class OssClient
         }
         }
 
 
         try {
         try {
-            $encoding = array('UTF-8','GB2312', 'GBK');
+            $encoding = array('UTF-8', 'GB2312', 'GBK');
             $encode = mb_detect_encoding($filepath, $encoding);
             $encode = mb_detect_encoding($filepath, $encoding);
             if ($encode !== 'UTF-8') {
             if ($encode !== 'UTF-8') {
                 return $filepath;
                 return $filepath;
@@ -3534,7 +3549,7 @@ class OssClient
         return $filepath;
         return $filepath;
     }
     }
 
 
-     /**
+    /**
      * Decodes the file path from GBK  to UTF-8.
      * Decodes the file path from GBK  to UTF-8.
      *
      *
      * @param $filepath
      * @param $filepath
@@ -3550,7 +3565,7 @@ class OssClient
         }
         }
 
 
         try {
         try {
-            $encoding = array('UTF-8','GB2312', 'GBK');
+            $encoding = array('UTF-8', 'GB2312', 'GBK');
             $encode = mb_detect_encoding($filepath, $encoding);
             $encode = mb_detect_encoding($filepath, $encoding);
             if ($encode === 'UTF-8' || $encode === false) {
             if ($encode === 'UTF-8' || $encode === false) {
                 return $filepath;
                 return $filepath;
@@ -3745,8 +3760,8 @@ class OssClient
     );
     );
     // OssClient version information
     // OssClient version information
     const OSS_NAME = "aliyun-sdk-php";
     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_AUTHOR = "";
     const OSS_OPTIONS_ORIGIN = 'Origin';
     const OSS_OPTIONS_ORIGIN = 'Origin';
     const OSS_OPTIONS_REQUEST_METHOD = 'Access-Control-Request-Method';
     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;
         return OssClient::OSS_SIGNATURE_VERSION_V1;
     }
     }
 
 
+    public static function getPathStyleBucket()
+    {
+        return getenv('OSS_TEST_PATHSTYLE_BUCKET');
+    }
+
     /**
     /**
      * Tool method, create a 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;
 namespace OSS\Tests;
 
 
 use OSS\Core\OssException;
 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;
 use OSS\OssClient;
 
 
 require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
 require_once __DIR__ . DIRECTORY_SEPARATOR . 'TestOssClientBase.php';
@@ -18,12 +15,14 @@ class OssClientForcePathStyleTest extends TestOssClientBase
     {
     {
         $config = array(
         $config = array(
             'signatureVersion' => OssClient::OSS_SIGNATURE_VERSION_V4,
             '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 {
         try {
-            $this->ossClient->getBucketInfo($this->bucket);
+            $pathStyleClient->getBucketInfo($this->bucket);
+            $this->assertTrue(false, "should not here");
         } catch (OssException $e) {
         } catch (OssException $e) {
             $this->assertEquals($e->getErrorCode(), "SecondLevelDomainForbidden");
             $this->assertEquals($e->getErrorCode(), "SecondLevelDomainForbidden");
             $this->assertTrue(true);
             $this->assertTrue(true);
@@ -31,7 +30,8 @@ class OssClientForcePathStyleTest extends TestOssClientBase
 
 
         try {
         try {
             $object = "oss-php-sdk-test/upload-test-object-name.txt";
             $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) {
         } catch (OssException $e) {
             $this->assertEquals($e->getErrorCode(), "SecondLevelDomainForbidden");
             $this->assertEquals($e->getErrorCode(), "SecondLevelDomainForbidden");
             $this->assertTrue(true);
             $this->assertTrue(true);
@@ -40,11 +40,85 @@ class OssClientForcePathStyleTest extends TestOssClientBase
         try {
         try {
             $endpoint = Common::getEndpoint();
             $endpoint = Common::getEndpoint();
             $endpoint = str_replace(array('http://', 'https://'), '', $endpoint);
             $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);
             $this->assertTrue(strpos($signUrl, $strUrl) !== false);
         } catch (OssException $e) {
         } catch (OssException $e) {
             $this->assertFalse(true);
             $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
     protected function tearDown(): void
     {
     {
         $this->ossClient->deleteObject($this->bucket, "a.file");
         $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\\BearerTokenCredential' => $vendorDir . '/alibabacloud/credentials/src/BearerTokenCredential.php',
     'AlibabaCloud\\Credentials\\Credential' => $vendorDir . '/alibabacloud/credentials/src/Credential.php',
     'AlibabaCloud\\Credentials\\Credential' => $vendorDir . '/alibabacloud/credentials/src/Credential.php',
     'AlibabaCloud\\Credentials\\Credential\\Config' => $vendorDir . '/alibabacloud/credentials/src/Credential/Config.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\\Credentials' => $vendorDir . '/alibabacloud/credentials/src/Credentials.php',
     'AlibabaCloud\\Credentials\\CredentialsInterface' => $vendorDir . '/alibabacloud/credentials/src/CredentialsInterface.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\\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\\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\\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\\Request\\Request' => $vendorDir . '/alibabacloud/credentials/src/Request/Request.php',
     'AlibabaCloud\\Credentials\\RsaKeyPairCredential' => $vendorDir . '/alibabacloud/credentials/src/RsaKeyPairCredential.php',
     'AlibabaCloud\\Credentials\\RsaKeyPairCredential' => $vendorDir . '/alibabacloud/credentials/src/RsaKeyPairCredential.php',
     'AlibabaCloud\\Credentials\\Signature\\BearerTokenSignature' => $vendorDir . '/alibabacloud/credentials/src/Signature/BearerTokenSignature.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\\ShaHmac256WithRsaSignature' => $vendorDir . '/alibabacloud/credentials/src/Signature/ShaHmac256WithRsaSignature.php',
     'AlibabaCloud\\Credentials\\Signature\\SignatureInterface' => $vendorDir . '/alibabacloud/credentials/src/Signature/SignatureInterface.php',
     'AlibabaCloud\\Credentials\\Signature\\SignatureInterface' => $vendorDir . '/alibabacloud/credentials/src/Signature/SignatureInterface.php',
     'AlibabaCloud\\Credentials\\StsCredential' => $vendorDir . '/alibabacloud/credentials/src/StsCredential.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\\Endpoint\\Endpoint' => $vendorDir . '/alibabacloud/endpoint-util/src/Endpoint.php',
     'AlibabaCloud\\OpenApiUtil\\OpenApiUtilClient' => $vendorDir . '/alibabacloud/openapi-util/src/OpenApiUtilClient.php',
     'AlibabaCloud\\OpenApiUtil\\OpenApiUtilClient' => $vendorDir . '/alibabacloud/openapi-util/src/OpenApiUtilClient.php',
     'AlibabaCloud\\SDK\\Dysmsapi\\V20170525\\Dysmsapi' => $vendorDir . '/alibabacloud/dysmsapi-20170525/src/Dysmsapi.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\\Response' => $vendorDir . '/alibabacloud/tea/src/Response.php',
     'AlibabaCloud\\Tea\\Tea' => $vendorDir . '/alibabacloud/tea/src/Tea.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' => $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\\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\\ArrayToXml' => $vendorDir . '/alibabacloud/tea-xml/src/ArrayToXml.php',
     'AlibabaCloud\\Tea\\XML\\XML' => $vendorDir . '/alibabacloud/tea-xml/src/XML.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',
     'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
     'Darabonba\\GatewaySpi\\Client' => $vendorDir . '/alibabacloud/gateway-spi/src/Client.php',
     'Darabonba\\GatewaySpi\\Client' => $vendorDir . '/alibabacloud/gateway-spi/src/Client.php',
     'Darabonba\\GatewaySpi\\Models\\AttributeMap' => $vendorDir . '/alibabacloud/gateway-spi/src/Models/AttributeMap.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\\RetryMiddleware' => $vendorDir . '/guzzlehttp/guzzle/src/RetryMiddleware.php',
     'GuzzleHttp\\TransferStats' => $vendorDir . '/guzzlehttp/guzzle/src/TransferStats.php',
     'GuzzleHttp\\TransferStats' => $vendorDir . '/guzzlehttp/guzzle/src/TransferStats.php',
     'GuzzleHttp\\Utils' => $vendorDir . '/guzzlehttp/guzzle/src/Utils.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\\Attribute\\AsMonologProcessor' => $vendorDir . '/monolog/monolog/src/Monolog/Attribute/AsMonologProcessor.php',
     'Monolog\\DateTimeImmutable' => $vendorDir . '/monolog/monolog/src/Monolog/DateTimeImmutable.php',
     'Monolog\\DateTimeImmutable' => $vendorDir . '/monolog/monolog/src/Monolog/DateTimeImmutable.php',
     'Monolog\\ErrorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/ErrorHandler.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\\SignalHandler' => $vendorDir . '/monolog/monolog/src/Monolog/SignalHandler.php',
     'Monolog\\Test\\TestCase' => $vendorDir . '/monolog/monolog/src/Monolog/Test/TestCase.php',
     'Monolog\\Test\\TestCase' => $vendorDir . '/monolog/monolog/src/Monolog/Test/TestCase.php',
     'Monolog\\Utils' => $vendorDir . '/monolog/monolog/src/Monolog/Utils.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\\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\\OssException' => $vendorDir . '/aliyuncs/oss-sdk-php/src/OSS/Core/OssException.php',
     'OSS\\Core\\OssUtil' => $vendorDir . '/aliyuncs/oss-sdk-php/src/OSS/Core/OssUtil.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\\Text' => $vendorDir . '/phpoffice/common/src/Common/Text.php',
     'PhpOffice\\Common\\XMLReader' => $vendorDir . '/phpoffice/common/src/Common/XMLReader.php',
     'PhpOffice\\Common\\XMLReader' => $vendorDir . '/phpoffice/common/src/Common/XMLReader.php',
     'PhpOffice\\Common\\XMLWriter' => $vendorDir . '/phpoffice/common/src/Common/XMLWriter.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\\AbstractCollection' => $vendorDir . '/phpoffice/phpword/src/PhpWord/Collection/AbstractCollection.php',
     'PhpOffice\\PhpWord\\Collection\\Bookmarks' => $vendorDir . '/phpoffice/phpword/src/PhpWord/Collection/Bookmarks.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',
     '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\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
     'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.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\\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\\Escaper' => $vendorDir . '/zendframework/zend-escaper/src/Escaper.php',
     'Zend\\Escaper\\Exception\\ExceptionInterface' => $vendorDir . '/zendframework/zend-escaper/src/Exception/ExceptionInterface.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\\InvalidArgumentException' => $vendorDir . '/zendframework/zend-escaper/src/Exception/InvalidArgumentException.php',
     'Zend\\Escaper\\Exception\\RuntimeException' => $vendorDir . '/zendframework/zend-escaper/src/Exception/RuntimeException.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',
     '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
     'd767e4fc2dc52fe66584ab8c6684783e' => $vendorDir . '/adbario/php-dot-notation/src/helpers.php',
     'd767e4fc2dc52fe66584ab8c6684783e' => $vendorDir . '/adbario/php-dot-notation/src/helpers.php',
     '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.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);
 $baseDir = dirname($vendorDir);
 
 
 return array(
 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);
 $baseDir = dirname($vendorDir);
 
 
 return array(
 return array(
+    'ZipStream\\' => array($vendorDir . '/maennchen/zipstream-php/src'),
     'Zend\\Escaper\\' => array($vendorDir . '/zendframework/zend-escaper/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\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
     'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
     'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-factory/src', $vendorDir . '/psr/http-message/src'),
     'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
     'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
     'PhpOffice\\PhpWord\\' => array($vendorDir . '/phpoffice/phpword/src/PhpWord'),
     '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'),
     'PhpOffice\\Common\\' => array($vendorDir . '/phpoffice/common/src/Common'),
     'OneSm\\' => array($vendorDir . '/lizhichao/one-sm/src'),
     'OneSm\\' => array($vendorDir . '/lizhichao/one-sm/src'),
     'OSS\\' => array($vendorDir . '/aliyuncs/oss-sdk-php/src/OSS'),
     'OSS\\' => array($vendorDir . '/aliyuncs/oss-sdk-php/src/OSS'),
+    'MyCLabs\\Enum\\' => array($vendorDir . '/myclabs/php-enum/src'),
     'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
     'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
+    'Matrix\\' => array($vendorDir . '/markbaker/matrix/classes/src'),
     'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
     'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
     'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
     'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
     'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
     'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
     'Darabonba\\OpenApi\\' => array($vendorDir . '/alibabacloud/darabonba-openapi/src'),
     'Darabonba\\OpenApi\\' => array($vendorDir . '/alibabacloud/darabonba-openapi/src'),
     'Darabonba\\GatewaySpi\\' => array($vendorDir . '/alibabacloud/gateway-spi/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\\XML\\' => array($vendorDir . '/alibabacloud/tea-xml/src'),
     'AlibabaCloud\\Tea\\Utils\\' => array($vendorDir . '/alibabacloud/tea-utils/src'),
     'AlibabaCloud\\Tea\\Utils\\' => array($vendorDir . '/alibabacloud/tea-utils/src'),
     'AlibabaCloud\\Tea\\Console\\' => array($vendorDir . '/alibabacloud/tea-console/src'),
     'AlibabaCloud\\Tea\\Console\\' => array($vendorDir . '/alibabacloud/tea-console/src'),

File diff suppressed because it is too large
+ 855 - 9
include/vendor/composer/autoload_static.php


File diff suppressed because it is too large
+ 698 - 81
include/vendor/composer/installed.json


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

@@ -3,7 +3,7 @@
         'name' => '__root__',
         'name' => '__root__',
         'pretty_version' => 'dev-master',
         'pretty_version' => 'dev-master',
         'version' => 'dev-master',
         'version' => 'dev-master',
-        'reference' => 'e7368094e2f557bead9535ee2510da275dd17dc8',
+        'reference' => '69619a9f84dba5eabf881dd56f8313088fc176ac',
         'type' => 'library',
         'type' => 'library',
         'install_path' => __DIR__ . '/../../',
         'install_path' => __DIR__ . '/../../',
         'aliases' => array(),
         'aliases' => array(),
@@ -13,7 +13,7 @@
         '__root__' => array(
         '__root__' => array(
             'pretty_version' => 'dev-master',
             'pretty_version' => 'dev-master',
             'version' => 'dev-master',
             'version' => 'dev-master',
-            'reference' => 'e7368094e2f557bead9535ee2510da275dd17dc8',
+            'reference' => '69619a9f84dba5eabf881dd56f8313088fc176ac',
             'type' => 'library',
             'type' => 'library',
             'install_path' => __DIR__ . '/../../',
             'install_path' => __DIR__ . '/../../',
             'aliases' => array(),
             'aliases' => array(),
@@ -29,18 +29,18 @@
             'dev_requirement' => false,
             'dev_requirement' => false,
         ),
         ),
         'alibabacloud/credentials' => array(
         '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',
             'type' => 'library',
             'install_path' => __DIR__ . '/../alibabacloud/credentials',
             'install_path' => __DIR__ . '/../alibabacloud/credentials',
             'aliases' => array(),
             'aliases' => array(),
             'dev_requirement' => false,
             'dev_requirement' => false,
         ),
         ),
         'alibabacloud/darabonba-openapi' => array(
         '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',
             'type' => 'library',
             'install_path' => __DIR__ . '/../alibabacloud/darabonba-openapi',
             'install_path' => __DIR__ . '/../alibabacloud/darabonba-openapi',
             'aliases' => array(),
             'aliases' => array(),
@@ -101,9 +101,9 @@
             'dev_requirement' => false,
             'dev_requirement' => false,
         ),
         ),
         'alibabacloud/tea-utils' => array(
         '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',
             'type' => 'library',
             'install_path' => __DIR__ . '/../alibabacloud/tea-utils',
             'install_path' => __DIR__ . '/../alibabacloud/tea-utils',
             'aliases' => array(),
             'aliases' => array(),
@@ -119,36 +119,45 @@
             'dev_requirement' => false,
             'dev_requirement' => false,
         ),
         ),
         'aliyuncs/oss-sdk-php' => array(
         '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',
             'type' => 'library',
             'install_path' => __DIR__ . '/../aliyuncs/oss-sdk-php',
             'install_path' => __DIR__ . '/../aliyuncs/oss-sdk-php',
             'aliases' => array(),
             'aliases' => array(),
             'dev_requirement' => false,
             '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(
         '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',
             'type' => 'library',
             'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
             'install_path' => __DIR__ . '/../guzzlehttp/guzzle',
             'aliases' => array(),
             'aliases' => array(),
             'dev_requirement' => false,
             'dev_requirement' => false,
         ),
         ),
         'guzzlehttp/promises' => array(
         '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',
             'type' => 'library',
             'install_path' => __DIR__ . '/../guzzlehttp/promises',
             'install_path' => __DIR__ . '/../guzzlehttp/promises',
             'aliases' => array(),
             'aliases' => array(),
             'dev_requirement' => false,
             'dev_requirement' => false,
         ),
         ),
         'guzzlehttp/psr7' => array(
         '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',
             'type' => 'library',
             'install_path' => __DIR__ . '/../guzzlehttp/psr7',
             'install_path' => __DIR__ . '/../guzzlehttp/psr7',
             'aliases' => array(),
             'aliases' => array(),
@@ -163,15 +172,51 @@
             'aliases' => array(),
             'aliases' => array(),
             'dev_requirement' => false,
             '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(
         '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',
             'type' => 'library',
             'install_path' => __DIR__ . '/../monolog/monolog',
             'install_path' => __DIR__ . '/../monolog/monolog',
             'aliases' => array(),
             'aliases' => array(),
             'dev_requirement' => false,
             '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(
         'pclzip/pclzip' => array(
             'pretty_version' => '2.8.2',
             'pretty_version' => '2.8.2',
             'version' => '2.8.2.0',
             'version' => '2.8.2.0',
@@ -190,6 +235,15 @@
             'aliases' => array(),
             'aliases' => array(),
             'dev_requirement' => false,
             '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(
         'phpoffice/phpword' => array(
             'pretty_version' => '0.17.0',
             'pretty_version' => '0.17.0',
             'version' => '0.17.0.0',
             'version' => '0.17.0.0',
@@ -230,9 +284,9 @@
             ),
             ),
         ),
         ),
         'psr/http-message' => array(
         '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',
             'type' => 'library',
             'install_path' => __DIR__ . '/../psr/http-message',
             'install_path' => __DIR__ . '/../psr/http-message',
             'aliases' => array(),
             'aliases' => array(),
@@ -259,6 +313,15 @@
                 0 => '1.0.0 || 2.0.0 || 3.0.0',
                 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(
         'ralouphie/getallheaders' => array(
             'pretty_version' => '3.0.3',
             'pretty_version' => '3.0.3',
             'version' => '3.0.3.0',
             'version' => '3.0.3.0',
@@ -269,14 +332,23 @@
             'dev_requirement' => false,
             'dev_requirement' => false,
         ),
         ),
         'symfony/deprecation-contracts' => array(
         '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',
             'type' => 'library',
             'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
             'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
             'aliases' => array(),
             'aliases' => array(),
             'dev_requirement' => false,
             '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(
         'zendframework/zend-escaper' => array(
             'pretty_version' => '2.6.1',
             'pretty_version' => '2.6.1',
             'version' => '2.6.1.0',
             'version' => '2.6.1.0',

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

@@ -4,8 +4,8 @@
 
 
 $issues = array();
 $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) {
 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.
 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
 ## 7.8.1 - 2023-12-03
 
 
 ### Changed
 ### 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  |
 | 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-3-repo]: https://github.com/guzzle/guzzle3
 [guzzle-4-repo]: https://github.com/guzzle/guzzle/tree/4.x
 [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"
             "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": {
     "require": {
         "php": "^7.2.5 || ^8.0",
         "php": "^7.2.5 || ^8.0",
         "ext-json": "*",
         "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",
         "psr/http-client": "^1.0",
         "symfony/deprecation-contracts": "^2.2 || ^3.0"
         "symfony/deprecation-contracts": "^2.2 || ^3.0"
     },
     },
@@ -64,9 +92,9 @@
     "require-dev": {
     "require-dev": {
         "ext-curl": "*",
         "ext-curl": "*",
         "bamarni/composer-bin-plugin": "^1.8.2",
         "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",
         "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"
         "psr/log": "^1.1 || ^2.0 || ^3.0"
     },
     },
     "suggest": {
     "suggest": {

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

@@ -11,7 +11,7 @@ final class BodySummarizer implements BodySummarizerInterface
      */
      */
     private $truncateAt;
     private $truncateAt;
 
 
-    public function __construct(int $truncateAt = null)
+    public function __construct(?int $truncateAt = null)
     {
     {
         $this->truncateAt = $truncateAt;
         $this->truncateAt = $truncateAt;
     }
     }
@@ -22,7 +22,7 @@ final class BodySummarizer implements BodySummarizerInterface
     public function summarize(MessageInterface $message): ?string
     public function summarize(MessageInterface $message): ?string
     {
     {
         return $this->truncateAt === null
         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.
      * @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 = [])
     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.
      * @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
         return $option === null
             ? $this->config
             ? $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.
      * @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());
         }, $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) {
         if (!$domain) {
             $this->cookies = [];
             $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 $path   Clears cookies matching a domain and path
      * @param string|null $name   Clears cookies matching a domain, path, and name
      * @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.
      * Discard all sessions cookies.

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

@@ -14,7 +14,7 @@ class BadResponseException extends RequestException
         string $message,
         string $message,
         RequestInterface $request,
         RequestInterface $request,
         ResponseInterface $response,
         ResponseInterface $response,
-        \Throwable $previous = null,
+        ?\Throwable $previous = null,
         array $handlerContext = []
         array $handlerContext = []
     ) {
     ) {
         parent::__construct($message, $request, $response, $previous, $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(
     public function __construct(
         string $message,
         string $message,
         RequestInterface $request,
         RequestInterface $request,
-        \Throwable $previous = null,
+        ?\Throwable $previous = null,
         array $handlerContext = []
         array $handlerContext = []
     ) {
     ) {
         parent::__construct($message, 0, $previous);
         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\Client\RequestExceptionInterface;
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\ResponseInterface;
 use Psr\Http\Message\ResponseInterface;
-use Psr\Http\Message\UriInterface;
 
 
 /**
 /**
  * HTTP Request exception
  * HTTP Request exception
@@ -32,8 +31,8 @@ class RequestException extends TransferException implements RequestExceptionInte
     public function __construct(
     public function __construct(
         string $message,
         string $message,
         RequestInterface $request,
         RequestInterface $request,
-        ResponseInterface $response = null,
-        \Throwable $previous = null,
+        ?ResponseInterface $response = null,
+        ?\Throwable $previous = null,
         array $handlerContext = []
         array $handlerContext = []
     ) {
     ) {
         // Set the code of the exception if the response is set and not future.
         // 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(
     public static function create(
         RequestInterface $request,
         RequestInterface $request,
-        ResponseInterface $response = null,
-        \Throwable $previous = null,
+        ?ResponseInterface $response = null,
+        ?\Throwable $previous = null,
         array $handlerContext = [],
         array $handlerContext = [],
-        BodySummarizerInterface $bodySummarizer = null
+        ?BodySummarizerInterface $bodySummarizer = null
     ): self {
     ): self {
         if (!$response) {
         if (!$response) {
             return new self(
             return new self(
@@ -90,8 +89,7 @@ class RequestException extends TransferException implements RequestExceptionInte
             $className = __CLASS__;
             $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:
         // Client Error: `GET /` resulted in a `404 Not Found` response:
         // <html> ... (truncated)
         // <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
      * Get the request that caused the exception
      */
      */
     public function getRequest(): RequestInterface
     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\TransferStats;
 use GuzzleHttp\Utils;
 use GuzzleHttp\Utils;
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\RequestInterface;
+use Psr\Http\Message\UriInterface;
 
 
 /**
 /**
  * Creates curl resources from a request
  * Creates curl resources from a request
@@ -46,6 +47,16 @@ class CurlFactory implements CurlFactoryInterface
 
 
     public function create(RequestInterface $request, array $options): EasyHandle
     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'])) {
         if (isset($options['curl']['body_as_string'])) {
             $options['_body_as_string'] = $options['curl']['body_as_string'];
             $options['_body_as_string'] = $options['curl']['body_as_string'];
             unset($options['curl']['body_as_string']);
             unset($options['curl']['body_as_string']);
@@ -72,6 +83,42 @@ class CurlFactory implements CurlFactoryInterface
         return $easy;
         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
     public function release(EasyHandle $easy): void
     {
     {
         $resource = $easy->handle;
         $resource = $easy->handle;
@@ -147,7 +194,7 @@ class CurlFactory implements CurlFactoryInterface
             'error' => \curl_error($easy->handle),
             'error' => \curl_error($easy->handle),
             'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME),
             'appconnect_time' => \curl_getinfo($easy->handle, \CURLINFO_APPCONNECT_TIME),
         ] + \curl_getinfo($easy->handle);
         ] + \curl_getinfo($easy->handle);
-        $ctx[self::CURL_VERSION_STR] = \curl_version()['version'];
+        $ctx[self::CURL_VERSION_STR] = self::getCurlVersion();
         $factory->release($easy);
         $factory->release($easy);
 
 
         // Retry when nothing is present or when curl failed to rewind.
         // Retry when nothing is present or when curl failed to rewind.
@@ -158,6 +205,17 @@ class CurlFactory implements CurlFactoryInterface
         return self::createRejection($easy, $ctx);
         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
     private static function createRejection(EasyHandle $easy, array $ctx): PromiseInterface
     {
     {
         static $connectionErrors = [
         static $connectionErrors = [
@@ -194,15 +252,22 @@ class CurlFactory implements CurlFactoryInterface
             );
             );
         }
         }
 
 
+        $uri = $easy->request->getUri();
+
+        $sanitizedError = self::sanitizeCurlError($ctx['error'] ?? '', $uri);
+
         $message = \sprintf(
         $message = \sprintf(
             'cURL error %s: %s (%s)',
             'cURL error %s: %s (%s)',
             $ctx['errno'],
             $ctx['errno'],
-            $ctx['error'],
+            $sanitizedError,
             'see https://curl.haxx.se/libcurl/c/libcurl-errors.html'
             '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.
         // Create a connection exception if it was a specific error code.
@@ -213,6 +278,24 @@ class CurlFactory implements CurlFactoryInterface
         return P\Create::rejectionFor($error);
         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>
      * @return array<int|string, mixed>
      */
      */
@@ -232,10 +315,11 @@ class CurlFactory implements CurlFactoryInterface
         }
         }
 
 
         $version = $easy->request->getProtocolVersion();
         $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;
             $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_2_0;
+        } elseif ('1.1' === $version) {
+            $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_1;
         } else {
         } else {
             $conf[\CURLOPT_HTTP_VERSION] = \CURL_HTTP_VERSION_1_0;
             $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
                 // The empty string enables all available decoders and implicitly
                 // sets a matching 'Accept-Encoding' header.
                 // sets a matching 'Accept-Encoding' header.
                 $conf[\CURLOPT_ENCODING] = '';
                 $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:';
                 $conf[\CURLOPT_HTTPHEADER][] = 'Accept-Encoding:';
             }
             }
         }
         }
@@ -455,23 +541,35 @@ class CurlFactory implements CurlFactoryInterface
         }
         }
 
 
         if (isset($options['crypto_method'])) {
         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;
                 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_0;
             } elseif (\STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT === $options['crypto_method']) {
             } 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;
                 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_1;
             } elseif (\STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT === $options['crypto_method']) {
             } 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');
                     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;
                 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_2;
             } elseif (defined('STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT') && \STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT === $options['crypto_method']) {
             } 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');
                     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;
                 $conf[\CURLOPT_SSLVERSION] = \CURL_SSLVERSION_TLSv1_3;

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

@@ -2,6 +2,7 @@
 
 
 namespace GuzzleHttp\Handler;
 namespace GuzzleHttp\Handler;
 
 
+use Closure;
 use GuzzleHttp\Promise as P;
 use GuzzleHttp\Promise as P;
 use GuzzleHttp\Promise\Promise;
 use GuzzleHttp\Promise\Promise;
 use GuzzleHttp\Promise\PromiseInterface;
 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.
         // Step through the task queue which may add additional requests.
         P\Utils::queue()->run();
         P\Utils::queue()->run();
 
 
@@ -169,12 +173,25 @@ class CurlMultiHandler
         }
         }
 
 
         while (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) {
         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();
         $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.
      * Runs until all outstanding connections have completed.
      */
      */
     public function execute(): void
     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 $onFulfilled Callback to invoke when the return value is fulfilled.
      * @param callable|null $onRejected  Callback to invoke when the return value is rejected.
      * @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));
         return HandlerStack::create(new self($queue, $onFulfilled, $onRejected));
     }
     }
 
 
     /**
     /**
      * The passed in value must be an array of
      * The passed in value must be an array of
-     * {@see \Psr\Http\Message\ResponseInterface} objects, Exceptions,
+     * {@see ResponseInterface} objects, Exceptions,
      * callables, or Promises.
      * callables, or Promises.
      *
      *
      * @param array<int, mixed>|null $queue       The parameters to be passed to the append function, as an indexed array.
      * @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          $onFulfilled Callback to invoke when the return value is fulfilled.
      * @param callable|null          $onRejected  Callback to invoke when the return value is rejected.
      * @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->onFulfilled = $onFulfilled;
         $this->onRejected = $onRejected;
         $this->onRejected = $onRejected;
@@ -200,7 +200,7 @@ class MockHandler implements \Countable
     private function invokeStats(
     private function invokeStats(
         RequestInterface $request,
         RequestInterface $request,
         array $options,
         array $options,
-        ResponseInterface $response = null,
+        ?ResponseInterface $response = null,
         $reason = null
         $reason = null
     ): void {
     ): void {
         if (isset($options['on_stats'])) {
         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);
             \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;
         $startTime = isset($options['on_stats']) ? Utils::currentTime() : null;
 
 
         try {
         try {
@@ -83,8 +89,8 @@ class StreamHandler
         array $options,
         array $options,
         RequestInterface $request,
         RequestInterface $request,
         ?float $startTime,
         ?float $startTime,
-        ResponseInterface $response = null,
-        \Throwable $error = null
+        ?ResponseInterface $response = null,
+        ?\Throwable $error = null
     ): void {
     ): void {
         if (isset($options['on_stats'])) {
         if (isset($options['on_stats'])) {
             $stats = new TransferStats($request, $response, Utils::currentTime() - $startTime, $error, []);
             $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
         // HTTP/1.1 streams using the PHP stream wrapper require a
         // Connection: close header
         // Connection: close header
-        if ($request->getProtocolVersion() == '1.1'
+        if ($request->getProtocolVersion() === '1.1'
             && !$request->hasHeader('Connection')
             && !$request->hasHeader('Connection')
         ) {
         ) {
             $request = $request->withHeader('Connection', 'close');
             $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
      *                                                                            handler is provided, the best handler for your
      *                                                                            system will be utilized.
      *                                                                            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 = new self($handler ?: Utils::chooseHandler());
         $stack->push(Middleware::httpErrors(), 'http_errors');
         $stack->push(Middleware::httpErrors(), 'http_errors');
@@ -58,7 +58,7 @@ class HandlerStack
     /**
     /**
      * @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler.
      * @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;
         $this->handler = $handler;
     }
     }
@@ -131,7 +131,7 @@ class HandlerStack
      * @param callable(callable): callable $middleware Middleware function
      * @param callable(callable): callable $middleware Middleware function
      * @param string                       $name       Name to register for this middleware.
      * @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]);
         \array_unshift($this->stack, [$middleware, $name]);
         $this->cached = null;
         $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 ResponseInterface|null $response Response that was received
      * @param \Throwable|null        $error    Exception 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 = [];
         $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 ResponseInterface|null $response Response that was received
      * @param \Throwable|null        $error    Exception 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.
      * @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 (callable $handler) use ($bodySummarizer): callable {
             return static function ($request, array $options) use ($handler, $bodySummarizer) {
             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.
      * @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 (callable $handler) use ($before, $after): callable {
             return static function (RequestInterface $request, array $options) use ($handler, $before, $after) {
             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.
      * @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 static function (callable $handler) use ($decider, $delay): RetryMiddleware {
             return new RetryMiddleware($decider, $handler, $delay);
             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;
         $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;
             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
      * 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
      * jar to use or what cookies to send. This option only works if your
      * handler has the `cookie` middleware. Valid values are `false` and
      * 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';
     public const COOKIES = 'cookies';
 
 

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

@@ -40,7 +40,7 @@ class RetryMiddleware
      *                                                                         and returns the number of
      *                                                                         and returns the number of
      *                                                                         milliseconds to delay.
      *                                                                         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->decider = $decider;
         $this->nextHandler = $nextHandler;
         $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);
         $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(
     public function __construct(
         RequestInterface $request,
         RequestInterface $request,
-        ResponseInterface $response = null,
-        float $transferTime = null,
+        ?ResponseInterface $response = null,
+        ?float $transferTime = null,
         $handlerErrorData = null,
         $handlerErrorData = null,
         array $handlerStats = []
         array $handlerStats = []
     ) {
     ) {

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

@@ -71,7 +71,7 @@ final class Utils
             return \STDOUT;
             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;
         $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')) {
             if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) {
                 $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler());
                 $handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler());
             } elseif (\function_exists('curl_exec')) {
             } elseif (\function_exists('curl_exec')) {

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

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

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

@@ -38,10 +38,10 @@ composer require guzzlehttp/promises
 
 
 ## Version Guidance
 ## 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
 ## Quick Start

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

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

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

@@ -84,8 +84,8 @@ final class Coroutine implements PromiseInterface
     }
     }
 
 
     public function then(
     public function then(
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
     ): PromiseInterface {
         return $this->result->then($onFulfilled, $onRejected);
         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(
     public static function of(
         $iterable,
         $iterable,
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
     ): PromiseInterface {
         return (new EachPromise($iterable, [
         return (new EachPromise($iterable, [
             'fulfilled' => $onFulfilled,
             'fulfilled' => $onFulfilled,
@@ -46,8 +46,8 @@ final class Each
     public static function ofLimit(
     public static function ofLimit(
         $iterable,
         $iterable,
         $concurrency,
         $concurrency,
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
     ): PromiseInterface {
         return (new EachPromise($iterable, [
         return (new EachPromise($iterable, [
             'fulfilled' => $onFulfilled,
             'fulfilled' => $onFulfilled,
@@ -67,7 +67,7 @@ final class Each
     public static function ofLimitAll(
     public static function ofLimitAll(
         $iterable,
         $iterable,
         $concurrency,
         $concurrency,
-        callable $onFulfilled = null
+        ?callable $onFulfilled = null
     ): PromiseInterface {
     ): PromiseInterface {
         return self::ofLimit(
         return self::ofLimit(
             $iterable,
             $iterable,

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

@@ -31,8 +31,8 @@ class FulfilledPromise implements PromiseInterface
     }
     }
 
 
     public function then(
     public function then(
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
     ): PromiseInterface {
         // Return itself if there is no onFulfilled function.
         // Return itself if there is no onFulfilled function.
         if (!$onFulfilled) {
         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.
      * @param callable $cancelFn Fn that when invoked cancels the promise.
      */
      */
     public function __construct(
     public function __construct(
-        callable $waitFn = null,
-        callable $cancelFn = null
+        ?callable $waitFn = null,
+        ?callable $cancelFn = null
     ) {
     ) {
         $this->waitFn = $waitFn;
         $this->waitFn = $waitFn;
         $this->cancelFn = $cancelFn;
         $this->cancelFn = $cancelFn;
     }
     }
 
 
     public function then(
     public function then(
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
     ): PromiseInterface {
         if ($this->state === self::PENDING) {
         if ($this->state === self::PENDING) {
             $p = new Promise(null, [$this, 'cancel']);
             $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.
      * @param callable $onRejected  Invoked when the promise is rejected.
      */
      */
     public function then(
     public function then(
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface;
     ): PromiseInterface;
 
 
     /**
     /**

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

@@ -31,8 +31,8 @@ class RejectedPromise implements PromiseInterface
     }
     }
 
 
     public function then(
     public function then(
-        callable $onFulfilled = null,
-        callable $onRejected = null
+        ?callable $onFulfilled = null,
+        ?callable $onRejected = null
     ): PromiseInterface {
     ): PromiseInterface {
         // If there's no onRejected callback then just return self.
         // If there's no onRejected callback then just return self.
         if (!$onRejected) {
         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 mixed       $reason      Rejection reason.
      * @param string|null $description Optional description.
      * @param string|null $description Optional description.
      */
      */
-    public function __construct($reason, string $description = null)
+    public function __construct($reason, ?string $description = null)
     {
     {
         $this->reason = $reason;
         $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.
      * @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;
         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/)
 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).
 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
 ## 2.6.2 - 2023-12-03
 
 
 ### Fixed
 ### Fixed

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

@@ -24,8 +24,8 @@ composer require guzzlehttp/psr7
 
 
 | Version | Status              | PHP Version  |
 | 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
 ## AppendStream
@@ -436,7 +436,7 @@ will be parsed into `['foo[a]' => '1', 'foo[b]' => '2'])`.
 
 
 ## `GuzzleHttp\Psr7\Query::build`
 ## `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.
 Build a query string from an array of key value pairs.
 
 
@@ -498,11 +498,18 @@ a message.
 
 
 ## `GuzzleHttp\Psr7\Utils::readLine`
 ## `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.
 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`
 ## `GuzzleHttp\Psr7\Utils::streamFor`
 
 
 `public static function streamFor(resource|string|null|int|float|bool|StreamInterface|callable|\Iterator $resource = '', array $options = []): StreamInterface`
 `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`
 ### `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
 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
 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": {
     "require-dev": {
         "bamarni/composer-bin-plugin": "^1.8.2",
         "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": {
     "suggest": {
         "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
         "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(
     public function __construct(
         StreamInterface $stream,
         StreamInterface $stream,
-        StreamInterface $target = null
+        ?StreamInterface $target = null
     ) {
     ) {
         $this->remoteStream = $stream;
         $this->remoteStream = $stream;
         $this->stream = $target ?: new Stream(Utils::tryFopen('php://temp', 'r+'));
         $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(
     public function createUploadedFile(
         StreamInterface $stream,
         StreamInterface $stream,
-        int $size = null,
+        ?int $size = null,
         int $error = \UPLOAD_ERR_OK,
         int $error = \UPLOAD_ERR_OK,
-        string $clientFilename = null,
-        string $clientMediaType = null
+        ?string $clientFilename = null,
+        ?string $clientMediaType = null
     ): UploadedFileInterface {
     ): UploadedFileInterface {
         if ($size === null) {
         if ($size === null) {
             $size = $stream->getSize();
             $size = $stream->getSize();

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

@@ -32,7 +32,7 @@ final class MultipartStream implements StreamInterface
      *
      *
      * @throws \InvalidArgumentException
      * @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->boundary = $boundary ?: bin2hex(random_bytes(20));
         $this->stream = $this->createStream($elements);
         $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
      * string. This function does not modify the provided keys when an array is
      * encountered (like `http_build_query()` would).
      * 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) {
         if (!$params) {
             return '';
             return '';
@@ -86,12 +89,14 @@ final class Query
             throw new \InvalidArgumentException('Invalid type');
             throw new \InvalidArgumentException('Invalid type');
         }
         }
 
 
+        $castBool = $treatBoolsAsInts ? static function ($v) { return (int) $v; } : static function ($v) { return $v ? 'true' : 'false'; };
+
         $qs = '';
         $qs = '';
         foreach ($params as $k => $v) {
         foreach ($params as $k => $v) {
             $k = $encoder((string) $k);
             $k = $encoder((string) $k);
             if (!is_array($v)) {
             if (!is_array($v)) {
                 $qs .= $k;
                 $qs .= $k;
-                $v = is_bool($v) ? (int) $v : $v;
+                $v = is_bool($v) ? $castBool($v) : $v;
                 if ($v !== null) {
                 if ($v !== null) {
                     $qs .= '='.$encoder((string) $v);
                     $qs .= '='.$encoder((string) $v);
                 }
                 }
@@ -99,7 +104,7 @@ final class Query
             } else {
             } else {
                 foreach ($v as $vv) {
                 foreach ($v as $vv) {
                     $qs .= $k;
                     $qs .= $k;
-                    $vv = is_bool($vv) ? (int) $vv : $vv;
+                    $vv = is_bool($vv) ? $castBool($vv) : $vv;
                     if ($vv !== null) {
                     if ($vv !== null) {
                         $qs .= '='.$encoder((string) $vv);
                         $qs .= '='.$encoder((string) $vv);
                     }
                     }

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

@@ -96,7 +96,7 @@ class Response implements ResponseInterface
         array $headers = [],
         array $headers = [],
         $body = null,
         $body = null,
         string $version = '1.1',
         string $version = '1.1',
-        string $reason = null
+        ?string $reason = null
     ) {
     ) {
         $this->assertStatusCodeRange($status);
         $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);
         $options = stream_context_get_options($this->context);
 
 
@@ -136,10 +136,14 @@ final class StreamWrapper
      *   ctime: int,
      *   ctime: int,
      *   blksize: int,
      *   blksize: int,
      *   blocks: int
      *   blocks: int
-     * }
+     * }|false
      */
      */
-    public function stream_stat(): array
+    public function stream_stat()
     {
     {
+        if ($this->stream->getSize() === null) {
+            return false;
+        }
+
         static $modeMap = [
         static $modeMap = [
             'r' => 33060,
             'r' => 33060,
             'rb' => 33060,
             'rb' => 33060,

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

@@ -64,8 +64,8 @@ class UploadedFile implements UploadedFileInterface
         $streamOrFile,
         $streamOrFile,
         ?int $size,
         ?int $size,
         int $errorStatus,
         int $errorStatus,
-        string $clientFilename = null,
-        string $clientMediaType = null
+        ?string $clientFilename = null,
+        ?string $clientMediaType = null
     ) {
     ) {
         $this->setError($errorStatus);
         $this->setError($errorStatus);
         $this->size = $size;
         $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
      * @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) {
         if ($base !== null) {
             $uri = UriResolver::resolve($base, $uri);
             $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 StreamInterface $stream    Stream to read from
      * @param int|null        $maxLength Maximum buffer length
      * @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 = '';
         $buffer = '';
         $size = 0;
         $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.
      * Create a new stream based on the input type.
      *
      *
      * Options is an associative array that can contain the following keys:
      * 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)
 ### 2.9.2 (2023-10-27)
 
 
   * Fixed display_errors parsing in ErrorHandler which did not support string values (#1804)
   * 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",
         "mongodb/mongodb": "^1.8",
         "php-amqplib/php-amqplib": "~2.4 || ^3",
         "php-amqplib/php-amqplib": "~2.4 || ^3",
         "phpspec/prophecy": "^1.15",
         "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",
         "predis/predis": "^1.1 || ^2.0",
         "rollbar/rollbar": "^1.3 || ^2 || ^3",
         "rollbar/rollbar": "^1.3 || ^2 || ^3",
         "ruflin/elastica": "^7",
         "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;
         $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);
         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;
                 return $data;
             }
             }
 
 
+            if (\get_class($data) === '__PHP_Incomplete_Class') {
+                return new \ArrayObject($data);
+            }
+
             if (method_exists($data, '__toString')) {
             if (method_exists($data, '__toString')) {
                 return $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
     protected function createExceptionFromResponses($responses): Throwable
     {
     {
+        // @phpstan-ignore offsetAccess.nonOffsetAccessible
         foreach ($responses['items'] ?? [] as $item) {
         foreach ($responses['items'] ?? [] as $item) {
             if (isset($item['index']['error'])) {
             if (isset($item['index']['error'])) {
                 return $this->createExceptionFromError($item['index']['error']);
                 return $this->createExceptionFromError($item['index']['error']);

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


Some files were not shown because too many files changed in this diff