Trying to fix tests

This commit is contained in:
Brandon Hancock
2025-03-06 10:41:12 -05:00
parent cdb8f68aa6
commit a8ff88b6a8
5 changed files with 2046 additions and 1084 deletions

View File

@@ -294,6 +294,9 @@ class LLM:
Returns: Returns:
str: The complete response text str: The complete response text
Raises:
Exception: If no content is received from the streaming response
""" """
# --- 1) Initialize response tracking # --- 1) Initialize response tracking
full_response = "" full_response = ""
@@ -429,10 +432,11 @@ class LLM:
f"Last chunk format: {type(last_chunk)}, content: {last_chunk}" f"Last chunk format: {type(last_chunk)}, content: {last_chunk}"
) )
# --- 6) If still empty, use a default response # --- 6) If still empty, raise an error instead of using a default response
if not full_response.strip(): if not full_response.strip():
logging.warning("Using default response as fallback") raise Exception(
full_response = "I apologize, but I couldn't generate a proper response. Please try again or rephrase your request." "No content received from streaming response. Received empty chunks or failed to extract content."
)
# --- 7) Check for tool calls in the final response # --- 7) Check for tool calls in the final response
try: try:
@@ -510,23 +514,13 @@ class LLM:
logging.warning(f"Returning partial response despite error: {str(e)}") logging.warning(f"Returning partial response despite error: {str(e)}")
self._handle_emit_call_events(full_response, LLMCallType.LLM_CALL) self._handle_emit_call_events(full_response, LLMCallType.LLM_CALL)
return full_response return full_response
try:
logging.warning("Falling back to non-streaming after error") # Emit failed event and re-raise the exception
non_streaming_params = params.copy() crewai_event_bus.emit(
non_streaming_params["stream"] = False self,
non_streaming_params.pop( event=LLMCallFailedEvent(error=str(e)),
"stream_options", None )
) # Remove stream_options for non-streaming call raise Exception(f"Failed to get streaming response: {str(e)}")
return self._handle_non_streaming_response(
non_streaming_params, callbacks, available_functions
)
except Exception as fallback_error:
logging.error(
f"Fallback to non-streaming also failed: {str(fallback_error)}"
)
default_response = "I apologize, but I couldn't generate a proper response. Please try again or rephrase your request."
self._handle_emit_call_events(default_response, LLMCallType.LLM_CALL)
return default_response
def _handle_non_streaming_response( def _handle_non_streaming_response(
self, self,
@@ -697,8 +691,6 @@ class LLM:
# --- 6) Prepare parameters for the completion call # --- 6) Prepare parameters for the completion call
params = self._prepare_completion_params(messages, tools) params = self._prepare_completion_params(messages, tools)
print("IS STREAMING", self.stream)
# --- 7) Make the completion call and handle response # --- 7) Make the completion call and handle response
if self.stream: if self.stream:
return self._handle_streaming_response( return self._handle_streaming_response(

File diff suppressed because one or more lines are too long

View File

@@ -390,7 +390,7 @@ interactions:
Content-Length: Content-Length:
- '33610' - '33610'
Date: Date:
- Wed, 05 Mar 2025 18:04:04 GMT - Thu, 06 Mar 2025 15:40:07 GMT
Permissions-Policy: Permissions-Policy:
- publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=() - publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()
Strict-Transport-Security: Strict-Transport-Security:
@@ -408,9 +408,9 @@ interactions:
X-Permitted-Cross-Domain-Policies: X-Permitted-Cross-Domain-Policies:
- none - none
X-Served-By: X-Served-By:
- cache-iad-kjyo7100032-IAD, cache-iad-kjyo7100044-IAD, cache-pdk-kpdk1780123-PDK - cache-iad-kjyo7100032-IAD, cache-iad-kjyo7100044-IAD, cache-pdk-kpdk1780129-PDK
X-Timer: X-Timer:
- S1741197845.709063,VS0,VE1 - S1741275607.451193,VS0,VE2
X-XSS-Protection: X-XSS-Protection:
- 1; mode=block - 1; mode=block
access-control-allow-headers: access-control-allow-headers:
@@ -467,7 +467,7 @@ interactions:
under 15 words.\nyou MUST return the actual complete content as the final answer, under 15 words.\nyou MUST return the actual complete content as the final answer,
not a summary.\n\nBegin! This is VERY important to you, use the tools available not a summary.\n\nBegin! This is VERY important to you, use the tools available
and give your best Final Answer, your job depends on it!\n\nThought:"}], "model": and give your best Final Answer, your job depends on it!\n\nThought:"}], "model":
"gpt-4o", "stop": ["\nObservation:"], "stream": false}' "gpt-4o", "stop": ["\nObservation:"]}'
headers: headers:
accept: accept:
- application/json - application/json
@@ -476,7 +476,7 @@ interactions:
connection: connection:
- keep-alive - keep-alive
content-length: content-length:
- '926' - '909'
content-type: content-type:
- application/json - application/json
cookie: cookie:
@@ -510,18 +510,18 @@ interactions:
response: response:
body: body:
string: !!binary | string: !!binary |
H4sIAAAAAAAAAwAAAP//jFLBattAEL3rK4Y920F2nCjWLaUUWkpbaEIPaRHr1UiadLWz7I7kusH/ H4sIAAAAAAAAAwAAAP//jFLLbtswELzrKxY824Hk2pajW4siQA7Noeih6AMCTa4oNnyBXCVNAv97
XiQ7lkNT6GVh35s3vHkzTwmAolLloEyjxbTezt9k7vN6y992N6tPvqH7NLv7+Hj7Fe9/tx++qNmg QVmxbKQFeiHAmd3B7M6+FABMS9YAEz0nYYNZftjV4m53/fzJqluq6q6qN1/ru+fPWt5U39gid/j9
4M0jGnlWXRhuvUUhdgfaBNSCQ9dFtlos1tnN6mokWi7RDrLay3zF82W6XM3Tm3l6fRQ2TAajyuEh LxT02nUlvA0GSXt3pEVETphVq3pdrerNtqxHwnqJJrepQMu1X67K1XpZ7pbldmrsvRaYWAPfCwCA
AQB4Gt/Boivxl8ohnT0jLcaoa1T5qQhABbYDonSMFEU7UbOJNOwE3ej6ruGubiSH9+B4C0Y7qKlH l/HNFp3E36yBcvGKWEyJK2TNqQiARW8ywnhKOhF3xBYzKbwjdKPrL70fVE8N3ILzjyC4A6UfEDio
0FAP1kG7uMUA8N29I6ct3I7/HN5yHaHRPQL2bHssIVLtqCKjndgdVIFb2A5MnEFseGt0JFeDNEgB bB24S48YAX64G+24gffjv4GPXiUQ3trBacEJYUjaKdh7+QSGOzVwhQuw/D6j1KMF7WjQlLXzkrjT
dKm96A1Zkh0IQ9O12gG6ngK7Fp3Ei3O/Aasu6iEu11l7xPenACzXPvAmHvkTXpGj2BQBdWQ3DBuF 3qWrc1cRuyHxvBQ3GDPhh9OYxqsQ/T5N/AnvtNOpbyPy5F0eKZEPbGQPBcDPcZ3DxYZYiN4Gasnf
vRrZfQLwYwy6e5Gd8oFbL4XwT3RxXNv1oZ+aVjuxy+xICou2Z3h6OXulX1GiaLLxbFXKaNNgOUmn o0tjONujHpsDnNnVeiLJEzdneDmFcKnXSiSuTToLhAkuepRz65weH6T2Z0RxNvVbN3/TPk6unfof
vequJD4jkrOp/3bzWu/D5OTq/2k/EcagFywLH7Ak83LiqSzgcPn/KjulPBpWEUNPBgshDMMmSqx0 +ZkQAgOhbENEqcXlxHNZxHzf/yo7bXk0zBLGBy2wJY0xJyGx44M5nh5LT4nQtp12CmOI+nh/XWg7
Zw9HqeIuCrZFRa7G4AMdLrPyRWXW1aLM0ssrleyTPwAAAP//AwBRUVgiogMAAA== cd1Vsi7fbVhxKP4AAAD//wMA25liv4gDAAA=
headers: headers:
CF-RAY: CF-RAY:
- 91bb88a198b84520-ATL - 91c2f322fba3afc5-ATL
Connection: Connection:
- keep-alive - keep-alive
Content-Encoding: Content-Encoding:
@@ -529,14 +529,14 @@ interactions:
Content-Type: Content-Type:
- application/json - application/json
Date: Date:
- Wed, 05 Mar 2025 18:04:05 GMT - Thu, 06 Mar 2025 15:40:08 GMT
Server: Server:
- cloudflare - cloudflare
Set-Cookie: Set-Cookie:
- __cf_bm=HJfTcrZUxe6C6kxsB2tvfBbUYBoiSIslC06rkRUVz0I-1741197845-1.0.1.1-DGqUHH2hsHT2_EfrxqbagjORT1Ojv1aKQmDYpCEnle2JJX3rkn3qoxqnkTxILaQ.Lamlpx3DtVRYOpFuAD46_NgqQJZV3vu8KunG6HoUQYo; - __cf_bm=LN1CkZ7ws9dtoullPd8Kczqd3ewDce9Uv7QrF_O_qDA-1741275608-1.0.1.1-cCJ4E6_R8C_fPS7VTmRBAY932xUcLwWtzqigw0A0Oju6s2VrtZV.G812d_Cfdh9rIhZJCMYqShm8eOTV304CL46Lv2fLfSzb3PsbfBozJWM;
path=/; expires=Wed, 05-Mar-25 18:34:05 GMT; domain=.api.openai.com; HttpOnly; path=/; expires=Thu, 06-Mar-25 16:10:08 GMT; domain=.api.openai.com; HttpOnly;
Secure; SameSite=None Secure; SameSite=None
- _cfuvid=DU4Uj9wCeMrhRLS1qhCMclcTIx5_urj5EqNFbre9sFA-1741197845887-0.0.1.1-604800000; - _cfuvid=jA5H4RUcP7BgNe8XOM3z5HSjuPbWYswFsTykBt2ekkE-1741275608040-0.0.1.1-604800000;
path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None
Transfer-Encoding: Transfer-Encoding:
- chunked - chunked
@@ -551,25 +551,25 @@ interactions:
openai-organization: openai-organization:
- crewai-iuxna1 - crewai-iuxna1
openai-processing-ms: openai-processing-ms:
- '1009' - '448'
openai-version: openai-version:
- '2020-10-01' - '2020-10-01'
strict-transport-security: strict-transport-security:
- max-age=31536000; includeSubDomains; preload - max-age=31536000; includeSubDomains; preload
x-ratelimit-limit-requests: x-ratelimit-limit-requests:
- '10000' - '50000'
x-ratelimit-limit-tokens: x-ratelimit-limit-tokens:
- '30000000' - '150000000'
x-ratelimit-remaining-requests: x-ratelimit-remaining-requests:
- '9999' - '49999'
x-ratelimit-remaining-tokens: x-ratelimit-remaining-tokens:
- '29999790' - '149999790'
x-ratelimit-reset-requests: x-ratelimit-reset-requests:
- 6ms - 1ms
x-ratelimit-reset-tokens: x-ratelimit-reset-tokens:
- 0s - 0s
x-request-id: x-request-id:
- req_75ccbb7f794d3c9a5ed4e4d37b0562f2 - req_b61e4a638cfeee08efe18c029e45dbee
status: status:
code: 200 code: 200
message: OK message: OK
@@ -964,7 +964,7 @@ interactions:
Content-Length: Content-Length:
- '33610' - '33610'
Date: Date:
- Wed, 05 Mar 2025 18:04:05 GMT - Thu, 06 Mar 2025 15:40:08 GMT
Permissions-Policy: Permissions-Policy:
- publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=() - publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()
Strict-Transport-Security: Strict-Transport-Security:
@@ -982,9 +982,9 @@ interactions:
X-Permitted-Cross-Domain-Policies: X-Permitted-Cross-Domain-Policies:
- none - none
X-Served-By: X-Served-By:
- cache-iad-kjyo7100032-IAD, cache-iad-kjyo7100044-IAD, cache-pdk-kpdk1780048-PDK - cache-iad-kjyo7100032-IAD, cache-iad-kjyo7100044-IAD, cache-pdk-kpdk1780066-PDK
X-Timer: X-Timer:
- S1741197846.953031,VS0,VE1 - S1741275608.103906,VS0,VE1
X-XSS-Protection: X-XSS-Protection:
- 1; mode=block - 1; mode=block
access-control-allow-headers: access-control-allow-headers:
@@ -1029,502 +1029,6 @@ interactions:
status: status:
code: 200 code: 200
message: OK message: OK
- request:
body: !!binary |
CrHPAQokCiIKDHNlcnZpY2UubmFtZRISChBjcmV3QUktdGVsZW1ldHJ5EofPAQoSChBjcmV3YWku
dGVsZW1ldHJ5EsoLChATDteE4b+O25znROl9wsd0EgjJHNpADqVH6yoMQ3JldyBDcmVhdGVkMAE5
UMiGxTb6KRhByAGPxTb6KRhKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC44Ni4wShoKDnB5dGhvbl92
ZXJzaW9uEggKBjMuMTIuOEouCghjcmV3X2tleRIiCiBkZTEwMWQ4NTUzZWEwMjQ1MzdhMDhmODEy
ZWU2Yjc0YUoxCgdjcmV3X2lkEiYKJDQ5MmI5YzhmLTJlNzktNDBmYy1hM2M3LTM1ZjFjYzQ3ZGY3
OUocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jl
d19udW1iZXJfb2ZfdGFza3MSAhgCShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAJKiAUKC2Ny
ZXdfYWdlbnRzEvgECvUEW3sia2V5IjogIjhiZDIxMzliNTk3NTE4MTUwNmU0MWZkOWM0NTYzZDc1
IiwgImlkIjogImNmM2ZjMTBhLTdlN2YtNGE5My1hZDc5LWY1OGFlOTc0ZGQ2OCIsICJyb2xlIjog
IlJlc2VhcmNoZXIiLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBt
IjogbnVsbCwgImZ1bmN0aW9uX2NhbGxpbmdfbGxtIjogIiIsICJsbG0iOiAiZ3B0LTRvIiwgImRl
bGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNl
LCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25hbWVzIjogW119LCB7ImtleSI6ICI5YTUw
MTVlZjQ4OTVkYzYyNzhkNTQ4MThiYTQ0NmFmNyIsICJpZCI6ICI2YTQ4OWY0YS0yM2VjLTQ0MzIt
ODY4Yi1iNzRhZGJmYjc4OTYiLCAicm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgInZlcmJvc2U/Ijog
ZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5n
X2xsbSI6ICIiLCAibGxtIjogImdwdC00byIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2Us
ICJhbGxvd19jb2RlX2V4ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0
b29sc19uYW1lcyI6IFtdfV1K7wMKCmNyZXdfdGFza3MS4AMK3QNbeyJrZXkiOiAiOTQ0YWVmMGJh
Yzg0MGYxYzI3YmQ4M2E5MzdiYzM2MWIiLCAiaWQiOiAiMGQ1MDlmODktMTg0Mi00ZWU4LThmOGQt
YTdhOGFkNTI3YjY4IiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6
IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJSZXNlYXJjaGVyIiwgImFnZW50X2tleSI6ICI4YmQyMTM5
YjU5NzUxODE1MDZlNDFmZDljNDU2M2Q3NSIsICJ0b29sc19uYW1lcyI6IFtdfSwgeyJrZXkiOiAi
OWYyZDRlOTNhYjU5MGM3MjU4ODcwMjc1MDhhZjkyNzgiLCAiaWQiOiAiN2JjMWJkMjEtMzcwZS00
NTQ3LWI5N2QtMDc1MGZmMzE1NTZlIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFu
X2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgImFnZW50X2tl
eSI6ICI5YTUwMTVlZjQ4OTVkYzYyNzhkNTQ4MThiYTQ0NmFmNyIsICJ0b29sc19uYW1lcyI6IFtd
fV16AhgBhQEAAQAAEo4CChA4jFKd9guP0cXAPZBeyzPOEghlEyTSZjNp3yoMVGFzayBDcmVhdGVk
MAE5SAjCxTb6KRhBUNfCxTb6KRhKLgoIY3Jld19rZXkSIgogZGUxMDFkODU1M2VhMDI0NTM3YTA4
ZjgxMmVlNmI3NGFKMQoHY3Jld19pZBImCiQ0OTJiOWM4Zi0yZTc5LTQwZmMtYTNjNy0zNWYxY2M0
N2RmNzlKLgoIdGFza19rZXkSIgogOTQ0YWVmMGJhYzg0MGYxYzI3YmQ4M2E5MzdiYzM2MWJKMQoH
dGFza19pZBImCiQwZDUwOWY4OS0xODQyLTRlZTgtOGY4ZC1hN2E4YWQ1MjdiNjh6AhgBhQEAAQAA
Eo4CChBSTxx14ch/LOIYCSmZ7nsMEgg6qgc/NS1mQSoMVGFzayBDcmVhdGVkMAE5MGNdyTb6KRhB
AGVeyTb6KRhKLgoIY3Jld19rZXkSIgogZGUxMDFkODU1M2VhMDI0NTM3YTA4ZjgxMmVlNmI3NGFK
MQoHY3Jld19pZBImCiQ0OTJiOWM4Zi0yZTc5LTQwZmMtYTNjNy0zNWYxY2M0N2RmNzlKLgoIdGFz
a19rZXkSIgogOWYyZDRlOTNhYjU5MGM3MjU4ODcwMjc1MDhhZjkyNzhKMQoHdGFza19pZBImCiQ3
YmMxYmQyMS0zNzBlLTQ1NDctYjk3ZC0wNzUwZmYzMTU1NmV6AhgBhQEAAQAAEsoLChAJc9qWegaR
BLTFK5IuJKwuEgj0r8YBAoPHEyoMQ3JldyBDcmVhdGVkMAE52P/lyTb6KRhBUDPvyTb6KRhKGgoO
Y3Jld2FpX3ZlcnNpb24SCAoGMC44Ni4wShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuOEouCghj
cmV3X2tleRIiCiA0ZThlNDJjZjFlYTdlNjY4YTBlOTMyYTcwMjA2NTc0OUoxCgdjcmV3X2lkEiYK
JGM1ZmM3YzFiLThhYzQtNGY2ZS04ZTQxLWYzNzQzNzMzOGVmM0ocCgxjcmV3X3Byb2Nlc3MSDAoK
c2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgC
ShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAJKiAUKC2NyZXdfYWdlbnRzEvgECvUEW3sia2V5
IjogIjhiZDIxMzliNTk3NTE4MTUwNmU0MWZkOWM0NTYzZDc1IiwgImlkIjogImNmM2ZjMTBhLTdl
N2YtNGE5My1hZDc5LWY1OGFlOTc0ZGQ2OCIsICJyb2xlIjogIlJlc2VhcmNoZXIiLCAidmVyYm9z
ZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImZ1bmN0aW9uX2Nh
bGxpbmdfbGxtIjogIiIsICJsbG0iOiAiZ3B0LTRvIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBm
YWxzZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0Ijog
MiwgInRvb2xzX25hbWVzIjogW119LCB7ImtleSI6ICI5YTUwMTVlZjQ4OTVkYzYyNzhkNTQ4MThi
YTQ0NmFmNyIsICJpZCI6ICI2YTQ4OWY0YS0yM2VjLTQ0MzItODY4Yi1iNzRhZGJmYjc4OTYiLCAi
cm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1
LCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdw
dC00byIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4ZWN1dGlv
bj8iOiBmYWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtdfV1K7wMK
CmNyZXdfdGFza3MS4AMK3QNbeyJrZXkiOiAiNjc4NDlmZjcxN2RiYWRhYmExYjk1ZDVmMmRmY2Vl
YTEiLCAiaWQiOiAiZmZjMmE4MmEtOWFkZS00MmQ4LWFhODAtNGVlNTYyN2FjNmY4IiwgImFzeW5j
X2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6
ICJSZXNlYXJjaGVyIiwgImFnZW50X2tleSI6ICI4YmQyMTM5YjU5NzUxODE1MDZlNDFmZDljNDU2
M2Q3NSIsICJ0b29sc19uYW1lcyI6IFtdfSwgeyJrZXkiOiAiODRhZjlmYzFjZDMzMTk5Y2ViYjlk
NDE0MjE4NWY4MDIiLCAiaWQiOiAiZTQ3MjBjMWItNTc2Yy00ZjQ3LTk0MDItZWQzZjk5NWYxN2Fi
IiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdl
bnRfcm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwgImFnZW50X2tleSI6ICI5YTUwMTVlZjQ4OTVkYzYy
NzhkNTQ4MThiYTQ0NmFmNyIsICJ0b29sc19uYW1lcyI6IFtdfV16AhgBhQEAAQAAErgJChCQRxQq
fRJQGV/IeTffueHHEghMdUZIgYeLIioMQ3JldyBDcmVhdGVkMAE5MKC1yjb6KRhBULi+yjb6KRhK
GgoOY3Jld2FpX3ZlcnNpb24SCAoGMC44Ni4wShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIuOEou
CghjcmV3X2tleRIiCiBlM2ZkYTBmMzExMGZlODBiMTg5NDdjMDE0NzE0MzBhNEoxCgdjcmV3X2lk
EiYKJDhjZmQxNzhmLTlmYzEtNDZlYi04ZjQ5LTk5NjljZTRiMzYzM0oeCgxjcmV3X3Byb2Nlc3MS
DgoMaGllcmFyY2hpY2FsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNr
cxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAkqIBQoLY3Jld19hZ2VudHMS+AQK9QRb
eyJrZXkiOiAiOGJkMjEzOWI1OTc1MTgxNTA2ZTQxZmQ5YzQ1NjNkNzUiLCAiaWQiOiAiY2YzZmMx
MGEtN2U3Zi00YTkzLWFkNzktZjU4YWU5NzRkZDY4IiwgInJvbGUiOiAiUmVzZWFyY2hlciIsICJ2
ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rp
b25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJncHQtNG8iLCAiZGVsZWdhdGlvbl9lbmFibGVk
PyI6IGZhbHNlLCAiYWxsb3dfY29kZV9leGVjdXRpb24/IjogZmFsc2UsICJtYXhfcmV0cnlfbGlt
aXQiOiAyLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsia2V5IjogIjlhNTAxNWVmNDg5NWRjNjI3OGQ1
NDgxOGJhNDQ2YWY3IiwgImlkIjogIjZhNDg5ZjRhLTIzZWMtNDQzMi04NjhiLWI3NGFkYmZiNzg5
NiIsICJyb2xlIjogIlNlbmlvciBXcml0ZXIiLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVy
IjogMjUsICJtYXhfcnBtIjogbnVsbCwgImZ1bmN0aW9uX2NhbGxpbmdfbGxtIjogIiIsICJsbG0i
OiAiZ3B0LTRvIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93X2NvZGVfZXhl
Y3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25hbWVzIjogW119
XUrbAQoKY3Jld190YXNrcxLMAQrJAVt7ImtleSI6ICI1ZmE2NWMwNmE5ZTMxZjJjNjk1NDMyNjY4
YWNkNjJkZCIsICJpZCI6ICIyMDVlMjZiYi0wMTcxLTRhZTgtOTE2NS0yZGI3NjIwZTY5ODgiLCAi
YXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9y
b2xlIjogIk5vbmUiLCAiYWdlbnRfa2V5IjogbnVsbCwgInRvb2xzX25hbWVzIjogW119XXoCGAGF
AQABAAASjgIKEI70dXHGKGKcJhA+pu2JnfwSCAUeCPvohv3MKgxUYXNrIENyZWF0ZWQwATlAyvPK
NvopGEHIWvTKNvopGEouCghjcmV3X2tleRIiCiBlM2ZkYTBmMzExMGZlODBiMTg5NDdjMDE0NzE0
MzBhNEoxCgdjcmV3X2lkEiYKJDhjZmQxNzhmLTlmYzEtNDZlYi04ZjQ5LTk5NjljZTRiMzYzM0ou
Cgh0YXNrX2tleRIiCiA1ZmE2NWMwNmE5ZTMxZjJjNjk1NDMyNjY4YWNkNjJkZEoxCgd0YXNrX2lk
EiYKJDIwNWUyNmJiLTAxNzEtNGFlOC05MTY1LTJkYjc2MjBlNjk4OHoCGAGFAQABAAASnAEKEK3X
vDKF9U5A5Rqy3wTTIZ4SCGh+daK/RLIzKgpUb29sIFVzYWdlMAE50GpY0Tb6KRhBIApf0Tb6KRhK
GgoOY3Jld2FpX3ZlcnNpb24SCAoGMC44Ni4wSigKCXRvb2xfbmFtZRIbChlEZWxlZ2F0ZSB3b3Jr
IHRvIGNvd29ya2VySg4KCGF0dGVtcHRzEgIYAXoCGAGFAQABAAASnAEKEPBSVBX0ykzA/X9gCfIL
7mUSCDK1u7onzFrtKgpUb29sIFVzYWdlMAE5KLKe0jb6KRhB+JWk0jb6KRhKGgoOY3Jld2FpX3Zl
cnNpb24SCAoGMC44Ni4wSigKCXRvb2xfbmFtZRIbChlEZWxlZ2F0ZSB3b3JrIHRvIGNvd29ya2Vy
Sg4KCGF0dGVtcHRzEgIYAXoCGAGFAQABAAAS3AkKEFeZml4CdclIUbkRIA44l2YSCK9Fzh1Y9sMq
KgxDcmV3IENyZWF0ZWQwATlA+FzUNvopGEFYQWXUNvopGEoaCg5jcmV3YWlfdmVyc2lvbhIICgYw
Ljg2LjBKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi44Si4KCGNyZXdfa2V5EiIKIGUzZmRhMGYz
MTEwZmU4MGIxODk0N2MwMTQ3MTQzMGE0SjEKB2NyZXdfaWQSJgokZmM1ZmM2NGQtNTg0NS00NDA3
LWJiMTMtYzViYmQzMjc2NWFjSh4KDGNyZXdfcHJvY2VzcxIOCgxoaWVyYXJjaGljYWxKEQoLY3Jl
d19tZW1vcnkSAhAAShoKFGNyZXdfbnVtYmVyX29mX3Rhc2tzEgIYAUobChVjcmV3X251bWJlcl9v
Zl9hZ2VudHMSAhgCSogFCgtjcmV3X2FnZW50cxL4BAr1BFt7ImtleSI6ICI4YmQyMTM5YjU5NzUx
ODE1MDZlNDFmZDljNDU2M2Q3NSIsICJpZCI6ICJjZjNmYzEwYS03ZTdmLTRhOTMtYWQ3OS1mNThh
ZTk3NGRkNjgiLCAicm9sZSI6ICJSZXNlYXJjaGVyIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhf
aXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAi
bGxtIjogImdwdC00byIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2Rl
X2V4ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6
IFtdfSwgeyJrZXkiOiAiOWE1MDE1ZWY0ODk1ZGM2Mjc4ZDU0ODE4YmE0NDZhZjciLCAiaWQiOiAi
NmE0ODlmNGEtMjNlYy00NDMyLTg2OGItYjc0YWRiZmI3ODk2IiwgInJvbGUiOiAiU2VuaW9yIFdy
aXRlciIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxs
LCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJncHQtNG8iLCAiZGVsZWdhdGlv
bl9lbmFibGVkPyI6IGZhbHNlLCAiYWxsb3dfY29kZV9leGVjdXRpb24/IjogZmFsc2UsICJtYXhf
cmV0cnlfbGltaXQiOiAyLCAidG9vbHNfbmFtZXMiOiBbXX1dSv8BCgpjcmV3X3Rhc2tzEvABCu0B
W3sia2V5IjogIjVmYTY1YzA2YTllMzFmMmM2OTU0MzI2NjhhY2Q2MmRkIiwgImlkIjogIjE1MGNk
MGUwLTQ5NzgtNDNjOS1iYjA2LWNiOWQzMjQ1M2RhMiIsICJhc3luY19leGVjdXRpb24/IjogZmFs
c2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiUmVzZWFyY2hlciIsICJh
Z2VudF9rZXkiOiAiOGJkMjEzOWI1OTc1MTgxNTA2ZTQxZmQ5YzQ1NjNkNzUiLCAidG9vbHNfbmFt
ZXMiOiBbXX1degIYAYUBAAEAABK4CQoQPMSCsjz0oj1vsqd3sa47AxIIwGP+pQIQoKUqDENyZXcg
Q3JlYXRlZDABObiJ/dQ2+ikYQRB7BNU2+ikYShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODYuMEoa
Cg5weXRob25fdmVyc2lvbhIICgYzLjEyLjhKLgoIY3Jld19rZXkSIgogZTNmZGEwZjMxMTBmZTgw
YjE4OTQ3YzAxNDcxNDMwYTRKMQoHY3Jld19pZBImCiQ2MTlhMDE5Ni0zZjYyLTQ5OGEtYmY5OS1l
NWJmZTk4OTEzYzBKHgoMY3Jld19wcm9jZXNzEg4KDGhpZXJhcmNoaWNhbEoRCgtjcmV3X21lbW9y
eRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50
cxICGAJKiAUKC2NyZXdfYWdlbnRzEvgECvUEW3sia2V5IjogIjhiZDIxMzliNTk3NTE4MTUwNmU0
MWZkOWM0NTYzZDc1IiwgImlkIjogImNmM2ZjMTBhLTdlN2YtNGE5My1hZDc5LWY1OGFlOTc0ZGQ2
OCIsICJyb2xlIjogIlJlc2VhcmNoZXIiLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjog
MjUsICJtYXhfcnBtIjogbnVsbCwgImZ1bmN0aW9uX2NhbGxpbmdfbGxtIjogIiIsICJsbG0iOiAi
Z3B0LTRvIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93X2NvZGVfZXhlY3V0
aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25hbWVzIjogW119LCB7
ImtleSI6ICI5YTUwMTVlZjQ4OTVkYzYyNzhkNTQ4MThiYTQ0NmFmNyIsICJpZCI6ICI2YTQ4OWY0
YS0yM2VjLTQ0MzItODY4Yi1iNzRhZGJmYjc4OTYiLCAicm9sZSI6ICJTZW5pb3IgV3JpdGVyIiwg
InZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJmdW5j
dGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdwdC00byIsICJkZWxlZ2F0aW9uX2VuYWJs
ZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRyeV9s
aW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtdfV1K2wEKCmNyZXdfdGFza3MSzAEKyQFbeyJrZXki
OiAiNWZhNjVjMDZhOWUzMWYyYzY5NTQzMjY2OGFjZDYyZGQiLCAiaWQiOiAiMjk1OTA5OTItNWQw
ZC00MDc1LWE2MGUtZGQ4NmRlYjMxOGNkIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1
bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJOb25lIiwgImFnZW50X2tleSI6IG51
bGwsICJ0b29sc19uYW1lcyI6IFtdfV16AhgBhQEAAQAAEo4CChCgquFQjftvzGI16ok6C5QuEggz
xhHh0QThjyoMVGFzayBDcmVhdGVkMAE5kGk71Tb6KRhB0AU81Tb6KRhKLgoIY3Jld19rZXkSIgog
ZTNmZGEwZjMxMTBmZTgwYjE4OTQ3YzAxNDcxNDMwYTRKMQoHY3Jld19pZBImCiQ2MTlhMDE5Ni0z
ZjYyLTQ5OGEtYmY5OS1lNWJmZTk4OTEzYzBKLgoIdGFza19rZXkSIgogNWZhNjVjMDZhOWUzMWYy
YzY5NTQzMjY2OGFjZDYyZGRKMQoHdGFza19pZBImCiQyOTU5MDk5Mi01ZDBkLTQwNzUtYTYwZS1k
ZDg2ZGViMzE4Y2R6AhgBhQEAAQAAEpwBChBeTefkZBOUfiDNUnG3o6OtEgjqJE8Z5+08/CoKVG9v
bCBVc2FnZTABOaCFItY2+ikYQVCSKdY2+ikYShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODYuMEoo
Cgl0b29sX25hbWUSGwoZRGVsZWdhdGUgd29yayB0byBjb3dvcmtlckoOCghhdHRlbXB0cxICGAF6
AhgBhQEAAQAAEpwBChCs4o6Jk4gHNy6KEbMKv6gjEghslwh7koKVlCoKVG9vbCBVc2FnZTABOVhj
+tY2+ikYQTCZANc2+ikYShoKDmNyZXdhaV92ZXJzaW9uEggKBjAuODYuMEooCgl0b29sX25hbWUS
GwoZRGVsZWdhdGUgd29yayB0byBjb3dvcmtlckoOCghhdHRlbXB0cxICGAF6AhgBhQEAAQAAEuAJ
ChBtegVY75Os7bs7LK27DqP1EgjOL+nTTv360SoMQ3JldyBDcmVhdGVkMAE5MEuK1zb6KRhBCGmU
1zb6KRhKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC44Ni4wShoKDnB5dGhvbl92ZXJzaW9uEggKBjMu
MTIuOEouCghjcmV3X2tleRIiCiAxMzk3Y2IyZDBmODZjMWU3OTIwNjAzMzU0NTE2ZDc1YUoxCgdj
cmV3X2lkEiYKJDBhOWJmZjk4LTExNzgtNGRjYS1hN2YxLTRiMmNhYTlkY2QxMUoeCgxjcmV3X3By
b2Nlc3MSDgoMaGllcmFyY2hpY2FsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9v
Zl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAkqKBQoLY3Jld19hZ2VudHMS
+gQK9wRbeyJrZXkiOiAiY2E4ZmJhZTZhNWVkNzY4OTJkMmQ2OTMwYTZkOTE1YTEiLCAiaWQiOiAi
NDdhNGU1NGItMzljZC00Mzg1LWJkNTQtODRiMDBkOGE0MzA4IiwgInJvbGUiOiAiIFJlc2VhcmNo
ZXIgIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGws
ICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdwdC00byIsICJkZWxlZ2F0aW9u
X2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9y
ZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtdfSwgeyJrZXkiOiAiOThkMWU5OTNkODMx
MDcwMzQ4MTZlZTMyMDg3ZWZhMmYiLCAiaWQiOiAiNjQzZmUxMjktNjUxZi00ZDk0LThhOGQtMDE1
MzJiOGU4NDllIiwgInJvbGUiOiAiU0VOSU9SIFdSSVRFUiIsICJ2ZXJib3NlPyI6IGZhbHNlLCAi
bWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAi
IiwgImxsbSI6ICJncHQtNG8iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAiYWxsb3df
Y29kZV9leGVjdXRpb24/IjogZmFsc2UsICJtYXhfcmV0cnlfbGltaXQiOiAyLCAidG9vbHNfbmFt
ZXMiOiBbXX1dSoECCgpjcmV3X3Rhc2tzEvIBCu8BW3sia2V5IjogIjY0NGQ5ZmRjZGM1OTMwNjMw
NDUwNTljMDQ0YjBiMDI3IiwgImlkIjogIjBhZDY4YjVkLTRkOTMtNDI4OS05YWM1LTU5MzJjYzky
ZmYyYyIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwg
ImFnZW50X3JvbGUiOiAiIFJlc2VhcmNoZXIgIiwgImFnZW50X2tleSI6ICJjYThmYmFlNmE1ZWQ3
Njg5MmQyZDY5MzBhNmQ5MTVhMSIsICJ0b29sc19uYW1lcyI6IFtdfV16AhgBhQEAAQAAEssJChBd
0PUUkscfJGlV7tdE2abqEgjs1OhYoA9MmSoMQ3JldyBDcmVhdGVkMAE5mF0P2Db6KRhB6PYW2Db6
KRhKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC44Ni4wShoKDnB5dGhvbl92ZXJzaW9uEggKBjMuMTIu
OEouCghjcmV3X2tleRIiCiBlNjQ5NTczYTI2ZTU4NzkwY2FjMjFhMzdjZDQ0NDM3YUoxCgdjcmV3
X2lkEiYKJDRiYmE1NDY1LTI4OGYtNGE5ZC04ZDVjLWM1MTAwMjM1Y2JmOUocCgxjcmV3X3Byb2Nl
c3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19udW1iZXJfb2ZfdGFz
a3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAJKgAUKC2NyZXdfYWdlbnRzEvAECu0E
W3sia2V5IjogIjMyODIxN2I2YzI5NTliZGZjNDdjYWQwMGU4NDg5MGQwIiwgImlkIjogIjJlYTg1
YTQ2LTBmMTQtNDZiYS1iODY5LTQ1ZWMyYzI0YjQ0NSIsICJyb2xlIjogIkNFTyIsICJ2ZXJib3Nl
PyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2Fs
bGluZ19sbG0iOiAiIiwgImxsbSI6ICJncHQtNG8iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IHRy
dWUsICJhbGxvd19jb2RlX2V4ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIs
ICJ0b29sc19uYW1lcyI6IFtdfSwgeyJrZXkiOiAiOWE1MDE1ZWY0ODk1ZGM2Mjc4ZDU0ODE4YmE0
NDZhZjciLCAiaWQiOiAiNmE0ODlmNGEtMjNlYy00NDMyLTg2OGItYjc0YWRiZmI3ODk2IiwgInJv
bGUiOiAiU2VuaW9yIFdyaXRlciIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwg
Im1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJncHQt
NG8iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAiYWxsb3dfY29kZV9leGVjdXRpb24/
IjogZmFsc2UsICJtYXhfcmV0cnlfbGltaXQiOiAyLCAidG9vbHNfbmFtZXMiOiBbXX1dSvgBCgpj
cmV3X3Rhc2tzEukBCuYBW3sia2V5IjogIjBiOWQ2NWRiNmI3YWVkZmIzOThjNTllMmE5ZjcxZWM1
IiwgImlkIjogImQxOWNhODJkLWZiMzctNDAzZS05MWU2LWZiM2I0ZjU2YjM2MyIsICJhc3luY19l
eGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAi
Q0VPIiwgImFnZW50X2tleSI6ICIzMjgyMTdiNmMyOTU5YmRmYzQ3Y2FkMDBlODQ4OTBkMCIsICJ0
b29sc19uYW1lcyI6IFtdfV16AhgBhQEAAQAAEo4CChBscCoVhUyxR8niEDeQl6xmEgiSGerqDQ3E
ryoMVGFzayBDcmVhdGVkMAE5+Ko+2Db6KRhB4Cs/2Db6KRhKLgoIY3Jld19rZXkSIgogZTY0OTU3
M2EyNmU1ODc5MGNhYzIxYTM3Y2Q0NDQzN2FKMQoHY3Jld19pZBImCiQ0YmJhNTQ2NS0yODhmLTRh
OWQtOGQ1Yy1jNTEwMDIzNWNiZjlKLgoIdGFza19rZXkSIgogMGI5ZDY1ZGI2YjdhZWRmYjM5OGM1
OWUyYTlmNzFlYzVKMQoHdGFza19pZBImCiRkMTljYTgyZC1mYjM3LTQwM2UtOTFlNi1mYjNiNGY1
NmIzNjN6AhgBhQEAAQAAEtYJChAfvgBrQSvYs1ia7460HQKnEgiKb9/fccCQNioMQ3JldyBDcmVh
dGVkMAE5gA4C2Tb6KRhBMJIK2Tb6KRhKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC44Ni4wShoKDnB5
dGhvbl92ZXJzaW9uEggKBjMuMTIuOEouCghjcmV3X2tleRIiCiBlNjQ5NTczYTI2ZTU4NzkwY2Fj
MjFhMzdjZDQ0NDM3YUoxCgdjcmV3X2lkEiYKJGJjYTE0NzE2LTgzODMtNDFmNy05NjJkLTJhYzM2
NWU4ZWViOEocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABK
GgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAJK
gAUKC2NyZXdfYWdlbnRzEvAECu0EW3sia2V5IjogIjMyODIxN2I2YzI5NTliZGZjNDdjYWQwMGU4
NDg5MGQwIiwgImlkIjogIjJlYTg1YTQ2LTBmMTQtNDZiYS1iODY5LTQ1ZWMyYzI0YjQ0NSIsICJy
b2xlIjogIkNFTyIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0i
OiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJncHQtNG8iLCAiZGVs
ZWdhdGlvbl9lbmFibGVkPyI6IHRydWUsICJhbGxvd19jb2RlX2V4ZWN1dGlvbj8iOiBmYWxzZSwg
Im1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtdfSwgeyJrZXkiOiAiOWE1MDE1
ZWY0ODk1ZGM2Mjc4ZDU0ODE4YmE0NDZhZjciLCAiaWQiOiAiNmE0ODlmNGEtMjNlYy00NDMyLTg2
OGItYjc0YWRiZmI3ODk2IiwgInJvbGUiOiAiU2VuaW9yIFdyaXRlciIsICJ2ZXJib3NlPyI6IGZh
bHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19s
bG0iOiAiIiwgImxsbSI6ICJncHQtNG8iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAi
YWxsb3dfY29kZV9leGVjdXRpb24/IjogZmFsc2UsICJtYXhfcmV0cnlfbGltaXQiOiAyLCAidG9v
bHNfbmFtZXMiOiBbXX1dSoMCCgpjcmV3X3Rhc2tzEvQBCvEBW3sia2V5IjogIjBiOWQ2NWRiNmI3
YWVkZmIzOThjNTllMmE5ZjcxZWM1IiwgImlkIjogImY1MWJhZjAyLTE4OWEtNGE4Zi05ZTA0LWI3
MTRkYTBlNjM5ZiIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBm
YWxzZSwgImFnZW50X3JvbGUiOiAiQ0VPIiwgImFnZW50X2tleSI6ICIzMjgyMTdiNmMyOTU5YmRm
YzQ3Y2FkMDBlODQ4OTBkMCIsICJ0b29sc19uYW1lcyI6IFsidGVzdCB0b29sIl19XXoCGAGFAQAB
AAAS4QkKEHfHo2qapXehe+57Bw0hynMSCML0xbkezvd7KgxDcmV3IENyZWF0ZWQwATk4lanZNvop
GEHwXrTZNvopGEoaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjg2LjBKGgoOcHl0aG9uX3ZlcnNpb24S
CAoGMy4xMi44Si4KCGNyZXdfa2V5EiIKIGU2NDk1NzNhMjZlNTg3OTBjYWMyMWEzN2NkNDQ0Mzdh
SjEKB2NyZXdfaWQSJgokMjFhMjU3OGItNTIwZC00ZTM2LTk3NzUtMjA1OWUyNjJjMGVlShwKDGNy
ZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJl
cl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAkqLBQoLY3Jld19hZ2Vu
dHMS+wQK+ARbeyJrZXkiOiAiMzI4MjE3YjZjMjk1OWJkZmM0N2NhZDAwZTg0ODkwZDAiLCAiaWQi
OiAiMmVhODVhNDYtMGYxNC00NmJhLWI4NjktNDVlYzJjMjRiNDQ1IiwgInJvbGUiOiAiQ0VPIiwg
InZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJmdW5j
dGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdwdC00byIsICJkZWxlZ2F0aW9uX2VuYWJs
ZWQ/IjogdHJ1ZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xp
bWl0IjogMiwgInRvb2xzX25hbWVzIjogWyJ0ZXN0IHRvb2wiXX0sIHsia2V5IjogIjlhNTAxNWVm
NDg5NWRjNjI3OGQ1NDgxOGJhNDQ2YWY3IiwgImlkIjogIjZhNDg5ZjRhLTIzZWMtNDQzMi04Njhi
LWI3NGFkYmZiNzg5NiIsICJyb2xlIjogIlNlbmlvciBXcml0ZXIiLCAidmVyYm9zZT8iOiBmYWxz
ZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImZ1bmN0aW9uX2NhbGxpbmdfbGxt
IjogIiIsICJsbG0iOiAiZ3B0LTRvIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFs
bG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xz
X25hbWVzIjogW119XUqDAgoKY3Jld190YXNrcxL0AQrxAVt7ImtleSI6ICIwYjlkNjVkYjZiN2Fl
ZGZiMzk4YzU5ZTJhOWY3MWVjNSIsICJpZCI6ICI0MzczY2RkMC0wZGE4LTQ2NDMtYjFkMi03ZjEw
NmRhYTk0MDgiLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFs
c2UsICJhZ2VudF9yb2xlIjogIkNFTyIsICJhZ2VudF9rZXkiOiAiMzI4MjE3YjZjMjk1OWJkZmM0
N2NhZDAwZTg0ODkwZDAiLCAidG9vbHNfbmFtZXMiOiBbInRlc3QgdG9vbCJdfV16AhgBhQEAAQAA
ErwHChASO3XVqkuCFxpavJNcODU6EgiytdRFdAiGWioMQ3JldyBDcmVhdGVkMAE50EU92jb6KRhB
kPZE2jb6KRhKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC44Ni4wShoKDnB5dGhvbl92ZXJzaW9uEggK
BjMuMTIuOEouCghjcmV3X2tleRIiCiA5ODI0NjBlZTJkZDJjZjEyYTcxMzhiNzA4NTlmZTgxN0ox
CgdjcmV3X2lkEiYKJDFiNmI1N2VlLTY1MGMtNGE5Mi1hMmVhLWMwZjE5ZjhlYjhmY0ocCgxjcmV3
X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABKGgoUY3Jld19udW1iZXJf
b2ZfdGFza3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAFK1wIKC2NyZXdfYWdlbnRz
EscCCsQCW3sia2V5IjogIjhiZDIxMzliNTk3NTE4MTUwNmU0MWZkOWM0NTYzZDc1IiwgImlkIjog
ImNmM2ZjMTBhLTdlN2YtNGE5My1hZDc5LWY1OGFlOTc0ZGQ2OCIsICJyb2xlIjogIlJlc2VhcmNo
ZXIiLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwg
ImZ1bmN0aW9uX2NhbGxpbmdfbGxtIjogIiIsICJsbG0iOiAiZ3B0LTRvIiwgImRlbGVnYXRpb25f
ZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3Jl
dHJ5X2xpbWl0IjogMiwgInRvb2xzX25hbWVzIjogWyJ0ZXN0IHRvb2wiXX1dSpICCgpjcmV3X3Rh
c2tzEoMCCoACW3sia2V5IjogImY4MzljODdjM2Q3NTdjODg3ZjRjZTc0ZDE4NjRiMDJhIiwgImlk
IjogImFkY2EyNjA4LTk1OGMtNDM0NC04MjgxLTZlMzZhM2QwOGQ0ZCIsICJhc3luY19leGVjdXRp
b24/IjogZmFsc2UsICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiUmVzZWFy
Y2hlciIsICJhZ2VudF9rZXkiOiAiOGJkMjEzOWI1OTc1MTgxNTA2ZTQxZmQ5YzQ1NjNkNzUiLCAi
dG9vbHNfbmFtZXMiOiBbImFub3RoZXIgdGVzdCB0b29sIl19XXoCGAGFAQABAAASjgIKEOzrQ/4c
x1Pn67OHVnUgY40SCATAkh0CPrKcKgxUYXNrIENyZWF0ZWQwATmoPmLaNvopGEHwr2LaNvopGEou
CghjcmV3X2tleRIiCiA5ODI0NjBlZTJkZDJjZjEyYTcxMzhiNzA4NTlmZTgxN0oxCgdjcmV3X2lk
EiYKJDFiNmI1N2VlLTY1MGMtNGE5Mi1hMmVhLWMwZjE5ZjhlYjhmY0ouCgh0YXNrX2tleRIiCiBm
ODM5Yzg3YzNkNzU3Yzg4N2Y0Y2U3NGQxODY0YjAyYUoxCgd0YXNrX2lkEiYKJGFkY2EyNjA4LTk1
OGMtNDM0NC04MjgxLTZlMzZhM2QwOGQ0ZHoCGAGFAQABAAASlAEKEE2tauKVfOyspaWGiPZNf6sS
CCfBFZzNsRcLKgpUb29sIFVzYWdlMAE5YF1E2zb6KRhBGLZM2zb6KRhKGgoOY3Jld2FpX3ZlcnNp
b24SCAoGMC44Ni4wSiAKCXRvb2xfbmFtZRITChFBbm90aGVyIFRlc3QgVG9vbEoOCghhdHRlbXB0
cxICGAF6AhgBhQEAAQAAEvcJChBDypZpNGQl2YLneZs/PMrqEgjrQK2jkQXX2ioMQ3JldyBDcmVh
dGVkMAE5EKTo2zb6KRhBaI/w2zb6KRhKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC44Ni4wShoKDnB5
dGhvbl92ZXJzaW9uEggKBjMuMTIuOEouCghjcmV3X2tleRIiCiBhZDQ5NTcyNGJiMzhjYjdlZjc4
YzE0ZWNlNWViNGY3MkoxCgdjcmV3X2lkEiYKJDQ5MWRlYThlLTNlOWQtNDNiYi04MmQxLTVkMjYz
M2Q0MTNmNUocCgxjcmV3X3Byb2Nlc3MSDAoKc2VxdWVudGlhbEoRCgtjcmV3X21lbW9yeRICEABK
GgoUY3Jld19udW1iZXJfb2ZfdGFza3MSAhgBShsKFWNyZXdfbnVtYmVyX29mX2FnZW50cxICGAJK
kgUKC2NyZXdfYWdlbnRzEoIFCv8EW3sia2V5IjogIjhiZDIxMzliNTk3NTE4MTUwNmU0MWZkOWM0
NTYzZDc1IiwgImlkIjogImNmM2ZjMTBhLTdlN2YtNGE5My1hZDc5LWY1OGFlOTc0ZGQ2OCIsICJy
b2xlIjogIlJlc2VhcmNoZXIiLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJt
YXhfcnBtIjogbnVsbCwgImZ1bmN0aW9uX2NhbGxpbmdfbGxtIjogIiIsICJsbG0iOiAiZ3B0LTRv
IiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiB0cnVlLCAiYWxsb3dfY29kZV9leGVjdXRpb24/Ijog
ZmFsc2UsICJtYXhfcmV0cnlfbGltaXQiOiAyLCAidG9vbHNfbmFtZXMiOiBbInRlc3QgdG9vbCJd
fSwgeyJrZXkiOiAiOWE1MDE1ZWY0ODk1ZGM2Mjc4ZDU0ODE4YmE0NDZhZjciLCAiaWQiOiAiNmE0
ODlmNGEtMjNlYy00NDMyLTg2OGItYjc0YWRiZmI3ODk2IiwgInJvbGUiOiAiU2VuaW9yIFdyaXRl
ciIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxsLCAi
ZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJncHQtNG8iLCAiZGVsZWdhdGlvbl9l
bmFibGVkPyI6IGZhbHNlLCAiYWxsb3dfY29kZV9leGVjdXRpb24/IjogZmFsc2UsICJtYXhfcmV0
cnlfbGltaXQiOiAyLCAidG9vbHNfbmFtZXMiOiBbXX1dSpICCgpjcmV3X3Rhc2tzEoMCCoACW3si
a2V5IjogImY4MzljODdjM2Q3NTdjODg3ZjRjZTc0ZDE4NjRiMDJhIiwgImlkIjogIjY5MzM2NjQ5
LTVjMjctNGFhMC05M2IxLTIyMDM1NGQwOGU3MCIsICJhc3luY19leGVjdXRpb24/IjogZmFsc2Us
ICJodW1hbl9pbnB1dD8iOiBmYWxzZSwgImFnZW50X3JvbGUiOiAiUmVzZWFyY2hlciIsICJhZ2Vu
dF9rZXkiOiAiOGJkMjEzOWI1OTc1MTgxNTA2ZTQxZmQ5YzQ1NjNkNzUiLCAidG9vbHNfbmFtZXMi
OiBbImFub3RoZXIgdGVzdCB0b29sIl19XXoCGAGFAQABAAASygsKEEJIoJ5ME4ssFlJ8/RL0aIwS
CGzS/QLgvKOyKgxDcmV3IENyZWF0ZWQwATk4E4PcNvopGEEI64rcNvopGEoaCg5jcmV3YWlfdmVy
c2lvbhIICgYwLjg2LjBKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi44Si4KCGNyZXdfa2V5EiIK
IDliZjJjZGU2YmM1YzQyMDFkNjliOWJjZmZmMzViZmI5SjEKB2NyZXdfaWQSJgokMzAzZmQyOWQt
MjkwZi00YmVjLTg0Y2ItNTVhN2Q4ZTQwYTIwShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFs
ShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAJKGwoVY3Jld19u
dW1iZXJfb2ZfYWdlbnRzEgIYAkqIBQoLY3Jld19hZ2VudHMS+AQK9QRbeyJrZXkiOiAiOGJkMjEz
OWI1OTc1MTgxNTA2ZTQxZmQ5YzQ1NjNkNzUiLCAiaWQiOiAiY2YzZmMxMGEtN2U3Zi00YTkzLWFk
NzktZjU4YWU5NzRkZDY4IiwgInJvbGUiOiAiUmVzZWFyY2hlciIsICJ2ZXJib3NlPyI6IGZhbHNl
LCAibWF4X2l0ZXIiOiAyNSwgIm1heF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0i
OiAiIiwgImxsbSI6ICJncHQtNG8iLCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAiYWxs
b3dfY29kZV9leGVjdXRpb24/IjogZmFsc2UsICJtYXhfcmV0cnlfbGltaXQiOiAyLCAidG9vbHNf
bmFtZXMiOiBbXX0sIHsia2V5IjogIjlhNTAxNWVmNDg5NWRjNjI3OGQ1NDgxOGJhNDQ2YWY3Iiwg
ImlkIjogIjZhNDg5ZjRhLTIzZWMtNDQzMi04NjhiLWI3NGFkYmZiNzg5NiIsICJyb2xlIjogIlNl
bmlvciBXcml0ZXIiLCAidmVyYm9zZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBt
IjogbnVsbCwgImZ1bmN0aW9uX2NhbGxpbmdfbGxtIjogIiIsICJsbG0iOiAiZ3B0LTRvIiwgImRl
bGVnYXRpb25fZW5hYmxlZD8iOiBmYWxzZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNl
LCAibWF4X3JldHJ5X2xpbWl0IjogMiwgInRvb2xzX25hbWVzIjogW119XUrvAwoKY3Jld190YXNr
cxLgAwrdA1t7ImtleSI6ICI1OWM3MzhkNGRhZTc5NmU1YTIyZGJjMmU1MTk4YzIwZCIsICJpZCI6
ICJhZWNmMmM1Yy02ODg2LTRiODgtYmUyOC1hMTIwMWE3OGE2OTUiLCAiYXN5bmNfZXhlY3V0aW9u
PyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIlJlc2VhcmNo
ZXIiLCAiYWdlbnRfa2V5IjogIjhiZDIxMzliNTk3NTE4MTUwNmU0MWZkOWM0NTYzZDc1IiwgInRv
b2xzX25hbWVzIjogW119LCB7ImtleSI6ICJjNTAyYzU3NDVjMjc4MWFmNTFiMmYzZWY1ZDYyZmM3
NCIsICJpZCI6ICJmYjc2YTQ5Ny05MTkyLTQ2YjctYTA5ZS02MjQxNThiMjNmNDkiLCAiYXN5bmNf
ZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjog
IlNlbmlvciBXcml0ZXIiLCAiYWdlbnRfa2V5IjogIjlhNTAxNWVmNDg5NWRjNjI3OGQ1NDgxOGJh
NDQ2YWY3IiwgInRvb2xzX25hbWVzIjogW119XXoCGAGFAQABAAASjgIKENOl38InqWBQ5cjDATjQ
0NASCKYrkkywjTWXKgxUYXNrIENyZWF0ZWQwATlAzrDcNvopGEGYZrHcNvopGEouCghjcmV3X2tl
eRIiCiA5YmYyY2RlNmJjNWM0MjAxZDY5YjliY2ZmZjM1YmZiOUoxCgdjcmV3X2lkEiYKJDMwM2Zk
MjlkLTI5MGYtNGJlYy04NGNiLTU1YTdkOGU0MGEyMEouCgh0YXNrX2tleRIiCiA1OWM3MzhkNGRh
ZTc5NmU1YTIyZGJjMmU1MTk4YzIwZEoxCgd0YXNrX2lkEiYKJGFlY2YyYzVjLTY4ODYtNGI4OC1i
ZTI4LWExMjAxYTc4YTY5NXoCGAGFAQABAAASjgIKENirdAxCQnnQxan0ofB883MSCG/GfhhYp5u4
KgxUYXNrIENyZWF0ZWQwATnIRx3dNvopGEHA7x3dNvopGEouCghjcmV3X2tleRIiCiA5YmYyY2Rl
NmJjNWM0MjAxZDY5YjliY2ZmZjM1YmZiOUoxCgdjcmV3X2lkEiYKJDMwM2ZkMjlkLTI5MGYtNGJl
Yy04NGNiLTU1YTdkOGU0MGEyMEouCgh0YXNrX2tleRIiCiBjNTAyYzU3NDVjMjc4MWFmNTFiMmYz
ZWY1ZDYyZmM3NEoxCgd0YXNrX2lkEiYKJGZiNzZhNDk3LTkxOTItNDZiNy1hMDllLTYyNDE1OGIy
M2Y0OXoCGAGFAQABAAASygsKEMqko4DPMAFFbU8eXeDsY5sSCBcGEjp8vd2KKgxDcmV3IENyZWF0
ZWQwATmIAWLdNvopGEGY/mjdNvopGEoaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjg2LjBKGgoOcHl0
aG9uX3ZlcnNpb24SCAoGMy4xMi44Si4KCGNyZXdfa2V5EiIKIDliZjJjZGU2YmM1YzQyMDFkNjli
OWJjZmZmMzViZmI5SjEKB2NyZXdfaWQSJgokMzAzZmQyOWQtMjkwZi00YmVjLTg0Y2ItNTVhN2Q4
ZTQwYTIwShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoa
ChRjcmV3X251bWJlcl9vZl90YXNrcxICGAJKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAkqI
BQoLY3Jld19hZ2VudHMS+AQK9QRbeyJrZXkiOiAiOGJkMjEzOWI1OTc1MTgxNTA2ZTQxZmQ5YzQ1
NjNkNzUiLCAiaWQiOiAiY2YzZmMxMGEtN2U3Zi00YTkzLWFkNzktZjU4YWU5NzRkZDY4IiwgInJv
bGUiOiAiUmVzZWFyY2hlciIsICJ2ZXJib3NlPyI6IGZhbHNlLCAibWF4X2l0ZXIiOiAyNSwgIm1h
eF9ycG0iOiBudWxsLCAiZnVuY3Rpb25fY2FsbGluZ19sbG0iOiAiIiwgImxsbSI6ICJncHQtNG8i
LCAiZGVsZWdhdGlvbl9lbmFibGVkPyI6IGZhbHNlLCAiYWxsb3dfY29kZV9leGVjdXRpb24/Ijog
ZmFsc2UsICJtYXhfcmV0cnlfbGltaXQiOiAyLCAidG9vbHNfbmFtZXMiOiBbXX0sIHsia2V5Ijog
IjlhNTAxNWVmNDg5NWRjNjI3OGQ1NDgxOGJhNDQ2YWY3IiwgImlkIjogIjZhNDg5ZjRhLTIzZWMt
NDQzMi04NjhiLWI3NGFkYmZiNzg5NiIsICJyb2xlIjogIlNlbmlvciBXcml0ZXIiLCAidmVyYm9z
ZT8iOiBmYWxzZSwgIm1heF9pdGVyIjogMjUsICJtYXhfcnBtIjogbnVsbCwgImZ1bmN0aW9uX2Nh
bGxpbmdfbGxtIjogIiIsICJsbG0iOiAiZ3B0LTRvIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBm
YWxzZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0Ijog
MiwgInRvb2xzX25hbWVzIjogW119XUrvAwoKY3Jld190YXNrcxLgAwrdA1t7ImtleSI6ICI1OWM3
MzhkNGRhZTc5NmU1YTIyZGJjMmU1MTk4YzIwZCIsICJpZCI6ICJhZWNmMmM1Yy02ODg2LTRiODgt
YmUyOC1hMTIwMWE3OGE2OTUiLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5w
dXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIlJlc2VhcmNoZXIiLCAiYWdlbnRfa2V5IjogIjhi
ZDIxMzliNTk3NTE4MTUwNmU0MWZkOWM0NTYzZDc1IiwgInRvb2xzX25hbWVzIjogW119LCB7Imtl
eSI6ICJjNTAyYzU3NDVjMjc4MWFmNTFiMmYzZWY1ZDYyZmM3NCIsICJpZCI6ICJmYjc2YTQ5Ny05
MTkyLTQ2YjctYTA5ZS02MjQxNThiMjNmNDkiLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAi
aHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIlNlbmlvciBXcml0ZXIiLCAiYWdl
bnRfa2V5IjogIjlhNTAxNWVmNDg5NWRjNjI3OGQ1NDgxOGJhNDQ2YWY3IiwgInRvb2xzX25hbWVz
IjogW119XXoCGAGFAQABAAASjgIKEJ5eCSpBbrgo3XzzfMxgRRASCKlvPa6mJ/h5KgxUYXNrIENy
ZWF0ZWQwATkoFYvdNvopGEFYiovdNvopGEouCghjcmV3X2tleRIiCiA5YmYyY2RlNmJjNWM0MjAx
ZDY5YjliY2ZmZjM1YmZiOUoxCgdjcmV3X2lkEiYKJDMwM2ZkMjlkLTI5MGYtNGJlYy04NGNiLTU1
YTdkOGU0MGEyMEouCgh0YXNrX2tleRIiCiA1OWM3MzhkNGRhZTc5NmU1YTIyZGJjMmU1MTk4YzIw
ZEoxCgd0YXNrX2lkEiYKJGFlY2YyYzVjLTY4ODYtNGI4OC1iZTI4LWExMjAxYTc4YTY5NXoCGAGF
AQABAAASjgIKEOJA4gQh9kUskVLTxibW0E8SCK/PxHb6OsOxKgxUYXNrIENyZWF0ZWQwATmIAsrd
NvopGEHQc8rdNvopGEouCghjcmV3X2tleRIiCiA5YmYyY2RlNmJjNWM0MjAxZDY5YjliY2ZmZjM1
YmZiOUoxCgdjcmV3X2lkEiYKJDMwM2ZkMjlkLTI5MGYtNGJlYy04NGNiLTU1YTdkOGU0MGEyMEou
Cgh0YXNrX2tleRIiCiBjNTAyYzU3NDVjMjc4MWFmNTFiMmYzZWY1ZDYyZmM3NEoxCgd0YXNrX2lk
EiYKJGZiNzZhNDk3LTkxOTItNDZiNy1hMDllLTYyNDE1OGIyM2Y0OXoCGAGFAQABAAASzQsKEMRy
vscafeYAPUOtUxG6VAkSCH4/Jw2+HdWwKgxDcmV3IENyZWF0ZWQwATkAXnPeNvopGEGY63reNvop
GEoaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjg2LjBKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi44
Si4KCGNyZXdfa2V5EiIKIDQ3M2U0ZGJkMjk5ODc3MTIwZWI3NWMyNWRhNjIyMzc1SjEKB2NyZXdf
aWQSJgokYmEyYTc1NmUtYzQwNi00MTIzLWI1YzktZWNhMGI5MTEyOTQ0ShwKDGNyZXdfcHJvY2Vz
cxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNr
cxICGAJKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAkr9BAoLY3Jld19hZ2VudHMS7QQK6gRb
eyJrZXkiOiAiMzI4MjE3YjZjMjk1OWJkZmM0N2NhZDAwZTg0ODkwZDAiLCAiaWQiOiAiMmVhODVh
NDYtMGYxNC00NmJhLWI4NjktNDVlYzJjMjRiNDQ1IiwgInJvbGUiOiAiQ0VPIiwgInZlcmJvc2U/
IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxs
aW5nX2xsbSI6ICIiLCAibGxtIjogImdwdC00byIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogdHJ1
ZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0IjogMiwg
InRvb2xzX25hbWVzIjogW119LCB7ImtleSI6ICI4YmQyMTM5YjU5NzUxODE1MDZlNDFmZDljNDU2
M2Q3NSIsICJpZCI6ICJjZjNmYzEwYS03ZTdmLTRhOTMtYWQ3OS1mNThhZTk3NGRkNjgiLCAicm9s
ZSI6ICJSZXNlYXJjaGVyIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4
X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdwdC00byIs
ICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4ZWN1dGlvbj8iOiBm
YWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtdfV1K/QMKCmNyZXdf
dGFza3MS7gMK6wNbeyJrZXkiOiAiMDhjZGU5MDkzOTE2OTk0NTczMzAyYzcxMTdhOTZjZDUiLCAi
aWQiOiAiZmRlMTM1NzUtMjA4MS00M2Y3LWE4NzQtNTI1NDVjYzZlM2I3IiwgImFzeW5jX2V4ZWN1
dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJDRU8i
LCAiYWdlbnRfa2V5IjogIjMyODIxN2I2YzI5NTliZGZjNDdjYWQwMGU4NDg5MGQwIiwgInRvb2xz
X25hbWVzIjogWyJtdWx0aXBsaWVyIl19LCB7ImtleSI6ICI4MGFhNzU2OTlmNGFkNjI5MWRiZTEw
ZTRkNjY5ODAyOSIsICJpZCI6ICI3NjIzOGI5Ny1mYTJmLTQ4YjUtOWM3ZS0xN2RlMGZkMjg0OGIi
LCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5wdXQ/IjogZmFsc2UsICJhZ2Vu
dF9yb2xlIjogIlJlc2VhcmNoZXIiLCAiYWdlbnRfa2V5IjogIjhiZDIxMzliNTk3NTE4MTUwNmU0
MWZkOWM0NTYzZDc1IiwgInRvb2xzX25hbWVzIjogWyJtdWx0aXBsaWVyIl19XXoCGAGFAQABAAAS
jgIKEPClIZAc9HMYEcucdST23Q8SCPx3g/VBPUPqKgxUYXNrIENyZWF0ZWQwATmATKreNvopGEEI
3areNvopGEouCghjcmV3X2tleRIiCiA0NzNlNGRiZDI5OTg3NzEyMGViNzVjMjVkYTYyMjM3NUox
CgdjcmV3X2lkEiYKJGJhMmE3NTZlLWM0MDYtNDEyMy1iNWM5LWVjYTBiOTExMjk0NEouCgh0YXNr
X2tleRIiCiAwOGNkZTkwOTM5MTY5OTQ1NzMzMDJjNzExN2E5NmNkNUoxCgd0YXNrX2lkEiYKJGZk
ZTEzNTc1LTIwODEtNDNmNy1hODc0LTUyNTQ1Y2M2ZTNiN3oCGAGFAQABAAASjQEKECEEb2JselkH
XEtXwRb7LzISCMjkvrKbsHEpKgpUb29sIFVzYWdlMAE5iDqL3zb6KRhBABqi3zb6KRhKGgoOY3Jl
d2FpX3ZlcnNpb24SCAoGMC44Ni4wShkKCXRvb2xfbmFtZRIMCgptdWx0aXBsaWVySg4KCGF0dGVt
cHRzEgIYAXoCGAGFAQABAAASjgIKENwcjVIDtpPG3KAkK4F9SZgSCDWIdeGqujteKgxUYXNrIENy
ZWF0ZWQwATmIyvDfNvopGEFwS/HfNvopGEouCghjcmV3X2tleRIiCiA0NzNlNGRiZDI5OTg3NzEy
MGViNzVjMjVkYTYyMjM3NUoxCgdjcmV3X2lkEiYKJGJhMmE3NTZlLWM0MDYtNDEyMy1iNWM5LWVj
YTBiOTExMjk0NEouCgh0YXNrX2tleRIiCiA4MGFhNzU2OTlmNGFkNjI5MWRiZTEwZTRkNjY5ODAy
OUoxCgd0YXNrX2lkEiYKJDc2MjM4Yjk3LWZhMmYtNDhiNS05YzdlLTE3ZGUwZmQyODQ4YnoCGAGF
AQABAAASjQEKEPrR22KfTlQ8WnTuggyNklESCLzvlCpxwV40KgpUb29sIFVzYWdlMAE5CFO14Db6
KRhB6F274Db6KRhKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC44Ni4wShkKCXRvb2xfbmFtZRIMCgpt
dWx0aXBsaWVySg4KCGF0dGVtcHRzEgIYAXoCGAGFAQABAAASxgcKEBNfI/L3NmLhvwtovl2F7xAS
CKqEzXnls7oZKgxDcmV3IENyZWF0ZWQwATkw+o3jNvopGEHwsJTjNvopGEoaCg5jcmV3YWlfdmVy
c2lvbhIICgYwLjg2LjBKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi44Si4KCGNyZXdfa2V5EiIK
IDQwNTNkYThiNDliNDA2YzMyM2M2Njk1NjAxNGExZDk4SjEKB2NyZXdfaWQSJgokY2JlNDIwZGUt
OGNhYy00ZDYzLWI5YjAtY2Q5MThmYWMyYTk4ShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFs
ShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19u
dW1iZXJfb2ZfYWdlbnRzEgIYAUrWAgoLY3Jld19hZ2VudHMSxgIKwwJbeyJrZXkiOiAiZDZjNTdk
MDMwMzJkNjk5NzRmNjY5MWY1NWE4ZTM1ZTMiLCAiaWQiOiAiYmNlZWMxYTYtODE3My00NjEyLTg2
MGUtZTQ1ZmZhYjZkYjRiIiwgInJvbGUiOiAiVmVyeSBoZWxwZnVsIGFzc2lzdGFudCIsICJ2ZXJi
b3NlPyI6IHRydWUsICJtYXhfaXRlciI6IDIsICJtYXhfcnBtIjogbnVsbCwgImZ1bmN0aW9uX2Nh
bGxpbmdfbGxtIjogIiIsICJsbG0iOiAiZ3B0LTRvIiwgImRlbGVnYXRpb25fZW5hYmxlZD8iOiBm
YWxzZSwgImFsbG93X2NvZGVfZXhlY3V0aW9uPyI6IGZhbHNlLCAibWF4X3JldHJ5X2xpbWl0Ijog
MiwgInRvb2xzX25hbWVzIjogW119XUqdAgoKY3Jld190YXNrcxKOAgqLAlt7ImtleSI6ICIyYWIz
Nzc2NDU3YWRhYThlMWYxNjUwMzljMDFmNzE0NCIsICJpZCI6ICJiNWZjZDJmMy1mNDM0LTRmMGEt
YWRhOC04YmRlZDgyOGI3ODgiLCAiYXN5bmNfZXhlY3V0aW9uPyI6IGZhbHNlLCAiaHVtYW5faW5w
dXQ/IjogZmFsc2UsICJhZ2VudF9yb2xlIjogIlZlcnkgaGVscGZ1bCBhc3Npc3RhbnQiLCAiYWdl
bnRfa2V5IjogImQ2YzU3ZDAzMDMyZDY5OTc0ZjY2OTFmNTVhOGUzNWUzIiwgInRvb2xzX25hbWVz
IjogWyJnZXRfZmluYWxfYW5zd2VyIl19XXoCGAGFAQABAAASjgIKEJrKNTeYotorvtM05LN3fNQS
CL6/5gnTW5BkKgxUYXNrIENyZWF0ZWQwATmQBrPjNvopGEHYd7PjNvopGEouCghjcmV3X2tleRIi
CiA0MDUzZGE4YjQ5YjQwNmMzMjNjNjY5NTYwMTRhMWQ5OEoxCgdjcmV3X2lkEiYKJGNiZTQyMGRl
LThjYWMtNGQ2My1iOWIwLWNkOTE4ZmFjMmE5OEouCgh0YXNrX2tleRIiCiAyYWIzNzc2NDU3YWRh
YThlMWYxNjUwMzljMDFmNzE0NEoxCgd0YXNrX2lkEiYKJGI1ZmNkMmYzLWY0MzQtNGYwYS1hZGE4
LThiZGVkODI4Yjc4OHoCGAGFAQABAAASkwEKEJkhGc00cnTM4qszk9hyb0kSCPWYSHW2E3ZkKgpU
b29sIFVzYWdlMAE5GNe65zb6KRhB4NnC5zb6KRhKGgoOY3Jld2FpX3ZlcnNpb24SCAoGMC44Ni4w
Sh8KCXRvb2xfbmFtZRISChBnZXRfZmluYWxfYW5zd2VySg4KCGF0dGVtcHRzEgIYAXoCGAGFAQAB
AAASrgcKEM3nfkMObIF8K8MaQInzMTASCO7AS85dtsPcKgxDcmV3IENyZWF0ZWQwATk4GE/oNvop
GEHwfFXoNvopGEoaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjg2LjBKGgoOcHl0aG9uX3ZlcnNpb24S
CAoGMy4xMi44Si4KCGNyZXdfa2V5EiIKIGVlNjc0NWQ3YzhhZTgyZTAwZGY5NGRlMGY3Zjg3MTE4
SjEKB2NyZXdfaWQSJgokNDkwMTUwOGUtNmM5MS00NGJmLWJiMjUtNWU0OWFjZWUzYWNjShwKDGNy
ZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVtb3J5EgIQAEoaChRjcmV3X251bWJl
cl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdlbnRzEgIYAUrUAgoLY3Jld19hZ2Vu
dHMSxAIKwQJbeyJrZXkiOiAiZjMzODZmNmQ4ZGE3NWFhNDE2YTZlMzEwMDUzZjc2OTgiLCAiaWQi
OiAiNTQzOTYwMjctNWZmNC00YmVmLWJkMWQtYjQyNWQ5OWJhMjJhIiwgInJvbGUiOiAie3RvcGlj
fSBSZXNlYXJjaGVyIiwgInZlcmJvc2U/IjogZmFsc2UsICJtYXhfaXRlciI6IDI1LCAibWF4X3Jw
bSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIiLCAibGxtIjogImdwdC00byIsICJk
ZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19jb2RlX2V4ZWN1dGlvbj8iOiBmYWxz
ZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1lcyI6IFtdfV1KhwIKCmNyZXdfdGFz
a3MS+AEK9QFbeyJrZXkiOiAiMDZhNzMyMjBmNDE0OGE0YmJkNWJhY2IwZDBiNDRmY2UiLCAiaWQi
OiAiMzlhZmEwNjEtNWYxZS00Y2ExLWFjN2ItZWI3OGFkYjExYWIxIiwgImFzeW5jX2V4ZWN1dGlv
bj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAiYWdlbnRfcm9sZSI6ICJ7dG9waWN9
IFJlc2VhcmNoZXIiLCAiYWdlbnRfa2V5IjogImYzMzg2ZjZkOGRhNzVhYTQxNmE2ZTMxMDA1M2Y3
Njk4IiwgInRvb2xzX25hbWVzIjogW119XXoCGAGFAQABAAASjgIKEHfrT2UHEg5lV6zCQ1KeDWgS
CBaSmved7wmBKgxUYXNrIENyZWF0ZWQwATlwB3PoNvopGEEYaXPoNvopGEouCghjcmV3X2tleRIi
CiBlZTY3NDVkN2M4YWU4MmUwMGRmOTRkZTBmN2Y4NzExOEoxCgdjcmV3X2lkEiYKJDQ5MDE1MDhl
LTZjOTEtNDRiZi1iYjI1LTVlNDlhY2VlM2FjY0ouCgh0YXNrX2tleRIiCiAwNmE3MzIyMGY0MTQ4
YTRiYmQ1YmFjYjBkMGI0NGZjZUoxCgd0YXNrX2lkEiYKJDM5YWZhMDYxLTVmMWUtNGNhMS1hYzdi
LWViNzhhZGIxMWFiMXoCGAGFAQABAAASrgcKECVahKb5R6RKn0f8Je5w2/ESCL0rEvxPbM+0KgxD
cmV3IENyZWF0ZWQwATnwSO8xN/opGEHIPAAyN/opGEoaCg5jcmV3YWlfdmVyc2lvbhIICgYwLjg2
LjBKGgoOcHl0aG9uX3ZlcnNpb24SCAoGMy4xMi44Si4KCGNyZXdfa2V5EiIKIGVlNjc0NWQ3Yzhh
ZTgyZTAwZGY5NGRlMGY3Zjg3MTE4SjEKB2NyZXdfaWQSJgokN2E0NmUzMTYtNWUyZC00ZWQ0LWEw
NDktMTlkNTZmYmI0NzliShwKDGNyZXdfcHJvY2VzcxIMCgpzZXF1ZW50aWFsShEKC2NyZXdfbWVt
b3J5EgIQAEoaChRjcmV3X251bWJlcl9vZl90YXNrcxICGAFKGwoVY3Jld19udW1iZXJfb2ZfYWdl
bnRzEgIYAUrUAgoLY3Jld19hZ2VudHMSxAIKwQJbeyJrZXkiOiAiZjMzODZmNmQ4ZGE3NWFhNDE2
YTZlMzEwMDUzZjc2OTgiLCAiaWQiOiAiODNlZmMyNmYtNjc0Zi00NThhLWI4NTgtMGJmNzVmMDg0
YWU0IiwgInJvbGUiOiAie3RvcGljfSBSZXNlYXJjaGVyIiwgInZlcmJvc2U/IjogZmFsc2UsICJt
YXhfaXRlciI6IDI1LCAibWF4X3JwbSI6IG51bGwsICJmdW5jdGlvbl9jYWxsaW5nX2xsbSI6ICIi
LCAibGxtIjogImdwdC00byIsICJkZWxlZ2F0aW9uX2VuYWJsZWQ/IjogZmFsc2UsICJhbGxvd19j
b2RlX2V4ZWN1dGlvbj8iOiBmYWxzZSwgIm1heF9yZXRyeV9saW1pdCI6IDIsICJ0b29sc19uYW1l
cyI6IFtdfV1KhwIKCmNyZXdfdGFza3MS+AEK9QFbeyJrZXkiOiAiMDZhNzMyMjBmNDE0OGE0YmJk
NWJhY2IwZDBiNDRmY2UiLCAiaWQiOiAiZDIwYmE3YWEtZDBlYy00MjUwLTkzOWYtZDk2MmE0ODc2
MzAyIiwgImFzeW5jX2V4ZWN1dGlvbj8iOiBmYWxzZSwgImh1bWFuX2lucHV0PyI6IGZhbHNlLCAi
YWdlbnRfcm9sZSI6ICJ7dG9waWN9IFJlc2VhcmNoZXIiLCAiYWdlbnRfa2V5IjogImYzMzg2ZjZk
OGRhNzVhYTQxNmE2ZTMxMDA1M2Y3Njk4IiwgInRvb2xzX25hbWVzIjogW119XXoCGAGFAQABAAAS
jgIKELdBdtenTxEeCdPtEvMUm7ISCF9k5zRC7Ap+KgxUYXNrIENyZWF0ZWQwATnoKDoyN/opGEGA
4DoyN/opGEouCghjcmV3X2tleRIiCiBlZTY3NDVkN2M4YWU4MmUwMGRmOTRkZTBmN2Y4NzExOEox
CgdjcmV3X2lkEiYKJDdhNDZlMzE2LTVlMmQtNGVkNC1hMDQ5LTE5ZDU2ZmJiNDc5YkouCgh0YXNr
X2tleRIiCiAwNmE3MzIyMGY0MTQ4YTRiYmQ1YmFjYjBkMGI0NGZjZUoxCgd0YXNrX2lkEiYKJGQy
MGJhN2FhLWQwZWMtNDI1MC05MzlmLWQ5NjJhNDg3NjMwMnoCGAGFAQABAAA=
headers:
Accept:
- '*/*'
Accept-Encoding:
- gzip, deflate, zstd
Connection:
- keep-alive
Content-Length:
- '26549'
Content-Type:
- application/x-protobuf
User-Agent:
- OTel-OTLP-Exporter-Python/1.27.0
method: POST
uri: https://telemetry.crewai.com:4319/v1/traces
response:
body:
string: "\n\0"
headers:
Content-Length:
- '2'
Content-Type:
- application/x-protobuf
Date:
- Wed, 05 Mar 2025 18:04:07 GMT
status:
code: 200
message: OK
- request: - request:
body: '{"messages": [{"role": "system", "content": "You are cat Researcher. You body: '{"messages": [{"role": "system", "content": "You are cat Researcher. You
have a lot of experience with cat.\nYour personal goal is: Express hot takes have a lot of experience with cat.\nYour personal goal is: Express hot takes
@@ -1537,7 +1041,7 @@ interactions:
under 15 words.\nyou MUST return the actual complete content as the final answer, under 15 words.\nyou MUST return the actual complete content as the final answer,
not a summary.\n\nBegin! This is VERY important to you, use the tools available not a summary.\n\nBegin! This is VERY important to you, use the tools available
and give your best Final Answer, your job depends on it!\n\nThought:"}], "model": and give your best Final Answer, your job depends on it!\n\nThought:"}], "model":
"gpt-4o", "stop": ["\nObservation:"], "stream": false}' "gpt-4o", "stop": ["\nObservation:"]}'
headers: headers:
accept: accept:
- application/json - application/json
@@ -1546,12 +1050,12 @@ interactions:
connection: connection:
- keep-alive - keep-alive
content-length: content-length:
- '926' - '909'
content-type: content-type:
- application/json - application/json
cookie: cookie:
- _cfuvid=DU4Uj9wCeMrhRLS1qhCMclcTIx5_urj5EqNFbre9sFA-1741197845887-0.0.1.1-604800000; - _cfuvid=jA5H4RUcP7BgNe8XOM3z5HSjuPbWYswFsTykBt2ekkE-1741275608040-0.0.1.1-604800000;
__cf_bm=HJfTcrZUxe6C6kxsB2tvfBbUYBoiSIslC06rkRUVz0I-1741197845-1.0.1.1-DGqUHH2hsHT2_EfrxqbagjORT1Ojv1aKQmDYpCEnle2JJX3rkn3qoxqnkTxILaQ.Lamlpx3DtVRYOpFuAD46_NgqQJZV3vu8KunG6HoUQYo __cf_bm=LN1CkZ7ws9dtoullPd8Kczqd3ewDce9Uv7QrF_O_qDA-1741275608-1.0.1.1-cCJ4E6_R8C_fPS7VTmRBAY932xUcLwWtzqigw0A0Oju6s2VrtZV.G812d_Cfdh9rIhZJCMYqShm8eOTV304CL46Lv2fLfSzb3PsbfBozJWM
host: host:
- api.openai.com - api.openai.com
user-agent: user-agent:
@@ -1581,18 +1085,18 @@ interactions:
response: response:
body: body:
string: !!binary | string: !!binary |
H4sIAAAAAAAAAwAAAP//jFLBbtswDL37KwhddkkKJ/XiJDu1Awbs1EsHDNsKQ5FoS4tMCRLdNCj6 H4sIAAAAAAAAA4xS32vbMBB+919x6DkpTpommd/assFgbA8rY7ANI0tn+zpZZ6RzmlL6vw85aZyy
74PtNE6xDthFgN7jI94j+ZwBCKvFFoQyklUb3Py2pLubJ3+d46ZYmR97u/9Wruv6++62vLsXs17h DvYi0H13x/fjnjIARVYVoEyrxXS9m99sN+bL++1+yV8/YUW3GOvm++fF5f3N9d03NUsTXN2jkZep
d79R8avqSvk2OGTraaRVRMnYd12UxWKxKdfFaiBar9H1sibwvPDzZb4s5vl6nq9OQuOtwiS28DMD C8Nd71CI/QE2AbVg2rrYrBbLzdU6345AxxZdGmt6ma94vsyXq3m+nefr42DLZDCqAn5kAABP45so
AHge3t4iaXwSW8hnr0iLKckGxfZcBCCidz0iZEo2sSQWs4lUnhhpcH1vfNcY3sJXIH8AJQka+4gg eot7VUA+e6l0GKNuUBWnJgAV2KWK0jFSFO1FzSbQsBf0I+u7loemlQI+gucHMNpDQzsEDU2iDtrH
oemtg6R0wAjwi75Ykg5uhv8WPktOoH1rSTLCwbKB1O3YHT8BGzx+iAi904CkkRiOyKARgzvCzpMe BwwAP/0H8trB9fgv4FZLBNy3VJFA9xgFA/EQocJW74gDcC3ogbxg6AMKWtARtGOuoRoEdEAgbwJa
BWzQRlDGJyQwXSspXV3ajFh3SfZTos65E/5yzu18E6LfpRN/xmtLNpkqokye+oyJfRAD+5IBPAzz qtwjJFU9eoteYPRsCBgvzjkHrIeok2V+cO5Yfz6Z4LjpA1fxiJ/qNXmKbRlQR/ZJcBTu1Yg+ZwC/
7d6MTITo28AV+z1SGra1GvuJaaMTu1yfSPYs3QWeF7N3+lUaWVqXLjYklFQG9SSd1ik7bf0FkV2k RrOHV/6pPnDXSyn8G30co1sf9qkp3gldbo+gsGh3Vs9Xszf2lRZFk4tncSmjTYt2Gp2y1YMlPgOy
/tvNe73H5Jaa/2k/EUphYNRViKitept4KovYH/y/ys5THgyLhPHRKqzYYuw3obGWnRtvUaRjYmyr M9V/s3lr90E5+eZ/1k+AMdgL2rJPCZnXiqe2gOn6/9V2cnkkrCKGHRkshTCkJCzWenCHw1QxnVBX
2lKDMUQ7HmQdqlpt6oUu8+uPInvJ/gAAAP//AwBrgxN6mQMAAA== 1uSbdDB0uM66L2vzrl7YTX55pbLn7A8AAAD//wMAZXfmjqYDAAA=
headers: headers:
CF-RAY: CF-RAY:
- 91bb88a90c004520-ATL - 91c2f3267823afc5-ATL
Connection: Connection:
- keep-alive - keep-alive
Content-Encoding: Content-Encoding:
@@ -1600,7 +1104,7 @@ interactions:
Content-Type: Content-Type:
- application/json - application/json
Date: Date:
- Wed, 05 Mar 2025 18:04:13 GMT - Thu, 06 Mar 2025 15:40:08 GMT
Server: Server:
- cloudflare - cloudflare
Transfer-Encoding: Transfer-Encoding:
@@ -1616,25 +1120,25 @@ interactions:
openai-organization: openai-organization:
- crewai-iuxna1 - crewai-iuxna1
openai-processing-ms: openai-processing-ms:
- '7887' - '611'
openai-version: openai-version:
- '2020-10-01' - '2020-10-01'
strict-transport-security: strict-transport-security:
- max-age=31536000; includeSubDomains; preload - max-age=31536000; includeSubDomains; preload
x-ratelimit-limit-requests: x-ratelimit-limit-requests:
- '10000' - '50000'
x-ratelimit-limit-tokens: x-ratelimit-limit-tokens:
- '30000000' - '150000000'
x-ratelimit-remaining-requests: x-ratelimit-remaining-requests:
- '9999' - '49999'
x-ratelimit-remaining-tokens: x-ratelimit-remaining-tokens:
- '29999790' - '149999790'
x-ratelimit-reset-requests: x-ratelimit-reset-requests:
- 6ms - 1ms
x-ratelimit-reset-tokens: x-ratelimit-reset-tokens:
- 0s - 0s
x-request-id: x-request-id:
- req_c8724d9643314cd27cefee64afade566 - req_0d763f21158f5a7941585fae912da1ea
status: status:
code: 200 code: 200
message: OK message: OK
@@ -2029,7 +1533,7 @@ interactions:
Content-Length: Content-Length:
- '33610' - '33610'
Date: Date:
- Wed, 05 Mar 2025 18:04:13 GMT - Thu, 06 Mar 2025 15:40:08 GMT
Permissions-Policy: Permissions-Policy:
- publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=() - publickey-credentials-create=(self),publickey-credentials-get=(self),accelerometer=(),ambient-light-sensor=(),autoplay=(),battery=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),execution-while-not-rendered=(),execution-while-out-of-viewport=(),fullscreen=(),gamepad=(),geolocation=(),gyroscope=(),hid=(),identity-credentials-get=(),idle-detection=(),local-fonts=(),magnetometer=(),microphone=(),midi=(),otp-credentials=(),payment=(),picture-in-picture=(),screen-wake-lock=(),serial=(),speaker-selection=(),storage-access=(),usb=(),web-share=(),xr-spatial-tracking=()
Strict-Transport-Security: Strict-Transport-Security:
@@ -2047,9 +1551,9 @@ interactions:
X-Permitted-Cross-Domain-Policies: X-Permitted-Cross-Domain-Policies:
- none - none
X-Served-By: X-Served-By:
- cache-iad-kjyo7100032-IAD, cache-iad-kjyo7100044-IAD, cache-pdk-kpdk1780020-PDK - cache-iad-kjyo7100032-IAD, cache-iad-kjyo7100044-IAD, cache-pdk-kpdk1780097-PDK
X-Timer: X-Timer:
- S1741197854.965252,VS0,VE2 - S1741275609.875770,VS0,VE1
X-XSS-Protection: X-XSS-Protection:
- 1; mode=block - 1; mode=block
access-control-allow-headers: access-control-allow-headers:
@@ -2106,8 +1610,7 @@ interactions:
about apple that''s under 15 words.\nyou MUST return the actual complete content about apple that''s under 15 words.\nyou MUST return the actual complete content
as the final answer, not a summary.\n\nBegin! This is VERY important to you, as the final answer, not a summary.\n\nBegin! This is VERY important to you,
use the tools available and give your best Final Answer, your job depends on use the tools available and give your best Final Answer, your job depends on
it!\n\nThought:"}], "model": "gpt-4o", "stop": ["\nObservation:"], "stream": it!\n\nThought:"}], "model": "gpt-4o", "stop": ["\nObservation:"]}'
false}'
headers: headers:
accept: accept:
- application/json - application/json
@@ -2116,12 +1619,12 @@ interactions:
connection: connection:
- keep-alive - keep-alive
content-length: content-length:
- '936' - '919'
content-type: content-type:
- application/json - application/json
cookie: cookie:
- _cfuvid=DU4Uj9wCeMrhRLS1qhCMclcTIx5_urj5EqNFbre9sFA-1741197845887-0.0.1.1-604800000; - _cfuvid=jA5H4RUcP7BgNe8XOM3z5HSjuPbWYswFsTykBt2ekkE-1741275608040-0.0.1.1-604800000;
__cf_bm=HJfTcrZUxe6C6kxsB2tvfBbUYBoiSIslC06rkRUVz0I-1741197845-1.0.1.1-DGqUHH2hsHT2_EfrxqbagjORT1Ojv1aKQmDYpCEnle2JJX3rkn3qoxqnkTxILaQ.Lamlpx3DtVRYOpFuAD46_NgqQJZV3vu8KunG6HoUQYo __cf_bm=LN1CkZ7ws9dtoullPd8Kczqd3ewDce9Uv7QrF_O_qDA-1741275608-1.0.1.1-cCJ4E6_R8C_fPS7VTmRBAY932xUcLwWtzqigw0A0Oju6s2VrtZV.G812d_Cfdh9rIhZJCMYqShm8eOTV304CL46Lv2fLfSzb3PsbfBozJWM
host: host:
- api.openai.com - api.openai.com
user-agent: user-agent:
@@ -2151,18 +1654,18 @@ interactions:
response: response:
body: body:
string: !!binary | string: !!binary |
H4sIAAAAAAAAAwAAAP//jFJdi9swEHz3r1j0nBxOmo+L367Qwj2VQKHl2mJ00tpWKmuFtHaaHvff H4sIAAAAAAAAAwAAAP//jFJRa9swEH7Przj0HBfHSZPUbx1lsDHowzrGWIdRpbOtTT4J6Zx0lPz3
i+xcnKNX6ItAO7vDzM4+ZQDCaFGAUI1k1Xo7f791n+7zh333lTcP/QfzpbV2fTpgu9/tD2KWJujx ITuJU9bBXgS6777j++67lxmAMFqUIFQrWXXeZu+2G3X/oNyi+Ljc4ie5u2uWz3j/7cvXm7vPYp4Y
gIpfpm4Utd4iG3IjrAJKxsS62K4Wi932dr0agJY02jRWe56vaL7Ml6t5fjvPN+fBhozCKAr4lgEA 7uknKj6xrpTrvEU2jkZYBZSMaepis1oUm+t1vh2Azmm0idZ4zlYuK/JileXbLF8fia0zCqMo4fsM
PA1vkug0/hIF5LOXSosxyhpFcWkCEIFsqggZo4ksHYvZBCpyjG5Q/bmhrm64gHtwdAQlHdSmR5BQ AOBleJNE0vgsSsjnp0qHMcoGRXluAhDB2VQRMkYTWRKL+QQqR4w0qH5oXd+0XMIHILcHJQkas0OQ
J+kgXTxiAPjuPhonLdwN/wLuvLcIAXuyXbJrfqMGRtU4slSf4Gi4AeMc9ZITnw+kO8URpNMggZtg 0CTpICnuMQA80ntD0sLt8C/h1nuLoF1nSDJGYFQtGCK3k8k97A23oHpmQ02GukHwwelecQRJGiRB
euNqQEXxFBnbm2uBAasuyrQf11l7rj9fHFuqfaDHeMYv9co4E5syoIzkkrvI5MWAPmcAP4bNdq+W T51k1aIGVC7+jozd1aXIgHUfZdoR9dYe64eza+saH9xTPOLnem3IxLYKKKOj5DCy82JADzOAH8N2
JXyg1nPJ9BNdHHLajHxiynJCl+szyMTSXtXzxewNvlIjS2PjVTZCSdWgnkanIGWnDV0B2ZXrv9W8 +1cLEz64znPF7hdSHLJaj/PElOeEFieQHUt7Uc+L+RvzKo0sjY0X+Qglk/GJOoUpe23cBTC7cP23
xT06N67+H/oJUAo9oy59QG3Ua8dTW8B06v9qu2x5ECwiht4oLNlgSElorGRnxysUY+JlZVyNwQcz mrdmj84NNf8zfgKUQs+oKx9QG/Xa8dQWMJ37v9rOWx4Ei4hhZxRWbDCkJDTWsrfjJYox8ao21GDw
nmLly0rtqoXe5u/WInvO/gAAAP//AwA3e7TZkwMAAA== wYznWPuqVjf1Qm/y5bWYHWZ/AAAA//8DAMSvCXqXAwAA
headers: headers:
CF-RAY: CF-RAY:
- 91bb88db2e884520-ATL - 91c2f32b4f41afc5-ATL
Connection: Connection:
- keep-alive - keep-alive
Content-Encoding: Content-Encoding:
@@ -2170,7 +1673,7 @@ interactions:
Content-Type: Content-Type:
- application/json - application/json
Date: Date:
- Wed, 05 Mar 2025 18:04:14 GMT - Thu, 06 Mar 2025 15:40:09 GMT
Server: Server:
- cloudflare - cloudflare
Transfer-Encoding: Transfer-Encoding:
@@ -2186,25 +1689,25 @@ interactions:
openai-organization: openai-organization:
- crewai-iuxna1 - crewai-iuxna1
openai-processing-ms: openai-processing-ms:
- '375' - '518'
openai-version: openai-version:
- '2020-10-01' - '2020-10-01'
strict-transport-security: strict-transport-security:
- max-age=31536000; includeSubDomains; preload - max-age=31536000; includeSubDomains; preload
x-ratelimit-limit-requests: x-ratelimit-limit-requests:
- '10000' - '50000'
x-ratelimit-limit-tokens: x-ratelimit-limit-tokens:
- '30000000' - '150000000'
x-ratelimit-remaining-requests: x-ratelimit-remaining-requests:
- '9999' - '49999'
x-ratelimit-remaining-tokens: x-ratelimit-remaining-tokens:
- '29999787' - '149999788'
x-ratelimit-reset-requests: x-ratelimit-reset-requests:
- 6ms - 1ms
x-ratelimit-reset-tokens: x-ratelimit-reset-tokens:
- 0s - 0s
x-request-id: x-request-id:
- req_450962c599bb792fc0b74e14d5404f96 - req_ba0d054eca292ca2a766a709c3b320c9
status: status:
code: 200 code: 200
message: OK message: OK

View File

@@ -954,7 +954,7 @@ def test_api_calls_throttling(capsys):
moveon.assert_called() moveon.assert_called()
@skip_streaming_in_ci # @skip_streaming_in_ci
@pytest.mark.vcr(filter_headers=["authorization"]) @pytest.mark.vcr(filter_headers=["authorization"])
def test_crew_kickoff_usage_metrics(): def test_crew_kickoff_usage_metrics():
inputs = [ inputs = [
@@ -990,7 +990,7 @@ def test_crew_kickoff_usage_metrics():
assert result.token_usage.cached_prompt_tokens == 0 assert result.token_usage.cached_prompt_tokens == 0
@skip_streaming_in_ci # @skip_streaming_in_ci
@pytest.mark.vcr(filter_headers=["authorization"]) @pytest.mark.vcr(filter_headers=["authorization"])
def test_crew_kickoff_streaming_usage_metrics(): def test_crew_kickoff_streaming_usage_metrics():
inputs = [ inputs = [

View File

@@ -219,7 +219,7 @@ def test_get_custom_llm_provider_gemini():
def test_get_custom_llm_provider_openai(): def test_get_custom_llm_provider_openai():
llm = LLM(model="gpt-4") llm = LLM(model="gpt-4")
assert llm._get_custom_llm_provider() == "openai" assert llm._get_custom_llm_provider() == None
def test_validate_call_params_supported(): def test_validate_call_params_supported():