Add Symfony Deprecation Contracts package

- Created CHANGELOG.md to maintain version history.
- Added README.md with usage instructions for the trigger_deprecation() function.
- Initialized composer.json for the Symfony Deprecation Contracts library, specifying dependencies and autoloading.
This commit is contained in:
2025-12-15 08:43:18 +01:00
parent 0eedc919db
commit 778ee26fe4
643 changed files with 113899 additions and 109267 deletions

View File

@@ -1,98 +1,23 @@
<?php //ICB0 74:0 81:9cb 82:12d2 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
HR+cPx5C1+E+g/lKulUIm84B7Tz2bMCaYE6v27W1qkWkxKcAKNyCV1wfidJGhnr7RR3vJ1YhYDeA
IaZgQ+SJcu0/xz/dfoqkp0WDhGKPCT+w31gDiKXq/u854yU3oIQzPiKlT1eXsezEAQJzDL9AT1BT
BzUlLRz/laYVLhIcflnYe/BdOu8EENaMlVNSBY3qui6i92Kv06i0/zIAMCycqt0AmxPVjNK2y1dE
EH0/zZcMEukBbFCPoTkU6mnQIT2Xbn7gICuIO0Sg8pEcWnFz79mI8SCU86BCpZYM7FyQqQfv8RUF
we7XnRD0SfzAMXbVUdtlb18cG8sHiyRflASC67kwEafyCZ8QRe7m3IZf348diC8d6erpxx/FkvMz
aZj2WceThfOuGvY4cFu0d0ZZBM329ByHtjMyqaxxtuw1bu6NgE1kpTm3zQC6HxsvVrD5vUwDjneh
36K4kzkn7ZAWm0cGLsF/qJdDZwpQS/KcNbPwZAHNj1eHM6+0opTyddjvqIuOepkI+1BEHacRoz7N
sdQisq0Ft6N4QbAT8sgkZXUsWP+uNZxNY9UD87WL0aiZnYVegnONGOJRcIl8eXuEpfGUUjGTHvCi
1/zp3efVVXQmoE87U1lzqlQNTXGWq+/Gn3j/kPvBSsmoyzZ1SS9fsFjV03L/3LSprhf+pRGjNMhl
Z2iTyqWkI9u/vYu9myjAa0s2RBAjCa9leUVq1OuJbA+5EQnaszOrEGVGzLoYLcEAIDN3dqFY8uXp
HrBkqpxeA0M8WOXCWe3THEZCxsYgp+0LG+qx//AF2NpPiYfBH6qDWHSFXBuHTaEQDXK9soivJQUC
VM2WvSZjQlAE6WreP7Ejq6WJckUaqNu4PFZtiGyBzCs6dH1PAvcZn2+UaHzrf7o0mqD6v8PM6JXv
tdggl50/YJlu937Y1jL2GE4LSKbD0qq422Roo9ZCHzncpPSMOeG3r1ToeLEA6TkXRoIZLjUJQA4q
riowqBg/7yhVjT073z47tbaLPOYVdcxoOVr2p51bgtp0dbTUzd/6FoxLNc69VUUzfxuE1Ey3zOM1
gLUaiUNPqHEDhI+nQ7alRMidksysVE2Q8223RHBWwXUVXxAL+dSInrFe6guCSj16tJioLm7Qe4ci
8p3oWcmg6tHvHa4PBe/uRt7vYGa15t/CbA3dalDv867vsdq1B58DaVWDuUoLlseeAmGs3RauhnAS
D9OGtMi0xav0NjGzX/PSrvhDyB59Os2ySI05/PkMaS8jPyEc0MZTCOIYswxsfLbjcVK8gzKMgWmI
JIiOkOuN/S8AGFl6pUW/lrVkbDnJviwj6hy291Y5CAKrtV2bYW6VlP2UqfJAVX0j73+u38VD9QZ7
v8bBR4ArNtUBArT6evMXpfHElBWNY4MDA1JddbxHI1u3pMfXjCwXpagh92NNMdfWiltT9HeEwsHQ
zSbclahSDK7Pq8HvMeECyc8FCZVXhHpDND6r7aVYXbvV245A0cGKxrQFGJQ8AYITqLMfdL15yD1j
rsJ6qlGe3hty3npX4FIn7NPqcTLiQTGELkOe5rWMO0F5EkW3ERJi3jXF2uWqJRtmAI1Jcbs5zVql
Skdq1TNlOWoMScSvHPFicevZ2KSniJf225NJmcJllYwCtlvGzhJskPj1PhacqodzoBgVa/JuNKW6
2Xz7DDmrcm/13nf6DroDsDzly+SVidnaB3yUqEfOm1QqOULJ2rm0sJLkCXRh47iWWADBE+d0Vih4
kHTxYGpkm+4jBCk14m/jG8t+HSzrHmOXhudRasGiHsoogxvBnTFstJ4qkBMluEJ1vY3xMFT9yB9s
h45tME0QOPPEKuHMIfphfKsuLaMNwqbTdvXBdBHPXVabBPK9ANngdWcg5wrAWfCAeXBCtlHmX5Y6
Rb1vQbwPSUbxVkOc/LY8ic0NTTpX8f32o0Z4iy12PetmzlWzZbmIgrIy333iw67vSFMO1WI0ci2F
+F7ErBkuLBYVDGs30vwNowmJMhrbdPggt4R1PjlNLG8K817aYLowZHcpFQSYJkeBLoMLkffAI4FI
wJZWCR/4bSaE+Fbet/vmrggqJdHJ5JXxvuAYz7XPA44YsJRX7ivDjdpVaw3v+rYus9u3EE5/YD7L
zH2xYqZF8vbHeqznpcXQKF2ssFSTnbL6WJhqfIQFDO5QROkSih9FOZrI1C0dBMCQ7VD8MN+JYs1+
+uZmMy9ZWj2V892YQcTKrr6puInZKx4/jqDKID03lnoOxLyvk2FPVi1FHzrTWF50s7JskBE5b0h2
CuKNzu5zt96gTw7si4BE=
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=
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
xml3wremeewiASe=
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\Psr\Http\Message\MessageInterface;
final class BodySummarizer implements BodySummarizerInterface
{
/**
* @var int|null
*/
private $truncateAt;
public function __construct(?int $truncateAt = null)
{
$this->truncateAt = $truncateAt;
}
/**
* Returns a summarized message body.
*/
public function summarize(MessageInterface $message): ?string
{
return $this->truncateAt === null ? \PShowSsoScoped\GuzzleHttp\Psr7\Message::bodySummary($message) : \PShowSsoScoped\GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt);
}
}

View File

@@ -1,56 +1,13 @@
<?php //ICB0 74:0 81:570 82:a62 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
HR+cP+di7iGrIUFhPLIBvrU+et8DmwRX29BrypVsSvxBbMxcPk2o7NRWEuzN/ovupiIiOSJk7gub
RFxYGhn/CBma1UznOs4Gx72XEANk0LTHBiTS2iN7Uu/p0WkHSNk5bFjdUZiVxK6yhVZrIdqT8m0j
hgORofvBFJFUKyXOuQJ2f887HRwAqbY5ZZxXE/G9x8vNb8CLSWmXjL4vAdjFI6pg5OkMMjbe88CP
cyLpe39y3lLmY/8DfW6xEjsQroVJSGCJ7JAR3onM7jcmmu2qCg4I0pdCzeB+UmUlQjARA3M4QXJy
ao2AMXoLwbvnpe23DMc5jlLZZ3urqT590cYyZtAXEZHDfSN1tqVO060CsT4bMJrUiigGcDs4v0Sd
xBiQVZNx48hb0e0c5ZOZCmZZBM329ByHtjMyqaxxtuwrcLVt/D9Irjj3/Re6Xxcv95CXqJVATbRc
IINOJZB6xi4x3Cq+kqRFfM7oeCC/tckQ2pDR7iLzk+0hg3zrTTaZ8yWO+QoxALFzBvFoUm/Q9SIL
Bebh918SlUlA9CbWnm0q2kYLT8GR9gjoN3e6+hA+NJh9tWSvzlzVfZkp3Upeu7SRMiryFGNu83lw
GzeP0ge4ipR7yPVVL0p8rQ8/8gguKEav71PbTiyv2W3HEr3RArWcgdPsNDJHyEuAuy7CK6MBCMkq
jHl1oZHs2MSqvdHuLxgSccirg3567EbtVfDlRcYfbQanopBUobzyAJvW1M+3RNjJ3EBrlpS0iUh0
wtg9Q8NzWUplhtqt9WhmAm4Fx1BfVjKcBsSoNP64paqbiW6BIb3yR/6cRT6LlY5dJHTHEzN2pABF
B2ef0Pj//ZuwX0ErQVrHXXafJGKmBdFfr6mMhbYf5YiP5aH3rU67Fh4xR7NFtwL+wvu9OnJSD+bq
oHUSp+65BkbU4KGCFv7Z4h0WCsm/B769efA49qICLe5LkvMduZ0YYLb3WU4xDXjLYaWwdKTWcXCk
P2B9tTz3shmpBnK01NduoUWacQW6Q7jFLlSQAlez1HSfW+EVCuYO5npScJ6e4qJ6WpOxKzMfgEYG
MSvXfxYcuuMqltuCE07Yq3NbjNh/kN8Tu52LZa1HGW295/+V/IPqlQ3nZVXa64+gGP1X2gPskOWq
MGWZeFHdeLLS4uceQttAQPhuA/t2STheaYfka+S4KCRZiHuvMjkcI0gUdm===
HR+cP/rv/OIqsiMhvCPefz/2sLDd8+sb0Kf+uNOLb6WYWINC18bA+iYQsZqCPxM1lPEBwIOEWrWk
Cg36HyA8aVuM9qqZqy/S+JX+nZ62rWsH6tSxPjFO4sK0Vs8VWEDQnp1h5SfYsCehDmZR8bxvUD6t
W6sdHIDcZSnYpO7EWOFA3c9TKdMm5x/3y0EwxXXBELTlEUiEILX5Fbdkzesb67xEArDnCTE+jV8j
dAnC3wEXVCgmi4ZukhSIUViD3g2lesnu+0haxvQgGJaBr+GPIPc5bsXyvJloE5ZeN9Sapo06ka6G
cmTfFKx7v88MHSdP6P7J/tNiDWJlyEJTpaPqPxsiEjhH0hZPyHKTJ7lMtwj+HmD7yyMrokq7WhyU
z/IRImRFZAxz9UGuxOXBQlErmoRV4ePpsXEb8OQYcS/ReR8aGwT+SUUsSzJtQdijEIf3UuZqe/6d
slqCOuQ0A1FgLiBJuBPinfQRbHIGuP86T4Boew+KmMTwpb2Pi5vkjubpXIlTuZ8sKO2RXQ4+fKeM
rd4KBVISzu85E342o7L238d0X2iFtyQAd5ZVSBvRK7AE2axAvV22ko71c0oDKApFOcDMb4sV3gN8
OhhgAgdBE+QD/qktAbZ2dnRSeSctx8cryKLTMXFXlfV+FScUKqvbNiAdKDORJjN13Z8WHXyFQ7GV
5GMCJufm/ZYRt+wQDZsXU1BwhYh2uslEQkbiltgCrH/hu/fOJKgP53MQewAYEsQCGsJwlPn3gaNN
yjAFx7ZhsQoLwOVE4Oi3HnzZqPQOcnWim+S1/oTNyQ3bxEm2GNIhIHt40LRX7GAjh97Pbflhj5ty
3o8BcKSFqfm9/hRknRqI2FpPSxT9bwlypu6G+YCWklkyJ3RbUpqzt8JmutePYvzOCp0iX3TbBNPX
Q8N3CwXWmuZ+GFLX2Zs+nWhMe1yJGvBKKeqUcLxowAVFy3KPoSULn9Vqp1ijWzislgEdHTJWvpv+
KB4qyon1EgWIViAzBWbJbbls/4otIlFVAzzAfHvyokf2Axm/d3HD8M7sUZzSvlWsgEBf5lfPDTSD
BAacJcGQZ0mGPhhTMxPGpOg4/7dr4V0+5XjhVHhBKn3h3neZ4HTdYHrG1HVroE2Z+LQpOFLXz4vA
wKoyDrKuX27YWOaR5M1R4GIuDxWGCYx/Uu+1vdq2DiTwvEIt9IHzRrN6p8dfKjEwk83T/R1C7pG5
imw7xZJqmZAp/4Pk3HKwYrQz52t1CW===
HR+cP//hrr40zoMgDojen2C8OofYnrfoSy1Jptj+rHDBrJgP+72OEK5kmoSjZCvYyGFtM3zSNqja
EhFby/KmyzSiQeRMpspLZqxfydH7PylcLR7uPVPCOaL2c5lC/sLI3sEqmldWz+BcP8DbRDcK3WZK
7efVxc8cZWra/fxi9EqRAU3UQ39t8GET0AQZDyyUTgJn80wdOy8/R5w6zh+e6KGLPjknlPHkL7M4
+ovXxY1MRxkJcaxQDJQ0S7if9i/ljcxandmIAZDxV6e/ycxsfocu3ssKxF1s6ag0H55QxQM1Eq2G
07cNNOtIDyAf018e39uV+jYQUWInqD2eUmbgS1gsEhMVlz3IPGqna1q1+OUB+vxnKl/llAkBW67U
EP1nzUX+UfTbKXjhNaZ7wPvi/eq0PrbF5BGNyaUan/Jqdk+cYsoyFTs0lRUdmwZELW70bc2KO9DW
1Fja5Iwkd/bvXEiqvqiQCpQ38TZsunB/Q+qM8MPFIvNA7lSKgflT7/kGbZiQ0WMobaSWOt9a0RpJ
tw+sgU+XhXK4MaOBsQKXXODID+wveJhcsfbiZCTGBomzO9KrPPX8EqgNUK7t1WGLh/nSDTuEwVwD
tTO/NQ58IZ1DoeBkLqFbHOQVVMOBumZ35i7UeBZXBgRuQ7dr35TtIBG3hn8/SD6wXlzr8KXVZKZG
facqPIZQ5ov5TEGUobUj4DaWppusrxQfplPWTmyOq3c1clyFF/zQGYY8Hnxyd31ZDOooNhOcYGyH
dC98Il7ynMAFt72a2W8mhGs8Kn3d/vjLH6//4JEKXl/4DHdyCTGpP6l1IA1SXR0IJi2ZGjcKy/4s
/jX3GohACRkSLuCTZwz4BCk81DLZlIIyxveXuieIcxbOZbmPqtqI4Ebow/WbPeIkf4MApdGPnbW0
t9id1vN03NHDMHl9JdqOD7YbVj3W6d8v3DWMUod/ocjxLj7oXsI87az8QA4VjguWd0C3af34aeok
EMJ4mMEs1K7t5N485gHzfh1mlyTsuiXQv1SkIbhg+Jq4bWqjQs0ZiA0FLYHEajypJdD8U3i1/2nm
yYY2+MPiJzqk+xhk4DhHjE1IyqgrwlkV76uFSrUdt2DjPPN19j+Rns4/EhpSAWQlhVtI0oF/IatE
xioYoXDhsz9qdWLd+1ESYXyGAODUjrcg+pYMJJ810yF1yYvtmI0ZV3uhD1gMeYJSqnQPiqDyW3yl
N8RaQwjcvmxmc4sqoGl5sNWXaxYE7tDL
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\Psr\Http\Message\MessageInterface;
interface BodySummarizerInterface
{
/**
* Returns a summarized message body.
*/
public function summarize(MessageInterface $message): ?string;
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,128 +1,84 @@
<?php //ICB0 74:0 81:cac 82:18ea ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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=
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
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\GuzzleHttp\Exception\GuzzleException;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
use PShowSsoScoped\Psr\Http\Message\UriInterface;
/**
* Client interface for sending HTTP requests.
*/
interface ClientInterface
{
/**
* The Guzzle major version.
*/
public const MAJOR_VERSION = 7;
/**
* Send an HTTP request.
*
* @param RequestInterface $request Request to send
* @param array $options Request options to apply to the given
* request and to the transfer.
*
* @throws GuzzleException
*/
public function send(RequestInterface $request, array $options = []): ResponseInterface;
/**
* Asynchronously send an HTTP request.
*
* @param RequestInterface $request Request to send
* @param array $options Request options to apply to the given
* request and to the transfer.
*/
public function sendAsync(RequestInterface $request, array $options = []): PromiseInterface;
/**
* Create and send an HTTP request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well.
*
* @param string $method HTTP method.
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*
* @throws GuzzleException
*/
public function request(string $method, $uri, array $options = []): ResponseInterface;
/**
* Create and send an asynchronous HTTP request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well. Use an array to provide a URL
* template and additional variables to use in the URL template expansion.
*
* @param string $method HTTP method
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*/
public function requestAsync(string $method, $uri, array $options = []): PromiseInterface;
/**
* Get a client configuration option.
*
* These options include default request options of the client, a "handler"
* (if utilized by the concrete client), and a "base_uri" if utilized by
* the concrete client.
*
* @param string|null $option The config option to retrieve.
*
* @return mixed
*
* @deprecated ClientInterface::getConfig will be removed in guzzlehttp/guzzle:8.0.
*/
public function getConfig(?string $option = null);
}

View File

@@ -1,202 +1,241 @@
<?php //ICB0 74:0 81:13bc 82:2777 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
67hxplcVS17bUHcCehnqvZu==
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
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\GuzzleHttp\Exception\GuzzleException;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
use PShowSsoScoped\Psr\Http\Message\UriInterface;
/**
* Client interface for sending HTTP requests.
*/
trait ClientTrait
{
/**
* Create and send an HTTP request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well.
*
* @param string $method HTTP method.
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*
* @throws GuzzleException
*/
abstract public function request(string $method, $uri, array $options = []): ResponseInterface;
/**
* Create and send an HTTP GET request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*
* @throws GuzzleException
*/
public function get($uri, array $options = []): ResponseInterface
{
return $this->request('GET', $uri, $options);
}
/**
* Create and send an HTTP HEAD request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*
* @throws GuzzleException
*/
public function head($uri, array $options = []): ResponseInterface
{
return $this->request('HEAD', $uri, $options);
}
/**
* Create and send an HTTP PUT request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*
* @throws GuzzleException
*/
public function put($uri, array $options = []): ResponseInterface
{
return $this->request('PUT', $uri, $options);
}
/**
* Create and send an HTTP POST request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*
* @throws GuzzleException
*/
public function post($uri, array $options = []): ResponseInterface
{
return $this->request('POST', $uri, $options);
}
/**
* Create and send an HTTP PATCH request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*
* @throws GuzzleException
*/
public function patch($uri, array $options = []): ResponseInterface
{
return $this->request('PATCH', $uri, $options);
}
/**
* Create and send an HTTP DELETE request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*
* @throws GuzzleException
*/
public function delete($uri, array $options = []): ResponseInterface
{
return $this->request('DELETE', $uri, $options);
}
/**
* Create and send an asynchronous HTTP request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well. Use an array to provide a URL
* template and additional variables to use in the URL template expansion.
*
* @param string $method HTTP method
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*/
abstract public function requestAsync(string $method, $uri, array $options = []): PromiseInterface;
/**
* Create and send an asynchronous HTTP GET request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well. Use an array to provide a URL
* template and additional variables to use in the URL template expansion.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*/
public function getAsync($uri, array $options = []): PromiseInterface
{
return $this->requestAsync('GET', $uri, $options);
}
/**
* Create and send an asynchronous HTTP HEAD request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well. Use an array to provide a URL
* template and additional variables to use in the URL template expansion.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*/
public function headAsync($uri, array $options = []): PromiseInterface
{
return $this->requestAsync('HEAD', $uri, $options);
}
/**
* Create and send an asynchronous HTTP PUT request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well. Use an array to provide a URL
* template and additional variables to use in the URL template expansion.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*/
public function putAsync($uri, array $options = []): PromiseInterface
{
return $this->requestAsync('PUT', $uri, $options);
}
/**
* Create and send an asynchronous HTTP POST request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well. Use an array to provide a URL
* template and additional variables to use in the URL template expansion.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*/
public function postAsync($uri, array $options = []): PromiseInterface
{
return $this->requestAsync('POST', $uri, $options);
}
/**
* Create and send an asynchronous HTTP PATCH request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well. Use an array to provide a URL
* template and additional variables to use in the URL template expansion.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*/
public function patchAsync($uri, array $options = []): PromiseInterface
{
return $this->requestAsync('PATCH', $uri, $options);
}
/**
* Create and send an asynchronous HTTP DELETE request.
*
* Use an absolute path to override the base path of the client, or a
* relative path to append to the base path of the client. The URL can
* contain the query string as well. Use an array to provide a URL
* template and additional variables to use in the URL template expansion.
*
* @param string|UriInterface $uri URI object or string.
* @param array $options Request options to apply.
*/
public function deleteAsync($uri, array $options = []): PromiseInterface
{
return $this->requestAsync('DELETE', $uri, $options);
}
}

View File

@@ -1,554 +1,307 @@
<?php //ICB0 74:0 81:38cf 82:6eb0 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
cLDtnm===
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
6YK4W9EEYRyM69LK
<?php
namespace PShowSsoScoped\GuzzleHttp\Cookie;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
/**
* Cookie jar that stores cookies as an array
*/
class CookieJar implements CookieJarInterface
{
/**
* @var SetCookie[] Loaded cookie data
*/
private $cookies = [];
/**
* @var bool
*/
private $strictMode;
/**
* @param bool $strictMode Set to true to throw exceptions when invalid
* cookies are added to the cookie jar.
* @param array $cookieArray Array of SetCookie objects or a hash of
* arrays that can be used with the SetCookie
* constructor
*/
public function __construct(bool $strictMode = false, array $cookieArray = [])
{
$this->strictMode = $strictMode;
foreach ($cookieArray as $cookie) {
if (!($cookie instanceof SetCookie)) {
$cookie = new SetCookie($cookie);
}
$this->setCookie($cookie);
}
}
/**
* Create a new Cookie jar from an associative array and domain.
*
* @param array $cookies Cookies to create the jar from
* @param string $domain Domain to set the cookies to
*/
public static function fromArray(array $cookies, string $domain): self
{
$cookieJar = new self();
foreach ($cookies as $name => $value) {
$cookieJar->setCookie(new SetCookie([
'Domain' => $domain,
'Name' => $name,
'Value' => $value,
'Discard' => true,
]));
}
return $cookieJar;
}
/**
* Evaluate if this cookie should be persisted to storage
* that survives between requests.
*
* @param SetCookie $cookie Being evaluated.
* @param bool $allowSessionCookies If we should persist session cookies
*/
public static function shouldPersist(SetCookie $cookie, bool $allowSessionCookies = false): bool
{
if ($cookie->getExpires() || $allowSessionCookies) {
if (!$cookie->getDiscard()) {
return true;
}
}
return false;
}
/**
* Finds and returns the cookie based on the name
*
* @param string $name cookie name to search for
*
* @return SetCookie|null cookie that was found or null if not found
*/
public function getCookieByName(string $name): ?SetCookie
{
foreach ($this->cookies as $cookie) {
if ($cookie->getName() !== null && \strcasecmp($cookie->getName(), $name) === 0) {
return $cookie;
}
}
return null;
}
public function toArray(): array
{
return \array_map(static function (SetCookie $cookie): array {
return $cookie->toArray();
}, $this->getIterator()->getArrayCopy());
}
public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void
{
if (!$domain) {
$this->cookies = [];
return;
} elseif (!$path) {
$this->cookies = \array_filter(
$this->cookies,
static function (SetCookie $cookie) use ($domain): bool {
return !$cookie->matchesDomain($domain);
}
);
} elseif (!$name) {
$this->cookies = \array_filter(
$this->cookies,
static function (SetCookie $cookie) use ($path, $domain): bool {
return !($cookie->matchesPath($path)
&& $cookie->matchesDomain($domain));
}
);
} else {
$this->cookies = \array_filter(
$this->cookies,
static function (SetCookie $cookie) use ($path, $domain, $name) {
return !($cookie->getName() == $name
&& $cookie->matchesPath($path)
&& $cookie->matchesDomain($domain));
}
);
}
}
public function clearSessionCookies(): void
{
$this->cookies = \array_filter(
$this->cookies,
static function (SetCookie $cookie): bool {
return !$cookie->getDiscard() && $cookie->getExpires();
}
);
}
public function setCookie(SetCookie $cookie): bool
{
// If the name string is empty (but not 0), ignore the set-cookie
// string entirely.
$name = $cookie->getName();
if (!$name && $name !== '0') {
return false;
}
// Only allow cookies with set and valid domain, name, value
$result = $cookie->validate();
if ($result !== true) {
if ($this->strictMode) {
throw new \RuntimeException('Invalid cookie: '.$result);
}
$this->removeCookieIfEmpty($cookie);
return false;
}
// Resolve conflicts with previously set cookies
foreach ($this->cookies as $i => $c) {
// Two cookies are identical, when their path, and domain are
// identical.
if ($c->getPath() != $cookie->getPath()
|| $c->getDomain() != $cookie->getDomain()
|| $c->getName() != $cookie->getName()
) {
continue;
}
// The previously set cookie is a discard cookie and this one is
// not so allow the new cookie to be set
if (!$cookie->getDiscard() && $c->getDiscard()) {
unset($this->cookies[$i]);
continue;
}
// If the new cookie's expiration is further into the future, then
// replace the old cookie
if ($cookie->getExpires() > $c->getExpires()) {
unset($this->cookies[$i]);
continue;
}
// If the value has changed, we better change it
if ($cookie->getValue() !== $c->getValue()) {
unset($this->cookies[$i]);
continue;
}
// The cookie exists, so no need to continue
return false;
}
$this->cookies[] = $cookie;
return true;
}
public function count(): int
{
return \count($this->cookies);
}
/**
* @return \ArrayIterator<int, SetCookie>
*/
public function getIterator(): \ArrayIterator
{
return new \ArrayIterator(\array_values($this->cookies));
}
public function extractCookies(RequestInterface $request, ResponseInterface $response): void
{
if ($cookieHeader = $response->getHeader('Set-Cookie')) {
foreach ($cookieHeader as $cookie) {
$sc = SetCookie::fromString($cookie);
if (!$sc->getDomain()) {
$sc->setDomain($request->getUri()->getHost());
}
if (0 !== \strpos($sc->getPath(), '/')) {
$sc->setPath($this->getCookiePathFromRequest($request));
}
if (!$sc->matchesDomain($request->getUri()->getHost())) {
continue;
}
// Note: At this point `$sc->getDomain()` being a public suffix should
// be rejected, but we don't want to pull in the full PSL dependency.
$this->setCookie($sc);
}
}
}
/**
* Computes cookie path following RFC 6265 section 5.1.4
*
* @see https://datatracker.ietf.org/doc/html/rfc6265#section-5.1.4
*/
private function getCookiePathFromRequest(RequestInterface $request): string
{
$uriPath = $request->getUri()->getPath();
if ('' === $uriPath) {
return '/';
}
if (0 !== \strpos($uriPath, '/')) {
return '/';
}
if ('/' === $uriPath) {
return '/';
}
$lastSlashPos = \strrpos($uriPath, '/');
if (0 === $lastSlashPos || false === $lastSlashPos) {
return '/';
}
return \substr($uriPath, 0, $lastSlashPos);
}
public function withCookieHeader(RequestInterface $request): RequestInterface
{
$values = [];
$uri = $request->getUri();
$scheme = $uri->getScheme();
$host = $uri->getHost();
$path = $uri->getPath() ?: '/';
foreach ($this->cookies as $cookie) {
if ($cookie->matchesPath($path)
&& $cookie->matchesDomain($host)
&& !$cookie->isExpired()
&& (!$cookie->getSecure() || $scheme === 'https')
) {
$values[] = $cookie->getName().'='
.$cookie->getValue();
}
}
return $values
? $request->withHeader('Cookie', \implode('; ', $values))
: $request;
}
/**
* If a cookie already exists and the server asks to set it again with a
* null value, the cookie must be deleted.
*/
private function removeCookieIfEmpty(SetCookie $cookie): void
{
$cookieValue = $cookie->getValue();
if ($cookieValue === null || $cookieValue === '') {
$this->clear(
$cookie->getDomain(),
$cookie->getPath(),
$cookie->getName()
);
}
}
}

View File

@@ -1,167 +1,80 @@
<?php //ICB0 74:0 81:1055 82:205c ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
=
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
GE3RCm829OlkiaZ/at7j=
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
n2AoJpU8vW==
<?php
namespace PShowSsoScoped\GuzzleHttp\Cookie;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
/**
* Stores HTTP cookies.
*
* It extracts cookies from HTTP requests, and returns them in HTTP responses.
* CookieJarInterface instances automatically expire contained cookies when
* necessary. Subclasses are also responsible for storing and retrieving
* cookies from a file, database, etc.
*
* @see https://docs.python.org/2/library/cookielib.html Inspiration
*
* @extends \IteratorAggregate<SetCookie>
*/
interface CookieJarInterface extends \Countable, \IteratorAggregate
{
/**
* Create a request with added cookie headers.
*
* If no matching cookies are found in the cookie jar, then no Cookie
* header is added to the request and the same request is returned.
*
* @param RequestInterface $request Request object to modify.
*
* @return RequestInterface returns the modified request.
*/
public function withCookieHeader(RequestInterface $request): RequestInterface;
/**
* Extract cookies from an HTTP response and store them in the CookieJar.
*
* @param RequestInterface $request Request that was sent
* @param ResponseInterface $response Response that was received
*/
public function extractCookies(RequestInterface $request, ResponseInterface $response): void;
/**
* Sets a cookie in the cookie jar.
*
* @param SetCookie $cookie Cookie to set.
*
* @return bool Returns true on success or false on failure
*/
public function setCookie(SetCookie $cookie): bool;
/**
* Remove cookies currently held in the cookie jar.
*
* Invoking this method without arguments will empty the whole cookie jar.
* If given a $domain argument only cookies belonging to that domain will
* be removed. If given a $domain and $path argument, cookies belonging to
* the specified path within that domain are removed. If given all three
* arguments, then the cookie with the specified name, path and domain is
* removed.
*
* @param string|null $domain Clears cookies matching a domain
* @param string|null $path Clears cookies matching a domain and path
* @param string|null $name Clears cookies matching a domain, path, and name
*/
public function clear(?string $domain = null, ?string $path = null, ?string $name = null): void;
/**
* Discard all sessions cookies.
*
* Removes cookies that don't have an expire field or a have a discard
* field set to true. To be called when the user agent shuts down according
* to RFC 2965.
*/
public function clearSessionCookies(): void;
/**
* Converts the cookie jar to an array.
*/
public function toArray(): array;
}

View File

@@ -1,197 +1,101 @@
<?php //ICB0 74:0 81:140d 82:26d9 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
1cxzKPtCRM8iKPfBJt0P6RXAZYqF=
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
dLrHIUBKFxWW2YVow9anpi0bv0+df2+L6W===
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
<?php
namespace PShowSsoScoped\GuzzleHttp\Cookie;
use PShowSsoScoped\GuzzleHttp\Utils;
/**
* Persists non-session cookies using a JSON formatted file
*/
class FileCookieJar extends CookieJar
{
/**
* @var string filename
*/
private $filename;
/**
* @var bool Control whether to persist session cookies or not.
*/
private $storeSessionCookies;
/**
* Create a new FileCookieJar object
*
* @param string $cookieFile File to store the cookie data
* @param bool $storeSessionCookies Set to true to store session cookies
* in the cookie jar.
*
* @throws \RuntimeException if the file cannot be found or created
*/
public function __construct(string $cookieFile, bool $storeSessionCookies = false)
{
parent::__construct();
$this->filename = $cookieFile;
$this->storeSessionCookies = $storeSessionCookies;
if (\file_exists($cookieFile)) {
$this->load($cookieFile);
}
}
/**
* Saves the file when shutting down
*/
public function __destruct()
{
$this->save($this->filename);
}
/**
* Saves the cookies to a file.
*
* @param string $filename File to save
*
* @throws \RuntimeException if the file cannot be found or created
*/
public function save(string $filename): void
{
$json = [];
/** @var SetCookie $cookie */
foreach ($this as $cookie) {
if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
$json[] = $cookie->toArray();
}
}
$jsonStr = Utils::jsonEncode($json);
if (false === \file_put_contents($filename, $jsonStr, \LOCK_EX)) {
throw new \RuntimeException("Unable to save file {$filename}");
}
}
/**
* Load cookies from a JSON formatted file.
*
* Old cookies are kept unless overwritten by newly loaded ones.
*
* @param string $filename Cookie file to load.
*
* @throws \RuntimeException if the file cannot be loaded.
*/
public function load(string $filename): void
{
$json = \file_get_contents($filename);
if (false === $json) {
throw new \RuntimeException("Unable to load file {$filename}");
}
if ($json === '') {
return;
}
$data = Utils::jsonDecode($json, true);
if (\is_array($data)) {
foreach ($data as $cookie) {
$this->setCookie(new SetCookie($cookie));
}
} elseif (\is_scalar($data) && !empty($data)) {
throw new \RuntimeException("Invalid cookie file: {$filename}");
}
}
}

View File

@@ -1,165 +1,77 @@
<?php //ICB0 74:0 81:1091 82:2047 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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=
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
J8+IqsYkpZltNm===
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
wyoeVudRzJEz7OGRd2Kxhzfnr6hfHAexICqe
<?php
namespace PShowSsoScoped\GuzzleHttp\Cookie;
/**
* Persists cookies in the client session
*/
class SessionCookieJar extends CookieJar
{
/**
* @var string session key
*/
private $sessionKey;
/**
* @var bool Control whether to persist session cookies or not.
*/
private $storeSessionCookies;
/**
* Create a new SessionCookieJar object
*
* @param string $sessionKey Session key name to store the cookie
* data in session
* @param bool $storeSessionCookies Set to true to store session cookies
* in the cookie jar.
*/
public function __construct(string $sessionKey, bool $storeSessionCookies = false)
{
parent::__construct();
$this->sessionKey = $sessionKey;
$this->storeSessionCookies = $storeSessionCookies;
$this->load();
}
/**
* Saves cookies to session when shutting down
*/
public function __destruct()
{
$this->save();
}
/**
* Save cookies to the client session
*/
public function save(): void
{
$json = [];
/** @var SetCookie $cookie */
foreach ($this as $cookie) {
if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
$json[] = $cookie->toArray();
}
}
$_SESSION[$this->sessionKey] = \json_encode($json);
}
/**
* Load the contents of the client session into the data array
*/
protected function load(): void
{
if (!isset($_SESSION[$this->sessionKey])) {
return;
}
$data = \json_decode($_SESSION[$this->sessionKey], true);
if (\is_array($data)) {
foreach ($data as $cookie) {
$this->setCookie(new SetCookie($cookie));
}
} elseif (\strlen($data)) {
throw new \RuntimeException('Invalid cookie data');
}
}
}

View File

@@ -1,119 +1,39 @@
<?php //ICB0 74:0 81:bbd 82:1708 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
HR+cP/cdvfLcZDlQsXDpjdlec7vchmq8SK1WJUBNBUBIhNIxg1If6DuQncS1/vOxtG4Ta+EMuo1a
zjCAs8Bh8e6+ssj1cIrjspky/f0/ayzd6cuIJcmPw9+Bbg3mMtGtbidmGnyCnVyOkRtA8sm0M1th
QKM+/uGvEoTew2oePmuTJPNYKzhMTlhFvCG+0BxKDQzEuoLYr8K3+osspQaj11uYQ3g5KH1M7BT5
OGrZpnkK9ubdVQOCcxVU0kqMSV0HvDldVcbYjWAn4SlQbrORVqHhZnaxaXie2IGIzN6u5d63NxUz
XYzCuBejZ1p2oGken5SVT1ExHJIvCw/RqOHkYYr419az0B5DVNPkFi7ifxf7WtQKaTA7IXBh5DmZ
52xQ8m/Libk6EjQvDJWZ2ECjOC8aln7UrRpIJllVZjgMklHniqiFVgTnYmP7jxbt8DYr1TN9GSMQ
qUpG+roGYjY2cWtU8O+c7UNC/qH7aF19buiqtdJB3acquazrJyPMpsZn5bmH/1L2zJ72v1aRG5Zp
BQcAm4lWUpFTGuezvT9OulF23gbaSihNHNuhYzES4sZ1v6UHxEG3Rv5FOMjdT+pAbE1lgkKclfEH
XuVyD//pp3TfQaDw16mf02KwJEQ86yD53M2lBqoJ7tESyB20Izgyvbmhv3GsU0unexSWoknzGSCE
FjnJ+mOY0vsWbZCOnDcdIzAF8MmZrh69D32q6x8Y7vOcOyT2xkrD/SEO4aFykLgEP3GkQLUwbjQE
fbnb5Ctlvj9SByzsG2s5UbRNMqSWpNoS3UgXKT96NNliCatThgdF6TPdC4rYVkPjdLCsZpIZWLuv
HftvnXdBpG9yTabWe6HJmgzaUEH8EkJPgnFfNIapy9B0CYH3unZebVG6CxMg8kXrQ4KqnmrQykjq
ShNyeQgKqXIeZj3iYdgNw5LTrDF88XIxNhM33CUJNXDQkBpREBTkD8f92sG7rYPBHDjZ8jstqlPx
8Zd+9njST2fSd9aZOh7JbLMJUaosaYgYc9b0cxT470V5I9UdvEkrQ4Ae+NJ9WgLoQam709r4XIfU
BUwihw9RL1c0J8DMAkvsTrDAeCG9RlWw/aWZ8aCmFNeWb1o0QktP1Ru2ax5Y7TRt3/Bcw9qo8Yrx
NoFZrs33el67TDFDbQ8K4hORmj+iqNCWj5iKPmO9cONHTwuAg8Mv6iFho062dYBHlzraEwDI8jtp
pR3Hk10kH21EEPXLAMiSf8EtDyCvnH07nsa6XkT5MjwlJ8Zp8/wgB4zoLLA7+H7fKGgFaF9aqx/R
rt1pIwuEWyJQVQRwMDh1b197QOAy3j9iruro/SZMTFSXPYNZVJlJWeSEFH/Xm9+0wLLurHuu3brD
dfuUSgw00k/cobZWIs0IQ50DKzyNqFWKjbvxQWVJ9dHGJs56fs09X7bHrPMuy6X/FO+pb0C9dywc
2JhnSV/yxZsl8LAbfmnIvaL7uVkw/Zv8id8FiHbF//f9z+lrEdpv1Rm3LU9SH+rvE5ymHw9gwC8d
FZBbEMY7WWq95iAIw/67KJq0aZ+R9s8w6eKsgIkuSYyKAQYSDfhW0F+qJ5r3amBKfM3ryIgbRIVv
Q1jezmzixk27GhTLjPVWs2+EFwsl0QQvsfsPkkZn9dxgLuT2i2iC9SQEd3qK3mGJU7U7gwhewCze
GgOlthdmWYNWOR6mKxssEA07USPukYSiG57yHsIQJZWc1wBO+o6AGm1PzeZ3Th3dyeEEi7KvGfSr
t+AKlcWv3sfApjRBO+EEVuXxi5kkV74c56erXacggao2AL97SskUGwQt82I4UZjDRMcjWcSQ1GmZ
7nJ/eBJ25mJt9cjZimVvIGR4/UhD9D9nIUJZyqD6AUeg2jyppSkeWAes85CMzlQO6WGK7412opLO
Jg/XtVLJAApjkhIH2UVDTeFBWiF3d4cb1gv2jIkUE7OU3z+f9ebmUqFOrPvb4DSAib0LmSebT9ZW
Mr6b27TrLPTKURlSejLYtqXkQvzWvesDIYd1TD/c+rwT1Uwp2dSxoLHER5IaKq9H1bQ0Rf6DQkl2
je1uDT0/CPXS1jvviOyO2oGPsXUtezNu5MjR1qOx32CCXXhSYmdJlUy1BCv5hJ5BbLt3MeN9Q0MI
pAhhEAG9O2DN3irocUgefj9JjrWmRFHBXsCUxFqhF//kKuFssTeJZo8cvablFkXqqnFw0hziv2df
4XxjIQABo5eQaml4gAR2WqcbDrzcmFMxuc3pQZc+zObQlZSZuQWjxh9Ked2LEGqquX+DvPnjLus2
eyLws46Iodtldaquxal/aRpyyuKBGmTeWgBxxrtEVKg1FYfxixXBnTDML7XTDLMsq4A7S0VnlVXK
Sen/CohOWGSpEi0tmFvxzUXpNAhrk2VFsp7W/dmh49N4cj/lI0SoMVw3qOBqrKAik5N8USqfg+1P
YwczPjFGvUdH6W3cCsJvfwj/AkHyKtPO3oaommgE4bTNw6PnvrbnNRggGpBO8Cza23MSt0kvd6Ny
3qjxonTq06GXU2KqeQ2zY1R0P+CowuqHZgzl50mOcAxIrdCZpch3yxvu0gvCyukpCQS/eZK6PmTr
ZtDLzKvsSYzhpJ/C1qxPT3QAfrWZ0vnJpYeesZH9G1eNkbrIRtsvV+R6xjoe1PzvrKzNuzduD/hT
ZT2UFlbEhBpAPLo/QdGWS+2doir1RwAgiLb6fczqI2F6TPjtnGcYiQe10mR/twAaXdeUqsYvSwQi
V5ht3EcLrOEGyUCuqyx0VCruWGjxZrxgw6ZB8mo3CUmUvFrXfP9i7aS==
HR+cPw48AstLqQz21Ro+JjA+mVsxr7RKNEo4jYqGatPhB1PqDHTq08Av7fLKczgnQBZB2BCTFV7W
SiHW6V2UYOtsndE2NXK3bdccYZQbKdoj3eOJv902fY9hrPVWeNAgIdiE+2eFXJJvp4zdigSa3z7l
9dQt3Io0L6h8T+sG0UQ3HMQ2VDoaAaR6lvF5eqysK8fqhoPh/ezyj4bBeklDBlg/SawA5UPwDV1w
CN7j9GNVQYU/WUB569cAEiwNHwwKGyh003ZEp0GkLAC7xihvYVz/IvdrNhVZ7xPMm83ZBPfxhiaQ
PIdfn96VCOJm2O6CqH8lQA5DMNaWEszMNvTXRHEZEgMeinMoFzg4RAwWr3GGeXXdlWaCfn47CP2b
CJdZk5yVln0g73f+1Lm0hFErmoRV4ePpsXEb8OQYcSz1cDsAj1ong0wTEPRtAeWjOFbRwA4Dez9L
gkI7m3zzEN7VFw6Qb3iMteFpy7aDcV+zaifONyC0SwI+J6qr5GD6OlD4pjC1NU/iIfDd+jDLJQHs
ZvzWV1a+K8WWZTUqPLOI1cnXTcfMa6RwEXp4qR3rhxqQGNSPTFCaoV/G+MckLA/+6auASictEfb1
ja2/J7Wt5OssKSBkrLcmL+ZGI2bYU6iX621gf/x2WQsDoBQeRdcq6OcELPbgUv+wPDUUt+lH92Hd
AmoGHQQqP4IWeWWH+LsTfgKEqSWs+xhGtNqXJunVIcNASJ/hhuooDBiJxKwI8RZLHoAxiMe0gHdW
XY94nmhQqVkjVyK3ABc0Mnm5brYm57ul/n0Cjd+t570LP+4kx+uPRRp3YbfFXwSHaRlNae0ZRAd6
T+5dtGmJzqEeB9r28jSEUEutGkDtkt/03lfcgri+0fofBoGWuDQxHkD1relLt7apZb+h/MNC8IkL
4usolPRyoHbAwLjBANqVmkSHHOGX5+/Pfrl/LN9sRMtV/KY1CRs6/Ttdw+87uHPnvpIi/h8Oc7I3
xHAAXxNIMM4ozqVcMDsw2EkBXWWEAuk74m4iszoCqHXjx9OkBBv52Um0uo/Yb/SLwEY/BBVBxUPp
2/q6oECuEZVFUGnDUh9iWwVeWwqdzqkxixv+I15ikKYcKe/wSvWpgMTIpQTi5ggqf1p0/byW6eBV
3LmZ45he0tvb6VwsGv+qAHGHFkJoVK6JLJcQ5pIVjddUJZrUGqPqhfgVY6HL4rHvEHoZP2jDb5LV
I4ACBJSg103hUK8BlnjXB1dBCB85G2KQwVY353etihosfSOmNdxiSz1Mqru5GWBy66Rv1EJ9L4h/
JRSLibFmq0Tcjn4gAuUWpsnSOXzkDn6Sr/BnbYHqFeU6qmygeId6cf187/2/S/8u+kCG4iNEzB3L
FPRPnBgkAS8FWh60Wu4myhYi/ZawCkakK6DybnVJMfe+/xvd48C3qqNcthmHKb48s7xm5RTUUg67
OfVbex/0k85A3F0MZ1170cLLlmLGevbb5xb5846/5gVhlGjt9X2AfSYtt1DeOjosNjCUDA7Xx6iD
2jHiCpT24wpGLRgFRBSwUPzqM6YBszwYoMdGaRrZuohrRtCY/O0WBhH3cu1SUe0WKpcAKdBLjXvN
I5Nh0ZWwddl6u2IQKUebKvKD743559fjmLH4IvuuO9e/MsLRDwBwCy/fUZhKj3Fqj90ROcvezgSp
oXUbYhJ7nV1ScHxj01wqQUupgnGauOQ6TEI4Fy5k0xFLhj32Mz6/jn3ew4J4SJepkPs05e9woVmx
Pzk9cChNiA3cbJCoVlANQ6vedVnampKO/ACH9ubAOdydS1np5YGFY2IUd20Cr0+ZUp2EqGG8UITo
h824pP8TNm+sfOevi4rpM93MCJlph5uFplQw49qbHi6/yEwkkcHV2JUZwfQ61L3Hp/NFp3Yxrfn6
1sGPNwrmtUBTtpAlumQJEd4S2nQr8OhL0ig3aC4sZm3yR43CxJCV08jGwtdsdHWw3CYfNYOC9EXz
LM5YSvgBJ9Bhj2OjtN318EIVPvLQEQr7ozt2IFEbcLyNl7qHG2Y4C8aox0gtRzLhK2JIY00/+P8a
s3tftTpOA+OJyfy9cle59TQPVDGdKl4keL5VkWWACU9c4xpu3kWMv6Vy+4dftVk7CUVQKOL1Inoe
mku/PN9Xo7wgS1/9kCW4snQVQ2uw59M7SXcYQmvGsRw+cTAsE4X6bL6XyXHwTkXwra3ErPpk3Gbo
w0LpODoEA2ojW/32H3eRZXrQZOD392Z1PmNW/z1MRfXvrucUdpC6gfcLPsDAAIwkPD4LKJ3zfPd8
DK5k7CN9zMqbvZEP+VGusq6eyBKA2XDKbDq+JntFbpPSRrGc5RSBbOrb9qqRDAWSconUSXDb5DKs
LAVxPwhiR4W5sA48Vc29BuN+sRWVzDfsuBhgwlYyAyUHnYDTOgLudHkkfhtATZJt59AaQ70NIdJ9
LV6aFUnrHVHnHEsFs8Q3oc5ANJf4Il7gs0EyjPe23nTywTqddbTAx9Bu80oTiitGhQ9WugwbhFtz
aeqW6pzX08klHwEnNvmvEgudSnkOJc50ALJJUZ3ytOLq1/TL/vJBELcYQ2uWZ35W8ilNJrsRBxeY
mehZpmcDDaHrHY2jsVxvsw5AOncw762t1PC3CM3hOoGFgo1aAHm9vE1X7Mk9IInbgxn6SS/JybyC
vPJBuQtEFzoK8bzFJW8n5/+q9jgs/E10q9+948psx211Mfj/bN+FKhlGxQ9YnaeQp2tXBVrIUksS
zjCv5KcDe4xeiZsk6UU5B8HJCT2QRcWR2ssIWjtBeeYDH91XLH+GiaoXY0UtsQnG/uRrY3WG6S0F
sioog6K4kw2syOLVkAn5DLNBikKfGoktZ7P7KG===
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
<?php
namespace PShowSsoScoped\GuzzleHttp\Exception;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
/**
* Exception when an HTTP error occurs (4xx or 5xx error)
*/
class BadResponseException extends RequestException
{
public function __construct(
string $message,
RequestInterface $request,
ResponseInterface $response,
?\Throwable $previous = null,
array $handlerContext = []
) {
parent::__construct($message, $request, $response, $previous, $handlerContext);
}
/**
* Current exception and the ones that extend it will always have a response.
*/
public function hasResponse(): bool
{
return true;
}
/**
* This function narrows the return type from the parent class and does not allow it to be nullable.
*/
public function getResponse(): ResponseInterface
{
/** @var ResponseInterface */
return parent::getResponse();
}
}

View File

@@ -1,69 +1,10 @@
<?php //ICB0 74:0 81:6cd 82:d0b ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
HR+cPrCMqyjXu2VisQz6w6TRyW5rHafFqvh91jIjCjFyfQjw6nuxAW0PMwUCK+j2YwUkn/y2FlGc
UDZ7f+Xo4rTDO/lq56OZrZWlEaeY9MxaKD78k4QuC5f3bFocCBlfgnkGTDtO/0yZsMM2NeatW0r8
+oHZVtgAo088CBeUYrfLUTWxPilLsefeVwvyHxQFz6gHw4kHcuuIzRzcV2cjxuggreIu5L/utfcZ
4fi5EVEbnjHuyJa7BGzL9nfg+TBOp6moXpecp5/wfak3Ro3BC8DgtqA1nNxGkzLQQAypGWFE2jGn
jlRo+2lnokoba1Qxy8LrTW9tFMbeNCJ7a9j2Ypg49FKWlK2h7U9BDwSIeTljzd8Hxl6LdNHDcIen
8dGqExmqstR3/PdSjttK2ECjOC8aln7UrRpIJllVZfMWKLzC4paCYkaa9WR7mQqa/wPmhDCqIZ9I
D85dfcvS9HDJoFFbEfKhMmw5lCyPnU3qm0iOGqeXt3avHcAbLFfxKUu+BMhdiMjbda2QUf+TCFAP
8jYEFL12HeJP2XiCaQ70Fg3Z8fVFblSHiye7ZVfubfw90F/+vc9mteTMqXTKwDZleM0J9cdsv/5h
kHBJ0ao9BPwkgt5YqqEB0gdLHfx0VLJOZ1BVTe/ub8gop6+RtacDo4BRUhp5pa7yrnsHTPUGe4YX
bWXGe+7oacymiuCZhkJM7sC2kPYeaU/QsD3a6NwR7t8d0oyjgjeF6gVVgmrO+g7F0qcL8qKc+JVk
g45C6pQVoWYo8o5tBvMTid//AWg/Dsm2OFVg7V8JQvG+k325x295OKLN4qX+9E7EAUpqYJ0h3Vr9
hfd5HDY3oScAXwG2SSTP2LrLcYDPM3t5GWuE3+jS2scc7r1X/dIeftglBwloloI0+vdkLkK+Txq4
Toj9KaSAQA+3sNtI42SZApgCPnDpbfy70TK/SDJ8unjyxhGFwEEqijgEZO9wIAINSmthQKjg5Pq4
mj5GQgfScRiJyP1B6m5Afv00VPekBlNu7z/e4irbtptWPRLSKA4JtFAAIqip1r3ja1xByRJ7gJNc
Xs93RYIPRfC3/091CcIhjOCt9/947kC6yni5S9UJIMyJkf0wiSTNYo8Q2s2c6dQw1T+9Xic/2KZY
aHfGHlCo3iC4EXEuFR/M08QdKHSkrgarX/r9vPGLBa2yML/loKow0Zh/K/LgIC5OJOzoH9E0ZRh0
tG/gBrTKyHe8yjWxqug9Lb6jgVzIdfjs3QjUhUPmPt3RHgyQ+6Jkk2IRcHPOjw0FTx2ZEstxqCIr
WwjccoNGiSTDpKfjCV1nOajTOc6ECutTD+W8cW/85UjduWvMzrj/kGMdXwPHB60OTQt7rqfLZxMG
O5xtsTlVOP7oe3uGb9Citx6R88mNar+BGAYneTSUoQ9CYMgJnVa9HRNv8qbhaq2BGEBUk7MNNBs8
AdgWLLhXjpw1tzWbLRvywPoooTkH/Ly8KvEHICn/6pD28jw512lgJfyG/oz5HZgHcyX4Kcvu/aF8
AJSYVDmLE7saDHE/r90MkG===
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
FfYa1GiwtvZNlQ2aTEhYjQiUeJG1
<?php
namespace PShowSsoScoped\GuzzleHttp\Exception;
/**
* Exception when a client error is encountered (4xx codes)
*/
class ClientException extends BadResponseException
{
}

View File

@@ -1,132 +1,56 @@
<?php //ICB0 74:0 81:d2a 82:1989 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
HR+cPmqxoW5W1iyss8rV8kQKBezzZlDK/eiNKnZrNf8Nxz/vYBARLSpJv0FffEjqWS0wNpu0EKQH
aDT6iyJLo+c1qukyrfT7896wWFcDeiwZinpw2zB4q3aXEi3UUOzeG1ME2qmukY9B77BknSzrMzAP
VwH6ums7xd51+i0QIQYLPmh3u2yZYUv8JC5w7V/xvgmbo6QHSMtq59Wl/0wew248hzhRj7SpNUOg
5Nc2Jp81Jc745TfWwWrmqgO6ZFeVzE2L2/Yf9TqSmh2bnS6A6bxlCMXCgSBauCWQAm4pHl7JXl+p
Dr2uj6xZVs8FZRH9WBW0ahv+KJjDd3b1z6pgOXwPEYKOvJNcV3UIlSbyTA0bwXERpZ1zBbOUJaJv
hPhAvWi+RFHjqjLJSwYdCWZZBM329ByHtjMyqaxxtuubeMH6l1aHwiwhsnq6XxQv6FyoxEkv6p1w
qBO5EF7nu36Rto97sn8DFjwgUtaQMJabnvQnUS/aKEp0oURbA2xpnhIukP4OJNsCN+lTa9A6HbhV
gzYqhNHuFjwGi++wgXPCpG2ZqRwayCCJumMq5+sJossUmrjpphCtuMm75AhC7fA9ffjrehxiHqOo
ExRVSQjGQIoE329gErN0fY5bVMzjuPjsT1fk1x1DbC+MfbG2glCCP9WBqk8BFj7mRf++biPRLh4h
Jwyo1MrdOEAxeZXaIdVUzfujJTDkVfbOfhjf0D9Lwgttct9QARSQBIWdcgU75Arku+9DwpwhV/3r
RaOAXVw8M99qDTrjyHy2cYZf+HTd/wkr6X7KPtpou7GKrQizIeXYZKogwepA+6GLGvIrtqQxiwTW
Gs3UmXD1h5v61DcLezrPrjVL1nyviMRP7WLN05ffNVQ9bvFCGNaOaePesWxdPVQxlqUiIo03vJRw
OBFrGREV/7gHLLbsBjPNB6BZAO6vM2/oAzga4N30Y9LP8BBCR2dGYYI8h6Hnxb45otll+RWpUrbr
yizARnAsoOta9m2DUK6UfuPAq54hXpJTWGK/ApMCWWD/OuLCP9kqDqXIXQeXLJKgAIM6oO/MoCao
+WopzH6TdPd5pFNP/B++LGKbC8Yrx5mAz2wRH/lTJSusgdshR7lwDlVPWT8FR1iakno7WIFwavOh
NF/04PxRI/HVl2YTvIg0ckrrqS80CgZaEcUPDcfB1CuJIo6BkmsRTjGLZyBmN0PdPjxbpwGDeV92
bS7IxgHr+zqsqpLRYKQvnUuamF6gfT/WwYsJ069ymgui8ezvMF5ikKqEYUH+dwQ1/RSP6kOMS7zF
hsiGcJP7MJjq5jL+RT7hdEuVAdpeos4tEjsWmAFzR8S507vYn9kLR6oHJ4iJYF73t0WM6W53k6vF
gn2iTf+yL2j+ClfBVjTZhGsj465e4ylhoCbYTxGZAKuApZCEjBnqMVBWFl4ERJKEV++8b0zK8FuG
/JJqGoWN+sCi5rR5GgaiTLHl4q/vYpVZhmhvC4PcSnBdjiqhyGW1JAYdBI2Q7MhjwskJX4SJl5Ru
VGNCdJ63NRIo9DoZC6MbHOS2TaOXN4wN29uWUXcuu5U0wZxfZFnkIjljf3i4Bs4R3bdr3W3UJula
Hea0R8ZfJyCgpNvinw93AA2fVNq0zvtRleE3/nSnrtQibW9xG/rf1WvI6eAM9Kj+oAMOKm/IQQnF
vzDdgWyMGaH3NgknrsbjsPPr3O56uwAY0lEhHPPF995kw4wbWQwAUqWSEY/9qcURPd16sALf/WPp
OSWGx1/YdQvWAbCJZRd/Yv707dUA7c3Z0CwdAXDZHyylykY9SbLDBHzy+7QLwmMPJi37BvIjU+IW
5WxZqo04+90MDmQkYbBZvYrZ1I6Xs5WLWuvqDKFQbLo/b6rNeaflvi1dpI6vbcddoU87VxzJwMic
+YtG18spWBf6bSPsznU7sVtYWu/oQh/kb6Kj1SLxUINFZJzWlP6esf90E/zvIouQolGIcTFAGuiC
hD5CmtgG/0JRx1gy6IGHh4MWntVdBUzhLTkmBUcNbPEBx9Bsro78JJdnyknR5nQ8C1fDBOW46FHl
u0etX4s/RNYYKL1XQ+eNoaNhkBkniczDqPZaNEl0HF9NqZ1Nmhzwngwg5v2MktAJPSTsrvEJKQhA
AnE0YIjY3CnXAnoqd3eJg7rhldzzTt/271tVhWXyZj+567ZLTg+45U+9KziiL5FcOt+GDZi/Qqr8
vD/09gof33UVMWvcS566GbuLoc1nUQLRKAKkKN+8n6EvY7Nu2vDagUuFVaN1wLnlNbs4hrEaIXCT
GrPklq/F3ecX+0PLKE6KZM1CQ84YIKl00i2Ie60zm3HoaYSD0la2N86SbymWojnM9bNrzAOf+7fQ
VRKC3eKMH4Le2WpYUluKTzzNX24uGYv/4cvX+V3dH7u2mPh2TuFDQgVicSUEkQ+Ym78P7xMd+GbX
SA7Yp4QwfJ8bZDXXJTXPfccjiXOwK03gY68/Vkn6kqkZ58gLHuP0w+QLjz7tZA0BfOsEqD6QsX4V
w9hZh/rLjKMge87EYWkC8bNLtC3Itpq4IL7J/g8zsnJQQV/9Uhaz3pzZd8r8ka/f73gjLa4JNC34
Jg9BXBvsIBZfEsMGvSqwfNilJtCNe2isZcwzKeSvPQS0fd8JwD501WEa4F/D3+VFj//aFcgAYDCB
wXSJmoRYZnh0061hEGZ/KndP3PDT5l4dtjmwCm9sJ4C08R6SQyd85QEQXlmN9JBdrJgKW6tcpwWV
keFeiG0z7brytp4+QHHif/zI/hLoQ7dHzlTqEDIucn0B7fVGLaQjlxssd/TvRnkvIXcVtrk33CmC
63UZcap03BbqWpEJMSD7TRURWV1c4ywMy3gfTWf4wnCiCQ6tm4UiuPy5qXqD/1ZDj4Se8bFqtvGK
vT8LXwLykR7TCdWSAnQ4aHmxc3yO9k490Sh5TlMIdTfdCIoaCy4jSOfEaT89cKStDDjoS+WHGvHw
cQvPJEvHrWmD5rbNWLrXIZ9rU+Svp0Tnytyeg0/Jx56NX2Swj8mOUEYDakf1IbfZ6uY6Gba+g3W8
56qrbXnb95DiRuhtkSFwgVB/9a3NH5azPJvnZNsxQKYDJsi5u2j8O2eIOST7jtX4iPrwt0m+32SA
Il06/8I8fXJ++ll6Hb+KvIx4fzargQtZUr4==
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
iwxyhG8==
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
okDIzm==
<?php
namespace PShowSsoScoped\GuzzleHttp\Exception;
use PShowSsoScoped\Psr\Http\Client\NetworkExceptionInterface;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
/**
* Exception thrown when a connection cannot be established.
*
* Note that no response is present for a ConnectException
*/
class ConnectException extends TransferException implements NetworkExceptionInterface
{
/**
* @var RequestInterface
*/
private $request;
/**
* @var array
*/
private $handlerContext;
public function __construct(
string $message,
RequestInterface $request,
?\Throwable $previous = null,
array $handlerContext = []
) {
parent::__construct($message, 0, $previous);
$this->request = $request;
$this->handlerContext = $handlerContext;
}
/**
* Get the request that caused the exception
*/
public function getRequest(): RequestInterface
{
return $this->request;
}
/**
* Get contextual information about the error from the underlying handler.
*
* The contents of this array will vary depending on which handler you are
* using. It may also be just an empty array. Relying on this data will
* couple you to a specific handler, but can give more debug information
* when needed.
*/
public function getHandlerContext(): array
{
return $this->handlerContext;
}
}

View File

@@ -1,60 +1,9 @@
<?php //ICB0 74:0 81:602 82:b69 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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=
HR+cPqSHfKLK+XrgXAamPhJI6GCRmGFjo0PbElV4uQkc/RdQOtAQIUSm7CUO3tK3vhLch/U3UtXr
pLSZ/tRGOHTfZpVY7rdmk8vCpBbGl9NSg3P1QEfx8kRmiDbF8NBDV85lh7V3Wjg7Z9Y0W4yMJQnJ
1KlCM2QzCCrqXgr4VVEqxKVC8A08fdmiUiQ23cK9iUu6tLWqcoBsNAjK9vtPGwYtlu0KGRzgjBCY
f9XxDimZS70AMmfOk2mFuCf+FcbPXg7vxvRhqIUkueRIGL3TOGy+q/oHvZ0sWVHAbuKlfp5o5wvO
iwD1KwHnjfv+3rae8yCo+LkVaBcj9nRKHZ2TA++VC/d0AgLKYFwAJNFmRscRiTBVqOIpIGzSHKDx
qcSh+GWjVWelxLF5IzH4dcp+ZG1dMKyKj1VoHwJ7zEgRGUdrC4MZpjgdXAU3fiuF/plUyqFetCbX
9zGAEQTuZJhiv21K9U4Po+y740IeI2kFpDEWUx2HnB3ypcGOVRKs8UVxKpTlziWo5soAW34X0V9t
irAP91kCxBZDu8RDqnBimpLFzSiCPN36JFk/EUuHds8ZlyqehFIlg5nWGgNCiq4wejO3d4iBlrKs
vKvLRBH9uhRmiQ9UnfZlHdQrgIXg383uBOSOlq8AXmutsljjZ9UqCK4SHEHLPFqzFd5ARWAEGroA
0601X9/xs1I7YKjxf18u7QK8zg4UYhtgnZxugGhJBHbS/Y98QdbSWFnIjWsiNKc27mqeyslOmSP/
FqJJOrp/b2kx4qhpARnSmV4uDXJ/7fUJbV1mimMuht2EnN9MRnWnApfwN+MSumH8j+UywRPjcPQB
hVdQ1AdNanoLRjYuEA8hfIvZbRQAD8b/bKqZVwEryzU4wxMSlcR7vF9fKyDmTMP1QIuDQzkDbOIF
QhOZn1w/r2Yn8V/AuD4c3xcKDZNIoQbP9315UELRRetXXHbBs/BpXfHZ0QJDzCrIx2vu5+c6d52J
nIAZCulfcuyAo2tXfkx6tvA1NqEbmZJPD5ijtV+d7prIhNqwW3MeaTkBgLpSt1uKAQgDzM6LO4yd
PXGf9NHZX7jACYOpq2msHKc+STbC2TjtGjH5SLDG3AchT8rl0QJg0XSTj2C1iGh7TPKYKrf7f5QG
mfc52Id1/5MCdIT/G8h5fQyqgwjnwwx3wUnHwcG4csVRy+99kvWIoaub14/MkkKmOCcusxZ/XsI1
nENugaTIYvpF0xLLQGQqKVuRRsLRsU0NtYHkGgeWOJG0ItLrusUMirTPeqmZlNiWFe5U3Wi0ELj0
w3H7MNUJQKO0o+cNYPMaWIdM/TMnDUZ+gxE1WPKvKGwGvvi2DXJ/4Z6ND3vwxwzrKkSx
<?php
namespace PShowSsoScoped\GuzzleHttp\Exception;
use PShowSsoScoped\Psr\Http\Client\ClientExceptionInterface;
interface GuzzleException extends ClientExceptionInterface
{
}

View File

@@ -1,66 +1,7 @@
<?php //ICB0 74:0 81:674 82:c51 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
HR+cPoXTIrM+k4+RukJUTYG+BckpxWoSQrn2V/b9upTWN+FKlYFU8FbwpZfwVFw3B3DRLuL36ll/
4+aMJii3Eql1cI3FZ6Cr6HcMrp0L9ljeUMsaZx7OpwvjFXNBOpG9wb2JJsCfNU0eLz+Urfg/tyrk
O5TDB7HMU3Ig7riMANHGpVrsehKmkviTfZMimWACyTCoVoprIHHQ8gkZ2iWZHL+kK1hgcSbnpSCZ
EYEpVzYhwg1qEhbjG48fo90pTbDALVa+jCZDL0JdtRl7sv/+OV+pnWcEIkKSxU/Rq2OLtAKWagPI
fiu1+oRKf8g+4ZV3dQe6NxfV0XsdSrwoCob1UfljpJGpYLQhnXKgZyJow3tbNTJWSCXgO0BLafmY
A5712uD3fevqVKKoo2xCdJQv2ECjOC8aln7UrRpIJllVZekSaXlAXQcp8nt2vmO7mQqn/vdhJOUw
eHulHLVwnE4nYKzepWyJzmoakqTRq9nlvtGSPN9gp3JyYqO3VJtGP6PSSBCPHOiXKqtbouRDXOsE
yISWTLe97X8nCx3c++EwA4yNUx1u81+f/Ew8njWzuxLp5eSlUBlPGX/B6h4j0uVULbuzLFqjwxd7
nekagxJT3MLPXfSVycd6lWDsqryOe1nzG/w+OQp0g9g9xPRbuEI7t11OL4Uvz3KQXFQ6V2wmU8rC
/2oT58VbmbYNKlbIUYgM1XOeNY4Zfj0j/amRsdUbYbgJ4tmq/xHeZH8Z6F02lJDY/NvsXYu/VQM5
D9yLRMAHO7LRxyQvl5pyUY0l9wz1QaB/9PwRimIWLoootbcLeHdUAHipD3tu3Qd28EETqB0+oq6n
bipemVar7rEM/mmYztrvccRCc6lq8wDQRX32y+7Jef4HSQxnv36Nb3DLwcajPFHDnHeqkTGKam4h
SzMUzhMRiWP34axZQXBXwOP7s59JaCNTq+9We6fJi8OxSEI2IswmnS8QYYKaUQ/KwOiXyHLE75XO
jt9NJ6v1XAUNIkgb/3RV+PPT7b3+dzqGV49+l8gby+gbW0fKnQm91o9/RZDa4KRSc89IIx5/5R6/
MrUPkf7fRHaDJmf+VSgg6CZEb+5rLYplaUiadgO5NqdNUs9QIGx1oUIlp7Q/WYP5IQmgP+o0sQVc
sQbXKcfGf0Jm0gNEYp93ZYJTOd9uk2k+vH1xY2Y1JAl8o3VbGV2c6fM+MSSOfcbayuKEIKvV0eYS
18KoxUC9bx4AvhZUfRG7Y2dGg858+SOA/AIiaB8YGp+HqtFO+r6Wf9Q5WiqqKxrkMSBWO7qQXf7V
ILDOI/CK/52J8Fg6bxXraRdiwejtmDVaZ0Hj7piZiNwh1+c4Um4BUis20uFPArXzp4jQX8aO4IVS
GNLNJVg5o3zS2O70yS64cv3l0qejBRxPq//0Oz6xRKUYU5UZ1kMc9aZopou8dW/fNUTFVYT/IyfQ
AtXlAAbjTrx9=
HR+cPpH1i1ezgWXTdVabEHeFD6zG57Z3129QkCmlxLhxMXDvwAa62wcFe7/fMp1oWqu9sJFE4hFB
FhbCoSuJXsKX9O3Ida8zm7GYA7p3OqPljRMRl+gU+NKbc/8M6AWRcHoASy0ajxmxTBphsREvKSlq
QykioG7FO8bJjaFy6ol8alXG5w5HSBwr3Rzuf2a3ZosHNRVw4S3IeRGQ/1I1bW85Jn8TsSPcTlsO
zHPkmsgjZy5nioxu5adI91NIQGfPGeSkKvwi5atHvDpffpNdopZPCX+vUJ8DsELCjhWbvE0taaCm
OjPmI8hV02yFpPNt2PfDDc+3sVN9c6xZKjPTOn5FLZSHrhSX5mk1SVlRaLFcl+tgtL4N6Bi8cvj4
hEwhD6qjyFA05oo/uaWItmtpjSCctnA6SzeJfI66efdFQfaJyRVNxFBReAGwzog8BLJ/xWPpWnWh
/Qhdif5wedAHfm7zhcP4/ASaOd4k6XqFQye8aGm16g7IZDR/+nQ5ZDZHfdvseY0S3AX2fopWacEH
Wz3mJXiNXvKG1HFG9lN6Zp2CPe3v6ShFop5c2vvYQrSwT5Hs6K1gp1wEmYibb3BAZ9Buf/k5yWHN
E0Svh+DosIRjUz506WMEKjT4ot3+HK/rhW8XdtGDyN6g+dkj0VQ84xR8tbi4h8z07XUj7o4Y+X7z
NpScMPSQzsdPR95dKgdPswRfPMVUEOakih+jLSNVGkZ/txzAUGqAlCgvkQDBAF+WJNNemSZ1Ocl8
o2NJ+ga1n+u2hsnyEXynAnML8Jfb6ZArm/bo6aRctR5vxIMUN8meic5+05Vban316RDdJ4u2XaOs
NsYCCLLYy/nTKW5WqbtqZfhmLmvzVe8ItV9Vr304i43FLvTL6xs5JAsQirj6sOCGkDo/9s1lXDNk
/Ads9jd1njN4IHZdRzIAIDq1mEZyx3xscbBBh4+q+OdAS8rUN5rANTyLz1IAU0W3Af+x6fTSIB1t
GntZWJEWNOJjPterqr08BBiB4pXFTnflFNGz9MK/lhWkJbltJGujjxoEwDl/dPbhC3sdZh224dNV
hMr0wEzxYiqKGXGC0f++qEnqk/6gTn0Bb9h/jcVylthO5jzCmEJWWZG7tayMqKHmNkCP1+qmRwGs
+T28AyUK7ogoKQEr2ljCdK0HxEQKl8YbrNya8vz7cLfIOwucHZ4tE5GrOpNomY6aSa68tSVRB4Kx
5IKmdIhugToxl7YphdCNZQD+E0Br5Fa0g/ZNguHWOkw18m+fIPmBOgCXPGIPusc0uoC4+UBlxzfM
LP+nXyLdsEryCdFF4xF38iSPSQ6YOg/J34eu5stDQ+ESEOnPiDQ5MQAyOb3h7jduKEXLwlryMllT
1XkxYLUDMfrbdE48ZeNL/TxXwGS2xPmQcjgNd5H9g5PxbUhh3x/8KUhxXPxY7a2pOoGWpvhx1b/B
SFnP4q4wvUmLjoO1g711VOP5MaDBvQlwW7Rp=
HR+cPwV/n7XCtnb1P0E4xM/sjnO+4FmtnKq3S0TgWaiKRkeWp8U/NLnegA3D1GuQ3utgb5+Zo0M1
lxebYmLrHnHL5WEOidmb/VrNcO+gMuMkeijXSn3yuQYLznH72C2MMGWzgIEPYs9hezDr6XzJXGYl
ECDBz8dOf30pLeHoeMaVoO2rl5sf+2GLS2NHXRbz5/SKTymgPjxo9HUUjoqWm9XpmllcoTBMkZvH
e20inWCfoYXJYgrxaV51jq4X57+2emVTL7ZXgUAoWtlQevKVeIED4JXhG9Kd27qqK/5xwlguH8Vu
hJdtHKi6DVa8UAiLotB8cRL97wdoWcAaOk6r8V7c9PcNZbmA+dUJGxOx8g52YmOZ8cCT76HqORwS
dTD3/RfjSGbVzstU0PQO4ZuIdcp+ZG1dMKyKj1VoHwJ7z6oM0rX9Vi78nYVakAU3civ2/uGVmgR+
DzJjIlZhZsOH3bLeMM5/oSHOly4WqnwcuHjPWkUMSkWJQKetL4wO7ny00Zz3NqmxARNrmax6vo+i
ii5C3mjXZXZfEUcrs0INgkuA8SfwnI8ZwT0qGv3rOKaIQK9owrzjTyrNvON3j7nBoGCeAX4XdHkU
1IGUorfSjuIa0USDeuEE0n2l+VuWojrp6borRaLVoEg6HMuOoNdAr1W7lpcDAZIYO/QojPLQq4BV
Pb2C1+KrwCAE0KxHN+xc3Uvwe2RgmKR7E6QLjQ6E7QVXcxI4FQ9Z0gkW6It21r9dZ7n1kDlmA5E2
0pWJID9/u12BRcJw2FU/9fSkOSK08oZW0qORo5dt3++77Am1VPIETd1D6vC7ktFxOS/BXunfYE/c
INbclhPkxBRdwUorBtn7kq0tTPLDiDBUpbAV5990NOFPZXDxNYhNQvBf+T7I8nsfYmrScFE+55WW
ERKiA7UFNGhtBzaKtGxvr2Xv85pjmxhGjKZ6Apd3ORHEHXpk8weW1bEiXekIY120CQabmAdbkroS
eMqmp52r3tQjY7Jj+IKggQ6BTomD7W7v85OY1lET6PsY8fJJRj/MrF9QggBUDpL9v9YAjR5B84SL
8Fh2GpP6FfL+oK+eSxQ4uWCkwOA8CaOUuApm76FXQkRROyIK236ylSXu9ODF1fnDFMEMalCqOZ1j
bOhHfCbRoSJJW6X/7TNp7OKrUHRxC3bsgsfnfjkeGCjeEzymalbeFi2yB9ePwZg2wmNABLqMuzJk
9/FBveoEttvzBTi2o25JhfsZb8wO+lkCFb2GKWhsvejQPmhLK0s6d5Vd1hbYdY8xuLNMx9H0JpWN
6b2bOyEm90ZpQH594BWC2rk57b7Enxm2JHd/wf7ndLoQEw9HezLZ0miJIxwWhZ1Ekf6s3GlCMg4n
EJ/dCCkGW1YYrTCSRsbFpRYMZ8xkqhhQ5mX/TBEv2pfREAAMfDW/7MforEW3PqxEmjdlfnGdOIgq
5YocVTGmDCbtCNZWTL24QSAUHfNLSEAZ5gEKU5Bz
<?php
namespace PShowSsoScoped\GuzzleHttp\Exception;
final class InvalidArgumentException extends \InvalidArgumentException implements GuzzleException
{
}

View File

@@ -1,265 +1,150 @@
<?php //ICB0 74:0 81:1abb 82:3476 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
Pv+0UectGPvKTfryvHgMAZ4rjpXunqoueVETem===
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
Wm==
<?php
namespace PShowSsoScoped\GuzzleHttp\Exception;
use PShowSsoScoped\GuzzleHttp\BodySummarizer;
use PShowSsoScoped\GuzzleHttp\BodySummarizerInterface;
use PShowSsoScoped\Psr\Http\Client\RequestExceptionInterface;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
/**
* HTTP Request exception
*/
class RequestException extends TransferException implements RequestExceptionInterface
{
/**
* @var RequestInterface
*/
private $request;
/**
* @var ResponseInterface|null
*/
private $response;
/**
* @var array
*/
private $handlerContext;
public function __construct(
string $message,
RequestInterface $request,
?ResponseInterface $response = null,
?\Throwable $previous = null,
array $handlerContext = []
) {
// Set the code of the exception if the response is set and not future.
$code = $response ? $response->getStatusCode() : 0;
parent::__construct($message, $code, $previous);
$this->request = $request;
$this->response = $response;
$this->handlerContext = $handlerContext;
}
/**
* Wrap non-RequestExceptions with a RequestException
*/
public static function wrapException(RequestInterface $request, \Throwable $e): RequestException
{
return $e instanceof RequestException ? $e : new RequestException($e->getMessage(), $request, null, $e);
}
/**
* Factory method to create a new exception with a normalized error message
*
* @param RequestInterface $request Request sent
* @param ResponseInterface $response Response received
* @param \Throwable|null $previous Previous exception
* @param array $handlerContext Optional handler context
* @param BodySummarizerInterface|null $bodySummarizer Optional body summarizer
*/
public static function create(
RequestInterface $request,
?ResponseInterface $response = null,
?\Throwable $previous = null,
array $handlerContext = [],
?BodySummarizerInterface $bodySummarizer = null
): self {
if (!$response) {
return new self(
'Error completing request',
$request,
null,
$previous,
$handlerContext
);
}
$level = (int) \floor($response->getStatusCode() / 100);
if ($level === 4) {
$label = 'Client error';
$className = ClientException::class;
} elseif ($level === 5) {
$label = 'Server error';
$className = ServerException::class;
} else {
$label = 'Unsuccessful request';
$className = __CLASS__;
}
$uri = \PShowSsoScoped\GuzzleHttp\Psr7\Utils::redactUserInfo($request->getUri());
// Client Error: `GET /` resulted in a `404 Not Found` response:
// <html> ... (truncated)
$message = \sprintf(
'%s: `%s %s` resulted in a `%s %s` response',
$label,
$request->getMethod(),
$uri->__toString(),
$response->getStatusCode(),
$response->getReasonPhrase()
);
$summary = ($bodySummarizer ?? new BodySummarizer())->summarize($response);
if ($summary !== null) {
$message .= ":\n{$summary}\n";
}
return new $className($message, $request, $response, $previous, $handlerContext);
}
/**
* Get the request that caused the exception
*/
public function getRequest(): RequestInterface
{
return $this->request;
}
/**
* Get the associated response
*/
public function getResponse(): ?ResponseInterface
{
return $this->response;
}
/**
* Check if a response was received
*/
public function hasResponse(): bool
{
return $this->response !== null;
}
/**
* Get contextual information about the error from the underlying handler.
*
* The contents of this array will vary depending on which handler you are
* using. It may also be just an empty array. Relying on this data will
* couple you to a specific handler, but can give more debug information
* when needed.
*/
public function getHandlerContext(): array
{
return $this->handlerContext;
}
}

View File

@@ -1,69 +1,10 @@
<?php //ICB0 74:0 81:6c5 82:ce3 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
HR+cPzUmVo0QcaG8HWdg0yx6ynYM5n13upY/bSAAf0GPZvS+SZVegl/H7M45T279DvkLYEfB7SlK
4pQjgbDafeMIKUz0xvHDg0uDSQ+TePwDPU1jgeB+6SbKUrxUfFFyHL9S25M9CzdpmNCR0k3pI7/y
N/2HEqGpzLxRv2ObvcLva5GVR/2OXoY+p7MWcJ8350PDTDuMQJZ+xFZOxDY1xlU2k/WSal9CYP96
QkFxgOm1Iew24+LjVSRXLV5zJtpbAV8XWOHNEd3SaBkNozMyfi4OUY7nxMtFxzGL2AmAHNafyGUi
QD8q1/s8gXULvI7YHJ9FfVkt9GXXWS3loUE/oeTv+BpFJCM8EGIa5uxmHV61J0/07V2FY7lbldiQ
bO4P4QyCBC/tZSdwySfX2ECjOC8aln7UrRpIJllVZgwZM2RFWYAknS7dGmR7mQr3tX1QuK5a0c3y
dR5fD/dAdfEzzIqlutB18d32XvWDbjfNrwyB+1rE99W/SM2iwYH9preSxOfEJgmcsL4dv1/XkcnX
HpiGipkYmEt2DZaQLhlJbV7u80R25h13a2OH3Z+4A4fmNM6NOjE+iHciDckcWwM2tifsQjNvP/6F
dVUJ7++t7tet71rITMFn0qKqmk+ipZuWDZDE2sUvUBgSDuOeiwyfJ0fVsIHVS9H2C1s7qYrwGNpP
obvWn49HPIq5xAhNzTeKM0uN8b9343gHej7HKzBwdTzhmHQa/A+QfqPyNeEsRY2NeNzvG/Po4fi3
vos4N9PjfspRhEHr0SFXOa79P4RL+mjdPt780AeTEB4IQqooxYXnyOxmfDUkjP4s5bAcAMYGjbxS
0vgkhHofevVDL4ovLMooxF75HG1+JzOKyxCOCBURW4XqnFYzNVfHi49G5MAtE0pIlvO6Q5MmjU7R
H8+9+emvWCWc1Bl5cOkC6vSPl1EgJ9NZDbH2wcVOS67VBg4HwUxOi+qPB4WfV32j6xX+xmT4Q0gn
oLXCQGYnNHSD4ltPFhlqo7UdEgnuQgUGlddqV6jwtfI7HW1wcDkoYCdGtmF7xWo6gub6CaH1Vzfh
gpvw60hp/LehEh6KgGbUUP2sQlHZwsqGQ2FUf268DtgLt4cpz+B46boBgD3RL9K8niS9IwJVS/zZ
IQ8R9coQrMQNMdX4uBjAlvqO/PbGTVrrXnm2+IucVLgLl4n7NWA7bw7cldJGiwSJzZBHx+lEXI/7
u3Qjg2Cke50wWpJOS8j1/NStN6iS7OsFsab+VPIVv1ZZ/aPBUx9aRQUrRu3QkkULuqy3D6stt+fk
RP8EbsTZzsgXuJxywHy7vjP3TfZPsxsIHAZ2S8cKdmYObemuKEgjrlilpOn6PpCOhBDrkMcSMHCs
k51GdZsKfWkuNYjzAPtfOoAkVWSuENpWBqjutXaCoV1qjUM1Kwf57fsdsJdg5GGB/uZTGLgsc1Vp
4TRKvyftPwjWcqAcDkgQDHCSDcVlna33g5vH3mdWLw995BvAmoof5kJSjv4oLH04HEONMeP72A7/
8OXPRFjuheIJ3PO==
HR+cPxbWvUQPjDt9mTXmnLXivALm1pqNrZFQxV8CUoETRFFmsJ5kMHpEne94/syZo8vadyTkx/Y4
UNzRT+3Ie/21n507c9eC9IDBgvAmnAloebo2dmODTLgXwKjK5Uo2vCJ6u3Y7rpwAAVDgJS8bOSJD
rbjwWdVNBxgglbGZq+7MoTLPkhjuNZyJZqwySFWDSpZpVHN09O4BjeKWw2Jd+uo8JiBkX4r3ajLC
7ivGh8q4xp1DMQxB6/1HoBEs92GdH5sKEsR81MvsufcJ47FMYKJkY3i9dGW5IjkiB9ztTQjjXQtP
xYLqONC8gPkPrXKuxHpKZb0SYiZszJsxRf70xYpb522Ueb/kEnCVhvv7AMzFaMxF6tsVxclYiztw
P0bCUD4GWTb0qGMFhjTpn/ErmoRV4ePpsXEb8OQYcS+Zem6PKLAisWItjzZtAeWjRl/nfrBDawE7
58fwivMRseVLCt6LqhRP0VguVxHkqA76UHNojWi12E2/N3jGPvppRevu7xiu6GOJbTtMsKfYixYD
7Lkd0a6h/ooKyrOm0hcqRjEE9pFnZPjq/qM35aV3UKDmciR4FHoKgtRWafLrpmtwj1fjCgpyi4YL
EkLOH/u45mYSpXbEuV+/hQSAGZtVAfr5qdT5xWJFblq0oxdJ29EqineSnww7+8IkpjryCfZHOGI/
0E03wCjPiSDBuvbr/CGf/XJpbtv3++yV2ZFs+Fw2TwXrkMK7lWdAuWyLvZd4LbGagyCT+DvlBKpk
5M1DR2LTtYnoPtW7QMi7vgejfmjeTXFGcOa2q+XrGWdU9jo4jjwrB+PssrZfm20LvjNBJgYjiYoF
bAsUoG1h14NNJ45ZxVmLI32Kc1Ax2o6Gt+nmQAHEmKB5E1ngzdIBeE/An7p+FbVRFKDQWdV/1287
a6Opbb9aGpdiRpKYfJBgc4O2k8xIGRaSJSo8Vd28JSEvollUYPrlQxWkwFqQTsQEbiU28s4w0fvI
kRHXduSvB2pL+kWrkdE4ZOeFIfmO6Cmnh3qknccTE5mXhh0ISR3K0S/bJ9wSdT1zGr28cWWe3COA
wd8b5aV6QiSrjD1gZKn1NaxS/PJG1rFsluJHk6Xeb0lUm/+iizTl46HQhD4z4RgcQ7r5aqPGeX8f
UaC1AqdhVag/W6qMZ4lhdfi5dEk3V55lVF+AsbOwLK/XtFKSYbl6s+bnoXq/jbDggAKE2zUOlhY3
ZKos/8vD7OW1WsjBmWIBb69skbk6PcEkEj2g7OBdWR1707k07WH24xXBOf7f+9j/olmIZjXKtTb/
lqGPUj6GvUrvG5RZ6IFfhtmrTRTO4jdoFRjWasXHiMGSeOP5l4Exwq3+PPANxB4NeQaXKJlLd3Pn
nlmTm0Qob8yf4jrQ+Z6q5YFvnQomDkroJk8bS5TYm+SD0TafNwZKkPXzmOB4/YMgMTSNmeKwWj3/
37VUTbYUBxMo/rMLBMWSNx6JMb7vzrrqbteaR2Zv+PR1FLVl3vsymZ8+D4jqaRheshv4hOe/epgY
2itQ2XzmEAI0ZXo9fpsTzHK==
HR+cPvq3WhcortQ+xhiNcZ0H0Ux4OvIeOyua4+aanoAaMP+Mm4n+8laKiq8BflBMb+7In/tD3C7F
KSrLlDhfkE0ZSDaHWmDH7lzJQ339NkGUuF7+zTRHqI4dXyNAWCNOTWoN6hBGxbTupn3fypDe9bpj
4O9djrHuYi+BjU+zbP/x+uuXDU/oORLJ/hdAB5ACgxKWz8+rBu9Ntv64TilG7FZklYc8kb0Y6PHl
J+INRlKaSFDOSmcwUYeglHbpZ2IFqK5JH4fWkd6SYiXx22zV8Ea+I5czRkXuuIz+6jPQrPBB5f0c
vsF0sgL6KKWvMAU4gEI9QlSpS+8fDTjlmFHgnvuFbrTu19KgmBeKmG/iWLrhp3IDWtIisvTCcCmN
qNDlAV1gP+nUffaLvXZnRk2URFwD06TPJnIq5/97fCVqLgRvCkUjrUOYXKjifuEQpaLTv4Iku8KW
vfJsuiMc+POWhcvriPXQlDVZ2o6aeQ+UMoTxJErgFU1MWEklacKiR4a0u+8RZgvTl6vDQfy399U8
yr+uzmCdUmBQOymVphKQ1QN6+/jP+GKEY36ddMLgXGHteGBv8NXdf6Qh4WLgN0BR5vQKhiyT8SHp
g8EGPVX0sLRWLoedv+IhWrZo2bfkIMPKK1z1JzzkgYl2unwhe8NDnIH+QgXCJAnRgymu+3Uy+v1w
1K8rXzIK8OBlCLJRgWhVmc8iShD0el9gk+t149Mcy7NmtgFnvpHnfnmgZEvcXwhjztHRVobk+HH4
f2r/GgTlHHKrDjbABFetlzT4+5aqOtMTNZybgARFsERuUHqgk5b84VKMgFUoN8QecvbMhOU2fyR3
FoWUyonH4lU43Z2cZlzMVJW6ujRbOwUBk5jKwqVWDnQUlYg/P9Nucrvq9JJtn6rqvJtZglrGqf/C
j2H7ryHGAo2i1ruIVO82zAY1FKB/kxkkuk1OVeffw93Nz1+LTQ1WdF5NH/UmwXJnhtlF+AYoOCmZ
Gg/DbZFC6g6d38kxdahlg86djMGYAXtnakp2YKjFDmG/jmqQiydbIAj1nrgtRhNJZPLgecKfPRXL
e/AlK3qWLz9xoWitNcy8PbAofaZZ9XyRTAfJShSdPahZPihriGW3HudeiZySrJ4oqJlkbmQW871b
jtZnc3Kl+eHdJn0d7xKbggtwA8ckoHp2qAuQYa6rnWx+0S4gAlEEJ8Ck0TB9Hd/VEQrMSEmF8Oww
n82BbGVHAFDqt5unw2XuD61TCRYVwbhO/+hHM4tz+Kgf7hddbjJbV+E4cYFXYPB5QEj3G2uaEekK
5C/3KUtg9QLyFJ/Tx8YGCz9RKmbLs8BgV/wPGLv9IOlfwr6lH21NRxb5UDBQ/SLG+QMyNhLdD5MC
NnI4d3Rkq+VIbqIzueNzUKS55u+ECxP3PHI89B2eDXEJGic8AiOlfWm+2cdMwdHl6O6on4IB5RVn
2KavM4SHnjAlgJ8not53lgNe4qjNUOjhIvNaV8fbeYuhCyIwkLTsYzE+wJ9q9P+I7m2X5q9vn5U7
jdHwEJL+q4pdbfq5zjby+2ud5gOHeQZz
<?php
namespace PShowSsoScoped\GuzzleHttp\Exception;
/**
* Exception when a server error is encountered (5xx codes)
*/
class ServerException extends BadResponseException
{
}

View File

@@ -1,68 +1,7 @@
<?php //ICB0 74:0 81:6a8 82:cc6 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
v9PhlaaxPFIWQKaDHxQCdJvj=
HR+cPu8/7nUR6+HOnuUAD1XgP4vbOi9PIDXY2DrbHRR4q993ZVWCpKUw/X6g8ZHJbjdtkYqlIb3l
NL+6Ud3PhGR+rpHSX1rGXEUVJH5g/hjfumpBWpN0sCrx9P1/8DOe9UZnERbVm+R87qVOyPdlwOsT
O9mVCZQDyo1XQ/EONAHPZScojpbtUWAzEAHBBLCj0vqWiDEeypWAYfh0kkNL6sOLsE8d26sDJj73
POgsqsv6+cOj5aw6VT4BWLlViCnVsJSf0cjEkPTowyU6+uoHtnVfaS7R2440Tv26Q0apMPB1sRw6
/UyvCKj9lOdyy4OOSyphrPkeRSgIxEv3LfqGo1sH0JgPLW6sCBQFNwyjYL2AI4kIS7Fbz2xNTesY
RTBZ1zxN9a5tw0aN3E62dcp+ZG1dMKyKj1VoHwJ7z3ETmrgiJ6smo1quKQS3gCuTUhsVH0mCEkjH
QKpSzBlvnGi/V9hajWi1UvfVHA2+HwLv46BMynozY1A9VRynP28P5jf6c2eBqS96kD5R/FmlI1oR
ufwLWS7iknBtDvs++Q3a1IcAmUkmM5USWF+myoBscsCgQkSj+9QQ+TpzXFx+MmHHBI2x7my12Ubc
dPmCX8eSQe0Bq2QCWa1M1NGXxDR1/0pILVYLii3ajBDDq1JsPh/z6x6xHh2wKsooblNcUNJBjdoz
TpehVvRs3wqGVEtkR8UwYNPMY5TRzPuqTvgSS/ywGOW5NlP3PEtOTCdCYqJJk8HAp41ZGgtBwqS0
Izp0B3w2uxGiKmv9YkWqbDouZvhBdGt/9BjISV/FQvn5UMeMTg6lGVXV3Ig8XyS1Ka9z0fBOuTAv
1foXIltoIyDDKdSYLgTAMi0FqhuxL3qAjU/2v/kHJiAsOLuftgrUSAOjDPUNqwCL2P+lR44veGYU
bQTxDhrIucHd3DrQpZ/W7XJWgO7qtyu47h3U6A5KESeggketP6FzTvPEhw0uZZKs3Kr5TscHJeVh
0U3+o36EoX5lNcax7KT6I4QL5NPL1qTW8ivf+GtURMBlYXj4AKLqCOlK7WF2dF8h5tmdDKVvIZ7S
yNRE4pjTiaFwFbtD/dBOZk64Yv5GmBKspKhynWYFERBKzEEdKKYby7QPCzO1f1NjbFOxDNEizY5E
LjG2cqiLXwH4As5kM8iTpRKT3GyDjW/yaTJoYWupoH26ZNJlofpUdtWH1cLgxtwJgDHO9HVjc+RZ
9X1nkfJIqmk/YdPuHPF+6v2xfHrs2Ys1jya6eUylyUMr5S6BlKQFSDZXs/5L1++V2111mlm/bKml
YyPgPhwMKwuLh8E3kurDsfGXgdUEalz+Q6+2qfegZk6blnCHHOp1eYD3iU25DCSVLB5jTOfRDMcY
HGO3oXApDsXsAxpIbKrhXof8KHPPVatT3gMoqkVjOidkSzjQRDD8XPW4ER+k4tpFKZG6jKCg/cid
qXv2kEaZVDkEU4u1n/otXN6GZRllekL+bi047cpPd+amhyA/4gtvOnu6GbLiwiljAlQf4u6Kb1Z+
CR1obhn2
<?php
namespace PShowSsoScoped\GuzzleHttp\Exception;
class TooManyRedirectsException extends RequestException
{
}

View File

@@ -1,63 +1,7 @@
<?php //ICB0 74:0 81:65f 82:c07 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
<?php
namespace PShowSsoScoped\GuzzleHttp\Exception;
class TransferException extends \RuntimeException implements GuzzleException
{
}

View File

@@ -1,80 +1,25 @@
<?php //ICB0 74:0 81:7c4 82:f1a ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
IpQQBbPf/sAcJWD3WtMrf0kWI0===
HR+cPrUZWPxITthH3XeKlOQgKV87Pvcu8sU/scY9ZttIlzQIG/sDMWrFK8t/hrwhcXjIakgP+NRU
LkQLMtzSBp9oEgg289AwhJquSTxBOTXzJnY1vZGPxNdN4gGQlCpgKYn6NCjWo/pCsrb2uv0eP2Y2
dtDgn2/v24D5apg3tdnARKb9tvduOON79dxCvdv932ZeIATvR4zpuMpV2dKlOVj+wZjIUgLJEDJ7
QrEzAP4WwxR8tCmhJATgyxM+D+Tv/joN4E6dqlMFbbeKvgWVAg7MgXfR1E7WPrnVyS2fw+bC9Vfr
y3I5MiZ50X5dNglaAEd/XdRT6XkJ51rVFjWn7VcgEaO5l1/idPWtLKYGFuCSxa+d2dzHvCccZpJ0
9AAJFvD2y5yQEhou5gpAmvvi/eq0PrbF5BGNyaUan/Goe3FwUU89B18G3JId0vpEMuNIg7r2fSyk
hkS0wvFuuOsuFfB51k5Kne5CLaWHvjWNXZNv5T1xwXRt8M+YiaOKRbWj1cZuNpNis/ByevJ18e2m
bnHsT5C2IuojqAGpf+ag3yHuqiklN2qK81Uu3IbAXLTAxaU3Fm98Bs6hocEtgQ6Og20mcjy36595
SS5hOV1daXoQjKTgczzpSquAat2oWNYkP8tkGpIzs5uzUTZ+Sla0pDAGvL99090KsGP3adtp4lYs
fRN66/uRQm96ZZ5qhyJ8A0jiTm9bYRMrwaQj+u7I4iJuS4ueLD4+ZxdNfhdnWdRh7PX3jCWI8Afr
IExe4EZRVaRHxxOPWRT+l1UJ+pK5pTmdNoD2QeMoY865DMFyUzY7tsdAsD54Bm88pRxaI9D2wUtu
l+F5QFJRPlhqw24u2GwI31p9T96YMZNTlt4LFRm0Ok7BXQX/qrqESueoOzfEFJRD4ufpbdlKnQyq
n/ShBA7rmDuXpxyaEfdne7PybJ62fob3/TaqXogqwLq2UJbxek3mw9On2jFTWv37piBhvK0RIx6g
euXYLELkb72FM4RfbUpwTCSXUOu7C7DWhmc0xaUG9oYEn8bxAb2U61vm9xdxDgt7W+cun1s8ti5h
JX2TEhcpRbbRBG2LSCwfk01pmom/1yx4e1203h8TgyURL5nr/VjCVBAma/5K+cweqL+JwH5XacEW
EfegwL0C+vBc9yPwJWDzw+4iaC8lyewWS54xuX6TBGmZSeBWHwvYhMYhesytY1gVzlRaJ42Mt5Ug
gI9Ud9slEDZJh0+QWmRCpT//TMl/Ab6AKo9kQIPC+LOhxa64KjfWSBiQqZQMg147tDkdMNPm6WlN
fROr5N54z2+CLhy+e3rV71cE28+04igr0o/WRb4EyKg/Uj0CbUHfYK5EqanYt9x8W9Wv9N9+olAO
D+7/xIHr+VJbgSoTmOiHD4g7FGDvRRvGrrzzucWM6VntGNPQ8XftW9AUCq+yLwlEb+Llwg//ZRuY
CeNNz6CeCSw4JCRuhTDa1c3NQKRItu4tkWB97ez0GpBEseehRcuC/uivrrrZS3lnV1L2jAH2fHog
B3IQMZTR87/yQcbZVHz+/66XXMYvjjqZvFk7NdifuEPmABSCFhUhFVzh4N+OnA5yfu/sd9883eqS
63vfxcXTYqPl5fb7IAVNX2VBTQaCVH92at16lbW7uw09eOvHEux5XmCP5yiP1i4/OanUwttADWx2
cZ9Qq1s3f2/dksxU2latdp9GVwtCrgx0NnKulTqnNmXqQssxyrEizVHZOy7GHwv3582C88oqAMJu
5D0d6Ciqv+q1IodOtRnSMPRuNlO8BqyZflnW5viB++fqhFCrew/bMyDxug+25GwA48JvP74ZkOS5
zUed/hBi/cB1kpuCvwG=
<?php
namespace PShowSsoScoped\GuzzleHttp\Handler;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
interface CurlFactoryInterface
{
/**
* Creates a cURL handle resource.
*
* @param RequestInterface $request Request
* @param array $options Transfer options
*
* @throws \RuntimeException when an option cannot be applied
*/
public function create(RequestInterface $request, array $options): EasyHandle;
/**
* Release an easy handle, allowing it to be reused or closed.
*
* This function must call unset on the easy handle's "handle" property.
*/
public function release(EasyHandle $easy): void;
}

View File

@@ -1,117 +1,49 @@
<?php //ICB0 74:0 81:bb9 82:16b3 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
LmA9Uxmdvh5P85MLyQ/9tS+2lWHJgOPYY2u==
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
<?php
namespace PShowSsoScoped\GuzzleHttp\Handler;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
/**
* HTTP handler that uses cURL easy handles as a transport layer.
*
* When using the CurlHandler, custom curl options can be specified as an
* associative array of curl option constants mapping to values in the
* **curl** key of the "client" key of the request.
*
* @final
*/
class CurlHandler
{
/**
* @var CurlFactoryInterface
*/
private $factory;
/**
* Accepts an associative array of options:
*
* - handle_factory: Optional curl factory used to create cURL handles.
*
* @param array{handle_factory?: ?CurlFactoryInterface} $options Array of options to use with the handler
*/
public function __construct(array $options = [])
{
$this->factory = $options['handle_factory']
?? new CurlFactory(3);
}
public function __invoke(RequestInterface $request, array $options): PromiseInterface
{
if (isset($options['delay'])) {
\usleep($options['delay'] * 1000);
}
$easy = $this->factory->create($request, $options);
\curl_exec($easy->handle);
$easy->errno = \curl_errno($easy->handle);
return CurlFactory::finish($this, $easy, $this->factory);
}
}

View File

@@ -1,490 +1,287 @@
<?php //ICB0 74:0 81:3266 82:61dd ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
W0V30yTl12P11BDhcG3w=
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
Oc6ufjHmfW==
<?php
namespace PShowSsoScoped\GuzzleHttp\Handler;
use Closure;
use PShowSsoScoped\GuzzleHttp\Promise as P;
use PShowSsoScoped\GuzzleHttp\Promise\Promise;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\GuzzleHttp\Utils;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
/**
* Returns an asynchronous response using curl_multi_* functions.
*
* When using the CurlMultiHandler, custom curl options can be specified as an
* associative array of curl option constants mapping to values in the
* **curl** key of the provided request options.
*
* @final
*/
class CurlMultiHandler
{
/**
* @var CurlFactoryInterface
*/
private $factory;
/**
* @var int
*/
private $selectTimeout;
/**
* @var int Will be higher than 0 when `curl_multi_exec` is still running.
*/
private $active = 0;
/**
* @var array Request entry handles, indexed by handle id in `addRequest`.
*
* @see CurlMultiHandler::addRequest
*/
private $handles = [];
/**
* @var array<int, float> An array of delay times, indexed by handle id in `addRequest`.
*
* @see CurlMultiHandler::addRequest
*/
private $delays = [];
/**
* @var array<mixed> An associative array of CURLMOPT_* options and corresponding values for curl_multi_setopt()
*/
private $options = [];
/** @var resource|\CurlMultiHandle */
private $_mh;
/**
* This handler accepts the following options:
*
* - handle_factory: An optional factory used to create curl handles
* - select_timeout: Optional timeout (in seconds) to block before timing
* out while selecting curl handles. Defaults to 1 second.
* - options: An associative array of CURLMOPT_* options and
* corresponding values for curl_multi_setopt()
*/
public function __construct(array $options = [])
{
$this->factory = $options['handle_factory'] ?? new CurlFactory(50);
if (isset($options['select_timeout'])) {
$this->selectTimeout = $options['select_timeout'];
} elseif ($selectTimeout = Utils::getenv('GUZZLE_CURL_SELECT_TIMEOUT')) {
@trigger_error('Since guzzlehttp/guzzle 7.2.0: Using environment variable GUZZLE_CURL_SELECT_TIMEOUT is deprecated. Use option "select_timeout" instead.', \E_USER_DEPRECATED);
$this->selectTimeout = (int) $selectTimeout;
} else {
$this->selectTimeout = 1;
}
$this->options = $options['options'] ?? [];
// unsetting the property forces the first access to go through
// __get().
unset($this->_mh);
}
/**
* @param string $name
*
* @return resource|\CurlMultiHandle
*
* @throws \BadMethodCallException when another field as `_mh` will be gotten
* @throws \RuntimeException when curl can not initialize a multi handle
*/
public function __get($name)
{
if ($name !== '_mh') {
throw new \BadMethodCallException("Can not get other property as '_mh'.");
}
$multiHandle = \curl_multi_init();
if (false === $multiHandle) {
throw new \RuntimeException('Can not initialize curl multi handle.');
}
$this->_mh = $multiHandle;
foreach ($this->options as $option => $value) {
// A warning is raised in case of a wrong option.
curl_multi_setopt($this->_mh, $option, $value);
}
return $this->_mh;
}
public function __destruct()
{
if (isset($this->_mh)) {
\curl_multi_close($this->_mh);
unset($this->_mh);
}
}
public function __invoke(RequestInterface $request, array $options): PromiseInterface
{
$easy = $this->factory->create($request, $options);
$id = (int) $easy->handle;
$promise = new Promise(
[$this, 'execute'],
function () use ($id) {
return $this->cancel($id);
}
);
$this->addRequest(['easy' => $easy, 'deferred' => $promise]);
return $promise;
}
/**
* Ticks the curl event loop.
*/
public function tick(): void
{
// Add any delayed handles if needed.
if ($this->delays) {
$currentTime = Utils::currentTime();
foreach ($this->delays as $id => $delay) {
if ($currentTime >= $delay) {
unset($this->delays[$id]);
\curl_multi_add_handle(
$this->_mh,
$this->handles[$id]['easy']->handle
);
}
}
}
// Run curl_multi_exec in the queue to enable other async tasks to run
P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue']));
// Step through the task queue which may add additional requests.
P\Utils::queue()->run();
if ($this->active && \curl_multi_select($this->_mh, $this->selectTimeout) === -1) {
// Perform a usleep if a select returns -1.
// See: https://bugs.php.net/bug.php?id=61141
\usleep(250);
}
while (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) {
// Prevent busy looping for slow HTTP requests.
\curl_multi_select($this->_mh, $this->selectTimeout);
}
$this->processMessages();
}
/**
* Runs \curl_multi_exec() inside the event loop, to prevent busy looping
*/
private function tickInQueue(): void
{
if (\curl_multi_exec($this->_mh, $this->active) === \CURLM_CALL_MULTI_PERFORM) {
\curl_multi_select($this->_mh, 0);
P\Utils::queue()->add(Closure::fromCallable([$this, 'tickInQueue']));
}
}
/**
* Runs until all outstanding connections have completed.
*/
public function execute(): void
{
$queue = P\Utils::queue();
while ($this->handles || !$queue->isEmpty()) {
// If there are no transfers, then sleep for the next delay
if (!$this->active && $this->delays) {
\usleep($this->timeToNext());
}
$this->tick();
}
}
private function addRequest(array $entry): void
{
$easy = $entry['easy'];
$id = (int) $easy->handle;
$this->handles[$id] = $entry;
if (empty($easy->options['delay'])) {
\curl_multi_add_handle($this->_mh, $easy->handle);
} else {
$this->delays[$id] = Utils::currentTime() + ($easy->options['delay'] / 1000);
}
}
/**
* Cancels a handle from sending and removes references to it.
*
* @param int $id Handle ID to cancel and remove.
*
* @return bool True on success, false on failure.
*/
private function cancel($id): bool
{
if (!is_int($id)) {
pshowssoscoped_trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing an integer to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
}
// Cannot cancel if it has been processed.
if (!isset($this->handles[$id])) {
return false;
}
$handle = $this->handles[$id]['easy']->handle;
unset($this->delays[$id], $this->handles[$id]);
\curl_multi_remove_handle($this->_mh, $handle);
if (PHP_VERSION_ID < 80000) {
\curl_close($handle);
}
return true;
}
private function processMessages(): void
{
while ($done = \curl_multi_info_read($this->_mh)) {
if ($done['msg'] !== \CURLMSG_DONE) {
// if it's not done, then it would be premature to remove the handle. ref https://github.com/guzzle/guzzle/pull/2892#issuecomment-945150216
continue;
}
$id = (int) $done['handle'];
\curl_multi_remove_handle($this->_mh, $done['handle']);
if (!isset($this->handles[$id])) {
// Probably was cancelled.
continue;
}
$entry = $this->handles[$id];
unset($this->handles[$id], $this->delays[$id]);
$entry['easy']->errno = $done['result'];
$entry['deferred']->resolve(
CurlFactory::finish($this, $entry['easy'], $this->factory)
);
}
}
private function timeToNext(): int
{
$currentTime = Utils::currentTime();
$nextTime = \PHP_INT_MAX;
foreach ($this->delays as $time) {
if ($time < $nextTime) {
$nextTime = $time;
}
}
return ((int) \max(0, $nextTime - $currentTime)) * 1000000;
}
}

View File

@@ -1,152 +1,112 @@
<?php //ICB0 74:0 81:f96 82:1ddf ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
rnxJgdi1UCBb3y3ZB2gIpI4wYe0ahjAHC+u==
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
tioQNyetWh/LENtG8s9b2cMBNFwmeuUZJvO=
<?php
namespace PShowSsoScoped\GuzzleHttp\Handler;
use PShowSsoScoped\GuzzleHttp\Psr7\Response;
use PShowSsoScoped\GuzzleHttp\Utils;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
use PShowSsoScoped\Psr\Http\Message\StreamInterface;
/**
* Represents a cURL easy handle and the data it populates.
*
* @internal
*/
final class EasyHandle
{
/**
* @var resource|\CurlHandle cURL resource
*/
public $handle;
/**
* @var StreamInterface Where data is being written
*/
public $sink;
/**
* @var array Received HTTP headers so far
*/
public $headers = [];
/**
* @var ResponseInterface|null Received response (if any)
*/
public $response;
/**
* @var RequestInterface Request being sent
*/
public $request;
/**
* @var array Request options
*/
public $options = [];
/**
* @var int cURL error number (if any)
*/
public $errno = 0;
/**
* @var \Throwable|null Exception during on_headers (if any)
*/
public $onHeadersException;
/**
* @var \Exception|null Exception during createResponse (if any)
*/
public $createResponseException;
/**
* Attach a response to the easy handle based on the received headers.
*
* @throws \RuntimeException if no headers have been received or the first
* header line is invalid.
*/
public function createResponse(): void
{
[$ver, $status, $reason, $headers] = HeaderProcessor::parseHeaders($this->headers);
$normalizedKeys = Utils::normalizeHeaderKeys($headers);
if (!empty($this->options['decode_content']) && isset($normalizedKeys['content-encoding'])) {
$headers['x-encoded-content-encoding'] = $headers[$normalizedKeys['content-encoding']];
unset($headers[$normalizedKeys['content-encoding']]);
if (isset($normalizedKeys['content-length'])) {
$headers['x-encoded-content-length'] = $headers[$normalizedKeys['content-length']];
$bodyLength = (int) $this->sink->getSize();
if ($bodyLength) {
$headers[$normalizedKeys['content-length']] = $bodyLength;
} else {
unset($headers[$normalizedKeys['content-length']]);
}
}
}
// Attach a response to the easy handle with the parsed headers.
$this->response = new Response(
$status,
$headers,
$this->sink,
$ver,
$reason
);
}
/**
* @param string $name
*
* @return void
*
* @throws \BadMethodCallException
*/
public function __get($name)
{
$msg = $name === 'handle' ? 'The EasyHandle has been released' : 'Invalid property: '.$name;
throw new \BadMethodCallException($msg);
}
}

View File

@@ -1,105 +1,42 @@
<?php //ICB0 74:0 81:a71 82:1427 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
/jPhMtHGmqTng+7okInVJelK6Qct0uOs=
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
/NcRsOUv0rp8hyxjM8C==
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
9BMEhm5f0kqm3edJ3VVBP2NVTgyjwszX
<?php
namespace PShowSsoScoped\GuzzleHttp\Handler;
use PShowSsoScoped\GuzzleHttp\Utils;
/**
* @internal
*/
final class HeaderProcessor
{
/**
* Returns the HTTP version, status code, reason phrase, and headers.
*
* @param string[] $headers
*
* @return array{0:string, 1:int, 2:?string, 3:array}
*
* @throws \RuntimeException
*/
public static function parseHeaders(array $headers): array
{
if ($headers === []) {
throw new \RuntimeException('Expected a non-empty array of header data');
}
$parts = \explode(' ', \array_shift($headers), 3);
$version = \explode('/', $parts[0])[1] ?? null;
if ($version === null) {
throw new \RuntimeException('HTTP version missing from header data');
}
$status = $parts[1] ?? null;
if ($status === null) {
throw new \RuntimeException('HTTP status code missing from header data');
}
return [$version, (int) $status, $parts[2] ?? null, Utils::headersFromLines($headers)];
}
}

View File

@@ -1,361 +1,212 @@
<?php //ICB0 74:0 81:24d1 82:47bb ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
grYkLzi==
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
ag0==
HR+cPzCWYnpRkmzJ1+OUFokE849pQ53M89FTZTaiVbg95ECezrsAZ/wssSrdqdX0Z9ic9NIHpHdq
iII9ww/McMBT1FRrv01uNaBlXmoDY385u0JKwJzXT0ZCplp/9aCeFXJaffTw+w0p5jsKX2+t1LxG
W0LAwv2pd3VmrPeW3ICu9kkdIFwEKqbNvb4sdpguPHgK6quffF+qmzR12NSXdzqZboV+waVN3TnJ
oksI90+Zt1lpMQa5W9dbHEI9JUrmNS1pLcF7Ex4nguyWa7m8Ropt5gjeC1hTTMKp2117PEhV5y/4
amld6zs/AGK1lUjWWJ9ObKiPy+gvd5dSMzUagUCvqRGRr2GAzR2buFmh/zetCBlr3oUPuckKTNAg
G1JXXPfgSr+XHTahwrFyRfvi/eq0PrbF5BGNyaUan/IYd5ZleqhsmuGX8PkdGwVE9iZxfDlJK7ZA
kkfrYnsLFRYA1urXjYLwTukuaV8gbvok3MAW9/+OA/oZZa9IT/9erbND1iVV+U9aBDpkcl6UsSZz
VWxd2HfSd2NaysbbbeHvljf4z+uiT175VfK0dIfZFemvnBnvgRr0LqDqVLWnCQJ984JGrLz5ski4
ISPs8Aphsxw3ZfO5D1KZDUhPvFU3hyQFnTWtPcUlT9LJO5hIeg3dg/5GNpg9mXKHnuznXsLJzBiu
XNueoNokSgoZIk4FWHPIrUl+sH4I78OJHJQoRq8u1kdchKWLdq1qcvQcB99VJyhIb68myFmHZCRx
/nbCC+CWcImh/FgX9GgrsCXChnWQOdC1A6/cyUL0IRs10QtiDSuvhXX9WDC/p/IM7RD04dt0ahTP
ALVeK3FliLk1yJf1YXqSHoGHk9iX282yZQvss21a8lnaJLxRl8ia/YeDv1IkC7pv46IxpHWxB9nX
NoY3uhrjp8PLTXwkR6DthKyS6WkQrc+KVqZgIWTu4I7uK0tYz2uubwlkwecrMODrc7eYTyyDdsS5
B5KSe7Cu1qerOSJZ1h35ZV9fGVY9rMJ/OXx9lbZarkdlaZziIS1b+J4H4h7nIBai7uJxgIrF/PJX
kVWVTxYSw8WHw6lmLezKn/4pE2OfIdB9DZIdO+4WL27WlceJ2om7Lhrfn2Ik9kHspEod/Ae8A7y2
CdStiIXysBNemRhF8gEwuZZndg3+CAGRPy/2uD7nSoQepsVilLK/SQpiHlipzz5FpBKQLRXYD2Wj
jvTj9CUupgc4y2dxvuXRYyKqJIhXSrE09ZrNBDS3p6JuEVlSutJ0SHDX9HD6/sGB3eL1kT1pshnz
cYwBh9xyAJIfh1pfmZgLLg0OliJNUxAJnJW0I8hOMHo7fA6L5lGZXQHlUX5jlUWsWQQJMJ3YMrZj
eqvhMEHezKxP4ldEnV0p4qPKaOifsnpGEFi80WlTtBJxqFzQLbj8/bICNmLj98hQRa12S2uj9qGe
wADVuvHJuPkqYUDNjobxNq0GxNOsIGHO483ESpWrXc0LQogOmwqsmUru0J0E7RUoh7QHWtZyaVcn
IOFjyp41LFQIngWqMlCovlGs0y/BUr9qbnwyXqyJZLFBP6L0+Wxu90IHL2QyNdeAYs7zEBAuH+Q5
kVkM9I30tPGQtFsCP2rop73/aym/3KMG/xRTOaIAOHr2kT64+yhnUtWRswoSD1WWh9j0TtoPYLVf
jkeMpXihrnw2yhhhsJJvXzBLYWKo6bUEbVAIo4jVMaQbXfgXHsDJgqgVMgMjsHRvMG/XPkaf8nsm
9a2r8HTf44snFt9QwpMGaZCi3OgcGBrbQWMk6y+W4OaZCusfldeIs8jR0T4DrUgWlGwH5UXlc78F
zxM0WCiPuEH3PTKV/rKOz5PrYsTVPQ2cj40sVfNu5HJFpZ5iuCiw+30nD+6EH3TSXpkoAQEgUbiL
2MUCaZ5Km2Us4ecLcZl/I5GW4kTw2qqYhp/NMqEjEMreVO7CnbaJj6dBe8+QpdcVJmNOa7cP84KE
Fv00zjD9n8aOK7pKQfmHbJ16LCMvjnXHguyxMNJHAA2VGNlk3lUk85+O+cD57+Vsvve8pHorwUzN
wNmNvEURRt3x15D3cx+ymTLbMl2NLgFXHMU2Ax5v6ZgPsf5UHStwQEgpSMuEhEjDvDS/Rn5F80TU
cnSVenHDxsySV1LdC0SgAk3IitqhCyb4cKpI7eJMfs+4cHylisdSsXvznzb9Vi1IR6UrfTHZZpBn
cMsOTu3sC7E4a6AAWp5j80IMSu4mJ00dD/CrvHsIreRkrTPjvUD+WUMsD6goTeXzobTSdnWkH9pg
W61xZNYsu879ccKRftNbEiSiHyoeFbnY9ShIoAONw0jpNOoY4gdiU12IDYEjV75RfshKPXwUvW5d
q80WWIVN0hBCzoDvL2egW/h8wWonu7ZC31RkPRtS1GLk10cfKwUrzFJfnMNA7kszPg1ircByiyt6
OXXZ77fZR4jMCnHlZo11bgjSBU4Fp0yb3WAhwkpXktXHFqDwGH3A9hWXkfABjO7lP1cdXX5fqSiv
loNP38oS2cLPseXNy7OxmMLqPuvSw8hNK5xe9lvWQxLpKE3Mzn9/ThyEyFLrh/QkmLK+mDEze6Vt
yrgWCJcoN71Araqi3rlIirZeuoSLf15OwuWrYRVdU1CSraEvLjox4UCMUp0nZpzth5SGb35pPRzg
BYMH+tTHSCD2U7rx82HjBU9doMQ4RkxM7O+AjKCU0bcqII2O9ErjP0EIYqIvRfGdXvzcSFjpnz/Y
QHkGDB0GV6qb3MRHq/iCCRnb84a3Hv2v2waIVgbREAjcElX2UKLRvvrCCOpAlfV8MfSukAC209MN
ToEBxYwpEzqg6GU+47JDhb1RVTj9HJX2ItSEZcTqZY0ZuGkVyJSuj7j/KaZV9FOZT78RFthnV90F
fQt1zCF9KJc+2A0rj/glN0Ge39zgqz8KNA0PURwBx09zgz1j+xcO65RehpKenW9yAfYnYLV4RWj1
vPi2JmSi0PTOxhrPZoGxEVYNgACSOKzPHBD5tZwQwNal9OVvDq35KbyUr0LGQ5NMkQYX4sTAfJZs
HLP+ORCKDV2jfeJxC0vrCfiWR2kPKbl5AMkzciPLIdS7ZvilqoVw7h2ZXLiOMAo2SAwdsnplLETe
6noCrybaZ14SAniW0ayjMC7UM9pyTwX3FQBPq2pj8oZcn4GnKoYAIQoSCsqwJNHhHla/ekYSeo0b
df1bXK6obPsHy9eqrlmPvb+WlRzLEiMUkEBHs+CQopeN78bnMqgjTt9u3MwvWxVbRN4ABrXs8ONE
HP8ETPa3Ac1i9nZo27j88v1P+qTiooDuJPrY9a4LPOCZC6ISj5AMsM7/vfR02gdMmh+eiH5i+qSu
hWxlksUSFUQn0fV3o5xShDovoxTfaAnefwJFVbxNOKA/JS8v8Csy+XKMt+qj+YCkZz0Y6fVFpTq1
2Ey7nmkqxaMAlMHHRNZP2+X99k/F2iPZFGUh+2c+G2zd4nghKiTRWjwA4tDHJboY47eXJZRyrvdN
7bQUyyYXqvv7626gUD7Eon71aHINhbZkrUnck+vRSxZ7SQ8KcrRCJDNJHoS6oH+CcDPG4AqN9B/b
ZJXl0nJmPYpqnQ+yFpFNnRy2/PA1mh46EtT+30AScFZigskrv7MDScxMyEiLASYXSHM3e21XKlr3
5l16Qq8KlKsVoJ3BhQ1TAtGxQmqhBmer0GDScfkcKN0kH4C6Z5VjPWtiCj5D92R7cTH3C/3ZAZra
R9NqPqLRe0IrFnDfzfkpL/DqG3L5p794vAA3X8+aZbB+OsOpdqLvFZH64gPY6/D9/A7caCgaghfS
9cSjPfmp1h2a62d5uY3x+szw0NYLlr+nGJKi0AYb17W9exqbDaMuXry3beAjMeHyCqY0TaaQ3036
dRGmi+tkFWcRpuM3+qA/Sy+kCUG+34lc+4opERUoVrRlRy/Onb86anww1rKeyDWKx/NMajCBBL+i
jZ67QSA+ytkaui3dV//fqNHrp8Y/ENPtKLJrap0kzCSwrBFmEElwhzlga1y4Hxw8VK6W8XqA4CNm
3yLjA2La/ANrL/uaSJMjYvFlgEsm0LKPWBJLW4r2SmkAJnrOnzpF4Jdg4tV3xI7iuBnDvGNfHk2V
Q54UDVUKMDAu91thpO4/mlAfGjpHM+gmYsp0bHIhPSE1a2eF8mFiMrA6M8VrM/fjyxLyD+YV8ybJ
xzROrFZ4RXAAcG2agLVZWUcoG2sofnzVy0LgEyRax7L/k3QiMFmOI/99bdAoL21ONBASI7KB2ude
ZuZfTGuOZKFSYE/rFh/XV/ImK0+wzWGHB+TUilVXVRRcmVzqmDiAz8CEC2hXirtfgYat+dAZ0Cma
VoU6R0sToclBIAjGHiWM7a0qGjNAtkWTqq+8IaXa6KpQ6lbvr3EIeEdQDSUHlXFjTtzmUB65I+Ig
c4I28ECSlD4x38SCB9NprfjYvuxDGFfbbB1vUiy/8sef4wJXm+HnG9qTiwZRg6pElaG3QlANLQiT
g7wfyjT3IoXGa1RRs5rcor4M7uA+TDsbxId7bkunn3gZ9vERZ+4cH8SEdxhjMxDJk12T+lSfmr+I
lNAeFGWgWT0dtvyMqy9sC6ANV7dV4Qogm1mIe2oBaZtwgoeWS+wHCqrEcuOCYTe7iLFz6c4Q9+Pe
RWr2iDg1pd37bZHEIpEpYhrKpSkWLdGTsIEmABpMJVTELvYTBR38DkuPn4cb6IzSlC/MJSwmG7Lp
J6tqCwPJWqEuy4KCUFU5VzwEsM8eIL7c9u0p6xNW9S380EWucbbodPHQZ0ehE9AcW1PNN9isg+ao
wJFRBFeQqxwBbuEpPon7Dc1fM6eqrw41EjybFrVEW+yPx2fctuaiuOHkWFRcng1iQdnM4T04ig2f
8l3MPHHdXJrNc7UIaVTxv48b1E5HBh92PHCgVh+rw5kvJsrhUF9ZWdzDhVkm92ZZmJtFeenX1KuQ
I0/8a8Rhg8do0qZzyd0dQl/9b9BbbSTcOcb1/onArWebgl8pBEfc2dTDqB6niR/o+LTEdoKBV6Ph
/BuCAtBFBBKzXWG8oGfIaDdhT+J/0TY7iz8/hjY/pl1dphBn9ILKmB6ljh533EswpCIhggWfgpaD
8D3oUcBTKZOCydWtwrXuLzLVJJCXATQUO2ggPvltl1+4mEGz+CFx4S/3LY0PW1IgNTgf5bhr2jbd
nAAdntx1SP56ae1vgb9rHgCnotPoqx7Mdti+lTH8b/bDZR3xFPezHb/zddYyHH5cEF+5bk1WBA7Q
TkTA2VCqh2BYjZE8bsVG7mvCTgKBCnj8aD3FqR9t+QwdoIKd7hLfE/ANlfpBB7xUHwxqg6GIKZ3/
EVpERViCuoLvMEULS0Hp/0T1Bwvbb6EouIUAJEz3KMpyqThlYaEoskURtkUwlnla8OyXWg6lW7vr
6VQER2xhZr3irxR2V2wUk+TfvMw7PJ6vcRugDGFx+lcu4+k4WwhSv+6cOzfHfT2m/sr3IyTl7uH/
wvHYB8rinJW2B9AL5KhfNbZG0WT+pX2pK4LhSJsAfdaII1p4HzFn89AmM7dt7ZyeR23Yny45EKEO
qY4qPqJFY1nsevjG6yM86uUsEyNwnnd+Eyny45bxXYQOB8Xha8sPZABC1/gOgoBChDvV28BIUM5+
zQjJ/OeTiINdoUnFA9kArBDJVrX/CHtH05tLBLZRegOpFl1/cSDAuMOhssyQs3OqNL6N773Tkdpi
AEz2WdB0nH/M7csciOeRhWFSmEL0tiOMddYvOnwo30jXEGlGpWXmSLPJpaDIaCJqt/TuPGXWqzFV
tdJZZGyBZ1/BlOkZwdYDRLtCQ8ZQwb/ZXXDVKoKTt7AAngP6/Y3Znn3Ofw81aTRV4bh3irFCtNtB
FREqTW44yzPgzvFOarAE0tl/j9AhrsD55pkONbUAkrCdowSut8X9Um/x0QLlw6W62CPUTDx8gzt/
jF9zqZ9M8u0Sg9Z8ICtJBr3vfQoHFXCUBqYEgJQ0WFXeYwWe6OIEqPzT49bXjmlPs/NC3kdpb80c
0EY0LrPjZ0R5ZmiBhBWbE9QvkT8TK/SVFHRDWZarc9vSjAEe14pyc3SMRlIW5bQGVYlC3p5vU9oX
WA1kLONZrtYbfgHcdV8F0QGX8xB/uIS79mmSzYSUja7ZeIeVMN1bQoDzIs54fztWnGRZXS1oELMn
68lKJUNRlH6TFI8u81y0Xjwx7FXPBNianMsPnTnjJkfIZU4YKw3xtiselZ/axzA7oqeg3Dj849YA
mSfisjev5olzQKqeSBgLRdrCP3JG8c9wMcZOxw6JnTI3ORuaR6SmfnY9oQ9om9m+FMo54N/3jiVS
HteoMcIZWbXo7WOpXUrsOKG4k2VgrsZ1DB74mBpnLx8+Jm22zSYkmHHEj2KHy0taRwkHoAra60Nk
lul6lL7LaF+WhP2VzJHNy4ANxNW1WQknAY2C3/RHw//Icl6wzf8P/m7TvYSt3K+VglcOPYs4PmaB
BHYDn99Jb1KO8VmJL8offT5CiAYxuVLPCctF8gOHk8flLrbGvngnug4HBvZOEZiZueO0GPENMIQ4
aY40pLVqbdEvdylcyx3IEbneFQKnWE2eiQh6rC5xSwZzc6hwiY/Hf1XAnyM0xXaTdZu1U9ujLr6U
AQSa4CLUUj21yXYxX3WonNfW9u/2CPMF6UIfx/uP179xA5HGabsEaVjdp4LBCASgeIrYDfi61/FH
05V7MG+bkKQx+zQZnWbyYjqkFwlLYSb38TBN2bY/oiz2QTqxH/m6ePr+m0aTsgJGNxDGdDLhV3at
OeCYJTqq4oZ3VVrTaDP9mkSYQxwSoz/23Fm9PThpOnFJALEBnrZ75xPsRVInJBHvfV7LC5yDtPNx
1gFCsZDzG7XBOh77xuU/KaCWX37KDi9fEC6v9sDEjrrvEBfti1B6iFjV1RcpqF50ChLHWI0Klo4S
7EukftGWHyJwHaQuqEFOd+HqmSx7MziJ5HOgTB5ENDrBvicpzqrBxdE75b9kH8rRVft2gDegIECz
Ga7JKYyCZv8rHGfZF+HqWwWh/NNLqqqojrhvXP54DeJ4sUFE0SPCedds0RB9DFF0nI8Ojus50nFh
bum8GbtSqV0N5tnKrVtHRojT2UqaED9Bzgrx1QQswIomTgn54wsZR084mwMxHBEvO1B1oIr0S2XE
BbhQkbmuaGS+MUWxQ+FazcBlNHjZO6yXCxMlDPOP7ntyIbsQIt8F5/EdNQ87Fofo7ZVmxkYYe5xB
ehsIYA8HLHwVn3JY1F7ztij2WYcmVTSIiHMT915ch3HV2SAEK6oSU8L/kOlXL8LBCnOH4fIIuPL2
6lueGeY9d55qAcphFgvghc0U9NB9B9RruDqfW+IjPjNVBWVhazHhXOVgMoMEejH+DWHQQ4ArZQuj
LBH4a3AChfFQFHEuxTMi9IY1d14wImF17vIXSUqHI/yDZnAxG9bRtK+SuktEn7i7HxyPDe0TrGsW
kAq+aP1A0P3fBQNKUU36z8tUMgtyIcYSIlRtIPbCjYFbdZWT0+/piQtjLw+d34RP+PapbbngN9az
RWjOPGZNViFjGmy13OOejvX0d1Rewdic4MD/n28rlPcqO1wLBluOq0S0fQsJ/FVTEI9ZMCbmZ2Ft
76ZJwzlEI9IodSiGH0CiMpDotfhPqLIwaOZzePdEngXbaLlkq4mh2DYC+nMTEzF9tuB4080ZJEs/
1A1LiY8xXvH3lOPkTbjCcjCYQOckx5Q2WhqYQ+d1ZyKO5Axe13xJmHfBf/PWp8Kmi1a6VWJZnlr/
P9XE8oLs+aYg2vwpaBH60uVjoFlLWypTePKEDu1U1LocyGl7YdrmZgCHir6lmj/JjbEiOwjrMbNx
iqzFA7P6TH2VrjnkDQKkxTxfs3G24N8T/YNX3X0nXYDgEYpYK/37KZ3TtCnDb3FHNT2aN+nr5D0K
1XJmQSj2MlVzIETUXJdOSHPM7WOKJSgDlGI803wY2Zq+IjSik7+/fJFPO6W32NKApCVqHGMF3STT
vD0r0yYXXVNfkdm4EErpFxU0WzK2JRJzUj3oezQzXTWVMch09TG9Ok/t62kZE5f7CV9KaI5q9zgI
qzbCuUyXbqBq/tsQaQ7QiGdMH32tcV5rd89hTALx4M8+QMBQLYV/L0BEfB3FqCi1E2W2KaAfHsUY
MUrQ4300WhEZz/VjyqVpPidgcn9Kp8YoDu/11NpyOz1segc893PEtnEZ56xBIGEhA77m8xUz1w59
YhHf+H75YeVZOWfX15caBOvChQCOvV+84DglOTdIxdUlnuuoo4lOpxoUYP6aj8Nu7xg1uYNtpjfy
ma0BgjvuYYIPPNeCp2SOnFtgfRqw43Tuio3KOpso1YxMHvTZl9kgwNaXLTsRIl2MKKEjp6jgpM2t
d9vY4llY3AGOOoTRV0pujynbvWfY9GUwSb4wyzOtlOZ1i7SKJICLwQv2HvJXIQMrcpLgtBhmaRDO
OOWI+UkNl/YID0Me7bIGp9JIEVaSZNxFMsyR3b5wEa16x9EpJSHLhRb+E+fuNTc7prDBUEoDg2lG
DZveItun1FAtMTr5C6hYksIyp0LiVy1Yl17HUCCFgun1C2sVNtgVxsg/yfPSeNFz1l8MxK4jEAu2
4NEFuuxLaTZu9m+XtBICqorWbLBKh4ScZYreHGnSyazDeUxQYoPRcTzM8mjXchGbSq9SRYcz8SnD
vnRq/RgBUYDN1pL15iar0jfh3/EMc9K9a00bMfY8StZLxWQm7pqawVlXRWgd2bcXlo6zsQoQE4x8
CeW2Xx+PnTIzpMmLYYHeaELQ/Tx/s2xE/iViUvTmxBeaJcCtuIfPfamr7ftmThBod+WLea+ae2aZ
g/pm+707lP/ebKgnKIKS7gZLGS/a
<?php
namespace PShowSsoScoped\GuzzleHttp\Handler;
use PShowSsoScoped\GuzzleHttp\Exception\RequestException;
use PShowSsoScoped\GuzzleHttp\HandlerStack;
use PShowSsoScoped\GuzzleHttp\Promise as P;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\GuzzleHttp\TransferStats;
use PShowSsoScoped\GuzzleHttp\Utils;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
use PShowSsoScoped\Psr\Http\Message\StreamInterface;
/**
* Handler that returns responses or throw exceptions from a queue.
*
* @final
*/
class MockHandler implements \Countable
{
/**
* @var array
*/
private $queue = [];
/**
* @var RequestInterface|null
*/
private $lastRequest;
/**
* @var array
*/
private $lastOptions = [];
/**
* @var callable|null
*/
private $onFulfilled;
/**
* @var callable|null
*/
private $onRejected;
/**
* Creates a new MockHandler that uses the default handler stack list of
* middlewares.
*
* @param array|null $queue Array of responses, callables, or exceptions.
* @param callable|null $onFulfilled Callback to invoke when the return value is fulfilled.
* @param callable|null $onRejected Callback to invoke when the return value is rejected.
*/
public static function createWithMiddleware(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null): HandlerStack
{
return HandlerStack::create(new self($queue, $onFulfilled, $onRejected));
}
/**
* The passed in value must be an array of
* {@see ResponseInterface} objects, Exceptions,
* callables, or Promises.
*
* @param array<int, mixed>|null $queue The parameters to be passed to the append function, as an indexed array.
* @param callable|null $onFulfilled Callback to invoke when the return value is fulfilled.
* @param callable|null $onRejected Callback to invoke when the return value is rejected.
*/
public function __construct(?array $queue = null, ?callable $onFulfilled = null, ?callable $onRejected = null)
{
$this->onFulfilled = $onFulfilled;
$this->onRejected = $onRejected;
if ($queue) {
// array_values included for BC
$this->append(...array_values($queue));
}
}
public function __invoke(RequestInterface $request, array $options): PromiseInterface
{
if (!$this->queue) {
throw new \OutOfBoundsException('Mock queue is empty');
}
if (isset($options['delay']) && \is_numeric($options['delay'])) {
\usleep((int) $options['delay'] * 1000);
}
$this->lastRequest = $request;
$this->lastOptions = $options;
$response = \array_shift($this->queue);
if (isset($options['on_headers'])) {
if (!\is_callable($options['on_headers'])) {
throw new \InvalidArgumentException('on_headers must be callable');
}
try {
$options['on_headers']($response);
} catch (\Exception $e) {
$msg = 'An error was encountered during the on_headers event';
$response = new RequestException($msg, $request, $response, $e);
}
}
if (\is_callable($response)) {
$response = $response($request, $options);
}
$response = $response instanceof \Throwable
? P\Create::rejectionFor($response)
: P\Create::promiseFor($response);
return $response->then(
function (?ResponseInterface $value) use ($request, $options) {
$this->invokeStats($request, $options, $value);
if ($this->onFulfilled) {
($this->onFulfilled)($value);
}
if ($value !== null && isset($options['sink'])) {
$contents = (string) $value->getBody();
$sink = $options['sink'];
if (\is_resource($sink)) {
\fwrite($sink, $contents);
} elseif (\is_string($sink)) {
\file_put_contents($sink, $contents);
} elseif ($sink instanceof StreamInterface) {
$sink->write($contents);
}
}
return $value;
},
function ($reason) use ($request, $options) {
$this->invokeStats($request, $options, null, $reason);
if ($this->onRejected) {
($this->onRejected)($reason);
}
return P\Create::rejectionFor($reason);
}
);
}
/**
* Adds one or more variadic requests, exceptions, callables, or promises
* to the queue.
*
* @param mixed ...$values
*/
public function append(...$values): void
{
foreach ($values as $value) {
if ($value instanceof ResponseInterface
|| $value instanceof \Throwable
|| $value instanceof PromiseInterface
|| \is_callable($value)
) {
$this->queue[] = $value;
} else {
throw new \TypeError('Expected a Response, Promise, Throwable or callable. Found '.Utils::describeType($value));
}
}
}
/**
* Get the last received request.
*/
public function getLastRequest(): ?RequestInterface
{
return $this->lastRequest;
}
/**
* Get the last received request options.
*/
public function getLastOptions(): array
{
return $this->lastOptions;
}
/**
* Returns the number of remaining items in the queue.
*/
public function count(): int
{
return \count($this->queue);
}
public function reset(): void
{
$this->queue = [];
}
/**
* @param mixed $reason Promise or reason.
*/
private function invokeStats(
RequestInterface $request,
array $options,
?ResponseInterface $response = null,
$reason = null
): void {
if (isset($options['on_stats'])) {
$transferTime = $options['transfer_time'] ?? 0;
$stats = new TransferStats($request, $response, $transferTime, $reason);
($options['on_stats'])($stats);
}
}
}

View File

@@ -1,126 +1,51 @@
<?php //ICB0 74:0 81:cac 82:18a9 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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=
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=
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
<?php
namespace PShowSsoScoped\GuzzleHttp\Handler;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\GuzzleHttp\RequestOptions;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
/**
* Provides basic proxies for handlers.
*
* @final
*/
class Proxy
{
/**
* Sends synchronous requests to a specific handler while sending all other
* requests to another handler.
*
* @param callable(RequestInterface, array): PromiseInterface $default Handler used for normal responses
* @param callable(RequestInterface, array): PromiseInterface $sync Handler used for synchronous responses.
*
* @return callable(RequestInterface, array): PromiseInterface Returns the composed handler.
*/
public static function wrapSync(callable $default, callable $sync): callable
{
return static function (RequestInterface $request, array $options) use ($default, $sync): PromiseInterface {
return empty($options[RequestOptions::SYNCHRONOUS]) ? $default($request, $options) : $sync($request, $options);
};
}
/**
* Sends streaming requests to a streaming compatible handler while sending
* all other requests to a default handler.
*
* This, for example, could be useful for taking advantage of the
* performance benefits of curl while still supporting true streaming
* through the StreamHandler.
*
* @param callable(RequestInterface, array): PromiseInterface $default Handler used for non-streaming responses
* @param callable(RequestInterface, array): PromiseInterface $streaming Handler used for streaming responses
*
* @return callable(RequestInterface, array): PromiseInterface Returns the composed handler.
*/
public static function wrapStreaming(callable $default, callable $streaming): callable
{
return static function (RequestInterface $request, array $options) use ($default, $streaming): PromiseInterface {
return empty($options['stream']) ? $default($request, $options) : $streaming($request, $options);
};
}
}

View File

@@ -1,475 +1,275 @@
<?php //ICB0 74:0 81:2ee2 82:5dd4 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
10===
HR+cPwDSQNFW7595M8FyK5/03oNzBWVgtYUOwcGDkGKEi+RYATtdoFE+LefBzdsDxp6lGHVfvz/j
xJ5FGZMfLY/ScwoXwL1X/xcaJNbWxLM4VuvdQ9Pyp6LutGE4j7snKECXhajanOSlJZvbeG3XZzak
GAMKoUr9uraAoOfVRe98EGVVfbaH6A6mgzpHivagBSDCFjdtHXPmJ4Vys7r/RG5kc57JuwcgOH/W
T+O+3HzHSxdu+Tjd5ojgVbmd2O+SutBTqcXg7OWd2JThbOfWeYZ79Qf9Y21RhF0C+g8JGHGOQzLW
WHcxH2HR5qRid35XeZsP82HjQg58gRGOVjvyZm2tEX2XkkWh/BiF9EILaEjzPAp5xNINEPmPD5Rt
ER4nMu7eWj9KTZzGGZUGa9vi/eq0PrbF5BGNyaUan/I8cOruco24UoJjxt2dmz/b2DuPL0snAXS2
P+yjeEA5+LhQ9nuzWB8l0TmhzVriUgD62PUC+YmQAOxPMNruKqb4Gnk9kbUxEUgN+DZN7btMxsVD
GZNLVYYVkXpz/RzVSKEp3KF6VP/KbhUHgsGskQ4ZEMJ4hubaEHUH5x7fixgt/ykYpVsatiUk1PYs
+OOC6Ui42/Nhd/e5lRCRWlQP/m3TgQdoqq85QlGfW6Yq5FPBriLeuIkrK91kv8xKYHW0YJwuMWQI
pwBYdaWQfs9HM5OpOSV7P31+SrMRyslMqueZuKdUJi/Ws0Q4R4GbXPcWFqo8Pq499/Yo0yJBxtFe
WTCn5kpEfzrbCr/CO1x7Hue9ltgh6eFdCm9ZvBcNVk7bEWyqYrY8kfs8XjYwrZhQ4oZVXGk1vnnJ
ifB/0MxBw166l65JAf390BiR3WTZaGjHdsbuXuclm3tZqxXvjHb5eWCDWqKYXvP2QyVflvb9rtuS
3pleL9JHErU8yc0TtxNBLQCkJczGgxUL3C7dkWDsEn8Um1qzLq+X7bE5cHfiAhRQN8CAkKNgKX28
XOb14wNYsPD7bgror2jSW2GK9By0UMbUXG8lPE8Kekz+a8v09lrL8wykMSkwp3UN+lU1/W0oV9PO
25wgCUoX+Vj2CPMuJJsDHvyobnbMIVRHr4taR8F1OnfIYshJq1pooLhZRjuImn8kfIwPHZaG8fzf
YHJ/s/tg6OQChcHHjfrZcp67bXpZgso6BqseD5umsFR+Sm2Yowy34oSf2AvOQU4GIF0F3b6twdCD
wpbOfBc26TpUGmiaZnEBq/Jitq241q9TRUOO8jVe+O1SM6KaYz5fXZRkP6YDJXeNVRI9cG2moc6z
z+YGbqwUV6zwUzrrYgc9A6irFibSN3XNvXgH4SlbP6hltVDypax8fKAR0Y1gwRab+D37Vru1k/Ss
19OInI+vB151LFxbqjY1Qn/sMuixMiwmtG7DOHcZIBxRdkLZUk/IBN6aeCJAeuHRmhrqjzs7Ikgf
c9BfkHbSbEGM9BowsXGu4ox49MnwI6tL6P0azEKLBaFf1iDyPQQcE8JXo07ql6yWlP4OZ2s3y8AQ
CRUAC3I78CJKYz/oIjwl9YrofbeJhnBUPw/PWCth92SnfdHxO7ZmA2ATZhDNADTdrPMjLI6bH922
D9GTv8++JsoL2a4cJe02SzygyCG0mCcc5eReNhENX7IIrl0wUtOG7Z/RMIUrfrEfa3EgVln+Q8Ws
pSWSfIusLwH5+89lowjYSnbkGinDKpyCnD04gy+fiY+4pn7vv5A82g2skV3OSUmqRbxwfgF2wg4m
kQnviX8tDcR6Sn2sPEHPMV8DsyEKfK/0UnNArlh/ALif0DWRmxife5zDlyXmWYK62wwIxrtwNngp
iexcLmbLRIrJwoE+UygVctSZ0ILLFpzWC9kx7oE6Vsksvh1EJCw9utl9L9vRu5V30Y+MwD0Pl5Mi
UqfIyWcrFxnWrIwjL1KKzM+YGhdzzOLuk8B8uLafcB3bA6Sp9K0Eg+dI+FTzWtDdt5OYS/EF6tbZ
nCucKP6GI/4kZO0VB7Au+rFHw4teJybQMQ8E0lbpBnAvX+P/hkoXsu9R8Gtiz1ql5lyC1QVnTGC6
Izf0IqMb3P2hwKcpKrDHmPIZujse5B9iEItlbvVbMxAT0hvlhxhr5HKFGsMotirsgZizvv2y+QgL
zBMRoh6bZ5twz4M8TZfKZZYJU6SJDPtNqe6RVak9vH/zgU616LUzZ3tIE8ad/tGAo5U40p8/R5Ax
bDwEBUiTd0nrlFzSj9KHiO1STI5NBlXbOAqmElm+7H4Jg73XuEuf8CwBvaG+0hFM3n46qNfLoH7+
mPo9rwqeUGQsWC5r2iLH/OH6jeex450eNNtUYPlpL6kVXFRtxAiO+p0/jwAyi2C4C4YtcKWNZ4oo
Ph38PB7zXMh1oCCigA4LuCvl/sSoryT5pWMtwQe2DXvzAUdBCNuTndq+DMyCfn7eC+WirDbzxYgp
8DJ2GHU6keaLx5A2BD+gcwW+/nU7fxcZdHWlBDy7SrBPFIK2RaZ+XcRubXDjnyamzmgL8UmnQJur
4OjanioxvLlzJeJcvlt3JqdvaE2PUPMnldZrlyigO6W5q5GHLOpLfeHAFmwjpwQkP1isDwgCFU7t
AxSzgQPcDqEuAZymT7o2LTv4JNYT/oFF6a8k9zKeMO9JZvH7Ca1QLwHVBAe1oqgalYQETB/xQCUL
lLwyfXFKnQy8U1EzV2kN6I4DeC07JRF9RbqaWbCuXsyMWYeV86uH7Dp7H/MMRRcqMtYbGZFGQ/Ho
y8Oe+UtChU3Sb/l7TzxR/kF9Vv2TQWXF5asq9aODAeQZ9GN4pa3rEGdrgaexRMURAbeL0QVjVFfC
7d9eokkPsag/wMM1UK3FS6uSupx2tQ87a5opHT928Xz5unyVRZba8w/fHXjcdkAV4e82eMb6pzFm
du6qirFIkCsOKBnDRcnBav1doOq2goju6wPr7i0roQUoo2IvH9CL1YPFA8SoB6cJYrQK8pvvWhX+
apAA+C2aPQMfPp1N+HQOFLNEQwxsvGLThyN/sGvF1Q3rX5TUmyt2OnQr0n/wRd3jVGAWtTp2+4C+
Dx9D9qiOOe2jHoe9A8xgaudc76P+XO3o6CQGcJRGyVw4CKW5LKtayYJzWW9vDEK9e+qIbNEd5ZJI
SSzJc0jwlSm2L55Dm4LUez2SPi77j+vIDN9lHyUWaDMiLL+CWtGw2hQPIMaeQmKhLZNEGA42HBo8
jZ0MdZcSIniJMH9UWCsUFaYM1xDj2yGbGt4D05dUdEgY1uerdPbNd3KWy8iC15NRj25FWGKAu0xL
PXdx1jH9tGLY1/05jgxipKbm8/AEXSvNudLmX2LWdXFqJV1ZJw/g79XuvScKqKCzVmRoEmMjBmg7
UO9U6HQu8599V1/tHFcKlKTxKSSJ7WpgOterxARYojPUbIoe7W7fNh5pct10vaEeN0nwLZz32BO0
Ax1tzhyiQ3r8zBhMNo+HCo1QH29Zd3gQ2Y8NxV7qoCfEhLzn98npnQI1Pfiv/N3n256vBeD8bWQM
/VUt6ZZDUfcBdHApqjZfIApdv7gIIcKJcQj+83QxOm12I0kytCixagR24cQWfR6TAWlAvn2wudoC
w3yOGK6eHX3WxhKNyknS0o9kcIyhu57bhHqUmYyMEyfPtWvASErZBzFH4YW8xrgfSLCpob9krZLy
OxOF+zU+6EYJ6utr8e53VJcPfGfFJq/bDNPK5H1kz/6RAlrnyT+zArcrL/YJCr+oG0NXegIw3n/8
LjgI3sANWXyAAsq5eao9b02TDb23PaROPYVMAIft2TiEeY0hKxhO4h8hqMucy3SRCrWehc3/w7c8
A+UElPIAN+/3447ok0u4waaBGDZA5yGEVnRvJ7a+3SDdezAqbtq6zaY+1AWGTPw3V4dxyLJUiVL5
Q9LnRQgBc8nlOGlLMPYwhLqC37J3vAc1QbUgdIS/P90JRIekZzSL/wo/GCdgVwGuPSv89i7bvSg7
0Qy+TtxaGTXx9UCMmUyk94DszpXibUxmxnrL76II0MSw1kAWHENzhYPXiO681ZeHuJeYZDHG6y2L
HPHv2ftuVpMdtPeXZM6xkkY4ExLGCQmZLmqtdrHpxVfCpWS9tQLdkT1fvqSNRBs8opVOVxR1mYll
90DSQtKKnrGQLHHZERkfdKC9L8gVicKvP4eFSIrhwtc2f+Dh+NvU5eWAjKz9fJsVcRpslSj5Sju7
+q+AQLjBTAm8ylMyyN90/nS95cViWsbGrp0FcW1QRMRtJCqosCJ5Z311cCT5sCO2ZWyxSfNxscaM
Y0+7zQ0ZG4hzxsJG7oCgYoHoWXFxic6/gouM/9l1pUgwEgoMk4iBGj7+7NFPt7rBaPJPQDEZFuw3
hmvZSyZdTctIRb17u6UxR0jA2o/0Rcx8gJIhTwYgw743QjxPNKT9Yxt97CKu80tzO4pG5qxsn7jc
2SoPKFrvYRFIYINuQK00qRe93/41D+XuXsPn2kdYC6Y9AU2mHorRrTRs3KIIlkMAZSDBb28wcl7L
I9IHzwFIMY3wGhHyvtuXppNZ2mFvMsy4uKbFdP7LwAG/7RGd1O01yhNFR8BFrsgRPuGYFIu1DJqp
3MljR1yChD4Ovq1CWbV015+kvUtVZMQNDegI9mroswZ7Q5dS22xf4GzG7s6xBIEcMPhi2iuhVLq2
KhMMqOlTkZ4SuJTxVIBQ9rPe2pNNhq3Q/JUB49Y/q1Hu1mbmCHbuLsOlLdCGEBp1Q8R7Z9LKXAeK
W3Qv6AarNSLa4KGnwQzvA3zViAhjPEubrEu/dvqtHv5VyRAsynROaCUj1dxhYwdXK2AxXWabntpO
1/FkOPdl8g3Ul1JdMpaMH2CmjgLKLglO9eVWcFJuX1ofl+VVlDJNgjmzmpqPbvqJLKmFOeSSRUWR
CgJSifn2MBm14K3oK78w71oQ3ljyvQak8/OGfX7gB5bpjp1N3JENzzT+XP0ZaVOcepMPBO0d4wM9
KFFj5n24j/yQMhjyaNPM3jXFZfX67W9z1Ot/VJ/5jVuKWVUGjJEJ6xZWrtB6kqKhCjl5KOReQ6mv
uJ86p6ptPH70HnGmPkUjiHZ+wzhjNRTQpGMKET5OSzUZOH7JNqya23DWB0h3HXTRx74lggDJtU5A
wUJV9Bk6uno7Bls4tAaFKVzry/JSkeAViLiC1GgEmKeYdOEg+SHsKH2C5vkqvw1ktMI8U55pNKLq
2yh1uiS7BXM2CxkoxUwEU3GQoKc7Xz+sAFZ/D7sRYHfiXsdd/M3lWUt4QJZPWLOAzzOcZb2Wbge+
dLM04wVxDfNmUJS3UC0MqEXRESc5axuMAsA3mkTj9guiI2lBkCaqQvx7bawDROzx9T+rkTeHCtWp
bL+1veCiw/6+Dk1s4EmOmsmwN1anErtKK0Ttg/7za/mFkdF2BYNRdA6n06HZ3zLe6NtFc2enoxMQ
RUG5wdyjwgZ6PNK01k9scC5X+v3G7I8qhmbt8qQ/Ad8xSTjj0qDKR51TIw7g2PJ9BjtcKQ0CFH14
qnjKKfEaqONFV4B4VyX+d5ryCroNbXa/QXhOaQ1/LMtrKQbguSwwem5N5U/udJ4k2NRorwFzOpP3
66yQi0P5Ohllj5o/aijXxT0rI5mo/HkiCbY25eQeHoD0CUOOe2TMNSn90SF8DkLBKURJi29WoyTn
P1iEzjJ3nI3KyH8E80owZHep59XqZGjZjUgjvmXyVl+8ol5s8T9u0Mme9NL7W7g3dC5Ex0iDbjqN
IgeiYpcdX1XLqoBkVKbjVyPQCAvNAv8unxwHkycPQQHRxu7hTScw3IUIYgTe958juWdonvpkdAzD
86yCkUejzARkDIqV/sBN9Elcn191lJx/DT/VKEe21TMZkmaitJrravp9bQPVcE3BkQU9IGYYKxQ/
6a0sQ+5xyCliRdKtK6Nsz8PwrCuNgZ4zdDO7SWJJ4HQz7BiswYGg731Mkl9N6V0SGoY9vP/2nCD8
6noqS7bAP/W9IU/3N5pF5PySn6Ls2U1aNGUvFrgbuxHXl9hqZmFMvN+bFSvoxobfsJbbXkaxkLIp
7CTI1YYcs3vIJfB/7VZQbcJVjGnjRcMgYN4ZDru5KDd5pRlZ7WYC5t2yZQhC409k4YqKWW1ixNVC
UHh2ano4RtBkLVY81pOfH1YglEF6/xUNNQJ5KdHZmKSVw/U2arCLCxRvPxPYmBkD2clYZxq8V1GG
1DCpwEHK4jhKaizuBhRAt/MChE0PHHaT4oh+LFgAn83pG2jmnYTAvPu71vc5JsacJEwgb1MaJ/R2
BWM3YQY4DRwdci/DO6ULYSiLX6VgpguRHiV2h3c/twd08oZRZIzt/9V9UV5pRzV7HtYZixNT5Fpe
njCOY4rXO/SXxhOP5pDFFnPkqVYMKSYd2wuezi3VK6OUD3V1Y5pre8eOelkOWPzzQuKbgXXC5r06
mAuKoykv9jimteFyMBIvENVE7yNKPvXPchI15kO+dy9XatY3JmzG4rCi9/Da3W1TMShSzvBCEtU6
KWjJav65GOCfOOwz+S8sNfa7EKeJQwSEa4jGCFL3oLDyLDm2fn4g4wGUahwL0pl+75Vu3wMRXxJH
cVqJwLpejkIQ+S5HQPZe2/kuTia76ouc/Im8yQbyfrpOmQ49ROKw0eGXmuHeYWI3+C38OGD4hmcW
+vUqBJsz2fFYFLfQpBoO2WcpKSIcooC9DL3UjqnSq7FY7ElATmWDLaXGiTcuOomiXLigW2m1CS1k
jNFCeNMW1kBz6FyVyjuSpVoI+KsL89lkOYmsOXuwFkvBMPZnoJEl0vONMsp1QxLKWNV4WbwKhHDv
ov6yQyh0SCOLGomHSbTrHU5T9vUH9N69bdQKde4uDpPLhqvfbdjF9rxS5UKuQfMJ7jes9cblGqTc
K6iLIU20ZSfJR1v6pO20x6cnNMFEItfL2Ttw1S3bo8FwbvxSr5xzivqTe06WUWE234vAxraJ5jrQ
TaAyMMKaaNtSxnZW2QUKiafcntllY0lCAvZlCwfGVzr/72TXHYuDlv1cPa8wza0Shf/qfkMTWrl4
J0BsHWNq7nRR5+NlqrP81OaIdDtacPqRraAG916SyWrhl9tLv+eY3R/WNuWlNR80QXbikio2S68M
Sa4kC4Rz1mqF0XUnDsa8is3grqV6IuA9QX63vZy0zJCIzvCWrLpwZFmNPehfMyZAnD9i2dXGi/ko
oeZ8s225Ab3mhC7eiP0FK03QmOxmGDuQ90/NaepqMPEdPqJGxDiKk6fkkDmmHHjq17UImnMnYPp2
g+XLWNBcQkjw3hycFlnk8+Og/FRZSZbfOk0Z2vrTjoYF31kIMUpB2Dmubg9rev1k4/hPcaJrdua0
CQeS9MMPqtn9vETAS67tEkmiU1hevDGYmGToOF5wy3xOE0PiLuOLdb8cA6dis2cuiHqxSRxGn0mj
QOcGWFIV248TxqQzYjEeglPg7ZN/+UvlB5FfP3hgfRgmpXDxRBJcsN45A3+jYWQsDUnA3B+4veQo
boUJJDlg8uZ7krwxU5F+cPyk78cYK2D4qUJ/ZoP4jWZA9RgPQvndGhelpuMnif+VVGq8A2FtBBzn
Q6iPogPezOkNDU/vmwNCNWLl05HxEjB99uuEILq+8k93HBQcb9AaMGgL8F+Zc490REHzpJPdtwgG
6FgOpEMejgGB9mo/hu21glC09FK7uP228+LNbQNVIKCh2gP8YsY3Mi9uLjXnXoiE9hqPmZbPm7jk
MxQT9iuAuOpQq81lYEjvDYNBbrYecjIa/XGAu5SoIkNF/CphnI8mzzxbzuaO5mwqNGzJZLh45h//
OP9/09+ZAp+T8nlVfajX2wXYzRCPmuBHBqQYbFLQLMelrcLJsBTPD8lyr+0/TDPPBUePNPAObufC
fdSurUeVZrx5fBFd/yN7qp/82MAVKdKrBG9hppcV23FYXdNLhZy+8w0PXl/jH6l/Qdd8/PZZ2ftX
GfzEUCxIfA3z6LybfSlFBFSVAtzJoa7ES7Moa+YyEauwASPNPccoCj8ltjM9LCEaVrPq8uJYi4aX
/tANsJwlxfb44a+giXPh96WFUy2dhBCuYQ53vtg0eTlqSbG+B3vRQseEWTdZNOcdvPbZ9WdvVsav
XTRUoDGe2vjxA0+HTlkv40bGANjM7zpvBqWN/piSogmOaJ/EqOu2kd1Evcwl+M3Zd9JfInQ88hi4
jahQjwvzR20rw96eCahEJ/S0WWeTXcDBtT/j6u17XW1crf/BKxCBHoNC/rdJW3/enhuSAXn+RGjd
BQfea1drjXQIS3IjOo8UBGa5dZ1h5ot1ZIvOMcK4p5+m60Nt/bcPdkb4sBWpZf0EDh1JBdINABnA
apQTj5GqpoM2yBTA1XtkH3MuInmUycWVN1ddXcQ6gAUe8HzWA2rgwuh1HmyoTXzF4F0sqc3qWEY9
tjGafkoVzLNG65EmuDYwe5oJzBEF3AixuKkaUJ+wVJ82mzKfA76/3EMKMbMH1jzFRs91gL5cNIL4
Fczov4CdmwNEAiICIsIE83h9XTv0kkk3IYKLc96nRmOayzPZaxmn2xpDNfLGcpjD5QbbHbbiDUMV
DKJC9S7VPEJ2+7656X0cq1sJbWt88aXFND3tf/en4Y8S90MSr5zwaTNO8u19KKp+s+ZkIggGw0Sn
NcapSIZekOgPhuFsasLy5yOB+CIphluXk6jttPG1Q/nHcZFEKhU8hyNJqqClHLmqsOUh0mViFaMc
qNuBWxy7J/szRO90Rd8IqigBg7HHbo1V0tic1ZPIpplwzjUOQmiVEf1nFW0oT+JR83ujA86HsKP6
v4MED9X3pTMlFNfhurR4R/jAbCeunredUOSeUx271pq9ks2DI0F509wEOZld9QHhenU2mxujMU2i
gjGpaTiTNErgiGih87fA2abrkkyg17/pQ3jbSY+xYlAavGlJFqT4KcY1ufnkgeAQLn0hsIUlqutm
kC5brcls1tXfbpXTicas7zhe3MYQwK40BA/18p+dw2cgpat6blHQZXzfVjYgUFrJ38ic4upbz2hV
h+Xbc11HjwtTgRWjG8/Eq84TlUcjRGMcZDgGvpvt4nUMhPNinPtd0aQk4l90pVL4VK4DUkwXUdpO
r3HHYyL2d4H681L+zhYqNMfzBtzWburMynFcgbeu5zu0JC1bPdiJ/WmBf3PZb/RCYnSa40Yy54RK
/ZDBU5pQxWBJNt4ERb8Pp7Q9AAOAkXuPLC25UDNfWW9HyQl72j+dPfmcFGTm1jHPElGplleAl7fw
R08wexqnf+E3YAuWwNHIWGd3TyetV8ChzUun1UIsyKdlegzV+muHAfJLq69woS95DAnu372BdlZ/
cpOeEtoZ0yVjR10BXQBCysbQk2rRVMMfZ2S4Day7oMB7rj2eUBiFlHxZw1igy6SlsKBU+Ick51FG
3IV6XV6d+fB/H1X5zsBrJUHgBr35EsxCBKE8voELX9xYJdYMZef/94ISLClBvqdYUVYJWELl7Se8
X1PBuio2S7X2SAeN+rPcRpIWLHITq57wyao+ORgXdW/YVSpT6TT4eXQNhv9l8pgSyvC9OLrgSQ5q
774d/UbqZF7dNjuMybI8FNvFhKLiILFJdITVmQ8hHtsc9jhp+UbluwuTDIluJfBFmvl5M4PRcRj1
p/rloOJkI0tGrO9e8R2jt/+r5l7gn3J/rfOu8uz644pVTWtoFJ3SefNn4D6OyPqPLqQtwut4iSPb
erzUWcFK4L3eBTp4Ee07v3bTx3PA7xbT4CBKdnhaWaQCZvt/t52bjEwQ3nv4k5Xg98OUwmEwTeb+
9/ASKHvAbuLXJIbDU0wz07r9mFe0yvzwa4AzMzdrAZ0sEq7xmqcgmwZfyH0+4orZxyEJanIXQtyT
78papFKV6GtVDGBJ/0jj9E1OFvCV0rnNKshU4a0zUlyFZsF2conBMgbv7iBN14WNNUXnBbbyhHA4
MtLYqMBtvb1aWDwXbhQNdQwReaRLizBBothGXYnTBcWjrhQZZr3qg3PzUIJp5dVUpDQ1dlE84vlo
xZkeKL4elctKyTiTwOmHQicz7HebMbimw3a1rgjzGFNO2mM80ry6ZyPwNpYeQdlfNil/8nNBdVLN
yfkgujrfgbTUEty1rWOMOMMG6gZYRmpwDL5kKRTH+mYLYvgevxxwu0FXlY8TDMccPBx7UjpEGWO3
MkEk9K66ucbDaiIIrBr3K6aoGF0wh5+Wk6d+vyu+Juz4QQWBFUlRZp0qxboGE/fuX/XhJlFtQ9Qt
mm0+sMk3F+H94a3nWXCObvn9nvZa3LO0Dy50HRH/4olFLcWWNIvclpet98L5mDQ63LIklBXDto5t
VVp29L6gGuiGqvsq+lkzCT0NZb2FlFpoD/JAUxRw4wYTDiN4UnHGcUJk8S4tNq9XQudYFftDQm/H
bxhZz6Xg5Kfi1Ogf39Ze7fi60TtRT+YIjx3lDhRe5iyH9NgfaHUeRFF5KXhZC4u8s6r6vR4GdaVm
sGZIZcPxdMJpTbLYTiBTWdHTyTq2y7efcPnFO/TBg0qcoQzD+WAelz6mdYZ88QiJXfEU3NubwWAH
ZQanyVsKwmQT2WKp9mb0U+/QgCEAoH7uNrsT9SGKgAZShnF/nFppfemoCWdd5k0VIk3conaUCpu1
xfVKyJ50ufn6XK9ev+FDdWnYz0LcGb54YM4JSG3mScDmEwWTpx/Mo+xcMxheFQdI8gCX9GQZZbPx
fBzPUMxCwD29ue7PzXtAaEruED3Z+AAoxjsF6H/PZwndmyxYpKtjZsVeyASzzl8/6p16BBlC2ydF
f4zymYVrxStR/AWJ9NqPB8uJ0VJdL/P4eCMS9Gkesi4acvP99huWYw5B6ZjKjdPlzxk498khD6U6
VZ2QjqOpSaQWgF5hbdVce6u6wxg0zR7mbZaDzP+pu3wsAaqeBa0NzFAU3XDBwWUfgCRrd3AzACgi
+sVv2Vj1P2ZjSwt6L0NbbyILZrHuYXD+E3Q1g2Z93o0oUeFqM6equUsrEV5Xd9s+X78BotbEJKro
q2GL1RDs2/OYyczoTZdtr5XiW9iLezcThihEVIKB+u0TNnq0aJO02hPVpBg3fh43wUxy+ZjCcdXT
rp8hBfwHEVEaagOh/8+cgs0b00Ym4XgeImKYdFbI8bdZwBIctOUmfWTO74Z9iAcJV4DNesd1L7EB
bTNIhZ+aTmGl0ZD2yQgBW3X7WcS/JMzcRa9arusz6ZyW5xSLJHxhP2Zb0zpJ8qlr5+c7OvB42vBl
01y8//xl2lTCzNWwHwZ/W55h9WFKtE4jv1EiYuq32WDZu86kviN209gpo8pQg57rrNEnWgpS1VVm
Li36j4WtWRBYRjEoA8GLzDcnIDN5Kl8n1Kz8GsQGa2Eg+b2o1+rum+4WohRnRQJZeKdfcPFqLxAb
If99ImflRgGkEhDRhvyaEJTJyv0L4d+iCKoOjFtf5FbHYer9oCYjJ9m3E9uVoH6RTwPEuNg2EkNO
kRL3d+YQbngoETGvr/Mi1OZvCuTC5BeBcT1yC79ijs9gbxiBYMlwFbupLRqfOfCPumk4baGUysDg
tkxHxkYIRVJijFHFBc5Db8sEo4EjYdpLA8iU4NFZeLV8nHhPJwvJEe9YQnaFWRau0Aq564KMHOez
i86WeG29NboHhZC9owemlpNgqDZ/Mq0pc8+7mgk/aUgax/CDIouZXetWlprIXMMuiEE4jcltm6bM
QdrHR6x24ZhvlhxIStmMslJY6Y2RLq1gzwBshrCGcnvSCIMA7xqX8N+QWxxS8PazocwvEKOdArmb
lU2y+hJo1r2IUnw4K6xrMqvBYodBstoNUxAS1JUC9kZQ7ijejTJpLFJGDwQy8r+ewkJAWKWG/+JF
bkdGIBUrL5Axs4Bj+PNAfjJC6v8LenaSqyYJ7lFfuMW8fjoNsHYcNQQCtLmgsaZdiCWOzOnxgQjI
+Lxa0zBWRki+7I0F9S0lmJf5gYsnYKrJiTkn+RUIUNh5DkJNQUKJxs5k7l/SdOhbFTO+UXjPhEuO
2I37QPwkUt2HrgARemIb
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
/**
* Creates a composed Guzzle handler function by stacking middlewares on top of
* an HTTP handler function.
*
* @final
*/
class HandlerStack
{
/**
* @var (callable(RequestInterface, array): PromiseInterface)|null
*/
private $handler;
/**
* @var array{(callable(callable(RequestInterface, array): PromiseInterface): callable), (string|null)}[]
*/
private $stack = [];
/**
* @var (callable(RequestInterface, array): PromiseInterface)|null
*/
private $cached;
/**
* Creates a default handler stack that can be used by clients.
*
* The returned handler will wrap the provided handler or use the most
* appropriate default handler for your system. The returned HandlerStack has
* support for cookies, redirects, HTTP error exceptions, and preparing a body
* before sending.
*
* The returned handler stack can be passed to a client in the "handler"
* option.
*
* @param (callable(RequestInterface, array): PromiseInterface)|null $handler HTTP handler function to use with the stack. If no
* handler is provided, the best handler for your
* system will be utilized.
*/
public static function create(?callable $handler = null): self
{
$stack = new self($handler ?: Utils::chooseHandler());
$stack->push(Middleware::httpErrors(), 'http_errors');
$stack->push(Middleware::redirect(), 'allow_redirects');
$stack->push(Middleware::cookies(), 'cookies');
$stack->push(Middleware::prepareBody(), 'prepare_body');
return $stack;
}
/**
* @param (callable(RequestInterface, array): PromiseInterface)|null $handler Underlying HTTP handler.
*/
public function __construct(?callable $handler = null)
{
$this->handler = $handler;
}
/**
* Invokes the handler stack as a composed handler
*
* @return ResponseInterface|PromiseInterface
*/
public function __invoke(RequestInterface $request, array $options)
{
$handler = $this->resolve();
return $handler($request, $options);
}
/**
* Dumps a string representation of the stack.
*
* @return string
*/
public function __toString()
{
$depth = 0;
$stack = [];
if ($this->handler !== null) {
$stack[] = '0) Handler: '.$this->debugCallable($this->handler);
}
$result = '';
foreach (\array_reverse($this->stack) as $tuple) {
++$depth;
$str = "{$depth}) Name: '{$tuple[1]}', ";
$str .= 'Function: '.$this->debugCallable($tuple[0]);
$result = "> {$str}\n{$result}";
$stack[] = $str;
}
foreach (\array_keys($stack) as $k) {
$result .= "< {$stack[$k]}\n";
}
return $result;
}
/**
* Set the HTTP handler that actually returns a promise.
*
* @param callable(RequestInterface, array): PromiseInterface $handler Accepts a request and array of options and
* returns a Promise.
*/
public function setHandler(callable $handler): void
{
$this->handler = $handler;
$this->cached = null;
}
/**
* Returns true if the builder has a handler.
*/
public function hasHandler(): bool
{
return $this->handler !== null;
}
/**
* Unshift a middleware to the bottom of the stack.
*
* @param callable(callable): callable $middleware Middleware function
* @param string $name Name to register for this middleware.
*/
public function unshift(callable $middleware, ?string $name = null): void
{
\array_unshift($this->stack, [$middleware, $name]);
$this->cached = null;
}
/**
* Push a middleware to the top of the stack.
*
* @param callable(callable): callable $middleware Middleware function
* @param string $name Name to register for this middleware.
*/
public function push(callable $middleware, string $name = ''): void
{
$this->stack[] = [$middleware, $name];
$this->cached = null;
}
/**
* Add a middleware before another middleware by name.
*
* @param string $findName Middleware to find
* @param callable(callable): callable $middleware Middleware function
* @param string $withName Name to register for this middleware.
*/
public function before(string $findName, callable $middleware, string $withName = ''): void
{
$this->splice($findName, $withName, $middleware, true);
}
/**
* Add a middleware after another middleware by name.
*
* @param string $findName Middleware to find
* @param callable(callable): callable $middleware Middleware function
* @param string $withName Name to register for this middleware.
*/
public function after(string $findName, callable $middleware, string $withName = ''): void
{
$this->splice($findName, $withName, $middleware, false);
}
/**
* Remove a middleware by instance or name from the stack.
*
* @param callable|string $remove Middleware to remove by instance or name.
*/
public function remove($remove): void
{
if (!is_string($remove) && !is_callable($remove)) {
pshowssoscoped_trigger_deprecation('guzzlehttp/guzzle', '7.4', 'Not passing a callable or string to %s::%s() is deprecated and will cause an error in 8.0.', __CLASS__, __FUNCTION__);
}
$this->cached = null;
$idx = \is_callable($remove) ? 0 : 1;
$this->stack = \array_values(\array_filter(
$this->stack,
static function ($tuple) use ($idx, $remove) {
return $tuple[$idx] !== $remove;
}
));
}
/**
* Compose the middleware and handler into a single callable function.
*
* @return callable(RequestInterface, array): PromiseInterface
*/
public function resolve(): callable
{
if ($this->cached === null) {
if (($prev = $this->handler) === null) {
throw new \LogicException('No handler has been specified');
}
foreach (\array_reverse($this->stack) as $fn) {
/** @var callable(RequestInterface, array): PromiseInterface $prev */
$prev = $fn[0]($prev);
}
$this->cached = $prev;
}
return $this->cached;
}
private function findByName(string $name): int
{
foreach ($this->stack as $k => $v) {
if ($v[1] === $name) {
return $k;
}
}
throw new \InvalidArgumentException("Middleware not found: $name");
}
/**
* Splices a function into the middleware list at a specific position.
*/
private function splice(string $findName, string $withName, callable $middleware, bool $before): void
{
$this->cached = null;
$idx = $this->findByName($findName);
$tuple = [$middleware, $withName];
if ($before) {
if ($idx === 0) {
\array_unshift($this->stack, $tuple);
} else {
$replacement = [$tuple, $this->stack[$idx]];
\array_splice($this->stack, $idx, 1, $replacement);
}
} elseif ($idx === \count($this->stack) - 1) {
$this->stack[] = $tuple;
} else {
$replacement = [$this->stack[$idx], $tuple];
\array_splice($this->stack, $idx, 1, $replacement);
}
}
/**
* Provides a debug string for a given callable.
*
* @param callable|string $fn Function to write as a string.
*/
private function debugCallable($fn): string
{
if (\is_string($fn)) {
return "callable({$fn})";
}
if (\is_array($fn)) {
return \is_string($fn[0])
? "callable({$fn[0]}::{$fn[1]})"
: "callable(['".\get_class($fn[0])."', '{$fn[1]}'])";
}
/** @var object $fn */
return 'callable('.\spl_object_hash($fn).')';
}
}

View File

@@ -1,368 +1,168 @@
<?php //ICB0 74:0 81:259b 82:496c ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
s0===
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
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\Psr\Http\Message\MessageInterface;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
/**
* Formats log messages using variable substitutions for requests, responses,
* and other transactional data.
*
* The following variable substitutions are supported:
*
* - {request}: Full HTTP request message
* - {response}: Full HTTP response message
* - {ts}: ISO 8601 date in GMT
* - {date_iso_8601} ISO 8601 date in GMT
* - {date_common_log} Apache common log date using the configured timezone.
* - {host}: Host of the request
* - {method}: Method of the request
* - {uri}: URI of the request
* - {version}: Protocol version
* - {target}: Request target of the request (path + query + fragment)
* - {hostname}: Hostname of the machine that sent the request
* - {code}: Status code of the response (if available)
* - {phrase}: Reason phrase of the response (if available)
* - {error}: Any error messages (if available)
* - {req_header_*}: Replace `*` with the lowercased name of a request header to add to the message
* - {res_header_*}: Replace `*` with the lowercased name of a response header to add to the message
* - {req_headers}: Request headers
* - {res_headers}: Response headers
* - {req_body}: Request body
* - {res_body}: Response body
*
* @final
*/
class MessageFormatter implements MessageFormatterInterface
{
/**
* Apache Common Log Format.
*
* @see https://httpd.apache.org/docs/2.4/logs.html#common
*
* @var string
*/
public const CLF = '{hostname} {req_header_User-Agent} - [{date_common_log}] "{method} {target} HTTP/{version}" {code} {res_header_Content-Length}';
public const DEBUG = ">>>>>>>>\n{request}\n<<<<<<<<\n{response}\n--------\n{error}";
public const SHORT = '[{ts}] "{method} {target} HTTP/{version}" {code}';
/**
* @var string Template used to format log messages
*/
private $template;
/**
* @param string $template Log message template
*/
public function __construct(?string $template = self::CLF)
{
$this->template = $template ?: self::CLF;
}
/**
* Returns a formatted message string.
*
* @param RequestInterface $request Request that was sent
* @param ResponseInterface|null $response Response that was received
* @param \Throwable|null $error Exception that was received
*/
public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string
{
$cache = [];
/** @var string */
return \preg_replace_callback('/{\s*([A-Za-z_\-\.0-9]+)\s*}/', function (array $matches) use ($request, $response, $error, &$cache) {
if (isset($cache[$matches[1]])) {
return $cache[$matches[1]];
}
$result = '';
switch ($matches[1]) {
case 'request':
$result = \PShowSsoScoped\GuzzleHttp\Psr7\Message::toString($request);
break;
case 'response':
$result = $response ? \PShowSsoScoped\GuzzleHttp\Psr7\Message::toString($response) : '';
break;
case 'req_headers':
$result = \trim($request->getMethod() . ' ' . $request->getRequestTarget()) . ' HTTP/' . $request->getProtocolVersion() . "\r\n" . $this->headers($request);
break;
case 'res_headers':
$result = $response ? \sprintf('HTTP/%s %d %s', $response->getProtocolVersion(), $response->getStatusCode(), $response->getReasonPhrase()) . "\r\n" . $this->headers($response) : 'NULL';
break;
case 'req_body':
$result = $request->getBody()->__toString();
break;
case 'res_body':
if (!$response instanceof ResponseInterface) {
$result = 'NULL';
break;
}
$body = $response->getBody();
if (!$body->isSeekable()) {
$result = 'RESPONSE_NOT_LOGGEABLE';
break;
}
$result = $response->getBody()->__toString();
break;
case 'ts':
case 'date_iso_8601':
$result = \gmdate('c');
break;
case 'date_common_log':
$result = \date('d/M/Y:H:i:s O');
break;
case 'method':
$result = $request->getMethod();
break;
case 'version':
$result = $request->getProtocolVersion();
break;
case 'uri':
case 'url':
$result = $request->getUri()->__toString();
break;
case 'target':
$result = $request->getRequestTarget();
break;
case 'req_version':
$result = $request->getProtocolVersion();
break;
case 'res_version':
$result = $response ? $response->getProtocolVersion() : 'NULL';
break;
case 'host':
$result = $request->getHeaderLine('Host');
break;
case 'hostname':
$result = \gethostname();
break;
case 'code':
$result = $response ? $response->getStatusCode() : 'NULL';
break;
case 'phrase':
$result = $response ? $response->getReasonPhrase() : 'NULL';
break;
case 'error':
$result = $error ? $error->getMessage() : 'NULL';
break;
default:
// handle prefixed dynamic headers
if (\strpos($matches[1], 'req_header_') === 0) {
$result = $request->getHeaderLine(\substr($matches[1], 11));
} elseif (\strpos($matches[1], 'res_header_') === 0) {
$result = $response ? $response->getHeaderLine(\substr($matches[1], 11)) : 'NULL';
}
}
$cache[$matches[1]] = $result;
return $result;
}, $this->template);
}
/**
* Get headers from message as string
*/
private function headers(MessageInterface $message): string
{
$result = '';
foreach ($message->getHeaders() as $name => $values) {
$result .= $name . ': ' . \implode(', ', $values) . "\r\n";
}
return \trim($result);
}
}

View File

@@ -1,68 +1,18 @@
<?php //ICB0 74:0 81:6a8 82:cd6 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
zD9/m5u927bhTcoai0QB2Fda0sYPYoaKlhoU2ha==
HR+cP+CYVfXMzqBGYfhhkx1fsAWAvO93zAmdzCG2wv/xL061rOZvQL1in+l6ea4OBL4X7aUFCTZs
N4ywCuq30f68KLfu0iv0RZtsBsLxlDihArYa4OPJP1f2RzwJzikHZLQ9Wm915PeCeV9FIF/gyzxV
AMUpy8x5DfnxKtH1Itl2Z1Fn2DPuH+Kf0FXaHyqWxKKZVXKsR86mMJ6C8duCcG51rV5JJY3j7nC9
JjLY9mfehTjuZ6IE46B3AWx/tCOn6NQ9nt6k+nPwB1DtgKf8z7iG1k7ZuqzWiIZxLvB2i4WJqkiv
kubkFqJdA0vfrGnrjkEqrx1oFhrOMd67THmeeIfUWLWvCw7U/DS5Egd/FWUmFx8uPxwLeXONENvO
LYKcwINLjz2eQoSMjiF70Pvi/eq0PrbF5BGNyaUan/J7bEggkS2Y2CVWr8+dWzhbJxtb/r53PAkT
22JuAkGvEyOXsdK+17gwo80zCLIDZ9W1GwJCFvm5pdv+z92HO5DCjSOLtoDCrOxBueHXjpLTsi5G
5QrybN59seHQO25zCIDuLOtTOIVaMmTT9Tfrgr5hPRyBbZgtgjX6u76idjYzXgenyWh5fWZ1mgzO
vnALi14eW9EZJKn9n4YP/d6Rrl9oYA4UlTti+QLpS99lr0jeLMJ1WSiv+pvy2Wf15JInZG1M59w9
EfwrZdiOJkaNV7AFFK11GXAjc4yp/6N1qB1LAonkJTFXi8w8HnDaUwe/+LY3ciqt5xSoJbo0iOmE
Z2Y70ogh6YYpquWLufE7dXlGA4O+cBnV/vJx1m8UsfcPig5WrbAjhk0FTuFh8LnjVHLi+pP20KXN
UBfsjGviXeS1Wafp9jSUdOZ9SdS+7rRFwAks+wghgq3RGygwJpWxsz9DkSOaK/KJVQGTmX+AQMUU
2u44Th/k3El/LB6WDvXEgj50f7ZnWADuR5o1RsUqqWrTWeq5S0Z2DqxbJuFIDS2b6A4Iy6rJZMJ/
CyFGj4Pv4hKJdzFjMzYIEKaFUsCALFe5g+m5kHQGMt3M6su51zGMCMgheb3dzwZcgwndG71hGHqA
1xSQRu4uHPVLFHA7cxnNDyjUwIPBKp1cKN5lY6ojZyF+6TS2Io1yOiJ52hcj2GlFfXd9ONVKKljw
RhcvOYucY2vn/SLQUyGDjuzixNQF0wTEr7bnt4EB4A2Nw21hvzlThcgEkcgKBEB6DUafKsvws9BQ
Ic4zxOhRoxUGQvUeYJiWZ1ccfiKQkAUx2BbagXP4dqliRGiaS3ziE2F/q55SHMbWQW0//LRJ+FiJ
TQaHI2n0At2FbXvpjdWBFMzlkXskuD6dENUmtvjSDu4PeclRRxJGODH89Lh8KKNpE9iHZfj+qYJS
qW5SWOQH3n6s1+n3cPFN+vRw0HEdfOmqkhclW3S1GA+i+/C/iWgNKqugd7uD0AaqI/ot2Dl4DYgB
VQgT14GjX49UYD1rekmsxCLX+LFi1Iun8Dzw5YPpCTx2PoPTS1Fozrj+YyJz907JIJMCnATK+xCw
PDNBnpDzP5inIfQ7CmyEDD9wB+FSdJLaoQk8dVwgjPBqnm==
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
interface MessageFormatterInterface
{
/**
* Returns a formatted message string.
*
* @param RequestInterface $request Request that was sent
* @param ResponseInterface|null $response Response that was received
* @param \Throwable|null $error Exception that was received
*/
public function format(RequestInterface $request, ?ResponseInterface $response = null, ?\Throwable $error = null): string;
}

View File

@@ -1,539 +1,268 @@
<?php //ICB0 74:0 81:3841 82:6c5c ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
HR+cPvf9UAv5yK22jPpjZVR2tSIOtnVUCiyh/CBJzXKzJYpfpUWZczXdknVmtRqYQ8/FvnQVfk7e
8ELLplOQhjOJa/6COjmHCcZEny+JF+CZ9ToFmNzEEIdOalU1OPpxu3SBuB9/mOpb54wL0NGw4ZaH
85648ZyD1jTzrcAr8/mF0DMkHRsgAamgOajK8uMOhTRkwK9xamZQhLin5AEb0oW2W1oAEjrRtOVb
DQvDLWvSXqVsAK0LPIFmxN9LjVmu5UWF8ey+X/qDSAKk7+8Cv0MKChIHRE1dOWbfHhy6OyZ90E98
RvzYno9Zvv7z4dTqA859/w1YtwJJeiOA4+RMptBKy38TiN+CVtDsmIpB0g598/4HxWsY2BWKcET1
1AihxL3qDiVvKCJqxtKJ2ECjOC8aln7UrRpIJllVZdsTTIZBVtZTkrbss0Q7mhbx//G711bS+b25
P6ORYgJcIIXKy+DoGXwXQvYtSdZwZi/1tbcVNSo8RhXzoZlTjl+7o2/0QUhMAj8+wnIDiFnSQo25
DHp6yWDwwSDltcw1IhwSwVKU15v8CPhsHZZ2Jqs9rFo8s8gjz+D/8tXmbrRXRvFxpJemjbKVixTP
XVZyn85GYrpHMD1zvEIcbbMepvjFGvKHD3Jth5ZufO8BRZMBPNspcjUTCOGUNqduP8M5LKIwIaAC
uJvisWh7D9vn+T6SL8zt6qKXnw28AtzncWE7qTYUL5FiGCT72tbM4HWx7Cr4ADSMFuIs2G6i5o0o
Dbd/AzdcoS2R/apeMcEZvlhio3R/IYw7dloro5jDlzBs6besuuWfFwERRuWnpsKO+N46xUq1Aeyq
clE8RZBL1HJEDEb0P70xroXzS8vQsLZBpW9RK0lNcatJYmSieBFrCWEOm4+cpOHklJaAj/ZYN1w3
g0jzJh2X4gLj78au2yKpU9n8xzLlRR6pSJSmhKVCJ1oWX5HmoPGBAjjNaHmvKMzUpXGOX9dnt8B6
9zGCGeXNeoS5QvsllkMupXTgfl78lrEvA23nFtZn/TcMLu3vV5lWlTnAgkpcy7C2Z3Xlo/n5KRqK
tQikdO+1PU/VozW/ijvItiIUyCDI/zJHybiJvLYZLOVK5CXRPe4Znqjcv3XgWtKMG5NDIzTH5IKX
Nta01DqDC0ihGt1af65wWLuKcIDXuDSzmwlalKPG0pr+exzYwpk4ERJ4auJbA5pyK6H/iAwPR5tz
ctoiRVPCBE6fPaNI/qYanvgZpvE7W5migKhaqqFwXAlgMWgFpumliMGM2NhAtt8vlDXw7MrG8Re9
zeivLgsi0vlJDwwIGXepmhEzWDKhylfa+2GO3sIaR6USXatbOZNoG/xNmnS2rLlgVi3nESVelUp9
DXBzJPVvSdGedmiLtthQ/GHgUR7YvUdbaY6R1mppPXl+yyf6T1DIHDJg2dUNuC+yTOwm/40Pi74k
HiHhmPG6Rc2xPpLvKXQlFbWA2Hh16VXmf7sgbO9XjRgW0fNLvz4ZSXwh4FuQ+2Mhrw19u4p/dMOQ
pERMjmZ9f1r0Teywn++D9LFAdrq6xqe0EBF0ESL4cl1n/Y25Ousb+jNjjbQCCCAhoVZkSPgpbwKP
CsBbccD+l81x1u4x+SuQg/Xo/kxPvogY6cuwVvBYSewRhiNUiyYKFOSCVRk39xqzwtkkbvVWjU4m
W7K5eNh+h31PuVDk6MPUQI8+a9v08FqrizV8NnnPkllWbj8z301YehVpgFeS8UPVQTzXErUmW3yG
2aZCH9YGzwF3mXsGd0ikHthamTBFPfouGHu6hibUqbU9+QVBUxQPbus2ZwQ0JPm7Pe1VhOMzi4ji
d+F+9NLRlnoCsaXQOa4I+E0JhSwNLvnN2zlI3Mp7i5t3LZGESk1DQCFoqUtMegXxAWLsW6A/RJZt
4y/Vg3dAQxyVR5t/JEBl1exWkIacJ1ljA7TZSsJAJOiOT9HMVuOvnfNiBp4FJi8j50zjtAVXqhfq
TgE867+bf4lohOPF7Zc47+Lm/kxpCPZa3nfV7DjtGdwcDIhlZveCR+2EExUxCWajK3b/D7TWZnn/
0Gp6KHWoZHZH8Ri3afMKLeEgIXlp7KokH1MJ0IpjmZO78pQHwVNGXVMxwCUTulpOz2qc4DbrSzPR
RbhOI9oysZ2YD5Vvo64EZyImBdmUqfzhLQfcNJdVZbg2gy4u2OpnRG5INOggK97rKe+bRJ9wb39r
xpw7Tko580Gsexwrmg8f82iY4/n4cWV317GZFm10ykIpSK8UVY3B1NbhNOV/AwMz8khZSUdBhOQ2
+cNKCl9Kpxv801heQDs6WlgBciXpwmqjzP0lX7JlikLiN6juzd51cQHh/ZhMOmL6FhDtH/owGWKz
IzcdHckg+89Fy1oTw4bq1f3q7ch/5fxHY7AbnAL4HvcZGEPJw6hGDdvcw0f9ss10P5szu3AhMm7G
dU9gJz4RgT52wCTLkFzbDrRIvnj0UrR9o3Q+hRW6o5ZVlxN5E6cD0hGWI36xhf9f+u0p+5mPNLfI
cBBJeFKAL8qSXYngBjJG1TS9c5De+7K0j7rnmatJ5acGy++kKYvLi4zMJvLeKKDV35VpDU78v1Ut
tYo9mAGN4C/O4FcyNpw20cgfojubhOCDsys2rNAINhQjDX7JiNClqE7o1b4p42n0p9bXvrdSv2Oj
4a7O+VkKZLpZgaUCpY1k2OQAqRXvWS9GxDE+WmHYm3D7vA91kjeZv6I1dgH5I/uTMUZbTyAPZn05
YMHT6V+wagpmrbe75cEPGOFPxP3E3wKNbVbnddET3NDC2FxMiiVG/jScFLmNvpatX4foYDZwbO/0
9rp4eloJjzE8VXEYXWUztt62pcV1/i/p2h1desMHI79Cm1Q+dQ0eiJwbM5oC3ENmLS65uq39AieM
HCKP3/fFYuwS7Arap13N5dqZSEuw9PrRBiusE102usrXMpxGpHO9n7Kv80UdQVHU/p+Le6fvwmku
5RcccEhHFzKMaZPViGwN6ZNDG8h+/ISs/t3k4GSHIxN9Xhb53/LcOo0419hu+KoVHq3ouVKE/FG4
uLrtBSI5kqRAOs1Ilj9cyFoWB8Z5eKAzoA2279ZSns0Zqp65KTCQvFbtL5FlJMrYe9zlzwy4aR4S
xyxLe+T3Yz0FUjH1PunWvbrTM8+WCrKhvxQEW7C0DIOzopJ8tk3RXmWG34c1i10SLsKZXggglklc
m/S+gEXZhZYPjjqAem9zy7eS99Td5WcXcfr73V+QN2iN8b+v4YuOrubHvZixtE0bv+CeUg1Soi1E
14/32SCL5WXerrPwPn0RuRKR4NVTd96ll4ZKMrGtqZ3lZqpSoP38jToRz0GkdKrl/1HMofmKQjwH
/pI6sx/+DZ+p2+/MTlqz7oZSY0qfZGhhrHlBjL+eYydYME7f+oHv1nBaKAJDGml9OqfQKWZXEIeY
/+kjI9g7nrh+W6TvlYEp7kUCVsd2CFvB3GUvo4Ix965xpGm/e1MOL4FtyBWNgWHpafQG0o/P0qZP
A6J0nvrxzHMO0bp2O77ZEAsw197gEH0ah0g3QPcfa02NbJsp/YqY5sAWgeUn90KP3rrPXqAvQBmg
DKcsAFvO4iwP8jg+fBaib0NoGXMRPRTypXhQBp3h6eatycyekLeGFWjJVl7oq35mXJxXUcqHYiPh
oQFBUEjhe0H7FLoSdqREYHmtlzpBXiXZe6pf7enSGBr43z7GcpSWOSM8k688TKgu8aSKuBdwbmX9
ioICBZwwtr4nIvU+xmQlotkvibm+VAu5BN7ARIbvwQG6Z59gJbq3xMmwDsP0MmpQDv2/QgwQ6EH4
bVY4q0AncrzSLS/gdo8p3p+4mI1JUx3+mwCQpoz/vAr/bXLp5VEFekU4QEDnw6oj7JJmYUPfYY4H
jpku7xaUbkdTq1nlCFULm/RZABgPCJzaA6IvMPs0Ncp/5T8PqKGYmKXEgGUBzpikfGgkBnLP5zim
+QiAEW/H4n1SRQcAMXtrELYe+pF6E/NAxjaE62P/embamJL/2H1484SqetmrN1zDqULJooSYz5mC
nE3857wS+FmwAPeaVr87SGfncE+av2CuQtDM0waBar/jYq9/tt/iFpY+sjUm4f3XuxJd7WWsxxsF
UGRBiiYXv/c4A+yXL0eUX4lDLZ7sA172ygXBa5OewZYqO3EJTqMm18lOgJgJnuF1JhC2PQIaoOYm
er43Be0+pFDnoAasMDMm53Qc4f7D9o/7NksqtBnuocosHnSBXYjl0hEeB6/9fwMc+KZU2rYORNyE
Ndcx0F+f5KJaFZ0BeWPk1dg/EkDI2IDL0na9gOIk4+uWr+yk/Vc+m7rSbKXSFlB+p4s/hHXi5cMB
I8NVE+O6hUho/RHn4hxqn1HX+aztgvDHyFDdwzPHJquF/bWKw/8xllxxK0WK4CiOY5XWB6dAPLQv
41Q7eJg4YSaD2oS1+3Dv9dScOCcd0qtqAfV9ciu7l2mFmcgO4PeqIuLt6DeBLg0xYZNxQmwXx2HH
MUA9dds9tD4KCtSEHcYk7fMqeigj93F1qxIfK768Fw739Bl6TomOIetNpq1g2W29aRRTEt8XomED
ZN0gkRIxoOjEpm6hGHotTx6O/mR2gkhRPtatbNVqlRwO7rCfz6Yi43A+S/fSQ+5iq9uGlT0q9ERE
9x4hxWTGlBzYExcmfb1ojh/nJEEJaH8pwUUxa9lJ1RCRN47hoVsvEVwe4fELn98HcGKDSsaxINxp
WhaMqmOg9zzZ7fHc8L2GEO4oadHFUHvJ3kpIE28lN91e+ZGgykYOGEyIrDVbNcj8QlUW6DpqjWEL
+/7sjxc2hhTAmWnhDukJonSqndr9l7+SPbpynJxBenJgGE9cOABq6x3IXuDVrZATSf85vUNTGihw
sEFjx7ngSq+2wCqh7e2ZPyCwl+tFGNRAH21Gl92FPXWc2AogB/8dtbSUmYtuDILZI5tFNrdJeAjM
HWPceLMQRkhpvGkn8W8U4sEHysncVyLXWjIQn7C87Y/lJj2UW73hbK7nKftiruToXn/IFsVaJwpc
4sUKdp4A/mHxaBiLJ+4ioXff/5nu/V2m6vfOsC5+TqFBxuEDel1pnSl5v5W1xqBcy5m0u8P6tmlr
gUfa7OV3jzWz/lsFLQI/JPj2X3ZoIOFJfyssKXcohU6y0sxCtPjZfhZcMs3e3SkRq85P2rGXt3lP
y7SJbQLgsL9I+KnOE/pFI5k0/82KN3cpNZMP5kFkHO975G58aM7umjKKiOjvX12HewSLoPQWtQBs
qGEWORjLhgqNFbkI1ZYerfF+Rt+9mxpBlVBbXJi+Ka7uydxF1Lnisd8U85l8tYY/IrhSBFellfmf
u1QooAjBh4YKHE48s2EKDeDd9CZR5qfXr1j+FdEapa0eZ9DXX4JEoMe8K6ym+Pr06n8v6k4dyEOR
awc29uopTkEjvQn4GO4Py4xkewop0FRZrW64kTjzHWhT6LhwOCd3YHAmVYcSDVWe6QRd31O7p6AL
kN/5CJuc+qFwJJtkrW+mKvrDSAUoPfvfFbG2g6ZQeFWLfbLRFY2/5Vnl2iE3QmkuNSMX7Tc0EgNo
PH/BriGqvUyxp7I8VtW/EbWsHYmzSDoWYkx5AkDMDILKux5c3lxBk2l6PSyh8hMFpw82qrHqoKp5
n72ttamNUyk98IBMDEsKMNHbSk2C9HkFkwqe7ntDhv1SLAzyChCMmY2+PeamMbFpf5s5IZVZSz/e
KTCBX154dgn0nLPUtBGOU/tjPMFDeZ4km3b0PjIub9t0yLJzYzpWhqWMqGeDqFWm7aO1b7qPZX0L
O4e241UELo6pGtSAp25aIsykfyG6XKjP9ZvhGdKx8ts7xoh9/8pXJ9V/QUa8cUSLc2UJv/F/HfNG
RH3TvjQCz4x8erFLblkeqILQwhreQnG6fxWFmEPXZPoPabBAvca4V1IkbKe9xw2d8v/BAe+0VrCY
UxZE1YmPntZA2p5sqKmPIF5pRmlShbbkDXKxXY9KDIxHS/pPyS7A9XDlSU0WsDO+OwfRQUPs/u72
lhgYWIa3NnhrtNn/hOvg8tCN4cTW2l1+ZMNyufeUVj/7efR8I8T7PKoBK6/rycUPFIRgTSCtGw0C
fwaVcrxCPrWZ/1j7MEHO5mPWmjv9qnu1ITonQ719ojqeyOJTlFFNPJ0YpgokGius2V6Q/9zh36P0
kMkdPWhhuF7K2awqPsrRWiF84uWm9kWldo8uv7rZXZK8RUHJIBtZicpeupYrngLQGAGQh30ZTkBo
sW9NF/OXBYW8fFCt7Vw4LxWYwhkiN7oJb6X5XTIWlRJU9k3c5K9iE59rzDo4Y++3bXhEs323Q0/U
dnS1tdiiTuEi4e93gzgXlnigfW7XrvztspV/qj658WWv4a+u5DzEzd8JzyrFIISWhLuP1f/stMgC
CkuBxf7elhhEKPVYSQ6PBr9QEN03nzhg4g9tpelwi+wUuostDxK9HSKw5SJJMpVp1ESKN7cyyH8z
UyqrOuDo2GzQOXW6GSc0AMCJLV3lsTX+yWM6k2aXKJLqZYRS2F/yXK3AUU3OkAyWJ2royuXRgpY1
B0d3DwwXr5QH14pA1fGuQoVzVzFJMo5rh6Fb6Xb9ej2evMZorPB8n8XO2NzHzXK+0/gjNLkUhRne
TmqtiHatmtWI9WOhjpBqURAf6QE5EeWUzQQNQHMahqB+Gfp4YLIq02OXIxTtjg+nkE0hLJFvD1Xy
ejFhBORjnfavHepuyvJbSXw+pQya+yMKtqdc3BhfFWAN78I25w48IPWJBz2Iy7H2qXLOblA+tWVb
JQfPBay4PndMiE46dXNJ4q87ydtau3um59yemRrWmP3RzNGLBUeJ0nL2XalQGPH3bJIOPVNEUXPX
qe16qQxrZuh6KHUknAjIdiCKx8N4l/hmEmkuG0LcMCu+z0lA+R9viGh1sxIHq8UPGaN2YFxXGad/
0sfLgT6BTBUbHSjr1I19vGj2Bg0PgLC3b6/3FiKrxyA2RYN79ggFQrMdiGDcE+Z6VuxiKF8Fbttf
2ZtQfFPmrlfMj7+HaDdxOy5nXu/wobhhhsbu/ALdaEuLFasjy8tS8L7cfX/LN1Wzg0CuZmLFZ48B
7cPwhMZfEou6aDLBzWOTYvUfNkD206PDafpg8NrtkkwY4EWwtf1OjAi+rDm9qJOO8BMsOUzxdftM
lqMeeOvBzLpuY7/vzsZV/AMDpLh5jQ79WUx7V554567t+oK5UnBKdQJmYst5n/kJj3YHEGAKRE+i
YcdmsOSN1cvylgKeX48hj7U51ZadKf52WbVX5gm1H2dCFO/CkJABopWNdsV6SZlgPtsGZmET/BGJ
nUWu1hSjqlnFynkYvIWfdVtLYQaInMv/9iIdns4CbdN/mhJBHIvlM6vla61QkE6l44j9KTpcfTkU
u08gN6dZycXdJBPhVvlgzxNqVNY2moC9AKlmcHLcFnxXhh/Sx6v+BqkVFXcn8cV1rJIxIFPDwjQV
DAPyYBRYVhpJaSok5hS+it3Y12kMGEB9oGlscY8Pz8JJ+GeQUU3m1JqAIQIud3OuA6XnLSnVzYI8
p2MMfXEgJ8u2tg5O/VuTTWyLchiTRuIGyaXSfiymM4zh9mjKmw6qXjgQE3UqZqYIPg9wTfjCKGBp
hMuWOUDNW8ax0VMSL25SPYBT6OzUPkLvIAsJpMsKRwvfbZvSCITVGL3gOFR8bYeWoMryIGA0N4GK
3H0OCXw9eWSRzmlpziL6xmEwyGi7k7KA5pbVdn17Er8OaJ5Q1Anqb11edaN5e+DYzKp6Wuw4cSY6
fhtoucIgaKAYdNut0mTpCoXvH6Q/SD4aV0mbvJrKAstVbR3THKBoHLWvLMVtET50977uCZbZ+k/b
VbdkjJWu8gwyB4NwHU34CYa4SBbpfXsEHXdQYgGY7jId8UbSeBMslHxoFs4RMRGZ27Q3raGb9O0W
TLGcWsCqMXSNDVsEbqRj9CI1LM8F1RUuifXfe006vICY6D5fQqTgX59fKbVPKNsqp2+BvUrNPp+H
XRzEvXtHYc7Ax3J3LProdWQYxDlggMWzEk/zLvkea4Jqq5tnMfYRcilLnGYc6ZMTKmp970oI08Oi
Xv5TahLvMwJ1VyjQ3wVAbLrRCnJ5DYNhGBZfifghCh92uVRrQjz9qtG1ibI8emQAhpzDqY8rDRWQ
LY9ZiYNs5Zis7tM/ukXjfjRWf1B5NgNQNbDTSNqgzR0OhL1+xA1iZjTBT+QjT5PyZhyFXYZGMsRS
HeefKo34bRIJRetk6C8hEwQnhNdv7km7AZtBejJ1Aex9M/ErimF6V/scybFr0GP4NNeSyxcl0Ua7
Pg9M97MGplApfZaSLDhBneZZ4hakQiFQjBsbZEo7dIDz+rFb0G3oadvME+yE3AUqXmhfb+noLls0
NJAjQdXUzT6Mjz6Dy1Ad6e+2pawjrDyo1ianeJNuLre1eEuupCpbcZ91qhL7UW53U/zjt666AfKZ
f5oGbAsmlHkgwXqDYM4LWSTo/RmgCQxWNHCN85m4qlzDriTyt1nsQDBt+/wo6NVJDwX4zCIVrtny
3k8gWbaSUoFE5/l8Gl9oSEgxIG0sxGUPdUi5e9TWeIRf8IAmOiY5hzAHxvbSKJRsrWrNExceZMli
TtDOBvv3XmdPOLN6m/B1XTQmEqTyULUudNCUvspGNyAiRURnuHZYEGLIq3KKwQMybr+ONWSWpmCX
Y2f8xLZpyAWl+yymUt53OpaO0zMT0W633sIW8avaTq84QcWeAYskP0mpzl/QExdfwgc6/kd+YS2K
1j3jNTl7yLN9QnHOnKTjK97PQk5XbaBgYbVP9bsHCYpPGDFiqMgzD67FDxm6RXOxS/5IrfAMMvxi
u+iixUuejZ+XdIkLMThNvP9nw+ODamqDjkt7kkB60oST+c9IxdUMr4be2O1TzVjnuM+2kNZ7bvRY
6n+E78A3h0rk8yv5rvGXAF56tg91w22TgnYzk/wQDrR3xzXB41/GI2XLsD7TaXODLOy/9NAs8yUs
Ku7hScZPbB3RElrtKVwcGuRv1O27kITtUCCaLrM4t6Y7/VbJJ4CD7x3pTzX+HDKpMu0uDTDzeEaj
yUJk36qI2mwQjxmSbwzeRUZs6Nzdgw+68T/VhoepyT97vXRyPmdQ6WBlrxLf/Abk6pwWc0V/VQGa
ABMMpa7nNtBjIwHrXRTtSPgawRvx7c+RIeJKdJF/Mj9FlqmZPbm6hk/geR7q+EyX9l942zE0kSWs
tq66Keb3bZasW2IMN5u2seUACmkZKcIGcm/aO1Rt/5yYW+EaJ25LCmWgDuBdMxHNnijuCavQzJdR
Ozf0BzjRQIy/8hvxnNoOMj2kZdtgKnoamvwq7fYQNgTSoH/BAE6inLF/5oCBrf43eDDJ2b3tuzyk
DJMaLXB5jKUI6AklJ4zrLnT56zMNtNuwkaWXCihg2p3pu93x3dWeLud78WREZDki2Wll1fKoIytR
ZOLDnU/gmG/l9bnko490T1knUq4Q5UJt46nRO2EyZ28jQAlFbPtKSyZ1+oUC7+Ohk+IBYm46kKlb
nMY+03JR5qPV+KUfxrpGmkNRha6aymmb3LSTJfceJjysy5k7uSBl1GQnMgcr8Lvjcjk/HJ0IAsNt
OYAPiKlBfTK17FS3pNJw71s/ma2GkHUI2aN+U8KCJjm0jK1txGjeSn677Mc+NVKo+ylOTzoAzarb
yHCUqEqMDU+t0fwlOKptvVtEYOcvKuCMUTrFnT2sHBS7N5DPoACIJhWtf7x+CRHu8CXRkqtp5EeG
KTiIGExbDD37RavvOjogZRXg5Wk/OFi6WKR1ygySWtzGJ/85AOzoziHJj4ekNz5W9dyeC4LVbpCX
/zLN8C+z6ZLAgy040VZCTkcQLTHu5kqhqr3it74CTYjAzBsGNW59Zpq0inRZTXyB7S1daizhg3vR
mfRXJAA5hKzh74JOeepYC3XiYQGd0zPfKmlRFkH1tHTHHoD1JMS0My+YHOhycuwinnoxRYpV4I4t
3d+H59LWfdZjd9K2yAra8iUbASaIN0iuM33Li9sLrMuGGp1i11CgsjgJddmWyHAFcuTAYrnAfF0/
7j8wjkcKLClIDmGe5d1b08xG+1Cximo6Bm+HhOTR2MQw9wGmXOBZFaLQzhKOSOlzRQ6eJ7odMZrG
/uDUTuxWMIHR+8k84R5xOUjL0QSXP7XkA7rTuP7hM80aEhbpND+iQ6UGDdd4J8KiSXMuVCE7Bs/d
Z93hsnV0VzwLpmyGJKFcnUu7Ep2aTIU9Dlp69fMoO7q+ECzYFsDaN7Bb932vHmHP9hsLQHyowXCc
oc8GvShgC4LOqgPaURrEkM7StpB1kwAFuvQ4jxW+W8r7Shz7S38W+q5E13IqavXF1WHLTcL6Xfms
2/5XZOWDldMa7BuZbeupR2o86seHr8IyjQgn3rV4pdTklzkRXkVzvxiVH3lGXI3zMLRCJvJ2f6jq
1lJazs1FxDpxw026IdHFEXy1D9CXPHDLAmHnm1No+5jTlT/RyezQrUABYTzoYz9qvRwYSA+FMx5+
4KZtQtJ2k2hl9t0MDw+txAX9cjzsOwH5RsahgzGO7mDcnP2SFkZhPjKHZE2Ip+ZaAl/nWH6/w1xF
lB8el6poDS6OwKPgPk+/ASbYYBl2D2upID2VtVS5xnvj2ks18+17B85dqgLQUrA8He2gMpf7ql9n
vAo0JVt7D0lN1h96BTblnJWptm8j6KFMkd39UNuRzRxyYL4lVXNLM8Nwrb0Drp6tNZdh2BQTnfzE
Z4i2qEI/tX2ReA4YRqPP0ufllT3IUrrSDZTvZsQYPuD5fdNZRoCBDmBUMHE3Nkk0V0Hr/ClgTFur
Wom7vU622aOJ6a6P/HqwurQEh+oHoAhC5paI+hUtFG+Ii75WLV2M/LhEFlyXmpTS2+HHAqtHsMz2
ChBuQIabuE3XSoiUKCE59HgsiW+dJ5Wo/6Mr5Cyg24/EXonHLoUoiLER3RD8zk3gYzmHuHX7mvPw
e99X6YKZnYoqjk8tUNzlhfXpd83RPdBCmsTroGk2hFkd4WyV7a+hSw2QoyL9Mlwp6HHhC6TEe/um
jprTUEaByK6vKgEybi367RoaC68Gk+GEk3TTdZXXT+biLagSXre6G7UakACu+YaBTPHygJPO6FpP
O45SBJWL0ARSROg+M+kp5Y9o4FeXqCIYu55FNnRu80NK7ORh6p+MmmdaWzCz/I0e0h4xpuuMQBjB
PVotBxiLQJCY1CZ7i+z5PoGoewZuV31j3UXtljEv0KnlO6IxM+8PlNjr4DCtyl+d7GqYVK4Ss1pI
u6cQszHMT3kdgZCY7LwXsjI7i2u6WvrF1Vx4tk+FzSXWX6hD6hrLYbmamiSBQXjexs9EvPk8G89o
uZW8+R+5TwzUvz3xCY5cHfeOAU6mex023MrUCSSBayRIprxbTN4r4avIKdmaYBYIqa4kJlN3P/Vv
qP2LLxviokHdZW5iqLViHWGqsn3HNhIghJIH7BYPoDSeo+ICyYqdu86cLqQsjJKaBftMWdMCIfjI
HfbCfwaTf0Y0HGqjy8O0roirHb50W9vJU3a1fc5VM4We/lXGY/3sTvxWRmoIEEAQFxuMeGUCcMPh
EcCuiTrTlKdaUh6mqvIgzEDGjUeL82sAhyWms+Fx2EkPCTW3vbhWEM/aIloAOQvml4zLN6r5cXR9
36fUs3BybifgwHOaVzzjtaTYTTmqeXJ6dJe6tgbkqGnqJP4rgvzvLjyAXt+Q3bMRuIv9HyqKLK61
cSCzA9Fvp93ZGOzM3J5ocJbaCwGABZ/mMOZxvsoXhL/Xt1LW2lhXNRZP44nNLqOFqISI+1buh+j0
YOOMfxydfakngiQSz4PTLROFirjfJ5HdYvCG2acZxgErTOCNv5LkHrvBGMCkpclN7PM1DY1XLUc5
7AFn+YgDT+y73KGBUo8HkrngbpizbOYfe1TPmBoEBQPy/xa6EFmkeiLQtTkddNYbUYWXRhgSeAlK
d3Dg34bCdohRjL+vbdVwq+HxRfw+B2giW39DrBNhaNcLArJzKsoCMXMGaHrKWQBsvMqeShJ8pl3b
qHGcBOf2fcp9EPZ+b3R/iv97/2nZfejxiUFdrNHg8qgKKv1d+hCKN/KfwTF6C7O/8tvm4dBHN5b9
Pnu/nR6JBrnYOgV54X1gUM8lUB5S9ucchDOif4WDlX7xH869gyc8jk2E4srArQP3/Snsie5VR+Zm
jVm7bGFWxagubi+/JPcV9jjgt6ori0VPblsb53b0cWrDL2GmzSfNAPDZCM4MuLlOESKkuXwJWgE7
ODNdT0LF6+LWoj/8FoOzEcVEhO4B3ci2Z0HYLDyrhsbGzch49ZIw2ET/q3lnTYLoQ+B5SqMgknvq
gGZqP3Dye850//k1fcVHeL4QyMozUgSiYdW2beLdGwzG+/ck2irwfpE/3O5Zqv/qoMj6dy01W/M7
QvThetQNhY9gAvnIQc5ficN17KP9EsaU4XCHbd27NdPltmhvIQQSrazTPsmnYhAM2YJvPbQEPEAO
AC43rkiX+d1QuspBMNW5irdAnLvkgGgQ0pTy0QXSHKVUJhZfciA+bPPvMJlJe89TwCSAX6M4T0K9
hwnfGZgJhA/Ynf0Qj4hFeyCIMAvlaxxh4o3O10n/kv1OVmZHNqSsGU5ok6AjH70tnMr/lU7PVwu7
kPaORyxtEHF9FxcQS62IENEKH9LymJGn2gLYkxdFGi5A6v4aGwp8t4J0L86BNW1qQwz9ifyG1BT0
9dGTUdm+fhpm6jeO0E9qPIsKlUkNIOuC2zHf1gvjd+PZ5o9WLPorjITzOym4wsX9WFFejZMPvjbs
zSm4QBheoGuejD/dZU2p2PAhVh0jpLd5w3Nk+htwDrnNGE8th8OzL7+V66g+/kEkVjVHW4pmAUaR
QQxL+qJdAvJkBicAWnY9wHuqCMVfdEFJoHwanVugrq0kLw2djBapzcsv4x2XtoyuD7h77QvsYPCe
cL5aWVn7ZR547Rj4UHmApQfi297ixXskdap/Hl+yo/fi1XSnAU8Q4mzGIU6vGfDrlG0hdPsAkXQB
hS47Q4+cK8b2KyAhsWsl3wX89vAesCvZHDlBnbluaSQ6l8GHRp9J3FhEsVeOTgq+H8bfSPCvOqmv
bcgwvuGvKuzw5P1THWYRSLJIWfI4+1s5w2AcTuN3pDXRHzYp32exx3tO3Uuo4Q6/UrFIiVfEhlmf
XGTE/3JjRjWLEEHpiqsB+b+Cwz7ykRp5IVaWFYk5N77Ml1oXJuccPeXqng7fWfM+QURYHWdywfwi
bborj1vEagudamk7arXxH3Zwt/DGxWk3eOdTOLF/tUtiD5RuKQdWMU4n2qaJx0zLOtSb/1tudztG
wUIjj3xhTedYNEiB8zbJN7ETLONvkc0gNmXWO3UIqQoL8TangjthteZGlCxt6aelchPlZHw9WgHl
Fav8IOSXLD6zAVuTw79dd+zW6+c7sboFfiPrzHHHg44HmHjvdFeJOfXpICkK8PFK9IPmSn+XPkJu
imcNfvIjl6kTMCfKsYH6rWsIW8JFGbFsnZ2uAhZPjfsY4Y+DhQwD+Gnz/8/q8Rwy69BygsdxoQX7
qF34UB0COht8zuQn8EONG1RX4k9W7CdSPCWKzZ3CB+u2eNWtBHqopd/ADMfPShRocKYdZnQMfeJc
x/KIIgxQ2lSPMnVfL2+QZYNMSkPuN4rV0Qpmx7cDH2mKm2hEysCwUQ8w1+Kn2/v/530jO30cd4io
J44uHFcfldyjVB6/J0FqmxHw7gSt08GS4aPVA1vQBOiLW4ueX03zjL0pY/Rytc779X0gkBzxItO1
3z0MxY7joW3bLD0DUB8GgVnWSniG0/Yc6d5Of190BtUO90+KCd1AB+8JZ9uT0BhUidN2rqi8A869
Bp+kPvsoxXn+cujk91gHBpf9Sfy1QkQZjnsUVpSfSt3elmhXlqOhhdwp4ybtftrrQSV7k3e5Fami
+0dfpmSFcLSSVE4/lvE07DZ3CwAphv9VRnWwirmhZ2wfN2Jj9e9Kp0JQWBiNRh2U6Y9RAIHzUpAy
eJJQK50R7iPl23iP7Rp85pxdQEQ14+cIkQXjXqoBZaFiMk31ihhApuW==
HR+cPzrPzO197CwtiODWet+ISbbMcucvJdB1l/jO/Wh+BliaMPYa7hLeHXYFqQpKf6834GPyApIG
Kucwa9yqKNaMc56u+iiF9lTAkf5cd8QAAqPA+94ltm6XrnU5azjGe4mhRyHCAgRv8CIPPHjSJ3HA
6ktqsRh4v6fdU/A9OKM2P0/TMuGBtSw6tRM5IcxeeKUGN+oim0kP8kqdPUDxsk3BrRjk+4SFywNV
bxZSoszAIi7VmvFILUBVTKdKk2uijHDY09Xjxi2Q22dJwWvQo2YgrxCxr8IazLSf/TNW00ltOJNv
9bmHKEjQRbYX1BUAq65NBlpiGNmj8C4A47AMj2nbt28OIeJYQ7farekASSVuV4O+nddg1Ligvity
sGT2e+VZFylEH+WS+Gr+yxN39jyIXdFQ4wKXXgAPp/kX/rCu6V1zU2emYVVg3qDZWtqZAQHrRIMQ
0FabMUWc2jCUEWZzAMI8HJ9pA0JGQswpEVDLIRT2TY4WSdGcG0u1IFJChBIAYkmNpgIKfi8ogIVG
AysKh9jpIyxR40sxc91z/x2EVHMKC3yo+QMa9usrdtBcOvoDa0uGaSp4eWhMpPNdP+dPijHmpY4V
jWVQUPqcYyZOWprQL4Df15C4OtVqrgNulflXqhlIN6oFmcbRd4LljFGuoW2tFlgxyr3QyyC0KbSD
tiCO9y1gI+22hBQhxY1bQX3dJ+z5uUejIqR4ONjn60zP1hR695/vUfhFRYOEBnc9ISATYYG8XgbT
fn5Kx+HAAA+xPUwyKMfyUbI5JPbQUe0Hc2gMj9lvvT7zt60lzJl+jKxdX2ssW9+irX3kJ3Chua/J
eOy5DcEf2tiWl/PWUlUNJPMscaA+0C1r03gZ+V2P+sTXmduOEoB84aV/3p55LtjKJAAM9jNvZRz4
TvNYOERvKR53QT26NRBMZ3ttTe93D6E9vLLZBAOetpcTQxDRxZurt1e4lThlLT2ncjDx4wsgPxW/
sw0kVYbfYh5mJ3/1sl5KUyVMn+1HCifib/zPGROBdI3gonQlMd68E0ChOoUkYSiSlrDoyUyYqD+w
XFyezdjTZ6zhksSmURn2EZFYuHwQ8WPnDRQvZuEG4XGR0/6/z2SncXtifsgXz1xsQN/EWCDDbi7B
gNvO2F+uGJi96p62DQ3+CZN2uArZJ2CH+2e0Eespud/hYwKIXELh6+hlhF+rubojFW5D7JSgLFVk
UQBWFkfK7E6Doln/Gw5H7CDmZdAC4hoX1w4fCD1UA7Ij0e4B7BeK71mntxLGXjoaesVN550cidcN
qTuug8+hIqbo67Zwdw0hHfdkZdy5RlmCQukq3xqPb0pLQs6LwW7BVJEXCHZe7yMRl56dhdlWB1EO
MBOqQVsZN48ck1UH41axtk4cEeeB3NmiE57Gb1hjn53EkLuEtFjAcUEMVDGjJRjbNmsCLP4wD0H8
jntE0Krrs1xful4+gBKtx5e3BX20dguEG1nKi4nd85Oij69uROGNAnVr8TR2pomCFRjwEctVpO17
lYKDnsUT8mEs9TskvahWV6JfZa3PUmezUOcXZFFOCAMa59iXqBuQ4bCqi3fbEqbZ5qZUzKbhk8gy
1G6M8u1OpwJZ8OCdfpvB4Ry4dZLp6Jiu89WYugeqz8e2+wyX++Vr7gxI5fNpvLBzGMExZwD32snl
MynwUQfFNhfwtizIZ1V1Am5BeKAFH1Wrgem7KkEN4zqpbhmwvkarpUXxy8nBLnSXmFMo5AXp5jg1
/AW57FAdLXLxLQgmHPUOL3BsPufSdUKp47ZM+FRaFiNwCFKLJYmagq33sXoCuMgGbu0pm5a516jl
3gVjmlJAOWPMQZR/JkgU2rpsJCzRKOHXhx7r2MtE5uaz8LTMFXAEJxbTpRwNHqVOJq4qf3O3OG6w
do5vxnze/YzAQbYwAZlzbcn0zShT0NL5mpdfV+o2OWf334U5k8mrbgfx7ti4eyIaa3DPZfTlsgBO
0MfFMX8Dha56p2Eo7vUT9ogmXft89UjPDu5BdJDxutik9G2vjdx3TGUBt0TMlngJis1a6H5suTzS
vAVa03VBsIZ/MMIdUQwO1VQKqY0/pxWQJq1Kk84nwiOowTLhIN3zU8C+llO+sCJQkr7c+zJxUrDr
DmEYppBMIXPloAZz+B3y4W+n0N3CrM1VqeKi+hK5kVKwgrZ85RQxSdKgXh9w9nV8cq8fUU19tM7p
l+tIRJ33CLZV05Azua/o6GdX6exdN6WNgqQmtzwgeYxeeEVmLCufHMNR23zhxj3N3Kld5zJ3dffz
nbSp7dV94LoFdeoS/u+CcbLB0oO3Ppe5CgTIpbQoFcpFq2k7vgmzDtC9IFwI5sU9Wl59KmsU/Cl8
JQp4h+Hm/lwTlU3K78TJW5dHMrDfwguLJmrROpXfc2WKsxI43mi8nXpTJMLALeZ8Dq46ad4NiuU/
Wrwwab3ijxelbdw0QdOvwbXDEx7iwipsNi5FAv+Q8ManYky/c9ZhmrP9XTOS2ykt8BpJCePklYDB
0317wx6SY12t8M15TGbr/vtyNu0aHA0sLsogvjNbbZv101obG6PM+LAInTOYn0wzWvPWEU57A1QG
qHzPa/iEdvkIQ4JD7b1cpS062G78wfK1I8SDBiebg1iS+s7h1+qZ/aAMxlmtOt7i5jYFkUcdVqhe
wfKBRjrcXQUt0CzbFUtxl2UjtNbQRDe/kzvYGP2JHNGu6s++8vq9IOKjAHtyvEbIEH0Rjk9HT1jo
tmVSCm+CK/SswIYm3ZKf4JN6j0YeR2ngWqhFogNW2ol7NaSXTrUziP/UFVfbzmvAQ+hwJuNXvaiN
rRmVsSNHbEBsRylULy8YRDfAlNzTrqFzJlmNqGxSPkbm5JEg0UttAYuk72y3icuIZzerTNPQto6X
m5avQ/IcgmV4fLtFBWag+bNpCqwcs8WJY08ShScHnMMcGJz2lzPdXhnYf8cNg+YYwXszgdskSyNY
RCg54g6rczUYaIQSNw2aIg526jMEZxPxqcImzMUKi+5oh1nQFdlpG88oPETzzCXsXGE/mHe4CPNy
DOLG8mxKtMVLAUQT0jTup+IG6c51xL+bZBgUb9oYJPbWrdpkkfU0xAdcjjlZAnYu4SXgmDVyCH82
Lscq89vgX65Vw0tklNPDr6jO8pNyTtOREwSWpZSAXVdPmN2dBQMg8gTKXqNcX71WIwKEN1aC8NTL
lVQ9qGtq0GlA/EdGTwDgSSHViY8M7F/y0Pg5Bps3rRD3ZQkAbtvEsFuaKJ4Wd8PV0zCmZ6ptN35p
nxVTlD2piBYkYJ5jZ1GpEtYdArdztOTzYjK49GAO7k9AGXNPX/DhQJVmVtBkXysL/iyI2enhHZ7b
jabKvVuJygZyvkMjPDgLKovulpM46M23A20nRzBBvmzOYtNg/r7oHry5usgMsY22FqekdWQIFjIm
MiArrbWZUOHqRmnwydhkgdpI7P0ficSNEsITdS3c8Wq+0l7pm8jnzg+4vkgz1uVCWESL1PNvbnS7
tZCjDbB4d1nlml8WXUL2wnRbfsscWFJWVt2G5tgFZFLK0rOpdMxbIIQsKQXwZzEefs8DIrgCls1V
ruEQT1k4MRv/Lkgzn6XLNZPyPTY+tnnLEA3Qm44X9wJTg1Tj2o0NKiKIB98qJnX4gnJHeAO7vS2S
4+IHa9JMidqzZqY/y8qp2xCKZjJpXME6UhOefRZlRjxV9ZVUMw2+ORx+5AdUwq5IDKmIytFcB4rO
U3x/GK+DRUTzbIRvWyQSHJ9jyHnxpXWxAbIHrMeZK5iBnq+xXJhqwblVW/lAlJ5J4YwoUSiGnB6S
SwGpE+EfOv9OXez5dNs7ZM6bU8wia+rDyW8+TNFswoodKY7j2744gb6T3e/3NIqnhgDk6r4RQ7Tq
An9oLKIg/gyMTwzunE0t1gN3DMwMLEgn1rSoH6ZFKWcBYF2ldJVj3x4E8rvRNDCn8e2e152tGa26
hsvqjwrZ2owrpOGT30tVsJkCNnQNlJFCW6XIYnfd9dEoBNKxHCKJucJB8S3GATU2O1jpQvbika9o
AGIWR6VFkF+9f9msM4cNW+hEIz6NqcS1lwejAeR5QYXnyC8IDDGRe2yj14foM1zUMdu3wesm/zhE
9vuQC2ILEX88zz7RMktBzhAOTPKz19ZYqSFjcy9JJbn3Q68SuQTQI663dXCkL4d0J0Nx8ZQIK7vp
YoCS9OLKcU5fGtAH7PNXw1+WJ8i1GQpeHhtXR/xcUBZ7AOdt/5PjNOQCggv9mK1f70mNrzatm7ja
D2ZnmGHNfxaK9ztKik9uvMXswfOjOvuRqG+VTXr2MGBJHMNUMXMKZPzob3jcrkus4d+yevQdqJbI
i6I2bq3/oyZRLtOSAxbQBMiXTIvc2KhwCgFWll7mBEG2I72WpU5ZGr0iUDcab3r6sUieJkJVLQJY
MjgwNwH1SouY62bQjhCF5jbiEX0Z7DHmN2EScBP5svv4dYfLuhrM8tHwwmlYel8idYjX9Zsnkw8l
GRutSlHoWT8wXjEEDpQqvtnKH3+a64fub51GwSWRNUCdrdW6cZqGbqlf3BgstoqW7BZ+Hx6aEtKz
R5VaeFfoEefhl03tU72+z62kWOHitDLsRZz3wzk8TibX/uJY8VUMZT94iJIlc3XX1gUBnixvC2+a
EXmM46OzrL+lzBg77OGlXCigb70xS6P//uLWoUgNqLkMReDx61xfhOHO7N3d4w4/WYJrZB/gZXue
SRQvdCjNlhK7Mwiqa1iVXbZpqoyXhXGSqkl1i5N2PWiUp0q9feSHjkQwz6FgFiciTYhoGndlfYsC
kjm/18k4idBYy7Ysq2QQkSqRKjVZ/XeCG7HFfW2iGZAiqLuArg69qVjfpa7o2KZcMRmQz9lSf0d8
+KmuNMj4yWpgyKRYMk1M9hfkYQPPPQ4h/WM3a/7UIg48IqViveSCGcQAMZR+zvmtgTgakua9dRTf
J7UTLmR/0KEEyfly4K5El7/MHqRbZGubJbfhul8AH2X2DD4iU6rKjVQ3OkvAy12X320gQkKwdM2i
0zcZKLrJybmtrexC8rxx9AfITH70ZaHI6mf5VW/prAGrzGEwgz9L4iv2HfEDpO3eEDzT4IFNWAfP
Ty06SEaqDpJZq7urf1ruzpyDSM44yS5VMV1pQ/BwVXIfaTLHYHdecz8Y8obecSWP6oCMMNXy/MS6
4j+s0HRmxyzck9Pr4j93lW6fGNsb8KbZ/rCM8xgFdoa0doVII9xVqwY6HdR9/rx4WJGialKz98Nc
ylidbA/H8Rm74ke4uj274yG9xYr+pru83//+TFi0Hoed4aogjtKtpj/vrev4gP2nymETYcf7Q8ea
IsMDCKU5RsoECbXHG7E5zkNHO5PLG5VscYAAOQD+sgsUgr5pO5Ql60DP9ezKTzHmf2bGw68NaiKQ
ihKouv3C4W6/iKxQqoaijtJWXENHhS0xzZ8oXxRzyPFvWMSzqWYblSVK72EkI26MxviO6CX8sx3L
Um5zBBun9sL4aqG7mOerbr4Y+rbB3HoHdEJzxXfvMUTTQyNMb9+zOMutlw6Bd8yKFqcPN0IrhoPH
ug71hjO8ayZYi3yHPgZVnmF2CtpsF+ZdKWsO8Rn3NvvPhb9W6xMEIORS/b9Qy51rorNYp5IdkoaL
LLWbrXQYMIXl1/+o3PMpo5sFxX+EfW2fHEYa96Ds++vqULo28gTtUXMQbMIRB7wEAIOSRGiu2BQu
k+Ndtx/3jhP7iBZM3kJbYFYPH7VvOD7pDG5dHPO+xBAA3VZsK18Jf96LpIGtiAhTcMBb05ipXleV
LvgQ6qoLL7fj85mqNXSGwPuJam7jVrtoI7Dc+e0CWs0N37I3PhrLBD+F/se5dhTw4Pzd63WtWckJ
7pA7c+eYjtLOMZqg0g3mOSy9p59Dw47EicnYaNtyyA9QYkovikjEsmNjxNzgbGGxsAeDevZqJYzV
fyOjwYJgD65X3vKWg84GTqFVFlrjVuy+yLUD7FZgqkv+PTP7S5orbNz3KiRj86Lr7Uz5lTpug3s2
up/u4hfg8kN+0H/+uOSzHkqt7+bUvGf8p/L+BrYQrmWsnooOJtHghjpvKaWYltFbJ3XjYVWzGzDr
8AKZHqCgM9YwrzisRTeftWXmigrpE/PNFYnWEYTC7OYBUPga/FbRnigKlKaNKvGCiR6gXMDRCGAc
88bcRAefDh8k2KLD1mI/CJ6CJU+YDST/7qBFZJiLhm73PPoBnd9JaqH+OliJvvgRJYysL7+/bSLn
ekzVFRm51Pe3/t7AwBxnxufo3ogvqtX59k8cAZat6KWEe3buTzZ797t/kXI0C0kbZoHR837QwvdB
6YNHQdTsCtfIu2noxJWxx0nz/BCbGNFthoC8BRmXp2G8OtN7HEVHhpwe1u9cAzJtkEowLF57CaAU
HjvNMDiInFCa6EBvd0ikP0IRsWYOZVAQihwXdu+MgLfvWHU8MxAsjTawN5yKXR6jBuN9ZueAnF10
39CGuWAYv+lHHakgPLaqvNNnuLF9IZrOcBYkvztS25cHPwJFzW2s75mbVNiZ4E7VvvXHjRtavmru
LSYTrKm6YbpbLy3ss7iNCN4w3m0LeV21uShl5ERejItCFHvSXAiFPp8jKErCMuqJFK9ve9ogPo+x
40kXRv1P1psZNlVcnp6KU/SA3PGfkDChA0vXtRnhqQtAGKPyuAZxngAk93Fw1MQ7wstDcWScyqSG
b0D9/uB+d+YCAvgrX8sGS1G4NXXuBERgqor+AdOZ1pdx1wxexwbGTPXZsBa1oDz9IsGxyio658gn
IYaSJTa2tqlKPIzrG3jhbQeSFu9h6VRMuXnEJgJWH83asno2XrUfD+pzvOmqEWv74GeF/KNNJJwD
/T2ONABzPBrx6lgDSuOzuhZkOSCjV9gnei42C5O+zJzEKccolUOWRYEMJMbdoWHE2yeADzRNkZev
uik5vov45Tfv51srX/wQAH5XxCPMp1gAchhlEalcWcn1ghQ7dPudpWaJs+iO5mybMRteJI+ZY0b4
f0Qx7vI31uBsORSls8tpyfbXfvufQDvekFPf1AVyTGKFowXqRdtM1/ZVuHIBzyVZXT1Yxp7Mp1/j
xYUgrNh0CGtOyWszxWHv5y2hiiTXqz52at8TPsfNTXsrZvGPKASvrMVMCyFg5XgwHgZDTdHUV+Vb
tcmrmFTff3P47IOJAD82Vri+HT+imroaSlUzWjaXihi9KzKc444KADy6Fa2xgNOWetdSHhOQBVoY
46e3IQT5egZL2CzvIpbu9sS61rKcZJFQlO3ZZ2Q2IGWvpSN33XaghuSv6FsD4y6x00jGApH0h+I/
/zjElPLCEYVCEN4gydKFFkBh1Zc5B4IO3/JRQxsOwzMeuMG189xYHx6/RlIh71YcdtV4AR3vvjDl
wvItwELSFVyL4m1y94Hy0nl6uMHoVmqBesMx795B0H7kWKT9BtD2hk+qxiltmyww0IkSqOugq2k6
Y10XHKVA47qe/7RNo3Q+rwWuMrnhQW3N6vU9MBhMuEnXGDL+s+C0ro+YucppSZhc9jQn1r1/Vg1g
k9Qj7hnT8YJEJW4c31CiOhH4OJBTFuF/Z4hVtYnONXRH451eV/0NgsWFc06Wn+fDNQAW+h/opwuH
AXoe0O5caWCxqn/KjQB4++5qLkoi2n3bKepbKtssRqc96iMxlEX638+PHkF5UpkohtCcj0vByAca
cUek302eXZSHb+OqzbPiLUkj8xw8JNYIJAFmaRqmHfWPpKiewwgueXglKKFGrTPhyB8NU2js2nEa
+kuX/i6ttv0kJMcvbB5Yj5f4lXSC7xkaEBP22P1qsplrct9vz45z8N1v8kbNetMccAD8BQLHNQBD
Krywm1E+ZWFesQZdJHzK3sLapPqXxPOPijRm32QsUHtMM/g6M82bhn/zPU2hjN7i9W/zKeegvTu1
+XBQVq2gLa5AxSnIxvPdVdxw4JuPf/1F6FzEAw5WUyJPoZzKT4RjB2bUSQcTvbYAIclLw+4Bi6lY
+C2mN9yVgiZyS54kQBKhhFG65l9OOF1WCxRJaKe+PnBHEj4d4h7DOm+Srgc8ttmJmz8D89SAWxi/
Js3yNuYkuHGPWHt/gYIExFHjxgdg2VCgIXs5kiLKofPpX2LIfRYNXc8KSp9340uxAoeLD/QpRzF/
O6BSBjKVhhxNBF/fyqq/cFUxeblNiANqF/Ccg8wb6e0pnhidRi14MNEZr9t1rfQZ14sH/LWVXm08
5+hp7GnmNjqUoy2WKfsdH3lCePf00oIMmzDjux7ADyRnyWwHoOOQqx9OOYIJfiTvD9/R031xToq7
31O2qnEcu0uKm2p9vzCC/4QM2B6SZ0jStmm50O3Ii/gZf8lBqy5pKRVf1nH0fuWJ98fG3qsm4Zzi
1ME+OvQStmb53n97klFsWR8D51qC4jWcZNVehii1t5QSB9L0hSytMu5AomJQz6fEBFRcfJyg/NT6
NsZhgmIjmBZLg/Mv7J3gyh47rFauFjf5f+Zds5e4kkh3EcKra0Bn/H0aSdJ7lzOmmcro7td3TEly
6tmdyn4KP5DlXux1e3qEouF162Vt6w2P5jZI1GQ0AVN54CjEyd8f+wxrBM3lA9USbCas2bvu+jUR
X3bbco/a4I7vG1rcI1bjdvtsCSLE7qNTvFHQjsOefsFBtiLTDbLzA/ZHrbq81PdZjOxPql7M3NbF
md7XZ0FlYP4jQp81dSSsM8QqZYrk80KKejEcUD+A42WzJ7upeP7XdZuEACWJICMPMteNwYagGS7L
6NxpcYZS9UZrYPazMttOrubh1KsuxJ8WYn0eAinOnMqB58tRbZwnKfkYdGtjMBGaH9Xf8FVVUmO2
IcPhKKxnVTKa1CzLHuX/70dGwdh8RiZr6vYSAWb1OKG2LHP3SRP6DwTKYuJLD4DA1rdVVCOR23CB
p6D91bDH3qsSdMeBXXke3v6dAyfuLryBi6k5zYRklYFUUJRbhYo9Tr22Vp2G7UpDh+Icy376Q3+P
QdHO3xWYtAXFyHmveFJu5Htt9fl49ZDCrLzfk5K7scTeEwOB0D08xm4TWXI4TqdFtiGBgPNQ5D0k
HTr1VjBiIlHLpgY4a728PtAYNmY6eLgJkCcPLCYR+C6I/nQCAe3UI+TtS5k1z3lo/JtlQyBshhom
VMSgPI6fOdynRjTjn5RHU0XRE7EXx9nt73uHVssXgHFqtg/3iaeLGwct47nnXsKDXf5JFV2zlby3
yhyWVx3wvMciD0Zn3RDgcfVJX5ue/hMzo+0Yhr/y0gr+IqHhk69gVf+D8JdOdGoc0oh62CydPfv8
3Y7TLQxxLQq2Tboc/ZktJVMWzcW7cCLrGRz6q8EKaMpYT+RetiqUZnIN8//OgEUueuBdNBZ+9v5t
BYAsHRY28gqWL3uQZGvGJHcPHIWELCixDA5hPRPaf5lJ07hs05KDPUPSIY9RINHXdHjOlyYzLpyN
pM7FRyMvQRj3R2TGf68Pyq82mTsTSeAanbKgKc2twb/Nyr8k43OEyTEOjueK40CYcvylSnX0yFur
TEzSsMddyhL5jjoJr3rGFUAcOueVFs1iO7WfuQaGnY5Q4lYGpK78cEUkNtEGe332nTUH+8oVH7Fs
FunEb75pP1XsNMyL20caWJW7i4NHbPcbV/hz68xylpE4HgkkT03bJ3ruObTIWvQmUFzwC1qQXsp1
EskldrQCCwkkVOfpIge0ftxqY/kUwQd0AKZ5UCe/+o7hjT4NvWz6zrtDooSFt6uEGmpgR1djioQJ
Cfy0bY+KQGZeHijMqFHG40JQNDWiPfOWHmnLMfA8fNjAY5rAeJj3pyIzWtvIK2jDZigtgh7l3ns/
A41aZ8L7m4wZPobIUklHY+3TMD0w4hqSE4JBl1jjhz4McvwNuAZe4wuGfvl3O3UdCjmjvcLON7mC
xLyxaDH5v0ZDEVzbzO3uQrV//vaZ5PLQCqHj8gEYrtzwM8I7YPearYUAVgH0fRSprvDswAF8Lc7K
Tu37fSpXJhjouWbEwaIW2ArXrBaKaiTxX7EenOSaTXFsuiEkk7PLb3DqM3Undm58MQrTkLKqcH5+
bWWsfDLfh5I777WHRBOTuwF/sY2zDnK6h1RYQ/zGvxbz9NzNxOB+MZr3XSrvzTchCBNTq5lfMvyn
qXURw8cOdGR6AsNFS3sPf2p6p4RBLrxihVM4a0GjyyRMTCeawgTI2fi8Asl/kVQ3aL6G9Jk+aOwz
QPj8ObWSZd+P2XPJLSSgPxnC1u4I8uvOUCbT/fSC1w1ALqQ1qA/RRxK9xjAMrm9A/GkpyG9AeS2+
TIefUjgqVOdjbDLUK7ZYpvZyS5iMk8wbfmuOG0RwT8qT+xKUvgWcs71V5+4ENtK6ukjNc+X2zuVm
kS1KzsV62qzpJbMnkE/ZgNZ0GYR/NMX8/5LL9Q6+Yri1cMOajpdOlKu+W2YVEar+J0sOATVbVxZ+
VM45kHDHP04ej7CexA4LHV9I5a04A2sdOtQlh8O+esh6yHTdR9KZzcmlCehoH3gSrEdIYnUT24+W
6guKYcTCSaI1K4YgUjWL5WnFpxoVd7OnAmQJyZ6MG0e/H8DNNBFdMmQfG/oOyW+U4hSwNvQOlCps
srOibVpxXAxghwRtI0iMLARvTC55coaBLUGuWIDSuRzytR0U1xCmYZqCiYXrtoKblAsqiybau+nF
7MQHv5iDYXklDNICfdhS2em7S5Z6VIfd+3LwJme8itLQQbhQCCoo4U+rddISg4wrQslTiXuu0+f2
52/b4jDn9Y5U39k3FqOoMq8oiEExsdlTWfsh9nlUIdl0KPGwXLMx/Z1OIEH9BPxhXuMgEFEop1L8
OHZFJjCPJpLlK9pX9JfM7ZkL/ySgabDiUA+UYVjph+xsZu2Fxdcy0+FJvI1l+X2bEG1N/wNei6cO
t9vosgbAV6V9J8RNWs4Q6eFJvgWnyWEMjw0e0phm/Ua/oDX1pHjDGhIrEExkaS3Sns0118ldoe0l
NiNwjLAD7cPFE44p2NaM6nXrzCU3rKE9xvcFiYfsW82akU3EW3ahuE+ji+fXMrpkLVGVwajf/sXf
VjX6fmc3WIKrmqRLncbZrSfikOzh3s/irB4V+pt3mMZHyHwvsoFZJMgZu5JvD2/HBo0I1Nj1jRBx
Y/vcMos36KUYvf5VLe4SirlPwGo3NCJz4+L8qSXbzHD2silzit/L/3PPAqeQ1QO2mlVFMwUkj3u1
Ui86n0qx0kDkVgcwuFFUh2kAmVXSghe8WKnTDRuHeb9w3OEkc9+RaP05yjXz8L/+i23YXA8WInA3
/UHUTSb51i3/bOA1Jz/3iQC6o+Qse/QH641ekx3+BSVRbDv2ZmzT1HKACJs7bWjTl7l3qXRNn/qP
EefRwqVYgMnJuKtX3zGq8jowgPbJrXs0mkdzdWPJ1VSug3ZmZYA62KES4a2ZDEE7BSph5hvCmujM
rApaFXSYOxvhCSJ2v5tuHi7tJxMuAQv18mkBR/8b5G/zuNI2+d/4Ru4TZvFjXQZnbVDrG3J1mb9i
x33ClS5UbofRxz9I+6UeaTJ4VBaqExenaqI0iVye4RIWNbh7RiKBA76XYoy2Oo3LSPcparLbpJiM
ZOWj/r29hM/3cyWK6fEA4asirsAaRgfvi3dl+LcybgE2C2T9kYW8uh8h0p5VQQxZmDYQ/vSYPD6W
BEG63KM06cqoOKVKsUxNnc6OgPN88NROT8Rvr7jOZ+94tc0kpQNJXOR2w6/i++PcjHkDvzQWcJzw
Lk9d9gebCXl2Kfj3SuDtvrPyqsS9NGbmKCC+JvVFKs8ZkANik96jkemf/xToNmVhUmirW3MCkOjd
hO350njZ4nHPBRXNI7M1VkYCmohKicqX8P+Peapg20UNHxvdWNA1+iBl5uMohFfjx7/rrcSXUCdE
e46gmdJsVauGN0Ya+tPMbqIE4hGiHSXCeMEMRc6DoGtqDXovAuyobAv22V6lVT7zbS7ZmEYUytEK
d+sDELOvwmYAKc93+0dFsGye6GtCwP3lbKiGvQEJ7OAN3o6dh8ixLQdfznxBg6bXpqbpcGS3n+rt
7xXLxRjYlYEY+f0n6LzAeTrYjOGf/t2hj0G5ar4VSZKeQ0FYBhTHZCiWFukHVcm5qiFTqxRKgfPA
Mj9M878RCKcZ5Yb/wiwN5UN7qi9Ij74/JTg8f7DDz3X+0DTjcPY2pyJhpup+eIDM5h/5SPtoBXgh
d3bAaKC9Actbeznz4ICRex8XCmMBkfX1NPfEBWki9sXgOorP2b1Xo4EuG2kgZC6xBert4mgTQ/PB
ndfvumBDL1U9f9BJ6K2HqYhzmRuLevcK2Y+PU9kk69GmPkVVnRXW0vy2nlJ1jiLDbfpitgFPHkwa
8la+R75ghxvDi9nC17g3Fr4pjmnvywAhtM1SKS1OQXZFMOHmvMm+fz5mK0gb2fRnEeOWMu99YOHI
vFk78zybK3qFOCJplaPZuBg3G2AZVP5OKJ1W4JYo5LYCL2qfaRoJMnh436lpkW4APhHOpvoo6F+m
Z3XAMdPPJnHgGiegPqJnNycr8niHkZ+xyYkUAwGLAVcb3H2h3/9/mgUEKoiYnaeckDRU/U/HwJ7X
cIQNMtCftiKc9yxJzS+MTrlrLRz6+iT7/MRxvsC1vkzUcbzUilLgNDpFvAd+0SE6vvuYnremCm+v
R1x/S5epigQ/X/joiiA8PDUoqT6bGWFjyNIjxRwdTbaY6R5sYxBOtG21XZAcKQ3lBVmBahpJhZMV
25i3luQnLuUCjPxC7agJApt9YfCTLhWnwYZTv5Qk032oWRE5Yn/cKxfU8bPf6EZ2+Ru0v3dHL55Z
vCt2ra1Qt3WecMY5oihQU/6BjAj5ogswXKk4lhQuEizA/8wwkhhILkNlt1xONKFhayaKdJKUIxfz
9Kk1r7z7Yt3K4KOLkbZmHQuQJrnyZ5mQJAObhju7u3c8m26irwLv+5LtRCOupLEl36diSEvLHpBu
VXrV4GTdqUsz1EkW9YOBYGiMtZvuqYXXjGRCWos+r/dIIvpHxd4SvOjcH40DdfjL0m8HpVNvHAd/
Ogw2uGpHfBvRwxDVkgAVMaMnOTAKPPIv6O2svLPc80xzD5TVYc7K338NegzZXPKg4LfCX6PpGPpC
iILbNk9TWcygdRaXf0lz49qJNNLntkTTIhLDvtZfKUPMa/W9+2ERuvKrwwch7XzJW4pgHqp9xo1s
2DmYwa1ellz0OLtj=
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
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\GuzzleHttp\Cookie\CookieJarInterface;
use PShowSsoScoped\GuzzleHttp\Exception\RequestException;
use PShowSsoScoped\GuzzleHttp\Promise as P;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
use Psr\Log\LoggerInterface;
/**
* Functions used to create and wrap handlers with handler middleware.
*/
final class Middleware
{
/**
* Middleware that adds cookies to requests.
*
* The options array must be set to a CookieJarInterface in order to use
* cookies. This is typically handled for you by a client.
*
* @return callable Returns a function that accepts the next handler.
*/
public static function cookies(): callable
{
return static function (callable $handler): callable {
return static function ($request, array $options) use ($handler) {
if (empty($options['cookies'])) {
return $handler($request, $options);
} elseif (!($options['cookies'] instanceof CookieJarInterface)) {
throw new \InvalidArgumentException('cookies must be an instance of GuzzleHttp\Cookie\CookieJarInterface');
}
$cookieJar = $options['cookies'];
$request = $cookieJar->withCookieHeader($request);
return $handler($request, $options)
->then(
static function (ResponseInterface $response) use ($cookieJar, $request): ResponseInterface {
$cookieJar->extractCookies($request, $response);
return $response;
}
);
};
};
}
/**
* Middleware that throws exceptions for 4xx or 5xx responses when the
* "http_errors" request option is set to true.
*
* @param BodySummarizerInterface|null $bodySummarizer The body summarizer to use in exception messages.
*
* @return callable(callable): callable Returns a function that accepts the next handler.
*/
public static function httpErrors(?BodySummarizerInterface $bodySummarizer = null): callable
{
return static function (callable $handler) use ($bodySummarizer): callable {
return static function ($request, array $options) use ($handler, $bodySummarizer) {
if (empty($options['http_errors'])) {
return $handler($request, $options);
}
return $handler($request, $options)->then(
static function (ResponseInterface $response) use ($request, $bodySummarizer) {
$code = $response->getStatusCode();
if ($code < 400) {
return $response;
}
throw RequestException::create($request, $response, null, [], $bodySummarizer);
}
);
};
};
}
/**
* Middleware that pushes history data to an ArrayAccess container.
*
* @param array|\ArrayAccess<int, array> $container Container to hold the history (by reference).
*
* @return callable(callable): callable Returns a function that accepts the next handler.
*
* @throws \InvalidArgumentException if container is not an array or ArrayAccess.
*/
public static function history(&$container): callable
{
if (!\is_array($container) && !$container instanceof \ArrayAccess) {
throw new \InvalidArgumentException('history container must be an array or object implementing ArrayAccess');
}
return static function (callable $handler) use (&$container): callable {
return static function (RequestInterface $request, array $options) use ($handler, &$container) {
return $handler($request, $options)->then(
static function ($value) use ($request, &$container, $options) {
$container[] = [
'request' => $request,
'response' => $value,
'error' => null,
'options' => $options,
];
return $value;
},
static function ($reason) use ($request, &$container, $options) {
$container[] = [
'request' => $request,
'response' => null,
'error' => $reason,
'options' => $options,
];
return P\Create::rejectionFor($reason);
}
);
};
};
}
/**
* Middleware that invokes a callback before and after sending a request.
*
* The provided listener cannot modify or alter the response. It simply
* "taps" into the chain to be notified before returning the promise. The
* before listener accepts a request and options array, and the after
* listener accepts a request, options array, and response promise.
*
* @param callable $before Function to invoke before forwarding the request.
* @param callable $after Function invoked after forwarding.
*
* @return callable Returns a function that accepts the next handler.
*/
public static function tap(?callable $before = null, ?callable $after = null): callable
{
return static function (callable $handler) use ($before, $after): callable {
return static function (RequestInterface $request, array $options) use ($handler, $before, $after) {
if ($before) {
$before($request, $options);
}
$response = $handler($request, $options);
if ($after) {
$after($request, $options, $response);
}
return $response;
};
};
}
/**
* Middleware that handles request redirects.
*
* @return callable Returns a function that accepts the next handler.
*/
public static function redirect(): callable
{
return static function (callable $handler): RedirectMiddleware {
return new RedirectMiddleware($handler);
};
}
/**
* Middleware that retries requests based on the boolean result of
* invoking the provided "decider" function.
*
* If no delay function is provided, a simple implementation of exponential
* backoff will be utilized.
*
* @param callable $decider Function that accepts the number of retries,
* a request, [response], and [exception] and
* returns true if the request is to be retried.
* @param callable $delay Function that accepts the number of retries and
* returns the number of milliseconds to delay.
*
* @return callable Returns a function that accepts the next handler.
*/
public static function retry(callable $decider, ?callable $delay = null): callable
{
return static function (callable $handler) use ($decider, $delay): RetryMiddleware {
return new RetryMiddleware($decider, $handler, $delay);
};
}
/**
* Middleware that logs requests, responses, and errors using a message
* formatter.
*
* @param LoggerInterface $logger Logs messages.
* @param MessageFormatterInterface|MessageFormatter $formatter Formatter used to create message strings.
* @param string $logLevel Level at which to log requests.
*
* @phpstan-param \Psr\Log\LogLevel::* $logLevel Level at which to log requests.
*
* @return callable Returns a function that accepts the next handler.
*/
public static function log(LoggerInterface $logger, $formatter, string $logLevel = 'info'): callable
{
// To be compatible with Guzzle 7.1.x we need to allow users to pass a MessageFormatter
if (!$formatter instanceof MessageFormatter && !$formatter instanceof MessageFormatterInterface) {
throw new \LogicException(sprintf('Argument 2 to %s::log() must be of type %s', self::class, MessageFormatterInterface::class));
}
return static function (callable $handler) use ($logger, $formatter, $logLevel): callable {
return static function (RequestInterface $request, array $options = []) use ($handler, $logger, $formatter, $logLevel) {
return $handler($request, $options)->then(
static function ($response) use ($logger, $request, $formatter, $logLevel): ResponseInterface {
$message = $formatter->format($request, $response);
$logger->log($logLevel, $message);
return $response;
},
static function ($reason) use ($logger, $request, $formatter): PromiseInterface {
$response = $reason instanceof RequestException ? $reason->getResponse() : null;
$message = $formatter->format($request, $response, P\Create::exceptionFor($reason));
$logger->error($message);
return P\Create::rejectionFor($reason);
}
);
};
};
}
/**
* This middleware adds a default content-type if possible, a default
* content-length or transfer-encoding header, and the expect header.
*/
public static function prepareBody(): callable
{
return static function (callable $handler): PrepareBodyMiddleware {
return new PrepareBodyMiddleware($handler);
};
}
/**
* Middleware that applies a map function to the request before passing to
* the next handler.
*
* @param callable $fn Function that accepts a RequestInterface and returns
* a RequestInterface.
*/
public static function mapRequest(callable $fn): callable
{
return static function (callable $handler) use ($fn): callable {
return static function (RequestInterface $request, array $options) use ($handler, $fn) {
return $handler($fn($request), $options);
};
};
}
/**
* Middleware that applies a map function to the resolved promise's
* response.
*
* @param callable $fn Function that accepts a ResponseInterface and
* returns a ResponseInterface.
*/
public static function mapResponse(callable $fn): callable
{
return static function (callable $handler) use ($fn): callable {
return static function (RequestInterface $request, array $options) use ($handler, $fn) {
return $handler($request, $options)->then($fn);
};
};
}
}

View File

@@ -1,252 +1,125 @@
<?php //ICB0 74:0 81:19e4 82:3226 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\GuzzleHttp\Promise as P;
use PShowSsoScoped\GuzzleHttp\Promise\EachPromise;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\GuzzleHttp\Promise\PromisorInterface;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
/**
* Sends an iterator of requests concurrently using a capped pool size.
*
* The pool will read from an iterator until it is cancelled or until the
* iterator is consumed. When a request is yielded, the request is sent after
* applying the "request_options" request options (if provided in the ctor).
*
* When a function is yielded by the iterator, the function is provided the
* "request_options" array that should be merged on top of any existing
* options, and the function MUST then return a wait-able promise.
*
* @final
*/
class Pool implements PromisorInterface
{
/**
* @var EachPromise
*/
private $each;
/**
* @param ClientInterface $client Client used to send the requests.
* @param array|\Iterator $requests Requests or functions that return
* requests to send concurrently.
* @param array $config Associative array of options
* - concurrency: (int) Maximum number of requests to send concurrently
* - options: Array of request options to apply to each request.
* - fulfilled: (callable) Function to invoke when a request completes.
* - rejected: (callable) Function to invoke when a request is rejected.
*/
public function __construct(ClientInterface $client, $requests, array $config = [])
{
if (!isset($config['concurrency'])) {
$config['concurrency'] = 25;
}
if (isset($config['options'])) {
$opts = $config['options'];
unset($config['options']);
} else {
$opts = [];
}
$iterable = P\Create::iterFor($requests);
$requests = static function () use ($iterable, $client, $opts) {
foreach ($iterable as $key => $rfn) {
if ($rfn instanceof RequestInterface) {
yield $key => $client->sendAsync($rfn, $opts);
} elseif (\is_callable($rfn)) {
yield $key => $rfn($opts);
} else {
throw new \InvalidArgumentException('Each value yielded by the iterator must be a Psr7\Http\Message\RequestInterface or a callable that returns a promise that fulfills with a Psr7\Message\Http\ResponseInterface object.');
}
}
};
$this->each = new EachPromise($requests(), $config);
}
/**
* Get promise
*/
public function promise(): PromiseInterface
{
return $this->each->promise();
}
/**
* Sends multiple requests concurrently and returns an array of responses
* and exceptions that uses the same ordering as the provided requests.
*
* IMPORTANT: This method keeps every request and response in memory, and
* as such, is NOT recommended when sending a large number or an
* indeterminate number of requests concurrently.
*
* @param ClientInterface $client Client used to send the requests
* @param array|\Iterator $requests Requests to send concurrently.
* @param array $options Passes through the options available in
* {@see Pool::__construct}
*
* @return array Returns an array containing the response or an exception
* in the same order that the requests were sent.
*
* @throws \InvalidArgumentException if the event format is incorrect.
*/
public static function batch(ClientInterface $client, $requests, array $options = []): array
{
$res = [];
self::cmpCallback($options, 'fulfilled', $res);
self::cmpCallback($options, 'rejected', $res);
$pool = new static($client, $requests, $options);
$pool->promise()->wait();
\ksort($res);
return $res;
}
/**
* Execute callback(s)
*/
private static function cmpCallback(array &$options, string $name, array &$results): void
{
if (!isset($options[$name])) {
$options[$name] = static function ($v, $k) use (&$results) {
$results[$k] = $v;
};
} else {
$currentFn = $options[$name];
$options[$name] = static function ($v, $k) use (&$results, $currentFn) {
$currentFn($v, $k);
$results[$k] = $v;
};
}
}
}

View File

@@ -1,186 +1,86 @@
<?php //ICB0 74:0 81:12d5 82:2495 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
RvZoPQSf8ESRP5IjNgVCwM79=
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
vEts
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
/**
* Prepares requests that contain a body, adding the Content-Length,
* Content-Type, and Expect headers.
*
* @final
*/
class PrepareBodyMiddleware
{
/**
* @var callable(RequestInterface, array): PromiseInterface
*/
private $nextHandler;
/**
* @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke.
*/
public function __construct(callable $nextHandler)
{
$this->nextHandler = $nextHandler;
}
public function __invoke(RequestInterface $request, array $options): PromiseInterface
{
$fn = $this->nextHandler;
// Don't do anything if the request has no body.
if ($request->getBody()->getSize() === 0) {
return $fn($request, $options);
}
$modify = [];
// Add a default content-type if possible.
if (!$request->hasHeader('Content-Type')) {
if ($uri = $request->getBody()->getMetadata('uri')) {
if (is_string($uri) && $type = \PShowSsoScoped\GuzzleHttp\Psr7\MimeType::fromFilename($uri)) {
$modify['set_headers']['Content-Type'] = $type;
}
}
}
// Add a default content-length or transfer-encoding header.
if (!$request->hasHeader('Content-Length') && !$request->hasHeader('Transfer-Encoding')) {
$size = $request->getBody()->getSize();
if ($size !== null) {
$modify['set_headers']['Content-Length'] = $size;
} else {
$modify['set_headers']['Transfer-Encoding'] = 'chunked';
}
}
// Add the expect header if needed.
$this->addExpectHeader($request, $options, $modify);
return $fn(\PShowSsoScoped\GuzzleHttp\Psr7\Utils::modifyRequest($request, $modify), $options);
}
/**
* Add expect header
*/
private function addExpectHeader(RequestInterface $request, array $options, array &$modify): void
{
// Determine if the Expect header should be used
if ($request->hasHeader('Expect')) {
return;
}
$expect = $options['expect'] ?? null;
// Return if disabled or using HTTP/1.0
if ($expect === false || $request->getProtocolVersion() === '1.0') {
return;
}
// The expect header is unconditionally enabled
if ($expect === true) {
$modify['set_headers']['Expect'] = '100-Continue';
return;
}
// By default, send the expect header when the payload is > 1mb
if ($expect === null) {
$expect = 1048576;
}
// Always add if the body cannot be rewound, the size cannot be
// determined, or the size is greater than the cutoff threshold
$body = $request->getBody();
$size = $body->getSize();
if ($size === null || $size >= (int) $expect || !$body->isSeekable()) {
$modify['set_headers']['Expect'] = '100-Continue';
}
}
}

View File

@@ -1,432 +1,162 @@
<?php //ICB0 74:0 81:2c5e 82:5647 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
wqRxbMVUe6b/wWe==
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
MIuYdVJOIjWZHgs26Aa7iweY=
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
0UOD5AGi1oYH1xDIAMWCKhIJwZu4
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\GuzzleHttp\Exception\BadResponseException;
use PShowSsoScoped\GuzzleHttp\Exception\TooManyRedirectsException;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
use PShowSsoScoped\Psr\Http\Message\UriInterface;
/**
* Request redirect middleware.
*
* Apply this middleware like other middleware using
* {@see \GuzzleHttp\Middleware::redirect()}.
*
* @final
*/
class RedirectMiddleware
{
public const HISTORY_HEADER = 'X-Guzzle-Redirect-History';
public const STATUS_HISTORY_HEADER = 'X-Guzzle-Redirect-Status-History';
/**
* @var array
*/
public static $defaultSettings = ['max' => 5, 'protocols' => ['http', 'https'], 'strict' => false, 'referer' => false, 'track_redirects' => false];
/**
* @var callable(RequestInterface, array): PromiseInterface
*/
private $nextHandler;
/**
* @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke.
*/
public function __construct(callable $nextHandler)
{
$this->nextHandler = $nextHandler;
}
public function __invoke(RequestInterface $request, array $options): PromiseInterface
{
$fn = $this->nextHandler;
if (empty($options['allow_redirects'])) {
return $fn($request, $options);
}
if ($options['allow_redirects'] === true) {
$options['allow_redirects'] = self::$defaultSettings;
} elseif (!\is_array($options['allow_redirects'])) {
throw new \InvalidArgumentException('allow_redirects must be true, false, or array');
} else {
// Merge the default settings with the provided settings
$options['allow_redirects'] += self::$defaultSettings;
}
if (empty($options['allow_redirects']['max'])) {
return $fn($request, $options);
}
return $fn($request, $options)->then(function (ResponseInterface $response) use ($request, $options) {
return $this->checkRedirect($request, $options, $response);
});
}
/**
* @return ResponseInterface|PromiseInterface
*/
public function checkRedirect(RequestInterface $request, array $options, ResponseInterface $response)
{
if (\strpos((string) $response->getStatusCode(), '3') !== 0 || !$response->hasHeader('Location')) {
return $response;
}
$this->guardMax($request, $response, $options);
$nextRequest = $this->modifyRequest($request, $options, $response);
// If authorization is handled by curl, unset it if URI is cross-origin.
if (\PShowSsoScoped\GuzzleHttp\Psr7\UriComparator::isCrossOrigin($request->getUri(), $nextRequest->getUri()) && defined('\CURLOPT_HTTPAUTH')) {
unset($options['curl'][\CURLOPT_HTTPAUTH], $options['curl'][\CURLOPT_USERPWD]);
}
if (isset($options['allow_redirects']['on_redirect'])) {
$options['allow_redirects']['on_redirect']($request, $response, $nextRequest->getUri());
}
$promise = $this($nextRequest, $options);
// Add headers to be able to track history of redirects.
if (!empty($options['allow_redirects']['track_redirects'])) {
return $this->withTracking($promise, (string) $nextRequest->getUri(), $response->getStatusCode());
}
return $promise;
}
/**
* Enable tracking on promise.
*/
private function withTracking(PromiseInterface $promise, string $uri, int $statusCode): PromiseInterface
{
return $promise->then(static function (ResponseInterface $response) use ($uri, $statusCode) {
// Note that we are pushing to the front of the list as this
// would be an earlier response than what is currently present
// in the history header.
$historyHeader = $response->getHeader(self::HISTORY_HEADER);
$statusHeader = $response->getHeader(self::STATUS_HISTORY_HEADER);
\array_unshift($historyHeader, $uri);
\array_unshift($statusHeader, (string) $statusCode);
return $response->withHeader(self::HISTORY_HEADER, $historyHeader)->withHeader(self::STATUS_HISTORY_HEADER, $statusHeader);
});
}
/**
* Check for too many redirects.
*
* @throws TooManyRedirectsException Too many redirects.
*/
private function guardMax(RequestInterface $request, ResponseInterface $response, array &$options): void
{
$current = $options['__redirect_count'] ?? 0;
$options['__redirect_count'] = $current + 1;
$max = $options['allow_redirects']['max'];
if ($options['__redirect_count'] > $max) {
throw new TooManyRedirectsException("Will not follow more than {$max} redirects", $request, $response);
}
}
public function modifyRequest(RequestInterface $request, array $options, ResponseInterface $response): RequestInterface
{
// Request modifications to apply.
$modify = [];
$protocols = $options['allow_redirects']['protocols'];
// Use a GET request if this is an entity enclosing request and we are
// not forcing RFC compliance, but rather emulating what all browsers
// would do.
$statusCode = $response->getStatusCode();
if ($statusCode == 303 || $statusCode <= 302 && !$options['allow_redirects']['strict']) {
$safeMethods = ['GET', 'HEAD', 'OPTIONS'];
$requestMethod = $request->getMethod();
$modify['method'] = in_array($requestMethod, $safeMethods) ? $requestMethod : 'GET';
$modify['body'] = '';
}
$uri = self::redirectUri($request, $response, $protocols);
if (isset($options['idn_conversion']) && $options['idn_conversion'] !== false) {
$idnOptions = $options['idn_conversion'] === true ? \IDNA_DEFAULT : $options['idn_conversion'];
$uri = Utils::idnUriConvert($uri, $idnOptions);
}
$modify['uri'] = $uri;
\PShowSsoScoped\GuzzleHttp\Psr7\Message::rewindBody($request);
// Add the Referer header if it is told to do so and only
// add the header if we are not redirecting from https to http.
if ($options['allow_redirects']['referer'] && $modify['uri']->getScheme() === $request->getUri()->getScheme()) {
$uri = $request->getUri()->withUserInfo('');
$modify['set_headers']['Referer'] = (string) $uri;
} else {
$modify['remove_headers'][] = 'Referer';
}
// Remove Authorization and Cookie headers if URI is cross-origin.
if (\PShowSsoScoped\GuzzleHttp\Psr7\UriComparator::isCrossOrigin($request->getUri(), $modify['uri'])) {
$modify['remove_headers'][] = 'Authorization';
$modify['remove_headers'][] = 'Cookie';
}
return \PShowSsoScoped\GuzzleHttp\Psr7\Utils::modifyRequest($request, $modify);
}
/**
* Set the appropriate URL on the request based on the location header.
*/
private static function redirectUri(RequestInterface $request, ResponseInterface $response, array $protocols): UriInterface
{
$location = \PShowSsoScoped\GuzzleHttp\Psr7\UriResolver::resolve($request->getUri(), new Psr7\Uri($response->getHeaderLine('Location')));
// Ensure that the redirect URI is allowed based on the protocols.
if (!\in_array($location->getScheme(), $protocols)) {
throw new BadResponseException(\sprintf('Redirect URI, %s, does not use one of the allowed redirect protocols: %s', $location, \implode(', ', $protocols)), $request, $response);
}
return $location;
}
}

View File

@@ -1,254 +1,274 @@
<?php //ICB0 74:0 81:1956 82:3242 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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=
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
Z40=
<?php
namespace PShowSsoScoped\GuzzleHttp;
/**
* This class contains a list of built-in Guzzle request options.
*
* @see https://docs.guzzlephp.org/en/latest/request-options.html
*/
final class RequestOptions
{
/**
* allow_redirects: (bool|array) Controls redirect behavior. Pass false
* to disable redirects, pass true to enable redirects, pass an
* associative to provide custom redirect settings. Defaults to "false".
* This option only works if your handler has the RedirectMiddleware. When
* passing an associative array, you can provide the following key value
* pairs:
*
* - max: (int, default=5) maximum number of allowed redirects.
* - strict: (bool, default=false) Set to true to use strict redirects
* meaning redirect POST requests with POST requests vs. doing what most
* browsers do which is redirect POST requests with GET requests
* - referer: (bool, default=false) Set to true to enable the Referer
* header.
* - protocols: (array, default=['http', 'https']) Allowed redirect
* protocols.
* - on_redirect: (callable) PHP callable that is invoked when a redirect
* is encountered. The callable is invoked with the request, the redirect
* response that was received, and the effective URI. Any return value
* from the on_redirect function is ignored.
*/
public const ALLOW_REDIRECTS = 'allow_redirects';
/**
* auth: (array) Pass an array of HTTP authentication parameters to use
* with the request. The array must contain the username in index [0],
* the password in index [1], and you can optionally provide a built-in
* authentication type in index [2]. Pass null to disable authentication
* for a request.
*/
public const AUTH = 'auth';
/**
* body: (resource|string|null|int|float|StreamInterface|callable|\Iterator)
* Body to send in the request.
*/
public const BODY = 'body';
/**
* cert: (string|array) Set to a string to specify the path to a file
* containing a PEM formatted SSL client side certificate. If a password
* is required, then set cert to an array containing the path to the PEM
* file in the first array element followed by the certificate password
* in the second array element.
*/
public const CERT = 'cert';
/**
* cookies: (bool|PShowSsoScoped\GuzzleHttp\Cookie\CookieJarInterface, default=false)
* Specifies whether or not cookies are used in a request or what cookie
* jar to use or what cookies to send. This option only works if your
* handler has the `cookie` middleware. Valid values are `false` and
* an instance of {@see Cookie\CookieJarInterface}.
*/
public const COOKIES = 'cookies';
/**
* connect_timeout: (float, default=0) Float describing the number of
* seconds to wait while trying to connect to a server. Use 0 to wait
* 300 seconds (the default behavior).
*/
public const CONNECT_TIMEOUT = 'connect_timeout';
/**
* crypto_method: (int) A value describing the minimum TLS protocol
* version to use.
*
* This setting must be set to one of the
* ``STREAM_CRYPTO_METHOD_TLS*_CLIENT`` constants. PHP 7.4 or higher is
* required in order to use TLS 1.3, and cURL 7.34.0 or higher is required
* in order to specify a crypto method, with cURL 7.52.0 or higher being
* required to use TLS 1.3.
*/
public const CRYPTO_METHOD = 'crypto_method';
/**
* debug: (bool|resource) Set to true or set to a PHP stream returned by
* fopen() enable debug output with the HTTP handler used to send a
* request.
*/
public const DEBUG = 'debug';
/**
* decode_content: (bool, default=true) Specify whether or not
* Content-Encoding responses (gzip, deflate, etc.) are automatically
* decoded.
*/
public const DECODE_CONTENT = 'decode_content';
/**
* delay: (int) The amount of time to delay before sending in milliseconds.
*/
public const DELAY = 'delay';
/**
* expect: (bool|integer) Controls the behavior of the
* "Expect: 100-Continue" header.
*
* Set to `true` to enable the "Expect: 100-Continue" header for all
* requests that sends a body. Set to `false` to disable the
* "Expect: 100-Continue" header for all requests. Set to a number so that
* the size of the payload must be greater than the number in order to send
* the Expect header. Setting to a number will send the Expect header for
* all requests in which the size of the payload cannot be determined or
* where the body is not rewindable.
*
* By default, Guzzle will add the "Expect: 100-Continue" header when the
* size of the body of a request is greater than 1 MB and a request is
* using HTTP/1.1.
*/
public const EXPECT = 'expect';
/**
* form_params: (array) Associative array of form field names to values
* where each value is a string or array of strings. Sets the Content-Type
* header to application/x-www-form-urlencoded when no Content-Type header
* is already present.
*/
public const FORM_PARAMS = 'form_params';
/**
* headers: (array) Associative array of HTTP headers. Each value MUST be
* a string or array of strings.
*/
public const HEADERS = 'headers';
/**
* http_errors: (bool, default=true) Set to false to disable exceptions
* when a non- successful HTTP response is received. By default,
* exceptions will be thrown for 4xx and 5xx responses. This option only
* works if your handler has the `httpErrors` middleware.
*/
public const HTTP_ERRORS = 'http_errors';
/**
* idn: (bool|int, default=true) A combination of IDNA_* constants for
* idn_to_ascii() PHP's function (see "options" parameter). Set to false to
* disable IDN support completely, or to true to use the default
* configuration (IDNA_DEFAULT constant).
*/
public const IDN_CONVERSION = 'idn_conversion';
/**
* json: (mixed) Adds JSON data to a request. The provided value is JSON
* encoded and a Content-Type header of application/json will be added to
* the request if no Content-Type header is already present.
*/
public const JSON = 'json';
/**
* multipart: (array) Array of associative arrays, each containing a
* required "name" key mapping to the form field, name, a required
* "contents" key mapping to a StreamInterface|resource|string, an
* optional "headers" associative array of custom headers, and an
* optional "filename" key mapping to a string to send as the filename in
* the part. If no "filename" key is present, then no "filename" attribute
* will be added to the part.
*/
public const MULTIPART = 'multipart';
/**
* on_headers: (callable) A callable that is invoked when the HTTP headers
* of the response have been received but the body has not yet begun to
* download.
*/
public const ON_HEADERS = 'on_headers';
/**
* on_stats: (callable) allows you to get access to transfer statistics of
* a request and access the lower level transfer details of the handler
* associated with your client. ``on_stats`` is a callable that is invoked
* when a handler has finished sending a request. The callback is invoked
* with transfer statistics about the request, the response received, or
* the error encountered. Included in the data is the total amount of time
* taken to send the request.
*/
public const ON_STATS = 'on_stats';
/**
* progress: (callable) Defines a function to invoke when transfer
* progress is made. The function accepts the following positional
* arguments: the total number of bytes expected to be downloaded, the
* number of bytes downloaded so far, the number of bytes expected to be
* uploaded, the number of bytes uploaded so far.
*/
public const PROGRESS = 'progress';
/**
* proxy: (string|array) Pass a string to specify an HTTP proxy, or an
* array to specify different proxies for different protocols (where the
* key is the protocol and the value is a proxy string).
*/
public const PROXY = 'proxy';
/**
* query: (array|string) Associative array of query string values to add
* to the request. This option uses PHP's http_build_query() to create
* the string representation. Pass a string value if you need more
* control than what this method provides
*/
public const QUERY = 'query';
/**
* sink: (resource|string|StreamInterface) Where the data of the
* response is written to. Defaults to a PHP temp stream. Providing a
* string will write data to a file by the given name.
*/
public const SINK = 'sink';
/**
* synchronous: (bool) Set to true to inform HTTP handlers that you intend
* on waiting on the response. This can be useful for optimizations. Note
* that a promise is still returned if you are using one of the async
* client methods.
*/
public const SYNCHRONOUS = 'synchronous';
/**
* ssl_key: (array|string) Specify the path to a file containing a private
* SSL key in PEM format. If a password is required, then set to an array
* containing the path to the SSL key in the first array element followed
* by the password required for the certificate in the second element.
*/
public const SSL_KEY = 'ssl_key';
/**
* stream: Set to true to attempt to stream a response rather than
* download it all up-front.
*/
public const STREAM = 'stream';
/**
* verify: (bool|string, default=true) Describes the SSL certificate
* verification behavior of a request. Set to true to enable SSL
* certificate verification using the system CA bundle when available
* (the default). Set to false to disable certificate verification (this
* is insecure!). Set to a string to provide the path to a CA bundle on
* disk to enable verification using a custom certificate.
*/
public const VERIFY = 'verify';
/**
* timeout: (float, default=0) Float describing the timeout of the
* request in seconds. Use 0 to wait indefinitely (the default behavior).
*/
public const TIMEOUT = 'timeout';
/**
* read_timeout: (float, default=default_socket_timeout ini setting) Float describing
* the body read timeout, for stream requests.
*/
public const READ_TIMEOUT = 'read_timeout';
/**
* version: (float) Specifies the HTTP protocol version to attempt to use.
*/
public const VERSION = 'version';
/**
* force_ip_resolve: (bool) Force client to use only ipv4 or ipv6 protocol
*/
public const FORCE_IP_RESOLVE = 'force_ip_resolve';
}

View File

@@ -1,206 +1,119 @@
<?php //ICB0 74:0 81:14f0 82:28a7 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
Dm8kqj6Lp7xnEkEpACI87m===
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
zOj1FuKnRM+SB8gVoZK953FnVKXreErRi5kZwZq==
HR+cPwVI3snAFVH3jc2QJu7DuT0qbIO2ynBhGCEizzvXtOF+jKvhQVqeg3Wv0A68G8/+eOdOWpIp
meD4uRGtfbUgTFJl3QyC1667lqGaR963aPAQmyy5cVvZK8jAM1bYRTGrO8wPwoQhFipBHvKhOdHe
+DbWFQjH/ZURslyqgPfygiEY0E9huLHSWjxtR/9BG7N1hRM/YNNLLcLbc5IwcvjRVzymvWQOCXDc
7wQ2cTyHsu8N5SuVHOlF8w11rjo/KXpIAEc2tT+VQ+q5lt/cvBANQfesSOOJw0YWdc33nGf7ckgq
NFE5NYscD3ZzH5n++CmdustLzPpXJsuAROBRA7FXZgKim7DJ3iNZzJVn/qHZSzNhXJgAATLU11RL
Ji/n8LZi67c1OXNJtv8SkPvi/eq0PrbF5BGNyaUan/GWf3VFz4MVlyqrbYwdWzhbFHLXxGgvzW8M
pYSc8xT8ccfe6G8b1esTBYhfCzSKRvg96v+FIoQ1SfysZK9M72drnKGbeeqhB0/eAHVEWSH+CGxD
EL7qQInixg8m+pDxNcVcgN+YoBLdeIAL4zEnpydKmuwQuDa+t5IHNeVVeOUUwjR9DkbP7WP+fF/2
UFoo1W4lfUSRo8orsuXL/H6OXKOwp4cwgB0ohuoGBe7UfWKPBBM5MPNjgvffxrRhWSI1MDuzcEs8
yivChF7dqi9RUPokpOb5VvBr/yW4QdGk4fXWwKWijqaBeFeEhL/4ckjUp5v5jf1WmjMUvFsmceq4
DSFrlc591sh18b43NaAHiqJux3JrP8bqNH/0DndtOtfqy5BhjWFYeiX10CYaf+ARfboLRiJ6dVlz
Cm/7/+zYvOwKJpJ73hCSFVIhI8tQ2+4Xx/STYvgkwrl9fVPKvpSHHv9kPicd0ZQ6svX/HWQyHBUZ
+9nph9IzANOMYPnFP+j1+16lZlO6kj+QfI1GT1TkpYzqUyAJ2eo3Z8W6fgEr+5B3LnqFTJAcI7do
1LiFUijgiEFitJdJ25NKRWW42KUdTNhpTG0DDFONCL2Gaa9BIHf3KsDiacQEMoyf34ciRrAkL53r
woCAkvyDFXt8vJQiYPfqAgG+BA3vct948xigxYKNHof50XokGX9ghXQ4x4clodxkloCkGx7bpJRK
73bwssYmnO2w+RuiHRP/ruXwVVKnw/7cpmQMnutAL2Kt/eMAQ5QccAAH8KSuoRSWRpDZZeg308aG
GjhncHWUjaGDk80bm+bFbOygSJjwv80hAwVC8rIqsdklIkWeFYquILehiE9BmsFk5Lq8LdSBTerP
b243XOU3A0YfrpYP6KY4UyC5Uz1LFsyOuGEGyUvjN8uqzetV/9h7uZY1fBcALQQiAkSmLu4WEDIX
PYeSeHjiKFkWj16ybViZ+jZsaraNaHsklHcZ0KSz0Ci8KjIaIKJndmsUUdigD5o1Kli2Md7CCMlt
++qGMwm4kObQH3OqgAUxT/1qocPduwp2xShSHaIzvYkgVAOBaY41lUddRjPtNWX5ffxbcc/ZlAtY
Lt1Ieg+NE2fkptxda3hY0xf8dG1J4Jc8hkQclpSY20cj8gQqVSgCSqCc7Tbvf/S+3e0SacJabSCI
Tv/q9SbH+ft5Z/CdGylnlnd1Vf1PTng+PkmlyzEwKIOOl0ZR65JNUkZC8gdSDJzFOzNbCdMWqJj2
/EYjGKU+jVnfce+TrkFmgV8p/QLdaTZGX/sDJjm9d71NM0/DWN/HMW5Hs2sxGV2t67J+0H3URpIs
RQoWvLKLCPOTTthwolFGX9HHiHo3ovBO8M9+PPoQMih8ndWKqNNf5dQ9heeDZ7Q5bTHy/KneMPfY
DnQ7W1F9z7qj8eiXz00HxT6F+3Q/Jt4dW1O1TVidzqcJc1NIRXxAvGZOb/QD4dQhfC6+T9MvHwb5
MGLX49TLWSgX6t1RMZ58a5BnS3LvjEHANkhWbGUiWJUbkQRzw/lRNsqwleDPM2a6PxY/0IK6g+Rm
PxzGfuHaapt7ISkRZ4jPpeZa/Fj74AaAd3NeL4OaRyKvQ9zWGvT8ErAuXVjCzvuKAGnqdqExQMni
/x6e+gXp/kcOudUJ88clLXoVr/Q6v7xnQYCMP9aPbUD7EnWd9OOW2spfWhoe/S81bZT4C78Odi56
p5GciQmj2LX390/1FuQsIG76lyxwyeai/+4m+Lkz1TmB0JTUkEDkxaM2Tst/KPMn0tcDmON0IIb8
REoOA5ryTh7PBlRNiLpIQhr7Bp1hfgwjV7KrowsQp5p7SIO6wHMfDnI2mOaPNENQYe4sil+FYMEz
ox+knrVxcYJMbq6H+34P/rHkG1aUWQ+qshY2ScX+O5JHrVavTBPAG0K499jftHs30i1xh89E4L/A
WB6vaq/xscDZaRkKNi2zfgTa61+FvOuRgTHj/aOuoKMWWKqDOv+KypHn+9jz8aiJ/40WEd+9GAl2
c7ySzs1Do9i7Ja8MVnBXXYXhFR0GMrpuRAEDAnACeMKYaJCDtArMjd3nMonyMtP8WYnQPw2a8Qt2
f/BOg5G8ZVEV47akIMvgML1tMqAvcmPFPgaKE1zsuMZt5b/szqKv10aIr/EV4y8cXlEvpI8q3d4T
ZgEADPOH/N/64XhtJS+IPEvQTCoQX6AQeIWRC3JqDKxRH1Sk42BGqfaaBcxcDmvQh35bv503A4hw
DnbIp5EoeOf+FM4zOWt06H0b3WDASSabbZAUDYV36sDDj5kGth9uaE2yUQRiG3t9SkbkZw8HWEGA
1RhHZrlXkjjLL6qOmRZYgwr3h/P3I/0JdHd0Ik8Rk4pXD+Fry65YN8umN3zRSh+9/n5uGbumgFH5
zwYW5b+W+aVC+hpBypNE4pHFqekz6fgOeAr7vhxtoQE46fkad+4HGx7bVUHrABB7FhPdE2X+kX0L
qG+cXso8I8hCY5GHOwoag1wtr5HEEqSxHrQ8NdOorTxpCjd9bdFaDISrswRXHYdV+UT6XrbrniM5
Uwsyj6tMab5ff/SrW+eaZGnykHcaaAmlFr2EUIZGoVQpjCcVqhvEwHgacN0ZVnkOfE7eQop41wqL
kL0YRihe2Z7zKQ58qdCQWmNEHH/joDBTjgFi2fFUBHx4g65xR2IN/oZiFz72s8SZyoqF+Kj9jzTi
ZHNnk8HqU4WFA8TziVUE7XVUz5g66zjZ9HD28rcE+OHEfBdstUkVQoIvky+xcBncOipTtiky1csD
gp9CgeM5bPGh3Rz8H4SK52Xt7yE+ARstA5qLH9NjNTMlZro9+Vjizs6oSKRwYqyxdRzEdn9kjk+k
Ucks5hHk6tjfNYXLFmNsKSiux6C9PseDOGaWTQOKccPBuWSKzQy8tsAOjqEBKyNiV4uTvAeZ1Ktv
6khwCwEeWWolxMV0Cr7pDbbO0CEAI7hPLpruYLvgU9B2RMGIux4Et2PRjjLNPuJrV5JCkKjk1Wh5
D8VSOdMi22PdQB9mVIL2S5WH5LLw26dwDW8eK6rkkxkWH7xoj9L+5exAAaaWRdTQZBrmXTQRt4P+
Mjlq9FpiuJEM6p9MRT9KkShvqp9nzP1XQBkDR8JwHWopxmhSb2uTe2YWXRtnG3Bea0zojyYKZMso
5Fz8D9GxShMnO27xUDqCTRmJ4yUj7TiqFOO2PEhBp/U7DJ67obxe7dym28VdFpxsFvyl75OTpXaX
7Rjq1HRBuhV0v6Mz4McPcRhXW6B7JZsJlXAz6T/kiib8Zl6kWqwcccdohOWIZBr5QlTOItHar1XU
jgke5mO3BVtgA9UOcOjHblI4wYD5DDsYVJhUrqVI4zCwsfwdLkddbAzdQfEnlwQqUf+zrXZcHDon
uKrFHT08i+6yG7rW9yjDofMia12vNI0cruFjrt+jQnYOC3FOJSLFa2gEAh9sNm/cE+I/fxCn1lqn
H58MCKiHaSXchimXWxv+KjZygvMQq2keVY9QlkHCCZS4fz5QHf5saP05wullB1iwM7VolpDE6rxZ
dOdAY09SbwX6uvLWqahIT/OUwh59K5t43vGcGnKAicBfBd7yX4KUewZGdxpGjyT6S4wQ1YMuNxqF
DwkRixIsajUNYmCm9jAhZoqqCSIqBF2QOp+Q99vPp4W+Cy2Ryq2CN1o3gNzjv4YO+Fy9+JAJudxZ
eC9e47ovteFY/L3K+jNIJB3rJfc4F+p4EGYxl3jhCSph/P/Sz1Xuqf4GYNo2shAWqCYaM/hhvMI6
d6aAyMHTQEeFuu6zTue8I8LgrW2XEPzzLFbxaVKDWMpHq/HTkLl0kxui4Aehw2m/VzOJl6PfNtX7
iPEMQ6PigcqZmdfsjqFpbY51+Ro32nlwAG+NcmMsLsn2kxfC2idy4jBtpDXlD2Sfdul9L/pY4OQu
0AXOu/kSIZJlaTooMkZyGz/dxdytXCrr8Gidn35UxDws2csk6c5bfIAov9K0LHGWJnt00Bb5/emf
U++8qdS9vq1Avcz22I3Wa9ebQeW0zyqAbU/B/Oi5fDD6A6mi7GU4h/SZIY/eUeS6cAUeeWiPR7o3
XytcSwrteyJwAFBxL+7TX0Hu3JEfvSNfKrP2A0yRgGe4MqUNe0yk1maw5tW2AbIbSuwOeCgBDtJq
O3Qlq8SbACP0HfuUGpa0ktDDyufKVz+O2DQ8fnoqKjtZX7x/dRtWWeA35WgPtTXPCVg9Qd/3bX4J
ZxZzO7h4TxAcosfszatmTN+JEv7Pdy40ZcU9Xugyx4Ok9uP7m8jpSgCKvmD8/7NJvyC/f7g5+tls
qneJsXny7mDozhfrc5WqEHgnGcMZ0X54H6CcVdjGXHJ5fzjT7+GtqS1wVu/Yqf/QX+6zBngb+SJe
2NQlJbRb5g5KllKDzcKPYuicMvNgY53TiU8TRiiGaubnPEjqu99dbABU/QeA1r66r1q0qK+ovc8b
Eyn8Ci90rlIQUfFQ9KLdJZFyNZdUgP6PAy0GVSO9BBpUKtpBWHeAWm/sg0rtpCwbBNvds3fYZffr
H4qWUihw8NT4L7402PaQHdSoHnXR4coowDJe5kRsNmnx/tCcDJwECfl4OWJ8K2xFeP6ahuC=
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\GuzzleHttp\Promise as P;
use PShowSsoScoped\GuzzleHttp\Promise\PromiseInterface;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
/**
* Middleware that retries requests based on the boolean result of
* invoking the provided "decider" function.
*
* @final
*/
class RetryMiddleware
{
/**
* @var callable(RequestInterface, array): PromiseInterface
*/
private $nextHandler;
/**
* @var callable
*/
private $decider;
/**
* @var callable(int)
*/
private $delay;
/**
* @param callable $decider Function that accepts the number of retries,
* a request, [response], and [exception] and
* returns true if the request is to be
* retried.
* @param callable(RequestInterface, array): PromiseInterface $nextHandler Next handler to invoke.
* @param (callable(int): int)|null $delay Function that accepts the number of retries
* and returns the number of
* milliseconds to delay.
*/
public function __construct(callable $decider, callable $nextHandler, ?callable $delay = null)
{
$this->decider = $decider;
$this->nextHandler = $nextHandler;
$this->delay = $delay ?: __CLASS__.'::exponentialDelay';
}
/**
* Default exponential backoff delay function.
*
* @return int milliseconds.
*/
public static function exponentialDelay(int $retries): int
{
return (int) 2 ** ($retries - 1) * 1000;
}
public function __invoke(RequestInterface $request, array $options): PromiseInterface
{
if (!isset($options['retries'])) {
$options['retries'] = 0;
}
$fn = $this->nextHandler;
return $fn($request, $options)
->then(
$this->onFulfilled($request, $options),
$this->onRejected($request, $options)
);
}
/**
* Execute fulfilled closure
*/
private function onFulfilled(RequestInterface $request, array $options): callable
{
return function ($value) use ($request, $options) {
if (!($this->decider)(
$options['retries'],
$request,
$value,
null
)) {
return $value;
}
return $this->doRetry($request, $options, $value);
};
}
/**
* Execute rejected closure
*/
private function onRejected(RequestInterface $req, array $options): callable
{
return function ($reason) use ($req, $options) {
if (!($this->decider)(
$options['retries'],
$req,
null,
$reason
)) {
return P\Create::rejectionFor($reason);
}
return $this->doRetry($req, $options);
};
}
private function doRetry(RequestInterface $request, array $options, ?ResponseInterface $response = null): PromiseInterface
{
$options['delay'] = ($this->delay)(++$options['retries'], $response, $request);
return $this($request, $options);
}
}

View File

@@ -1,174 +1,133 @@
<?php //ICB0 74:0 81:1170 82:2229 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
HR+cPuF9aOen5MgjQNW4gVs7R+P+lOndnQWbt24ErDcCpCT1uvSIuyz6szXukvUckPzo7e5Kywyj
kWtfCkPJGB7G2o/f96/TjuYANvLTDnWDTtd/DCoElTlLUCw+uJdu997Uvk9xdt06/TaoJYcqDp8j
z8l8sI+rvumhVZAd0RkdoRdl18eAr5IQ2TreCM9ZIGe7C4R//mGHtg/MXRh9mbhM1xtQ1zODc+fA
JXofPoRuzLZzyjB94b1x7YCmkQq5MP6YbmNsKtQ6Mov9mt703M5M6q0A053BIjT6Rz4D3PdTPRaj
dvXas87Qt0vvlEbei/ZB1m8nbqHuO6gulA+9VHIwEioqP2BH9e9a/m/EUpQpreKS0Q68bMScXe2r
RyDslqrO0Cuwj9Tv8Wc06WZZBM329ByHtjMyqaxxtuwYdTCcU8r37/qMeEi6HyIo3BL2kEiRw7Br
9SaP/OQnSFPwZpGXZRe1nrc134xsJSR8RYFsDFzuIalbiYPVteNkWZqDqQ9tiUXxC+9rxkLJXHAQ
/TOc1L4Kr9UV8jpncP07N/JSd6qhw3WuOTP7Y7xGTDHWx/OBa/f8cZ7TlxqAy05ypmAHPC7KGrzz
8YRczMwTX/32vwdHMr1NLD52efLhrIlVt9kvYJwkAPzNil96BH+BemfKl69LoqQXsNoTzbtkT8P6
fZLWZCKWIVhKzTBv3rNYpxOgcDdOPOy+oxMffxo7/86gGNXrkxRKTJVr0+JMQQIIeW0pHhmaVIRm
Ig93RlXgtHFkVQXhaj3lNJ1bWs8gm49bQRP8Pz3Rm9PAvWG1c+TgXMfvNDHKqTw4g4YoZPVjMdvd
tlZFW+fuj/91ThOG4CjWm7TXhYkP2kRPKmVAJbWsqOJ0pSKcDV6TzRbPMhmov1jNy5Rz+Kh0ejhF
K2gulRCX1hkWwyfUSCXEXuM46PKclVkssWbvVq0kcl5c0N8EjSgUooN76JEdtBIbSmoAyensd4qG
C1pbB8nmAvq657lR6g3JyrDyPcH8VlLlIlSbf8Yr9+9RZ3Djvo3Pj6cvocBlk0LOXSlNs+Nx5xAj
mFRHe2tdkzQIKN2YCP3kdiCJw8eeso8K40cHmKdMWQLSH3h3RjK11/TFVVN74Xg4umlcL9DhDZR/
4qVRaa0gZD/2sJuKENhXSyv9d5h5o0FpUpPqhz5sMo4ZOLCkYAk1u0Nd2rB5OuSBTACAY4WsZUqS
n+x/rqU0Aeo7K+W6m+Ia/drUJ3WKdEdmLw/mNV8Kzx3PdH/NBzohn/yIzGqmCf5UrEa9E6i+lldG
9Lz1U79yekqOtNhuGbZq995sCbhuXU8CwNlSp8al7+gmIG7OKPm9L4aBqMyhwFfDcFLQftk7X7i3
pXKFfvBxda39X1Q1oZP++FwJ7c8ANJEiC1NEuc41Bq+N4Nc8CLEQXJBzNqyWvFMlQ1CRGEliMDe4
0z+1rBtiUphmZK9GsURdeY2DUfYNnf9kGMqeLWnrzGILpfq4m6F4tlYMo0poQwd7LgG8mIQJZuvy
ODzhF+kEsnFfyQEqmARO3uB+1Y8OYogVqvbhSSHsNDnspOLtPXbCykew9no85jDhFGK5RIBPc2k5
PqXbxWIEm47sb3jTLH07+nLwGrd3mnF1C/oUKLiX0qa9divzLKaNYP0HmmLFeH6KVxX1TnsmV9xM
CwPoMlVCisOzjMFXCB7Yq+Y8SyLI6XhxOg1zFYoLmoQVrxhjC8Noa+/9TkpmsfE0o/gsMJdgI+5u
/sk+ubC70somP4YE7Q96gxnqArUhcqV1glfC0zqp8Bzw5QxwOZezI0fxYfxJ8UiPeFAfB/uMSSQT
nzPVm8T0Ha5efRg2I8/OyiVZI9HH8l94bp7W2Cdmq8nmkoiW6WN6IVXaqP1kguHNi8lo7vCpRJx5
4FXMT8FqX3bNm5GDNXAmyvf2fAli4iaMa72JE83Jl/rj3TnJjVK9Zc7XBQJZ49Q4tBuHpz29RJOn
GnbuXR0qkzGE+bHvofUvpcCmbOyg5i0H1GOv9N0LODhdxet7QLQSAN+yPSE4svO4525+xSIRA40M
rCGbQAXrX84F3x/gUizNsznY7/wLKAyakf+BKHwwMjgwQS6sMNHBUdJQYL+G46fDxfcQCMwchRLl
cPsHBd4V++gAzj8oGjeikgZfWgRXLJ2T+Vur83PU1MDDnX+4XpGxid8gXQ8PQ6F/q7Ycy/aKZjd/
SOWG6B/sKhQFSfANw85ybbSLWDWdQR9fsxkQtVoNqNepj0GEVlPrSF8t0UINtnl2dLp6zSCfaqUP
uHTP8hMEXUy7J5qU5DXDPG29o5K2Jb7sW2p1t5uLzMUcjakqqr8cSUorwg60XrAHHc4YdbuCMEKr
6hXAUFl7H0GbV2TIRyAjxpjqEKl7obUBfGwm195E14quxe7jv99EPnNqAP7tQWrW/zbwM44dt6DJ
lC+OivLKWsRzu4gtItX2XkNhZBmR4O6IrTE99zUWIBCeBQokJVKNdVq5yCL+rvrAFHesEg1v4pRg
Vj4ttDCvypq8iTfolGvTsEvCNPtJzx0rBYgoY69vBVP6IDzyTdE324nrPKi1v+eObSA3UBzkJeRZ
OVrZojeaYvzAXKM7n/c62YMwHegfS+trlWWDPaam9AznMYqhgt/r/a7qa+k7aFUrIVQI1/7l2Nwb
h0c5DZqcR4m8BBdxep1H1Rrtcvn71rJgXIqtx7SqfJ/VtZJYP/wxo2AjsGA2o7BFmp98t/+8YNsV
Uhb5Cz769YzymeXZWQz83mbvRIsqaRSbHTSab4okWh3liGh+UrPsbSCCdT5ZvQcwdCWbYwVND4xN
paIHCPqJ3YQLSqVMhPlsQIkoIR18WDAhgN4GAtuT7MHsIZl9FQTPqG4L0y+TDZjIciorIzzNYNvn
y0zx3ASHNVa0pNku437NnK/LVTbl8y61ldaScTN2z8mGpfdduorwdd5ic/6xa6/2BOi8JtFut8Sv
+W1vW1et1s97M/2fqZBSc9lDPgmz+IraD+OZD4Hhb5hiZS3cZ3UGbVPSaGDjnhGC7EkX7YtSRWUQ
KM4Omuw4Y1jB82qiGqDnSAw5uif1g95j41c7FYil79yl4hEaC89ys76GH0k3id74Nof8gCDBGbvr
fLKWUHiS3NMxuyGgDqsZq9DMX+90EOX5wrkKzjEh/hu0esrCyg+nS0XiAr2KWGf6r+S6dRViOmO2
fEgDSRNzWy+trd3C1qbvWaXvrjhh3crPrufAkT4TPj7WlgngBIkEuKrWMLmF1CROrJ64vJM34rIq
kVkiMUpeFb23wLG7w+lrGQvUNNNOo+u/8g7juV04+6gNK2LknAp69Bif8FTXyhbrIP9UDcAdwH5b
ivTnpXWEa5/+OImJCsSqV6GXZYObXwZp+NBAYPecSh3C2MSdafscl2ZsWA4bshPle4sQ9QxmjHEr
hhErJQ58/FGq3FJWvu9EKwYvSuksKZT5Qprrzyquy65arWPTOtT8DQi3XvgIKHm/YLoiqytlFo/r
PmtuPw3pNjwJQfPOOveXFH/vBtWXEeHMEByARI81Xt+fB+5rdmbyZLLxjuLm3WcuB3ER9JCAa7K5
/oAbKxs6FSYkVx+oO+TW9q3iIg3BfvEiB/KRKgswU+Alfy3PpXmCojVK5fQJHyYo5BwDit38blZ1
Jb5BXRdTC6Vl397+8b4tkcydUg4vS4i3/FQtRYjdcOo7Av+C01qSsTnaobOnTXjxfHerYbleHizn
toIGjJHYv7WHILTy6owfPO/BcSzrZuhrCEsPh714mY28ipHsk7fjGu6AgrsMDYAjTD095tDjEeeV
SGce8JW3537/+O2Z47ZaztSv8y0uiWwsbkRQTBZW7bYPhiHsDtlY3UoeqpJbeGX0CdA+FRqHTOw5
fqKTIZE9dgAvo//5onnln2HBgCVAHOEELmtUvnWggpXMpEhRZnqFmOofyxDNdzToyLB7M8y5aEnd
8cK+KjtnuC+4AeNUjv8kc9aQQVM3x/nDCztctGrVk6SpNBmvuvLwiEsYE9bhkJbIvHK3ykJmJgU5
M35y+l7EqcuFZk8hmmzl4o8iuJ0U5A7FEpCcaoUj16181CDl3wjpqWZy1m0UTj/adOG0y4N9x79N
t7LxPPyEMjwN29ej5qiMe3+0wodMkGu6p45+NYnOxF9aj6PFtUSRPQ9QzPcBgtXjCERR+3bBndaO
Vf54vKP7we3zPtbGV2qbSK9g5sLyyoFz/J2pMPZipjou2vQehm===
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=
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
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\Psr\Http\Message\RequestInterface;
use PShowSsoScoped\Psr\Http\Message\ResponseInterface;
use PShowSsoScoped\Psr\Http\Message\UriInterface;
/**
* Represents data at the point after it was transferred either successfully
* or after a network error.
*/
final class TransferStats
{
/**
* @var RequestInterface
*/
private $request;
/**
* @var ResponseInterface|null
*/
private $response;
/**
* @var float|null
*/
private $transferTime;
/**
* @var array
*/
private $handlerStats;
/**
* @var mixed|null
*/
private $handlerErrorData;
/**
* @param RequestInterface $request Request that was sent.
* @param ResponseInterface|null $response Response received (if any)
* @param float|null $transferTime Total handler transfer time.
* @param mixed $handlerErrorData Handler error data.
* @param array $handlerStats Handler specific stats.
*/
public function __construct(
RequestInterface $request,
?ResponseInterface $response = null,
?float $transferTime = null,
$handlerErrorData = null,
array $handlerStats = []
) {
$this->request = $request;
$this->response = $response;
$this->transferTime = $transferTime;
$this->handlerErrorData = $handlerErrorData;
$this->handlerStats = $handlerStats;
}
public function getRequest(): RequestInterface
{
return $this->request;
}
/**
* Returns the response that was received (if any).
*/
public function getResponse(): ?ResponseInterface
{
return $this->response;
}
/**
* Returns true if a response was received.
*/
public function hasResponse(): bool
{
return $this->response !== null;
}
/**
* Gets handler specific error data.
*
* This might be an exception, a integer representing an error code, or
* anything else. Relying on this value assumes that you know what handler
* you are using.
*
* @return mixed
*/
public function getHandlerErrorData()
{
return $this->handlerErrorData;
}
/**
* Get the effective URI the request was sent to.
*/
public function getEffectiveUri(): UriInterface
{
return $this->request->getUri();
}
/**
* Get the estimated time the request was being transferred by the handler.
*
* @return float|null Time in seconds.
*/
public function getTransferTime(): ?float
{
return $this->transferTime;
}
/**
* Gets an array of all of the handler specific transfer data.
*/
public function getHandlerStats(): array
{
return $this->handlerStats;
}
/**
* Get a specific handler statistic from the handler by name.
*
* @param string $stat Handler specific transfer stat to retrieve.
*
* @return mixed|null
*/
public function getHandlerStat(string $stat)
{
return $this->handlerStats[$stat] ?? null;
}
}

View File

@@ -1,621 +1,338 @@
<?php //ICB0 74:0 81:3fa2 82:7c61 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
tFQ+3QztNe1itgQ3V6QJ=
HR+cPmyVENURme5unywiL7MolE86x1+glK8vWTPLbj1h41YFoBXBQBdTSKmCHa5mH8BgAnjD/L3D
+imJhV8XGC6/d4ZOiBc0dh0jmGL9ZpiYyV5swENl1g3jKi7znP7YaESqhzJ+gh4Cydntcc9K6det
hkfh7voi95fekL4Klc/Kw084tZKgW9NlHk19ubs+P5T5tbrTQxFS/PGHrPe16hqSn3yuPWvk5BF7
7a7HPACgDwcDeD7WPKI4yKAiELZRi6btUWDpbkmkhcKht980oNhn6MVHfI0P2L5Ffz5C0Pxk8jkF
4ajbgVDBp5vKEnRXwd3TYSuGzHUy5WjMElFYtumKgwkuE2cQKx8dQvwa81T+wmDADDG1tGiACxYh
Odf4OJBJjkyIk1Y+A34jLxxpjSCctnA6SzeJfI66efdFafjU6JyVLpeE51qWzwg9BG/GgTSJgTGv
CwbJWBeWvcauEpCNUuoL95N+1zDx0X0GfeWvxxclSyLt9rDJc/E4HuVASaTfdirN7n+cotEG9bh5
vFCHu0QybL2WRAlcD5hb2SpBuI/co8lrVNJCFh4741XGNqADjeqx07cVPQ4iPzzBXB5kc+h292qJ
zVrTxUmMcPjSJ/wGZs8dzGucreD4jCa4Tornbbk6J2OvQC3u6dRakGZta8qDRfr/vLvuIyrN4bdJ
hpMI6keEZkw3mGxdr4/K5TRiqqSJgwdM1FRhEWFTn8/XMYwj7FLWR6yv9WmTshLQzp8qY0wtXYfY
9Mk3Im5vq+uPkWJPNB1/E2eOv8K1xSZJFdirucMoyi2cRb5VQ4+9As0FE8vKOovRY4B1B0PDFspE
ECRIMbUkBiCAbByS9Y6ECmTXvt7tCFPH9/p+oWrf59SK+FgRjcq6KNk0/DBg2o02ezERps6i/V05
mVoDVuIHx2e0bI+jvyoAoYyr2/JzbpjRpIsBP+mbWtgY+t+U24231Urz6iIMdOJN9ScURCC1GtFW
Tbu0A+C4ycujHUWjjbujRaM26xdjbJ9VRgfRwcELb6BflztMWUTU+GJW0DgMnSG01lyO74yiTjY4
BuA3WA64oq0LRK+sg/vo8Uge5knwIMSDLiXB+3GoairmdSriXNKYhYBz4GBgTBDkKLZGq98ne3yd
/oX5mv7xJtFOsS0zicoNpWnFANF5jXVK7hvEocrKbFFwyV22uTfMqFkLhL9vOss0pA3/h8rcALGk
iUf/V4n8uGG3DqKV+Qw0fF3qayCMIP4e+det5Qwi1N2FaJB9P+BAvJA0RfK1WpQCocwR0gAQVv1R
R4fFB5WAzbL0zReug8YiQeoZjuxY645JOhCgjta9Nw+0xZ5ljlA0eh48cEtKffxPD14g+n1NV860
X68V96r7DA+IewUz3CQFPKtu8G27BNFlO7DSV5tz1ZNNzuH2qAWSvg59S6DdjAIVj2nDQevjoRLb
v/2PM4sj6oAGvfiovh1QXRt8w85CKHZma0OmRY//S1BjqDkbhJ0r9BO1gDJgm82k33FvslSs8MnA
ss5LXCjWlSXv0AwMf18X/xEL1R90+NgaTx3UWz2TyG0g4BnY6Hk2Gi1lWYxVVXGK2VNfSRe1YvG+
pSAHS4aDPMhDLl/lDnYUFPUJv4o340nHcwb3iKh9iBNFbzbc2u3YT871aRD74+bzoNY1WPf4YYcN
7/o5IB7JKqvz7sIpTYq5lXW3nWx89asX8q9rkBvdaiUVo+B5gd3nb1jZGt4mdFmwIZv7E6lY3kZO
isub4Be+ift28gVmBnnY3zlW+QnEWvtyffrQjLt9d9RnYoGPP3zZzSBiR8ZhrDVaSryUtAZmrUp1
PgtYZgQXbzLgJZQARzZes5dV/hKh+rK3Oh97QwjfDI4Mwi8tMDSgRBHXcISvJBhPV2Dn5F+oYxGO
eKwhowJDRdlvbSaJmvjB45/XxXpcPcquXd7sByuavbZ4OxXk4UUIA5S68JURYlL6PTLS/x29Tnf7
mMfAJXc+rmUyx8qNseUVdiJoZs4nEd6lvyKeebUSiBmwPUlnZMoTLYXy6Fj1Bj30veNlU1qtI1QJ
a/Dd18R61b6+Y094lJBPLFHaVMOCgP2+32hz24eIRQPvbAsjiL/ktibnAFc65EykQqbQFhGCjxT1
ggSWsHN8F/y9Tx8bY9r98xEb9xJlHQtNMUteYkW+Flfiyspmr1/9LYqcZeN1FG9AcFO6dkt+vxjH
dIM3FeZWo2i2cNI7d68dgI3C+vfjeQzzAd8fxFfGOOovrNFdtHW1E7mJhoomQ59ahXH6Yq8GEuJa
0glbueYZKxh37JFX5CBTB4gGT59nuI4fVZK20dYzTXwRLTdKKM2bjFikdgcF6eAeexSjHwhQ/qRX
0TUVLDk4VG4O2v2Pf2bwwEkIy2W+t7qON7+rTC8N4r+YG3krRzxFEVcqDsW/xchRnYy5vJECyZk6
qndNqy9EEpKVERVFwqDvY9J6wcy2tNd59/pQhZD3FQMDvLZyZEiY96hUInyWLPxON8n+HmlTyywZ
qyPIwssMdax/Xh4xZhGEZCX7BPUrTekuHjMH5SD3An4Z1rnjYJuDPLO0JBx3Kk1ejZlMq/gsqSuP
ux780DC1+6ZdAWFKqZ7H4MMvxrSAQijPpN17eO28KlgOQkrSDP4dpbb6qjtqU6BRA1mU9etJJjjk
vQewgm6YYG5HFSgtIVQvGgDc0fGgpcrQNhRHl62UwCF1SYbM75pnm/JifAvBn7/IboWC0Oc/h7AB
ISmY2SprkOaD3YaYDu/e2cZ+aNWKbcn6nxeObhokZSqifIElxipGfi3bc53WJvK/c2UOgOd+VBjz
O/Q98eQNk7B7vJGRhxZzit4ZUdh+DElL4bM9DCDwtdxEtbqaa3ewlv/Ca6+ty5cy+njqUWcB9NND
7OdzQImiYhjeAygIPFc0Rt7KBmFXkG89cuXQsVVYXsMv3Q1Mek+I1mQuVui4kUaVHr3D+IX7/9PJ
J7A7lT4GSe0g61XPpdzyN0AXpKEnWETbhBBmVwM2Z7Hwu9SE7STdwrV/oM7Ii+Lm0ajOm+/KZIkw
Qjg5kzjBoBNN1AqZa/2p0Uvo9V6E7mR89kqwJjcSEb9tQHRCzIj2meddnxax4b5ZCIGeQBtOBAvt
6R6qcayzFb6XAmNSKtLGYoZgQ1jUO5d08ThddIDIY6fq4tAexmlu2KqMLXQYT8ER/+Pafyg1f/3N
lCv3X2Gt2hzYwsKVLfpz02Sto0opxEYF2IlapITLiGg5juanW9ZDzLSAb2h0t5FY7NajL30ThwtN
0f43Ph3B1SH1NhWVdharEigUyjPZ+frIAkxNDvuKvhFqAIJz2rk9/D3xbqyWpvmx2FrhT8Yd3lCb
lXnoq6FKajXhN1X5zm5dEzRdLijBoRHnXQNKmN1CYO+Kk7L+Z2SechH0JrX4YB6xaNIbCmxOxRwM
s40+gfoTRznNrwntBzVkDF1iwTBsp/KFsF9WLjLF0DK+5mDF2STX709YZ9LDObi67kuSperQrYbK
1m5lFe6aNok0C2GZsJVq2hG7NJUfk1qFhWlxfy9+orlKgOx4edscSceRUPAUy+bA1tJ8yAwyfwUA
/ohtoD522hTAfVoFwKpMDOqva49x0gvcGKu7MYnue9JwVR231wxMx2KT6meZgd1elh4CCupO00pB
2CbeBt65phmaNEuFRQe7iO65JzAzRdhMDHwJqWsWg7Vp/GX6WOWaXByWNmyaQsGe3qSjoPOxOK8P
oM5tPSestXBG0mGbnhMTPNfbhvYQkiFQUpyJQy//TWz2lhxQudaBp5fihyLOTomKwKvXpgPV7FkG
Q1rHLVqe9240LlET7EvnOBwkwhuahZQ6B+v4Dm8pxwU0dQw2Q6wQu0kfnmW59d0H4794K1Q2wVyf
dwiTpc/a6T5UQUJk/AH6ChxWk7ThTGN/xTxEzEN4uhpgJH6DWK2UjyqWhGNCsABWJRuOjLXT7AnO
EjIJ9C6N8JI3Hb+qRgRJjzofgkPgoJ1Vw+YpNogol0936VHKvz17zxgrnHEVElv2+kObBwlzQUVL
EqzFMJZ53+0HZ3R0/JAhDlpeR0Vt23wV+eUtPLz08OT6Zhp4b3ehUHrsCr2HpIGJIgwyT+Papd8J
hbHWKvGv7R115bwlQf1BmZeg/IghuWne+ObhCGIxjWGtxcbtsqnKKnooSvOTvlyGKbh52zQFNbkb
iG+hxGW5dA5vJcxVIqBHwPhSH1ozGNT65uOZiWm51iSGVqsIVFFt3clwNupBRxQ9pW6MEho4+LsU
Y2PNmW8l3Yw6DsxA20b5GpcLrtIZx0Ta0Ro2w8OAa6JcnakrKo2hRq33juGtZ0D1PkwBU6i8T2NP
dFkkIqtG6ctgBwetvLOM4pJPW4xowEEZgCIQjxYQTndJC7+BESBl5CchHUTPTErHqI59jIIMn3eH
pDjOr8UAaGrpe/Tjmy10wfeeGNlfaaq7gl9pq5FimKwZp79hAB4OQtBQ0oxv6I81L/kD+z1RTlDo
MC7AX6Xn+b+OfIq079hZQKBXhiuBO9FNG5oIKEqrzGCoIy4UBvLzrMrUdCmqMUYszlDzMmnfqsme
sAPrGrM4o5N1066t+KeL5KmDYkaHHphpEr8I1O48FM1PahaqpU6fMdYgjYPy3B+hVopOAiFcdnFG
C6g2vd6iQGgnymzDW87qmgIhlrx/2pA56OjdQXaE4/zwVyOn+d2VtQIcjamaoH34DFKesvfXAGiD
BvCYDU8DK2ULeUGA50IyUlOiquPXG89yrT/TIhI0l0VI/Q/T/7yq262unehKmR6VI4cC37qZ1lzq
uibPqHdFsNJMlvXQ9JBj65S3j3Z8kKtp/87FKj5Dcga1KAUjJsPvWGK3dU2Zphd309HqgMV65Dr7
LiV229oYNfs621ZXIP+KobuhG5F+FsSG/KMwE5RM1UJyWQzUiikOu4fob1xKRs3hsMNk8S+ia2sO
Sm0xxYS5NADo6RE7p1JvtT5WQbFvPc6C6LyWxGLX9eIaWytaHIOo7z2bfN4qidGWit8EWOtw1emz
0Gq8zQovfCuzzLyC7eJJcCZ807lmAKcDvqAAFYd+UkK2mDUUXWxnwB+Vy1KBVYxUCXNvtIaMsJDR
1+cHCETOrRidI6BNP5GlK6zfC/EuKh3SkzKp/lvrhaJRV9DjJ9qtmFg0P4abJI/X1Uouh7WjFGxC
Q43+L0BOAok/25L1BxeqlBnygqS+yvY7sl3m41pjNCXKMhMW8U0TjrPJIK0b8CCNY0PhEr4EmNIO
CjTupDmYC4HXCjfq4vW1CCgpBdICMDVpH1y+upi/d26oCiXkQVNWnGlzPW5QtxmTFTqFx73N2A5b
4H/jrscRAcF3xA0wnruWUZ+z/XFBcN34QaDri8+Qhij2ibDQ/B0Mt8jjlsMiYfn9y+tdBeKoJtW6
rZzW2rEu2JtbIxf3U3YVw8HewORzQ2689GmTiPU3Eo08gz1qwEhQ76eXV0K41Fq4tCOC+UcGuVH+
1Vfd/AvnJCK9CBrmceReUC72zovg1EOvY9OBC2HkcbrNIe1j8FiBwTT7KGxPZNT2gT8/QuVxeE6x
nh0U3hW485X+SaOuAjhysc3ZsRROI/36ARlVg54YA0LinjitHG4c9tsJVzqm73tXZ6PbyJaE/OdI
7mcyLjt6wzglTkCzqu5QrqjJc/TFS4Te3cApg8uM1H5Y9jd33aMHVhuCvKq6VI6qvnr8h0tbBWzm
1MduX4g3JSmBL5XKs/JhG6oUWbQj5O5KSEur8+Z1q94bYeBBoxJUO9VhW3iwhbjzC0E38ME3gQsg
pbMmOFQ8jqVC97N0e2d/fRYewhJi4LLpXXr96hycZIhqL9oZuJtH1i/KondTKmnDk9rc7k8IC2Kq
8LjFhiUcib6z3cY63vGZTZvJWmIjv4IsgLJpS05muADiVpHJRuYpI9cGra2Agxdqxar+sDsTe3Cc
KjfFoyco7EOmXs6SuBYykPXV5Z5vH9NbhQP+x+dGexiNoK6tGHQJfqy4SCIJaNQzAt6W3lE3Q8bE
YOajv25QQa0tIAjnCK++LHDzHByEhQdW1T0FEO9nuMNWsb9f1LZqURFFlrv84RZJG7YnfNpfiNjx
vdZh2VzoM1ROjnwFPansEm1pRE3fVDJzJQoxXh/eTony6USKBUfuKj+uEegpLRkDDraafYNtHVbZ
rnL/e7quBYOcCf8AhlzJKMiKvzI5IDGSmuxuRMzC9kGE3IHYdsbJ8qfxXIlgVXVF7C84saGrrMRN
CvmOPKDHExKrbifkGLkC0NVD6S5zknusLYF6APvQ7+zex167xzkxJLG28Yg1+ZL1aocIJSd9QWAi
feHuixSIlexQyRaHOD+VsXg11KopGJ9moe0mSQAfUKwInI57LM5JAezw2mLVAzp4fGCI4iuTS0Jj
FtdnckdKKrZ0byzs1rlaEe5uImo7qoH7GsbiN/s1xi6BrKcAosum41zBPKxgKrsPhkkMsvENE9RK
9i9xVAmhc88CzwkuZPjkgYcwSmrvCXGqFwntBWwPdvdhQ8ucfnSnJNoR721NFqqP7n8SQfZJLk/z
P0Cr4s8Rvp1cGsGcnTX3nIbOR9DHe9Xb2iGIlI2/mvZScoWJ+8KJv9HhGZTJoBfzl5NUdDlBcGar
cMMxYUGAD36+2VoDkj/M3k1uYIy3+ycn91sqDZU4zeKfIMhle1aepD2WcMGkBma7OMQZRIl3iqBr
ALq80+cUIuYCHwPKWFqTAUJgJ9JkwWoitu0jBoBoFyRP5fPncyShogmdNKijeO8T6UGA9LdEVzSl
tD5GozuLQ6Xj0y7iRCkagTMJxGcpL2rkITHAPY0lOZGsbjtvUJBNftcKOVVntr9+jOwj/zzR+y9C
uoHQ9gUYqTg43NERJ0Nu6s1DjvhJ82gpN9zPa+m4AI8H0hiDJeIF2oE2Sw/4ydgmdCCWD1jedVUj
R3ltYDiSXxir1KdQt5/zbQ9yJeSwuZCYNHfJpUmb6cyWZvbfw19TczsuyQ2xXNBI1YL697HT5hYY
xF14I22FxdlAKeYaAcM8bPW7KEZ05QitiQZURIaCstthHcEvOv2e8qB/aiUBjBRM53ZzWJyzghEZ
ZtPnHwXB1ALkqJvgV60qQV/nana50vsaYzbPfWxe61SI0eN0yYWT/g7yKeLEVgYzNDcqO9hjKZ5R
SEGL1SIM3mGMROz4TqCW+xZq97KNb8OXzhGXOphBMFwVDTVGFai6JifRfc3guOT5w5c6VsdnTuao
aHlSs1cDd6VfFSzalyE+zqDtmQsbzxmkfbpoA4xF8zni+sjM+RqGs5Vv7W38Dza/7et4fCFPjsbu
8U0j951VS1zP8bvao69HiEP6BUSOYGATpLmchTDLPXqChuYNpgwu4InsIfLd0X9h9Kc72+mSbDeP
+vImwn5zIcHUgK1I4ExhFa2IcR4CZpTQS57eT2ptJbsVasab5VsFKEVB74ZuKiu82UBUwarY21QH
NrYCajpZ0bwRwzNFdAC6RjIBmhE7NcZGqobNWneh1bgXHZiKcFIUbPGcKU+yFX+8qWzErEN1Yy4V
kTecIwPBdXiquu83lW5Ol3q/ctjf71jxwW1smOgQ8QpEQiPv/yhcyYhhbTf6WJhEXDs6LlEX6i7J
Mw5ShzQ9BBADYqEwUVadr/sw8ahef2BFG0hOGFQBor5eGhL7ytnoWpbPvrCK7igHX48Ew0s4QlRP
Fp/rokOWly5NnCshsSSwjehnHKulxes0a74D49dmEtTn1LY+mqrb1lFlgleO/ufihmRRdMfEZFt0
0LC3VWoDcURhuIoP19hmCAccxXxuxJ3wrwJjgbYZVwjO3UrB6xYIir3Z+ziteBgr+RBRQ+uIH+4W
EFhNbqzbc8urIALP8Us85tRq3e7gq8Q3x6KQtmnYQy9fG53sxgmtiODWLtmhr+5vBwyg/HtZEJFe
ZsKST0tQHx5fRnhWRHqFH83IHvHtIE7DWR0C4ggGOWWXWZq5wjlEK/Tv71MIuD98umU3dJkprOP7
JjLcHjtfY6IoHOXVUoZsLMuhKhqrKcBvMGjtNMHsPiek1ZEYrm2FZHdXxg5p37ZXxfUoRJ+pBxMG
z/SQjDuKHQ1aGTjsLXKqt0N//dXii9dFs0TJKdkjqrDgl2ZK96PC42kfteESf38OoTAnQ/cm/t9S
cFWge/aj2EkBj2d+PtZx0PRQBEQZfc2XP9UcllZ5shxhwkD3I9rx9jJ6c0JYYwZxAx3/jyl55wLI
qClrlNvL0sFNDVwoirgy0x8D418OKB2pE0qPI6If1Ps5zvMz2ySnwpbrnxSdNQZFyhvlUHeC0LzU
0Yq0jJd12Em984/2HQqQiftw3A0rh/6g7mk/stfX/V3KQ/E1X517ixQz+GOiE1iIm4yGZFP0nTbp
V/tfLq+dL3CNq0s86wH/yIWK1RVcZUt325uucXb2u0veVk6PvC+evto1tshzV0CGV0cSrYbCfZAg
NSWbw40zGOQerNnKeaigXzFrcWin0GP4ypXfOo2VYZbvid2NwHTzRJLCpxvBmiZvCqLcJInIg9/Z
L/bHEz+ke0HR4GmfFju/WeczOgBaZ0bGLgEaRpiEMgEFqtP5OHWwWuEYbPnCbc7HTAPrgB/BEuTR
VWSP9wNAntZLzfm2Gh1h3ZlTyaUePgTU/HCshkWTQRp9m2GNc7TfhuQaXvyzqjO8k0b9L5ZBjPwl
ym0210cohuWT6Ijpe0LsHuK1a8I6Po+CHrfuyHHV/EbtKr9v+uuTdZOt6DZ4rSCQ30PGgNKGYBV6
dkgzw7ibzWvXDY+2grGBg8lnqm8sZz9DfQCf9YaqNyVPVKljWAdDQRG4rODICOaCMgB9p1Ff8JWb
//B4vzo+EqWVYJ1xEAQ8Xf7xLcPMBjT9nrnzMt33BscPiwZ4l7JiirJK2WtswCespt4uiJfiRsN/
yJIhqRRHk3l95bFacm4Kdy46H2HRl4Azsy94ICiIhbK28K+FnWJNvyL+gQ1Fri4q3r5itNowoXKA
3+yX3x6sYqm/6Tirs7YePmJzNShNgLeHzwwqQUvwIYUBQpYq4siKJWx6i7LsHY3/WB9oLJetXytH
gTxhN3Pnts08m8YASRhrH/1RJUiPoCKBQX671o+NcwoKl6dO3hSS8s3Ju8O+KGPRedDP/8pdWdij
6GW0lKB/9N4H0hFa685n14TFmK6zEPgZwY+8gCKhWMDxlMM9KUElYU+oyBhJHcXshSzMjChun20j
NoFUqL6NYp0OrYvJ+/TX/aYf391bNzhk4WiMe0hnhtImUcR+jFZV/PJ5O7Xzjd1PnaqpTENHjbgL
y8kyUt5svMvTkBW9p7+LHtz/UR4t60mNqUWGwv1CO/FvwIGV7MYZSPQQGX2XnJyt3iZ7DMxVmXHS
76EPthsRT2pkjEFm1Uj5y14vSy/8Kq6eT57StrtrDcepXM3Y1dn6QJ1FP7berYn5ru2TLehqzGIl
El4Y6JdvwgLQsw65iJGd/r1zcW9+gkbpnkfFr7gGhJeN95Z/bOsVAzXzWZJ4I+Zd+tQKKYqnknMS
6hZJuPTNvi60DqetFHdYXwbUkjs+nNaX2PLLSYbF2Dqz5QsQCxNhu3U67JX9tdpLd5xWeJg5BMZ5
7hvw5Yo9kGiSX3W9A/ZEHNfNZlxeATINIRBoRoDwNG0lagvH6l8X4BsV2lkI+RiEAUSqBDaj8L69
pM9waXkvkyoVdEkYpzcIGCH/wToqQ9/+ykn+w83hsjCF7DRhj1vF+4ANvYZMbHpEIhtMs0unOCeU
8z0/3viLtpK7gFY/DrC7HsfmZTxeh6V1eiLl2UThIC5dDt5SyG5lBTmHSTXQch/P3yOlh/B7PWwk
IUHQ/16/fKqgIlDkGjW1imF3oFmk4o8uJ1asLtDExuwbqu6b7INm9Pj+OWesvnwB6Hri1NnHIR/m
CDqOX/aR5pYCSujUnUlmvRwTHTObZ8uFBhnU15DLJ9uUN+H+xJ+Pa9I0IJZLruzqR+41N3i4wHlD
UFoXFjNaxaraPgeHFfuSIbRR2POuXMibjlajw2Xh0znk7gfFIffE+Uiqe5PlbxJpFsRQ2jYZgz/+
FdShvWmusWBqR5iaSlRFVtsbO0VJit5OzltxkeQD6MN3e0YTbm07Irp63gto/Pbzsg/x4gfyK8eO
UdNpRwN78G0/+SpsnNq48Plku6jEkwYiwo0RxpPW7cTiG0vB8D2SCwohoJN/st1zlnMZaf8NiDrs
WnA4HejJpPCGXSYUyIqRQ+ZZBOQ6f/dOyy/8XkKUgwxRem2acR3zGoxzhqSFneHc93TgJwisRRuA
+Y0UbksxMTPamvMH1NwaWpM4u13dxteVe1uVLl5tZCsmNPFWYTcOqJgJHTRpcCTGFdivXr3m1+qW
Sfi5+EgLVOfb7T6HPt/wJA2gc2+feMuki7S+K0BeACpdnYLsQCLNIGY+//HsINa1mweOUokEv32k
uI8AZnx6Y89lCf1qdgh5rYhfkz4RogpslSBBljv6GgWOofAOQSFG8jy+um6M4IWTHgJ2CjxbuMTW
jfUNietlaRuofv/cZ5tyJPyz5jLPJ59lDW9JNmZqlgck4DG4m5wlw4kTGIF+y430dnb1DOtmCzSH
Ql4JU2cj6+eP7Qoe0duQDzdaj0T1+qNzejHHovzap2p3SPVYkZ+FAJb4KahyJbs8Vntjm8tsAdXH
sLkhJoBx+LRDqviVOl/TTTDr3+BbwlZxXD9NfJGpUr2u8Is1EUvky6USKBvM0izADQxkMZktZJ4x
bZO/Ov6DN51VKcUbOVYqRDVodvcYPztIe8eD8d+UBzG8yu9pl3NfmM+KOYmuuPySuAfFon+6Tag+
QV6aRQd3NNSevsz8WQrA0L0IxfeBS+itbiLShKCno5b47QpCTM+uTVvZcTaH15fL+i2jxhkynQHz
M9Xjv9Tl0A7XN5sqwHCXAlR6rcZzWBGapOriDlxsyjC3YmF6MewVXWzR7qjmuSXG8YsSvE4LfkXU
PChbOpNhtgSFRDbLKk3LtBA14Twl5Hj5X+Y/OwzYLIjlenp1b8jtSGG4W4tdsO1FuTg6Vj2Ywofy
MVZoTSYB98Vs7Qj+yAVnWWrC4UILRwknJenlPhFCRyFb5jpDp9ECKWY1T6Fq2v9tbnMDC7EzLroj
5YlTrwZPJb7C1d/OLIOPnuuQKf7RKuunRkxxtbjdOhtbkWpxVJ3R9U+LQ+BKuXoauSnmFskiMem5
sQQc12P6Z5SWyCCinu+LjJa4YKMr3xmji5UHNl+p0w+aVpkV9vpEE6v1gdP9uVTiCqAjabUk1dLG
8RQrW87xVVV5z5MB0+q5Kyn3rzjwAFdOFWu5SFDgyElFoNVZjt48Tjru4elgbXhMswrslmYKpV5I
suXerzR4wcGKKZwn9683OjDn8KhY3511riw4GL9tcQMiKvG4Hqu0RMaERERXpWNGBSQQ2lGupChu
81Q7ZoZofPrhVK3QB3OfDzMRZYYN/m6SVDZvL4efZCr/NyLRPSa07tSETvu9fKHr+qGt6zJ7AfrR
haR2T6WXMA2dI9yuvdHc0jAuOZuB8rKOjDgA7o/5vpATu6ScUZtmxKkNOeL9gmEkJDIaKrqj99m/
OrLdmCpyxGDk442TaYxlSWeYwj/K1lmq0UlUQDjoXfc0WcRVYPQsM95w9rBdm/zRqENV8MLXvYUh
g4Sl6GuCJhBGvZDfk+p0oh3WTtDxxkxABv8zdMnE313Zo73Z+ZtecRATzvywQoTGyjLidGd8jsbA
1UHiuew1lvgxzQp8Bv8UuybzRwadEm3wK3qY8XIBH3TpiV26pt7qNHZngVx5+Hh5tsfRE/AmMxRn
3FzDiE4MnLqHBdxYdWWWkCHDzql2BVotJDGloNEdQyyDHbgED4T4s3emGfCKeOfQryQU0/aasuvn
nOFkmYpRAsan2ALkLIak9X8ax1DVVJIxms6BHJTgYLFww2N2Rk89Jqi2Xz3DYh3X8QLC2t0ijmuU
odmAh8SVRHi7HUW21PMiLmRP6h3xgVenx1j6kALOgxZJ83FaEvh9GE+Cn5dGJSWXRPZqqOt1PbqG
QyHEQlqjPrvlxFjDjHuCAF0e2jkIL1gOTkP337oH39lcIlnEpYCH5CR/8uVJPxHyP3glyElzp7ih
NLLe/7wkBaDz/69z2bxRk+7NWlxuezKmeYmDrKPaFUZ7IWhyT2xyquYE1HFWVd7cmnLhD2vuK1OQ
v4o5aJKxllYMwczpzyxdnOSRoi9xHpZkKCn3ienovAUr1Ys5lX4KOql8xDKu62oGjywU7/TVAleQ
Sy3dvoHPlR5m0HGo/4Rt5rLJOuxrBZ/jBI8GlyTYrdkiNzFa9eI4jKTVuVuYxkVVqI2wXFvliurL
+4dvusrLEDp6YOXHpXBrUC+jzokymTyuggohkTl+crvZkr35rrHmCx5/6mVJSYp8rLjiJT9bfU+/
EwquMRZgx+xD9nZswITZa5/Os9U4Sc3mwb7YiUpttXjWfRzEpPYe4aO3uiN+aI3ihxYmN+QeJgsR
LVCURMWFP98p6qTGbVUV7Slqw+Xn4pFIE4HZYCY75Q7ygBoQz9H6kPbjVqIUzPC7ln/M6/cf7b+v
LOaPG+PJq12zPvAC1LbDeq5463q0b+PiD71f5N3+qwN1WlbOG9BzJmAvUp7/yaHZDDsq6wcjf8bz
eTJvuTt77vLRh8V/qhtNz1qWi/9beDk7VanWaUQ9n1guZR+O61v2KNIjKj6BuQcAlkrER9U4qqYV
N2+is6qMPMvaXH+spiW83oLYo5ZBWIoqdJiFBrNudBvAIeRtUAcmmPn8PW8nP8AhK+tHmWnQ4K4c
aKMAYoerX0Ka4PPVEFqIROFvcy5LMYDb2i2a8Me5iwkSm6KUb0vvsw2nYamzaOBsBS7bR+llgDYZ
qSN3i4Qv3gPb5drUQGlKfxmiltrvUMZDCC7Xa35g2JSZabmtn6yXKYGck22mHUcNanIXihKaZTNA
39F6R53cWDRx8z4Ucu1cQlysxsysgxEB2lg7htiI26qkTI8n8S9Dmq7786xxal2bylwAWGL3J8DI
0fKnC4LLg2RipiVKLuOI/x1EEtj4cZGmqLUlbgEVxWb7HUzMbBob8DmiicT8FfkW52muUn2uh8sC
4wF1DLu8620xhiLKQ5CP1howYSistGzvrpdQzgr2AKrKQA4Z+gy5Zl/r0WvbWLIRMI2HHhsCvZIv
oYSBheXHFoMkwgBv1tL57QvDD/ESB5ij9pN6BSSEHlFulMPOu4xTmofk/S0qK4EHQLogN7J/s45l
cd38WjaVevXU+OUH3hCuVvscqmhicNmmwwMuiKW2E+X993kD7BWoOt+RwuelS6dMul8fNEhfJLzE
2W/DEEk3s1SGH5l7NlGKxkkOuYqsNR6LUS6xcojcnoPlJ2ktXfIA5i3vzfMilK/vLcxos8EBDnk9
/0s+w4PHke9VfjkQ7bAaPRRF6AavhB4CSrhVf/j0vtvB6WGfpxmhHeCah3YFC6anmf1qfTT9tOWg
oaOXtG5PK0UZMyDOYQYxasjhoATgiAivSk+TO0S9ee11L+HXr/vl38aRVKPpCGQKEWmk3dyILyj1
Av/tBfXu/uv20tqGClIH1jx7fd3/aoCBUerlhCXG6MzwbIWMawIwq9QJrkVR00Pbf/6Zw1+yyQvR
dTal5TgtSV9qneceMAOM3pIPKn5O0pQt6NCtJ8C9djLK/zBLPs4Rx10Ofg5+CYMnCjkoq959Hg5C
4XtYGAlAjb4bJJPSS2HnoNNk16W9x5A/z9FMFySOOhsF3UUyv27tcDuU/AAy36mZaiNWQdm3MCY4
nt6O24hgXiTtR2q7ChTY/FvvPA+pwu7Vg0ZkYGo/ykqwtlhA5c+ryTzwZI0slcV+vOPh78EJ6Ld8
oIRcCwLcQoE4h/uRILWoQZC9IB+nEyKOhv5itj0zhVqTdxrYtUtuZwWpCw8EwZNQc60tPX18IhpW
B7UTBz7wytSguc+swVNHpLW6095f+e3nLmaTL9RTBs4i5iuk+/oAEJxaid5h4rCsXlxTRFCsVkZB
Ml+qO3DROaqpPb3tbm1ulDfusMjAOvaVkJIMD9cG2GQ1SewZMyY/BPUNif/wUsOFnSwvi1lhqsPy
jo1mP2pXOqhrKU1w/lts4lv2066c/cunl8Svh9/sCP3XMiNAYJbsbeguQ1qsBQ7c72HlOwP5IFB7
1pGK/MwkQtt4AceodrRPw/xRaYhjIkMAgL45GxDAN7zmZ0KM6PxqxC0ux4IrA1Ny1Av3HSGHy0qm
7FruZBMUqlq9RAMn3rhCIBpknXYo9ob+N3YXuEPDkDK+Fht9MyBJuy1ABlOZLnDHJiHxYKdn36w4
Kx9UPtWZsteHQ4GIg88VYdMRPSpdzRqJmvZwNzC7fGF/Fv2qaXoJkVvemimj0jH2osnyZqWgGBcw
gaolqiRX1Ib2JQmA6oGq2XzXJYj9E/GzVTcfiguPMgXbX5zyk+zfbDjokKfIQs7PvEQuvGa43tqN
5FYEcq1jgj6M/11exG0WvovWm1NZCK1QISsZX7lPp4YidnBKAtcvD/LJYmPW43OQR2fptefFTJcX
W3JYUHTY12e3MlsEYtbYDZ+XQRI9D2i1GeSvLbdStMHPaKD5+tvjZ+Cke0r7fWYhzki49JcofgKR
W56xpaUizK3uOvNbpz5XDfCYcBr0ywkzIrB3CiTDzc1PSjGIRswyYyi7Afk+3iu60uu6dck1m2u8
KglI55l/3VnA6cfLUflqlN2L11p94HqaaKAIXQG/TZHZimY+cjnuAgcoyWlnljOKGwrXrCaMiqot
YeuGNxnD9hx5/7ZuD99m863z6tdTEG4Va+KciEmsVeEJ+ozt6Vx3C62FPohKg5+fksbx1/Z36787
sNOQt3GRsPu2MLEVOg1aWnV5An/XPOB2HZ5jnQ5AO+27M1/s18NQUfwOwmFl3vm+WCG12YHZArNq
HAIWcA9vbNI4RpMmp8i2lAsM9RIZQDm79KrdzDnf537WG2vNKVW/eIkhFSD8JVuasCkIPJziNKnc
wzu6Zch/2v940lmQPz+w96JSM23zFUuTH/TC515q8acHTbLdO+/H9WqAcAnCfS2FQBviQmRXWxn5
KsNTe7g+7g9lsxlz6D5SWVExD5TPfcGfh9URhdyz9WJpqEeO3kHH9UYYEUJ2+qALsJvWedsr5xnC
x+UC3AgObXqMBZeU+2CSYTKxU6pewnuvmEL/+KB+1l0syO1Q9n3OCERFm4/iJ/+jh4e5KfboVE2M
UmSXMKvs5l9MgbS2o28rMtG0h2GrxLg69BDbddVcj4wa+qwVXtDbG6OeuHLTyHgTKNhVIt5IVrYT
7xDn8aU41o0dmx7mvYPw3gasAsH3ygva/Ne2P4SW+vijr88gM5kNLliXJQHklnAbBx5a20===
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
<?php
namespace PShowSsoScoped\GuzzleHttp;
use PShowSsoScoped\GuzzleHttp\Exception\InvalidArgumentException;
use PShowSsoScoped\GuzzleHttp\Handler\CurlHandler;
use PShowSsoScoped\GuzzleHttp\Handler\CurlMultiHandler;
use PShowSsoScoped\GuzzleHttp\Handler\Proxy;
use PShowSsoScoped\GuzzleHttp\Handler\StreamHandler;
use PShowSsoScoped\Psr\Http\Message\UriInterface;
final class Utils
{
/**
* Debug function used to describe the provided value type and class.
*
* @param mixed $input
*
* @return string Returns a string containing the type of the variable and
* if a class is provided, the class name.
*/
public static function describeType($input): string
{
switch (\gettype($input)) {
case 'object':
return 'object(' . \get_class($input) . ')';
case 'array':
return 'array(' . \count($input) . ')';
default:
\ob_start();
\var_dump($input);
// normalize float vs double
/** @var string $varDumpContent */
$varDumpContent = \ob_get_clean();
return \str_replace('double(', 'float(', \rtrim($varDumpContent));
}
}
/**
* Parses an array of header lines into an associative array of headers.
*
* @param iterable $lines Header lines array of strings in the following
* format: "Name: Value"
*/
public static function headersFromLines(iterable $lines): array
{
$headers = [];
foreach ($lines as $line) {
$parts = \explode(':', $line, 2);
$headers[\trim($parts[0])][] = isset($parts[1]) ? \trim($parts[1]) : null;
}
return $headers;
}
/**
* Returns a debug stream based on the provided variable.
*
* @param mixed $value Optional value
*
* @return resource
*/
public static function debugResource($value = null)
{
if (\is_resource($value)) {
return $value;
}
if (\defined('STDOUT')) {
return \STDOUT;
}
return \PShowSsoScoped\GuzzleHttp\Psr7\Utils::tryFopen('php://output', 'w');
}
/**
* Chooses and creates a default handler to use based on the environment.
*
* The returned handler is not wrapped by any default middlewares.
*
* @return callable(\PShowSsoScoped\Psr\Http\Message\RequestInterface, array): Promise\PromiseInterface Returns the best handler for the given system.
*
* @throws \RuntimeException if no viable Handler is available.
*/
public static function chooseHandler(): callable
{
$handler = null;
if (\defined('CURLOPT_CUSTOMREQUEST') && \function_exists('curl_version') && version_compare(curl_version()['version'], '7.21.2') >= 0) {
if (\function_exists('curl_multi_exec') && \function_exists('curl_exec')) {
$handler = Proxy::wrapSync(new CurlMultiHandler(), new CurlHandler());
} elseif (\function_exists('curl_exec')) {
$handler = new CurlHandler();
} elseif (\function_exists('curl_multi_exec')) {
$handler = new CurlMultiHandler();
}
}
if (\ini_get('allow_url_fopen')) {
$handler = $handler ? Proxy::wrapStreaming($handler, new StreamHandler()) : new StreamHandler();
} elseif (!$handler) {
throw new \RuntimeException('GuzzleHttp requires cURL, the allow_url_fopen ini setting, or a custom HTTP handler.');
}
return $handler;
}
/**
* Get the default User-Agent string to use with Guzzle.
*/
public static function defaultUserAgent(): string
{
return sprintf('GuzzleHttp/%d', ClientInterface::MAJOR_VERSION);
}
/**
* Returns the default cacert bundle for the current system.
*
* First, the openssl.cafile and curl.cainfo php.ini settings are checked.
* If those settings are not configured, then the common locations for
* bundles found on Red Hat, CentOS, Fedora, Ubuntu, Debian, FreeBSD, OS X
* and Windows are checked. If any of these file locations are found on
* disk, they will be utilized.
*
* Note: the result of this function is cached for subsequent calls.
*
* @throws \RuntimeException if no bundle can be found.
*
* @deprecated Utils::defaultCaBundle will be removed in guzzlehttp/guzzle:8.0. This method is not needed in PHP 5.6+.
*/
public static function defaultCaBundle(): string
{
static $cached = null;
static $cafiles = [
// Red Hat, CentOS, Fedora (provided by the ca-certificates package)
'/etc/pki/tls/certs/ca-bundle.crt',
// Ubuntu, Debian (provided by the ca-certificates package)
'/etc/ssl/certs/ca-certificates.crt',
// FreeBSD (provided by the ca_root_nss package)
'/usr/local/share/certs/ca-root-nss.crt',
// SLES 12 (provided by the ca-certificates package)
'/var/lib/ca-certificates/ca-bundle.pem',
// OS X provided by homebrew (using the default path)
'/usr/local/etc/openssl/cert.pem',
// Google app engine
'/etc/ca-certificates.crt',
// Windows?
'C:\windows\system32\curl-ca-bundle.crt',
'C:\windows\curl-ca-bundle.crt',
];
if ($cached) {
return $cached;
}
if ($ca = \ini_get('openssl.cafile')) {
return $cached = $ca;
}
if ($ca = \ini_get('curl.cainfo')) {
return $cached = $ca;
}
foreach ($cafiles as $filename) {
if (\file_exists($filename)) {
return $cached = $filename;
}
}
throw new \RuntimeException(<<<EOT
No system CA bundle could be found in any of the the common system locations.
PHP versions earlier than 5.6 are not properly configured to use the system's
CA bundle by default. In order to verify peer certificates, you will need to
supply the path on disk to a certificate bundle to the 'verify' request
option: https://docs.guzzlephp.org/en/latest/request-options.html#verify. If
you do not need a specific certificate bundle, then Mozilla provides a commonly
used CA bundle which can be downloaded here (provided by the maintainer of
cURL): https://curl.haxx.se/ca/cacert.pem. Once you have a CA bundle available
on disk, you can set the 'openssl.cafile' PHP ini setting to point to the path
to the file, allowing you to omit the 'verify' request option. See
https://curl.haxx.se/docs/sslcerts.html for more information.
EOT);
}
/**
* Creates an associative array of lowercase header names to the actual
* header casing.
*/
public static function normalizeHeaderKeys(array $headers): array
{
$result = [];
foreach (\array_keys($headers) as $key) {
$result[\strtolower($key)] = $key;
}
return $result;
}
/**
* Returns true if the provided host matches any of the no proxy areas.
*
* This method will strip a port from the host if it is present. Each pattern
* can be matched with an exact match (e.g., "foo.com" == "foo.com") or a
* partial match: (e.g., "foo.com" == "baz.foo.com" and ".foo.com" ==
* "baz.foo.com", but ".foo.com" != "foo.com").
*
* Areas are matched in the following cases:
* 1. "*" (without quotes) always matches any hosts.
* 2. An exact match.
* 3. The area starts with "." and the area is the last part of the host. e.g.
* '.mit.edu' will match any host that ends with '.mit.edu'.
*
* @param string $host Host to check against the patterns.
* @param string[] $noProxyArray An array of host patterns.
*
* @throws InvalidArgumentException
*/
public static function isHostInNoProxy(string $host, array $noProxyArray): bool
{
if (\strlen($host) === 0) {
throw new InvalidArgumentException('Empty host provided');
}
// Strip port if present.
[$host] = \explode(':', $host, 2);
foreach ($noProxyArray as $area) {
// Always match on wildcards.
if ($area === '*') {
return true;
}
if (empty($area)) {
// Don't match on empty values.
continue;
}
if ($area === $host) {
// Exact matches.
return true;
}
// Special match if the area when prefixed with ".". Remove any
// existing leading "." and add a new leading ".".
$area = '.' . \ltrim($area, '.');
if (\substr($host, -\strlen($area)) === $area) {
return true;
}
}
return false;
}
/**
* Wrapper for json_decode that throws when an error occurs.
*
* @param string $json JSON data to parse
* @param bool $assoc When true, returned objects will be converted
* into associative arrays.
* @param int $depth User specified recursion depth.
* @param int $options Bitmask of JSON decode options.
*
* @return object|array|string|int|float|bool|null
*
* @throws InvalidArgumentException if the JSON cannot be decoded.
*
* @see https://www.php.net/manual/en/function.json-decode.php
*/
public static function jsonDecode(string $json, bool $assoc = false, int $depth = 512, int $options = 0)
{
$data = \json_decode($json, $assoc, $depth, $options);
if (\JSON_ERROR_NONE !== \json_last_error()) {
throw new InvalidArgumentException('json_decode error: ' . \json_last_error_msg());
}
return $data;
}
/**
* Wrapper for JSON encoding that throws when an error occurs.
*
* @param mixed $value The value being encoded
* @param int $options JSON encode option bitmask
* @param int $depth Set the maximum depth. Must be greater than zero.
*
* @throws InvalidArgumentException if the JSON cannot be encoded.
*
* @see https://www.php.net/manual/en/function.json-encode.php
*/
public static function jsonEncode($value, int $options = 0, int $depth = 512): string
{
$json = \json_encode($value, $options, $depth);
if (\JSON_ERROR_NONE !== \json_last_error()) {
throw new InvalidArgumentException('json_encode error: ' . \json_last_error_msg());
}
/** @var string */
return $json;
}
/**
* Wrapper for the hrtime() or microtime() functions
* (depending on the PHP version, one of the two is used)
*
* @return float UNIX timestamp
*
* @internal
*/
public static function currentTime(): float
{
return (float) \function_exists('hrtime') ? \hrtime(true) / 1000000000.0 : \microtime(true);
}
/**
* @throws InvalidArgumentException
*
* @internal
*/
public static function idnUriConvert(UriInterface $uri, int $options = 0): UriInterface
{
if ($uri->getHost()) {
$asciiHost = self::idnToAsci($uri->getHost(), $options, $info);
if ($asciiHost === false) {
$errorBitSet = $info['errors'] ?? 0;
$errorConstants = array_filter(array_keys(get_defined_constants()), static function (string $name): bool {
return substr($name, 0, 11) === 'IDNA_ERROR_';
});
$errors = [];
foreach ($errorConstants as $errorConstant) {
if ($errorBitSet & constant($errorConstant)) {
$errors[] = $errorConstant;
}
}
$errorMessage = 'IDN conversion failed';
if ($errors) {
$errorMessage .= ' (errors: ' . implode(', ', $errors) . ')';
}
throw new InvalidArgumentException($errorMessage);
}
if ($uri->getHost() !== $asciiHost) {
// Replace URI only if the ASCII version is different
$uri = $uri->withHost($asciiHost);
}
}
return $uri;
}
/**
* @internal
*/
public static function getenv(string $name): ?string
{
if (isset($_SERVER[$name])) {
return (string) $_SERVER[$name];
}
if (\PHP_SAPI === 'cli' && ($value = \getenv($name)) !== false && $value !== null) {
return (string) $value;
}
return null;
}
/**
* @return string|false
*/
private static function idnToAsci(string $domain, int $options, ?array &$info = [])
{
if (\function_exists('idn_to_ascii') && \defined('INTL_IDNA_VARIANT_UTS46')) {
return \idn_to_ascii($domain, $options, \INTL_IDNA_VARIANT_UTS46, $info);
}
throw new \Error('ext-idn or symfony/polyfill-intl-idn not loaded or too old');
}
}

View File

@@ -1,257 +1,167 @@
<?php //ICB0 74:0 81:19b4 82:32b1 ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
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
qKAiTfBqJW===
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
Swkb=
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
<?php
namespace PShowSsoScoped\GuzzleHttp;
/**
* Debug function used to describe the provided value type and class.
*
* @param mixed $input Any type of variable to describe the type of. This
* parameter misses a typehint because of that.
*
* @return string Returns a string containing the type of the variable and
* if a class is provided, the class name.
*
* @deprecated describe_type will be removed in guzzlehttp/guzzle:8.0. Use Utils::describeType instead.
*/
function describe_type($input): string
{
return Utils::describeType($input);
}
/**
* Parses an array of header lines into an associative array of headers.
*
* @param iterable $lines Header lines array of strings in the following
* format: "Name: Value"
*
* @deprecated headers_from_lines will be removed in guzzlehttp/guzzle:8.0. Use Utils::headersFromLines instead.
*/
function headers_from_lines(iterable $lines): array
{
return Utils::headersFromLines($lines);
}
/**
* Returns a debug stream based on the provided variable.
*
* @param mixed $value Optional value
*
* @return resource
*
* @deprecated debug_resource will be removed in guzzlehttp/guzzle:8.0. Use Utils::debugResource instead.
*/
function debug_resource($value = null)
{
return Utils::debugResource($value);
}
/**
* Chooses and creates a default handler to use based on the environment.
*
* The returned handler is not wrapped by any default middlewares.
*
* @return callable(\PShowSsoScoped\Psr\Http\Message\RequestInterface, array): Promise\PromiseInterface Returns the best handler for the given system.
*
* @throws \RuntimeException if no viable Handler is available.
*
* @deprecated choose_handler will be removed in guzzlehttp/guzzle:8.0. Use Utils::chooseHandler instead.
*/
function choose_handler(): callable
{
return Utils::chooseHandler();
}
/**
* Get the default User-Agent string to use with Guzzle.
*
* @deprecated default_user_agent will be removed in guzzlehttp/guzzle:8.0. Use Utils::defaultUserAgent instead.
*/
function default_user_agent(): string
{
return Utils::defaultUserAgent();
}
/**
* Returns the default cacert bundle for the current system.
*
* First, the openssl.cafile and curl.cainfo php.ini settings are checked.
* If those settings are not configured, then the common locations for
* bundles found on Red Hat, CentOS, Fedora, Ubuntu, Debian, FreeBSD, OS X
* and Windows are checked. If any of these file locations are found on
* disk, they will be utilized.
*
* Note: the result of this function is cached for subsequent calls.
*
* @throws \RuntimeException if no bundle can be found.
*
* @deprecated default_ca_bundle will be removed in guzzlehttp/guzzle:8.0. This function is not needed in PHP 5.6+.
*/
function default_ca_bundle(): string
{
return Utils::defaultCaBundle();
}
/**
* Creates an associative array of lowercase header names to the actual
* header casing.
*
* @deprecated normalize_header_keys will be removed in guzzlehttp/guzzle:8.0. Use Utils::normalizeHeaderKeys instead.
*/
function normalize_header_keys(array $headers): array
{
return Utils::normalizeHeaderKeys($headers);
}
/**
* Returns true if the provided host matches any of the no proxy areas.
*
* This method will strip a port from the host if it is present. Each pattern
* can be matched with an exact match (e.g., "foo.com" == "foo.com") or a
* partial match: (e.g., "foo.com" == "baz.foo.com" and ".foo.com" ==
* "baz.foo.com", but ".foo.com" != "foo.com").
*
* Areas are matched in the following cases:
* 1. "*" (without quotes) always matches any hosts.
* 2. An exact match.
* 3. The area starts with "." and the area is the last part of the host. e.g.
* '.mit.edu' will match any host that ends with '.mit.edu'.
*
* @param string $host Host to check against the patterns.
* @param string[] $noProxyArray An array of host patterns.
*
* @throws Exception\InvalidArgumentException
*
* @deprecated is_host_in_noproxy will be removed in guzzlehttp/guzzle:8.0. Use Utils::isHostInNoProxy instead.
*/
function is_host_in_noproxy(string $host, array $noProxyArray): bool
{
return Utils::isHostInNoProxy($host, $noProxyArray);
}
/**
* Wrapper for json_decode that throws when an error occurs.
*
* @param string $json JSON data to parse
* @param bool $assoc When true, returned objects will be converted
* into associative arrays.
* @param int $depth User specified recursion depth.
* @param int $options Bitmask of JSON decode options.
*
* @return object|array|string|int|float|bool|null
*
* @throws Exception\InvalidArgumentException if the JSON cannot be decoded.
*
* @see https://www.php.net/manual/en/function.json-decode.php
* @deprecated json_decode will be removed in guzzlehttp/guzzle:8.0. Use Utils::jsonDecode instead.
*/
function json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0)
{
return Utils::jsonDecode($json, $assoc, $depth, $options);
}
/**
* Wrapper for JSON encoding that throws when an error occurs.
*
* @param mixed $value The value being encoded
* @param int $options JSON encode option bitmask
* @param int $depth Set the maximum depth. Must be greater than zero.
*
* @throws Exception\InvalidArgumentException if the JSON cannot be encoded.
*
* @see https://www.php.net/manual/en/function.json-encode.php
* @deprecated json_encode will be removed in guzzlehttp/guzzle:8.0. Use Utils::jsonEncode instead.
*/
function json_encode($value, int $options = 0, int $depth = 512): string
{
return Utils::jsonEncode($value, $options, $depth);
}

View File

@@ -1,57 +1,6 @@
<?php //ICB0 74:0 81:5a5 82:a8f ?><?php //000ab
// Copyright prestashow.com 2025. All Rights Reserved.
// @authors prestashow.com <contact@prestashow.com>
// @license https://prestashow.com/license
return;
?>
HR+cPrxIXZA79di5+seJ4L5VdIiB7FBo8+3X7nyOv579EBdMYNm8rBnjkfR21slguzACWkP52ePp
PdufDqWwC8wixHORX5fU8gqjZ+g/KKU658kdlATZ6ytLQgP9Btcdk4BsyWk7jCRMSIQz9m1/siS8
8fq5uNQzqg+kP6q8MhqmiqnIQWGM3vEmBPL8yIiH7swAOMQVCA92soitzttPp+/rMgWoE5+CRwG3
I/FFwMRFDjRZ80PGWStKTAlyhdZXJ/CCg1X1A0yNhgg1OrFO08mv69Ht7mEQsccZoKA4xuH/D0al
GyToMdixPCxCksdhKmOXDOVvBW1R56dlovljHQEzEk1Q4C5pACX62/d+izV7yq1x9OIZhSPLwJSv
9PYQ/txQN98nRZ2S5H/lOmZZBM329ByHtjMyqaxxtuuWbnV4K3HDG9Pdkty6HyIoDFyUyU3fAvok
gbO3ie8EX+DI4tq9H7KCSngAwz8ACqflesY3YuONy3C6rl0T4NshyHnmUZGEZvC3chgCH3fFLQre
8VkkaoZANlSSkJUBf9UVx1BagXy+H8/nzjv65LJ66Q1tms2lMtjMWOIE85Z60yKLTN7xbbJgx71+
dmz18Vs8oH7v8tOiN8JAUThdim/3GBhfFe8K4yJgqEx9S1+1m378/JWaSf1MzHbrs1mSr/7X2ZHb
m19HmRZ8XjYzb6wEcITP2ghfCNX6DEj+KfYppi8kujiPncQAXWE0hxUceeIW2QH0QduHX9BNtoNd
Ng3ERuTrmUIZLXDO2tLPOlGuXmSY/xbysninUdFXy5Lb47U9WKfGl0qi18JEZTxI0rgoW2yjf41l
1ovdBCxr1MZ+Ce0/qXsJmGLGbJLtzoDScjht+3RGU/2Epeh/RMGP7ZsKefOGktwZxXoQ5sLwz7tb
ZZ2rX1oPYb1N75/gPDYWfZCFmwjDscxVcjvZyS4RlOsBLzI80E8LliQJnvfF1txBO5vrPPSAK/lH
mPcdNoFy3BEiI81Ik/g1o1yDRd/l4f7X6eA4wZ8RIX7oGd6vK+R30/jsJYvgf8xKXAnCpr85HpQj
dYgNQ7HNZjQsmNQPWgrTMHv3c1iADIkf/d5Fxi4bJPqDaC1iNRxjBn0G/vIv3sDewamAAjsNdvXP
wkO/dup+TG4jbSvD1NXfPwejZG9WEH3k+eJVyS6Yv0ogtAbUUghgI13QI9ja1r3ePVVEHH+Hd4Ff
Cb8Q7BNXko/oqQzgmzvXSXRYV3bc+Q6MAM6l=
HR+cPmXs2vYhse/V5ycUkzIatmC9zTQuhrLzOXgImfTxpGkFGKhIuUNz2nwue69ayMvA2wvWudj4
Cn/607VcMvTXfuChOemmv6P/K0QBoYxHLQUrDg3YZYrE5DpAZO5zbjEPyvzNNLwmvwVetTo/smTY
REyZrW4LdB5VbQch1HuDdOZQQ3vz36zsSSUwQ91SK+56BLCONb2BL9PEB8c0PjB3R3UseQBrwOOk
0EIfOlsMm5pw0h3NNQEeBDgXyIKmHg+CO/aQv7cCxb4s55ysvYBCmubY1HiHjsZt3t2/XXTWeXAK
oE+Bq+MFtMuMs6wCBW8q3ALbzuwL/Aj8ARSmeUgeEhLQE9duTpSc953TuyaGmtdq9z1ecpwbtiSd
nMA2/QwG07LEnU+Di5TGqVErmoRV4ePpsXEb8OQYcSzAe9QUPUkFp5CEb0RtgX13HdBVPBJnKkUW
qFHvJl3h0OEMYZNwXPb/3QKKk25VEzv3+qHk+OsAqrx4JtOfH6IpAk6uFdQucx0SfquXjlPSk5NX
ni9OAqP+SQd8dIBxusz5YKx5iVe3JcV+7S7gnkalNYznI4p8v9I+yxG28pfBwsUGZ1w6wN+CTeV5
2pLIzbIlvSnwIMxMfq/y1lRmJLgd1h7IJVX5auqle1nYoiUDhWahx5OWvnQ9BD3fXHFWgHHEIFy/
PuXcKDuQowgtQLKPKy2qOdCzASczanYEw3bLjXxt95+62c+5or2Ea0ZAzEFYMEmYPd7NbQzI3LYW
kPWPTnd9hVw00S33BG8dm47rI/quJMu5H5UNa5ygG85uzKcPrSPifgifAiEtYeXUHXzJJ9jriMZU
FrK0sdfL3qAHyy3bDmqKUXgsgxJPOIsXRq0tV3rKEFwv+S8MXUO4keAGneP0t9bFBaFOu+92GHVN
2dz9ycS8blsRwA1kkYodjW1mdwFdZdzHYsToR75+62BE7g0rqZg9YCbChpUqX/642byKOBE4zHcV
BX3aNgPb38qEGqKTcO9cfgyCXkhpncw2wbWVo6+/1iPxuSVY2drWH5YjjI121ASWubDW4AMrdFUb
XY0gpkUlsDGuRHzGBKLYrRqpP2/htFdFT+yA06CEbYBLpmR0xTvPAS2uZK84FJfVWzcQ9FZ9PJX4
CFcN4wytUaukoXk3fZFKPQpXlj2ASWQZ5yDmVKeeycT+xLHTdYfCEBJVpEd5p1w+vQ6bS0a/pIeR
91kjPhNpewz4/CQWp2QaFm===
HR+cPub5byGgbslhble2vqWs89XFhOBaa3iY8UC6S0PWxk7U60DyEv+bCGoupkuMVUxmo9ZFQi0M
y1dcwO9+D4ptma7LY8bzPBoPZ3ZlGzGkVSWVTtfy3xgTq5AA3lF5rFk9PJ8aezCoiALJKF5H+fOm
3xdo4NHJh83K423sWzVm0MwloeTL3m24SnsfmO+xt2RTHnH9B+VL6Z8K2+WWhEq8trtanoGmTnB6
6O2D41uLnTjuQQj2fDehd4DdT95pLSnIvolYri4Hio2JpMSfeWeB2n0FwGosAhC5yItnff+QnlFM
Iu9HqwnVc7DSqRM0m84LZl8sDQmPWtAzggOV6UnTiBfWVa2qQQ4p40e0zsO2VrU7Db7ZSw7XjqAr
KdaUfU7EeP5+/9UB2wVADXUURFwD06TPJnIq5/97fCVqA9k4OSvFkZJ8aukOfuFWvJa3yjdtcM25
O1RwE9nrkc23M3TqNb7ZnRO+JDI/xynYKX9JEMzRBEC0jmimDS+0UX3gc4M97aUpcAi2OkX4XqG9
Q67WfKVF01JQU2nybbc7lCk1ITfH2U6SrDyWs/Pujn39g7TYgjDyzV2B12W6mrKvfb6jtBwVdB8q
2OvnHz805V65jNjnZgS/kI8Fkz4CTYGv4GgVfbmtUzNB1RORSYPAsUm2FpFQZWQ9rIoh2aieG9hC
H1VFOJlKKtVE/XsibxH/c2ziz3uWe3avcQVI3x7d+R7kY65LtkoYp1Zc44XECx+IwnVULTiwx8uu
HtARG6k8BCl/SfFrSAEWlFDv7qX9zzjTsc//Rdk2mf/n/3Pnr64nhNhNtpxR9Lx6T246q5QoepYH
AllnCp+QFhP/H3CHE1h3CV+tQwV7g26IQFqh/hcjbafo5vYinECwZgqnomlIjJBFRdC0xjb5ayvM
m8wyQsjla7SeahxIwaFUi+0OxxAuSoUvJb45Sg4PzQjnXuPIS+13OyOBVDOhKgGdqQ2NxLfISJcU
xBWeMRyw6QISQzHilSaCvUiTLwZ0BsUPqqduegIhexwVPNACp2AnM7biV4N+dAQjeOA4rK524gvX
5vwb0lqqk5rzMZccnpWg+dqjZ61LcKy9o9enXpvNC91QKw5laOdDWibTB56sIxe8y5DN+2hnTqLR
XM3GHURogaJlvC56hGlFN1SMUan+yXnZyEW//RvmwZs7CTAJs/ODBbrdcuv6DuBrEcedbFIj2CAl
uOhB1Nditg/TcX+gSoeCSG==
<?php
// Don't redefine the functions if included multiple times.
if (!\function_exists('PShowSsoScoped\GuzzleHttp\describe_type')) {
require __DIR__.'/functions.php';
}