@evomap/evolver-proxy 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lifecycle/claimNudge.js +1 -124
- package/dist/lifecycle/deployGuard.js +1 -53
- package/dist/lifecycle/legacyNodeId.js +1 -178
- package/dist/lifecycle/manager.js +1 -403
- package/dist/llm/bodyCapture.js +1 -293
- package/dist/llm/index.js +1 -3
- package/dist/llm/server.js +1 -379
- package/dist/llm/traceBackfill.js +1 -525
- package/dist/llm/traceConfig.js +1 -44
- package/dist/llm/traceControl.js +1 -85
- package/dist/llm/traceEnvelope.js +1 -286
- package/dist/llm/traceSink.js +1 -278
- package/dist/llm/traceUploadPayload.js +1 -27
- package/dist/llm/upstream.js +1 -514
- package/dist/router/cachePassthrough.js +1 -13
- package/dist/router/features.js +1 -52
- package/dist/router/index.js +1 -6
- package/dist/router/messagesRoute.js +1 -809
- package/dist/router/modelRouter.js +1 -66
- package/dist/router/providerRoutes.js +1 -1579
- package/dist/router/sseScan.js +1 -543
- package/dist/sync/engine.js +1 -696
- package/package.json +3 -3
package/dist/llm/upstream.js
CHANGED
|
@@ -1,514 +1 @@
|
|
|
1
|
-
// Real upstream for the LLM proxy handlers. Anthropic /v1/messages keeps the v1 token-mediation behavior;
|
|
2
|
-
// OpenAI-compatible routes use daemon-owned OpenAI credentials so the local proxy bearer token never goes
|
|
3
|
-
// upstream as provider auth.
|
|
4
|
-
//
|
|
5
|
-
// Header policy (token mediation, same as v1): forward ONLY x-api-key, anthropic-version and anthropic-*
|
|
6
|
-
// from the inbound request. Everything else — host, cookie, content-length and crucially `authorization`
|
|
7
|
-
// (consumed by the local server as proxy self-auth) — is dropped so the proxy token never leaks upstream.
|
|
8
|
-
// When the client sent no x-api-key, the proxy substitutes its own env credential per request (hot-swappable
|
|
9
|
-
// without restart): EVOMAP_ANTHROPIC_API_KEY / ANTHROPIC_API_KEY → x-api-key, else an upstream auth token.
|
|
10
|
-
import { ReadableStream } from 'node:stream/web';
|
|
11
|
-
import { canonicalizeForBedrock, resolveBedrockAliases, supportsAdaptiveThinking } from '../router/messagesRoute.js';
|
|
12
|
-
export const DEFAULT_UPSTREAM_URL = 'https://api.anthropic.com';
|
|
13
|
-
export const DEFAULT_OPENAI_UPSTREAM_URL = 'https://api.openai.com/v1';
|
|
14
|
-
export const DEFAULT_GEMINI_UPSTREAM_URL = 'https://generativelanguage.googleapis.com';
|
|
15
|
-
export const DEFAULT_OLLAMA_UPSTREAM_URL = 'http://127.0.0.1:11434';
|
|
16
|
-
/** Time allowed for upstream RESPONSE HEADERS to arrive. Never applied to the body: a healthy SSE stream
|
|
17
|
-
* routinely outlives any fixed deadline, so an AbortSignal.timeout-style cap on the whole fetch would kill
|
|
18
|
-
* long generations mid-stream (a real v1 hazard). Body lifetime is bounded by the client connection instead. */
|
|
19
|
-
export const DEFAULT_HEADERS_TIMEOUT_MS = 120_000;
|
|
20
|
-
let defaultBedrockRuntime = null;
|
|
21
|
-
async function loadDefaultBedrockRuntime() {
|
|
22
|
-
if (!defaultBedrockRuntime) {
|
|
23
|
-
const mod = await import('@aws-sdk/client-bedrock-runtime');
|
|
24
|
-
defaultBedrockRuntime = {
|
|
25
|
-
createClient: (args) => new mod.BedrockRuntimeClient(args),
|
|
26
|
-
createInvokeModelCommand: (input) => new mod.InvokeModelCommand(input),
|
|
27
|
-
createInvokeModelWithResponseStreamCommand: (input) => new mod.InvokeModelWithResponseStreamCommand(input),
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
return defaultBedrockRuntime;
|
|
31
|
-
}
|
|
32
|
-
function isOpenAiMode(upstreamMode) {
|
|
33
|
-
return upstreamMode === 'openai';
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Detect deprecated OPENAI_COMPATIBLE_BASE_URLS env var (#671).
|
|
37
|
-
* V1 multi-base lists are ignored for routing; V2 OpenAI base must pass *.api.openai.com/v1 allowlist
|
|
38
|
-
* via EVOLVER_LLM_OPENAI_BASE_URL / EVOMAP_OPENAI_BASE_URL / OPENAI_BASE_URL.
|
|
39
|
-
* Warn once per process to avoid per-request spam.
|
|
40
|
-
*/
|
|
41
|
-
let warnedDeprecatedOpenAICompatible = false;
|
|
42
|
-
function warnDeprecatedOpenAICompatible(env) {
|
|
43
|
-
const deprecatedValue = env['EVOMAP_OPENAI_COMPATIBLE_BASE_URLS'] || env['EVOLVER_OPENAI_COMPATIBLE_BASE_URLS'];
|
|
44
|
-
if (!deprecatedValue || warnedDeprecatedOpenAICompatible)
|
|
45
|
-
return;
|
|
46
|
-
warnedDeprecatedOpenAICompatible = true;
|
|
47
|
-
console.warn('[proxy] DEPRECATED: EVOMAP_OPENAI_COMPATIBLE_BASE_URLS / EVOLVER_OPENAI_COMPATIBLE_BASE_URLS is ignored for routing. ' +
|
|
48
|
-
'V2 accepts only https://*.api.openai.com/v1 via EVOLVER_LLM_OPENAI_BASE_URL, EVOMAP_OPENAI_BASE_URL, or OPENAI_BASE_URL. ' +
|
|
49
|
-
'LiteLLM / OpenRouter / Azure OpenAI-compatible hosts are not accepted on this OpenAI path — use a reverse proxy in front of api.openai.com or a non-OpenAI provider mode. ' +
|
|
50
|
-
'Remove the deprecated multi-base env var.');
|
|
51
|
-
}
|
|
52
|
-
/** Test helper: reset once-warn latch (unit tests only). */
|
|
53
|
-
function resetDeprecatedOpenAICompatibleWarning() {
|
|
54
|
-
warnedDeprecatedOpenAICompatible = false;
|
|
55
|
-
}
|
|
56
|
-
function isAllowedOpenAIHostname(hostname) {
|
|
57
|
-
const h = hostname.toLowerCase();
|
|
58
|
-
return h === 'api.openai.com' || h.endsWith('.api.openai.com');
|
|
59
|
-
}
|
|
60
|
-
function normalizeOpenAIBaseUrl(raw) {
|
|
61
|
-
const value = raw.replace(/\/+$/, '');
|
|
62
|
-
let parsed;
|
|
63
|
-
try {
|
|
64
|
-
parsed = new URL(value);
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
throw new Error('[proxy] OpenAI base URL is not a valid URL');
|
|
68
|
-
}
|
|
69
|
-
if (parsed.protocol !== 'https:'
|
|
70
|
-
|| !isAllowedOpenAIHostname(parsed.hostname)
|
|
71
|
-
|| parsed.pathname !== '/v1'
|
|
72
|
-
|| parsed.username
|
|
73
|
-
|| parsed.password
|
|
74
|
-
|| parsed.search
|
|
75
|
-
|| parsed.hash) {
|
|
76
|
-
throw new Error('[proxy] OpenAI base URL must be an OpenAI https://*.api.openai.com/v1 endpoint');
|
|
77
|
-
}
|
|
78
|
-
return value;
|
|
79
|
-
}
|
|
80
|
-
export function resolveOpenAIUpstreamUrl(env = process.env) {
|
|
81
|
-
warnDeprecatedOpenAICompatible(env);
|
|
82
|
-
return normalizeOpenAIBaseUrl(env['EVOLVER_LLM_OPENAI_BASE_URL'] || env['EVOMAP_OPENAI_BASE_URL'] || env['OPENAI_BASE_URL'] || DEFAULT_OPENAI_UPSTREAM_URL);
|
|
83
|
-
}
|
|
84
|
-
function pathForOpenAIBase(path) {
|
|
85
|
-
if (path === '/v1')
|
|
86
|
-
return '';
|
|
87
|
-
if (path.startsWith('/v1/'))
|
|
88
|
-
return path.slice('/v1'.length);
|
|
89
|
-
return path.startsWith('/') ? path : `/${path}`;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Validate an operator-configured upstream URL (#197): must parse as an http(s) URL with no embedded credentials.
|
|
93
|
-
* Scheme-only on purpose — NO host allowlist — so legit localhost (ollama) and internal gateways keep working,
|
|
94
|
-
* while file:/gopher:/data: schemes and userinfo-based SSRF tricks (user:pass@host) are refused. Returns trimmed.
|
|
95
|
-
*/
|
|
96
|
-
function assertHttpUrl(raw, label) {
|
|
97
|
-
let parsed;
|
|
98
|
-
try {
|
|
99
|
-
parsed = new URL(raw);
|
|
100
|
-
}
|
|
101
|
-
catch {
|
|
102
|
-
throw new Error(`[proxy] ${label} is not a valid URL`);
|
|
103
|
-
}
|
|
104
|
-
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:')
|
|
105
|
-
throw new Error(`[proxy] ${label} must use http(s)`);
|
|
106
|
-
if (parsed.username || parsed.password)
|
|
107
|
-
throw new Error(`[proxy] ${label} must not embed credentials`);
|
|
108
|
-
return raw.replace(/\/+$/, '');
|
|
109
|
-
}
|
|
110
|
-
/** Resolve the upstream base URL. OpenAI-compatible routes never inherit the Anthropic-wide override. */
|
|
111
|
-
export function resolveUpstreamUrl(env = process.env, upstreamMode = 'anthropic') {
|
|
112
|
-
if (isOpenAiMode(upstreamMode))
|
|
113
|
-
return resolveOpenAIUpstreamUrl(env);
|
|
114
|
-
const raw = env['EVOLVER_LLM_UPSTREAM_URL'] || env['ANTHROPIC_BASE_URL'] || DEFAULT_UPSTREAM_URL;
|
|
115
|
-
return assertHttpUrl(raw, 'Anthropic upstream URL');
|
|
116
|
-
}
|
|
117
|
-
export function resolveGeminiUpstreamUrl(env = process.env) {
|
|
118
|
-
const raw = env['EVOMAP_GEMINI_BASE_URL'] || DEFAULT_GEMINI_UPSTREAM_URL;
|
|
119
|
-
return assertHttpUrl(raw, 'Gemini base URL');
|
|
120
|
-
}
|
|
121
|
-
export function resolveOllamaUpstreamUrl(env = process.env) {
|
|
122
|
-
const raw = env['EVOMAP_OLLAMA_BASE_URL'] || DEFAULT_OLLAMA_UPSTREAM_URL;
|
|
123
|
-
return assertHttpUrl(raw, 'Ollama base URL');
|
|
124
|
-
}
|
|
125
|
-
export function buildForwardHeaders(inbound, env, upstreamMode = 'anthropic') {
|
|
126
|
-
const fwd = { 'content-type': 'application/json' };
|
|
127
|
-
if (isOpenAiMode(upstreamMode)) {
|
|
128
|
-
for (const [k, v] of Object.entries(inbound)) {
|
|
129
|
-
if (v === undefined || v === null)
|
|
130
|
-
continue;
|
|
131
|
-
const lk = k.toLowerCase();
|
|
132
|
-
if (lk === 'openai-organization' || lk === 'openai-project' || lk === 'openai-beta' || lk.startsWith('x-stainless-') || lk === 'idempotency-key') {
|
|
133
|
-
fwd[lk] = String(v);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
const apiKey = env['EVOLVER_LLM_OPENAI_API_KEY'] || env['EVOMAP_OPENAI_API_KEY'] || env['OPENAI_API_KEY'];
|
|
137
|
-
if (apiKey)
|
|
138
|
-
fwd['authorization'] = `Bearer ${apiKey}`;
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
for (const [k, v] of Object.entries(inbound)) {
|
|
142
|
-
if (v === undefined || v === null)
|
|
143
|
-
continue;
|
|
144
|
-
const lk = k.toLowerCase();
|
|
145
|
-
if (lk === 'x-api-key' || lk === 'anthropic-version' || lk.startsWith('anthropic-'))
|
|
146
|
-
fwd[lk] = String(v);
|
|
147
|
-
}
|
|
148
|
-
if (!fwd['x-api-key']) {
|
|
149
|
-
if (env['EVOMAP_ANTHROPIC_API_KEY'])
|
|
150
|
-
fwd['x-api-key'] = env['EVOMAP_ANTHROPIC_API_KEY'];
|
|
151
|
-
else if (env['ANTHROPIC_API_KEY'])
|
|
152
|
-
fwd['x-api-key'] = env['ANTHROPIC_API_KEY'];
|
|
153
|
-
else if (env['EVOMAP_ANTHROPIC_AUTH_TOKEN'])
|
|
154
|
-
fwd['authorization'] = `Bearer ${env['EVOMAP_ANTHROPIC_AUTH_TOKEN']}`;
|
|
155
|
-
else if (env['EVOMAP_PROXY_AUTO_INJECTED'] !== '1' && env['ANTHROPIC_AUTH_TOKEN']) {
|
|
156
|
-
fwd['authorization'] = `Bearer ${env['ANTHROPIC_AUTH_TOKEN']}`;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
return fwd;
|
|
161
|
-
}
|
|
162
|
-
function safeHeaderValue(value) {
|
|
163
|
-
if (value === undefined || value === null)
|
|
164
|
-
return null;
|
|
165
|
-
const s = String(value);
|
|
166
|
-
if (/[\r\n]/.test(s))
|
|
167
|
-
return null;
|
|
168
|
-
return s;
|
|
169
|
-
}
|
|
170
|
-
export function buildOpenAIHeaders(inbound, env) {
|
|
171
|
-
const fwd = { 'content-type': 'application/json' };
|
|
172
|
-
for (const [k, v] of Object.entries(inbound)) {
|
|
173
|
-
const lk = k.toLowerCase();
|
|
174
|
-
if (lk !== 'openai-organization' && lk !== 'openai-project' && lk !== 'openai-beta' && !lk.startsWith('x-stainless-'))
|
|
175
|
-
continue;
|
|
176
|
-
const hv = safeHeaderValue(v);
|
|
177
|
-
if (hv !== null)
|
|
178
|
-
fwd[lk] = hv;
|
|
179
|
-
}
|
|
180
|
-
const upstreamKey = env['EVOLVER_LLM_OPENAI_API_KEY'] || env['EVOMAP_OPENAI_API_KEY'] || env['OPENAI_API_KEY'];
|
|
181
|
-
if (!upstreamKey)
|
|
182
|
-
throw Object.assign(new Error('openai api key required'), { statusCode: 401 });
|
|
183
|
-
fwd.authorization = `Bearer ${upstreamKey}`;
|
|
184
|
-
return fwd;
|
|
185
|
-
}
|
|
186
|
-
export function buildGeminiHeaders(inbound, env) {
|
|
187
|
-
const fwd = { 'content-type': 'application/json' };
|
|
188
|
-
for (const [k, v] of Object.entries(inbound)) {
|
|
189
|
-
const lk = k.toLowerCase();
|
|
190
|
-
if (lk !== 'x-goog-user-project' && lk !== 'x-goog-api-client' && !lk.startsWith('x-goog-request-'))
|
|
191
|
-
continue;
|
|
192
|
-
const hv = safeHeaderValue(v);
|
|
193
|
-
if (hv !== null)
|
|
194
|
-
fwd[lk] = hv;
|
|
195
|
-
}
|
|
196
|
-
const upstreamKey = env['EVOMAP_GEMINI_API_KEY'] || env['GEMINI_API_KEY'] || env['GOOGLE_API_KEY'];
|
|
197
|
-
if (!upstreamKey)
|
|
198
|
-
throw Object.assign(new Error('gemini api key required'), { statusCode: 401 });
|
|
199
|
-
fwd['x-goog-api-key'] = upstreamKey;
|
|
200
|
-
return fwd;
|
|
201
|
-
}
|
|
202
|
-
export function buildOllamaHeaders(env) {
|
|
203
|
-
const fwd = { 'content-type': 'application/json' };
|
|
204
|
-
const upstreamKey = env['EVOMAP_OLLAMA_API_KEY'];
|
|
205
|
-
if (upstreamKey)
|
|
206
|
-
fwd.authorization = `Bearer ${upstreamKey}`;
|
|
207
|
-
return fwd;
|
|
208
|
-
}
|
|
209
|
-
export function buildVertexHeaders(env) {
|
|
210
|
-
const token = env['EVOMAP_VERTEX_ACCESS_TOKEN'];
|
|
211
|
-
if (!token)
|
|
212
|
-
throw Object.assign(new Error('vertex access token required'), { statusCode: 401 });
|
|
213
|
-
return { 'content-type': 'application/json', authorization: `Bearer ${token}` };
|
|
214
|
-
}
|
|
215
|
-
function providerGatewayError(provider, err, fallbackStatus = 502) {
|
|
216
|
-
const name = err && typeof err === 'object' && 'name' in err ? String(err.name) : '';
|
|
217
|
-
const isTimeout = name === 'TimeoutError' || name === 'AbortError';
|
|
218
|
-
return Object.assign(new Error(isTimeout ? `${provider} upstream timed out` : `${provider} upstream request failed`), {
|
|
219
|
-
statusCode: isTimeout ? 504 : fallbackStatus,
|
|
220
|
-
cause: err,
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
async function fetchUpstream(endpoint, body, opts, headers, fetchImpl, headersTimeoutMs, provider, streamDetector) {
|
|
224
|
-
const method = (opts.method || 'POST').toUpperCase();
|
|
225
|
-
const controller = new AbortController();
|
|
226
|
-
const timeoutErr = new Error(`${provider} upstream timed out`);
|
|
227
|
-
timeoutErr.name = 'TimeoutError';
|
|
228
|
-
const timer = setTimeout(() => controller.abort(timeoutErr), headersTimeoutMs);
|
|
229
|
-
let res;
|
|
230
|
-
try {
|
|
231
|
-
const init = { method, headers, signal: controller.signal };
|
|
232
|
-
if (method !== 'GET' && method !== 'HEAD')
|
|
233
|
-
init.body = JSON.stringify(body ?? {});
|
|
234
|
-
res = await fetchImpl(endpoint, init);
|
|
235
|
-
}
|
|
236
|
-
catch (err) {
|
|
237
|
-
clearTimeout(timer);
|
|
238
|
-
throw providerGatewayError(provider, err);
|
|
239
|
-
}
|
|
240
|
-
finally {
|
|
241
|
-
clearTimeout(timer);
|
|
242
|
-
}
|
|
243
|
-
const resHeaders = {};
|
|
244
|
-
for (const [k, v] of res.headers.entries())
|
|
245
|
-
resHeaders[k.toLowerCase()] = v;
|
|
246
|
-
const isStream = streamDetector(resHeaders, endpoint, body);
|
|
247
|
-
return {
|
|
248
|
-
status: res.status,
|
|
249
|
-
headers: resHeaders,
|
|
250
|
-
stream: isStream ? res.body : null,
|
|
251
|
-
text: isStream ? undefined : () => res.text().catch((err) => { throw providerGatewayError(provider, err); }),
|
|
252
|
-
};
|
|
253
|
-
}
|
|
254
|
-
const contentTypeIncludes = (headers, token) => (headers['content-type'] || '').toLowerCase().includes(token);
|
|
255
|
-
function jsonResult(status, body) {
|
|
256
|
-
const text = JSON.stringify(body);
|
|
257
|
-
return {
|
|
258
|
-
status,
|
|
259
|
-
headers: { 'content-type': 'application/json' },
|
|
260
|
-
stream: null,
|
|
261
|
-
text: () => text,
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
function bodyRecord(body) {
|
|
265
|
-
if (!body || typeof body !== 'object' || Array.isArray(body))
|
|
266
|
-
return {};
|
|
267
|
-
return body;
|
|
268
|
-
}
|
|
269
|
-
function textFromBytes(value) {
|
|
270
|
-
if (typeof value === 'string')
|
|
271
|
-
return value;
|
|
272
|
-
if (value instanceof Uint8Array)
|
|
273
|
-
return Buffer.from(value).toString('utf8');
|
|
274
|
-
if (value instanceof ArrayBuffer)
|
|
275
|
-
return Buffer.from(value).toString('utf8');
|
|
276
|
-
return '';
|
|
277
|
-
}
|
|
278
|
-
function bedrockErrorResult(err) {
|
|
279
|
-
const e = err && typeof err === 'object' ? err : {};
|
|
280
|
-
const metadata = e['$metadata'] && typeof e['$metadata'] === 'object' ? e['$metadata'] : {};
|
|
281
|
-
const name = typeof e['name'] === 'string' ? e['name'] : 'upstream_error';
|
|
282
|
-
const message = typeof e['message'] === 'string' ? e['message'] : String(err);
|
|
283
|
-
const httpStatus = typeof metadata['httpStatusCode'] === 'number' ? metadata['httpStatusCode'] : undefined;
|
|
284
|
-
const status = name === 'TimeoutError' || name === 'AbortError' ? 504 : httpStatus ?? 500;
|
|
285
|
-
return jsonResult(status, { type: 'error', error: { type: name, message } });
|
|
286
|
-
}
|
|
287
|
-
function normalizeBedrockBody(body, env) {
|
|
288
|
-
const source = bodyRecord(body);
|
|
289
|
-
const rawModel = typeof source['model'] === 'string' ? source['model'] : null;
|
|
290
|
-
const canonicalModel = rawModel ? canonicalizeForBedrock(rawModel, resolveBedrockAliases(env)) : null;
|
|
291
|
-
const modelId = typeof canonicalModel === 'string' && canonicalModel.length > 0 ? canonicalModel : null;
|
|
292
|
-
if (!modelId) {
|
|
293
|
-
return jsonResult(400, {
|
|
294
|
-
type: 'error',
|
|
295
|
-
error: { type: 'invalid_request_error', message: 'body.model required for Bedrock upstream' },
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
const upstreamBody = { ...source };
|
|
299
|
-
delete upstreamBody['model'];
|
|
300
|
-
if (!upstreamBody['anthropic_version'])
|
|
301
|
-
upstreamBody['anthropic_version'] = 'bedrock-2023-05-31';
|
|
302
|
-
const wantsStream = upstreamBody['stream'] === true;
|
|
303
|
-
delete upstreamBody['stream'];
|
|
304
|
-
const modelSupportsAdaptiveThinking = supportsAdaptiveThinking(modelId);
|
|
305
|
-
const thinking = upstreamBody['thinking'];
|
|
306
|
-
if (!modelSupportsAdaptiveThinking && thinking && typeof thinking === 'object' && !Array.isArray(thinking)) {
|
|
307
|
-
const thinkingRecord = thinking;
|
|
308
|
-
if (thinkingRecord['type'] === 'adaptive') {
|
|
309
|
-
const maxTokens = typeof upstreamBody['max_tokens'] === 'number' ? upstreamBody['max_tokens'] : 8192;
|
|
310
|
-
const budget = thinkingRecord['budget_tokens'];
|
|
311
|
-
// Legacy `enabled` thinking requires 1024 <= budget_tokens < max_tokens (Bedrock rejects anything else).
|
|
312
|
-
// If max_tokens leaves no room for a >=1024 budget, thinking cannot be enabled at all → disable, even when an
|
|
313
|
-
// inbound budget_tokens is present. Otherwise CLAMP the requested (or a derived) budget into [1024, maxTokens-1]
|
|
314
|
-
// so a sub-1024 or too-large inbound budget can't reach Bedrock verbatim and fail strict validation (Bugbot).
|
|
315
|
-
if (maxTokens <= 1024) {
|
|
316
|
-
upstreamBody['thinking'] = { type: 'disabled' };
|
|
317
|
-
}
|
|
318
|
-
else {
|
|
319
|
-
const desired = typeof budget === 'number' ? budget : Math.floor(maxTokens / 2);
|
|
320
|
-
const clamped = Math.min(Math.max(1024, desired), maxTokens - 1);
|
|
321
|
-
upstreamBody['thinking'] = { ...thinkingRecord, type: 'enabled', budget_tokens: clamped };
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
delete upstreamBody['context_management'];
|
|
326
|
-
if (!modelSupportsAdaptiveThinking)
|
|
327
|
-
delete upstreamBody['output_config'];
|
|
328
|
-
return { modelId, upstreamBody, wantsStream };
|
|
329
|
-
}
|
|
330
|
-
function bedrockException(event) {
|
|
331
|
-
return event.internalServerException
|
|
332
|
-
?? event.modelStreamErrorException
|
|
333
|
-
?? event.throttlingException
|
|
334
|
-
?? event.validationException
|
|
335
|
-
?? event.modelTimeoutException
|
|
336
|
-
?? event.serviceUnavailableException
|
|
337
|
-
?? null;
|
|
338
|
-
}
|
|
339
|
-
function bedrockChunkFrame(bytes) {
|
|
340
|
-
const data = textFromBytes(bytes);
|
|
341
|
-
if (!data)
|
|
342
|
-
return '';
|
|
343
|
-
try {
|
|
344
|
-
const parsed = JSON.parse(data);
|
|
345
|
-
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
|
|
346
|
-
const type = parsed['type'];
|
|
347
|
-
if (typeof type === 'string' && /^[A-Za-z0-9_.:-]+$/.test(type))
|
|
348
|
-
return `event: ${type}\ndata: ${data}\n\n`;
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
catch {
|
|
352
|
-
/* non-JSON chunks are still valid data-only SSE frames */
|
|
353
|
-
}
|
|
354
|
-
return `data: ${data}\n\n`;
|
|
355
|
-
}
|
|
356
|
-
function bedrockStreamToSse(body) {
|
|
357
|
-
const events = body && typeof body[Symbol.asyncIterator] === 'function'
|
|
358
|
-
? body
|
|
359
|
-
: null;
|
|
360
|
-
return new ReadableStream({
|
|
361
|
-
async start(controller) {
|
|
362
|
-
if (!events) {
|
|
363
|
-
controller.close();
|
|
364
|
-
return;
|
|
365
|
-
}
|
|
366
|
-
try {
|
|
367
|
-
for await (const event of events) {
|
|
368
|
-
const bytes = event.chunk?.bytes;
|
|
369
|
-
if (bytes) {
|
|
370
|
-
controller.enqueue(Buffer.from(bedrockChunkFrame(bytes)));
|
|
371
|
-
continue;
|
|
372
|
-
}
|
|
373
|
-
const ex = bedrockException(event);
|
|
374
|
-
if (ex) {
|
|
375
|
-
const errFrame = JSON.stringify({
|
|
376
|
-
type: 'error',
|
|
377
|
-
error: {
|
|
378
|
-
type: typeof ex.name === 'string' ? ex.name : 'upstream_error',
|
|
379
|
-
message: typeof ex.message === 'string' ? ex.message : String(ex),
|
|
380
|
-
},
|
|
381
|
-
});
|
|
382
|
-
controller.enqueue(Buffer.from(`event: error\ndata: ${errFrame}\n\n`));
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
controller.close();
|
|
386
|
-
}
|
|
387
|
-
catch (err) {
|
|
388
|
-
controller.error(err);
|
|
389
|
-
}
|
|
390
|
-
},
|
|
391
|
-
cancel() {
|
|
392
|
-
try {
|
|
393
|
-
void events?.return?.();
|
|
394
|
-
}
|
|
395
|
-
catch {
|
|
396
|
-
/* async iterable already closed */
|
|
397
|
-
}
|
|
398
|
-
},
|
|
399
|
-
});
|
|
400
|
-
}
|
|
401
|
-
async function invokeBedrock(body, env, runtime, client, headersTimeoutMs) {
|
|
402
|
-
const normalized = normalizeBedrockBody(body, env);
|
|
403
|
-
if ('status' in normalized)
|
|
404
|
-
return normalized;
|
|
405
|
-
const input = {
|
|
406
|
-
modelId: normalized.modelId,
|
|
407
|
-
contentType: 'application/json',
|
|
408
|
-
accept: 'application/json',
|
|
409
|
-
body: JSON.stringify(normalized.upstreamBody),
|
|
410
|
-
};
|
|
411
|
-
const timeoutErr = new Error('bedrock upstream timed out');
|
|
412
|
-
timeoutErr.name = 'TimeoutError';
|
|
413
|
-
const abortController = new AbortController();
|
|
414
|
-
const abortTimer = setTimeout(() => abortController.abort(timeoutErr), headersTimeoutMs);
|
|
415
|
-
try {
|
|
416
|
-
if (normalized.wantsStream) {
|
|
417
|
-
const out = await client.send(runtime.createInvokeModelWithResponseStreamCommand(input), { abortSignal: abortController.signal });
|
|
418
|
-
clearTimeout(abortTimer);
|
|
419
|
-
const outRecord = out && typeof out === 'object' ? out : {};
|
|
420
|
-
return {
|
|
421
|
-
status: 200,
|
|
422
|
-
headers: { 'content-type': 'text/event-stream' },
|
|
423
|
-
stream: bedrockStreamToSse(outRecord['body']),
|
|
424
|
-
traceRequestBody: normalized.upstreamBody,
|
|
425
|
-
};
|
|
426
|
-
}
|
|
427
|
-
const out = await client.send(runtime.createInvokeModelCommand(input), { abortSignal: abortController.signal });
|
|
428
|
-
clearTimeout(abortTimer);
|
|
429
|
-
const outRecord = out && typeof out === 'object' ? out : {};
|
|
430
|
-
const text = textFromBytes(outRecord['body']);
|
|
431
|
-
return {
|
|
432
|
-
status: 200,
|
|
433
|
-
headers: { 'content-type': 'application/json' },
|
|
434
|
-
stream: null,
|
|
435
|
-
text: () => text,
|
|
436
|
-
traceRequestBody: normalized.upstreamBody,
|
|
437
|
-
};
|
|
438
|
-
}
|
|
439
|
-
catch (err) {
|
|
440
|
-
clearTimeout(abortTimer);
|
|
441
|
-
return { ...bedrockErrorResult(err), traceRequestBody: normalized.upstreamBody };
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
/** Build the production AnthropicProxy. Streaming is detected from the upstream content-type
|
|
445
|
-
* (text/event-stream → expose the response body stream; anything else → buffered text()). */
|
|
446
|
-
export function makeAnthropicUpstream(opts = {}) {
|
|
447
|
-
const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
|
|
448
|
-
const headersTimeoutMs = opts.headersTimeoutMs ?? DEFAULT_HEADERS_TIMEOUT_MS;
|
|
449
|
-
let bedrockClient = null;
|
|
450
|
-
let bedrockClientKey = '';
|
|
451
|
-
let bedrockClientRuntime = null;
|
|
452
|
-
const getBedrockClient = (env, runtime) => {
|
|
453
|
-
const args = {
|
|
454
|
-
region: env['AWS_REGION'] || env['AWS_DEFAULT_REGION'] || 'us-east-1',
|
|
455
|
-
...(env['EVOMAP_BEDROCK_ENDPOINT'] ? { endpoint: assertHttpUrl(env['EVOMAP_BEDROCK_ENDPOINT'], 'Bedrock endpoint') } : {}),
|
|
456
|
-
};
|
|
457
|
-
const key = JSON.stringify(args);
|
|
458
|
-
if (!bedrockClient || bedrockClientKey !== key || bedrockClientRuntime !== runtime) {
|
|
459
|
-
bedrockClient = runtime.createClient(args);
|
|
460
|
-
bedrockClientKey = key;
|
|
461
|
-
bedrockClientRuntime = runtime;
|
|
462
|
-
}
|
|
463
|
-
return bedrockClient;
|
|
464
|
-
};
|
|
465
|
-
return async (path, body, callOpts) => {
|
|
466
|
-
const { inboundHeaders, upstreamMode } = callOpts;
|
|
467
|
-
if (upstreamMode === 'bedrock') {
|
|
468
|
-
const runtime = opts.bedrockRuntime ?? await loadDefaultBedrockRuntime();
|
|
469
|
-
const env = opts.env ?? process.env;
|
|
470
|
-
return invokeBedrock(body, env, runtime, getBedrockClient(env, runtime), headersTimeoutMs);
|
|
471
|
-
}
|
|
472
|
-
const env = opts.env ?? process.env;
|
|
473
|
-
return fetchUpstream(`${resolveUpstreamUrl(env, upstreamMode)}${isOpenAiMode(upstreamMode) ? pathForOpenAIBase(path) : path}`, body, callOpts, buildForwardHeaders(inboundHeaders, env, upstreamMode), fetchImpl, headersTimeoutMs, isOpenAiMode(upstreamMode) ? 'openai' : 'anthropic', (headers) => contentTypeIncludes(headers, 'text/event-stream'));
|
|
474
|
-
};
|
|
475
|
-
}
|
|
476
|
-
export function makeOpenAIUpstream(opts = {}) {
|
|
477
|
-
const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
|
|
478
|
-
const headersTimeoutMs = opts.headersTimeoutMs ?? DEFAULT_HEADERS_TIMEOUT_MS;
|
|
479
|
-
return async (path, body, callOpts) => {
|
|
480
|
-
const env = opts.env ?? process.env;
|
|
481
|
-
const baseUrl = callOpts.baseUrl ? normalizeOpenAIBaseUrl(callOpts.baseUrl) : resolveOpenAIUpstreamUrl(env);
|
|
482
|
-
return fetchUpstream(`${baseUrl}${path}`, body, callOpts, buildOpenAIHeaders(callOpts.inboundHeaders, env), fetchImpl, headersTimeoutMs, 'openai', (headers) => contentTypeIncludes(headers, 'text/event-stream'));
|
|
483
|
-
};
|
|
484
|
-
}
|
|
485
|
-
export function makeGeminiUpstream(opts = {}) {
|
|
486
|
-
const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
|
|
487
|
-
const headersTimeoutMs = opts.headersTimeoutMs ?? DEFAULT_HEADERS_TIMEOUT_MS;
|
|
488
|
-
return async (path, body, callOpts) => {
|
|
489
|
-
const env = opts.env ?? process.env;
|
|
490
|
-
const baseUrl = (callOpts.baseUrl || resolveGeminiUpstreamUrl(env)).replace(/\/+$/, '');
|
|
491
|
-
return fetchUpstream(`${baseUrl}${path}`, body, callOpts, buildGeminiHeaders(callOpts.inboundHeaders, env), fetchImpl, headersTimeoutMs, 'gemini', (headers, endpoint) => contentTypeIncludes(headers, 'text/event-stream') || /:streamGenerateContent(\b|\?|$)/.test(endpoint));
|
|
492
|
-
};
|
|
493
|
-
}
|
|
494
|
-
export function makeOllamaUpstream(opts = {}) {
|
|
495
|
-
const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
|
|
496
|
-
const headersTimeoutMs = opts.headersTimeoutMs ?? DEFAULT_HEADERS_TIMEOUT_MS;
|
|
497
|
-
return async (path, body, callOpts) => {
|
|
498
|
-
const env = opts.env ?? process.env;
|
|
499
|
-
const baseUrl = (callOpts.baseUrl || resolveOllamaUpstreamUrl(env)).replace(/\/+$/, '');
|
|
500
|
-
return fetchUpstream(`${baseUrl}${path}`, body, callOpts, buildOllamaHeaders(env), fetchImpl, headersTimeoutMs, 'ollama', (_headers, _endpoint, outboundBody) => !(outboundBody && typeof outboundBody === 'object' && outboundBody['stream'] === false));
|
|
501
|
-
};
|
|
502
|
-
}
|
|
503
|
-
export function makeVertexUpstream(opts = {}) {
|
|
504
|
-
const fetchImpl = opts.fetchImpl ?? globalThis.fetch;
|
|
505
|
-
const headersTimeoutMs = opts.headersTimeoutMs ?? DEFAULT_HEADERS_TIMEOUT_MS;
|
|
506
|
-
return async (path, body, callOpts) => {
|
|
507
|
-
const baseUrl = (callOpts.baseUrl || '').replace(/\/+$/, '');
|
|
508
|
-
if (!baseUrl)
|
|
509
|
-
throw Object.assign(new Error('vertex base url required'), { statusCode: 500 });
|
|
510
|
-
const env = opts.env ?? process.env;
|
|
511
|
-
return fetchUpstream(`${baseUrl}${path}`, body, callOpts, buildVertexHeaders(env), fetchImpl, headersTimeoutMs, 'vertex', (headers, endpoint) => contentTypeIncludes(headers, 'text/event-stream') || /:streamGenerateContent(\b|\?|$)/.test(endpoint));
|
|
512
|
-
};
|
|
513
|
-
}
|
|
514
|
-
export { warnDeprecatedOpenAICompatible, resetDeprecatedOpenAICompatibleWarning };
|
|
1
|
+
const _0x33e187=_0x33ca;(function(_0x186d17,_0x533a7f){const _0xad5808=_0x33ca,_0x2a16fe=_0x186d17();while(!![]){try{const _0x152411=parseInt(_0xad5808(0x14e,'\x69\x56\x71\x63'))/(-0xca5+0x1*-0x17f5+0x249b)+-parseInt(_0xad5808(0x206,'\x54\x56\x59\x54'))/(-0x2*-0xd3f+-0x1*-0xa5b+-0x1*0x24d7)*(-parseInt(_0xad5808(0x26e,'\x4d\x79\x39\x28'))/(-0x4*-0x404+0x232+-0x207*0x9))+-parseInt(_0xad5808(0x222,'\x74\x6b\x42\x53'))/(0x241d*0x1+0x126f+-0x3688)+-parseInt(_0xad5808(0x3a2,'\x61\x6d\x63\x46'))/(-0x109*-0x22+0x853+-0x2b80)*(-parseInt(_0xad5808(0x167,'\x67\x77\x58\x69'))/(-0x933*-0x3+-0xdc9+-0xdca))+-parseInt(_0xad5808(0x3a9,'\x61\x6d\x63\x46'))/(0x446*-0x9+0x608+-0x4a3*-0x7)*(parseInt(_0xad5808(0x319,'\x38\x44\x53\x42'))/(0x1*0x1de3+-0x3d*0x31+-0x2*0x917))+parseInt(_0xad5808(0x30b,'\x67\x79\x6a\x52'))/(0x13f6+-0x15b1+0x4*0x71)+parseInt(_0xad5808(0x132,'\x74\x6b\x42\x53'))/(-0x1e2e*0x1+-0x239b+0x41d3)*(parseInt(_0xad5808(0x284,'\x4b\x35\x55\x4b'))/(0x212c+0xc8a*0x2+-0x1367*0x3));if(_0x152411===_0x533a7f)break;else _0x2a16fe['push'](_0x2a16fe['shift']());}catch(_0x32f495){_0x2a16fe['push'](_0x2a16fe['shift']());}}}(_0x2522,0x92555*0x2+-0xaf89c+-0x137b*-0x1c));import{ReadableStream}from'\x6e\x6f\x64\x65\x3a\x73\x74\x72\x65\x61\x6d\x2f\x77\x65\x62';import{canonicalizeForBedrock,resolveBedrockAliases,supportsAdaptiveThinking}from'\x2e\x2e\x2f\x72\x6f\x75\x74\x65\x72\x2f\x6d\x65\x73\x73\x61\x67\x65\x73\x52\x6f\x75\x74\x65\x2e\x6a\x73';export const DEFAULT_UPSTREAM_URL=_0x33e187(0x38c,'\x61\x35\x74\x42')+_0x33e187(0x3d8,'\x4d\x79\x39\x28')+_0x33e187(0x263,'\x31\x76\x48\x56')+'\x6d';export const DEFAULT_OPENAI_UPSTREAM_URL=_0x33e187(0x11e,'\x29\x57\x45\x25')+_0x33e187(0x285,'\x25\x5d\x6b\x49')+_0x33e187(0x271,'\x29\x57\x45\x25')+'\x31';export const DEFAULT_GEMINI_UPSTREAM_URL=_0x33e187(0x14d,'\x69\x56\x71\x63')+_0x33e187(0x292,'\x38\x44\x53\x42')+_0x33e187(0x3b3,'\x52\x38\x37\x44')+_0x33e187(0x207,'\x4d\x79\x39\x28')+_0x33e187(0x315,'\x61\x62\x6c\x66')+'\x6d';export const DEFAULT_OLLAMA_UPSTREAM_URL=_0x33e187(0x3c5,'\x31\x76\x48\x56')+'\x32\x37\x2e\x30\x2e\x30\x2e\x31'+_0x33e187(0x29a,'\x40\x51\x62\x24');export const DEFAULT_HEADERS_TIMEOUT_MS=-0x31d4d+-0x1f921+0x6eb2e;let defaultBedrockRuntime=null;async function loadDefaultBedrockRuntime(){const _0x5cec7d=_0x33e187;if(!defaultBedrockRuntime){const _0x23a64e=await import(_0x5cec7d(0x32d,'\x4d\x79\x39\x28')+_0x5cec7d(0x1dc,'\x61\x6d\x63\x46')+'\x62\x65\x64\x72\x6f\x63\x6b\x2d'+_0x5cec7d(0x205,'\x37\x59\x29\x62'));defaultBedrockRuntime={'\x63\x72\x65\x61\x74\x65\x43\x6c\x69\x65\x6e\x74':_0x1ac08f=>new _0x23a64e[(_0x5cec7d(0x21d,'\x26\x55\x24\x66'))+(_0x5cec7d(0x24f,'\x31\x76\x48\x56'))+(_0x5cec7d(0x3d2,'\x4b\x35\x55\x4b'))](_0x1ac08f),'\x63\x72\x65\x61\x74\x65\x49\x6e\x76\x6f\x6b\x65\x4d\x6f\x64\x65\x6c\x43\x6f\x6d\x6d\x61\x6e\x64':_0x473de1=>new _0x23a64e[(_0x5cec7d(0x11b,'\x4c\x55\x56\x6b'))+(_0x5cec7d(0x163,'\x63\x31\x46\x31'))+'\x6e\x64'](_0x473de1),'\x63\x72\x65\x61\x74\x65\x49\x6e\x76\x6f\x6b\x65\x4d\x6f\x64\x65\x6c\x57\x69\x74\x68\x52\x65\x73\x70\x6f\x6e\x73\x65\x53\x74\x72\x65\x61\x6d\x43\x6f\x6d\x6d\x61\x6e\x64':_0xed2d52=>new _0x23a64e[(_0x5cec7d(0x3e0,'\x38\x44\x53\x42'))+(_0x5cec7d(0x1a9,'\x73\x21\x6a\x67'))+(_0x5cec7d(0x174,'\x67\x44\x5a\x51'))+(_0x5cec7d(0x3e2,'\x73\x21\x6a\x67'))+(_0x5cec7d(0x324,'\x6c\x65\x77\x37'))](_0xed2d52)};}return defaultBedrockRuntime;}function isOpenAiMode(_0x4ec8fe){return _0x4ec8fe==='\x6f\x70\x65\x6e\x61\x69';}let warnedDeprecatedOpenAICompatible=![];function warnDeprecatedOpenAICompatible(_0x426158){const _0x3dbc30=_0x33e187,_0x1f2929=_0x426158[_0x3dbc30(0x18d,'\x4d\x72\x29\x58')+_0x3dbc30(0x11d,'\x48\x6b\x38\x5a')+_0x3dbc30(0x26b,'\x66\x75\x4b\x50')+_0x3dbc30(0x115,'\x61\x62\x6c\x66')+'\x4c\x53']||_0x426158[_0x3dbc30(0x2c1,'\x6e\x4a\x41\x51')+_0x3dbc30(0x399,'\x6c\x65\x77\x37')+_0x3dbc30(0x1fb,'\x4c\x55\x56\x6b')+_0x3dbc30(0x143,'\x73\x21\x6a\x67')+_0x3dbc30(0x176,'\x33\x29\x6e\x34')];if(!_0x1f2929||warnedDeprecatedOpenAICompatible)return;warnedDeprecatedOpenAICompatible=!![],console[_0x3dbc30(0x2b0,'\x52\x38\x37\x44')](_0x3dbc30(0x1a5,'\x57\x4e\x69\x45')+_0x3dbc30(0x31f,'\x55\x67\x49\x56')+_0x3dbc30(0x1e2,'\x21\x37\x50\x21')+_0x3dbc30(0x2fb,'\x6e\x4a\x41\x51')+_0x3dbc30(0x1e7,'\x66\x75\x4b\x50')+_0x3dbc30(0x3ba,'\x5e\x61\x4e\x46')+_0x3dbc30(0x277,'\x6a\x70\x5e\x35')+_0x3dbc30(0x2b6,'\x69\x28\x28\x7a')+_0x3dbc30(0x36e,'\x67\x77\x58\x69')+_0x3dbc30(0x38a,'\x56\x56\x76\x26')+_0x3dbc30(0x3e3,'\x69\x56\x71\x63')+_0x3dbc30(0x17c,'\x61\x62\x6c\x66')+_0x3dbc30(0x3ac,'\x4d\x72\x29\x58')+_0x3dbc30(0x29f,'\x66\x75\x4b\x50')+_0x3dbc30(0x157,'\x73\x21\x6a\x67')+(_0x3dbc30(0x201,'\x66\x75\x4b\x50')+_0x3dbc30(0x278,'\x25\x5d\x6b\x49')+_0x3dbc30(0x2b4,'\x67\x77\x58\x69')+'\x2a\x2e\x61\x70\x69\x2e\x6f\x70'+_0x3dbc30(0x391,'\x67\x6a\x41\x69')+_0x3dbc30(0x111,'\x54\x56\x59\x54')+'\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x3dbc30(0x352,'\x74\x6b\x42\x53')+_0x3dbc30(0x328,'\x6e\x4a\x41\x51')+'\x55\x52\x4c\x2c\x20\x45\x56\x4f'+_0x3dbc30(0x3b8,'\x21\x37\x50\x21')+'\x41\x49\x5f\x42\x41\x53\x45\x5f'+_0x3dbc30(0x3e5,'\x40\x76\x7a\x24')+_0x3dbc30(0x18b,'\x61\x62\x6c\x66')+'\x41\x53\x45\x5f\x55\x52\x4c\x2e'+'\x20')+('\x4c\x69\x74\x65\x4c\x4c\x4d\x20'+'\x2f\x20\x4f\x70\x65\x6e\x52\x6f'+'\x75\x74\x65\x72\x20\x2f\x20\x41'+_0x3dbc30(0x223,'\x61\x62\x6c\x66')+_0x3dbc30(0x301,'\x66\x75\x4b\x50')+_0x3dbc30(0x305,'\x6a\x70\x5e\x35')+_0x3dbc30(0x134,'\x61\x62\x6c\x66')+_0x3dbc30(0x375,'\x63\x31\x46\x31')+_0x3dbc30(0x2c8,'\x54\x56\x59\x54')+_0x3dbc30(0x202,'\x4d\x79\x39\x28')+'\x65\x6e\x41\x49\x20\x70\x61\x74'+_0x3dbc30(0x16d,'\x61\x6d\x63\x46')+_0x3dbc30(0x2cb,'\x6e\x4a\x41\x51')+_0x3dbc30(0x218,'\x61\x62\x6c\x66')+_0x3dbc30(0x1c7,'\x67\x6a\x41\x69')+_0x3dbc30(0x1aa,'\x67\x79\x6a\x52')+'\x6f\x70\x65\x6e\x61\x69\x2e\x63'+'\x6f\x6d\x20\x6f\x72\x20\x61\x20'+_0x3dbc30(0x3c8,'\x38\x44\x53\x42')+_0x3dbc30(0x1d0,'\x63\x31\x46\x31')+_0x3dbc30(0x212,'\x61\x35\x74\x42')+'\x2e\x20')+(_0x3dbc30(0x208,'\x6f\x29\x4f\x73')+'\x68\x65\x20\x64\x65\x70\x72\x65'+_0x3dbc30(0x25d,'\x7a\x5d\x5e\x64')+_0x3dbc30(0x35a,'\x69\x56\x71\x63')+_0x3dbc30(0x381,'\x29\x57\x45\x25')+'\x2e'));}function resetDeprecatedOpenAICompatibleWarning(){warnedDeprecatedOpenAICompatible=![];}function isAllowedOpenAIHostname(_0x1ecd9e){const _0x254917=_0x33e187,_0x47a74e=_0x1ecd9e['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x254917(0x364,'\x6a\x70\x5e\x35')]();return _0x47a74e===_0x254917(0x1f3,'\x4c\x55\x56\x6b')+_0x254917(0x3db,'\x31\x76\x48\x56')||_0x47a74e[_0x254917(0x266,'\x29\x23\x52\x6d')]('\x2e\x61\x70\x69\x2e\x6f\x70\x65'+_0x254917(0x34e,'\x29\x57\x45\x25'));}function normalizeOpenAIBaseUrl(_0x1e07f1){const _0x5e33e9=_0x33e187,_0x499af8=_0x1e07f1[_0x5e33e9(0x2fd,'\x40\x48\x61\x74')](/\/+$/,'');let _0x10aa09;try{if(_0x5e33e9(0x135,'\x31\x6a\x49\x72')===_0x5e33e9(0x2be,'\x58\x39\x4d\x78')){const _0x3b77bb={'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x5e33e9(0x320,'\x38\x6d\x30\x52')+_0x5e33e9(0x354,'\x67\x6a\x41\x69')},_0x113e4f=_0x441ffc[_0x5e33e9(0x3d0,'\x52\x38\x37\x44')+'\x4c\x4c\x41\x4d\x41\x5f\x41\x50'+'\x49\x5f\x4b\x45\x59'];if(_0x113e4f)_0x3b77bb[_0x5e33e9(0x3b1,'\x73\x21\x6a\x67')+_0x5e33e9(0x2c5,'\x29\x57\x45\x25')]='\x42\x65\x61\x72\x65\x72\x20'+_0x113e4f;return _0x3b77bb;}else _0x10aa09=new URL(_0x499af8);}catch{if(_0x5e33e9(0x2e0,'\x57\x4e\x69\x45')!==_0x5e33e9(0x28e,'\x5e\x61\x4e\x46')){if(_0x28d246['\x45\x56\x4f\x4d\x41\x50\x5f\x41'+'\x4e\x54\x48\x52\x4f\x50\x49\x43'+_0x5e33e9(0x372,'\x35\x4d\x5b\x73')])_0x981b32[_0x5e33e9(0x2f0,'\x31\x6a\x49\x72')+'\x79']=_0x468690['\x45\x56\x4f\x4d\x41\x50\x5f\x41'+_0x5e33e9(0x17e,'\x61\x35\x74\x42')+_0x5e33e9(0x3bb,'\x4d\x72\x29\x58')];else{if(_0x5a8742[_0x5e33e9(0x16e,'\x40\x76\x7a\x24')+_0x5e33e9(0x327,'\x66\x75\x4b\x50')+'\x59'])_0xb2a620[_0x5e33e9(0x37b,'\x4d\x79\x39\x28')+'\x79']=_0x494276[_0x5e33e9(0x1bb,'\x29\x23\x52\x6d')+_0x5e33e9(0x1ce,'\x67\x79\x6a\x52')+'\x59'];else{if(_0x3ae100[_0x5e33e9(0x130,'\x63\x31\x46\x31')+_0x5e33e9(0x27b,'\x4b\x35\x55\x4b')+_0x5e33e9(0x333,'\x48\x6b\x38\x5a')+_0x5e33e9(0x1ad,'\x67\x77\x58\x69')])_0x39b638['\x61\x75\x74\x68\x6f\x72\x69\x7a'+_0x5e33e9(0x33a,'\x55\x67\x49\x56')]=_0x5e33e9(0x3dd,'\x73\x21\x6a\x67')+_0x52613f[_0x5e33e9(0x33d,'\x40\x48\x61\x74')+_0x5e33e9(0x24d,'\x79\x6b\x6e\x56')+_0x5e33e9(0x2ba,'\x4d\x79\x39\x28')+_0x5e33e9(0x178,'\x33\x29\x6e\x34')];else _0x3ae231['\x45\x56\x4f\x4d\x41\x50\x5f\x50'+_0x5e33e9(0x126,'\x25\x5d\x6b\x49')+_0x5e33e9(0x112,'\x5e\x61\x4e\x46')+'\x45\x44']!=='\x31'&&_0x1af85f[_0x5e33e9(0x274,'\x6d\x78\x47\x71')+_0x5e33e9(0x182,'\x26\x55\x24\x66')+'\x4f\x4b\x45\x4e']&&(_0x2cd842[_0x5e33e9(0x3a1,'\x63\x31\x46\x31')+_0x5e33e9(0x31c,'\x4c\x55\x56\x6b')]='\x42\x65\x61\x72\x65\x72\x20'+_0x58705b[_0x5e33e9(0x259,'\x6c\x65\x77\x37')+_0x5e33e9(0x220,'\x74\x6b\x42\x53')+_0x5e33e9(0x273,'\x33\x57\x79\x50')]);}}}else throw new Error(_0x5e33e9(0x2a9,'\x6f\x29\x4f\x73')+_0x5e33e9(0x2e1,'\x54\x56\x59\x54')+'\x61\x73\x65\x20\x55\x52\x4c\x20'+_0x5e33e9(0x12b,'\x40\x48\x61\x74')+_0x5e33e9(0x3c2,'\x31\x6a\x49\x72')+'\x52\x4c');}if(_0x10aa09[_0x5e33e9(0x1cc,'\x35\x4d\x5b\x73')]!==_0x5e33e9(0x2c2,'\x35\x4d\x5b\x73')||!isAllowedOpenAIHostname(_0x10aa09[_0x5e33e9(0x294,'\x79\x6b\x6e\x56')])||_0x10aa09[_0x5e33e9(0x210,'\x67\x77\x58\x69')]!==_0x5e33e9(0x369,'\x4d\x72\x29\x58')||_0x10aa09[_0x5e33e9(0x1df,'\x4d\x72\x29\x58')]||_0x10aa09[_0x5e33e9(0x252,'\x74\x6b\x42\x53')]||_0x10aa09[_0x5e33e9(0x293,'\x6b\x45\x69\x54')]||_0x10aa09[_0x5e33e9(0x2fc,'\x40\x48\x61\x74')]){if(_0x5e33e9(0x255,'\x67\x44\x5a\x51')===_0x5e33e9(0x1a3,'\x4d\x72\x29\x58'))throw new Error(_0x5e33e9(0x215,'\x26\x55\x24\x66')+_0x5e33e9(0x21f,'\x66\x75\x4b\x50')+_0x5e33e9(0x15b,'\x61\x6d\x63\x46')+'\x6d\x75\x73\x74\x20\x62\x65\x20'+'\x61\x6e\x20\x4f\x70\x65\x6e\x41'+_0x5e33e9(0x380,'\x40\x76\x7a\x24')+_0x5e33e9(0x3de,'\x61\x62\x6c\x66')+_0x5e33e9(0x1a7,'\x55\x67\x49\x56')+_0x5e33e9(0x359,'\x52\x38\x37\x44')+'\x64\x70\x6f\x69\x6e\x74');else return _0x5b9ac8(0x233*-0x1+-0x19*0x5e+0xcf1,{'\x74\x79\x70\x65':'\x65\x72\x72\x6f\x72','\x65\x72\x72\x6f\x72':{'\x74\x79\x70\x65':_0x5e33e9(0x276,'\x5e\x61\x4e\x46')+'\x72\x65\x71\x75\x65\x73\x74\x5f'+_0x5e33e9(0x1e0,'\x44\x4b\x43\x55'),'\x6d\x65\x73\x73\x61\x67\x65':_0x5e33e9(0x345,'\x6d\x78\x47\x71')+'\x65\x6c\x20\x72\x65\x71\x75\x69'+'\x72\x65\x64\x20\x66\x6f\x72\x20'+_0x5e33e9(0x213,'\x38\x6d\x30\x52')+_0x5e33e9(0x1bd,'\x48\x6b\x38\x5a')}});}return _0x499af8;}export function resolveOpenAIUpstreamUrl(_0x5e5ca1=process.env){const _0x1becd4=_0x33e187;return warnDeprecatedOpenAICompatible(_0x5e5ca1),normalizeOpenAIBaseUrl(_0x5e5ca1['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x1becd4(0x14b,'\x40\x76\x7a\x24')+_0x1becd4(0x33e,'\x7a\x5d\x5e\x64')+'\x55\x52\x4c']||_0x5e5ca1[_0x1becd4(0x2f7,'\x40\x51\x62\x24')+_0x1becd4(0x22f,'\x57\x4e\x69\x45')+_0x1becd4(0x1e4,'\x6b\x45\x69\x54')]||_0x5e5ca1[_0x1becd4(0x38b,'\x31\x76\x48\x56')+_0x1becd4(0x1ea,'\x37\x59\x29\x62')]||DEFAULT_OPENAI_UPSTREAM_URL);}function pathForOpenAIBase(_0x2d6f79){const _0x8eef42=_0x33e187;if(_0x2d6f79===_0x8eef42(0x1c3,'\x31\x76\x48\x56'))return'';if(_0x2d6f79[_0x8eef42(0x349,'\x67\x79\x6a\x52')+'\x74\x68'](_0x8eef42(0x3ad,'\x56\x56\x76\x26')))return _0x2d6f79[_0x8eef42(0x338,'\x38\x6d\x30\x52')](_0x8eef42(0x214,'\x4c\x55\x56\x6b')['\x6c\x65\x6e\x67\x74\x68']);return _0x2d6f79[_0x8eef42(0x20f,'\x35\x4d\x5b\x73')+'\x74\x68']('\x2f')?_0x2d6f79:'\x2f'+_0x2d6f79;}function assertHttpUrl(_0x136271,_0x53cf64){const _0x339373=_0x33e187;let _0x3de66d;try{_0x339373(0x37c,'\x33\x57\x79\x50')!==_0x339373(0x1dd,'\x21\x37\x50\x21')?_0x3de66d=new URL(_0x136271):_0x531e1a[_0x339373(0x2fe,'\x4d\x79\x39\x28')+'\x61\x74\x69\x6f\x6e']='\x42\x65\x61\x72\x65\x72\x20'+_0x1e45af[_0x339373(0x3a3,'\x6a\x70\x5e\x35')+_0x339373(0x2ce,'\x73\x21\x6a\x67')+_0x339373(0x36c,'\x48\x6b\x38\x5a')];}catch{throw new Error(_0x339373(0x1b0,'\x61\x62\x6c\x66')+_0x53cf64+(_0x339373(0x244,'\x4b\x35\x55\x4b')+_0x339373(0x179,'\x37\x59\x29\x62')+_0x339373(0x2d0,'\x66\x75\x4b\x50')));}if(_0x3de66d[_0x339373(0x337,'\x29\x57\x45\x25')]!==_0x339373(0x14f,'\x57\x4e\x69\x45')&&_0x3de66d[_0x339373(0x15c,'\x6d\x78\x47\x71')]!==_0x339373(0x248,'\x57\x4e\x69\x45'))throw new Error(_0x339373(0x21e,'\x69\x56\x71\x63')+_0x53cf64+(_0x339373(0x232,'\x37\x59\x29\x62')+_0x339373(0x177,'\x44\x4b\x43\x55')+'\x29'));if(_0x3de66d[_0x339373(0x3d5,'\x61\x6d\x63\x46')]||_0x3de66d[_0x339373(0x312,'\x38\x6d\x30\x52')])throw new Error(_0x339373(0x36a,'\x74\x6b\x42\x53')+_0x53cf64+('\x20\x6d\x75\x73\x74\x20\x6e\x6f'+'\x74\x20\x65\x6d\x62\x65\x64\x20'+_0x339373(0x1fd,'\x40\x76\x7a\x24')+_0x339373(0x11c,'\x33\x29\x6e\x34')));return _0x136271[_0x339373(0x1b7,'\x29\x23\x52\x6d')](/\/+$/,'');}export function resolveUpstreamUrl(_0x17a371=process.env,_0x209317=_0x33e187(0x239,'\x6e\x4a\x41\x51')+'\x63'){const _0x59ad65=_0x33e187;if(isOpenAiMode(_0x209317))return resolveOpenAIUpstreamUrl(_0x17a371);const _0x4c09ee=_0x17a371[_0x59ad65(0x317,'\x6f\x29\x4f\x73')+'\x4c\x4c\x4d\x5f\x55\x50\x53\x54'+_0x59ad65(0x3c6,'\x33\x29\x6e\x34')]||_0x17a371[_0x59ad65(0x33f,'\x61\x6d\x63\x46')+_0x59ad65(0x1ec,'\x6b\x45\x69\x54')+'\x52\x4c']||DEFAULT_UPSTREAM_URL;return assertHttpUrl(_0x4c09ee,'\x41\x6e\x74\x68\x72\x6f\x70\x69'+_0x59ad65(0x3b4,'\x31\x6a\x49\x72')+'\x61\x6d\x20\x55\x52\x4c');}export function resolveGeminiUpstreamUrl(_0x3e9c0b=process.env){const _0x4a8513=_0x33e187,_0x269647=_0x3e9c0b[_0x4a8513(0x1cf,'\x35\x4d\x5b\x73')+_0x4a8513(0x2bf,'\x35\x4d\x5b\x73')+'\x53\x45\x5f\x55\x52\x4c']||DEFAULT_GEMINI_UPSTREAM_URL;return assertHttpUrl(_0x269647,_0x4a8513(0x142,'\x6c\x65\x77\x37')+_0x4a8513(0x373,'\x73\x21\x6a\x67'));}export function resolveOllamaUpstreamUrl(_0x4c94ec=process.env){const _0x38a01f=_0x33e187,_0x1fbc28=_0x4c94ec[_0x38a01f(0x1f8,'\x4d\x79\x39\x28')+_0x38a01f(0x3b0,'\x58\x39\x4d\x78')+'\x53\x45\x5f\x55\x52\x4c']||DEFAULT_OLLAMA_UPSTREAM_URL;return assertHttpUrl(_0x1fbc28,_0x38a01f(0x264,'\x29\x57\x45\x25')+_0x38a01f(0x245,'\x35\x4d\x5b\x73'));}export function buildForwardHeaders(_0x1b8e67,_0x3935c0,_0xac3b34='\x61\x6e\x74\x68\x72\x6f\x70\x69'+'\x63'){const _0x38d41f=_0x33e187,_0x11a112={'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x38d41f(0x159,'\x56\x56\x76\x26')+_0x38d41f(0x395,'\x55\x67\x49\x56')};if(isOpenAiMode(_0xac3b34)){if(_0x38d41f(0x287,'\x21\x37\x50\x21')==='\x75\x79\x68\x49\x70'){for(const [_0x5410d7,_0x458d3a]of Object['\x65\x6e\x74\x72\x69\x65\x73'](_0x1b8e67)){if(_0x458d3a===undefined||_0x458d3a===null)continue;const _0x45bace=_0x5410d7[_0x38d41f(0x175,'\x6f\x29\x4f\x73')+_0x38d41f(0x1bf,'\x61\x6d\x63\x46')]();if(_0x45bace===_0x38d41f(0x122,'\x31\x76\x48\x56')+_0x38d41f(0x18c,'\x57\x4e\x69\x45')+_0x38d41f(0x281,'\x74\x6b\x42\x53')||_0x45bace===_0x38d41f(0x23c,'\x67\x6a\x41\x69')+_0x38d41f(0x129,'\x66\x75\x4b\x50')||_0x45bace===_0x38d41f(0x394,'\x69\x28\x28\x7a')+_0x38d41f(0x24c,'\x54\x56\x59\x54')||_0x45bace['\x73\x74\x61\x72\x74\x73\x57\x69'+'\x74\x68'](_0x38d41f(0x35b,'\x40\x48\x61\x74')+_0x38d41f(0x18f,'\x66\x75\x4b\x50'))||_0x45bace==='\x69\x64\x65\x6d\x70\x6f\x74\x65'+_0x38d41f(0x20a,'\x61\x35\x74\x42')){if('\x69\x41\x50\x78\x55'!==_0x38d41f(0x1ff,'\x67\x6a\x41\x69'))_0x11a112[_0x45bace]=String(_0x458d3a);else{if(!_0xc926c2||typeof _0xd80e1!==_0x38d41f(0x1c0,'\x67\x6a\x41\x69')||_0x92e668[_0x38d41f(0x2d2,'\x6d\x78\x47\x71')](_0x50143d))return{};return _0x32337c;}}}const _0x484fd1=_0x3935c0['\x45\x56\x4f\x4c\x56\x45\x52\x5f'+_0x38d41f(0x2c9,'\x69\x56\x71\x63')+_0x38d41f(0x267,'\x40\x51\x62\x24')+'\x45\x59']||_0x3935c0['\x45\x56\x4f\x4d\x41\x50\x5f\x4f'+_0x38d41f(0x2a3,'\x4c\x55\x56\x6b')+_0x38d41f(0x193,'\x55\x67\x49\x56')]||_0x3935c0['\x4f\x50\x45\x4e\x41\x49\x5f\x41'+'\x50\x49\x5f\x4b\x45\x59'];if(_0x484fd1)_0x11a112['\x61\x75\x74\x68\x6f\x72\x69\x7a'+_0x38d41f(0x1c1,'\x7a\x5d\x5e\x64')]=_0x38d41f(0x2b7,'\x63\x31\x46\x31')+_0x484fd1;}else{let _0xfda2c1;try{_0xfda2c1=new _0x1019f0(_0x1149ba);}catch{throw new _0x22eeb0(_0x38d41f(0x2a9,'\x6f\x29\x4f\x73')+_0x8f1fd2+('\x20\x69\x73\x20\x6e\x6f\x74\x20'+_0x38d41f(0x16a,'\x7a\x5d\x5e\x64')+_0x38d41f(0x12a,'\x61\x35\x74\x42')));}if(_0xfda2c1['\x70\x72\x6f\x74\x6f\x63\x6f\x6c']!==_0x38d41f(0x121,'\x4d\x79\x39\x28')&&_0xfda2c1[_0x38d41f(0x3bd,'\x26\x55\x24\x66')]!==_0x38d41f(0x2c7,'\x40\x48\x61\x74'))throw new _0x5ad767(_0x38d41f(0x342,'\x48\x6b\x38\x5a')+_0x485ee8+(_0x38d41f(0x238,'\x61\x6d\x63\x46')+'\x65\x20\x68\x74\x74\x70\x28\x73'+'\x29'));if(_0xfda2c1[_0x38d41f(0x197,'\x44\x4b\x43\x55')]||_0xfda2c1[_0x38d41f(0x164,'\x69\x28\x28\x7a')])throw new _0x4bb7a1(_0x38d41f(0x250,'\x25\x5d\x6b\x49')+_0x4a309b+(_0x38d41f(0x2b9,'\x69\x28\x28\x7a')+_0x38d41f(0x1bc,'\x57\x4e\x69\x45')+_0x38d41f(0x219,'\x56\x56\x76\x26')+_0x38d41f(0x3c0,'\x63\x31\x46\x31')));return _0x329842[_0x38d41f(0x25c,'\x38\x6d\x30\x52')](/\/+$/,'');}}else{if(_0x38d41f(0x139,'\x79\x6b\x6e\x56')===_0x38d41f(0x346,'\x61\x35\x74\x42')){for(const [_0x540ff2,_0x8424c6]of Object[_0x38d41f(0x334,'\x6f\x29\x4f\x73')](_0x1b8e67)){if(_0x8424c6===undefined||_0x8424c6===null)continue;const _0x2b55c4=_0x540ff2[_0x38d41f(0x288,'\x6a\x70\x5e\x35')+'\x61\x73\x65']();if(_0x2b55c4===_0x38d41f(0x1e6,'\x21\x37\x50\x21')+'\x79'||_0x2b55c4==='\x61\x6e\x74\x68\x72\x6f\x70\x69'+_0x38d41f(0x3aa,'\x44\x4b\x43\x55')+'\x6e'||_0x2b55c4['\x73\x74\x61\x72\x74\x73\x57\x69'+'\x74\x68'](_0x38d41f(0x34f,'\x7a\x5d\x5e\x64')+'\x63\x2d'))_0x11a112[_0x2b55c4]=String(_0x8424c6);}if(!_0x11a112['\x78\x2d\x61\x70\x69\x2d\x6b\x65'+'\x79']){if(_0x3935c0[_0x38d41f(0x2cf,'\x67\x6a\x41\x69')+_0x38d41f(0x20b,'\x29\x57\x45\x25')+'\x5f\x41\x50\x49\x5f\x4b\x45\x59'])_0x11a112[_0x38d41f(0x2d1,'\x56\x56\x76\x26')+'\x79']=_0x3935c0[_0x38d41f(0x156,'\x52\x38\x37\x44')+_0x38d41f(0x258,'\x33\x29\x6e\x34')+_0x38d41f(0x357,'\x29\x57\x45\x25')];else{if(_0x3935c0[_0x38d41f(0x361,'\x6b\x45\x69\x54')+_0x38d41f(0x228,'\x29\x23\x52\x6d')+'\x59'])_0x11a112[_0x38d41f(0x329,'\x69\x28\x28\x7a')+'\x79']=_0x3935c0[_0x38d41f(0x165,'\x58\x39\x4d\x78')+_0x38d41f(0x19a,'\x79\x6b\x6e\x56')+'\x59'];else{if(_0x3935c0[_0x38d41f(0x366,'\x6d\x78\x47\x71')+_0x38d41f(0x295,'\x31\x76\x48\x56')+_0x38d41f(0x282,'\x37\x59\x29\x62')+_0x38d41f(0x38d,'\x4d\x79\x39\x28')])_0x11a112[_0x38d41f(0x2aa,'\x67\x6a\x41\x69')+'\x61\x74\x69\x6f\x6e']=_0x38d41f(0x3b9,'\x4b\x35\x55\x4b')+_0x3935c0[_0x38d41f(0x332,'\x44\x4b\x43\x55')+_0x38d41f(0x1e9,'\x6e\x4a\x41\x51')+_0x38d41f(0x13d,'\x67\x79\x6a\x52')+_0x38d41f(0x3d1,'\x29\x57\x45\x25')];else _0x3935c0['\x45\x56\x4f\x4d\x41\x50\x5f\x50'+_0x38d41f(0x1db,'\x37\x59\x29\x62')+_0x38d41f(0x30c,'\x6f\x29\x4f\x73')+'\x45\x44']!=='\x31'&&_0x3935c0[_0x38d41f(0x19d,'\x69\x56\x71\x63')+_0x38d41f(0x3e4,'\x4d\x72\x29\x58')+_0x38d41f(0x379,'\x57\x4e\x69\x45')]&&(_0x11a112[_0x38d41f(0x231,'\x66\x75\x4b\x50')+_0x38d41f(0x3c3,'\x6f\x29\x4f\x73')]=_0x38d41f(0x2b7,'\x63\x31\x46\x31')+_0x3935c0[_0x38d41f(0x2c4,'\x67\x44\x5a\x51')+_0x38d41f(0x2da,'\x56\x56\x76\x26')+_0x38d41f(0x13f,'\x6d\x78\x47\x71')]);}}}}else throw new _0x5da0bd('\x5b\x70\x72\x6f\x78\x79\x5d\x20'+_0x4823f9+(_0x38d41f(0x123,'\x4d\x79\x39\x28')+_0x38d41f(0x1f9,'\x6f\x29\x4f\x73')+_0x38d41f(0x2d0,'\x66\x75\x4b\x50')));}return _0x11a112;}function safeHeaderValue(_0x5c8970){const _0x4c4eb6=_0x33e187;if(_0x5c8970===undefined||_0x5c8970===null)return null;const _0x52ce1d=String(_0x5c8970);if(/[\r\n]/[_0x4c4eb6(0x2bb,'\x56\x56\x76\x26')](_0x52ce1d))return null;return _0x52ce1d;}function _0x2522(){const _0x4a4761=['\x57\x34\x34\x61\x57\x51\x4a\x64\x47\x43\x6f\x68\x57\x34\x6d\x63\x75\x47','\x63\x38\x6b\x36\x6d\x58\x35\x78\x68\x53\x6f\x53','\x57\x36\x2f\x64\x48\x6d\x6b\x70\x57\x36\x64\x63\x47\x5a\x6c\x64\x54\x61','\x57\x52\x4a\x63\x4a\x32\x34\x37\x57\x52\x7a\x30\x57\x50\x2f\x64\x56\x71','\x78\x43\x6b\x4e\x57\x35\x64\x63\x49\x38\x6f\x38\x57\x50\x37\x63\x49\x4b\x65','\x57\x34\x46\x63\x50\x5a\x35\x75\x57\x35\x7a\x53\x6e\x57','\x57\x4f\x2f\x64\x49\x57\x33\x64\x4d\x4b\x66\x30\x67\x6d\x6b\x4f','\x77\x72\x50\x31\x57\x36\x53\x51\x57\x37\x53','\x77\x38\x6b\x73\x63\x43\x6b\x2f\x6f\x53\x6f\x66','\x57\x34\x68\x64\x55\x4c\x37\x64\x55\x66\x4a\x64\x4f\x71','\x41\x59\x72\x46\x57\x50\x79','\x46\x53\x6b\x59\x57\x34\x5a\x64\x4d\x53\x6f\x32\x64\x48\x5a\x64\x4a\x61','\x75\x57\x58\x2b','\x69\x31\x47\x2b\x57\x37\x4a\x64\x51\x74\x4c\x67\x57\x34\x57','\x57\x50\x78\x64\x4d\x72\x74\x64\x49\x31\x62\x4c','\x57\x37\x6a\x68\x67\x43\x6b\x63\x63\x43\x6f\x48\x57\x52\x6e\x6b','\x57\x51\x42\x64\x4a\x43\x6b\x31\x75\x59\x72\x30\x57\x37\x4e\x64\x51\x47','\x57\x34\x4b\x74\x57\x52\x56\x64\x48\x61','\x66\x53\x6b\x2b\x6d\x58\x35\x62\x66\x53\x6f\x37\x63\x57','\x57\x50\x4f\x62\x71\x53\x6b\x4f\x57\x36\x64\x63\x47\x30\x52\x64\x50\x47','\x57\x34\x2f\x63\x55\x5a\x76\x42\x57\x36\x4c\x6e\x66\x6d\x6f\x78','\x57\x37\x65\x6f\x57\x50\x42\x64\x53\x38\x6f\x77','\x68\x66\x35\x59\x61\x53\x6f\x6b\x43\x32\x64\x64\x55\x47','\x57\x36\x69\x58\x57\x34\x4a\x63\x4d\x43\x6b\x59','\x57\x34\x74\x64\x48\x6d\x6f\x2f\x57\x4f\x68\x64\x51\x38\x6f\x76\x42\x43\x6b\x5a','\x57\x51\x62\x49\x45\x43\x6f\x4f\x65\x65\x54\x6b\x57\x51\x69','\x6d\x6d\x6f\x68\x42\x38\x6f\x4f\x57\x36\x39\x63\x57\x37\x6e\x49','\x57\x36\x31\x67\x41\x30\x74\x63\x4b\x57','\x79\x53\x6b\x57\x57\x37\x4e\x64\x4a\x53\x6f\x30\x63\x61\x4b','\x79\x73\x62\x66\x57\x4f\x46\x64\x4c\x73\x56\x63\x50\x31\x79','\x7a\x59\x6a\x66','\x57\x36\x56\x64\x55\x43\x6f\x46\x57\x52\x37\x64\x51\x71','\x57\x36\x6a\x68\x67\x57','\x57\x36\x43\x54\x57\x52\x44\x64\x77\x64\x33\x63\x4d\x62\x53','\x72\x72\x31\x58\x57\x36\x4f','\x57\x37\x76\x67\x68\x43\x6b\x63\x62\x38\x6b\x51\x57\x50\x6e\x6a','\x42\x38\x6b\x61\x57\x36\x54\x74\x68\x53\x6f\x52\x72\x32\x53','\x76\x65\x69\x72\x41\x6d\x6b\x57\x57\x34\x6a\x4e','\x65\x38\x6b\x76\x6c\x43\x6f\x6f\x57\x50\x42\x63\x48\x31\x70\x64\x4b\x71','\x6b\x6d\x6b\x67\x6e\x6d\x6b\x52\x6b\x66\x78\x63\x4a\x43\x6f\x56','\x57\x36\x78\x63\x54\x75\x46\x64\x53\x38\x6b\x69\x6c\x61','\x57\x4f\x6a\x6c\x41\x59\x4a\x63\x55\x38\x6f\x48\x57\x51\x69\x64','\x57\x50\x62\x65\x77\x38\x6b\x4f\x57\x36\x70\x63\x4a\x57\x37\x63\x50\x57','\x78\x33\x57\x5a\x75\x53\x6f\x4e\x67\x43\x6b\x51\x57\x36\x30','\x79\x4b\x71\x37\x57\x51\x70\x63\x47\x38\x6f\x6f\x69\x4c\x57','\x57\x37\x74\x63\x4f\x65\x42\x64\x56\x38\x6b\x5a\x6f\x43\x6b\x67','\x6c\x78\x52\x63\x4e\x58\x4a\x63\x49\x30\x30\x4f\x73\x31\x66\x69\x57\x50\x38','\x57\x34\x69\x61\x57\x51\x33\x64\x48\x43\x6f\x37\x57\x35\x30\x70','\x6e\x72\x74\x63\x4e\x49\x74\x63\x50\x65\x65','\x71\x43\x6b\x66\x57\x51\x4c\x72\x68\x6d\x6f\x4e\x73\x68\x38','\x62\x43\x6b\x70\x6f\x38\x6f\x75\x57\x51\x2f\x63\x49\x71','\x57\x34\x33\x64\x51\x53\x6b\x35\x57\x35\x30','\x57\x50\x4a\x63\x53\x75\x4f\x46\x57\x4f\x31\x79\x57\x51\x37\x64\x47\x61','\x46\x4b\x69\x72\x46\x53\x6b\x57\x57\x34\x69\x30\x46\x47','\x57\x36\x69\x61\x57\x51\x35\x70\x77\x74\x78\x63\x4b\x49\x61','\x57\x34\x50\x39\x77\x77\x37\x63\x48\x72\x2f\x63\x55\x32\x53','\x57\x4f\x4e\x64\x4a\x53\x6f\x4e\x75\x5a\x6a\x48\x57\x35\x33\x64\x51\x47','\x45\x31\x38\x5a\x44\x6d\x6f\x43\x6f\x53\x6b\x46','\x57\x37\x58\x77\x46\x4c\x78\x63\x50\x59\x56\x64\x53\x49\x69','\x6d\x38\x6b\x41\x57\x36\x56\x64\x55\x43\x6f\x44\x57\x51\x68\x63\x54\x59\x69','\x42\x43\x6b\x31\x57\x34\x6a\x31\x6f\x57','\x68\x53\x6b\x38\x57\x34\x42\x64\x49\x53\x6f\x4d\x57\x50\x74\x63\x54\x57\x38','\x7a\x68\x57\x79\x57\x52\x74\x63\x51\x57','\x62\x67\x6d\x79\x57\x4f\x78\x64\x4a\x62\x50\x47\x57\x36\x65','\x57\x36\x50\x72\x46\x58\x65','\x64\x38\x6b\x57\x6c\x47','\x6a\x4e\x35\x6b\x66\x43\x6f\x54\x71\x76\x4e\x64\x4c\x61','\x57\x35\x33\x64\x52\x66\x78\x64\x51\x75\x37\x64\x50\x47','\x74\x53\x6f\x37\x57\x50\x68\x63\x4d\x6d\x6b\x4e\x57\x34\x68\x64\x48\x59\x46\x64\x4f\x47\x69\x52\x57\x52\x64\x64\x4e\x61','\x57\x50\x5a\x64\x4a\x43\x6b\x55\x65\x4a\x6e\x39\x57\x34\x68\x63\x50\x61','\x57\x4f\x72\x63\x73\x43\x6f\x71\x6c\x77\x31\x30\x57\x50\x38','\x79\x31\x34\x79\x75\x38\x6b\x4c','\x57\x37\x54\x6e\x71\x66\x70\x63\x56\x49\x4e\x64\x51\x71\x43','\x57\x37\x33\x63\x4e\x43\x6b\x4a\x57\x4f\x33\x63\x53\x47','\x43\x71\x6c\x63\x55\x5a\x35\x6b\x57\x4f\x4a\x63\x50\x38\x6f\x31','\x71\x76\x70\x63\x55\x6d\x6f\x30\x71\x38\x6f\x74\x64\x48\x47','\x42\x38\x6f\x48\x79\x47','\x57\x50\x6e\x6a\x77\x43\x6f\x76\x6d\x67\x4f','\x57\x36\x43\x48\x57\x52\x35\x6e\x76\x47','\x57\x34\x4b\x33\x57\x37\x78\x63\x4e\x6d\x6b\x48\x57\x51\x43\x39\x57\x36\x71','\x7a\x76\x35\x47\x57\x52\x68\x63\x4d\x38\x6f\x76\x69\x32\x69','\x57\x4f\x72\x6e\x71\x6d\x6f\x4c\x6d\x68\x7a\x31\x57\x50\x4b','\x57\x50\x4f\x62\x71\x43\x6b\x4b\x57\x37\x5a\x63\x49\x58\x37\x64\x52\x47','\x57\x51\x43\x66\x76\x68\x64\x64\x50\x43\x6b\x6e','\x62\x77\x6d\x66\x57\x35\x37\x64\x49\x61\x48\x49\x57\x36\x4f','\x57\x34\x4c\x39\x6a\x43\x6b\x35\x6b\x38\x6f\x75\x57\x52\x4c\x4c','\x66\x76\x50\x41\x6f\x43\x6f\x67\x45\x33\x33\x64\x52\x57','\x46\x38\x6b\x4c\x57\x36\x5a\x64\x4a\x6d\x6f\x30\x61\x4b\x68\x64\x4d\x47','\x70\x38\x6b\x2b\x64\x6d\x6f\x65\x57\x4f\x2f\x63\x53\x48\x4b','\x57\x36\x48\x63\x63\x6d\x6b\x66\x66\x57','\x75\x38\x6f\x2b\x77\x53\x6f\x45\x73\x59\x47','\x57\x34\x34\x61\x57\x52\x70\x64\x48\x71','\x57\x51\x50\x67\x41\x4e\x78\x63\x50\x43\x6f\x78\x57\x52\x38\x46','\x57\x35\x4a\x63\x49\x53\x6b\x4f\x57\x51\x30\x66','\x41\x4a\x76\x66\x57\x50\x6c\x64\x4f\x4e\x2f\x63\x51\x31\x43','\x44\x65\x6d\x61\x6a\x53\x6f\x43\x6e\x6d\x6b\x74\x57\x35\x57','\x74\x47\x31\x38\x57\x52\x33\x64\x56\x4c\x56\x63\x4a\x32\x30','\x57\x37\x76\x48\x6b\x53\x6b\x36\x57\x35\x6d\x77\x57\x36\x6a\x41','\x6d\x5a\x52\x63\x4c\x38\x6b\x4b\x57\x34\x74\x64\x55\x53\x6f\x57','\x57\x4f\x35\x4e\x45\x4d\x4e\x64\x4a\x48\x42\x64\x52\x43\x6b\x42','\x57\x35\x6c\x63\x53\x73\x47\x61','\x67\x76\x74\x63\x52\x75\x70\x63\x4d\x32\x70\x63\x55\x61','\x57\x37\x4e\x63\x52\x33\x64\x64\x4f\x53\x6b\x66\x6c\x53\x6b\x41\x57\x51\x38','\x41\x53\x6f\x31\x57\x36\x35\x64','\x57\x4f\x37\x64\x49\x43\x6b\x31\x77\x74\x31\x47','\x57\x51\x68\x64\x49\x57\x5a\x64\x47\x75\x54\x4f\x6a\x6d\x6f\x4c','\x57\x35\x4f\x4e\x57\x37\x64\x63\x47\x43\x6b\x4e\x57\x51\x43\x58\x57\x37\x4f','\x6d\x6d\x6b\x48\x57\x36\x64\x64\x4a\x38\x6f\x57\x64\x30\x5a\x64\x4c\x57','\x61\x6d\x6b\x75\x69\x53\x6f\x79\x57\x4f\x5a\x63\x47\x75\x70\x64\x4e\x61','\x73\x6d\x6f\x6c\x57\x35\x43\x6f\x57\x37\x52\x63\x4c\x68\x43','\x42\x75\x38\x35\x57\x51\x68\x63\x48\x38\x6f\x55\x6b\x33\x6d','\x57\x35\x6e\x61\x61\x6d\x6b\x6f\x63\x38\x6f\x58\x57\x4f\x72\x4a','\x44\x43\x6f\x50\x46\x53\x6b\x43','\x57\x4f\x54\x39\x57\x36\x48\x76\x57\x50\x6c\x64\x4c\x61','\x68\x38\x6b\x75\x6a\x57','\x57\x35\x7a\x66\x63\x53\x6b\x41','\x57\x35\x48\x64\x65\x43\x6b\x68\x57\x36\x66\x38\x57\x50\x69\x36','\x62\x53\x6f\x46\x74\x38\x6f\x36\x45\x53\x6f\x6b\x57\x36\x6c\x64\x47\x72\x62\x52\x6b\x43\x6b\x43','\x57\x52\x42\x63\x48\x67\x70\x64\x4c\x43\x6b\x51\x68\x43\x6b\x56\x57\x4f\x4b','\x57\x37\x52\x63\x47\x53\x6b\x73\x57\x51\x4a\x63\x48\x59\x5a\x64\x4e\x61','\x57\x36\x2f\x64\x4a\x53\x6b\x79\x57\x37\x42\x63\x4a\x47\x68\x64\x55\x63\x6d','\x57\x52\x42\x63\x52\x65\x64\x64\x51\x43\x6b\x73\x41\x38\x6b\x65\x57\x52\x71','\x73\x57\x4e\x64\x56\x4e\x74\x64\x53\x4e\x57\x4b\x75\x57','\x57\x4f\x58\x53\x57\x36\x4c\x69','\x76\x33\x61\x4a\x72\x43\x6b\x68\x57\x37\x75\x61\x79\x57','\x61\x5a\x30\x47','\x66\x6d\x6f\x79\x41\x43\x6f\x4b\x57\x36\x61','\x57\x36\x70\x63\x4d\x72\x69\x36\x57\x34\x50\x48\x6f\x43\x6f\x34','\x57\x35\x56\x64\x51\x65\x46\x64\x51\x75\x4e\x64\x53\x6d\x6f\x49\x71\x57','\x6c\x57\x71\x62\x57\x36\x39\x2b\x57\x37\x33\x64\x55\x6d\x6f\x61','\x57\x34\x37\x63\x4f\x63\x38\x65\x57\x37\x61\x65','\x57\x50\x2f\x64\x48\x6d\x6b\x5a\x77\x73\x38','\x57\x36\x65\x56\x57\x4f\x52\x64\x51\x6d\x6f\x38\x57\x36\x61\x5a\x45\x71','\x71\x43\x6b\x79\x57\x36\x35\x44\x68\x71','\x75\x31\x30\x47\x74\x43\x6b\x66','\x43\x62\x4a\x63\x52\x63\x6a\x6d\x57\x35\x79','\x75\x57\x48\x52\x57\x36\x53\x54\x57\x51\x38\x79\x57\x50\x38','\x68\x53\x6b\x78\x6d\x53\x6f\x4f\x57\x51\x68\x63\x48\x74\x4c\x39','\x57\x34\x56\x63\x4b\x38\x6b\x62\x57\x52\x2f\x63\x47\x5a\x6d','\x63\x33\x69\x38\x57\x34\x7a\x45\x57\x35\x33\x64\x4d\x6d\x6f\x53','\x57\x36\x56\x64\x56\x53\x6f\x64\x57\x52\x56\x64\x4c\x53\x6f\x51\x76\x6d\x6b\x7a','\x79\x63\x46\x64\x55\x66\x74\x64\x49\x65\x4f\x45\x45\x57','\x46\x6d\x6f\x44\x44\x38\x6b\x51\x57\x52\x68\x63\x52\x43\x6f\x50\x57\x34\x61','\x57\x37\x34\x65\x57\x34\x56\x63\x50\x6d\x6b\x6a\x57\x4f\x75\x68\x57\x34\x65','\x72\x33\x34\x2b','\x57\x4f\x61\x4b\x57\x37\x54\x6d\x57\x50\x78\x63\x4e\x4c\x33\x64\x47\x61','\x57\x52\x64\x63\x4a\x66\x38\x4c\x57\x51\x31\x32\x57\x4f\x43','\x6d\x4a\x6c\x63\x4b\x38\x6b\x56\x57\x35\x74\x64\x56\x6d\x6f\x6f\x57\x52\x4f','\x6d\x43\x6f\x6d\x76\x43\x6f\x47\x57\x35\x69','\x65\x48\x76\x36\x57\x37\x4f\x4f\x57\x36\x53\x77\x57\x4f\x75','\x44\x30\x69\x74\x7a\x6d\x6f\x63\x70\x53\x6b\x63','\x57\x4f\x34\x71\x78\x43\x6b\x4f\x57\x36\x64\x63\x4a\x71','\x73\x6d\x6f\x63\x57\x34\x47\x6a\x57\x37\x79','\x75\x53\x6b\x73\x66\x6d\x6b\x47\x6a\x57','\x57\x52\x54\x77\x57\x35\x54\x50\x57\x51\x4a\x64\x55\x32\x4e\x64\x53\x71','\x57\x52\x31\x46\x57\x35\x76\x58\x57\x52\x33\x64\x4f\x32\x4e\x64\x50\x57','\x71\x38\x6f\x6c\x57\x34\x79\x45\x57\x37\x42\x63\x49\x77\x52\x64\x4e\x71','\x69\x72\x4c\x61\x6e\x43\x6b\x42\x41\x38\x6f\x46\x57\x36\x37\x64\x47\x38\x6f\x32\x57\x52\x76\x6a\x57\x52\x34','\x43\x73\x4e\x64\x4a\x30\x78\x64\x49\x66\x61','\x64\x53\x6b\x36\x57\x35\x68\x64\x47\x53\x6f\x38\x57\x50\x79','\x78\x38\x6b\x50\x67\x38\x6b\x53\x6b\x47','\x45\x71\x48\x36\x57\x36\x61\x69\x57\x34\x7a\x78\x57\x50\x6d','\x57\x36\x70\x64\x4b\x53\x6b\x32\x46\x6d\x6f\x2f\x57\x50\x79','\x41\x78\x37\x63\x48\x61','\x57\x52\x7a\x7a\x44\x59\x37\x63\x56\x43\x6f\x62\x57\x52\x65\x43','\x44\x53\x6b\x32\x67\x53\x6f\x64\x57\x4f\x2f\x63\x53\x72\x31\x68','\x71\x63\x72\x76\x57\x50\x64\x64\x4e\x4d\x4a\x63\x4f\x71\x6d','\x73\x49\x43\x2b\x57\x35\x62\x43\x57\x34\x52\x64\x4a\x38\x6f\x2b','\x74\x6d\x6f\x6d\x78\x6d\x6b\x39\x46\x38\x6f\x39\x67\x71','\x44\x65\x4b\x67\x7a\x43\x6f\x67\x65\x53\x6b\x6c\x57\x35\x47','\x62\x67\x6d\x79','\x66\x43\x6b\x4b\x70\x38\x6f\x79\x57\x52\x70\x63\x4e\x75\x37\x64\x4c\x47','\x57\x34\x6a\x73\x66\x43\x6b\x42\x57\x37\x6d\x4c\x57\x35\x47','\x6e\x74\x37\x63\x4d\x38\x6b\x4c','\x70\x38\x6f\x37\x64\x43\x6f\x73\x57\x50\x2f\x63\x4f\x62\x4c\x61','\x57\x35\x6c\x63\x56\x64\x69\x41\x57\x36\x48\x78\x66\x43\x6f\x45','\x46\x6d\x6b\x35\x57\x36\x6a\x77\x61\x48\x4f\x55\x43\x61','\x57\x35\x70\x63\x50\x63\x47\x61\x57\x37\x66\x42\x67\x53\x6f\x75','\x44\x5a\x52\x64\x4a\x4b\x68\x64\x4a\x4b\x79\x5a\x43\x61','\x63\x38\x6b\x57\x6a\x61\x48\x41','\x79\x4e\x6c\x63\x4e\x53\x6f\x79\x41\x61','\x42\x4b\x53\x47','\x76\x53\x6b\x6a\x57\x37\x76\x67\x66\x53\x6f\x59\x72\x32\x53','\x6c\x6d\x6b\x7a\x6a\x6d\x6b\x4e\x6f\x75\x5a\x63\x4a\x43\x6f\x52','\x57\x51\x54\x44\x43\x63\x52\x63\x4e\x6d\x6f\x71\x57\x52\x65\x66','\x41\x78\x4a\x63\x4a\x53\x6f\x45\x42\x6d\x6f\x6c\x6a\x73\x38','\x57\x35\x5a\x64\x51\x4c\x56\x64\x52\x57','\x6b\x57\x69\x72\x57\x36\x58\x34\x57\x37\x33\x64\x50\x6d\x6f\x45','\x43\x61\x33\x63\x51\x5a\x4f','\x41\x47\x4e\x63\x51\x64\x35\x45\x57\x4f\x2f\x63\x50\x57','\x44\x74\x33\x64\x4e\x30\x4a\x64\x4c\x76\x65\x7a\x7a\x47','\x57\x34\x64\x64\x52\x62\x4e\x64\x52\x4b\x2f\x64\x50\x38\x6f\x4d\x74\x57','\x68\x4a\x30\x44\x57\x35\x44\x41\x57\x35\x68\x64\x48\x6d\x6f\x34','\x46\x67\x30\x37\x6b\x38\x6f\x6e\x6e\x6d\x6b\x6c\x57\x35\x47','\x57\x4f\x31\x35\x57\x36\x4c\x69\x57\x4f\x37\x64\x4c\x4c\x46\x64\x49\x61','\x7a\x59\x39\x66\x57\x50\x64\x64\x4d\x67\x37\x63\x55\x71','\x57\x50\x4c\x36\x57\x36\x4c\x76\x57\x50\x56\x64\x4e\x71','\x57\x36\x35\x77\x7a\x76\x37\x63\x50\x73\x4e\x63\x55\x59\x57','\x57\x36\x64\x63\x4f\x66\x4e\x64\x53\x38\x6b\x63\x6b\x53\x6b\x45\x57\x52\x69','\x70\x71\x74\x63\x48\x59\x78\x63\x51\x78\x50\x36\x57\x50\x71','\x57\x35\x48\x73\x62\x6d\x6b\x74\x57\x37\x43\x30\x57\x34\x35\x62','\x6f\x49\x2f\x63\x48\x53\x6b\x53\x57\x34\x4a\x64\x51\x38\x6f\x49\x57\x52\x30','\x46\x64\x52\x63\x4d\x43\x6f\x70\x79\x43\x6f\x58\x70\x5a\x65','\x57\x37\x61\x72\x6d\x77\x5a\x64\x56\x38\x6b\x43\x57\x36\x79\x49\x61\x48\x64\x64\x4a\x75\x66\x74','\x57\x52\x78\x64\x50\x64\x46\x64\x4f\x68\x4c\x75\x6f\x53\x6b\x72','\x69\x6d\x6b\x50\x65\x6d\x6f\x66','\x57\x34\x42\x63\x50\x6d\x6b\x4c\x57\x52\x38\x78','\x7a\x75\x30\x43\x43\x53\x6f\x44\x63\x6d\x6b\x73\x57\x35\x4f','\x57\x50\x4a\x64\x4b\x38\x6b\x32\x73\x74\x4c\x34\x57\x34\x65','\x68\x66\x62\x51\x6e\x43\x6f\x47\x7a\x4d\x37\x64\x56\x47','\x79\x6d\x6b\x30\x57\x37\x52\x64\x4b\x43\x6f\x49\x62\x62\x37\x64\x4e\x61','\x57\x52\x5a\x63\x49\x33\x38','\x70\x67\x4c\x71\x64\x6d\x6f\x4b\x74\x4c\x6c\x64\x4d\x71','\x57\x36\x4e\x64\x4b\x43\x6b\x53\x43\x6d\x6f\x56\x57\x34\x57\x6e\x65\x61','\x63\x74\x4f\x37\x57\x34\x31\x64','\x57\x52\x2f\x64\x52\x74\x68\x64\x4f\x4d\x76\x75\x6b\x38\x6b\x41','\x64\x63\x43\x47\x57\x34\x62\x43\x57\x35\x68\x64\x48\x43\x6f\x58','\x57\x34\x75\x38\x73\x38\x6b\x75\x57\x34\x74\x63\x52\x47\x71','\x69\x53\x6f\x6b\x43\x53\x6f\x4c\x57\x36\x58\x49\x57\x37\x62\x31','\x57\x51\x30\x54\x43\x6d\x6b\x6b\x57\x34\x56\x63\x53\x57','\x57\x52\x39\x77\x78\x75\x46\x64\x51\x71','\x71\x43\x6b\x7a\x57\x37\x6e\x41\x68\x6d\x6f\x34\x64\x4e\x6d','\x57\x36\x43\x55\x57\x50\x68\x64\x50\x38\x6f\x49\x57\x36\x4f\x38\x43\x71','\x71\x66\x6c\x63\x55\x53\x6f\x50\x72\x43\x6f\x42\x65\x61\x4b','\x43\x43\x6b\x4c\x57\x37\x4e\x64\x4a\x53\x6f\x38\x63\x61\x33\x64\x4a\x61','\x6e\x64\x33\x63\x4e\x6d\x6b\x4c\x57\x34\x6c\x64\x56\x61','\x57\x36\x7a\x6d\x45\x66\x4e\x63\x55\x59\x6c\x64\x55\x49\x47','\x57\x37\x76\x48\x6b\x53\x6b\x37\x57\x34\x71\x64\x57\x36\x39\x6b','\x57\x4f\x58\x6e\x71\x38\x6f\x65','\x6c\x48\x6c\x63\x53\x63\x4e\x63\x50\x76\x79','\x57\x35\x38\x68\x57\x52\x76\x6c\x77\x49\x4e\x63\x47\x4a\x4f','\x75\x78\x6d\x5a\x76\x53\x6f\x4e\x62\x6d\x6b\x54\x57\x36\x30','\x6b\x58\x53\x72\x57\x36\x66\x50\x57\x36\x56\x64\x52\x38\x6f\x61','\x57\x36\x37\x64\x52\x66\x74\x64\x51\x53\x6b\x70\x7a\x53\x6b\x62\x57\x52\x34','\x71\x6d\x6f\x54\x42\x43\x6b\x61\x75\x38\x6f\x62\x42\x71','\x41\x38\x6f\x32\x57\x36\x4c\x64\x63\x65\x6d','\x57\x37\x72\x44\x68\x38\x6b\x63\x63\x53\x6f\x4a','\x76\x63\x4e\x64\x4e\x66\x70\x63\x4c\x31\x61\x75\x44\x57','\x69\x38\x6b\x6e\x66\x63\x48\x55\x6a\x53\x6f\x69\x6c\x61','\x79\x31\x43\x64\x42\x53\x6b\x4e\x57\x35\x75\x4d\x72\x57','\x42\x4b\x53\x50\x57\x51\x46\x63\x4e\x43\x6f\x75','\x57\x50\x76\x53\x57\x36\x4c\x70\x57\x50\x33\x64\x4c\x66\x6d','\x70\x4d\x70\x63\x4b\x77\x56\x63\x4a\x30\x68\x63\x49\x30\x4f','\x44\x6d\x6f\x56\x57\x37\x69\x55\x57\x35\x56\x63\x50\x65\x33\x64\x48\x47','\x57\x50\x2f\x64\x4c\x71\x52\x64\x4e\x66\x50\x30\x63\x47','\x57\x35\x68\x63\x49\x53\x6b\x77\x57\x52\x78\x63\x4c\x59\x52\x63\x53\x76\x57','\x7a\x38\x6f\x4d\x46\x43\x6b\x68\x75\x38\x6f\x67\x6b\x61','\x75\x6d\x6b\x45\x57\x36\x48\x67\x68\x6d\x6f\x50\x63\x67\x75','\x79\x38\x6b\x35\x57\x36\x64\x64\x47\x43\x6f\x57','\x57\x52\x4b\x62\x74\x71','\x7a\x77\x70\x63\x47\x38\x6f\x75\x42\x47','\x44\x6d\x6f\x39\x57\x51\x35\x6e\x64\x4b\x34','\x67\x43\x6b\x7a\x69\x38\x6f\x79\x57\x51\x6c\x63\x4d\x47','\x78\x74\x52\x63\x4c\x58\x39\x2b\x57\x52\x5a\x63\x4e\x43\x6f\x68','\x71\x57\x48\x55\x57\x51\x64\x64\x53\x66\x4a\x63\x4a\x33\x57','\x57\x36\x2f\x64\x4c\x4d\x64\x64\x4c\x77\x4e\x64\x4d\x53\x6f\x74\x7a\x57','\x61\x53\x6b\x75\x68\x6d\x6f\x6e\x57\x52\x68\x63\x49\x31\x78\x64\x55\x47','\x57\x34\x4e\x63\x50\x64\x34\x41\x57\x36\x6a\x78\x76\x53\x6f\x77','\x43\x6d\x6f\x45\x57\x35\x75\x76\x57\x36\x56\x63\x47\x4b\x74\x63\x51\x71','\x72\x61\x50\x57\x57\x37\x58\x64\x57\x36\x53\x77\x57\x4f\x75','\x57\x52\x7a\x41\x72\x5a\x78\x63\x51\x38\x6f\x62','\x57\x52\x56\x63\x4b\x68\x4f\x55\x57\x37\x66\x36\x57\x50\x68\x64\x52\x71','\x6f\x48\x6c\x63\x4c\x38\x6b\x55\x57\x36\x57','\x57\x36\x68\x64\x4e\x38\x6b\x34\x46\x6d\x6f\x57','\x57\x4f\x66\x6d\x79\x63\x4a\x63\x4f\x6d\x6f\x68\x57\x52\x54\x72','\x57\x52\x62\x44\x7a\x73\x4a\x63\x55\x38\x6f\x78\x57\x4f\x43\x79','\x71\x58\x7a\x52\x57\x36\x43\x4b\x57\x36\x4f','\x57\x50\x53\x4e\x57\x37\x74\x63\x4d\x53\x6b\x38\x57\x51\x43\x39\x57\x36\x65','\x57\x36\x50\x75\x41\x76\x6c\x63\x56\x78\x42\x63\x55\x57','\x65\x71\x4e\x63\x48\x38\x6b\x57\x57\x37\x61','\x74\x53\x6b\x6e\x57\x36\x34\x43\x65\x6d\x6f\x4c\x63\x47','\x79\x59\x39\x66\x57\x4f\x52\x64\x47\x32\x74\x63\x55\x4b\x4f','\x57\x36\x33\x64\x47\x38\x6b\x56\x43\x6d\x6f\x37\x57\x4f\x57','\x57\x37\x2f\x64\x4f\x38\x6b\x41\x57\x52\x42\x64\x48\x43\x6f\x32\x75\x6d\x6f\x44','\x6b\x53\x6b\x74\x64\x74\x6a\x35\x6b\x43\x6f\x6d\x69\x71','\x57\x35\x76\x7a\x65\x57','\x57\x35\x69\x39\x57\x36\x52\x64\x48\x53\x6b\x49\x57\x51\x79\x33\x57\x36\x34','\x57\x34\x33\x64\x56\x75\x74\x64\x51\x76\x6c\x64\x55\x53\x6f\x54','\x57\x4f\x35\x61\x71\x43\x6f\x62\x6c\x32\x75','\x46\x38\x6b\x54\x57\x35\x44\x37\x6c\x6d\x6f\x62\x69\x4c\x61','\x57\x52\x54\x6d\x71\x47','\x42\x43\x6f\x4c\x69\x38\x6b\x65\x62\x38\x6b\x74\x6b\x67\x65','\x70\x53\x6b\x56\x66\x53\x6b\x41\x57\x4f\x5a\x63\x54\x61\x39\x77','\x79\x65\x68\x63\x51\x59\x7a\x45\x57\x4f\x78\x63\x52\x6d\x6f\x51','\x63\x43\x6b\x39\x6b\x47\x48\x76\x64\x71','\x78\x53\x6f\x59\x72\x53\x6b\x74\x57\x4f\x5a\x63\x48\x53\x6f\x78\x57\x36\x61','\x67\x64\x43\x2f\x57\x35\x7a\x6e\x57\x34\x56\x64\x4e\x53\x6f\x61','\x57\x51\x64\x64\x4c\x62\x5a\x64\x49\x66\x71','\x41\x33\x56\x63\x48\x53\x6f\x41\x42\x43\x6f\x35','\x57\x50\x75\x55\x79\x75\x52\x64\x4c\x6d\x6b\x51\x6b\x6d\x6b\x49','\x79\x63\x72\x76\x57\x50\x64\x64\x4e\x4d\x4a\x63\x4f\x71\x6d','\x57\x4f\x72\x63\x77\x57','\x57\x36\x35\x72\x41\x71','\x57\x52\x37\x63\x47\x6d\x6f\x55\x6b\x53\x6b\x58\x57\x35\x6a\x42\x75\x47','\x57\x50\x5a\x63\x51\x76\x65\x41\x57\x50\x35\x68\x57\x51\x68\x64\x49\x61','\x77\x43\x6f\x6c\x57\x35\x43\x77\x57\x37\x6c\x63\x4d\x68\x57','\x57\x35\x33\x63\x49\x43\x6b\x73\x57\x52\x4a\x63\x4a\x4a\x56\x63\x4d\x61','\x6a\x66\x58\x38','\x70\x43\x6b\x56\x6d\x47\x6a\x6f\x61\x6d\x6f\x75\x74\x57','\x57\x50\x2f\x64\x4c\x31\x37\x64\x4e\x66\x7a\x47\x64\x6d\x6b\x53','\x7a\x6d\x6f\x4c\x57\x36\x69\x30','\x57\x52\x44\x6e\x77\x47','\x57\x36\x39\x34\x6e\x43\x6b\x59\x57\x35\x57\x68\x57\x37\x72\x6b','\x57\x50\x70\x64\x4e\x48\x64\x64\x4d\x47','\x57\x37\x6c\x63\x51\x65\x42\x64\x55\x38\x6b\x65\x6a\x38\x6b\x70\x57\x52\x38','\x57\x37\x52\x64\x4b\x43\x6b\x57\x43\x6d\x6f\x34\x57\x4f\x6d\x41\x66\x47','\x57\x37\x4e\x63\x4c\x71\x53\x39\x57\x35\x58\x31\x70\x53\x6f\x47','\x78\x53\x6f\x58\x75\x38\x6f\x46\x57\x52\x64\x63\x54\x38\x6f\x36','\x57\x36\x56\x64\x4e\x67\x42\x64\x4b\x4e\x4a\x64\x4e\x53\x6f\x43\x41\x57','\x57\x50\x4a\x63\x49\x43\x6b\x43\x57\x51\x37\x64\x47\x4a\x2f\x63\x4e\x30\x57','\x64\x32\x6d\x73\x57\x35\x6d','\x57\x37\x5a\x64\x56\x38\x6f\x43\x57\x52\x42\x64\x51\x43\x6f\x51\x71\x6d\x6b\x76','\x63\x75\x46\x63\x53\x76\x71','\x46\x6d\x6b\x54\x6f\x6d\x6b\x62','\x57\x36\x33\x64\x47\x38\x6b\x35','\x42\x67\x78\x64\x49\x4c\x64\x64\x4b\x57\x34\x42\x45\x71','\x57\x37\x74\x64\x4b\x53\x6b\x71\x57\x34\x56\x63\x52\x47','\x57\x37\x76\x6f\x64\x6d\x6b\x66\x64\x43\x6f\x2b\x57\x50\x66\x73','\x45\x57\x64\x63\x54\x59\x66\x41','\x57\x36\x48\x6c\x62\x38\x6b\x6f\x62\x38\x6f\x57','\x57\x34\x42\x64\x4d\x38\x6b\x67\x57\x4f\x34\x36\x61\x38\x6b\x62\x78\x47','\x61\x6d\x6b\x6a\x57\x36\x4c\x65\x75\x38\x6f\x38\x62\x4e\x53','\x79\x53\x6f\x58\x57\x37\x44\x66\x61\x33\x34\x4f\x7a\x71','\x57\x36\x64\x63\x4c\x43\x6b\x52\x57\x4f\x69\x54\x66\x53\x6b\x63\x65\x61','\x57\x50\x62\x6d\x44\x49\x5a\x63\x51\x53\x6f\x77\x57\x50\x75\x6a','\x57\x35\x71\x6c\x57\x51\x50\x43\x77\x49\x34','\x7a\x38\x6f\x36\x46\x53\x6b\x44\x72\x61','\x57\x4f\x4a\x64\x4a\x53\x6f\x51\x77\x74\x31\x2b\x57\x35\x64\x64\x50\x57','\x57\x52\x6e\x64\x74\x61','\x42\x6d\x6b\x47\x57\x34\x7a\x2f\x6d\x53\x6f\x76\x6a\x4c\x4b','\x57\x52\x54\x67\x57\x35\x44\x53\x57\x52\x33\x64\x50\x33\x2f\x64\x50\x57','\x57\x34\x48\x35\x6b\x6d\x6b\x4c\x6a\x43\x6f\x6e\x57\x51\x39\x4b','\x6d\x59\x56\x63\x47\x53\x6b\x57\x57\x35\x6c\x63\x53\x53\x6b\x53\x57\x36\x79','\x78\x57\x33\x64\x50\x71','\x57\x34\x4a\x63\x4f\x74\x79\x77\x57\x36\x7a\x6d','\x67\x76\x64\x63\x55\x4c\x74\x63\x4f\x78\x6c\x63\x56\x31\x4b','\x79\x43\x6f\x36\x57\x37\x75','\x57\x35\x34\x38\x57\x36\x78\x63\x47\x6d\x6f\x4d\x57\x52\x79\x33\x57\x36\x30','\x42\x78\x52\x63\x4a\x38\x6f\x75\x44\x43\x6f\x53\x68\x63\x34','\x57\x52\x79\x70\x75\x78\x56\x63\x51\x6d\x6b\x69\x66\x38\x6b\x70','\x57\x37\x4e\x63\x53\x76\x64\x64\x54\x6d\x6b\x68\x69\x53\x6f\x68\x57\x52\x4b','\x42\x78\x4a\x63\x48\x6d\x6b\x75\x41\x53\x6f\x52\x70\x4a\x6d','\x57\x50\x5a\x64\x4e\x47\x52\x64\x4a\x76\x53','\x57\x34\x57\x52\x57\x4f\x57','\x78\x4a\x4f\x2f\x57\x34\x68\x64\x4c\x64\x39\x47\x57\x35\x53','\x57\x51\x35\x38\x41\x6d\x6f\x55\x61\x30\x31\x66\x57\x51\x47','\x57\x52\x78\x63\x47\x53\x6f\x4f\x69\x43\x6b\x54\x57\x4f\x57\x32\x6b\x62\x76\x4d\x57\x37\x61','\x46\x57\x5a\x63\x4c\x4a\x6c\x63\x4f\x66\x44\x32\x57\x50\x61','\x57\x37\x4e\x64\x47\x38\x6b\x46\x44\x53\x6f\x34\x57\x4f\x43','\x6e\x38\x6b\x31\x63\x71','\x68\x43\x6b\x51\x65\x38\x6b\x45\x76\x33\x4e\x63\x50\x6d\x6f\x62','\x57\x4f\x58\x4d\x57\x35\x7a\x74\x57\x4f\x56\x64\x4c\x4b\x74\x64\x50\x47','\x46\x74\x56\x64\x51\x4c\x6c\x64\x49\x65\x69\x6a','\x57\x35\x4e\x63\x4b\x53\x6b\x68\x57\x52\x6c\x63\x4a\x73\x5a\x63\x4c\x76\x75','\x57\x50\x56\x63\x4f\x71\x42\x63\x51\x61\x4a\x63\x4f\x6d\x6f\x6c\x78\x6d\x6b\x70\x57\x35\x54\x46\x57\x37\x53','\x57\x34\x35\x53\x77\x68\x74\x63\x4d\x57\x70\x64\x49\x57\x30','\x66\x73\x65\x72\x57\x34\x78\x64\x49\x71\x34\x49\x57\x37\x4f','\x65\x6d\x6b\x52\x57\x35\x64\x64\x4d\x6d\x6f\x5a\x57\x50\x42\x63\x4d\x57','\x57\x37\x46\x64\x4b\x43\x6b\x70\x57\x36\x46\x63\x4b\x64\x64\x64\x53\x63\x6d','\x78\x43\x6f\x54\x46\x53\x6b\x61\x77\x43\x6f\x62','\x57\x4f\x52\x64\x4b\x4c\x37\x64\x48\x76\x7a\x4f\x77\x43\x6b\x33','\x57\x50\x4a\x63\x4f\x61\x42\x63\x52\x57\x5a\x63\x50\x53\x6b\x36\x71\x53\x6b\x33\x57\x35\x7a\x7a\x57\x37\x2f\x63\x55\x47','\x67\x62\x4a\x63\x51\x65\x70\x63\x56\x67\x6c\x63\x56\x77\x71','\x57\x4f\x44\x6a\x77\x43\x6f\x64\x6b\x47','\x79\x4b\x30\x4a\x57\x51\x33\x63\x4e\x43\x6f\x63\x69\x49\x6d','\x57\x35\x44\x2f\x57\x51\x53\x74','\x57\x50\x74\x64\x4d\x48\x70\x64\x49\x57','\x64\x38\x6b\x57\x6c\x4b\x6a\x43\x63\x53\x6f\x4d\x61\x71','\x67\x53\x6f\x55\x77\x53\x6f\x67\x57\x34\x7a\x75\x57\x35\x58\x74','\x78\x53\x6f\x33\x71\x53\x6b\x78\x57\x4f\x52\x63\x4c\x38\x6f\x46\x57\x36\x34','\x6b\x66\x64\x63\x52\x66\x64\x63\x51\x32\x70\x63\x4b\x78\x6d','\x44\x6d\x6f\x54\x79\x6d\x6b\x74\x77\x6d\x6f\x75\x6f\x67\x34','\x7a\x38\x6b\x30\x57\x37\x7a\x77\x67\x65\x6d\x33\x43\x61','\x57\x37\x68\x64\x56\x75\x42\x64\x52\x31\x74\x64\x50\x57','\x75\x58\x7a\x52\x57\x37\x57\x47\x57\x36\x4f\x65','\x57\x34\x56\x64\x54\x63\x4b\x72\x57\x37\x6a\x6c\x68\x53\x6f\x6b','\x77\x32\x79\x47\x72\x43\x6b\x41\x57\x36\x61\x63\x7a\x61','\x70\x38\x6b\x52\x57\x34\x6c\x64\x4d\x43\x6f\x33\x57\x4f\x70\x64\x4e\x47','\x57\x34\x69\x53\x57\x50\x72\x52\x41\x48\x37\x63\x54\x59\x57','\x76\x67\x53\x44\x57\x4f\x56\x63\x53\x6d\x6f\x53\x61\x31\x4f','\x67\x6d\x6b\x6f\x6a\x6d\x6f\x46\x57\x51\x74\x63\x4e\x61','\x6b\x58\x70\x63\x4e\x64\x6c\x63\x52\x4c\x62\x34\x57\x4f\x47','\x57\x35\x69\x65\x57\x51\x37\x64\x4a\x6d\x6f\x70\x57\x34\x57\x67','\x41\x53\x6f\x35\x57\x37\x71\x4c\x57\x35\x46\x63\x56\x4c\x2f\x64\x49\x61','\x57\x35\x4e\x63\x49\x38\x6b\x61','\x77\x6d\x6f\x62\x57\x36\x62\x44\x68\x6d\x6f\x54\x73\x4e\x53','\x6a\x6d\x6f\x49\x57\x36\x6a\x6b\x61\x4c\x6e\x4c\x71\x61','\x57\x50\x56\x64\x4a\x58\x46\x64\x47\x76\x30','\x57\x35\x30\x47\x57\x36\x56\x63\x48\x61','\x57\x36\x39\x44\x67\x43\x6b\x42\x78\x53\x6b\x52\x57\x35\x38\x78','\x57\x35\x4a\x64\x4c\x43\x6f\x32\x57\x50\x37\x64\x55\x38\x6f\x71\x44\x53\x6b\x38','\x44\x58\x4e\x63\x52\x63\x6a\x6b\x57\x50\x4a\x63\x4e\x43\x6f\x4c','\x57\x50\x6d\x6c\x71\x43\x6f\x53\x57\x34\x68\x63\x4d\x47\x2f\x64\x51\x71','\x57\x52\x58\x64\x72\x30\x33\x64\x4b\x4a\x56\x64\x47\x61','\x79\x77\x78\x63\x4d\x6d\x6f\x75\x43\x47','\x69\x43\x6b\x56\x64\x43\x6f\x45\x57\x4f\x64\x63\x53\x48\x76\x76','\x57\x35\x42\x63\x48\x53\x6b\x45\x57\x52\x38','\x6a\x66\x6d\x39\x57\x36\x2f\x64\x56\x57','\x67\x38\x6b\x49\x57\x34\x5a\x64\x48\x6d\x6f\x47','\x57\x34\x4f\x6d\x57\x52\x44\x43\x71\x72\x4e\x63\x48\x61\x30','\x72\x38\x6f\x45\x71\x38\x6b\x2f\x44\x38\x6f\x4a\x65\x4b\x61','\x41\x38\x6b\x50\x57\x34\x4b','\x66\x6d\x6b\x52\x57\x34\x33\x64\x4e\x57','\x57\x50\x6a\x79\x74\x6d\x6f\x75\x6e\x33\x43','\x77\x62\x4c\x59\x57\x36\x53','\x57\x35\x56\x64\x51\x31\x68\x64\x52\x31\x78\x64\x54\x6d\x6f\x55\x73\x57','\x79\x76\x47\x61\x42\x38\x6f\x61\x70\x61','\x6d\x49\x2f\x64\x4d\x6d\x6b\x6a\x6e\x38\x6b\x52\x41\x64\x68\x63\x4e\x43\x6b\x34\x57\x36\x48\x46\x63\x47','\x44\x74\x4a\x64\x47\x47\x37\x64\x4d\x30\x30\x65\x44\x61','\x57\x34\x4a\x64\x56\x75\x64\x64\x56\x4c\x6d','\x69\x53\x6f\x39\x46\x6d\x6b\x62\x71\x53\x6f\x62\x6b\x67\x34','\x57\x36\x7a\x61\x71\x38\x6b\x69\x63\x38\x6f\x50','\x70\x6d\x6b\x68\x57\x37\x5a\x64\x51\x53\x6f\x63\x57\x52\x4a\x63\x4f\x73\x4f','\x46\x43\x6f\x4e\x76\x38\x6b\x6e\x57\x4f\x64\x63\x4c\x38\x6b\x77','\x57\x51\x70\x63\x4e\x38\x6f\x32\x6e\x38\x6f\x39\x57\x50\x69\x68\x75\x71','\x63\x74\x30\x47\x57\x35\x44\x6e\x57\x35\x42\x64\x4e\x53\x6b\x59','\x57\x52\x71\x6b\x77\x43\x6b\x55\x57\x36\x78\x63\x4a\x59\x46\x64\x51\x61','\x57\x4f\x56\x64\x4d\x6d\x6b\x31\x73\x64\x4c\x31','\x73\x38\x6f\x57\x75\x38\x6b\x45\x57\x4f\x4a\x63\x50\x53\x6f\x7a\x57\x37\x4b','\x68\x53\x6b\x45\x69\x6d\x6f\x31\x57\x51\x2f\x63\x48\x4a\x4c\x53','\x73\x68\x75\x6d\x57\x50\x46\x63\x55\x38\x6f\x56\x67\x76\x43','\x57\x35\x52\x63\x51\x43\x6b\x49\x57\x35\x7a\x55\x68\x6d\x6b\x61\x72\x61','\x57\x37\x2f\x63\x50\x66\x56\x64\x52\x47','\x6a\x6d\x6b\x36\x6a\x62\x39\x7a\x67\x53\x6f\x49\x74\x57','\x57\x4f\x35\x6f\x72\x38\x6f\x66\x69\x78\x61','\x65\x53\x6b\x4d\x6d\x61\x47','\x67\x71\x34\x55\x57\x51\x34\x2f\x57\x36\x79\x77\x57\x35\x65','\x57\x34\x71\x58\x57\x50\x66\x47\x46\x58\x4e\x63\x54\x73\x53','\x57\x36\x52\x63\x49\x53\x6b\x42\x57\x50\x6d\x38\x66\x53\x6b\x77','\x7a\x6d\x6b\x57\x57\x37\x68\x64\x4c\x47','\x57\x35\x70\x64\x53\x53\x6b\x44\x73\x53\x6f\x7a\x57\x52\x30\x37\x6c\x71','\x57\x36\x4c\x6f\x79\x31\x70\x63\x55\x57','\x66\x38\x6b\x69\x6f\x53\x6f\x75\x57\x51\x42\x63\x47\x61','\x57\x52\x46\x63\x4e\x4e\x6d\x59','\x6e\x63\x2f\x63\x4b\x38\x6b\x55\x57\x34\x64\x64\x4f\x43\x6b\x4a\x57\x51\x47','\x57\x35\x66\x52\x68\x43\x6b\x68\x63\x61','\x57\x50\x44\x6d\x71\x4b\x46\x64\x52\x63\x5a\x64\x4f\x43\x6b\x4b','\x57\x36\x56\x64\x56\x6d\x6f\x65','\x45\x38\x6f\x52\x57\x36\x4b\x37\x57\x35\x52\x63\x50\x66\x52\x64\x48\x47','\x73\x6d\x6b\x79\x57\x37\x6e\x63\x61\x6d\x6b\x57\x73\x63\x79','\x6a\x43\x6f\x6c\x46\x6d\x6f\x4c\x57\x36\x7a\x4e','\x44\x4d\x78\x63\x48\x43\x6f\x6a','\x46\x64\x5a\x64\x4e\x31\x64\x63\x47\x61','\x57\x36\x48\x7a\x63\x6d\x6b\x66\x62\x43\x6f\x54\x57\x35\x31\x6a','\x6e\x63\x68\x64\x4d\x61\x64\x64\x4c\x65\x57\x65\x70\x61','\x57\x37\x2f\x63\x53\x4e\x74\x64\x51\x6d\x6b\x75\x6b\x53\x6b\x74','\x57\x36\x52\x64\x47\x53\x6b\x5a\x44\x61','\x57\x51\x2f\x64\x53\x53\x6b\x46\x7a\x71\x6e\x6d\x57\x37\x68\x63\x4e\x47','\x6e\x38\x6b\x53\x57\x52\x79\x71\x77\x57\x39\x5a\x72\x48\x69\x72\x66\x59\x4f\x4d','\x57\x35\x6d\x76\x57\x51\x5a\x64\x48\x43\x6f\x70\x57\x34\x69','\x79\x65\x6d\x79\x79\x38\x6f\x6e\x6c\x57','\x64\x47\x33\x63\x55\x47','\x43\x72\x2f\x64\x55\x64\x58\x71\x57\x50\x4a\x64\x4f\x53\x6f\x4e','\x57\x50\x50\x4d\x57\x37\x35\x66','\x57\x35\x71\x65\x57\x51\x42\x64\x4c\x6d\x6b\x62\x57\x34\x4f\x76\x76\x71','\x57\x52\x64\x63\x4b\x4e\x53\x34\x57\x51\x50\x4a\x57\x52\x70\x64\x55\x47','\x6b\x74\x52\x63\x47\x53\x6b\x31\x57\x35\x70\x64\x50\x47','\x57\x37\x33\x63\x53\x43\x6b\x38\x57\x50\x46\x63\x4f\x57\x37\x63\x4f\x32\x34','\x57\x36\x33\x64\x47\x38\x6b\x77\x57\x37\x42\x63\x47\x73\x65','\x76\x6d\x6f\x56\x6b\x48\x48\x36\x6c\x38\x6f\x49\x68\x47','\x65\x4c\x56\x63\x51\x4b\x70\x63\x56\x68\x2f\x63\x54\x77\x43','\x57\x36\x70\x64\x47\x38\x6b\x4f\x41\x53\x6b\x38\x57\x4f\x6d\x43\x67\x47','\x74\x6d\x6f\x58\x57\x36\x7a\x68\x61\x47','\x43\x64\x46\x63\x4a\x6d\x6f\x41\x41\x43\x6f\x30\x6e\x64\x4b','\x7a\x76\x6d\x72\x41\x6d\x6b\x48\x57\x34\x6d\x71\x71\x57','\x77\x47\x5a\x64\x55\x32\x2f\x64\x53\x32\x30\x4b','\x64\x65\x65\x78\x57\x34\x74\x64\x51\x57','\x43\x31\x38\x78','\x41\x53\x6f\x6d\x57\x34\x47\x69\x57\x36\x46\x63\x56\x4d\x56\x64\x55\x57','\x44\x43\x6b\x37\x57\x37\x38','\x57\x50\x58\x4f\x75\x71\x37\x63\x48\x38\x6f\x37\x57\x4f\x71\x2b','\x57\x34\x4e\x63\x4f\x73\x38','\x57\x50\x42\x63\x54\x66\x53\x7a','\x57\x35\x75\x5a\x57\x36\x4e\x63\x4a\x61','\x57\x35\x4a\x63\x48\x77\x78\x64\x4c\x43\x6b\x56\x62\x43\x6b\x2b','\x57\x51\x7a\x6a\x71\x6d\x6f\x6a\x6c\x67\x30\x36\x57\x4f\x4b','\x45\x53\x6f\x44\x44\x6d\x6b\x2b\x57\x52\x42\x63\x4f\x6d\x6f\x50\x57\x34\x65','\x57\x34\x47\x65\x57\x52\x2f\x64\x48\x6d\x6f\x6c\x57\x35\x30\x71\x7a\x61','\x57\x35\x75\x5a\x57\x37\x6c\x63\x49\x6d\x6b\x48\x57\x52\x4b\x35\x57\x36\x69','\x57\x52\x44\x6e\x77\x47\x46\x64\x52\x74\x52\x64\x47\x38\x6b\x4c','\x66\x47\x31\x56\x57\x37\x30\x39\x57\x37\x30\x73\x57\x50\x61','\x65\x53\x6b\x33\x6b\x71\x6e\x44\x65\x6d\x6f\x4e\x63\x61','\x57\x4f\x62\x63\x77\x43\x6f\x69\x6d\x67\x54\x51\x57\x4f\x69','\x57\x34\x6e\x45\x61\x53\x6b\x7a\x57\x37\x6d\x51','\x57\x34\x70\x63\x54\x38\x6b\x4a\x57\x51\x75\x62\x69\x38\x6b\x33\x6b\x47','\x57\x51\x52\x64\x54\x63\x33\x64\x55\x47','\x6f\x53\x6b\x56\x63\x38\x6f\x68\x57\x50\x33\x64\x52\x31\x6d\x43','\x79\x43\x6f\x53\x74\x38\x6b\x65\x57\x35\x4e\x64\x50\x5a\x31\x6a\x57\x52\x43\x4b\x44\x43\x6f\x58','\x77\x38\x6b\x73\x63\x43\x6b\x2f\x43\x57','\x78\x76\x6a\x36\x6e\x43\x6f\x65\x45\x4d\x5a\x64\x52\x57','\x57\x35\x30\x78\x65\x43\x6b\x45\x57\x37\x38\x4a\x57\x35\x4b\x31','\x57\x34\x48\x4e\x71\x78\x78\x63\x48\x57\x78\x64\x48\x61\x75','\x57\x4f\x7a\x2f\x73\x58\x46\x63\x4a\x53\x6f\x30\x57\x4f\x38\x5a','\x57\x52\x4f\x75\x67\x68\x68\x64\x53\x53\x6b\x78\x68\x43\x6b\x6b','\x57\x4f\x6e\x64\x73\x43\x6f\x7a','\x72\x38\x6f\x45\x71\x38\x6b\x2f\x44\x38\x6f\x4a\x65\x4b\x34','\x76\x53\x6f\x53\x75\x43\x6f\x72\x57\x34\x75','\x57\x36\x48\x68\x63\x38\x6b\x63\x61\x57','\x57\x50\x4c\x35\x57\x36\x50\x71\x57\x50\x78\x64\x4b\x66\x46\x64\x4b\x71','\x57\x51\x6c\x64\x4c\x6d\x6b\x6d\x57\x36\x64\x63\x4c\x49\x46\x64\x54\x63\x38','\x57\x34\x2f\x64\x51\x31\x68\x63\x56\x77\x37\x64\x48\x38\x6f\x70\x64\x47','\x57\x51\x4e\x63\x4a\x78\x65\x4a\x57\x52\x62\x30\x57\x50\x68\x64\x50\x71','\x44\x32\x64\x63\x47\x6d\x6f\x36\x43\x61','\x61\x4d\x34\x43\x57\x34\x2f\x64\x48\x72\x30','\x43\x43\x6f\x54\x79\x53\x6b\x77','\x57\x34\x4a\x63\x54\x74\x79\x72','\x6f\x49\x5a\x63\x48\x43\x6b\x50\x57\x34\x42\x64\x50\x47','\x67\x6d\x6b\x48\x57\x35\x42\x64\x4e\x38\x6f\x78\x57\x4f\x4e\x63\x4e\x71\x71','\x57\x35\x5a\x63\x47\x53\x6b\x46\x57\x50\x4e\x63\x4a\x74\x70\x63\x4b\x75\x34','\x57\x36\x42\x63\x4f\x65\x42\x64\x51\x43\x6b\x72\x6a\x6d\x6b\x79\x57\x52\x38','\x66\x38\x6f\x53\x74\x38\x6f\x64\x57\x35\x76\x65\x57\x34\x35\x42','\x57\x4f\x50\x6c\x77\x75\x33\x64\x51\x64\x5a\x64\x4d\x6d\x6b\x6f','\x57\x4f\x6d\x62\x6c\x6d\x6b\x43\x57\x36\x61\x71\x57\x35\x6a\x62','\x6f\x6d\x6f\x78\x44\x53\x6f\x50\x57\x36\x6a\x35','\x57\x52\x56\x64\x52\x63\x33\x64\x53\x78\x44\x75\x70\x38\x6b\x65','\x79\x32\x66\x68\x57\x4f\x70\x64\x4e\x77\x6c\x63\x52\x47\x6d','\x64\x53\x6b\x36\x57\x35\x68\x64\x47\x53\x6f\x38\x57\x50\x42\x63\x4c\x57\x43','\x73\x53\x6f\x45\x57\x35\x43\x77\x57\x37\x52\x63\x4d\x68\x4a\x64\x56\x71','\x57\x34\x42\x63\x55\x6f\x6b\x61\x4f\x6d\x6b\x39\x74\x53\x6f\x4d\x57\x36\x79\x6f','\x57\x34\x37\x63\x54\x43\x6b\x36\x57\x52\x69\x43\x70\x6d\x6b\x49\x6c\x71','\x57\x35\x4e\x63\x48\x43\x6b\x43\x57\x51\x4a\x63\x4c\x47','\x57\x52\x43\x2f\x71\x32\x46\x64\x54\x6d\x6b\x77\x65\x43\x6b\x65','\x75\x43\x6b\x68\x64\x53\x6b\x51\x68\x6d\x6b\x6e\x57\x34\x79','\x71\x43\x6b\x43\x57\x37\x44\x45\x67\x53\x6f\x50\x62\x4e\x30','\x44\x33\x6c\x63\x4d\x6d\x6b\x77\x43\x6d\x6f\x51\x70\x4a\x43','\x57\x34\x75\x73\x57\x51\x37\x64\x4a\x38\x6f\x61\x57\x35\x57\x67\x79\x57','\x57\x4f\x37\x64\x4c\x64\x6c\x64\x47\x75\x72\x30\x63\x38\x6b\x67','\x57\x35\x4a\x64\x4e\x6d\x6f\x4b','\x68\x48\x78\x63\x54\x4c\x6c\x63\x55\x4d\x68\x64\x56\x68\x47','\x57\x34\x68\x64\x4c\x43\x6f\x35','\x67\x62\x39\x50\x69\x6d\x6f\x6a\x44\x32\x4e\x63\x55\x57','\x6b\x65\x47\x4b\x57\x36\x78\x64\x50\x73\x6a\x71\x57\x34\x4f','\x66\x6d\x6b\x41\x6f\x53\x6f\x79\x57\x50\x74\x63\x4e\x65\x53','\x57\x35\x4e\x64\x4f\x53\x6b\x71\x73\x53\x6b\x38\x57\x4f\x53\x44\x78\x57','\x57\x37\x53\x70\x57\x51\x50\x44\x75\x61','\x66\x71\x56\x63\x56\x53\x6b\x73\x57\x36\x37\x64\x4d\x6d\x6f\x6b\x57\x4f\x4f','\x43\x49\x33\x64\x4e\x30\x70\x64\x4b\x47','\x57\x37\x5a\x63\x4a\x38\x6b\x70\x57\x4f\x47\x36\x61\x6d\x6b\x4c\x64\x71','\x6c\x58\x38\x68\x57\x36\x31\x48\x57\x36\x46\x64\x51\x38\x6f\x70','\x67\x64\x37\x63\x53\x48\x70\x63\x4c\x78\x54\x69\x57\x52\x61','\x43\x38\x6b\x30\x57\x37\x33\x64\x47\x43\x6f\x39','\x67\x38\x6b\x52\x57\x35\x46\x64\x49\x6d\x6f\x36\x57\x52\x4a\x63\x4b\x58\x65','\x71\x43\x6b\x64\x64\x43\x6b\x4a\x6b\x6d\x6b\x43\x57\x34\x38','\x57\x36\x58\x71\x41\x76\x33\x63\x56\x73\x4e\x64\x4d\x63\x47','\x57\x37\x48\x59\x6a\x6d\x6b\x5a','\x71\x47\x66\x56\x57\x36\x53','\x57\x50\x4e\x64\x4c\x62\x64\x64\x4d\x4c\x7a\x50\x64\x43\x6b\x41','\x57\x34\x52\x64\x55\x75\x64\x64\x56\x61\x68\x63\x54\x71','\x57\x34\x70\x64\x4f\x6d\x6b\x7a\x76\x38\x6f\x44\x57\x51\x53\x58\x70\x71','\x71\x43\x6b\x62\x68\x6d\x6b\x48\x69\x6d\x6b\x66\x57\x34\x56\x64\x48\x57','\x74\x4e\x57\x63\x57\x4f\x2f\x63\x52\x53\x6f\x33\x67\x75\x57','\x57\x34\x4a\x64\x4b\x63\x37\x64\x51\x4e\x72\x42\x64\x71','\x44\x31\x38\x62\x6b\x57','\x57\x37\x46\x63\x53\x4b\x5a\x64\x54\x6d\x6b\x66\x61\x53\x6b\x45\x57\x52\x34','\x70\x4a\x53\x4a\x57\x34\x7a\x68\x57\x34\x33\x64\x4e\x53\x6f\x41','\x57\x34\x34\x76\x57\x37\x70\x64\x4b\x38\x6f\x41\x57\x35\x30\x67\x75\x71','\x74\x75\x4a\x63\x4f\x43\x6f\x2b\x77\x71','\x57\x50\x71\x6a\x73\x53\x6b\x55\x57\x37\x56\x63\x4e\x49\x46\x64\x54\x61','\x45\x4c\x47\x67\x44\x53\x6f\x39\x6c\x38\x6b\x68\x57\x35\x57','\x46\x43\x6b\x36\x57\x36\x33\x64\x48\x38\x6f\x35\x69\x47\x47','\x64\x4b\x42\x63\x55\x31\x74\x63\x4f\x68\x64\x63\x55\x77\x34','\x69\x43\x6b\x56\x64\x43\x6f\x73\x57\x4f\x2f\x63\x55\x61','\x57\x37\x56\x63\x4e\x53\x6b\x44\x57\x4f\x34','\x6c\x4c\x6d\x33\x57\x37\x52\x64\x52\x5a\x7a\x65\x57\x34\x4f','\x44\x5a\x76\x78\x57\x35\x4f','\x7a\x5a\x62\x65\x57\x4f\x46\x64\x47\x4e\x2f\x64\x50\x57','\x65\x38\x6b\x76\x6b\x38\x6f\x2f\x57\x52\x5a\x63\x4d\x49\x58\x36','\x68\x38\x6b\x56\x57\x35\x64\x64\x4a\x53\x6f\x68\x57\x4f\x70\x63\x4b\x47','\x6d\x77\x70\x63\x52\x31\x42\x63\x4e\x57','\x57\x4f\x30\x71\x72\x53\x6b\x55\x57\x36\x61','\x70\x58\x34\x41\x57\x37\x58\x36\x57\x37\x33\x64\x52\x43\x6f\x77','\x57\x50\x31\x4f\x57\x37\x44\x35\x57\x4f\x37\x64\x47\x76\x4e\x64\x4c\x57','\x77\x4b\x75\x66\x57\x50\x68\x63\x4c\x57','\x6d\x38\x6b\x35\x65\x6d\x6f\x66\x57\x50\x4f','\x41\x6d\x6b\x77\x64\x38\x6b\x47\x6d\x43\x6b\x67\x57\x37\x46\x63\x4b\x57','\x57\x51\x56\x63\x4d\x4e\x50\x33\x57\x52\x4c\x34\x57\x4f\x5a\x63\x51\x71','\x41\x32\x46\x63\x4a\x38\x6f\x76\x79\x43\x6f\x58\x46\x5a\x34','\x63\x38\x6b\x2b\x6c\x47\x58\x72\x68\x6d\x6f\x4b\x63\x47','\x77\x38\x6f\x4e\x77\x53\x6b\x4f\x57\x4f\x5a\x63\x4b\x43\x6f\x45\x57\x34\x79','\x57\x36\x6e\x67\x79\x4e\x52\x63\x52\x53\x6f\x75\x57\x52\x4c\x46','\x57\x4f\x62\x46\x78\x53\x6f\x6a\x6a\x77\x4f','\x74\x43\x6b\x64\x57\x36\x6e\x78\x68\x38\x6f\x45\x64\x4d\x71','\x57\x37\x54\x59\x6b\x57','\x6f\x72\x4c\x35\x57\x37\x56\x64\x4e\x38\x6b\x74\x46\x4c\x78\x64\x4e\x66\x6e\x6d\x70\x6d\x6b\x56','\x57\x36\x56\x64\x4a\x53\x6b\x73\x57\x52\x5a\x63\x49\x63\x42\x64\x56\x49\x61','\x57\x35\x46\x64\x47\x6d\x6b\x55\x44\x53\x6f\x4b\x57\x50\x53\x5a\x78\x57','\x57\x50\x46\x64\x4e\x47\x33\x64\x4e\x76\x6a\x32\x68\x61','\x57\x50\x6d\x71\x61\x53\x6b\x59\x57\x37\x52\x63\x4d\x61\x2f\x64\x50\x47','\x57\x52\x4c\x61\x71\x77\x56\x64\x51\x38\x6b\x61\x68\x6d\x6f\x6c','\x57\x37\x2f\x63\x52\x4c\x53','\x57\x51\x72\x6d\x41\x74\x70\x63\x4f\x43\x6f\x6e','\x44\x49\x72\x6a\x57\x50\x42\x63\x4e\x4d\x37\x63\x56\x65\x79','\x62\x6d\x6b\x45\x6f\x43\x6f\x72\x57\x51\x64\x63\x4a\x75\x69','\x57\x35\x66\x68\x66\x43\x6b\x42\x57\x37\x53\x4c\x57\x35\x58\x48','\x6a\x6d\x6b\x57\x6a\x62\x71','\x44\x53\x6b\x45\x68\x53\x6b\x51\x6f\x43\x6b\x6c\x57\x34\x70\x64\x4e\x61','\x6e\x38\x6b\x31\x68\x43\x6f\x31\x57\x50\x70\x63\x4f\x78\x46\x64\x53\x61','\x72\x38\x6f\x67\x67\x6d\x6b\x49\x6b\x38\x6b\x41\x57\x34\x37\x63\x4b\x57','\x78\x53\x6f\x45\x57\x35\x71\x6f\x57\x36\x68\x63\x4e\x4e\x4a\x64\x50\x61','\x57\x51\x65\x74\x44\x4d\x33\x64\x4f\x53\x6b\x61','\x57\x34\x2f\x64\x51\x31\x65','\x57\x35\x71\x57\x57\x36\x37\x63\x4a\x6d\x6b\x52\x57\x51\x65','\x79\x5a\x76\x79\x57\x4f\x33\x64\x4e\x57','\x57\x52\x43\x6a\x79\x4a\x56\x63\x50\x53\x6f\x69\x57\x52\x75\x76','\x57\x51\x48\x46\x78\x61','\x78\x53\x6b\x34\x66\x47','\x57\x52\x7a\x6e\x57\x34\x50\x5a\x57\x52\x78\x64\x56\x77\x69','\x6f\x48\x68\x63\x47\x59\x52\x63\x51\x66\x62\x32\x57\x50\x61','\x57\x35\x69\x38\x57\x51\x74\x63\x4a\x38\x6b\x36\x57\x52\x4f\x32\x57\x37\x71','\x57\x51\x7a\x68\x43\x63\x4a\x63\x50\x53\x6f\x62\x57\x51\x6d','\x67\x77\x71\x46\x57\x34\x74\x64\x4a\x71\x62\x48\x57\x36\x47','\x43\x49\x47\x72\x57\x4f\x4e\x64\x4c\x68\x6c\x64\x51\x4c\x65','\x57\x37\x4e\x63\x4e\x53\x6b\x43\x57\x4f\x34\x52\x63\x38\x6f\x73\x62\x71','\x57\x35\x42\x63\x50\x4a\x71\x61\x57\x36\x58\x44\x66\x6d\x6f\x76','\x43\x63\x72\x62\x57\x4f\x37\x64\x4b\x67\x4a\x63\x52\x57','\x57\x4f\x62\x32\x72\x71\x52\x63\x48\x53\x6f\x37\x57\x50\x53\x30','\x57\x36\x70\x63\x47\x48\x71\x35\x57\x34\x6a\x55\x6a\x6d\x6f\x2b','\x57\x37\x4e\x63\x52\x53\x6f\x74\x57\x51\x52\x63\x4b\x64\x68\x63\x49\x4b\x79','\x6d\x38\x6b\x4f\x64\x6d\x6f\x45\x57\x4f\x4e\x63\x55\x57','\x64\x64\x43\x36\x57\x34\x62\x61','\x57\x52\x4c\x45\x57\x52\x6a\x42\x45\x71\x52\x63\x4e\x71\x34','\x61\x38\x6b\x58\x6e\x47','\x6e\x43\x6f\x71\x46\x53\x6f\x51\x57\x37\x6e\x55\x57\x35\x44\x38','\x57\x37\x4a\x64\x4c\x43\x6b\x4b\x42\x43\x6b\x5a\x57\x4f\x43\x79\x67\x47','\x57\x50\x74\x64\x4b\x6d\x6b\x49\x75\x59\x4c\x35\x57\x36\x4e\x63\x55\x71','\x78\x43\x6f\x4a\x72\x43\x6b\x41\x57\x52\x64\x63\x4c\x38\x6f\x41','\x70\x43\x6b\x55\x63\x57','\x6f\x72\x74\x63\x4c\x59\x68\x63\x50\x65\x44\x69\x57\x50\x61','\x6b\x33\x62\x68\x67\x6d\x6f\x36\x78\x31\x4a\x64\x4a\x57','\x57\x4f\x68\x64\x55\x31\x4a\x64\x54\x66\x37\x64\x55\x38\x6f\x33\x61\x57','\x43\x31\x6d\x2f\x43\x6d\x6b\x39','\x6d\x57\x4e\x63\x4f\x43\x6b\x6a\x57\x37\x69','\x46\x4c\x4b\x4f\x57\x52\x64\x63\x47\x43\x6f\x67\x6b\x32\x79','\x68\x4b\x46\x63\x52\x65\x4e\x63\x56\x61','\x6f\x76\x64\x63\x56\x31\x74\x63\x51\x32\x70\x64\x54\x61','\x75\x32\x6e\x6b\x6f\x53\x6b\x71\x57\x36\x79\x69\x7a\x57','\x75\x53\x6f\x4a\x74\x53\x6b\x47\x57\x50\x68\x63\x49\x53\x6f\x44\x57\x37\x65','\x57\x4f\x43\x4c\x41\x4c\x46\x64\x4c\x6d\x6b\x50','\x73\x43\x6b\x63\x57\x36\x76\x44\x62\x53\x6f\x4b\x61\x30\x65','\x42\x47\x4f\x72\x41\x53\x6b\x38\x57\x50\x30\x53\x74\x57','\x77\x33\x6d\x58\x73\x43\x6f\x4a\x63\x38\x6b\x4e\x57\x37\x57','\x69\x33\x6c\x63\x4b\x43\x6b\x56\x57\x34\x37\x64\x52\x38\x6b\x55\x57\x51\x47','\x6a\x61\x79\x67\x57\x37\x66\x4e\x57\x36\x4a\x64\x4f\x38\x6f\x43','\x6f\x67\x58\x41\x68\x53\x6f\x57\x74\x65\x65','\x57\x35\x47\x58\x57\x36\x68\x63\x4d\x53\x6b\x37\x57\x37\x75\x53\x57\x36\x38','\x57\x50\x43\x2f\x44\x30\x70\x64\x4c\x43\x6b\x47\x6a\x38\x6b\x2b','\x57\x36\x70\x63\x47\x48\x71\x35\x57\x34\x6a\x55\x6a\x6d\x6f\x32','\x72\x75\x64\x63\x55\x43\x6f\x4b\x75\x53\x6f\x44\x66\x48\x71','\x57\x37\x4c\x4f\x6c\x53\x6b\x59\x57\x34\x53','\x57\x4f\x33\x63\x4c\x4e\x6d\x59\x57\x52\x62\x49\x57\x4f\x52\x64\x4a\x61','\x41\x61\x46\x63\x49\x63\x76\x35','\x71\x6d\x6b\x73\x64\x38\x6b\x4d\x6a\x38\x6b\x79\x57\x34\x70\x64\x4c\x71','\x57\x52\x39\x73\x78\x71\x42\x64\x51\x64\x4e\x64\x49\x43\x6b\x4c','\x72\x38\x6b\x6a\x6d\x43\x6b\x47\x70\x53\x6b\x41\x57\x35\x4a\x64\x53\x61','\x57\x52\x42\x63\x4b\x33\x69\x32\x57\x52\x6a\x32','\x57\x52\x4e\x63\x50\x38\x6b\x68\x57\x36\x64\x63\x4b\x38\x6b\x33\x7a\x43\x6b\x6b\x7a\x4b\x56\x64\x52\x43\x6f\x52','\x6f\x38\x6b\x31\x68\x43\x6f\x79\x57\x50\x56\x63\x55\x58\x48\x37','\x75\x72\x37\x64\x50\x67\x33\x64\x55\x33\x6d\x56\x75\x57','\x57\x50\x56\x63\x4d\x57\x4a\x64\x4a\x31\x39\x34\x68\x43\x6f\x4c','\x75\x75\x75\x56\x57\x51\x74\x63\x49\x61','\x57\x50\x66\x56\x7a\x67\x4e\x64\x4b\x57\x64\x64\x52\x53\x6b\x68','\x57\x34\x65\x73\x57\x52\x53','\x57\x36\x5a\x63\x49\x43\x6b\x6c\x57\x50\x34\x52\x68\x43\x6b\x67\x64\x71','\x42\x74\x66\x75\x57\x4f\x5a\x64\x4b\x67\x69','\x57\x37\x75\x48\x57\x34\x52\x63\x4f\x43\x6b\x6a','\x75\x38\x6b\x66\x57\x36\x62\x43\x65\x53\x6f\x4d','\x72\x62\x35\x73\x7a\x38\x6f\x6e\x6f\x6d\x6b\x64\x57\x35\x47','\x6e\x64\x5a\x64\x47\x30\x4e\x64\x49\x71\x6d\x2f\x42\x61','\x57\x36\x42\x63\x52\x4c\x56\x64\x51\x43\x6b\x64\x67\x6d\x6b\x45\x57\x51\x4b','\x77\x6d\x6f\x41\x57\x35\x75\x74\x57\x37\x33\x63\x4e\x68\x64\x64\x52\x57','\x63\x30\x50\x58\x6e\x43\x6f\x6d\x43\x32\x47','\x62\x62\x6e\x70\x57\x34\x4f\x6f\x57\x34\x75\x64','\x43\x59\x33\x63\x48\x75\x46\x64\x4c\x75\x57\x78\x43\x61','\x57\x51\x4a\x64\x4e\x48\x70\x64\x47\x75\x76\x30\x77\x43\x6b\x58','\x57\x51\x31\x68\x72\x4c\x37\x64\x52\x49\x52\x64\x49\x43\x6b\x45','\x6e\x74\x5a\x63\x4a\x38\x6f\x54\x57\x34\x52\x64\x52\x43\x6f\x36','\x42\x53\x6b\x34\x57\x34\x39\x47\x70\x6d\x6f\x41\x6c\x4b\x4f','\x76\x43\x6b\x64\x57\x34\x42\x64\x52\x38\x6f\x75\x6f\x5a\x70\x64\x52\x47','\x46\x73\x42\x64\x49\x75\x2f\x64\x4a\x30\x30\x75\x76\x61','\x61\x67\x6d\x73\x57\x34\x2f\x64\x49\x4a\x50\x37\x57\x37\x30','\x57\x35\x78\x63\x4f\x64\x4f\x67\x57\x37\x44\x6e\x6c\x6d\x6f\x71','\x57\x34\x62\x77\x65\x43\x6b\x46\x57\x37\x57\x4e\x57\x35\x62\x57','\x77\x6d\x6f\x41\x57\x35\x75\x46\x57\x37\x6c\x63\x4c\x47','\x70\x5a\x52\x63\x48\x6d\x6f\x47\x57\x34\x5a\x64\x50\x38\x6f\x4e\x57\x51\x57','\x75\x53\x6b\x57\x57\x36\x33\x64\x4b\x6d\x6f\x36\x63\x61\x46\x63\x4d\x61','\x57\x37\x66\x75\x62\x71','\x61\x62\x68\x63\x47\x73\x4e\x63\x55\x75\x50\x6b\x57\x34\x71','\x68\x38\x6b\x51\x57\x34\x74\x64\x4b\x38\x6f\x69','\x57\x36\x35\x67\x61\x57','\x57\x36\x4e\x63\x4b\x6d\x6b\x53\x41\x38\x6f\x5a\x57\x50\x4f\x78\x78\x57','\x57\x50\x54\x37\x57\x37\x39\x79\x57\x50\x4e\x64\x4e\x75\x6c\x64\x4a\x61','\x57\x52\x39\x58\x63\x43\x6b\x2b\x6c\x53\x6f\x61\x57\x50\x34','\x57\x35\x48\x64\x65\x43\x6b\x68\x57\x34\x65\x59\x57\x35\x58\x48','\x57\x50\x56\x64\x49\x62\x56\x63\x4a\x4b\x7a\x4a\x66\x43\x6f\x4c','\x67\x71\x74\x63\x4c\x5a\x74\x63\x52\x4c\x62\x38\x57\x52\x79','\x63\x43\x6b\x52\x64\x43\x6f\x79\x57\x50\x42\x63\x52\x63\x65\x74','\x78\x76\x57\x78\x41\x6d\x6f\x56\x65\x53\x6f\x67\x57\x34\x4f','\x6a\x43\x6b\x61\x61\x74\x48\x49\x6d\x43\x6f\x77\x6f\x57','\x44\x68\x5a\x63\x55\x53\x6f\x6d\x72\x47','\x76\x6d\x6f\x53\x44\x66\x71\x67\x74\x43\x6b\x58\x6f\x78\x37\x64\x4e\x6d\x6f\x5a\x57\x36\x78\x64\x52\x61','\x57\x37\x42\x64\x48\x43\x6b\x55\x46\x6d\x6b\x38\x57\x51\x30\x45\x67\x47','\x57\x35\x34\x38\x57\x37\x69','\x57\x50\x31\x34\x57\x36\x39\x76\x57\x4f\x37\x64\x4c\x4c\x69','\x63\x68\x34\x65\x57\x34\x78\x64\x4c\x61','\x66\x43\x6b\x36\x6d\x48\x54\x46\x67\x53\x6f\x53\x6f\x47','\x6e\x43\x6b\x4b\x63\x6d\x6f\x54\x57\x4f\x4a\x63\x53\x77\x5a\x64\x56\x61','\x73\x43\x6b\x64\x57\x36\x4b\x44\x67\x43\x6f\x35\x63\x67\x43','\x44\x74\x56\x64\x4a\x47','\x42\x68\x6c\x63\x49\x38\x6f\x46\x7a\x43\x6f\x51\x69\x47\x4b','\x68\x43\x6b\x51\x67\x6d\x6b\x45','\x57\x4f\x54\x39\x57\x36\x48\x76\x57\x50\x6c\x64\x4c\x66\x2f\x64\x47\x57','\x57\x50\x2f\x64\x4b\x53\x6b\x4a\x72\x71','\x79\x38\x6b\x4a\x6d\x38\x6b\x6f\x61\x6d\x6b\x47\x57\x36\x4a\x64\x53\x47','\x63\x5a\x79\x56\x57\x35\x6e\x43\x57\x35\x68\x64\x4e\x6d\x6f\x36','\x43\x31\x4b\x67\x42\x53\x6f\x62\x6b\x43\x6b\x70\x57\x35\x69','\x77\x76\x6a\x51\x6d\x53\x6f\x72\x70\x4e\x4a\x64\x51\x61','\x78\x38\x6f\x78\x57\x35\x43\x46','\x63\x4b\x54\x54\x6b\x6d\x6f\x6c\x45\x71','\x57\x36\x5a\x64\x4c\x43\x6f\x72\x57\x36\x64\x63\x4c\x49\x46\x64\x54\x63\x38','\x78\x43\x6b\x62\x6f\x6d\x6b\x33\x6b\x53\x6b\x41\x57\x35\x52\x64\x48\x57','\x76\x6d\x6b\x65\x57\x37\x76\x44\x62\x38\x6f\x2b\x63\x32\x61','\x57\x4f\x37\x64\x54\x75\x68\x64\x52\x4b\x2f\x63\x54\x43\x6f\x32\x78\x71','\x63\x5a\x57\x36\x57\x34\x54\x41\x57\x35\x46\x64\x4d\x53\x6f\x32','\x57\x50\x47\x66\x73\x38\x6b\x4b\x57\x37\x5a\x63\x4d\x71','\x57\x52\x30\x70\x77\x57','\x57\x35\x71\x49\x57\x36\x68\x63\x48\x38\x6b\x50\x57\x52\x58\x31\x57\x37\x61','\x77\x6d\x6b\x2f\x68\x53\x6f\x64\x57\x4f\x2f\x64\x52\x31\x57','\x57\x37\x33\x63\x4c\x6d\x6b\x65\x57\x50\x38\x54\x62\x57','\x66\x38\x6b\x6c\x67\x6d\x6b\x37\x6b\x6d\x6b\x42\x57\x34\x56\x64\x48\x57'];_0x2522=function(){return _0x4a4761;};return _0x2522();}export function buildOpenAIHeaders(_0x28c16b,_0x1093ba){const _0x23bf49=_0x33e187,_0x59ec05={'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x23bf49(0x1c6,'\x26\x55\x24\x66')+_0x23bf49(0x254,'\x35\x4d\x5b\x73')};for(const [_0x31dcdc,_0x2675cc]of Object[_0x23bf49(0x1c8,'\x67\x79\x6a\x52')](_0x28c16b)){const _0x5cc90d=_0x31dcdc[_0x23bf49(0x175,'\x6f\x29\x4f\x73')+_0x23bf49(0x37a,'\x61\x62\x6c\x66')]();if(_0x5cc90d!==_0x23bf49(0x341,'\x35\x4d\x5b\x73')+_0x23bf49(0x37d,'\x31\x76\x48\x56')+_0x23bf49(0x217,'\x31\x76\x48\x56')&&_0x5cc90d!=='\x6f\x70\x65\x6e\x61\x69\x2d\x70'+_0x23bf49(0x23e,'\x40\x76\x7a\x24')&&_0x5cc90d!==_0x23bf49(0x297,'\x38\x6d\x30\x52')+_0x23bf49(0x313,'\x6d\x78\x47\x71')&&!_0x5cc90d[_0x23bf49(0x137,'\x21\x37\x50\x21')+'\x74\x68'](_0x23bf49(0x30a,'\x55\x67\x49\x56')+_0x23bf49(0x280,'\x6a\x70\x5e\x35')))continue;const _0x41602=safeHeaderValue(_0x2675cc);if(_0x41602!==null)_0x59ec05[_0x5cc90d]=_0x41602;}const _0x1e16e1=_0x1093ba[_0x23bf49(0x323,'\x67\x77\x58\x69')+_0x23bf49(0x2a0,'\x7a\x5d\x5e\x64')+_0x23bf49(0x3dc,'\x4b\x35\x55\x4b')+'\x45\x59']||_0x1093ba[_0x23bf49(0x2a1,'\x67\x77\x58\x69')+'\x50\x45\x4e\x41\x49\x5f\x41\x50'+_0x23bf49(0x1ef,'\x67\x77\x58\x69')]||_0x1093ba['\x4f\x50\x45\x4e\x41\x49\x5f\x41'+_0x23bf49(0x31b,'\x38\x44\x53\x42')];if(!_0x1e16e1)throw Object[_0x23bf49(0x350,'\x61\x62\x6c\x66')](new Error(_0x23bf49(0x119,'\x61\x35\x74\x42')+_0x23bf49(0x1ca,'\x7a\x5d\x5e\x64')+_0x23bf49(0x225,'\x56\x56\x76\x26')),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x191});return _0x59ec05[_0x23bf49(0x31d,'\x29\x57\x45\x25')+_0x23bf49(0x2d9,'\x57\x4e\x69\x45')]=_0x23bf49(0x265,'\x21\x37\x50\x21')+_0x1e16e1,_0x59ec05;}export function buildGeminiHeaders(_0x121e08,_0x24a905){const _0x227ded=_0x33e187,_0x48def3={'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x227ded(0x172,'\x29\x57\x45\x25')+_0x227ded(0x3af,'\x74\x6b\x42\x53')};for(const [_0x5916be,_0x54e238]of Object[_0x227ded(0x303,'\x7a\x5d\x5e\x64')](_0x121e08)){const _0x26b69b=_0x5916be[_0x227ded(0x1f4,'\x57\x4e\x69\x45')+_0x227ded(0x1fc,'\x67\x44\x5a\x51')]();if(_0x26b69b!==_0x227ded(0x3a4,'\x79\x6b\x6e\x56')+_0x227ded(0x173,'\x55\x67\x49\x56')+_0x227ded(0x25e,'\x7a\x5d\x5e\x64')&&_0x26b69b!==_0x227ded(0x1e8,'\x61\x35\x74\x42')+'\x70\x69\x2d\x63\x6c\x69\x65\x6e'+'\x74'&&!_0x26b69b[_0x227ded(0x180,'\x40\x76\x7a\x24')+'\x74\x68'](_0x227ded(0x3c1,'\x29\x57\x45\x25')+_0x227ded(0x19c,'\x7a\x5d\x5e\x64')))continue;const _0x2e3670=safeHeaderValue(_0x54e238);if(_0x2e3670!==null)_0x48def3[_0x26b69b]=_0x2e3670;}const _0x16f22c=_0x24a905['\x45\x56\x4f\x4d\x41\x50\x5f\x47'+_0x227ded(0x181,'\x6e\x4a\x41\x51')+_0x227ded(0x30e,'\x40\x76\x7a\x24')]||_0x24a905[_0x227ded(0x152,'\x6a\x70\x5e\x35')+'\x50\x49\x5f\x4b\x45\x59']||_0x24a905[_0x227ded(0x31e,'\x67\x44\x5a\x51')+'\x50\x49\x5f\x4b\x45\x59'];if(!_0x16f22c)throw Object[_0x227ded(0x1ab,'\x6c\x65\x77\x37')](new Error(_0x227ded(0x253,'\x38\x44\x53\x42')+_0x227ded(0x3a8,'\x6f\x29\x4f\x73')+_0x227ded(0x113,'\x40\x76\x7a\x24')),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x191});return _0x48def3['\x78\x2d\x67\x6f\x6f\x67\x2d\x61'+_0x227ded(0x33b,'\x31\x6a\x49\x72')]=_0x16f22c,_0x48def3;}export function buildOllamaHeaders(_0x4e6be7){const _0x21d4d0=_0x33e187,_0x52cbee={'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x21d4d0(0x309,'\x61\x35\x74\x42')+_0x21d4d0(0x27f,'\x79\x6b\x6e\x56')},_0x21e207=_0x4e6be7[_0x21d4d0(0x1ed,'\x35\x4d\x5b\x73')+_0x21d4d0(0x389,'\x29\x57\x45\x25')+_0x21d4d0(0x3cd,'\x79\x6b\x6e\x56')];if(_0x21e207)_0x52cbee[_0x21d4d0(0x2fe,'\x4d\x79\x39\x28')+'\x61\x74\x69\x6f\x6e']=_0x21d4d0(0x32a,'\x52\x38\x37\x44')+_0x21e207;return _0x52cbee;}export function buildVertexHeaders(_0x4f3564){const _0x455021=_0x33e187,_0xf24f27=_0x4f3564[_0x455021(0x20c,'\x38\x6d\x30\x52')+_0x455021(0x32e,'\x74\x6b\x42\x53')+'\x43\x45\x53\x53\x5f\x54\x4f\x4b'+'\x45\x4e'];if(!_0xf24f27)throw Object[_0x455021(0x117,'\x29\x23\x52\x6d')](new Error(_0x455021(0x1cb,'\x40\x76\x7a\x24')+_0x455021(0x1eb,'\x67\x6a\x41\x69')+'\x6b\x65\x6e\x20\x72\x65\x71\x75'+_0x455021(0x251,'\x67\x44\x5a\x51')),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x191});return{'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x455021(0x1b8,'\x67\x77\x58\x69')+_0x455021(0x229,'\x29\x57\x45\x25'),'\x61\x75\x74\x68\x6f\x72\x69\x7a\x61\x74\x69\x6f\x6e':_0x455021(0x1e1,'\x44\x4b\x43\x55')+_0xf24f27};}function providerGatewayError(_0x2773a7,_0x428e4e,_0x148102=0x2*0x973+0x17c4+0x4*-0xa2d){const _0x5b4bd3=_0x33e187,_0x1c320f=_0x428e4e&&typeof _0x428e4e===_0x5b4bd3(0x15e,'\x79\x6b\x6e\x56')&&_0x5b4bd3(0x160,'\x35\x4d\x5b\x73')in _0x428e4e?String(_0x428e4e['\x6e\x61\x6d\x65']):'',_0x509f79=_0x1c320f===_0x5b4bd3(0x2af,'\x31\x76\x48\x56')+_0x5b4bd3(0x2fa,'\x61\x6d\x63\x46')||_0x1c320f===_0x5b4bd3(0x269,'\x67\x79\x6a\x52')+'\x6f\x72';return Object[_0x5b4bd3(0x161,'\x61\x35\x74\x42')](new Error(_0x509f79?_0x2773a7+(_0x5b4bd3(0x3da,'\x52\x38\x37\x44')+_0x5b4bd3(0x1b3,'\x6b\x45\x69\x54')+_0x5b4bd3(0x13e,'\x35\x4d\x5b\x73')):_0x2773a7+(_0x5b4bd3(0x2e7,'\x6e\x4a\x41\x51')+_0x5b4bd3(0x2ee,'\x69\x56\x71\x63')+_0x5b4bd3(0x1c2,'\x67\x79\x6a\x52'))),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':_0x509f79?0x19*0xb3+0x33*-0x13+-0xbba:_0x148102,'\x63\x61\x75\x73\x65':_0x428e4e});}async function fetchUpstream(_0x142527,_0x460fe3,_0x3eaf66,_0x47abf8,_0x5bb869,_0x1fa79f,_0x9d4f1d,_0x1fc102){const _0x578973=_0x33e187,_0x1bc539=(_0x3eaf66['\x6d\x65\x74\x68\x6f\x64']||_0x578973(0x14c,'\x6f\x29\x4f\x73'))[_0x578973(0x340,'\x29\x23\x52\x6d')+_0x578973(0x22a,'\x4d\x79\x39\x28')](),_0x279e11=new AbortController(),_0xf32521=new Error(_0x9d4f1d+(_0x578973(0x147,'\x54\x56\x59\x54')+_0x578973(0x151,'\x67\x77\x58\x69')+_0x578973(0x1d9,'\x69\x56\x71\x63')));_0xf32521['\x6e\x61\x6d\x65']=_0x578973(0x191,'\x6e\x4a\x41\x51')+'\x72\x72\x6f\x72';const _0x5218c1=setTimeout(()=>_0x279e11[_0x578973(0x16f,'\x63\x31\x46\x31')](_0xf32521),_0x1fa79f);let _0x551bba;try{const _0x212e1f={'\x6d\x65\x74\x68\x6f\x64':_0x1bc539,'\x68\x65\x61\x64\x65\x72\x73':_0x47abf8,'\x73\x69\x67\x6e\x61\x6c':_0x279e11[_0x578973(0x11f,'\x58\x39\x4d\x78')]};if(_0x1bc539!==_0x578973(0x397,'\x5e\x61\x4e\x46')&&_0x1bc539!==_0x578973(0x187,'\x67\x77\x58\x69'))_0x212e1f[_0x578973(0x12c,'\x56\x56\x76\x26')]=JSON[_0x578973(0x3cb,'\x69\x56\x71\x63')+'\x79'](_0x460fe3??{});_0x551bba=await _0x5bb869(_0x142527,_0x212e1f);}catch(_0x18d7b6){if(_0x578973(0x1de,'\x61\x35\x74\x42')!=='\x68\x56\x57\x49\x53'){const _0x2359b5={'\x72\x65\x67\x69\x6f\x6e':_0x33e7a1[_0x578973(0x2bc,'\x21\x37\x50\x21')+'\x4f\x4e']||_0x4ac030[_0x578973(0x169,'\x6f\x29\x4f\x73')+_0x578973(0x1a1,'\x6e\x4a\x41\x51')+'\x4f\x4e']||_0x578973(0x351,'\x33\x29\x6e\x34')+'\x31',..._0x5acbf5['\x45\x56\x4f\x4d\x41\x50\x5f\x42'+_0x578973(0x374,'\x61\x6d\x63\x46')+_0x578973(0x2e8,'\x52\x38\x37\x44')]?{'\x65\x6e\x64\x70\x6f\x69\x6e\x74':_0x49bd59(_0x4b476a[_0x578973(0x2db,'\x56\x56\x76\x26')+'\x45\x44\x52\x4f\x43\x4b\x5f\x45'+_0x578973(0x138,'\x4d\x79\x39\x28')],_0x578973(0x2e6,'\x7a\x5d\x5e\x64')+'\x65\x6e\x64\x70\x6f\x69\x6e\x74')}:{}},_0x45a00d=_0x1d089a[_0x578973(0x1f2,'\x57\x4e\x69\x45')+'\x79'](_0x2359b5);return(!_0x4e048c||_0x11d225!==_0x45a00d||_0x26e39e!==_0xc273de)&&(_0x54beaa=_0xe949b5[_0x578973(0x2f2,'\x4d\x79\x39\x28')+_0x578973(0x10d,'\x69\x28\x28\x7a')](_0x2359b5),_0x2534c3=_0x45a00d,_0x295ea7=_0x32a843),_0x397d86;}else{clearTimeout(_0x5218c1);throw providerGatewayError(_0x9d4f1d,_0x18d7b6);}}finally{if(_0x578973(0x15d,'\x55\x67\x49\x56')==='\x58\x44\x49\x6c\x4d'){const _0x2acd6f=_0x134cf6[_0x578973(0x39d,'\x69\x56\x71\x63')]??_0x2eef83.env,_0x461cb6=_0x1508e2[_0x578973(0x26f,'\x67\x44\x5a\x51')]?_0x23f5de(_0x3863f5[_0x578973(0x2a5,'\x44\x4b\x43\x55')]):_0x4ef72f(_0x2acd6f);return _0x467d26(''+_0x461cb6+_0xd30287,_0x4131d5,_0x1a578d,_0x44af13(_0x126b48[_0x578973(0x1e5,'\x29\x57\x45\x25')+_0x578973(0x2de,'\x4d\x79\x39\x28')],_0x2acd6f),_0x48f575,_0x1879d7,'\x6f\x70\x65\x6e\x61\x69',_0x41f52f=>_0x4aa24a(_0x41f52f,'\x74\x65\x78\x74\x2f\x65\x76\x65'+_0x578973(0x1b2,'\x38\x44\x53\x42')+'\x6d'));}else clearTimeout(_0x5218c1);}const _0x10ff13={};for(const [_0x1f31f1,_0x331216]of _0x551bba[_0x578973(0x2a2,'\x61\x35\x74\x42')][_0x578973(0x3b6,'\x54\x56\x59\x54')]())_0x10ff13[_0x1f31f1['\x74\x6f\x4c\x6f\x77\x65\x72\x43'+_0x578973(0x13a,'\x66\x75\x4b\x50')]()]=_0x331216;const _0xa4632e=_0x1fc102(_0x10ff13,_0x142527,_0x460fe3);return{'\x73\x74\x61\x74\x75\x73':_0x551bba[_0x578973(0x3d3,'\x6c\x65\x77\x37')],'\x68\x65\x61\x64\x65\x72\x73':_0x10ff13,'\x73\x74\x72\x65\x61\x6d':_0xa4632e?_0x551bba[_0x578973(0x155,'\x6c\x65\x77\x37')]:null,'\x74\x65\x78\x74':_0xa4632e?undefined:()=>_0x551bba[_0x578973(0x114,'\x38\x6d\x30\x52')]()[_0x578973(0x183,'\x38\x6d\x30\x52')](_0x8da2f9=>{const _0x1b31da=_0x578973;if(_0x1b31da(0x25f,'\x33\x29\x6e\x34')===_0x1b31da(0x29d,'\x40\x76\x7a\x24'))_0x46cd72=_0x22e9b1['\x63\x72\x65\x61\x74\x65\x43\x6c'+_0x1b31da(0x36f,'\x6f\x29\x4f\x73')](_0x541b16),_0x5bbbba=_0x1d8706,_0x12decb=_0x51111a;else throw providerGatewayError(_0x9d4f1d,_0x8da2f9);})};}function _0x33ca(_0x3ae231,_0x1af85f){_0x3ae231=_0x3ae231-(-0x1238+-0x11c*0x2+-0x157d*-0x1);const _0x51d330=_0x2522();let _0x49856c=_0x51d330[_0x3ae231];if(_0x33ca['\x57\x56\x77\x53\x55\x58']===undefined){var _0x2cd842=function(_0x1e45af){const _0x71c09b='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x3c817d='',_0x4c6e74='';for(let _0x4aaeae=-0x194b+0x1514+0x437,_0x3d6220,_0x1d6e20,_0x5a6b7e=0xaaf+0xb0f+-0x15be;_0x1d6e20=_0x1e45af['\x63\x68\x61\x72\x41\x74'](_0x5a6b7e++);~_0x1d6e20&&(_0x3d6220=_0x4aaeae%(0x1a92+0xcd2+0x38*-0xb4)?_0x3d6220*(0xbf2*-0x3+0x1*0x181d+0xbf9)+_0x1d6e20:_0x1d6e20,_0x4aaeae++%(-0xe9f+-0x1b39+0x29dc))?_0x3c817d+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xe*-0x2a0+0x19*-0x19+0x2*0x1418&_0x3d6220>>(-(-0x2a+0x1dff+0x1dd3*-0x1)*_0x4aaeae&-0x1*-0x7b5+-0xff9*-0x2+-0x27a1)):-0x253+0x2435*0x1+-0x21e2*0x1){_0x1d6e20=_0x71c09b['\x69\x6e\x64\x65\x78\x4f\x66'](_0x1d6e20);}for(let _0x452971=-0x1*-0x47f+-0x1*0x251+-0x22e,_0x435074=_0x3c817d['\x6c\x65\x6e\x67\x74\x68'];_0x452971<_0x435074;_0x452971++){_0x4c6e74+='\x25'+('\x30\x30'+_0x3c817d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x452971)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1*-0x611+0x1d29+-0x1708))['\x73\x6c\x69\x63\x65'](-(-0x1b6b+-0x1a20+0x358d));}return decodeURIComponent(_0x4c6e74);};const _0x531e1a=function(_0x16b290,_0x30ab20){let _0x3165d8=[],_0x441ffc=-0x1*-0x983+-0x2*0x6c3+0x403,_0xb922ed,_0x3b4e8c='';_0x16b290=_0x2cd842(_0x16b290);let _0x2d0bbd;for(_0x2d0bbd=0xe03+-0x2537+0x4a4*0x5;_0x2d0bbd<-0x235e+-0x16f7*-0x1+0xd67;_0x2d0bbd++){_0x3165d8[_0x2d0bbd]=_0x2d0bbd;}for(_0x2d0bbd=-0x1421+0x9ff+0x1*0xa22;_0x2d0bbd<0x1639*0x1+0x4*0x6c2+0x3041*-0x1;_0x2d0bbd++){_0x441ffc=(_0x441ffc+_0x3165d8[_0x2d0bbd]+_0x30ab20['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x2d0bbd%_0x30ab20['\x6c\x65\x6e\x67\x74\x68']))%(0x1409+-0x1*-0x1d3b+-0x3044),_0xb922ed=_0x3165d8[_0x2d0bbd],_0x3165d8[_0x2d0bbd]=_0x3165d8[_0x441ffc],_0x3165d8[_0x441ffc]=_0xb922ed;}_0x2d0bbd=0x22c*0x1+-0x3*0x23d+-0x1*-0x48b,_0x441ffc=-0x1247+0x5*0x97+0x2*0x7aa;for(let _0x4ce0c3=-0x1df7+-0x1fb7+-0x1ed7*-0x2;_0x4ce0c3<_0x16b290['\x6c\x65\x6e\x67\x74\x68'];_0x4ce0c3++){_0x2d0bbd=(_0x2d0bbd+(-0x4bf+0x1919*0x1+-0x1*0x1459))%(0x1325*-0x1+0x196c+0x7*-0xc1),_0x441ffc=(_0x441ffc+_0x3165d8[_0x2d0bbd])%(-0xd3*0x3+-0x75a+-0xad3*-0x1),_0xb922ed=_0x3165d8[_0x2d0bbd],_0x3165d8[_0x2d0bbd]=_0x3165d8[_0x441ffc],_0x3165d8[_0x441ffc]=_0xb922ed,_0x3b4e8c+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x16b290['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x4ce0c3)^_0x3165d8[(_0x3165d8[_0x2d0bbd]+_0x3165d8[_0x441ffc])%(0x155d*0x1+0x1bb+-0x1618)]);}return _0x3b4e8c;};_0x33ca['\x63\x70\x7a\x76\x54\x48']=_0x531e1a,_0x33ca['\x75\x56\x51\x5a\x48\x6d']={},_0x33ca['\x57\x56\x77\x53\x55\x58']=!![];}const _0x58705b=_0x51d330[-0x1f49*0x1+0x2*0x95b+0x6f*0x1d],_0x26d707=_0x3ae231+_0x58705b,_0x5afaf7=_0x33ca['\x75\x56\x51\x5a\x48\x6d'][_0x26d707];return!_0x5afaf7?(_0x33ca['\x77\x63\x6e\x49\x42\x46']===undefined&&(_0x33ca['\x77\x63\x6e\x49\x42\x46']=!![]),_0x49856c=_0x33ca['\x63\x70\x7a\x76\x54\x48'](_0x49856c,_0x1af85f),_0x33ca['\x75\x56\x51\x5a\x48\x6d'][_0x26d707]=_0x49856c):_0x49856c=_0x5afaf7,_0x49856c;}const contentTypeIncludes=(_0x1c05c7,_0x2b51d8)=>(_0x1c05c7[_0x33e187(0x3df,'\x6e\x4a\x41\x51')+_0x33e187(0x188,'\x54\x56\x59\x54')]||'')[_0x33e187(0x39f,'\x56\x56\x76\x26')+'\x61\x73\x65']()[_0x33e187(0x28a,'\x40\x48\x61\x74')](_0x2b51d8);function jsonResult(_0x302200,_0x19d7ad){const _0xb465cc=_0x33e187,_0x1937d7=JSON[_0xb465cc(0x204,'\x48\x6b\x38\x5a')+'\x79'](_0x19d7ad);return{'\x73\x74\x61\x74\x75\x73':_0x302200,'\x68\x65\x61\x64\x65\x72\x73':{'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0xb465cc(0x35d,'\x73\x21\x6a\x67')+_0xb465cc(0x1af,'\x33\x57\x79\x50')},'\x73\x74\x72\x65\x61\x6d':null,'\x74\x65\x78\x74':()=>_0x1937d7};}function bodyRecord(_0x1c60c1){const _0x31f455=_0x33e187;if(!_0x1c60c1||typeof _0x1c60c1!==_0x31f455(0x247,'\x54\x56\x59\x54')||Array[_0x31f455(0x279,'\x66\x75\x4b\x50')](_0x1c60c1))return{};return _0x1c60c1;}function textFromBytes(_0x2624c1){const _0xc908bb=_0x33e187;if(typeof _0x2624c1===_0xc908bb(0x234,'\x37\x59\x29\x62'))return _0x2624c1;if(_0x2624c1 instanceof Uint8Array)return Buffer['\x66\x72\x6f\x6d'](_0x2624c1)[_0xc908bb(0x300,'\x6e\x4a\x41\x51')]('\x75\x74\x66\x38');if(_0x2624c1 instanceof ArrayBuffer)return Buffer[_0xc908bb(0x3c4,'\x67\x6a\x41\x69')](_0x2624c1)[_0xc908bb(0x2cd,'\x4d\x79\x39\x28')](_0xc908bb(0x19b,'\x7a\x5d\x5e\x64'));return'';}function bedrockErrorResult(_0x1b9d00){const _0x2c9c75=_0x33e187,_0x2da2c2=_0x1b9d00&&typeof _0x1b9d00===_0x2c9c75(0x2e2,'\x61\x62\x6c\x66')?_0x1b9d00:{},_0x5e000b=_0x2da2c2[_0x2c9c75(0x39b,'\x26\x55\x24\x66')+'\x61']&&typeof _0x2da2c2[_0x2c9c75(0x2e5,'\x69\x56\x71\x63')+'\x61']==='\x6f\x62\x6a\x65\x63\x74'?_0x2da2c2[_0x2c9c75(0x150,'\x37\x59\x29\x62')+'\x61']:{},_0x3069a7=typeof _0x2da2c2[_0x2c9c75(0x2a7,'\x31\x6a\x49\x72')]===_0x2c9c75(0x272,'\x29\x23\x52\x6d')?_0x2da2c2[_0x2c9c75(0x29b,'\x67\x44\x5a\x51')]:_0x2c9c75(0x2c0,'\x61\x6d\x63\x46')+_0x2c9c75(0x3b5,'\x61\x6d\x63\x46'),_0x56dcf4=typeof _0x2da2c2[_0x2c9c75(0x1b1,'\x6f\x29\x4f\x73')]===_0x2c9c75(0x32c,'\x31\x76\x48\x56')?_0x2da2c2[_0x2c9c75(0x331,'\x56\x56\x76\x26')]:String(_0x1b9d00),_0x45a3b4=typeof _0x5e000b[_0x2c9c75(0x29e,'\x7a\x5d\x5e\x64')+_0x2c9c75(0x344,'\x67\x79\x6a\x52')]===_0x2c9c75(0x3bc,'\x29\x23\x52\x6d')?_0x5e000b[_0x2c9c75(0x21b,'\x67\x77\x58\x69')+_0x2c9c75(0x1be,'\x6b\x45\x69\x54')]:undefined,_0x26b466=_0x3069a7===_0x2c9c75(0x1f0,'\x6d\x78\x47\x71')+_0x2c9c75(0x378,'\x44\x4b\x43\x55')||_0x3069a7===_0x2c9c75(0x13b,'\x48\x6b\x38\x5a')+'\x6f\x72'?0x16*-0x51+0x9ca*-0x2+0xe41*0x2:_0x45a3b4??-0xb1d*0x1+-0xcd+-0x5*-0x2c6;return jsonResult(_0x26b466,{'\x74\x79\x70\x65':'\x65\x72\x72\x6f\x72','\x65\x72\x72\x6f\x72':{'\x74\x79\x70\x65':_0x3069a7,'\x6d\x65\x73\x73\x61\x67\x65':_0x56dcf4}});}function normalizeBedrockBody(_0x3df8d8,_0xc411da){const _0x468beb=_0x33e187,_0x5cad3e=bodyRecord(_0x3df8d8),_0x52a573=typeof _0x5cad3e[_0x468beb(0x2f3,'\x74\x6b\x42\x53')]===_0x468beb(0x2d7,'\x38\x44\x53\x42')?_0x5cad3e['\x6d\x6f\x64\x65\x6c']:null,_0x58e9dc=_0x52a573?canonicalizeForBedrock(_0x52a573,resolveBedrockAliases(_0xc411da)):null,_0x268940=typeof _0x58e9dc===_0x468beb(0x3d6,'\x66\x75\x4b\x50')&&_0x58e9dc['\x6c\x65\x6e\x67\x74\x68']>-0x18f5+0x28e+-0x47b*-0x5?_0x58e9dc:null;if(!_0x268940)return jsonResult(0x15*0x148+-0x4*0x49d+0x2a*-0x2a,{'\x74\x79\x70\x65':_0x468beb(0x226,'\x79\x6b\x6e\x56'),'\x65\x72\x72\x6f\x72':{'\x74\x79\x70\x65':_0x468beb(0x26c,'\x4d\x72\x29\x58')+_0x468beb(0x35e,'\x6e\x4a\x41\x51')+_0x468beb(0x3ca,'\x55\x67\x49\x56'),'\x6d\x65\x73\x73\x61\x67\x65':_0x468beb(0x393,'\x6b\x45\x69\x54')+_0x468beb(0x36b,'\x6f\x29\x4f\x73')+_0x468beb(0x1a6,'\x6d\x78\x47\x71')+_0x468beb(0x348,'\x67\x79\x6a\x52')+_0x468beb(0x302,'\x56\x56\x76\x26')}});const _0x32ab92={..._0x5cad3e};delete _0x32ab92[_0x468beb(0x347,'\x61\x62\x6c\x66')];if(!_0x32ab92[_0x468beb(0x149,'\x6c\x65\x77\x37')+_0x468beb(0x2eb,'\x29\x23\x52\x6d')+'\x6e'])_0x32ab92['\x61\x6e\x74\x68\x72\x6f\x70\x69'+_0x468beb(0x170,'\x6b\x45\x69\x54')+'\x6e']='\x62\x65\x64\x72\x6f\x63\x6b\x2d'+_0x468beb(0x365,'\x61\x62\x6c\x66')+'\x33\x31';const _0x36bf5c=_0x32ab92[_0x468beb(0x2a8,'\x25\x5d\x6b\x49')]===!![];delete _0x32ab92[_0x468beb(0x2ca,'\x63\x31\x46\x31')];const _0x2e1244=supportsAdaptiveThinking(_0x268940),_0x5dd8d1=_0x32ab92[_0x468beb(0x1c9,'\x79\x6b\x6e\x56')];if(!_0x2e1244&&_0x5dd8d1&&typeof _0x5dd8d1===_0x468beb(0x249,'\x61\x6d\x63\x46')&&!Array[_0x468beb(0x124,'\x69\x28\x28\x7a')](_0x5dd8d1)){if(_0x468beb(0x2c6,'\x21\x37\x50\x21')!==_0x468beb(0x289,'\x63\x31\x46\x31')){const _0x375fb6=typeof _0xb8b351==='\x6e\x75\x6d\x62\x65\x72'?_0xb004b9:_0x227cd8[_0x468beb(0x3ce,'\x4b\x35\x55\x4b')](_0x1a6e3e/(0x1740+-0xd*-0x12b+-0x9*0x445)),_0x314526=_0x12d367[_0x468beb(0x2e3,'\x55\x67\x49\x56')](_0x103f2f[_0x468beb(0x339,'\x6b\x45\x69\x54')](-0xb00+-0xf21+0x1e21,_0x375fb6),_0x4050e2-(0x774*0x3+-0x939+-0xd22));_0xdfe7db[_0x468beb(0x148,'\x74\x6b\x42\x53')]={..._0x2e85bb,'\x74\x79\x70\x65':_0x468beb(0x2d6,'\x66\x75\x4b\x50'),'\x62\x75\x64\x67\x65\x74\x5f\x74\x6f\x6b\x65\x6e\x73':_0x314526};}else{const _0x35683f=_0x5dd8d1;if(_0x35683f[_0x468beb(0x233,'\x48\x6b\x38\x5a')]===_0x468beb(0x230,'\x6e\x4a\x41\x51')){const _0x14752f=typeof _0x32ab92[_0x468beb(0x1e3,'\x73\x21\x6a\x67')+'\x6e\x73']===_0x468beb(0x270,'\x26\x55\x24\x66')?_0x32ab92['\x6d\x61\x78\x5f\x74\x6f\x6b\x65'+'\x6e\x73']:0xb1b+0x33a3*-0x1+0x4888,_0x4bfea0=_0x35683f[_0x468beb(0x1da,'\x26\x55\x24\x66')+_0x468beb(0x299,'\x31\x76\x48\x56')];if(_0x14752f<=-0x23a2+-0x5*-0x5fb+0x9bb)_0x32ab92[_0x468beb(0x31a,'\x58\x39\x4d\x78')]={'\x74\x79\x70\x65':_0x468beb(0x370,'\x69\x28\x28\x7a')};else{const _0x29e5d5=typeof _0x4bfea0===_0x468beb(0x168,'\x58\x39\x4d\x78')?_0x4bfea0:Math[_0x468beb(0x116,'\x6a\x70\x5e\x35')](_0x14752f/(-0x8a9+-0xc73*0x1+0x66*0x35)),_0x2b1a28=Math[_0x468beb(0x28c,'\x52\x38\x37\x44')](Math[_0x468beb(0x388,'\x4c\x55\x56\x6b')](-0xab*-0xf+-0x1c66+0x1661,_0x29e5d5),_0x14752f-(-0x224e+-0x1031+-0x328*-0x10));_0x32ab92[_0x468beb(0x2ef,'\x35\x4d\x5b\x73')]={..._0x35683f,'\x74\x79\x70\x65':_0x468beb(0x368,'\x63\x31\x46\x31'),'\x62\x75\x64\x67\x65\x74\x5f\x74\x6f\x6b\x65\x6e\x73':_0x2b1a28};}}}}delete _0x32ab92[_0x468beb(0x189,'\x6f\x29\x4f\x73')+_0x468beb(0x1a8,'\x74\x6b\x42\x53')+'\x6e\x74'];if(!_0x2e1244)delete _0x32ab92[_0x468beb(0x3c7,'\x40\x48\x61\x74')+_0x468beb(0x158,'\x31\x76\x48\x56')];return{'\x6d\x6f\x64\x65\x6c\x49\x64':_0x268940,'\x75\x70\x73\x74\x72\x65\x61\x6d\x42\x6f\x64\x79':_0x32ab92,'\x77\x61\x6e\x74\x73\x53\x74\x72\x65\x61\x6d':_0x36bf5c};}function bedrockException(_0x310341){const _0x3eb424=_0x33e187;return _0x310341[_0x3eb424(0x322,'\x6a\x70\x5e\x35')+_0x3eb424(0x384,'\x67\x79\x6a\x52')+_0x3eb424(0x2ad,'\x48\x6b\x38\x5a')]??_0x310341[_0x3eb424(0x20e,'\x79\x6b\x6e\x56')+_0x3eb424(0x291,'\x6c\x65\x77\x37')+'\x45\x78\x63\x65\x70\x74\x69\x6f'+'\x6e']??_0x310341['\x74\x68\x72\x6f\x74\x74\x6c\x69'+_0x3eb424(0x24b,'\x38\x6d\x30\x52')+_0x3eb424(0x2ea,'\x79\x6b\x6e\x56')]??_0x310341[_0x3eb424(0x306,'\x69\x28\x28\x7a')+_0x3eb424(0x2a6,'\x69\x28\x28\x7a')+_0x3eb424(0x2bd,'\x6e\x4a\x41\x51')]??_0x310341[_0x3eb424(0x2b8,'\x33\x57\x79\x50')+_0x3eb424(0x162,'\x4b\x35\x55\x4b')+'\x70\x74\x69\x6f\x6e']??_0x310341[_0x3eb424(0x209,'\x4c\x55\x56\x6b')+_0x3eb424(0x145,'\x67\x6a\x41\x69')+_0x3eb424(0x296,'\x37\x59\x29\x62')+_0x3eb424(0x2b2,'\x29\x23\x52\x6d')]??null;}function bedrockChunkFrame(_0x5bbf4d){const _0x3c77ee=_0x33e187,_0x78780a=textFromBytes(_0x5bbf4d);if(!_0x78780a)return'';try{const _0x41ec60=JSON[_0x3c77ee(0x17d,'\x5e\x61\x4e\x46')](_0x78780a);if(_0x41ec60&&typeof _0x41ec60===_0x3c77ee(0x131,'\x33\x57\x79\x50')&&!Array[_0x3c77ee(0x3a0,'\x4d\x79\x39\x28')](_0x41ec60)){if('\x68\x56\x58\x55\x78'===_0x3c77ee(0x27e,'\x4d\x72\x29\x58')){const _0xcfb6e6=_0x637202&&typeof _0x46d224===_0x3c77ee(0x32b,'\x31\x6a\x49\x72')&&'\x6e\x61\x6d\x65'in _0x4727f9?_0x253e4a(_0x38d119[_0x3c77ee(0x3ae,'\x6f\x29\x4f\x73')]):'',_0x157a24=_0xcfb6e6===_0x3c77ee(0x326,'\x5e\x61\x4e\x46')+_0x3c77ee(0x120,'\x55\x67\x49\x56')||_0xcfb6e6===_0x3c77ee(0x3cf,'\x5e\x61\x4e\x46')+'\x6f\x72';return _0x5fbc08[_0x3c77ee(0x1d1,'\x69\x56\x71\x63')](new _0x3fb811(_0x157a24?_0xeed6b5+(_0x3c77ee(0x34b,'\x67\x6a\x41\x69')+_0x3c77ee(0x26a,'\x38\x44\x53\x42')+_0x3c77ee(0x1d9,'\x69\x56\x71\x63')):_0x8501cb+(_0x3c77ee(0x15a,'\x33\x57\x79\x50')+_0x3c77ee(0x3b7,'\x35\x4d\x5b\x73')+_0x3c77ee(0x136,'\x55\x67\x49\x56'))),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':_0x157a24?-0x16f2+0x2664+0x2b2*-0x5:_0x541453,'\x63\x61\x75\x73\x65':_0x388fd8});}else{const _0x181dba=_0x41ec60[_0x3c77ee(0x110,'\x74\x6b\x42\x53')];if(typeof _0x181dba===_0x3c77ee(0x32c,'\x31\x76\x48\x56')&&/^[A-Za-z0-9_.:-]+$/[_0x3c77ee(0x2a4,'\x35\x4d\x5b\x73')](_0x181dba))return _0x3c77ee(0x34c,'\x6a\x70\x5e\x35')+_0x181dba+_0x3c77ee(0x23d,'\x69\x56\x71\x63')+_0x78780a+'\x0a\x0a';}}}catch{}return _0x3c77ee(0x18a,'\x61\x6d\x63\x46')+_0x78780a+'\x0a\x0a';}function bedrockStreamToSse(_0x1d04ef){const _0x50b1fd=_0x33e187,_0x5cf65a=_0x1d04ef&&typeof _0x1d04ef[Symbol[_0x50b1fd(0x190,'\x69\x28\x28\x7a')+'\x72\x61\x74\x6f\x72']]===_0x50b1fd(0x318,'\x6e\x4a\x41\x51')?_0x1d04ef:null;return new ReadableStream({async '\x73\x74\x61\x72\x74'(_0x5b1fa7){const _0x331003=_0x50b1fd;if(_0x331003(0x221,'\x55\x67\x49\x56')!==_0x331003(0x1f1,'\x40\x48\x61\x74'))void _0xe78c3c?.[_0x331003(0x12f,'\x61\x35\x74\x42')]?.();else{if(!_0x5cf65a){if(_0x331003(0x1fa,'\x4d\x72\x29\x58')!==_0x331003(0x35f,'\x6f\x29\x4f\x73')){const _0x3fb849=_0x54aa80[_0x331003(0x307,'\x26\x55\x24\x66')+'\x6c']??_0x57c005[_0x331003(0x3ab,'\x6c\x65\x77\x37')],_0x59b448=_0xee514d['\x68\x65\x61\x64\x65\x72\x73\x54'+_0x331003(0x335,'\x63\x31\x46\x31')]??_0x68792a;return async(_0xda12de,_0x48c2c0,_0x4c5aa9)=>{const _0x1a05c4=_0x331003,_0x502652=_0x53fd37[_0x1a05c4(0x260,'\x31\x76\x48\x56')]??_0x2e3abc.env,_0x5a515b=(_0x4c5aa9[_0x1a05c4(0x3c9,'\x4c\x55\x56\x6b')]||_0xcc013f(_0x502652))[_0x1a05c4(0x1cd,'\x7a\x5d\x5e\x64')](/\/+$/,'');return _0x3b45dc(''+_0x5a515b+_0xda12de,_0x48c2c0,_0x4c5aa9,_0x27a7c6(_0x502652),_0x3fb849,_0x59b448,_0x1a05c4(0x360,'\x55\x67\x49\x56'),(_0x4e758d,_0x415e31,_0x55e736)=>!(_0x55e736&&typeof _0x55e736===_0x1a05c4(0x24e,'\x6f\x29\x4f\x73')&&_0x55e736[_0x1a05c4(0x128,'\x67\x44\x5a\x51')]===![]));};}else{_0x5b1fa7[_0x331003(0x2d8,'\x48\x6b\x38\x5a')]();return;}}try{if(_0x331003(0x2d4,'\x58\x39\x4d\x78')!=='\x4f\x4e\x43\x62\x67'){for await(const _0x1fd4e2 of _0x5cf65a){if(_0x331003(0x34d,'\x61\x35\x74\x42')===_0x331003(0x19f,'\x44\x4b\x43\x55')){const _0x70f11f=_0x1fd4e2[_0x331003(0x316,'\x6e\x4a\x41\x51')]?.[_0x331003(0x2c3,'\x25\x5d\x6b\x49')];if(_0x70f11f){_0x5b1fa7[_0x331003(0x310,'\x25\x5d\x6b\x49')](Buffer[_0x331003(0x2b3,'\x67\x77\x58\x69')](bedrockChunkFrame(_0x70f11f)));continue;}const _0x6b1b64=bedrockException(_0x1fd4e2);if(_0x6b1b64){const _0x5b7e50=JSON[_0x331003(0x27a,'\x6a\x70\x5e\x35')+'\x79']({'\x74\x79\x70\x65':_0x331003(0x386,'\x52\x38\x37\x44'),'\x65\x72\x72\x6f\x72':{'\x74\x79\x70\x65':typeof _0x6b1b64[_0x331003(0x118,'\x6d\x78\x47\x71')]===_0x331003(0x2df,'\x4b\x35\x55\x4b')?_0x6b1b64[_0x331003(0x2ed,'\x61\x35\x74\x42')]:_0x331003(0x2e4,'\x67\x79\x6a\x52')+_0x331003(0x3a7,'\x52\x38\x37\x44'),'\x6d\x65\x73\x73\x61\x67\x65':typeof _0x6b1b64[_0x331003(0x298,'\x69\x56\x71\x63')]===_0x331003(0x268,'\x69\x28\x28\x7a')?_0x6b1b64[_0x331003(0x241,'\x74\x6b\x42\x53')]:String(_0x6b1b64)}});_0x5b1fa7[_0x331003(0x336,'\x52\x38\x37\x44')](Buffer[_0x331003(0x125,'\x61\x62\x6c\x66')]('\x65\x76\x65\x6e\x74\x3a\x20\x65'+_0x331003(0x343,'\x54\x56\x59\x54')+_0x331003(0x1c4,'\x73\x21\x6a\x67')+_0x5b7e50+'\x0a\x0a'));}}else _0x47db04=new _0x5ac331(_0x3917f8);}_0x5b1fa7[_0x331003(0x37e,'\x40\x48\x61\x74')]();}else _0x2f0252(_0x28f3ae);}catch(_0xa78f2f){_0x5b1fa7['\x65\x72\x72\x6f\x72'](_0xa78f2f);}}},'\x63\x61\x6e\x63\x65\x6c'(){const _0x29b008=_0x50b1fd;try{if(_0x29b008(0x257,'\x67\x6a\x41\x69')==='\x59\x63\x4c\x70\x7a')void _0x5cf65a?.[_0x29b008(0x28d,'\x6c\x65\x77\x37')]?.();else{const _0x17b4f9=_0x4fa211&&typeof _0x2164f7===_0x29b008(0x321,'\x61\x35\x74\x42')?_0x29b894:{},_0xe1c341=_0x17b4f9[_0x29b008(0x23f,'\x57\x4e\x69\x45')+'\x61']&&typeof _0x17b4f9[_0x29b008(0x2d5,'\x54\x56\x59\x54')+'\x61']===_0x29b008(0x33c,'\x29\x23\x52\x6d')?_0x17b4f9['\x24\x6d\x65\x74\x61\x64\x61\x74'+'\x61']:{},_0x1e92dc=typeof _0x17b4f9[_0x29b008(0x3cc,'\x63\x31\x46\x31')]===_0x29b008(0x3d6,'\x66\x75\x4b\x50')?_0x17b4f9[_0x29b008(0x140,'\x67\x6a\x41\x69')]:_0x29b008(0x2f1,'\x35\x4d\x5b\x73')+_0x29b008(0x385,'\x5e\x61\x4e\x46'),_0x3e143f=typeof _0x17b4f9[_0x29b008(0x3a5,'\x4b\x35\x55\x4b')]===_0x29b008(0x2b1,'\x56\x56\x76\x26')?_0x17b4f9[_0x29b008(0x242,'\x33\x57\x79\x50')]:_0x1a0677(_0x130d07),_0xd506a3=typeof _0xe1c341[_0x29b008(0x2f8,'\x67\x79\x6a\x52')+_0x29b008(0x325,'\x26\x55\x24\x66')]===_0x29b008(0x38e,'\x35\x4d\x5b\x73')?_0xe1c341[_0x29b008(0x195,'\x66\x75\x4b\x50')+_0x29b008(0x39c,'\x61\x62\x6c\x66')]:_0x5de2a1,_0x1dc18d=_0x1e92dc===_0x29b008(0x166,'\x4c\x55\x56\x6b')+'\x72\x72\x6f\x72'||_0x1e92dc==='\x41\x62\x6f\x72\x74\x45\x72\x72'+'\x6f\x72'?0x26a4+0x8ad*-0x1+0x3*-0x955:_0xd506a3??-0x210a+0x4cd*0x6+0x2*0x318;return _0x3f8d0e(_0x1dc18d,{'\x74\x79\x70\x65':_0x29b008(0x386,'\x52\x38\x37\x44'),'\x65\x72\x72\x6f\x72':{'\x74\x79\x70\x65':_0x1e92dc,'\x6d\x65\x73\x73\x61\x67\x65':_0x3e143f}});}}catch{}}});}async function invokeBedrock(_0x3a2e03,_0xd5d91,_0x21ae6b,_0x4f778e,_0x35f12c){const _0x34b590=_0x33e187,_0x45b3f0=normalizeBedrockBody(_0x3a2e03,_0xd5d91);if(_0x34b590(0x283,'\x61\x6d\x63\x46')in _0x45b3f0)return _0x45b3f0;const _0x13b498={'\x6d\x6f\x64\x65\x6c\x49\x64':_0x45b3f0[_0x34b590(0x196,'\x38\x6d\x30\x52')],'\x63\x6f\x6e\x74\x65\x6e\x74\x54\x79\x70\x65':_0x34b590(0x35d,'\x73\x21\x6a\x67')+_0x34b590(0x146,'\x4c\x55\x56\x6b'),'\x61\x63\x63\x65\x70\x74':_0x34b590(0x243,'\x6d\x78\x47\x71')+_0x34b590(0x29c,'\x67\x79\x6a\x52'),'\x62\x6f\x64\x79':JSON[_0x34b590(0x22d,'\x56\x56\x76\x26')+'\x79'](_0x45b3f0[_0x34b590(0x3a6,'\x33\x57\x79\x50')+'\x42\x6f\x64\x79'])},_0x5cae09=new Error(_0x34b590(0x362,'\x7a\x5d\x5e\x64')+_0x34b590(0x246,'\x6f\x29\x4f\x73')+_0x34b590(0x2ab,'\x38\x6d\x30\x52')+'\x75\x74');_0x5cae09[_0x34b590(0x3d4,'\x54\x56\x59\x54')]=_0x34b590(0x166,'\x4c\x55\x56\x6b')+_0x34b590(0x30d,'\x69\x56\x71\x63');const _0x580141=new AbortController(),_0x4124de=setTimeout(()=>_0x580141[_0x34b590(0x1a4,'\x69\x56\x71\x63')](_0x5cae09),_0x35f12c);try{if(_0x45b3f0[_0x34b590(0x30f,'\x66\x75\x4b\x50')+_0x34b590(0x2f5,'\x4d\x72\x29\x58')]){if(_0x34b590(0x27c,'\x29\x57\x45\x25')==='\x57\x52\x53\x6e\x56'){const _0xbffc1c=_0x5f354a[_0x34b590(0x13c,'\x38\x6d\x30\x52')]??_0x576e7f.env,_0x5083bc=(_0x193395[_0x34b590(0x17b,'\x29\x23\x52\x6d')]||_0x1b3e03(_0xbffc1c))[_0x34b590(0x3be,'\x67\x44\x5a\x51')](/\/+$/,'');return _0x3f48ef(''+_0x5083bc+_0x3a8fd3,_0x48097e,_0x3f9415,_0x431e92(_0xbffc1c),_0x1202ee,_0x326a58,_0x34b590(0x356,'\x6c\x65\x77\x37'),(_0x43b2ca,_0x4b8732,_0x58767)=>!(_0x58767&&typeof _0x58767===_0x34b590(0x10f,'\x6c\x65\x77\x37')&&_0x58767[_0x34b590(0x211,'\x48\x6b\x38\x5a')]===![]));}else{const _0x4e2978=await _0x4f778e[_0x34b590(0x262,'\x54\x56\x59\x54')](_0x21ae6b[_0x34b590(0x1d5,'\x58\x39\x4d\x78')+_0x34b590(0x377,'\x33\x29\x6e\x34')+'\x6c\x57\x69\x74\x68\x52\x65\x73'+_0x34b590(0x203,'\x69\x28\x28\x7a')+_0x34b590(0x256,'\x37\x59\x29\x62')+'\x6e\x64'](_0x13b498),{'\x61\x62\x6f\x72\x74\x53\x69\x67\x6e\x61\x6c':_0x580141[_0x34b590(0x14a,'\x67\x77\x58\x69')]});clearTimeout(_0x4124de);const _0x249aea=_0x4e2978&&typeof _0x4e2978==='\x6f\x62\x6a\x65\x63\x74'?_0x4e2978:{};return{'\x73\x74\x61\x74\x75\x73':0xc8,'\x68\x65\x61\x64\x65\x72\x73':{'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x34b590(0x1d6,'\x61\x62\x6c\x66')+_0x34b590(0x154,'\x6b\x45\x69\x54')+'\x6d'},'\x73\x74\x72\x65\x61\x6d':bedrockStreamToSse(_0x249aea[_0x34b590(0x376,'\x79\x6b\x6e\x56')]),'\x74\x72\x61\x63\x65\x52\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x45b3f0['\x75\x70\x73\x74\x72\x65\x61\x6d'+_0x34b590(0x1b9,'\x74\x6b\x42\x53')]};}}const _0x44073e=await _0x4f778e[_0x34b590(0x15f,'\x52\x38\x37\x44')](_0x21ae6b[_0x34b590(0x27d,'\x4b\x35\x55\x4b')+_0x34b590(0x2ac,'\x29\x23\x52\x6d')+_0x34b590(0x261,'\x5e\x61\x4e\x46')](_0x13b498),{'\x61\x62\x6f\x72\x74\x53\x69\x67\x6e\x61\x6c':_0x580141[_0x34b590(0x200,'\x29\x57\x45\x25')]});clearTimeout(_0x4124de);const _0x2dc4b1=_0x44073e&&typeof _0x44073e===_0x34b590(0x35c,'\x74\x6b\x42\x53')?_0x44073e:{},_0x536ed2=textFromBytes(_0x2dc4b1[_0x34b590(0x22e,'\x25\x5d\x6b\x49')]);return{'\x73\x74\x61\x74\x75\x73':0xc8,'\x68\x65\x61\x64\x65\x72\x73':{'\x63\x6f\x6e\x74\x65\x6e\x74\x2d\x74\x79\x70\x65':_0x34b590(0x16c,'\x48\x6b\x38\x5a')+'\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e'},'\x73\x74\x72\x65\x61\x6d':null,'\x74\x65\x78\x74':()=>_0x536ed2,'\x74\x72\x61\x63\x65\x52\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x45b3f0[_0x34b590(0x32f,'\x21\x37\x50\x21')+'\x42\x6f\x64\x79']};}catch(_0x2c3fcc){return clearTimeout(_0x4124de),{...bedrockErrorResult(_0x2c3fcc),'\x74\x72\x61\x63\x65\x52\x65\x71\x75\x65\x73\x74\x42\x6f\x64\x79':_0x45b3f0[_0x34b590(0x2e4,'\x67\x79\x6a\x52')+'\x42\x6f\x64\x79']};}}export function makeAnthropicUpstream(_0x250917={}){const _0x50d0f4=_0x33e187,_0x5f2b2e=_0x250917[_0x50d0f4(0x2ae,'\x4d\x72\x29\x58')+'\x6c']??globalThis[_0x50d0f4(0x2f4,'\x55\x67\x49\x56')],_0x15af8d=_0x250917[_0x50d0f4(0x2dc,'\x48\x6b\x38\x5a')+_0x50d0f4(0x1d7,'\x25\x5d\x6b\x49')]??DEFAULT_HEADERS_TIMEOUT_MS;let _0x57d4aa=null,_0x119ea7='',_0x4e02b9=null;const _0x1561ee=(_0x3b3a2f,_0xcce3fb)=>{const _0x311b47=_0x50d0f4;if(_0x311b47(0x216,'\x4b\x35\x55\x4b')===_0x311b47(0x25b,'\x6a\x70\x5e\x35')){const _0xcaa6d5={'\x72\x65\x67\x69\x6f\x6e':_0x3b3a2f[_0x311b47(0x1ee,'\x55\x67\x49\x56')+'\x4f\x4e']||_0x3b3a2f[_0x311b47(0x3bf,'\x48\x6b\x38\x5a')+'\x55\x4c\x54\x5f\x52\x45\x47\x49'+'\x4f\x4e']||_0x311b47(0x387,'\x25\x5d\x6b\x49')+'\x31',..._0x3b3a2f[_0x311b47(0x153,'\x67\x79\x6a\x52')+_0x311b47(0x17a,'\x79\x6b\x6e\x56')+_0x311b47(0x1c5,'\x56\x56\x76\x26')]?{'\x65\x6e\x64\x70\x6f\x69\x6e\x74':assertHttpUrl(_0x3b3a2f[_0x311b47(0x314,'\x37\x59\x29\x62')+_0x311b47(0x28b,'\x55\x67\x49\x56')+_0x311b47(0x141,'\x69\x28\x28\x7a')],_0x311b47(0x10e,'\x74\x6b\x42\x53')+_0x311b47(0x286,'\x6c\x65\x77\x37'))}:{}},_0x25a609=JSON[_0x311b47(0x16b,'\x4b\x35\x55\x4b')+'\x79'](_0xcaa6d5);return(!_0x57d4aa||_0x119ea7!==_0x25a609||_0x4e02b9!==_0xcce3fb)&&(_0x57d4aa=_0xcce3fb[_0x311b47(0x186,'\x6a\x70\x5e\x35')+_0x311b47(0x24a,'\x7a\x5d\x5e\x64')](_0xcaa6d5),_0x119ea7=_0x25a609,_0x4e02b9=_0xcce3fb),_0x57d4aa;}else return _0xbf2433[_0x311b47(0x133,'\x44\x4b\x43\x55')+_0x311b47(0x3b2,'\x44\x4b\x43\x55')+_0x311b47(0x355,'\x61\x6d\x63\x46')]??_0x26a8b2[_0x311b47(0x2f9,'\x55\x67\x49\x56')+_0x311b47(0x1a2,'\x56\x56\x76\x26')+_0x311b47(0x1ba,'\x57\x4e\x69\x45')+'\x6e']??_0x29f4b1[_0x311b47(0x237,'\x29\x57\x45\x25')+_0x311b47(0x236,'\x57\x4e\x69\x45')+_0x311b47(0x1b4,'\x69\x28\x28\x7a')]??_0x373f5a[_0x311b47(0x371,'\x61\x62\x6c\x66')+_0x311b47(0x383,'\x40\x76\x7a\x24')+_0x311b47(0x36d,'\x4c\x55\x56\x6b')]??_0x2ca36f[_0x311b47(0x1ac,'\x29\x57\x45\x25')+_0x311b47(0x311,'\x37\x59\x29\x62')+_0x311b47(0x1a0,'\x38\x44\x53\x42')]??_0x796d5d[_0x311b47(0x227,'\x74\x6b\x42\x53')+_0x311b47(0x240,'\x67\x44\x5a\x51')+'\x6c\x65\x45\x78\x63\x65\x70\x74'+_0x311b47(0x23b,'\x6b\x45\x69\x54')]??null;};return async(_0xdc5bd,_0x35955f,_0x5999b9)=>{const _0x2e377e=_0x50d0f4,{inboundHeaders:_0x167c0a,upstreamMode:_0x966add}=_0x5999b9;if(_0x966add==='\x62\x65\x64\x72\x6f\x63\x6b'){const _0x1cfdcc=_0x250917[_0x2e377e(0x38f,'\x44\x4b\x43\x55')+_0x2e377e(0x34a,'\x54\x56\x59\x54')]??await loadDefaultBedrockRuntime(),_0x35136d=_0x250917[_0x2e377e(0x390,'\x31\x6a\x49\x72')]??process.env;return invokeBedrock(_0x35955f,_0x35136d,_0x1cfdcc,_0x1561ee(_0x35136d,_0x1cfdcc),_0x15af8d);}const _0x213af8=_0x250917[_0x2e377e(0x1d4,'\x74\x6b\x42\x53')]??process.env;return fetchUpstream(''+resolveUpstreamUrl(_0x213af8,_0x966add)+(isOpenAiMode(_0x966add)?pathForOpenAIBase(_0xdc5bd):_0xdc5bd),_0x35955f,_0x5999b9,buildForwardHeaders(_0x167c0a,_0x213af8,_0x966add),_0x5f2b2e,_0x15af8d,isOpenAiMode(_0x966add)?_0x2e377e(0x1fe,'\x7a\x5d\x5e\x64'):_0x2e377e(0x2cc,'\x33\x29\x6e\x34')+'\x63',_0x1e0227=>contentTypeIncludes(_0x1e0227,_0x2e377e(0x39e,'\x40\x51\x62\x24')+_0x2e377e(0x290,'\x4d\x72\x29\x58')+'\x6d'));};}export function makeOpenAIUpstream(_0x96b469={}){const _0x2fcffe=_0x33e187,_0x49ebe7=_0x96b469[_0x2fcffe(0x184,'\x4b\x35\x55\x4b')+'\x6c']??globalThis[_0x2fcffe(0x396,'\x6f\x29\x4f\x73')],_0x2f0651=_0x96b469[_0x2fcffe(0x308,'\x67\x77\x58\x69')+_0x2fcffe(0x2d3,'\x61\x35\x74\x42')]??DEFAULT_HEADERS_TIMEOUT_MS;return async(_0x23b17a,_0x213ec7,_0x317fa6)=>{const _0x2502f8=_0x2fcffe;if(_0x2502f8(0x11a,'\x31\x76\x48\x56')==='\x56\x42\x70\x6c\x6c'){const _0x322c99=_0x96b469[_0x2502f8(0x363,'\x6c\x65\x77\x37')]??process.env,_0x6493ea=_0x317fa6[_0x2502f8(0x171,'\x57\x4e\x69\x45')]?normalizeOpenAIBaseUrl(_0x317fa6[_0x2502f8(0x19e,'\x4b\x35\x55\x4b')]):resolveOpenAIUpstreamUrl(_0x322c99);return fetchUpstream(''+_0x6493ea+_0x23b17a,_0x213ec7,_0x317fa6,buildOpenAIHeaders(_0x317fa6[_0x2502f8(0x1f7,'\x69\x56\x71\x63')+_0x2502f8(0x330,'\x4d\x72\x29\x58')],_0x322c99),_0x49ebe7,_0x2f0651,'\x6f\x70\x65\x6e\x61\x69',_0x4f6e2a=>contentTypeIncludes(_0x4f6e2a,_0x2502f8(0x12d,'\x67\x44\x5a\x51')+_0x2502f8(0x2ff,'\x61\x6d\x63\x46')+'\x6d'));}else _0x4ea4d8=new _0x5ba9fd(_0x3b278f);};}export function makeGeminiUpstream(_0x740437={}){const _0x31582f=_0x33e187,_0x46fde=_0x740437[_0x31582f(0x25a,'\x58\x39\x4d\x78')+'\x6c']??globalThis[_0x31582f(0x3d9,'\x61\x6d\x63\x46')],_0x12ce84=_0x740437[_0x31582f(0x22b,'\x55\x67\x49\x56')+_0x31582f(0x194,'\x38\x44\x53\x42')]??DEFAULT_HEADERS_TIMEOUT_MS;return async(_0x21687d,_0x422f78,_0x57b286)=>{const _0x46fd40=_0x31582f,_0x1f4730=_0x740437[_0x46fd40(0x358,'\x4c\x55\x56\x6b')]??process.env,_0x57599b=(_0x57b286[_0x46fd40(0x1d8,'\x73\x21\x6a\x67')]||resolveGeminiUpstreamUrl(_0x1f4730))[_0x46fd40(0x367,'\x48\x6b\x38\x5a')](/\/+$/,'');return fetchUpstream(''+_0x57599b+_0x21687d,_0x422f78,_0x57b286,buildGeminiHeaders(_0x57b286[_0x46fd40(0x20d,'\x4d\x79\x39\x28')+_0x46fd40(0x23a,'\x38\x44\x53\x42')],_0x1f4730),_0x46fde,_0x12ce84,_0x46fd40(0x1b5,'\x67\x79\x6a\x52'),(_0x4308f4,_0x347062)=>contentTypeIncludes(_0x4308f4,'\x74\x65\x78\x74\x2f\x65\x76\x65'+_0x46fd40(0x192,'\x67\x44\x5a\x51')+'\x6d')||/:streamGenerateContent(\b|\?|$)/[_0x46fd40(0x22c,'\x40\x51\x62\x24')](_0x347062));};}export function makeOllamaUpstream(_0x384956={}){const _0xabd735=_0x33e187,_0x2fcf1e=_0x384956[_0xabd735(0x2e9,'\x66\x75\x4b\x50')+'\x6c']??globalThis[_0xabd735(0x17f,'\x4d\x79\x39\x28')],_0x2c198c=_0x384956[_0xabd735(0x144,'\x67\x44\x5a\x51')+_0xabd735(0x392,'\x55\x67\x49\x56')]??DEFAULT_HEADERS_TIMEOUT_MS;return async(_0x29ba71,_0x4087d8,_0x5a83a5)=>{const _0x174de2=_0xabd735,_0xc00afc=_0x384956[_0x174de2(0x224,'\x67\x6a\x41\x69')]??process.env,_0x550f98=(_0x5a83a5[_0x174de2(0x26d,'\x69\x28\x28\x7a')]||resolveOllamaUpstreamUrl(_0xc00afc))[_0x174de2(0x185,'\x57\x4e\x69\x45')](/\/+$/,'');return fetchUpstream(''+_0x550f98+_0x29ba71,_0x4087d8,_0x5a83a5,buildOllamaHeaders(_0xc00afc),_0x2fcf1e,_0x2c198c,_0x174de2(0x1f5,'\x6d\x78\x47\x71'),(_0x3f745b,_0x335382,_0x5cb591)=>!(_0x5cb591&&typeof _0x5cb591===_0x174de2(0x37f,'\x31\x76\x48\x56')&&_0x5cb591[_0x174de2(0x198,'\x69\x56\x71\x63')]===![]));};}export function makeVertexUpstream(_0x2bb0dc={}){const _0x23db18=_0x33e187,_0x2b9bec=_0x2bb0dc[_0x23db18(0x382,'\x31\x6a\x49\x72')+'\x6c']??globalThis[_0x23db18(0x1d2,'\x6e\x4a\x41\x51')],_0x4a2ea6=_0x2bb0dc[_0x23db18(0x275,'\x21\x37\x50\x21')+_0x23db18(0x12e,'\x6d\x78\x47\x71')]??DEFAULT_HEADERS_TIMEOUT_MS;return async(_0x42b363,_0xb8e622,_0x39e0c7)=>{const _0x4da258=_0x23db18,_0x389595=(_0x39e0c7['\x62\x61\x73\x65\x55\x72\x6c']||'')[_0x4da258(0x2ec,'\x67\x77\x58\x69')](/\/+$/,'');if(!_0x389595)throw Object[_0x4da258(0x304,'\x56\x56\x76\x26')](new Error(_0x4da258(0x2f6,'\x29\x57\x45\x25')+_0x4da258(0x21c,'\x6f\x29\x4f\x73')+_0x4da258(0x28f,'\x67\x6a\x41\x69')),{'\x73\x74\x61\x74\x75\x73\x43\x6f\x64\x65':0x1f4});const _0x66d5c1=_0x2bb0dc[_0x4da258(0x353,'\x67\x77\x58\x69')]??process.env;return fetchUpstream(''+_0x389595+_0x42b363,_0xb8e622,_0x39e0c7,buildVertexHeaders(_0x66d5c1),_0x2b9bec,_0x4a2ea6,_0x4da258(0x3e1,'\x25\x5d\x6b\x49'),(_0x2438e6,_0x876015)=>contentTypeIncludes(_0x2438e6,_0x4da258(0x1b6,'\x7a\x5d\x5e\x64')+_0x4da258(0x235,'\x33\x57\x79\x50')+'\x6d')||/:streamGenerateContent(\b|\?|$)/[_0x4da258(0x199,'\x40\x76\x7a\x24')](_0x876015));};}export{warnDeprecatedOpenAICompatible,resetDeprecatedOpenAICompatibleWarning};
|