perstack 0.0.135 → 0.0.137

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/bin/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM, r as __exportAll, t as __commonJSMin } from "../chunk-DORXReHP.js";
3
- import { $ as discriminatedUnion, A as stopRunByInteractiveTool, At as $constructor, B as knownModels, C as runParamsSchema, Ct as parse$1, D as startRun, Dt as clone, E as startGeneration, Et as safeParseAsync$1, F as jobSchema, Ft as createId, G as ZodOptional$1, H as resolveModelTierWithFallback, I as expertSchema, J as _null, K as _enum, L as isCoordinatorExpert, M as startCommandInputSchema, Mt as PerstackError, N as perstackConfigSchema, O as stopRunByDelegate, Ot as defineLazy, P as lockfileSchema, Q as custom, R as validateDelegation, S as retry, St as $ZodType, T as skipDelegates, Tt as safeParse$1, U as number$1, V as resolveModelTier, W as ZodIssueCode$1, X as array$1, Y as any, Z as boolean, _ as finishToolCall, _t as datetime, a as createFilteredEventListener, at as number, b as resolveToolResults, ct as preprocess, d as callTools, dt as string, et as intersection, f as completeRun, ft as tuple, g as finishMcpTools, gt as safeParseAsync$2, h as createStreamingEvent, ht as url, i as truncateText$1, it as never, j as runCommandInputSchema, jt as NEVER, k as stopRunByError, kt as normalizeParams, l as createBaseToolActivity, lt as record, m as createRuntimeEvent, mt as unknown, n as formatZodError, nt as literal, o as validateEventFilter, ot as object$2, p as continueToNextStep, pt as union, q as _instanceof, r as parseWithFriendlyError, rt as looseObject, s as getFilteredEnv, st as optional, t as createApiClient, tt as lazy, u as createGeneralToolActivity, ut as strictObject, v as parseExpertKey, vt as toJSONSchema, w as runSettingSchema, wt as parseAsync, x as resumeFromStop, xt as $ZodObject, y as proceedToInteractiveTools, z as checkpointSchema } from "../dist-CcuzVu2T.js";
3
+ import { $ as discriminatedUnion, A as stopRunByInteractiveTool, At as $constructor, B as knownModels, C as runParamsSchema, Ct as parse$1, D as startRun, Dt as clone, E as startGeneration, Et as safeParseAsync$1, F as jobSchema, Ft as createId, G as ZodOptional$1, H as resolveModelTierWithFallback, I as expertSchema, J as _null, K as _enum, L as isCoordinatorExpert, M as startCommandInputSchema, Mt as PerstackError, N as perstackConfigSchema, O as stopRunByDelegate, Ot as defineLazy, P as lockfileSchema, Q as custom, R as validateDelegation, S as retry, St as $ZodType, T as skipDelegates, Tt as safeParse$1, U as number$1, V as resolveModelTier, W as ZodIssueCode$1, X as array$1, Y as any, Z as boolean, _ as finishToolCall, _t as datetime, a as createFilteredEventListener, at as number, b as resolveToolResults, ct as preprocess, d as callTools, dt as string, et as intersection, f as completeRun, ft as tuple, g as finishMcpTools, gt as safeParseAsync$2, h as createStreamingEvent, ht as url, i as truncateText$1, it as never, j as runCommandInputSchema, jt as NEVER, k as stopRunByError, kt as normalizeParams, l as createBaseToolActivity, lt as record, m as createRuntimeEvent, mt as unknown, n as formatZodError, nt as literal, o as validateEventFilter, ot as object$2, p as continueToNextStep, pt as union, q as _instanceof, r as parseWithFriendlyError, rt as looseObject, s as getFilteredEnv, st as optional, t as createApiClient, tt as lazy, u as createGeneralToolActivity, ut as strictObject, v as parseExpertKey, vt as toJSONSchema, w as runSettingSchema, wt as parseAsync, x as resumeFromStop, xt as $ZodObject, y as proceedToInteractiveTools, z as checkpointSchema } from "../dist-B-pbUImR.js";
4
4
  import { t as require_token_error } from "../token-error-Bru5BVnt.js";
5
5
  import fs, { constants, lstat, mkdir, open, readFile, stat, writeFile } from "node:fs/promises";
6
6
  import path, { dirname, extname } from "node:path";
@@ -4896,7 +4896,7 @@ function object$1(shape, params) {
4896
4896
  });
4897
4897
  }
4898
4898
  //#endregion
4899
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js
4899
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js
4900
4900
  function isZ4Schema(s) {
4901
4901
  return !!s._zod;
4902
4902
  }
@@ -5011,7 +5011,7 @@ function getLiteralValue(schema) {
5011
5011
  if (directValue !== void 0) return directValue;
5012
5012
  }
5013
5013
  //#endregion
5014
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
5014
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
5015
5015
  const LATEST_PROTOCOL_VERSION = "2025-11-25";
5016
5016
  const SUPPORTED_PROTOCOL_VERSIONS = [
5017
5017
  LATEST_PROTOCOL_VERSION,
@@ -6209,7 +6209,7 @@ var UrlElicitationRequiredError = class extends McpError {
6209
6209
  }
6210
6210
  };
6211
6211
  //#endregion
6212
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
6212
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
6213
6213
  /**
6214
6214
  * Experimental task interfaces for MCP SDK.
6215
6215
  * WARNING: These APIs are experimental and may change without notice.
@@ -7288,7 +7288,7 @@ const zodToJsonSchema = (schema, options) => {
7288
7288
  return combined;
7289
7289
  };
7290
7290
  //#endregion
7291
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
7291
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
7292
7292
  function mapMiniTarget(t) {
7293
7293
  if (!t) return "draft-7";
7294
7294
  if (t === "jsonSchema7" || t === "draft-7") return "draft-7";
@@ -14235,7 +14235,7 @@ var require_dist$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
14235
14235
  exports.default = formatsPlugin;
14236
14236
  }));
14237
14237
  //#endregion
14238
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
14238
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
14239
14239
  var import_ajv = /* @__PURE__ */ __toESM(require_ajv(), 1);
14240
14240
  var import_dist$2 = /* @__PURE__ */ __toESM(require_dist$2(), 1);
14241
14241
  function createDefaultAjvInstance() {
@@ -14311,7 +14311,7 @@ var AjvJsonSchemaValidator = class {
14311
14311
  }
14312
14312
  };
14313
14313
  //#endregion
14314
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js
14314
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/client.js
14315
14315
  /**
14316
14316
  * Experimental client task features for MCP SDK.
14317
14317
  * WARNING: These APIs are experimental and may change without notice.
@@ -14484,7 +14484,7 @@ var ExperimentalClientTasks = class {
14484
14484
  }
14485
14485
  };
14486
14486
  //#endregion
14487
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
14487
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
14488
14488
  /**
14489
14489
  * Experimental task capability assertion helpers.
14490
14490
  * WARNING: These APIs are experimental and may change without notice.
@@ -14535,7 +14535,7 @@ function assertClientRequestTaskCapability(requests, method, entityName) {
14535
14535
  }
14536
14536
  }
14537
14537
  //#endregion
14538
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js
14538
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js
14539
14539
  /**
14540
14540
  * Elicitation default application helper. Applies defaults to the data based on the schema.
14541
14541
  *
@@ -15062,7 +15062,7 @@ function errorToolResult(e) {
15062
15062
  }] };
15063
15063
  }
15064
15064
  //#endregion
15065
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
15065
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
15066
15066
  /**
15067
15067
  * Experimental server task features for MCP SDK.
15068
15068
  * WARNING: These APIs are experimental and may change without notice.
@@ -15103,6 +15103,136 @@ var ExperimentalServerTasks = class {
15103
15103
  return this._server.requestStream(request, resultSchema, options);
15104
15104
  }
15105
15105
  /**
15106
+ * Sends a sampling request and returns an AsyncGenerator that yields response messages.
15107
+ * The generator is guaranteed to end with either a 'result' or 'error' message.
15108
+ *
15109
+ * For task-augmented requests, yields 'taskCreated' and 'taskStatus' messages
15110
+ * before the final result.
15111
+ *
15112
+ * @example
15113
+ * ```typescript
15114
+ * const stream = server.experimental.tasks.createMessageStream({
15115
+ * messages: [{ role: 'user', content: { type: 'text', text: 'Hello' } }],
15116
+ * maxTokens: 100
15117
+ * }, {
15118
+ * onprogress: (progress) => {
15119
+ * // Handle streaming tokens via progress notifications
15120
+ * console.log('Progress:', progress.message);
15121
+ * }
15122
+ * });
15123
+ *
15124
+ * for await (const message of stream) {
15125
+ * switch (message.type) {
15126
+ * case 'taskCreated':
15127
+ * console.log('Task created:', message.task.taskId);
15128
+ * break;
15129
+ * case 'taskStatus':
15130
+ * console.log('Task status:', message.task.status);
15131
+ * break;
15132
+ * case 'result':
15133
+ * console.log('Final result:', message.result);
15134
+ * break;
15135
+ * case 'error':
15136
+ * console.error('Error:', message.error);
15137
+ * break;
15138
+ * }
15139
+ * }
15140
+ * ```
15141
+ *
15142
+ * @param params - The sampling request parameters
15143
+ * @param options - Optional request options (timeout, signal, task creation params, onprogress, etc.)
15144
+ * @returns AsyncGenerator that yields ResponseMessage objects
15145
+ *
15146
+ * @experimental
15147
+ */
15148
+ createMessageStream(params, options) {
15149
+ const clientCapabilities = this._server.getClientCapabilities();
15150
+ if ((params.tools || params.toolChoice) && !clientCapabilities?.sampling?.tools) throw new Error("Client does not support sampling tools capability.");
15151
+ if (params.messages.length > 0) {
15152
+ const lastMessage = params.messages[params.messages.length - 1];
15153
+ const lastContent = Array.isArray(lastMessage.content) ? lastMessage.content : [lastMessage.content];
15154
+ const hasToolResults = lastContent.some((c) => c.type === "tool_result");
15155
+ const previousMessage = params.messages.length > 1 ? params.messages[params.messages.length - 2] : void 0;
15156
+ const previousContent = previousMessage ? Array.isArray(previousMessage.content) ? previousMessage.content : [previousMessage.content] : [];
15157
+ const hasPreviousToolUse = previousContent.some((c) => c.type === "tool_use");
15158
+ if (hasToolResults) {
15159
+ if (lastContent.some((c) => c.type !== "tool_result")) throw new Error("The last message must contain only tool_result content if any is present");
15160
+ if (!hasPreviousToolUse) throw new Error("tool_result blocks are not matching any tool_use from the previous message");
15161
+ }
15162
+ if (hasPreviousToolUse) {
15163
+ const toolUseIds = new Set(previousContent.filter((c) => c.type === "tool_use").map((c) => c.id));
15164
+ const toolResultIds = new Set(lastContent.filter((c) => c.type === "tool_result").map((c) => c.toolUseId));
15165
+ if (toolUseIds.size !== toolResultIds.size || ![...toolUseIds].every((id) => toolResultIds.has(id))) throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match");
15166
+ }
15167
+ }
15168
+ return this.requestStream({
15169
+ method: "sampling/createMessage",
15170
+ params
15171
+ }, CreateMessageResultSchema, options);
15172
+ }
15173
+ /**
15174
+ * Sends an elicitation request and returns an AsyncGenerator that yields response messages.
15175
+ * The generator is guaranteed to end with either a 'result' or 'error' message.
15176
+ *
15177
+ * For task-augmented requests (especially URL-based elicitation), yields 'taskCreated'
15178
+ * and 'taskStatus' messages before the final result.
15179
+ *
15180
+ * @example
15181
+ * ```typescript
15182
+ * const stream = server.experimental.tasks.elicitInputStream({
15183
+ * mode: 'url',
15184
+ * message: 'Please authenticate',
15185
+ * elicitationId: 'auth-123',
15186
+ * url: 'https://example.com/auth'
15187
+ * }, {
15188
+ * task: { ttl: 300000 } // Task-augmented for long-running auth flow
15189
+ * });
15190
+ *
15191
+ * for await (const message of stream) {
15192
+ * switch (message.type) {
15193
+ * case 'taskCreated':
15194
+ * console.log('Task created:', message.task.taskId);
15195
+ * break;
15196
+ * case 'taskStatus':
15197
+ * console.log('Task status:', message.task.status);
15198
+ * break;
15199
+ * case 'result':
15200
+ * console.log('User action:', message.result.action);
15201
+ * break;
15202
+ * case 'error':
15203
+ * console.error('Error:', message.error);
15204
+ * break;
15205
+ * }
15206
+ * }
15207
+ * ```
15208
+ *
15209
+ * @param params - The elicitation request parameters
15210
+ * @param options - Optional request options (timeout, signal, task creation params, etc.)
15211
+ * @returns AsyncGenerator that yields ResponseMessage objects
15212
+ *
15213
+ * @experimental
15214
+ */
15215
+ elicitInputStream(params, options) {
15216
+ const clientCapabilities = this._server.getClientCapabilities();
15217
+ const mode = params.mode ?? "form";
15218
+ switch (mode) {
15219
+ case "url":
15220
+ if (!clientCapabilities?.elicitation?.url) throw new Error("Client does not support url elicitation.");
15221
+ break;
15222
+ case "form":
15223
+ if (!clientCapabilities?.elicitation?.form) throw new Error("Client does not support form elicitation.");
15224
+ break;
15225
+ }
15226
+ const normalizedParams = mode === "form" && params.mode === void 0 ? {
15227
+ ...params,
15228
+ mode: "form"
15229
+ } : params;
15230
+ return this.requestStream({
15231
+ method: "elicitation/create",
15232
+ params: normalizedParams
15233
+ }, ElicitResultSchema, options);
15234
+ }
15235
+ /**
15106
15236
  * Gets the current status of a task.
15107
15237
  *
15108
15238
  * @param taskId - The task identifier
@@ -15152,7 +15282,7 @@ var ExperimentalServerTasks = class {
15152
15282
  }
15153
15283
  };
15154
15284
  //#endregion
15155
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js
15285
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js
15156
15286
  /**
15157
15287
  * An MCP server on top of a pluggable transport.
15158
15288
  *
@@ -15493,7 +15623,7 @@ var Server = class extends Protocol {
15493
15623
  }
15494
15624
  };
15495
15625
  //#endregion
15496
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js
15626
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js
15497
15627
  const COMPLETABLE_SYMBOL = Symbol.for("mcp.completable");
15498
15628
  /**
15499
15629
  * Checks if a schema is completable (has completion metadata).
@@ -15512,7 +15642,7 @@ var McpZodTypeKind;
15512
15642
  McpZodTypeKind["Completable"] = "McpCompletable";
15513
15643
  })(McpZodTypeKind || (McpZodTypeKind = {}));
15514
15644
  //#endregion
15515
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js
15645
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js
15516
15646
  /**
15517
15647
  * Tool name validation utilities according to SEP: Specify Format for Tool Names
15518
15648
  *
@@ -15583,7 +15713,7 @@ function validateAndWarnToolName(name) {
15583
15713
  return result.isValid;
15584
15714
  }
15585
15715
  //#endregion
15586
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js
15716
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js
15587
15717
  /**
15588
15718
  * Experimental McpServer task features for MCP SDK.
15589
15719
  * WARNING: These APIs are experimental and may change without notice.
@@ -15614,7 +15744,7 @@ var ExperimentalMcpServerTasks = class {
15614
15744
  }
15615
15745
  };
15616
15746
  //#endregion
15617
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
15747
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
15618
15748
  /**
15619
15749
  * High-level MCP server that provides a simpler API for working with resources, tools, and prompts.
15620
15750
  * For advanced usage (like sending notifications or setting custom request handlers), use the underlying
@@ -17190,7 +17320,7 @@ function getBaseURL() {
17190
17320
  return doc && typeof doc == "object" && "baseURI" in doc && typeof doc.baseURI == "string" ? doc.baseURI : void 0;
17191
17321
  }
17192
17322
  //#endregion
17193
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.js
17323
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.js
17194
17324
  /**
17195
17325
  * Normalizes HeadersInit to a plain Record<string, string> for manipulation.
17196
17326
  * Handles Headers objects, arrays of tuples, and plain objects.
@@ -17277,7 +17407,7 @@ async function pkceChallenge(length) {
17277
17407
  };
17278
17408
  }
17279
17409
  //#endregion
17280
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js
17410
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth.js
17281
17411
  /**
17282
17412
  * Reusable URL validation that disallows javascript: scheme
17283
17413
  */
@@ -17449,7 +17579,7 @@ object$2({
17449
17579
  token_type_hint: string().optional()
17450
17580
  }).strip();
17451
17581
  //#endregion
17452
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth-utils.js
17582
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/auth-utils.js
17453
17583
  /**
17454
17584
  * Utilities for handling OAuth resource URIs.
17455
17585
  */
@@ -17482,7 +17612,7 @@ function checkResourceAllowed({ requestedResource, configuredResource }) {
17482
17612
  return requestedPath.startsWith(configuredPath);
17483
17613
  }
17484
17614
  //#endregion
17485
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.js
17615
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/errors.js
17486
17616
  /**
17487
17617
  * Base class for all OAuth errors
17488
17618
  */
@@ -17632,7 +17762,7 @@ const OAUTH_ERRORS = {
17632
17762
  [InvalidTargetError.errorCode]: InvalidTargetError
17633
17763
  };
17634
17764
  //#endregion
17635
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js
17765
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js
17636
17766
  var UnauthorizedError = class extends Error {
17637
17767
  constructor(message) {
17638
17768
  super(message ?? "Unauthorized");
@@ -17760,19 +17890,41 @@ async function auth(provider, options) {
17760
17890
  }
17761
17891
  }
17762
17892
  async function authInternal(provider, { serverUrl, authorizationCode, scope, resourceMetadataUrl, fetchFn }) {
17893
+ const cachedState = await provider.discoveryState?.();
17763
17894
  let resourceMetadata;
17764
17895
  let authorizationServerUrl;
17765
- try {
17766
- resourceMetadata = await discoverOAuthProtectedResourceMetadata(serverUrl, { resourceMetadataUrl }, fetchFn);
17767
- if (resourceMetadata.authorization_servers && resourceMetadata.authorization_servers.length > 0) authorizationServerUrl = resourceMetadata.authorization_servers[0];
17768
- } catch {}
17769
- /**
17770
- * If we don't get a valid authorization server metadata from protected resource metadata,
17771
- * fallback to the legacy MCP spec's implementation (version 2025-03-26): MCP server base URL acts as the Authorization server.
17772
- */
17773
- if (!authorizationServerUrl) authorizationServerUrl = new URL("/", serverUrl);
17896
+ let metadata;
17897
+ let effectiveResourceMetadataUrl = resourceMetadataUrl;
17898
+ if (!effectiveResourceMetadataUrl && cachedState?.resourceMetadataUrl) effectiveResourceMetadataUrl = new URL(cachedState.resourceMetadataUrl);
17899
+ if (cachedState?.authorizationServerUrl) {
17900
+ authorizationServerUrl = cachedState.authorizationServerUrl;
17901
+ resourceMetadata = cachedState.resourceMetadata;
17902
+ metadata = cachedState.authorizationServerMetadata ?? await discoverAuthorizationServerMetadata(authorizationServerUrl, { fetchFn });
17903
+ if (!resourceMetadata) try {
17904
+ resourceMetadata = await discoverOAuthProtectedResourceMetadata(serverUrl, { resourceMetadataUrl: effectiveResourceMetadataUrl }, fetchFn);
17905
+ } catch {}
17906
+ if (metadata !== cachedState.authorizationServerMetadata || resourceMetadata !== cachedState.resourceMetadata) await provider.saveDiscoveryState?.({
17907
+ authorizationServerUrl: String(authorizationServerUrl),
17908
+ resourceMetadataUrl: effectiveResourceMetadataUrl?.toString(),
17909
+ resourceMetadata,
17910
+ authorizationServerMetadata: metadata
17911
+ });
17912
+ } else {
17913
+ const serverInfo = await discoverOAuthServerInfo(serverUrl, {
17914
+ resourceMetadataUrl: effectiveResourceMetadataUrl,
17915
+ fetchFn
17916
+ });
17917
+ authorizationServerUrl = serverInfo.authorizationServerUrl;
17918
+ metadata = serverInfo.authorizationServerMetadata;
17919
+ resourceMetadata = serverInfo.resourceMetadata;
17920
+ await provider.saveDiscoveryState?.({
17921
+ authorizationServerUrl: String(authorizationServerUrl),
17922
+ resourceMetadataUrl: effectiveResourceMetadataUrl?.toString(),
17923
+ resourceMetadata,
17924
+ authorizationServerMetadata: metadata
17925
+ });
17926
+ }
17774
17927
  const resource = await selectResourceURL(serverUrl, provider, resourceMetadata);
17775
- const metadata = await discoverAuthorizationServerMetadata(authorizationServerUrl, { fetchFn });
17776
17928
  let clientInformation = await Promise.resolve(provider.clientInformation());
17777
17929
  if (!clientInformation) {
17778
17930
  if (authorizationCode !== void 0) throw new Error("Existing OAuth client information is required when exchanging an authorization code");
@@ -18037,6 +18189,41 @@ async function discoverAuthorizationServerMetadata(authorizationServerUrl, { fet
18037
18189
  }
18038
18190
  }
18039
18191
  /**
18192
+ * Discovers the authorization server for an MCP server following
18193
+ * {@link https://datatracker.ietf.org/doc/html/rfc9728 | RFC 9728} (OAuth 2.0 Protected
18194
+ * Resource Metadata), with fallback to treating the server URL as the
18195
+ * authorization server.
18196
+ *
18197
+ * This function combines two discovery steps into one call:
18198
+ * 1. Probes `/.well-known/oauth-protected-resource` on the MCP server to find the
18199
+ * authorization server URL (RFC 9728).
18200
+ * 2. Fetches authorization server metadata from that URL (RFC 8414 / OpenID Connect Discovery).
18201
+ *
18202
+ * Use this when you need the authorization server metadata for operations outside the
18203
+ * {@linkcode auth} orchestrator, such as token refresh or token revocation.
18204
+ *
18205
+ * @param serverUrl - The MCP resource server URL
18206
+ * @param opts - Optional configuration
18207
+ * @param opts.resourceMetadataUrl - Override URL for the protected resource metadata endpoint
18208
+ * @param opts.fetchFn - Custom fetch function for HTTP requests
18209
+ * @returns Authorization server URL, metadata, and resource metadata (if available)
18210
+ */
18211
+ async function discoverOAuthServerInfo(serverUrl, opts) {
18212
+ let resourceMetadata;
18213
+ let authorizationServerUrl;
18214
+ try {
18215
+ resourceMetadata = await discoverOAuthProtectedResourceMetadata(serverUrl, { resourceMetadataUrl: opts?.resourceMetadataUrl }, opts?.fetchFn);
18216
+ if (resourceMetadata.authorization_servers && resourceMetadata.authorization_servers.length > 0) authorizationServerUrl = resourceMetadata.authorization_servers[0];
18217
+ } catch {}
18218
+ if (!authorizationServerUrl) authorizationServerUrl = String(new URL("/", serverUrl));
18219
+ const authorizationServerMetadata = await discoverAuthorizationServerMetadata(authorizationServerUrl, { fetchFn: opts?.fetchFn });
18220
+ return {
18221
+ authorizationServerUrl,
18222
+ authorizationServerMetadata,
18223
+ resourceMetadata
18224
+ };
18225
+ }
18226
+ /**
18040
18227
  * Begins the authorization flow with the given server, by generating a PKCE challenge and constructing the authorization URL.
18041
18228
  */
18042
18229
  async function startAuthorization(authorizationServerUrl, { metadata, clientInformation, redirectUrl, scope, state, resource }) {
@@ -18194,7 +18381,7 @@ async function registerClient(authorizationServerUrl, { metadata, clientMetadata
18194
18381
  return OAuthClientInformationFullSchema.parse(await response.json());
18195
18382
  }
18196
18383
  //#endregion
18197
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.js
18384
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.js
18198
18385
  var SseError = class extends Error {
18199
18386
  constructor(code, message, event) {
18200
18387
  super(`SSE error: ${message}`);
@@ -18739,7 +18926,7 @@ var require_enoent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
18739
18926
  };
18740
18927
  }));
18741
18928
  //#endregion
18742
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js
18929
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js
18743
18930
  var import_cross_spawn = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
18744
18931
  const cp = __require("child_process");
18745
18932
  const parse = require_parse$2();
@@ -18788,7 +18975,7 @@ function serializeMessage(message) {
18788
18975
  return JSON.stringify(message) + "\n";
18789
18976
  }
18790
18977
  //#endregion
18791
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js
18978
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js
18792
18979
  /**
18793
18980
  * Environment variables to inherit by default, if an environment is not explicitly given.
18794
18981
  */
@@ -18948,7 +19135,7 @@ function isElectron$1() {
18948
19135
  return "type" in process$1;
18949
19136
  }
18950
19137
  //#endregion
18951
- //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.26.0/node_modules/@modelcontextprotocol/sdk/dist/esm/inMemory.js
19138
+ //#region ../../node_modules/.bun/@modelcontextprotocol+sdk@1.27.1/node_modules/@modelcontextprotocol/sdk/dist/esm/inMemory.js
18952
19139
  /**
18953
19140
  * In-memory transport for creating clients and servers that talk to each other within the same process.
18954
19141
  */
@@ -21270,7 +21457,7 @@ async function expertVersionsHandler(scopeName, options) {
21270
21457
  }
21271
21458
  //#endregion
21272
21459
  //#region ../../packages/runtime/package.json
21273
- var version$1 = "0.0.143";
21460
+ var version$1 = "0.0.144";
21274
21461
  //#endregion
21275
21462
  //#region ../../packages/runtime/src/helpers/usage.ts
21276
21463
  function createEmptyUsage() {
@@ -41985,7 +42172,7 @@ var require_gaxios = /* @__PURE__ */ __commonJSMin(((exports) => {
41985
42172
  }
41986
42173
  static async #getFetch() {
41987
42174
  const hasWindow = typeof window !== "undefined" && !!window;
41988
- this.#fetch ||= hasWindow ? window.fetch : (await import("../src-Cl4mko2y.js")).default;
42175
+ this.#fetch ||= hasWindow ? window.fetch : (await import("../src-BHnyzbe_.js")).default;
41989
42176
  return this.#fetch;
41990
42177
  }
41991
42178
  /**
@@ -46198,25 +46385,25 @@ var require_data_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
46198
46385
  //#endregion
46199
46386
  //#region ../../node_modules/.bun/buffer-equal-constant-time@1.0.1/node_modules/buffer-equal-constant-time/index.js
46200
46387
  var require_buffer_equal_constant_time = /* @__PURE__ */ __commonJSMin(((exports, module) => {
46201
- var Buffer$5 = __require("buffer").Buffer;
46388
+ var Buffer$7 = __require("buffer").Buffer;
46202
46389
  var SlowBuffer = __require("buffer").SlowBuffer;
46203
46390
  module.exports = bufferEq;
46204
46391
  function bufferEq(a, b) {
46205
- if (!Buffer$5.isBuffer(a) || !Buffer$5.isBuffer(b)) return false;
46392
+ if (!Buffer$7.isBuffer(a) || !Buffer$7.isBuffer(b)) return false;
46206
46393
  if (a.length !== b.length) return false;
46207
46394
  var c = 0;
46208
46395
  for (var i = 0; i < a.length; i++) c |= a[i] ^ b[i];
46209
46396
  return c === 0;
46210
46397
  }
46211
46398
  bufferEq.install = function() {
46212
- Buffer$5.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
46399
+ Buffer$7.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
46213
46400
  return bufferEq(this, that);
46214
46401
  };
46215
46402
  };
46216
- var origBufEqual = Buffer$5.prototype.equal;
46403
+ var origBufEqual = Buffer$7.prototype.equal;
46217
46404
  var origSlowBufEqual = SlowBuffer.prototype.equal;
46218
46405
  bufferEq.restore = function() {
46219
- Buffer$5.prototype.equal = origBufEqual;
46406
+ Buffer$7.prototype.equal = origBufEqual;
46220
46407
  SlowBuffer.prototype.equal = origSlowBufEqual;
46221
46408
  };
46222
46409
  }));
@@ -46399,10 +46586,10 @@ var require_jwa = /* @__PURE__ */ __commonJSMin(((exports, module) => {
46399
46586
  //#endregion
46400
46587
  //#region ../../node_modules/.bun/jws@4.0.1/node_modules/jws/lib/tostring.js
46401
46588
  var require_tostring = /* @__PURE__ */ __commonJSMin(((exports, module) => {
46402
- var Buffer$4 = __require("buffer").Buffer;
46589
+ var Buffer$6 = __require("buffer").Buffer;
46403
46590
  module.exports = function toString(obj) {
46404
46591
  if (typeof obj === "string") return obj;
46405
- if (typeof obj === "number" || Buffer$4.isBuffer(obj)) return obj.toString();
46592
+ if (typeof obj === "number" || Buffer$6.isBuffer(obj)) return obj.toString();
46406
46593
  return JSON.stringify(obj);
46407
46594
  };
46408
46595
  }));
@@ -57759,7 +57946,7 @@ function createOpenAI(options = {}) {
57759
57946
  }
57760
57947
  createOpenAI();
57761
57948
  //#endregion
57762
- //#region ../../node_modules/.bun/ollama-ai-provider-v2@3.4.0+75033251fd01c73e/node_modules/ollama-ai-provider-v2/dist/index.mjs
57949
+ //#region ../../node_modules/.bun/ollama-ai-provider-v2@3.5.0+75033251fd01c73e/node_modules/ollama-ai-provider-v2/dist/index.mjs
57763
57950
  function convertToOllamaCompletionPrompt({ prompt, user = "user", assistant = "assistant" }) {
57764
57951
  let text = "";
57765
57952
  if (prompt[0].role === "system") {
@@ -58226,9 +58413,15 @@ var OllamaResponseProcessor = class {
58226
58413
  this.config = config;
58227
58414
  }
58228
58415
  processGenerateResponse(response) {
58416
+ const content = this.extractContent(response);
58417
+ const hasToolCalls = content.some((item) => item.type === "tool-call");
58418
+ const rawFinishReason = mapOllamaFinishReason(response.done_reason);
58229
58419
  return {
58230
- content: this.extractContent(response),
58231
- finishReason: mapOllamaFinishReason(response.done_reason),
58420
+ content,
58421
+ finishReason: hasToolCalls && rawFinishReason.unified !== "tool-calls" ? {
58422
+ unified: "tool-calls",
58423
+ raw: "tool_calls"
58424
+ } : rawFinishReason,
58232
58425
  usage: this.extractUsage(response),
58233
58426
  providerMetadata: { ollama: {} }
58234
58427
  };
@@ -58883,9 +59076,13 @@ var OllamaStreamProcessor = class {
58883
59076
  type: "reasoning-end",
58884
59077
  id: this.state.reasoningId
58885
59078
  });
59079
+ const correctedFinishReason = this.state.hasToolCalls && this.state.finishReason.unified !== "tool-calls" ? {
59080
+ unified: "tool-calls",
59081
+ raw: "tool_calls"
59082
+ } : this.state.finishReason;
58886
59083
  controller.enqueue({
58887
59084
  type: "finish",
58888
- finishReason: this.state.finishReason,
59085
+ finishReason: correctedFinishReason,
58889
59086
  usage: this.state.usage,
58890
59087
  providerMetadata: { ollama: { responseId: this.state.responseId } }
58891
59088
  });
@@ -59019,7 +59216,7 @@ function createOllama(options = {}) {
59019
59216
  }
59020
59217
  createOllama();
59021
59218
  //#endregion
59022
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/core/symbols.js
59219
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/symbols.js
59023
59220
  var require_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59024
59221
  module.exports = {
59025
59222
  kClose: Symbol("close"),
@@ -59091,11 +59288,12 @@ var require_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59091
59288
  kPingInterval: Symbol("ping interval"),
59092
59289
  kNoProxyAgent: Symbol("no proxy agent"),
59093
59290
  kHttpProxyAgent: Symbol("http proxy agent"),
59094
- kHttpsProxyAgent: Symbol("https proxy agent")
59291
+ kHttpsProxyAgent: Symbol("https proxy agent"),
59292
+ kSocks5ProxyAgent: Symbol("socks5 proxy agent")
59095
59293
  };
59096
59294
  }));
59097
59295
  //#endregion
59098
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/util/timers.js
59296
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/timers.js
59099
59297
  var require_timers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59100
59298
  /**
59101
59299
  * This module offers an optimized timer implementation designed for scenarios
@@ -59376,7 +59574,7 @@ var require_timers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59376
59574
  };
59377
59575
  }));
59378
59576
  //#endregion
59379
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/core/errors.js
59577
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/errors.js
59380
59578
  var require_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59381
59579
  const kUndiciError = Symbol.for("undici.error.UND_ERR");
59382
59580
  var UndiciError = class extends Error {
@@ -59733,6 +59931,29 @@ var require_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59733
59931
  return true;
59734
59932
  }
59735
59933
  };
59934
+ var Socks5ProxyError = class extends UndiciError {
59935
+ constructor(message, code) {
59936
+ super(message);
59937
+ this.name = "Socks5ProxyError";
59938
+ this.message = message || "SOCKS5 proxy error";
59939
+ this.code = code || "UND_ERR_SOCKS5";
59940
+ }
59941
+ };
59942
+ const kMessageSizeExceededError = Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");
59943
+ var MessageSizeExceededError = class extends UndiciError {
59944
+ constructor(message) {
59945
+ super(message);
59946
+ this.name = "MessageSizeExceededError";
59947
+ this.message = message || "Max decompressed message size exceeded";
59948
+ this.code = "UND_ERR_WS_MESSAGE_SIZE_EXCEEDED";
59949
+ }
59950
+ static [Symbol.hasInstance](instance) {
59951
+ return instance && instance[kMessageSizeExceededError] === true;
59952
+ }
59953
+ get [kMessageSizeExceededError]() {
59954
+ return true;
59955
+ }
59956
+ };
59736
59957
  module.exports = {
59737
59958
  AbortError,
59738
59959
  HTTPParserError,
@@ -59756,11 +59977,13 @@ var require_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59756
59977
  RequestRetryError,
59757
59978
  ResponseError,
59758
59979
  SecureProxyConnectionError,
59759
- MaxOriginsReachedError
59980
+ MaxOriginsReachedError,
59981
+ Socks5ProxyError,
59982
+ MessageSizeExceededError
59760
59983
  };
59761
59984
  }));
59762
59985
  //#endregion
59763
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/core/constants.js
59986
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/constants.js
59764
59987
  var require_constants$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59765
59988
  /**
59766
59989
  * @see https://developer.mozilla.org/docs/Web/HTTP/Headers
@@ -59891,7 +60114,7 @@ var require_constants$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59891
60114
  };
59892
60115
  }));
59893
60116
  //#endregion
59894
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/core/tree.js
60117
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/tree.js
59895
60118
  var require_tree = /* @__PURE__ */ __commonJSMin(((exports, module) => {
59896
60119
  const { wellknownHeaderNames, headerNameLowerCasedRecord } = require_constants$5();
59897
60120
  var TstNode = class TstNode {
@@ -60009,13 +60232,13 @@ var require_tree = /* @__PURE__ */ __commonJSMin(((exports, module) => {
60009
60232
  };
60010
60233
  }));
60011
60234
  //#endregion
60012
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/core/util.js
60235
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/util.js
60013
60236
  var require_util$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
60014
60237
  const assert$33 = __require("node:assert");
60015
60238
  const { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
60016
60239
  const { IncomingMessage } = __require("node:http");
60017
60240
  const stream = __require("node:stream");
60018
- const net$2 = __require("node:net");
60241
+ const net$4 = __require("node:net");
60019
60242
  const { stringify } = __require("node:querystring");
60020
60243
  const { EventEmitter: EE$3 } = __require("node:events");
60021
60244
  const timers = require_timers();
@@ -60176,7 +60399,7 @@ var require_util$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
60176
60399
  if (!host) return null;
60177
60400
  assert$33(typeof host === "string");
60178
60401
  const servername = getHostname(host);
60179
- if (net$2.isIP(servername)) return "";
60402
+ if (net$4.isIP(servername)) return "";
60180
60403
  return servername;
60181
60404
  }
60182
60405
  /**
@@ -60203,6 +60426,18 @@ var require_util$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
60203
60426
  return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
60204
60427
  }
60205
60428
  /**
60429
+ * Checks whether an object has a safe Symbol.iterator — i.e. one that is
60430
+ * either own or inherited from a non-Object.prototype chain. This prevents
60431
+ * prototype-pollution attacks from injecting a fake iterator on
60432
+ * Object.prototype.
60433
+ * @param {object} obj
60434
+ * @returns {boolean}
60435
+ */
60436
+ function hasSafeIterator(obj) {
60437
+ const prototype = Object.getPrototypeOf(obj);
60438
+ return Object.prototype.hasOwnProperty.call(obj, Symbol.iterator) || prototype != null && prototype !== Object.prototype && typeof obj[Symbol.iterator] === "function";
60439
+ }
60440
+ /**
60206
60441
  * @param {Blob|Buffer|import ('stream').Stream} body
60207
60442
  * @returns {number|null}
60208
60443
  */
@@ -60874,6 +61109,7 @@ var require_util$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
60874
61109
  getServerName,
60875
61110
  isStream,
60876
61111
  isIterable,
61112
+ hasSafeIterator,
60877
61113
  isAsyncIterable,
60878
61114
  isDestroyed,
60879
61115
  headerNameToString,
@@ -60918,7 +61154,7 @@ var require_util$5 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
60918
61154
  };
60919
61155
  }));
60920
61156
  //#endregion
60921
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/util/stats.js
61157
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/stats.js
60922
61158
  var require_stats = /* @__PURE__ */ __commonJSMin(((exports, module) => {
60923
61159
  const { kConnected, kPending, kRunning, kSize, kFree, kQueued } = require_symbols();
60924
61160
  var ClientStats = class {
@@ -60945,7 +61181,7 @@ var require_stats = /* @__PURE__ */ __commonJSMin(((exports, module) => {
60945
61181
  };
60946
61182
  }));
60947
61183
  //#endregion
60948
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/core/diagnostics.js
61184
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/diagnostics.js
60949
61185
  var require_diagnostics = /* @__PURE__ */ __commonJSMin(((exports, module) => {
60950
61186
  const diagnosticsChannel$1 = __require("node:diagnostics_channel");
60951
61187
  const util$1 = __require("node:util");
@@ -61054,32 +61290,35 @@ var require_diagnostics = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61054
61290
  module.exports = { channels };
61055
61291
  }));
61056
61292
  //#endregion
61057
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/core/request.js
61293
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/request.js
61058
61294
  var require_request$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61059
61295
  const { InvalidArgumentError, NotSupportedError } = require_errors();
61060
61296
  const assert$32 = __require("node:assert");
61061
- const { isValidHTTPToken, isValidHeaderValue, isStream, destroy, isBuffer, isFormDataLike, isIterable, isBlobLike, serializePathWithQuery, assertRequestHandler, getServerName, normalizedMethodRecords, getProtocolFromUrlString } = require_util$5();
61297
+ const { isValidHTTPToken, isValidHeaderValue, isStream, destroy, isBuffer, isFormDataLike, isIterable, hasSafeIterator, isBlobLike, serializePathWithQuery, assertRequestHandler, getServerName, normalizedMethodRecords, getProtocolFromUrlString } = require_util$5();
61062
61298
  const { channels } = require_diagnostics();
61063
61299
  const { headerNameLowerCasedRecord } = require_constants$5();
61064
61300
  const invalidPathRegex = /[^\u0021-\u00ff]/;
61065
61301
  const kHandler = Symbol("handler");
61066
61302
  var Request = class {
61067
- constructor(origin, { path, method, body, headers, query, idempotent, blocking, upgrade, headersTimeout, bodyTimeout, reset, expectContinue, servername, throwOnError, maxRedirections }, handler) {
61303
+ constructor(origin, { path, method, body, headers, query, idempotent, blocking, upgrade, headersTimeout, bodyTimeout, reset, expectContinue, servername, throwOnError, maxRedirections, typeOfService }, handler) {
61068
61304
  if (typeof path !== "string") throw new InvalidArgumentError("path must be a string");
61069
61305
  else if (path[0] !== "/" && !(path.startsWith("http://") || path.startsWith("https://")) && method !== "CONNECT") throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
61070
61306
  else if (invalidPathRegex.test(path)) throw new InvalidArgumentError("invalid request path");
61071
61307
  if (typeof method !== "string") throw new InvalidArgumentError("method must be a string");
61072
61308
  else if (normalizedMethodRecords[method] === void 0 && !isValidHTTPToken(method)) throw new InvalidArgumentError("invalid request method");
61073
61309
  if (upgrade && typeof upgrade !== "string") throw new InvalidArgumentError("upgrade must be a string");
61310
+ if (upgrade && !isValidHeaderValue(upgrade)) throw new InvalidArgumentError("invalid upgrade header");
61074
61311
  if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) throw new InvalidArgumentError("invalid headersTimeout");
61075
61312
  if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError("invalid bodyTimeout");
61076
61313
  if (reset != null && typeof reset !== "boolean") throw new InvalidArgumentError("invalid reset");
61077
61314
  if (expectContinue != null && typeof expectContinue !== "boolean") throw new InvalidArgumentError("invalid expectContinue");
61078
61315
  if (throwOnError != null) throw new InvalidArgumentError("invalid throwOnError");
61079
61316
  if (maxRedirections != null && maxRedirections !== 0) throw new InvalidArgumentError("maxRedirections is not supported, use the redirect interceptor");
61317
+ if (typeOfService != null && (!Number.isInteger(typeOfService) || typeOfService < 0 || typeOfService > 255)) throw new InvalidArgumentError("typeOfService must be an integer between 0 and 255");
61080
61318
  this.headersTimeout = headersTimeout;
61081
61319
  this.bodyTimeout = bodyTimeout;
61082
61320
  this.method = method;
61321
+ this.typeOfService = typeOfService ?? 0;
61083
61322
  this.abort = null;
61084
61323
  if (body == null) this.body = null;
61085
61324
  else if (isStream(body)) {
@@ -61119,7 +61358,7 @@ var require_request$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61119
61358
  if (Array.isArray(headers)) {
61120
61359
  if (headers.length % 2 !== 0) throw new InvalidArgumentError("headers array must be even");
61121
61360
  for (let i = 0; i < headers.length; i += 2) processHeader(this, headers[i], headers[i + 1]);
61122
- } else if (headers && typeof headers === "object") if (headers[Symbol.iterator]) for (const header of headers) {
61361
+ } else if (headers && typeof headers === "object") if (hasSafeIterator(headers)) for (const header of headers) {
61123
61362
  if (!Array.isArray(header) || header.length !== 2) throw new InvalidArgumentError("headers must be in key-value pair format");
61124
61363
  processHeader(this, header[0], header[1]);
61125
61364
  }
@@ -61261,10 +61500,12 @@ var require_request$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61261
61500
  if (!isValidHeaderValue(val)) throw new InvalidArgumentError(`invalid ${key} header`);
61262
61501
  } else if (val === null) val = "";
61263
61502
  else val = `${val}`;
61264
- if (request.host === null && headerName === "host") {
61503
+ if (headerName === "host") {
61504
+ if (request.host !== null) throw new InvalidArgumentError("duplicate host header");
61265
61505
  if (typeof val !== "string") throw new InvalidArgumentError("invalid host header");
61266
61506
  request.host = val;
61267
- } else if (request.contentLength === null && headerName === "content-length") {
61507
+ } else if (headerName === "content-length") {
61508
+ if (request.contentLength !== null) throw new InvalidArgumentError("duplicate content-length header");
61268
61509
  request.contentLength = parseInt(val, 10);
61269
61510
  if (!Number.isFinite(request.contentLength)) throw new InvalidArgumentError("invalid content-length header");
61270
61511
  } else if (request.contentType === null && headerName === "content-type") {
@@ -61281,7 +61522,7 @@ var require_request$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61281
61522
  module.exports = Request;
61282
61523
  }));
61283
61524
  //#endregion
61284
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/handler/wrap-handler.js
61525
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/wrap-handler.js
61285
61526
  var require_wrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61286
61527
  const { InvalidArgumentError } = require_errors();
61287
61528
  module.exports = class WrapHandler {
@@ -61295,6 +61536,9 @@ var require_wrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61295
61536
  onConnect(abort, context) {
61296
61537
  return this.#handler.onConnect?.(abort, context);
61297
61538
  }
61539
+ onResponseStarted() {
61540
+ return this.#handler.onResponseStarted?.();
61541
+ }
61298
61542
  onHeaders(statusCode, rawHeaders, resume, statusMessage) {
61299
61543
  return this.#handler.onHeaders?.(statusCode, rawHeaders, resume, statusMessage);
61300
61544
  }
@@ -61316,12 +61560,12 @@ var require_wrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61316
61560
  }
61317
61561
  onRequestUpgrade(controller, statusCode, headers, socket) {
61318
61562
  const rawHeaders = [];
61319
- for (const [key, val] of Object.entries(headers)) rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
61563
+ for (const [key, val] of Object.entries(headers)) rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
61320
61564
  this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
61321
61565
  }
61322
61566
  onResponseStart(controller, statusCode, headers, statusMessage) {
61323
61567
  const rawHeaders = [];
61324
- for (const [key, val] of Object.entries(headers)) rawHeaders.push(Buffer.from(key), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
61568
+ for (const [key, val] of Object.entries(headers)) rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
61325
61569
  if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) controller.pause();
61326
61570
  }
61327
61571
  onResponseData(controller, data) {
@@ -61329,7 +61573,7 @@ var require_wrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61329
61573
  }
61330
61574
  onResponseEnd(controller, trailers) {
61331
61575
  const rawTrailers = [];
61332
- for (const [key, val] of Object.entries(trailers)) rawTrailers.push(Buffer.from(key), Array.isArray(val) ? val.map((v) => Buffer.from(v)) : Buffer.from(val));
61576
+ for (const [key, val] of Object.entries(trailers)) rawTrailers.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
61333
61577
  this.#handler.onComplete?.(rawTrailers);
61334
61578
  }
61335
61579
  onResponseError(controller, err) {
@@ -61337,14 +61581,17 @@ var require_wrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61337
61581
  this.#handler.onError?.(err);
61338
61582
  }
61339
61583
  };
61584
+ function toRawHeaderValue(value) {
61585
+ return Array.isArray(value) ? value.map((item) => Buffer.from(item, "latin1")) : Buffer.from(value, "latin1");
61586
+ }
61340
61587
  }));
61341
61588
  //#endregion
61342
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/dispatcher.js
61589
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/dispatcher.js
61343
61590
  var require_dispatcher = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61344
- const EventEmitter$2 = __require("node:events");
61591
+ const EventEmitter$3 = __require("node:events");
61345
61592
  const WrapHandler = require_wrap_handler();
61346
61593
  const wrapInterceptor = (dispatch) => (opts, handler) => dispatch(opts, WrapHandler.wrap(handler));
61347
- var Dispatcher = class extends EventEmitter$2 {
61594
+ var Dispatcher = class extends EventEmitter$3 {
61348
61595
  dispatch() {
61349
61596
  throw new Error("not implemented");
61350
61597
  }
@@ -61370,7 +61617,7 @@ var require_dispatcher = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61370
61617
  module.exports = Dispatcher;
61371
61618
  }));
61372
61619
  //#endregion
61373
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/handler/unwrap-handler.js
61620
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/unwrap-handler.js
61374
61621
  var require_unwrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61375
61622
  const { parseHeaders } = require_util$5();
61376
61623
  const { InvalidArgumentError } = require_errors();
@@ -61423,6 +61670,9 @@ var require_unwrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) =>
61423
61670
  this.#controller = new UnwrapController(abort);
61424
61671
  this.#handler.onRequestStart?.(this.#controller, context);
61425
61672
  }
61673
+ onResponseStarted() {
61674
+ return this.#handler.onResponseStarted?.();
61675
+ }
61426
61676
  onUpgrade(statusCode, rawHeaders, socket) {
61427
61677
  this.#handler.onRequestUpgrade?.(this.#controller, statusCode, parseHeaders(rawHeaders), socket);
61428
61678
  }
@@ -61445,7 +61695,7 @@ var require_unwrap_handler = /* @__PURE__ */ __commonJSMin(((exports, module) =>
61445
61695
  };
61446
61696
  }));
61447
61697
  //#endregion
61448
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/dispatcher-base.js
61698
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/dispatcher-base.js
61449
61699
  var require_dispatcher_base = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61450
61700
  const Dispatcher = require_dispatcher();
61451
61701
  const UnwrapHandler = require_unwrap_handler();
@@ -61542,9 +61792,9 @@ var require_dispatcher_base = /* @__PURE__ */ __commonJSMin(((exports, module) =
61542
61792
  module.exports = DispatcherBase;
61543
61793
  }));
61544
61794
  //#endregion
61545
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/core/connect.js
61795
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/connect.js
61546
61796
  var require_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61547
- const net$1 = __require("node:net");
61797
+ const net$3 = __require("node:net");
61548
61798
  const assert$31 = __require("node:assert");
61549
61799
  const util = require_util$5();
61550
61800
  const { InvalidArgumentError } = require_errors();
@@ -61604,7 +61854,7 @@ var require_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61604
61854
  } else {
61605
61855
  assert$31(!httpSocket, "httpSocket can only be sent on TLS update");
61606
61856
  port = port || 80;
61607
- socket = net$1.connect({
61857
+ socket = net$3.connect({
61608
61858
  highWaterMark: 64 * 1024,
61609
61859
  ...options,
61610
61860
  localAddress,
@@ -61643,7 +61893,7 @@ var require_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
61643
61893
  module.exports = buildConnector;
61644
61894
  }));
61645
61895
  //#endregion
61646
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/llhttp/utils.js
61896
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/llhttp/utils.js
61647
61897
  var require_utils = /* @__PURE__ */ __commonJSMin(((exports) => {
61648
61898
  Object.defineProperty(exports, "__esModule", { value: true });
61649
61899
  exports.enumToMap = enumToMap;
@@ -61656,7 +61906,7 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports) => {
61656
61906
  }
61657
61907
  }));
61658
61908
  //#endregion
61659
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/llhttp/constants.js
61909
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/llhttp/constants.js
61660
61910
  var require_constants$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
61661
61911
  Object.defineProperty(exports, "__esModule", { value: true });
61662
61912
  exports.SPECIAL_HEADERS = exports.MINOR = exports.MAJOR = exports.HTAB_SP_VCHAR_OBS_TEXT = exports.QUOTED_STRING = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.HEX = exports.URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.STATUSES_HTTP = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.HEADER_STATE = exports.FINISH = exports.STATUSES = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;
@@ -62242,27 +62492,27 @@ var require_constants$4 = /* @__PURE__ */ __commonJSMin(((exports) => {
62242
62492
  };
62243
62493
  }));
62244
62494
  //#endregion
62245
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/llhttp/llhttp-wasm.js
62495
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/llhttp/llhttp-wasm.js
62246
62496
  var require_llhttp_wasm = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62247
- const { Buffer: Buffer$3 } = __require("node:buffer");
62497
+ const { Buffer: Buffer$5 } = __require("node:buffer");
62248
62498
  const wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
62249
62499
  let wasmBuffer;
62250
62500
  Object.defineProperty(module, "exports", { get: () => {
62251
- return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer$3.from(wasmBase64, "base64");
62501
+ return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer$5.from(wasmBase64, "base64");
62252
62502
  } });
62253
62503
  }));
62254
62504
  //#endregion
62255
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
62505
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
62256
62506
  var require_llhttp_simd_wasm = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62257
- const { Buffer: Buffer$2 } = __require("node:buffer");
62507
+ const { Buffer: Buffer$4 } = __require("node:buffer");
62258
62508
  const wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkBIQIMoAILAkACQAJAIAEtAABBCmsOBAECAgACCyABQQFqIQEMAgsgAUEBaiEBDAELIAMtAC5BwABxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCPCICRQ0AIAMgAhEAACEACyAARQ2gASAAQRVGBEAgA0HZADYCHCADIAE2AhQgA0G3GjYCECADQRU2AgxBACECDJ8CCyADQQA2AhwgAyABNgIUIANBgA02AhAgA0EbNgIMQQAhAgyeAgsgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMnQILIAEgBEcEQCADQQw2AgggAyABNgIEQb8BIQIMhAILQdgBIQIMnAILIAEgBEYEQEHXASECDJwCCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEHBAGsOFQABAgNaBAUGWlpaBwgJCgsMDQ4PEFoLIAFBAWohAUH7ACECDJICCyABQQFqIQFB/AAhAgyRAgsgAUEBaiEBQYEBIQIMkAILIAFBAWohAUGFASECDI8CCyABQQFqIQFBhgEhAgyOAgsgAUEBaiEBQYkBIQIMjQILIAFBAWohAUGKASECDIwCCyABQQFqIQFBjQEhAgyLAgsgAUEBaiEBQZYBIQIMigILIAFBAWohAUGXASECDIkCCyABQQFqIQFBmAEhAgyIAgsgAUEBaiEBQaUBIQIMhwILIAFBAWohAUGmASECDIYCCyABQQFqIQFBrAEhAgyFAgsgAUEBaiEBQbQBIQIMhAILIAFBAWohAUG3ASECDIMCCyABQQFqIQFBvgEhAgyCAgsgASAERgRAQdYBIQIMmwILIAEtAABBzgBHDUggAUEBaiEBQb0BIQIMgQILIAEgBEYEQEHVASECDJoCCwJAAkACQCABLQAAQcIAaw4SAEpKSkpKSkpKSgFKSkpKSkoCSgsgAUEBaiEBQbgBIQIMggILIAFBAWohAUG7ASECDIECCyABQQFqIQFBvAEhAgyAAgtB1AEhAiABIARGDZgCIAMoAgAiACAEIAFraiEFIAEgAGtBB2ohBgJAA0AgAS0AACAAQajVAGotAABHDUUgAEEHRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJkCCyADQQA2AgAgBkEBaiEBQRsMRQsgASAERgRAQdMBIQIMmAILAkACQCABLQAAQckAaw4HAEdHR0dHAUcLIAFBAWohAUG5ASECDP8BCyABQQFqIQFBugEhAgz+AQtB0gEhAiABIARGDZYCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQabVAGotAABHDUMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJcCCyADQQA2AgAgBkEBaiEBQQ8MQwtB0QEhAiABIARGDZUCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQaTVAGotAABHDUIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYCCyADQQA2AgAgBkEBaiEBQSAMQgtB0AEhAiABIARGDZQCIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDUEgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJUCCyADQQA2AgAgBkEBaiEBQRIMQQsgASAERgRAQc8BIQIMlAILAkACQCABLQAAQcUAaw4OAENDQ0NDQ0NDQ0NDQwFDCyABQQFqIQFBtQEhAgz7AQsgAUEBaiEBQbYBIQIM+gELQc4BIQIgASAERg2SAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGe1QBqLQAARw0/IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyTAgsgA0EANgIAIAZBAWohAUEHDD8LQc0BIQIgASAERg2RAiADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGY1QBqLQAARw0+IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAySAgsgA0EANgIAIAZBAWohAUEoDD4LIAEgBEYEQEHMASECDJECCwJAAkACQCABLQAAQcUAaw4RAEFBQUFBQUFBQQFBQUFBQQJBCyABQQFqIQFBsQEhAgz5AQsgAUEBaiEBQbIBIQIM+AELIAFBAWohAUGzASECDPcBC0HLASECIAEgBEYNjwIgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBkdUAai0AAEcNPCAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMQQAhAgyPAQtB2QAhAgx1CyABIARHBEAgA0EONgIIIAMgATYCBEHYACECDHULQeoAIQIMjQELIAEgBEYEQEHpACECDI0BCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHXACECDHQLIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ16IANB6AA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAEgBEYEQEHnACECDIwBCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDXsgA0HmADYCHCADIAE2AhQgAyAANgIMQQAhAgyMAQtB1gAhAgxyCyABIARGBEBB5QAhAgyLAQtBACEAQQEhBUEBIQdBACECAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgAS0AAEEwaw4KCgkAAQIDBAUGCAsLQQIMBgtBAwwFC0EEDAQLQQUMAwtBBgwCC0EHDAELQQgLIQJBACEFQQAhBwwCC0EJIQJBASEAQQAhBUEAIQcMAQtBACEFQQEhAgsgAyACOgArIAFBAWohAQJAAkAgAy0ALkEQcQ0AAkACQAJAIAMtACoOAwEAAgQLIAdFDQMMAgsgAA0BDAILIAVFDQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ0CIANB4gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ19IANB4wA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5AA2AhwgAyABNgIUIAMgADYCDAyLAQtB1AAhAgxxCyADLQApQSJGDYYBQdMAIQIMcAtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsgAEUEQEHVACECDHALIABBFUcEQCADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgyJAQsgA0HhADYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDIgBCyABIARGBEBB4AAhAgyIAQsCQAJAAkACQAJAIAEtAABBCmsOBAEEBAAECyABQQFqIQEMAQsgAUEBaiEBIANBL2otAABBAXFFDQELQdIAIQIMcAsgA0EANgIcIAMgATYCFCADQbYRNgIQIANBCTYCDEEAIQIMiAELIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIcBCyABIARGBEBB3wAhAgyHAQsgAS0AAEEKRgRAIAFBAWohAQwJCyADLQAuQcAAcQ0IIANBADYCHCADIAE2AhQgA0G2ETYCECADQQI2AgxBACECDIYBCyABIARGBEBB3QAhAgyGAQsgAS0AACICQQ1GBEAgAUEBaiEBQdAAIQIMbQsgASEAIAJBCWsOBAUBAQUBCyAEIAEiAEYEQEHcACECDIUBCyAALQAAQQpHDQAgAEEBagwCC0EAIQIgA0EANgIcIAMgADYCFCADQcotNgIQIANBBzYCDAyDAQsgASAERgRAQdsAIQIMgwELAkAgAS0AAEEJaw4EAwAAAwALIAFBAWoLIQFBzgAhAgxoCyABIARGBEBB2gAhAgyBAQsgAS0AAEEJaw4EAAEBAAELQQAhAiADQQA2AhwgA0GaEjYCECADQQc2AgwgAyABQQFqNgIUDH8LIANBgBI7ASpBACEAAkAgAygCOCICRQ0AIAIoAjgiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HZADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDH4LQc0AIQIMZAsgA0EANgIcIAMgATYCFCADQckNNgIQIANBGjYCDEEAIQIMfAsgASAERgRAQdkAIQIMfAsgAS0AAEEgRw09IAFBAWohASADLQAuQQFxDT0gA0EANgIcIAMgATYCFCADQcIcNgIQIANBHjYCDEEAIQIMewsgASAERgRAQdgAIQIMewsCQAJAAkACQAJAIAEtAAAiAEEKaw4EAgMDAAELIAFBAWohAUEsIQIMZQsgAEE6Rw0BIANBADYCHCADIAE2AhQgA0HnETYCECADQQo2AgxBACECDH0LIAFBAWohASADQS9qLQAAQQFxRQ1zIAMtADJBgAFxRQRAIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsCQAJAIAAOFk1MSwEBAQEBAQEBAQEBAQEBAQEBAQABCyADQSk2AhwgAyABNgIUIANBrBk2AhAgA0EVNgIMQQAhAgx+CyADQQA2AhwgAyABNgIUIANB5Qs2AhAgA0ERNgIMQQAhAgx9C0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ1ZIABBFUcNASADQQU2AhwgAyABNgIUIANBmxs2AhAgA0EVNgIMQQAhAgx8C0HLACECDGILQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDHoLIAMgAy8BMkGAAXI7ATIMOwsgASAERwRAIANBETYCCCADIAE2AgRBygAhAgxgC0HXACECDHgLIAEgBEYEQEHWACECDHgLAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAQEBAQEBAQEBAQEBAAUBAQAIDQAsgAUEBaiEBQcYAIQIMYQsgAUEBaiEBQccAIQIMYAsgAUEBaiEBQcgAIQIMXwsgAUEBaiEBQckAIQIMXgtB1QAhAiAEIAEiAEYNdiAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcDQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQhBBCABQQVGDQoaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHYLQdQAIQIgBCABIgBGDXUgBCABayADKAIAIgFqIQYgACABa0EPaiEHA0AgAUGAyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0HQQMgAUEPRg0JGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAx1C0HTACECIAQgASIARg10IAQgAWsgAygCACIBaiEGIAAgAWtBDmohBwNAIAFB4scAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNBiABQQ5GDQcgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMdAtB0gAhAiAEIAEiAEYNcyAEIAFrIAMoAgAiAWohBSAAIAFrQQFqIQYDQCABQeDHAGotAAAgAC0AACIHQSByIAcgB0HBAGtB/wFxQRpJG0H/AXFHDQUgAUEBRg0CIAFBAWohASAEIABBAWoiAEcNAAsgAyAFNgIADHMLIAEgBEYEQEHRACECDHMLAkACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcUHuAGsOBwA5OTk5OQE5CyABQQFqIQFBwwAhAgxaCyABQQFqIQFBxAAhAgxZCyADQQA2AgAgBkEBaiEBQcUAIQIMWAtB0AAhAiAEIAEiAEYNcCAEIAFrIAMoAgAiAWohBiAAIAFrQQlqIQcDQCABQdbHAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQJBAiABQQlGDQQaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHALQc8AIQIgBCABIgBGDW8gBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUHQxwBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxvCyAAIQEgA0EANgIADDMLQQELOgAsIANBADYCACAHQQFqIQELQS0hAgxSCwJAA0AgAS0AAEHQxQBqLQAAQQFHDQEgBCABQQFqIgFHDQALQc0AIQIMawtBwgAhAgxRCyABIARGBEBBzAAhAgxqCyABLQAAQTpGBEAgAygCBCEAIANBADYCBCADIAAgARAwIgBFDTMgA0HLADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxqCyADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgxpCwJAAkAgAy0ALEECaw4CAAEnCyADQTNqLQAAQQJxRQ0mIAMtAC5BAnENJiADQQA2AhwgAyABNgIUIANBphQ2AhAgA0ELNgIMQQAhAgxpCyADLQAyQSBxRQ0lIAMtAC5BAnENJSADQQA2AhwgAyABNgIUIANBvRM2AhAgA0EPNgIMQQAhAgxoC0EAIQACQCADKAI4IgJFDQAgAigCSCICRQ0AIAMgAhEAACEACyAARQRAQcEAIQIMTwsgAEEVRwRAIANBADYCHCADIAE2AhQgA0GmDzYCECADQRw2AgxBACECDGgLIANBygA2AhwgAyABNgIUIANBhRw2AhAgA0EVNgIMQQAhAgxnCyABIARHBEAgASECA0AgBCACIgFrQRBOBEAgAUEQaiEC/Qz/////////////////////IAH9AAAAIg1BB/1sIA39DODg4ODg4ODg4ODg4ODg4OD9bv0MX19fX19fX19fX19fX19fX/0mIA39DAkJCQkJCQkJCQkJCQkJCQn9I/1Q/VL9ZEF/c2giAEEQRg0BIAAgAWohAQwYCyABIARGBEBBxAAhAgxpCyABLQAAQcDBAGotAABBAUcNFyAEIAFBAWoiAkcNAAtBxAAhAgxnC0HEACECDGYLIAEgBEcEQANAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXEiAEEJRg0AIABBIEYNAAJAAkACQAJAIABB4wBrDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTYhAgxSCyABQQFqIQFBNyECDFELIAFBAWohAUE4IQIMUAsMFQsgBCABQQFqIgFHDQALQTwhAgxmC0E8IQIMZQsgASAERgRAQcgAIQIMZQsgA0ESNgIIIAMgATYCBAJAAkACQAJAAkAgAy0ALEEBaw4EFAABAgkLIAMtADJBIHENA0HgASECDE8LAkAgAy8BMiIAQQhxRQ0AIAMtAChBAUcNACADLQAuQQhxRQ0CCyADIABB9/sDcUGABHI7ATIMCwsgAyADLwEyQRByOwEyDAQLIANBADYCBCADIAEgARAxIgAEQCADQcEANgIcIAMgADYCDCADIAFBAWo2AhRBACECDGYLIAFBAWohAQxYCyADQQA2AhwgAyABNgIUIANB9BM2AhAgA0EENgIMQQAhAgxkC0HHACECIAEgBEYNYyADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIABBwMUAai0AACABLQAAQSByRw0BIABBBkYNSiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAxkCyADQQA2AgAMBQsCQCABIARHBEADQCABLQAAQcDDAGotAAAiAEEBRwRAIABBAkcNAyABQQFqIQEMBQsgBCABQQFqIgFHDQALQcUAIQIMZAtBxQAhAgxjCwsgA0EAOgAsDAELQQshAgxHC0E/IQIMRgsCQAJAA0AgAS0AACIAQSBHBEACQCAAQQprDgQDBQUDAAsgAEEsRg0DDAQLIAQgAUEBaiIBRw0AC0HGACECDGALIANBCDoALAwOCyADLQAoQQFHDQIgAy0ALkEIcQ0CIAMoAgQhACADQQA2AgQgAyAAIAEQMSIABEAgA0HCADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxfCyABQQFqIQEMUAtBOyECDEQLAkADQCABLQAAIgBBIEcgAEEJR3ENASAEIAFBAWoiAUcNAAtBwwAhAgxdCwtBPCECDEILAkACQCABIARHBEADQCABLQAAIgBBIEcEQCAAQQprDgQDBAQDBAsgBCABQQFqIgFHDQALQT8hAgxdC0E/IQIMXAsgAyADLwEyQSByOwEyDAoLIAMoAgQhACADQQA2AgQgAyAAIAEQMSIARQ1OIANBPjYCHCADIAE2AhQgAyAANgIMQQAhAgxaCwJAIAEgBEcEQANAIAEtAABBwMMAai0AACIAQQFHBEAgAEECRg0DDAwLIAQgAUEBaiIBRw0AC0E3IQIMWwtBNyECDFoLIAFBAWohAQwEC0E7IQIgBCABIgBGDVggBCABayADKAIAIgFqIQYgACABa0EFaiEHAkADQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEFRgRAQQchAQw/CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxZCyADQQA2AgAgACEBDAULQTohAiAEIAEiAEYNVyAEIAFrIAMoAgAiAWohBiAAIAFrQQhqIQcCQANAIAFBtMEAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQhGBEBBBSEBDD4LIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFgLIANBADYCACAAIQEMBAtBOSECIAQgASIARg1WIAQgAWsgAygCACIBaiEGIAAgAWtBA2ohBwJAA0AgAUGwwQBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBA0YEQEEGIQEMPQsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMVwsgA0EANgIAIAAhAQwDCwJAA0AgAS0AACIAQSBHBEAgAEEKaw4EBwQEBwILIAQgAUEBaiIBRw0AC0E4IQIMVgsgAEEsRw0BIAFBAWohAEEBIQECQAJAAkACQAJAIAMtACxBBWsOBAMBAgQACyAAIQEMBAtBAiEBDAELQQQhAQsgA0EBOgAsIAMgAy8BMiABcjsBMiAAIQEMAQsgAyADLwEyQQhyOwEyIAAhAQtBPiECDDsLIANBADoALAtBOSECDDkLIAEgBEYEQEE2IQIMUgsCQAJAAkACQAJAIAEtAABBCmsOBAACAgECCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNAiADQTM2AhwgAyABNgIUIAMgADYCDEEAIQIMVQsgAygCBCEAIANBADYCBCADIAAgARAxIgBFBEAgAUEBaiEBDAYLIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxUCyADLQAuQQFxBEBB3wEhAgw7CyADKAIEIQAgA0EANgIEIAMgACABEDEiAA0BDEkLQTQhAgw5CyADQTU2AhwgAyABNgIUIAMgADYCDEEAIQIMUQtBNSECDDcLIANBL2otAABBAXENACADQQA2AhwgAyABNgIUIANB6xY2AhAgA0EZNgIMQQAhAgxPC0EzIQIMNQsgASAERgRAQTIhAgxOCwJAIAEtAABBCkYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZIXNgIQIANBAzYCDEEAIQIMTgtBMiECDDQLIAEgBEYEQEExIQIMTQsCQCABLQAAIgBBCUYNACAAQSBGDQBBASECAkAgAy0ALEEFaw4EBgQFAA0LIAMgAy8BMkEIcjsBMgwMCyADLQAuQQFxRQ0BIAMtACxBCEcNACADQQA6ACwLQT0hAgwyCyADQQA2AhwgAyABNgIUIANBwhY2AhAgA0EKNgIMQQAhAgxKC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyDAYLIAEgBEYEQEEwIQIMRwsgAS0AAEEKRgRAIAFBAWohAQwBCyADLQAuQQFxDQAgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMRgtBMCECDCwLIAFBAWohAUExIQIMKwsgASAERgRAQS8hAgxECyABLQAAIgBBCUcgAEEgR3FFBEAgAUEBaiEBIAMtAC5BAXENASADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgxEC0EBIQICQAJAAkACQAJAAkAgAy0ALEECaw4HBQQEAwECAAQLIAMgAy8BMkEIcjsBMgwDC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyC0EvIQIMKwsgA0EANgIcIAMgATYCFCADQYQTNgIQIANBCzYCDEEAIQIMQwtB4QEhAgwpCyABIARGBEBBLiECDEILIANBADYCBCADQRI2AgggAyABIAEQMSIADQELQS4hAgwnCyADQS02AhwgAyABNgIUIAMgADYCDEEAIQIMPwtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HYADYCHCADIAE2AhQgA0GzGzYCECADQRU2AgxBACECDD4LQcwAIQIMJAsgA0EANgIcIAMgATYCFCADQbMONgIQIANBHTYCDEEAIQIMPAsgASAERgRAQc4AIQIMPAsgAS0AACIAQSBGDQIgAEE6Rg0BCyADQQA6ACxBCSECDCELIAMoAgQhACADQQA2AgQgAyAAIAEQMCIADQEMAgsgAy0ALkEBcQRAQd4BIQIMIAsgAygCBCEAIANBADYCBCADIAAgARAwIgBFDQIgA0EqNgIcIAMgADYCDCADIAFBAWo2AhRBACECDDgLIANBywA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMNwsgAUEBaiEBQcAAIQIMHQsgAUEBaiEBDCwLIAEgBEYEQEErIQIMNQsCQCABLQAAQQpGBEAgAUEBaiEBDAELIAMtAC5BwABxRQ0GCyADLQAyQYABcQRAQQAhAAJAIAMoAjgiAkUNACACKAJcIgJFDQAgAyACEQAAIQALIABFDRIgAEEVRgRAIANBBTYCHCADIAE2AhQgA0GbGzYCECADQRU2AgxBACECDDYLIANBADYCHCADIAE2AhQgA0GQDjYCECADQRQ2AgxBACECDDULIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsgAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIANBAToAMAsgAiACLwEAQcAAcjsBAAtBKyECDBgLIANBKTYCHCADIAE2AhQgA0GsGTYCECADQRU2AgxBACECDDALIANBADYCHCADIAE2AhQgA0HlCzYCECADQRE2AgxBACECDC8LIANBADYCHCADIAE2AhQgA0GlCzYCECADQQI2AgxBACECDC4LQQEhByADLwEyIgVBCHFFBEAgAykDIEIAUiEHCwJAIAMtADAEQEEBIQAgAy0AKUEFRg0BIAVBwABxRSAHcUUNAQsCQCADLQAoIgJBAkYEQEEBIQAgAy8BNCIGQeUARg0CQQAhACAFQcAAcQ0CIAZB5ABGDQIgBkHmAGtBAkkNAiAGQcwBRg0CIAZBsAJGDQIMAQtBACEAIAVBwABxDQELQQIhACAFQQhxDQAgBUGABHEEQAJAIAJBAUcNACADLQAuQQpxDQBBBSEADAILQQQhAAwBCyAFQSBxRQRAIAMQNkEAR0ECdCEADAELQQBBAyADKQMgUBshAAsgAEEBaw4FAgAHAQMEC0ERIQIMEwsgA0EBOgAxDCkLQQAhAgJAIAMoAjgiAEUNACAAKAIwIgBFDQAgAyAAEQAAIQILIAJFDSYgAkEVRgRAIANBAzYCHCADIAE2AhQgA0HSGzYCECADQRU2AgxBACECDCsLQQAhAiADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMDCoLIANBADYCHCADIAE2AhQgA0H5IDYCECADQQ82AgxBACECDCkLQQAhAAJAIAMoAjgiAkUNACACKAIwIgJFDQAgAyACEQAAIQALIAANAQtBDiECDA4LIABBFUYEQCADQQI2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgwnCyADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMQQAhAgwmC0EqIQIMDAsgASAERwRAIANBCTYCCCADIAE2AgRBKSECDAwLQSYhAgwkCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMVARAQSUhAgwkCyADKAIEIQAgA0EANgIEIAMgACABIAynaiIBEDIiAEUNACADQQU2AhwgAyABNgIUIAMgADYCDEEAIQIMIwtBDyECDAkLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQTBrDjcXFgABAgMEBQYHFBQUFBQUFAgJCgsMDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUDg8QERITFAtCAiEKDBYLQgMhCgwVC0IEIQoMFAtCBSEKDBMLQgYhCgwSC0IHIQoMEQtCCCEKDBALQgkhCgwPC0IKIQoMDgtCCyEKDA0LQgwhCgwMC0INIQoMCwtCDiEKDAoLQg8hCgwJC0IKIQoMCAtCCyEKDAcLQgwhCgwGC0INIQoMBQtCDiEKDAQLQg8hCgwDCyADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMQQAhAgwhCyABIARGBEBBIiECDCELQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43FRQAAQIDBAUGBxYWFhYWFhYICQoLDA0WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg4PEBESExYLQgIhCgwUC0IDIQoMEwtCBCEKDBILQgUhCgwRC0IGIQoMEAtCByEKDA8LQgghCgwOC0IJIQoMDQtCCiEKDAwLQgshCgwLC0IMIQoMCgtCDSEKDAkLQg4hCgwIC0IPIQoMBwtCCiEKDAYLQgshCgwFC0IMIQoMBAtCDSEKDAMLQg4hCgwCC0IPIQoMAQtCASEKCyABQQFqIQEgAykDICILQv//////////D1gEQCADIAtCBIYgCoQ3AyAMAgsgA0EANgIcIAMgATYCFCADQbUJNgIQIANBDDYCDEEAIQIMHgtBJyECDAQLQSghAgwDCyADIAE6ACwgA0EANgIAIAdBAWohAUEMIQIMAgsgA0EANgIAIAZBAWohAUEKIQIMAQsgAUEBaiEBQQghAgwACwALQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBcLQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBYLQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBULQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDBQLQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDBMLQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBILQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBELQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBALQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDA8LQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDA4LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDA0LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDAwLQQAhAiADQQA2AhwgAyABNgIUIANBmRM2AhAgA0ELNgIMDAsLQQAhAiADQQA2AhwgAyABNgIUIANBnQk2AhAgA0ELNgIMDAoLQQAhAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMDAkLQQAhAiADQQA2AhwgAyABNgIUIANBsRA2AhAgA0EKNgIMDAgLQQAhAiADQQA2AhwgAyABNgIUIANBux02AhAgA0ECNgIMDAcLQQAhAiADQQA2AhwgAyABNgIUIANBlhY2AhAgA0ECNgIMDAYLQQAhAiADQQA2AhwgAyABNgIUIANB+Rg2AhAgA0ECNgIMDAULQQAhAiADQQA2AhwgAyABNgIUIANBxBg2AhAgA0ECNgIMDAQLIANBAjYCHCADIAE2AhQgA0GpHjYCECADQRY2AgxBACECDAMLQd4AIQIgASAERg0CIAlBCGohByADKAIAIQUCQAJAIAEgBEcEQCAFQZbIAGohCCAEIAVqIAFrIQYgBUF/c0EKaiIFIAFqIQADQCABLQAAIAgtAABHBEBBAiEIDAMLIAVFBEBBACEIIAAhAQwDCyAFQQFrIQUgCEEBaiEIIAQgAUEBaiIBRw0ACyAGIQUgBCEBCyAHQQE2AgAgAyAFNgIADAELIANBADYCACAHIAg2AgALIAcgATYCBCAJKAIMIQACQAJAIAkoAghBAWsOAgQBAAsgA0EANgIcIANBwh42AhAgA0EXNgIMIAMgAEEBajYCFEEAIQIMAwsgA0EANgIcIAMgADYCFCADQdceNgIQIANBCTYCDEEAIQIMAgsgASAERgRAQSghAgwCCyADQQk2AgggAyABNgIEQSchAgwBCyABIARGBEBBASECDAELA0ACQAJAAkAgAS0AAEEKaw4EAAEBAAELIAFBAWohAQwBCyABQQFqIQEgAy0ALkEgcQ0AQQAhAiADQQA2AhwgAyABNgIUIANBoSE2AhAgA0EFNgIMDAILQQEhAiABIARHDQALCyAJQRBqJAAgAkUEQCADKAIMIQAMAQsgAyACNgIcQQAhACADKAIEIgFFDQAgAyABIAQgAygCCBEBACIBRQ0AIAMgBDYCFCADIAE2AgwgASEACyAAC74CAQJ/IABBADoAACAAQeQAaiIBQQFrQQA6AAAgAEEAOgACIABBADoAASABQQNrQQA6AAAgAUECa0EAOgAAIABBADoAAyABQQRrQQA6AABBACAAa0EDcSIBIABqIgBBADYCAEHkACABa0F8cSICIABqIgFBBGtBADYCAAJAIAJBCUkNACAAQQA2AgggAEEANgIEIAFBCGtBADYCACABQQxrQQA2AgAgAkEZSQ0AIABBADYCGCAAQQA2AhQgAEEANgIQIABBADYCDCABQRBrQQA2AgAgAUEUa0EANgIAIAFBGGtBADYCACABQRxrQQA2AgAgAiAAQQRxQRhyIgJrIgFBIEkNACAAIAJqIQADQCAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgAEEgaiEAIAFBIGsiAUEfSw0ACwsLVgEBfwJAIAAoAgwNAAJAAkACQAJAIAAtADEOAwEAAwILIAAoAjgiAUUNACABKAIwIgFFDQAgACABEQAAIgENAwtBAA8LAAsgAEHKGTYCEEEOIQELIAELGgAgACgCDEUEQCAAQd4fNgIQIABBFTYCDAsLFAAgACgCDEEVRgRAIABBADYCDAsLFAAgACgCDEEWRgRAIABBADYCDAsLBwAgACgCDAsHACAAKAIQCwkAIAAgATYCEAsHACAAKAIUCysAAkAgAEEnTw0AQv//////CSAArYhCAYNQDQAgAEECdEHQOGooAgAPCwALFwAgAEEvTwRAAAsgAEECdEHsOWooAgALvwkBAX9B9C0hAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HqLA8LQZgmDwtB7TEPC0GgNw8LQckpDwtBtCkPC0GWLQ8LQesrDwtBojUPC0HbNA8LQeApDwtB4yQPC0HVJA8LQe4kDwtB5iUPC0HKNA8LQdA3DwtBqjUPC0H1LA8LQfYmDwtBgiIPC0HyMw8LQb4oDwtB5zcPC0HNIQ8LQcAhDwtBuCUPC0HLJQ8LQZYkDwtBjzQPC0HNNQ8LQd0qDwtB7jMPC0GcNA8LQZ4xDwtB9DUPC0HlIg8LQa8lDwtBmTEPC0GyNg8LQfk2DwtBxDIPC0HdLA8LQYIxDwtBwTEPC0GNNw8LQckkDwtB7DYPC0HnKg8LQcgjDwtB4iEPC0HJNw8LQaUiDwtBlCIPC0HbNg8LQd41DwtBhiYPC0G8Kw8LQYsyDwtBoCMPC0H2MA8LQYAsDwtBiSsPC0GkJg8LQfIjDwtBgSgPC0GrMg8LQesnDwtBwjYPC0GiJA8LQc8qDwtB3CMPC0GHJw8LQeQ0DwtBtyIPC0GtMQ8LQdUiDwtBrzQPC0HeJg8LQdYyDwtB9DQPC0GBOA8LQfQ3DwtBkjYPC0GdJw8LQYIpDwtBjSMPC0HXMQ8LQb01DwtBtDcPC0HYMA8LQbYnDwtBmjgPC0GnKg8LQcQnDwtBriMPC0H1Ig8LAAtByiYhAQsgAQsXACAAIAAvAS5B/v8DcSABQQBHcjsBLgsaACAAIAAvAS5B/f8DcSABQQBHQQF0cjsBLgsaACAAIAAvAS5B+/8DcSABQQBHQQJ0cjsBLgsaACAAIAAvAS5B9/8DcSABQQBHQQN0cjsBLgsaACAAIAAvAS5B7/8DcSABQQBHQQR0cjsBLgsaACAAIAAvAS5B3/8DcSABQQBHQQV0cjsBLgsaACAAIAAvAS5Bv/8DcSABQQBHQQZ0cjsBLgsaACAAIAAvAS5B//4DcSABQQBHQQd0cjsBLgsaACAAIAAvAS5B//0DcSABQQBHQQh0cjsBLgsaACAAIAAvAS5B//sDcSABQQBHQQl0cjsBLgs+AQJ/AkAgACgCOCIDRQ0AIAMoAgQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeESNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAggiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfwRNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAgwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQewKNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfoeNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQcsQNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhgiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQbcfNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQb8VNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQf4INgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQYwdNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeYVNgIQQRghBAsgBAs4ACAAAn8gAC8BMkEUcUEURgRAQQEgAC0AKEEBRg0BGiAALwE0QeUARgwBCyAALQApQQVGCzoAMAtZAQJ/AkAgAC0AKEEBRg0AIAAvATQiAUHkAGtB5ABJDQAgAUHMAUYNACABQbACRg0AIAAvATIiAEHAAHENAEEBIQIgAEGIBHFBgARGDQAgAEEocUUhAgsgAguMAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQAgAC8BMiIBQQJxRQ0BDAILIAAvATIiAUEBcUUNAQtBASECIAAtAChBAUYNACAALwE0IgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNACABQcAAcQ0AQQAhAiABQYgEcUGABEYNACABQShxQQBHIQILIAILcwAgAEEQav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAP0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEwav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEgav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEH9ATYCHAsGACAAEDoLmi0BC38jAEEQayIKJABB3NUAKAIAIglFBEBBnNkAKAIAIgVFBEBBqNkAQn83AgBBoNkAQoCAhICAgMAANwIAQZzZACAKQQhqQXBxQdiq1aoFcyIFNgIAQbDZAEEANgIAQYDZAEEANgIAC0GE2QBBwNkENgIAQdTVAEHA2QQ2AgBB6NUAIAU2AgBB5NUAQX82AgBBiNkAQcCmAzYCAANAIAFBgNYAaiABQfTVAGoiAjYCACACIAFB7NUAaiIDNgIAIAFB+NUAaiADNgIAIAFBiNYAaiABQfzVAGoiAzYCACADIAI2AgAgAUGQ1gBqIAFBhNYAaiICNgIAIAIgAzYCACABQYzWAGogAjYCACABQSBqIgFBgAJHDQALQczZBEGBpgM2AgBB4NUAQazZACgCADYCAEHQ1QBBgKYDNgIAQdzVAEHI2QQ2AgBBzP8HQTg2AgBByNkEIQkLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAU0EQEHE1QAoAgAiBkEQIABBE2pBcHEgAEELSRsiBEEDdiIAdiIBQQNxBEACQCABQQFxIAByQQFzIgJBA3QiAEHs1QBqIgEgAEH01QBqKAIAIgAoAggiA0YEQEHE1QAgBkF+IAJ3cTYCAAwBCyABIAM2AgggAyABNgIMCyAAQQhqIQEgACACQQN0IgJBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMEQtBzNUAKAIAIgggBE8NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgBBA3QiAkHs1QBqIgEgAkH01QBqKAIAIgIoAggiA0YEQEHE1QAgBkF+IAB3cSIGNgIADAELIAEgAzYCCCADIAE2AgwLIAIgBEEDcjYCBCAAQQN0IgAgBGshBSAAIAJqIAU2AgAgAiAEaiIEIAVBAXI2AgQgCARAIAhBeHFB7NUAaiEAQdjVACgCACEDAn9BASAIQQN2dCIBIAZxRQRAQcTVACABIAZyNgIAIAAMAQsgACgCCAsiASADNgIMIAAgAzYCCCADIAA2AgwgAyABNgIICyACQQhqIQFB2NUAIAQ2AgBBzNUAIAU2AgAMEQtByNUAKAIAIgtFDQEgC2hBAnRB9NcAaigCACIAKAIEQXhxIARrIQUgACECA0ACQCACKAIQIgFFBEAgAkEUaigCACIBRQ0BCyABKAIEQXhxIARrIgMgBUkhAiADIAUgAhshBSABIAAgAhshACABIQIMAQsLIAAoAhghCSAAKAIMIgMgAEcEQEHU1QAoAgAaIAMgACgCCCIBNgIIIAEgAzYCDAwQCyAAQRRqIgIoAgAiAUUEQCAAKAIQIgFFDQMgAEEQaiECCwNAIAIhByABIgNBFGoiAigCACIBDQAgA0EQaiECIAMoAhAiAQ0ACyAHQQA2AgAMDwtBfyEEIABBv39LDQAgAEETaiIBQXBxIQRByNUAKAIAIghFDQBBACAEayEFAkACQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEH01wBqKAIAIgJFBEBBACEBQQAhAwwBC0EAIQEgBEEZIAZBAXZrQQAgBkEfRxt0IQBBACEDA0ACQCACKAIEQXhxIARrIgcgBU8NACACIQMgByIFDQBBACEFIAIhAQwDCyABIAJBFGooAgAiByAHIAIgAEEddkEEcWpBEGooAgAiAkYbIAEgBxshASAAQQF0IQAgAg0ACwsgASADckUEQEEAIQNBAiAGdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB9NcAaigCACEBCyABRQ0BCwNAIAEoAgRBeHEgBGsiAiAFSSEAIAIgBSAAGyEFIAEgAyAAGyEDIAEoAhAiAAR/IAAFIAFBFGooAgALIgENAAsLIANFDQAgBUHM1QAoAgAgBGtPDQAgAygCGCEHIAMgAygCDCIARwRAQdTVACgCABogACADKAIIIgE2AgggASAANgIMDA4LIANBFGoiAigCACIBRQRAIAMoAhAiAUUNAyADQRBqIQILA0AgAiEGIAEiAEEUaiICKAIAIgENACAAQRBqIQIgACgCECIBDQALIAZBADYCAAwNC0HM1QAoAgAiAyAETwRAQdjVACgCACEBAkAgAyAEayICQRBPBEAgASAEaiIAIAJBAXI2AgQgASADaiACNgIAIAEgBEEDcjYCBAwBCyABIANBA3I2AgQgASADaiIAIAAoAgRBAXI2AgRBACEAQQAhAgtBzNUAIAI2AgBB2NUAIAA2AgAgAUEIaiEBDA8LQdDVACgCACIDIARLBEAgBCAJaiIAIAMgBGsiAUEBcjYCBEHc1QAgADYCAEHQ1QAgATYCACAJIARBA3I2AgQgCUEIaiEBDA8LQQAhASAEAn9BnNkAKAIABEBBpNkAKAIADAELQajZAEJ/NwIAQaDZAEKAgISAgIDAADcCAEGc2QAgCkEMakFwcUHYqtWqBXM2AgBBsNkAQQA2AgBBgNkAQQA2AgBBgIAECyIAIARBxwBqIgVqIgZBACAAayIHcSICTwRAQbTZAEEwNgIADA8LAkBB/NgAKAIAIgFFDQBB9NgAKAIAIgggAmohACAAIAFNIAAgCEtxDQBBACEBQbTZAEEwNgIADA8LQYDZAC0AAEEEcQ0EAkACQCAJBEBBhNkAIQEDQCABKAIAIgAgCU0EQCAAIAEoAgRqIAlLDQMLIAEoAggiAQ0ACwtBABA7IgBBf0YNBSACIQZBoNkAKAIAIgFBAWsiAyAAcQRAIAIgAGsgACADakEAIAFrcWohBgsgBCAGTw0FIAZB/v///wdLDQVB/NgAKAIAIgMEQEH02AAoAgAiByAGaiEBIAEgB00NBiABIANLDQYLIAYQOyIBIABHDQEMBwsgBiADayAHcSIGQf7///8HSw0EIAYQOyEAIAAgASgCACABKAIEakYNAyAAIQELAkAgBiAEQcgAak8NACABQX9GDQBBpNkAKAIAIgAgBSAGa2pBACAAa3EiAEH+////B0sEQCABIQAMBwsgABA7QX9HBEAgACAGaiEGIAEhAAwHC0EAIAZrEDsaDAQLIAEiAEF/Rw0FDAMLQQAhAwwMC0EAIQAMCgsgAEF/Rw0CC0GA2QBBgNkAKAIAQQRyNgIACyACQf7///8HSw0BIAIQOyEAQQAQOyEBIABBf0YNASABQX9GDQEgACABTw0BIAEgAGsiBiAEQThqTQ0BC0H02ABB9NgAKAIAIAZqIgE2AgBB+NgAKAIAIAFJBEBB+NgAIAE2AgALAkACQAJAQdzVACgCACICBEBBhNkAIQEDQCAAIAEoAgAiAyABKAIEIgVqRg0CIAEoAggiAQ0ACwwCC0HU1QAoAgAiAUEARyAAIAFPcUUEQEHU1QAgADYCAAtBACEBQYjZACAGNgIAQYTZACAANgIAQeTVAEF/NgIAQejVAEGc2QAoAgA2AgBBkNkAQQA2AgADQCABQYDWAGogAUH01QBqIgI2AgAgAiABQezVAGoiAzYCACABQfjVAGogAzYCACABQYjWAGogAUH81QBqIgM2AgAgAyACNgIAIAFBkNYAaiABQYTWAGoiAjYCACACIAM2AgAgAUGM1gBqIAI2AgAgAUEgaiIBQYACRw0AC0F4IABrQQ9xIgEgAGoiAiAGQThrIgMgAWsiAUEBcjYCBEHg1QBBrNkAKAIANgIAQdDVACABNgIAQdzVACACNgIAIAAgA2pBODYCBAwCCyAAIAJNDQAgAiADSQ0AIAEoAgxBCHENAEF4IAJrQQ9xIgAgAmoiA0HQ1QAoAgAgBmoiByAAayIAQQFyNgIEIAEgBSAGajYCBEHg1QBBrNkAKAIANgIAQdDVACAANgIAQdzVACADNgIAIAIgB2pBODYCBAwBCyAAQdTVACgCAEkEQEHU1QAgADYCAAsgACAGaiEDQYTZACEBAkACQAJAA0AgAyABKAIARwRAIAEoAggiAQ0BDAILCyABLQAMQQhxRQ0BC0GE2QAhAQNAIAEoAgAiAyACTQRAIAMgASgCBGoiBSACSw0DCyABKAIIIQEMAAsACyABIAA2AgAgASABKAIEIAZqNgIEIABBeCAAa0EPcWoiCSAEQQNyNgIEIANBeCADa0EPcWoiBiAEIAlqIgRrIQEgAiAGRgRAQdzVACAENgIAQdDVAEHQ1QAoAgAgAWoiADYCACAEIABBAXI2AgQMCAtB2NUAKAIAIAZGBEBB2NUAIAQ2AgBBzNUAQczVACgCACABaiIANgIAIAQgAEEBcjYCBCAAIARqIAA2AgAMCAsgBigCBCIFQQNxQQFHDQYgBUF4cSEIIAVB/wFNBEAgBUEDdiEDIAYoAggiACAGKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwHCyACIAA2AgggACACNgIMDAYLIAYoAhghByAGIAYoAgwiAEcEQCAAIAYoAggiAjYCCCACIAA2AgwMBQsgBkEUaiICKAIAIgVFBEAgBigCECIFRQ0EIAZBEGohAgsDQCACIQMgBSIAQRRqIgIoAgAiBQ0AIABBEGohAiAAKAIQIgUNAAsgA0EANgIADAQLQXggAGtBD3EiASAAaiIHIAZBOGsiAyABayIBQQFyNgIEIAAgA2pBODYCBCACIAVBNyAFa0EPcWpBP2siAyADIAJBEGpJGyIDQSM2AgRB4NUAQazZACgCADYCAEHQ1QAgATYCAEHc1QAgBzYCACADQRBqQYzZACkCADcCACADQYTZACkCADcCCEGM2QAgA0EIajYCAEGI2QAgBjYCAEGE2QAgADYCAEGQ2QBBADYCACADQSRqIQEDQCABQQc2AgAgBSABQQRqIgFLDQALIAIgA0YNACADIAMoAgRBfnE2AgQgAyADIAJrIgU2AgAgAiAFQQFyNgIEIAVB/wFNBEAgBUF4cUHs1QBqIQACf0HE1QAoAgAiAUEBIAVBA3Z0IgNxRQRAQcTVACABIANyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRB9NcAaiEAQcjVACgCACIDQQEgAXQiBnFFBEAgACACNgIAQcjVACADIAZyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhAwJAA0AgAyIAKAIEQXhxIAVGDQEgAUEddiEDIAFBAXQhASAAIANBBHFqQRBqIgYoAgAiAw0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIIC0HQ1QAoAgAiASAETQ0AQdzVACgCACIAIARqIgIgASAEayIBQQFyNgIEQdDVACABNgIAQdzVACACNgIAIAAgBEEDcjYCBCAAQQhqIQEMCAtBACEBQbTZAEEwNgIADAcLQQAhAAsgB0UNAAJAIAYoAhwiAkECdEH01wBqIgMoAgAgBkYEQCADIAA2AgAgAA0BQcjVAEHI1QAoAgBBfiACd3E2AgAMAgsgB0EQQRQgBygCECAGRhtqIAA2AgAgAEUNAQsgACAHNgIYIAYoAhAiAgRAIAAgAjYCECACIAA2AhgLIAZBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAhqIQEgBiAIaiIGKAIEIQULIAYgBUF+cTYCBCABIARqIAE2AgAgBCABQQFyNgIEIAFB/wFNBEAgAUF4cUHs1QBqIQACf0HE1QAoAgAiAkEBIAFBA3Z0IgFxRQRAQcTVACABIAJyNgIAIAAMAQsgACgCCAsiASAENgIMIAAgBDYCCCAEIAA2AgwgBCABNgIIDAELQR8hBSABQf///wdNBEAgAUEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEFCyAEIAU2AhwgBEIANwIQIAVBAnRB9NcAaiEAQcjVACgCACICQQEgBXQiA3FFBEAgACAENgIAQcjVACACIANyNgIAIAQgADYCGCAEIAQ2AgggBCAENgIMDAELIAFBGSAFQQF2a0EAIAVBH0cbdCEFIAAoAgAhAAJAA0AgACICKAIEQXhxIAFGDQEgBUEddiEAIAVBAXQhBSACIABBBHFqQRBqIgMoAgAiAA0ACyADIAQ2AgAgBCACNgIYIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAJQQhqIQEMAgsCQCAHRQ0AAkAgAygCHCIBQQJ0QfTXAGoiAigCACADRgRAIAIgADYCACAADQFByNUAIAhBfiABd3EiCDYCAAwCCyAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0BCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgBUEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBGoiAiAFQQFyNgIEIAMgBEEDcjYCBCACIAVqIAU2AgAgBUH/AU0EQCAFQXhxQezVAGohAAJ/QcTVACgCACIBQQEgBUEDdnQiBXFFBEBBxNUAIAEgBXI2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEH01wBqIQBBASABdCIEIAhxRQRAIAAgAjYCAEHI1QAgBCAIcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQQCQANAIAQiACgCBEF4cSAFRg0BIAFBHXYhBCABQQF0IQEgACAEQQRxakEQaiIGKAIAIgQNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAsgA0EIaiEBDAELAkAgCUUNAAJAIAAoAhwiAUECdEH01wBqIgIoAgAgAEYEQCACIAM2AgAgAw0BQcjVACALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAEYbaiADNgIAIANFDQELIAMgCTYCGCAAKAIQIgEEQCADIAE2AhAgASADNgIYCyAAQRRqKAIAIgFFDQAgA0EUaiABNgIAIAEgAzYCGAsCQCAFQQ9NBEAgACAEIAVqIgFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQsgACAEaiIHIAVBAXI2AgQgACAEQQNyNgIEIAUgB2ogBTYCACAIBEAgCEF4cUHs1QBqIQFB2NUAKAIAIQMCf0EBIAhBA3Z0IgIgBnFFBEBBxNUAIAIgBnI2AgAgAQwBCyABKAIICyICIAM2AgwgASADNgIIIAMgATYCDCADIAI2AggLQdjVACAHNgIAQczVACAFNgIACyAAQQhqIQELIApBEGokACABC0MAIABFBEA/AEEQdA8LAkAgAEH//wNxDQAgAEEASA0AIABBEHZAACIAQX9GBEBBtNkAQTA2AgBBfw8LIABBEHQPCwALC5lCIgBBgAgLDQEAAAAAAAAAAgAAAAMAQZgICwUEAAAABQBBqAgLCQYAAAAHAAAACABB5AgLwjJJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
62259
62509
  let wasmBuffer;
62260
62510
  Object.defineProperty(module, "exports", { get: () => {
62261
- return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer$2.from(wasmBase64, "base64");
62511
+ return wasmBuffer ? wasmBuffer : wasmBuffer = Buffer$4.from(wasmBase64, "base64");
62262
62512
  } });
62263
62513
  }));
62264
62514
  //#endregion
62265
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/fetch/constants.js
62515
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/constants.js
62266
62516
  var require_constants$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62267
62517
  const corsSafeListedMethods = [
62268
62518
  "GET",
@@ -62483,7 +62733,7 @@ var require_constants$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62483
62733
  };
62484
62734
  }));
62485
62735
  //#endregion
62486
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/fetch/global.js
62736
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/global.js
62487
62737
  var require_global$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62488
62738
  const globalOrigin = Symbol.for("undici.globalOrigin.1");
62489
62739
  function getGlobalOrigin() {
@@ -62514,7 +62764,7 @@ var require_global$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62514
62764
  };
62515
62765
  }));
62516
62766
  //#endregion
62517
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/encoding/index.js
62767
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/encoding/index.js
62518
62768
  var require_encoding = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62519
62769
  const textDecoder = new TextDecoder();
62520
62770
  /**
@@ -62529,7 +62779,7 @@ var require_encoding = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62529
62779
  module.exports = { utf8DecodeBytes };
62530
62780
  }));
62531
62781
  //#endregion
62532
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/infra/index.js
62782
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/infra/index.js
62533
62783
  var require_infra = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62534
62784
  const assert$30 = __require("node:assert");
62535
62785
  const { utf8DecodeBytes } = require_encoding();
@@ -62679,7 +62929,7 @@ var require_infra = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62679
62929
  };
62680
62930
  }));
62681
62931
  //#endregion
62682
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/fetch/data-url.js
62932
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/data-url.js
62683
62933
  var require_data_url = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62684
62934
  const assert$29 = __require("node:assert");
62685
62935
  const { forgivingBase64, collectASequenceOfCodePoints, collectASequenceOfCodePointsFast, isomorphicDecode, removeASCIIWhitespace, removeChars } = require_infra();
@@ -62920,7 +63170,7 @@ var require_data_url = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62920
63170
  };
62921
63171
  }));
62922
63172
  //#endregion
62923
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/util/runtime-features.js
63173
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/runtime-features.js
62924
63174
  var require_runtime_features = /* @__PURE__ */ __commonJSMin(((exports, module) => {
62925
63175
  /** @typedef {`node:${string}`} NodeModuleName */
62926
63176
  /** @type {Record<NodeModuleName, () => any>} */
@@ -63018,7 +63268,7 @@ var require_runtime_features = /* @__PURE__ */ __commonJSMin(((exports, module)
63018
63268
  module.exports.default = instance;
63019
63269
  }));
63020
63270
  //#endregion
63021
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/webidl/index.js
63271
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/webidl/index.js
63022
63272
  var require_webidl = /* @__PURE__ */ __commonJSMin(((exports, module) => {
63023
63273
  const assert$28 = __require("node:assert");
63024
63274
  const { types: types$1, inspect } = __require("node:util");
@@ -63272,6 +63522,7 @@ var require_webidl = /* @__PURE__ */ __commonJSMin(((exports, module) => {
63272
63522
  };
63273
63523
  };
63274
63524
  webidl.dictionaryConverter = function(converters) {
63525
+ converters.sort((a, b) => (a.key > b.key) - (a.key < b.key));
63275
63526
  return (dictionary, prefix, argument) => {
63276
63527
  const dict = {};
63277
63528
  if (dictionary != null && webidl.util.Type(dictionary) !== OBJECT) throw webidl.errors.exception({
@@ -63518,7 +63769,7 @@ var require_webidl = /* @__PURE__ */ __commonJSMin(((exports, module) => {
63518
63769
  module.exports = { webidl };
63519
63770
  }));
63520
63771
  //#endregion
63521
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/fetch/util.js
63772
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/util.js
63522
63773
  var require_util$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
63523
63774
  const { Transform: Transform$2 } = __require("node:stream");
63524
63775
  const zlib$1 = __require("node:zlib");
@@ -64307,7 +64558,7 @@ var require_util$4 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
64307
64558
  };
64308
64559
  }));
64309
64560
  //#endregion
64310
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/fetch/formdata.js
64561
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/formdata.js
64311
64562
  var require_formdata = /* @__PURE__ */ __commonJSMin(((exports, module) => {
64312
64563
  const { iteratorMixin } = require_util$4();
64313
64564
  const { kEnumerableProperty } = require_util$5();
@@ -64453,7 +64704,7 @@ var require_formdata = /* @__PURE__ */ __commonJSMin(((exports, module) => {
64453
64704
  };
64454
64705
  }));
64455
64706
  //#endregion
64456
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/fetch/formdata-parser.js
64707
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/formdata-parser.js
64457
64708
  var require_formdata_parser = /* @__PURE__ */ __commonJSMin(((exports, module) => {
64458
64709
  const { bufferToLowerCasedHeaderName } = require_util$5();
64459
64710
  const { HTTP_TOKEN_CODEPOINTS } = require_data_url();
@@ -64692,7 +64943,7 @@ var require_formdata_parser = /* @__PURE__ */ __commonJSMin(((exports, module) =
64692
64943
  };
64693
64944
  }));
64694
64945
  //#endregion
64695
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/util/promise.js
64946
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/promise.js
64696
64947
  var require_promise = /* @__PURE__ */ __commonJSMin(((exports, module) => {
64697
64948
  /**
64698
64949
  * @template {*} T
@@ -64720,7 +64971,7 @@ var require_promise = /* @__PURE__ */ __commonJSMin(((exports, module) => {
64720
64971
  module.exports = { createDeferredPromise };
64721
64972
  }));
64722
64973
  //#endregion
64723
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/fetch/body.js
64974
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/body.js
64724
64975
  var require_body = /* @__PURE__ */ __commonJSMin(((exports, module) => {
64725
64976
  const util = require_util$5();
64726
64977
  const { ReadableStreamFrom, readableStreamClose, fullyReadBody, extractMimeType } = require_util$4();
@@ -64978,7 +65229,7 @@ Content-Type: ${value.type || "application/octet-stream"}\r\n\r\n`);
64978
65229
  };
64979
65230
  }));
64980
65231
  //#endregion
64981
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/client-h1.js
65232
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/client-h1.js
64982
65233
  var require_client_h1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
64983
65234
  const assert$24 = __require("node:assert");
64984
65235
  const util = require_util$5();
@@ -65592,6 +65843,7 @@ var require_client_h1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
65592
65843
  if (reset != null) socket[kReset] = reset;
65593
65844
  if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) socket[kReset] = true;
65594
65845
  if (blocking) socket[kBlocking] = true;
65846
+ if (socket.setTypeOfService) socket.setTypeOfService(request.typeOfService);
65595
65847
  let header = `${method} ${path} HTTP/1.1\r\n`;
65596
65848
  if (typeof host === "string") header += `host: ${host}\r\n`;
65597
65849
  else header += client[kHostHeader];
@@ -65902,7 +66154,7 @@ var require_client_h1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
65902
66154
  module.exports = connectH1;
65903
66155
  }));
65904
66156
  //#endregion
65905
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/client-h2.js
66157
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/client-h2.js
65906
66158
  var require_client_h2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
65907
66159
  const assert$23 = __require("node:assert");
65908
66160
  const { pipeline: pipeline$4 } = __require("node:stream");
@@ -66286,9 +66538,10 @@ var require_client_h2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66286
66538
  return;
66287
66539
  }
66288
66540
  if (request.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) stream.pause();
66289
- });
66290
- stream.on("data", (chunk) => {
66291
- if (request.onData(chunk) === false) stream.pause();
66541
+ stream.on("data", (chunk) => {
66542
+ if (request.aborted || request.completed) return;
66543
+ if (request.onData(chunk) === false) stream.pause();
66544
+ });
66292
66545
  });
66293
66546
  stream.once("end", () => {
66294
66547
  stream.removeAllListeners("data");
@@ -66328,6 +66581,7 @@ var require_client_h2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66328
66581
  });
66329
66582
  stream.once("trailers", (trailers) => {
66330
66583
  if (request.aborted || request.completed) return;
66584
+ stream.removeAllListeners("data");
66331
66585
  request.onComplete(trailers);
66332
66586
  });
66333
66587
  return true;
@@ -66429,10 +66683,10 @@ var require_client_h2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66429
66683
  module.exports = connectH2;
66430
66684
  }));
66431
66685
  //#endregion
66432
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/client.js
66686
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/client.js
66433
66687
  var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66434
66688
  const assert$22 = __require("node:assert");
66435
- const net = __require("node:net");
66689
+ const net$2 = __require("node:net");
66436
66690
  const http = __require("node:http");
66437
66691
  const util = require_util$5();
66438
66692
  const { ClientStats } = require_stats();
@@ -66479,7 +66733,7 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66479
66733
  if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
66480
66734
  if (connect != null && typeof connect !== "function" && typeof connect !== "object") throw new InvalidArgumentError("connect must be a function or an object");
66481
66735
  if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
66482
- if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) throw new InvalidArgumentError("localAddress must be valid string IP address");
66736
+ if (localAddress != null && (typeof localAddress !== "string" || net$2.isIP(localAddress) === 0)) throw new InvalidArgumentError("localAddress must be valid string IP address");
66483
66737
  if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) throw new InvalidArgumentError("maxResponseSize must be a positive number");
66484
66738
  if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
66485
66739
  if (allowH2 != null && typeof allowH2 !== "boolean") throw new InvalidArgumentError("allowH2 must be a valid boolean value");
@@ -66502,6 +66756,13 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66502
66756
  } : void 0,
66503
66757
  ...connect
66504
66758
  });
66759
+ else if (socketPath != null) {
66760
+ const customConnect = connect;
66761
+ connect = (opts, callback) => customConnect({
66762
+ ...opts,
66763
+ socketPath
66764
+ }, callback);
66765
+ }
66505
66766
  this[kUrl] = util.parseOrigin(url);
66506
66767
  this[kConnector] = connect;
66507
66768
  this[kPipelining] = pipelining != null ? pipelining : 1;
@@ -66622,7 +66883,7 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66622
66883
  const idx = hostname.indexOf("]");
66623
66884
  assert$22(idx !== -1);
66624
66885
  const ip = hostname.substring(1, idx);
66625
- assert$22(net.isIPv6(ip));
66886
+ assert$22(net$2.isIPv6(ip));
66626
66887
  hostname = ip;
66627
66888
  }
66628
66889
  client[kConnecting] = true;
@@ -66760,6 +67021,7 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66760
67021
  if (client[kPending] === 0) return;
66761
67022
  if (client[kRunning] >= (getPipelining(client) || 1)) return;
66762
67023
  const request = client[kQueue][client[kPendingIdx]];
67024
+ if (request === null) return;
66763
67025
  if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) {
66764
67026
  if (client[kRunning] > 0) return;
66765
67027
  client[kServerName] = request.servername;
@@ -66782,7 +67044,7 @@ var require_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66782
67044
  module.exports = Client;
66783
67045
  }));
66784
67046
  //#endregion
66785
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/fixed-queue.js
67047
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/fixed-queue.js
66786
67048
  var require_fixed_queue = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66787
67049
  const kSize = 2048;
66788
67050
  const kMask = kSize - 1;
@@ -66854,7 +67116,7 @@ var require_fixed_queue = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66854
67116
  };
66855
67117
  }));
66856
67118
  //#endregion
66857
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/pool-base.js
67119
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/pool-base.js
66858
67120
  var require_pool_base = /* @__PURE__ */ __commonJSMin(((exports, module) => {
66859
67121
  const { PoolStats } = require_stats();
66860
67122
  const DispatcherBase = require_dispatcher_base();
@@ -67002,7 +67264,7 @@ var require_pool_base = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67002
67264
  };
67003
67265
  }));
67004
67266
  //#endregion
67005
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/pool.js
67267
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/pool.js
67006
67268
  var require_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67007
67269
  const { PoolBase, kClients, kNeedDrain, kAddClient, kGetDispatcher, kRemoveClient } = require_pool_base();
67008
67270
  const Client = require_client();
@@ -67040,7 +67302,8 @@ var require_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67040
67302
  ...util.deepClone(options),
67041
67303
  connect,
67042
67304
  allowH2,
67043
- clientTtl
67305
+ clientTtl,
67306
+ socketPath
67044
67307
  };
67045
67308
  this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
67046
67309
  this[kFactory] = factory;
@@ -67068,13 +67331,13 @@ var require_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67068
67331
  module.exports = Pool;
67069
67332
  }));
67070
67333
  //#endregion
67071
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/balanced-pool.js
67334
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/balanced-pool.js
67072
67335
  var require_balanced_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67073
67336
  const { BalancedPoolMissingUpstreamError, InvalidArgumentError } = require_errors();
67074
67337
  const { PoolBase, kClients, kNeedDrain, kAddClient, kRemoveClient, kGetDispatcher } = require_pool_base();
67075
67338
  const Pool = require_pool();
67076
67339
  const { kUrl } = require_symbols();
67077
- const { parseOrigin } = require_util$5();
67340
+ const util = require_util$5();
67078
67341
  const kFactory = Symbol("factory");
67079
67342
  const kOptions = Symbol("options");
67080
67343
  const kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor");
@@ -67107,7 +67370,8 @@ var require_balanced_pool = /* @__PURE__ */ __commonJSMin(((exports, module) =>
67107
67370
  constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) {
67108
67371
  if (typeof factory !== "function") throw new InvalidArgumentError("factory must be a function.");
67109
67372
  super();
67110
- this[kOptions] = opts;
67373
+ this[kOptions] = { ...util.deepClone(opts) };
67374
+ this[kOptions].interceptors = opts.interceptors ? { ...opts.interceptors } : void 0;
67111
67375
  this[kIndex] = -1;
67112
67376
  this[kCurrentWeight] = 0;
67113
67377
  this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
@@ -67118,9 +67382,9 @@ var require_balanced_pool = /* @__PURE__ */ __commonJSMin(((exports, module) =>
67118
67382
  this._updateBalancedPoolStats();
67119
67383
  }
67120
67384
  addUpstream(upstream) {
67121
- const upstreamOrigin = parseOrigin(upstream).origin;
67385
+ const upstreamOrigin = util.parseOrigin(upstream).origin;
67122
67386
  if (this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true)) return this;
67123
- const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]));
67387
+ const pool = this[kFactory](upstreamOrigin, this[kOptions]);
67124
67388
  this[kAddClient](pool);
67125
67389
  pool.on("connect", () => {
67126
67390
  pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
@@ -67146,13 +67410,13 @@ var require_balanced_pool = /* @__PURE__ */ __commonJSMin(((exports, module) =>
67146
67410
  this[kGreatestCommonDivisor] = result;
67147
67411
  }
67148
67412
  removeUpstream(upstream) {
67149
- const upstreamOrigin = parseOrigin(upstream).origin;
67413
+ const upstreamOrigin = util.parseOrigin(upstream).origin;
67150
67414
  const pool = this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true);
67151
67415
  if (pool) this[kRemoveClient](pool);
67152
67416
  return this;
67153
67417
  }
67154
67418
  getUpstream(upstream) {
67155
- const upstreamOrigin = parseOrigin(upstream).origin;
67419
+ const upstreamOrigin = util.parseOrigin(upstream).origin;
67156
67420
  return this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true);
67157
67421
  }
67158
67422
  get upstreams() {
@@ -67182,7 +67446,7 @@ var require_balanced_pool = /* @__PURE__ */ __commonJSMin(((exports, module) =>
67182
67446
  module.exports = BalancedPool;
67183
67447
  }));
67184
67448
  //#endregion
67185
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/round-robin-pool.js
67449
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/round-robin-pool.js
67186
67450
  var require_round_robin_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67187
67451
  const { PoolBase, kClients, kNeedDrain, kAddClient, kGetDispatcher, kRemoveClient } = require_pool_base();
67188
67452
  const Client = require_client();
@@ -67221,7 +67485,8 @@ var require_round_robin_pool = /* @__PURE__ */ __commonJSMin(((exports, module)
67221
67485
  ...util.deepClone(options),
67222
67486
  connect,
67223
67487
  allowH2,
67224
- clientTtl
67488
+ clientTtl,
67489
+ socketPath
67225
67490
  };
67226
67491
  this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
67227
67492
  this[kFactory] = factory;
@@ -67266,7 +67531,7 @@ var require_round_robin_pool = /* @__PURE__ */ __commonJSMin(((exports, module)
67266
67531
  module.exports = RoundRobinPool;
67267
67532
  }));
67268
67533
  //#endregion
67269
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/agent.js
67534
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/agent.js
67270
67535
  var require_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67271
67536
  const { InvalidArgumentError, MaxOriginsReachedError } = require_errors();
67272
67537
  const { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = require_symbols();
@@ -67376,7 +67641,598 @@ var require_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67376
67641
  module.exports = Agent;
67377
67642
  }));
67378
67643
  //#endregion
67379
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/proxy-agent.js
67644
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/socks5-utils.js
67645
+ var require_socks5_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67646
+ const { Buffer: Buffer$3 } = __require("node:buffer");
67647
+ const net$1 = __require("node:net");
67648
+ const { InvalidArgumentError } = require_errors();
67649
+ /**
67650
+ * Parse an address and determine its type
67651
+ * @param {string} address - The address to parse
67652
+ * @returns {{type: number, buffer: Buffer}} Address type and buffer
67653
+ */
67654
+ function parseAddress(address) {
67655
+ if (net$1.isIPv4(address)) {
67656
+ const parts = address.split(".").map(Number);
67657
+ return {
67658
+ type: 1,
67659
+ buffer: Buffer$3.from(parts)
67660
+ };
67661
+ }
67662
+ if (net$1.isIPv6(address)) return {
67663
+ type: 4,
67664
+ buffer: parseIPv6(address)
67665
+ };
67666
+ const domainBuffer = Buffer$3.from(address, "utf8");
67667
+ if (domainBuffer.length > 255) throw new InvalidArgumentError("Domain name too long (max 255 bytes)");
67668
+ return {
67669
+ type: 3,
67670
+ buffer: Buffer$3.concat([Buffer$3.from([domainBuffer.length]), domainBuffer])
67671
+ };
67672
+ }
67673
+ /**
67674
+ * Parse IPv6 address to buffer
67675
+ * @param {string} address - IPv6 address string
67676
+ * @returns {Buffer} 16-byte buffer
67677
+ */
67678
+ function parseIPv6(address) {
67679
+ const buffer = Buffer$3.alloc(16);
67680
+ const parts = address.split(":");
67681
+ let partIndex = 0;
67682
+ let bufferIndex = 0;
67683
+ const doubleColonIndex = address.indexOf("::");
67684
+ if (doubleColonIndex !== -1) {
67685
+ const skipParts = 8 - parts.filter((p) => p.length > 0).length;
67686
+ for (let i = 0; i < parts.length; i++) if (parts[i] === "" && i === doubleColonIndex / 3) bufferIndex += skipParts * 2;
67687
+ else if (parts[i] !== "") {
67688
+ const value = parseInt(parts[i], 16);
67689
+ buffer.writeUInt16BE(value, bufferIndex);
67690
+ bufferIndex += 2;
67691
+ }
67692
+ } else for (const part of parts) {
67693
+ if (part === "") continue;
67694
+ const value = parseInt(part, 16);
67695
+ buffer.writeUInt16BE(value, partIndex * 2);
67696
+ partIndex++;
67697
+ }
67698
+ return buffer;
67699
+ }
67700
+ /**
67701
+ * Build a SOCKS5 address buffer
67702
+ * @param {number} type - Address type (1=IPv4, 3=Domain, 4=IPv6)
67703
+ * @param {Buffer} addressBuffer - The address data
67704
+ * @param {number} port - Port number
67705
+ * @returns {Buffer} Complete address buffer including type, address, and port
67706
+ */
67707
+ function buildAddressBuffer(type, addressBuffer, port) {
67708
+ const portBuffer = Buffer$3.allocUnsafe(2);
67709
+ portBuffer.writeUInt16BE(port, 0);
67710
+ return Buffer$3.concat([
67711
+ Buffer$3.from([type]),
67712
+ addressBuffer,
67713
+ portBuffer
67714
+ ]);
67715
+ }
67716
+ /**
67717
+ * Parse address from SOCKS5 response
67718
+ * @param {Buffer} buffer - Buffer containing the address
67719
+ * @param {number} offset - Starting offset in buffer
67720
+ * @returns {{address: string, port: number, bytesRead: number}}
67721
+ */
67722
+ function parseResponseAddress(buffer, offset = 0) {
67723
+ if (buffer.length < offset + 1) throw new InvalidArgumentError("Buffer too small to contain address type");
67724
+ const addressType = buffer[offset];
67725
+ let address;
67726
+ let currentOffset = offset + 1;
67727
+ switch (addressType) {
67728
+ case 1:
67729
+ if (buffer.length < currentOffset + 6) throw new InvalidArgumentError("Buffer too small for IPv4 address");
67730
+ address = Array.from(buffer.subarray(currentOffset, currentOffset + 4)).join(".");
67731
+ currentOffset += 4;
67732
+ break;
67733
+ case 3: {
67734
+ if (buffer.length < currentOffset + 1) throw new InvalidArgumentError("Buffer too small for domain length");
67735
+ const domainLength = buffer[currentOffset];
67736
+ currentOffset += 1;
67737
+ if (buffer.length < currentOffset + domainLength + 2) throw new InvalidArgumentError("Buffer too small for domain address");
67738
+ address = buffer.subarray(currentOffset, currentOffset + domainLength).toString("utf8");
67739
+ currentOffset += domainLength;
67740
+ break;
67741
+ }
67742
+ case 4: {
67743
+ if (buffer.length < currentOffset + 18) throw new InvalidArgumentError("Buffer too small for IPv6 address");
67744
+ const parts = [];
67745
+ for (let i = 0; i < 8; i++) {
67746
+ const value = buffer.readUInt16BE(currentOffset + i * 2);
67747
+ parts.push(value.toString(16));
67748
+ }
67749
+ address = parts.join(":");
67750
+ currentOffset += 16;
67751
+ break;
67752
+ }
67753
+ default: throw new InvalidArgumentError(`Invalid address type: ${addressType}`);
67754
+ }
67755
+ if (buffer.length < currentOffset + 2) throw new InvalidArgumentError("Buffer too small for port");
67756
+ const port = buffer.readUInt16BE(currentOffset);
67757
+ currentOffset += 2;
67758
+ return {
67759
+ address,
67760
+ port,
67761
+ bytesRead: currentOffset - offset
67762
+ };
67763
+ }
67764
+ /**
67765
+ * Create error for SOCKS5 reply code
67766
+ * @param {number} replyCode - SOCKS5 reply code
67767
+ * @returns {Error} Appropriate error object
67768
+ */
67769
+ function createReplyError(replyCode) {
67770
+ const message = {
67771
+ 1: "General SOCKS server failure",
67772
+ 2: "Connection not allowed by ruleset",
67773
+ 3: "Network unreachable",
67774
+ 4: "Host unreachable",
67775
+ 5: "Connection refused",
67776
+ 6: "TTL expired",
67777
+ 7: "Command not supported",
67778
+ 8: "Address type not supported"
67779
+ }[replyCode] || `Unknown SOCKS5 error code: ${replyCode}`;
67780
+ const error = new Error(message);
67781
+ error.code = `SOCKS5_${replyCode}`;
67782
+ return error;
67783
+ }
67784
+ module.exports = {
67785
+ parseAddress,
67786
+ parseIPv6,
67787
+ buildAddressBuffer,
67788
+ parseResponseAddress,
67789
+ createReplyError
67790
+ };
67791
+ }));
67792
+ //#endregion
67793
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/core/socks5-client.js
67794
+ var require_socks5_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67795
+ const { EventEmitter: EventEmitter$2 } = __require("node:events");
67796
+ const { Buffer: Buffer$2 } = __require("node:buffer");
67797
+ const { InvalidArgumentError, Socks5ProxyError } = require_errors();
67798
+ const { debuglog: debuglog$1 } = __require("node:util");
67799
+ const { parseAddress } = require_socks5_utils();
67800
+ const debug = debuglog$1("undici:socks5");
67801
+ const SOCKS_VERSION = 5;
67802
+ const AUTH_METHODS = {
67803
+ NO_AUTH: 0,
67804
+ GSSAPI: 1,
67805
+ USERNAME_PASSWORD: 2,
67806
+ NO_ACCEPTABLE: 255
67807
+ };
67808
+ const COMMANDS = {
67809
+ CONNECT: 1,
67810
+ BIND: 2,
67811
+ UDP_ASSOCIATE: 3
67812
+ };
67813
+ const ADDRESS_TYPES = {
67814
+ IPV4: 1,
67815
+ DOMAIN: 3,
67816
+ IPV6: 4
67817
+ };
67818
+ const REPLY_CODES = {
67819
+ SUCCEEDED: 0,
67820
+ GENERAL_FAILURE: 1,
67821
+ CONNECTION_NOT_ALLOWED: 2,
67822
+ NETWORK_UNREACHABLE: 3,
67823
+ HOST_UNREACHABLE: 4,
67824
+ CONNECTION_REFUSED: 5,
67825
+ TTL_EXPIRED: 6,
67826
+ COMMAND_NOT_SUPPORTED: 7,
67827
+ ADDRESS_TYPE_NOT_SUPPORTED: 8
67828
+ };
67829
+ const STATES = {
67830
+ INITIAL: "initial",
67831
+ HANDSHAKING: "handshaking",
67832
+ AUTHENTICATING: "authenticating",
67833
+ CONNECTING: "connecting",
67834
+ CONNECTED: "connected",
67835
+ ERROR: "error",
67836
+ CLOSED: "closed"
67837
+ };
67838
+ /**
67839
+ * SOCKS5 client implementation
67840
+ * Handles SOCKS5 protocol negotiation and connection establishment
67841
+ */
67842
+ var Socks5Client = class extends EventEmitter$2 {
67843
+ constructor(socket, options = {}) {
67844
+ super();
67845
+ if (!socket) throw new InvalidArgumentError("socket is required");
67846
+ this.socket = socket;
67847
+ this.options = options;
67848
+ this.state = STATES.INITIAL;
67849
+ this.buffer = Buffer$2.alloc(0);
67850
+ this.authMethods = [];
67851
+ if (options.username && options.password) this.authMethods.push(AUTH_METHODS.USERNAME_PASSWORD);
67852
+ this.authMethods.push(AUTH_METHODS.NO_AUTH);
67853
+ this.socket.on("data", this.onData.bind(this));
67854
+ this.socket.on("error", this.onError.bind(this));
67855
+ this.socket.on("close", this.onClose.bind(this));
67856
+ }
67857
+ /**
67858
+ * Handle incoming data from the socket
67859
+ */
67860
+ onData(data) {
67861
+ debug("received data", data.length, "bytes in state", this.state);
67862
+ this.buffer = Buffer$2.concat([this.buffer, data]);
67863
+ try {
67864
+ switch (this.state) {
67865
+ case STATES.HANDSHAKING:
67866
+ this.handleHandshakeResponse();
67867
+ break;
67868
+ case STATES.AUTHENTICATING:
67869
+ this.handleAuthResponse();
67870
+ break;
67871
+ case STATES.CONNECTING:
67872
+ this.handleConnectResponse();
67873
+ break;
67874
+ }
67875
+ } catch (err) {
67876
+ this.onError(err);
67877
+ }
67878
+ }
67879
+ /**
67880
+ * Handle socket errors
67881
+ */
67882
+ onError(err) {
67883
+ debug("socket error", err);
67884
+ this.state = STATES.ERROR;
67885
+ this.emit("error", err);
67886
+ this.destroy();
67887
+ }
67888
+ /**
67889
+ * Handle socket close
67890
+ */
67891
+ onClose() {
67892
+ debug("socket closed");
67893
+ this.state = STATES.CLOSED;
67894
+ this.emit("close");
67895
+ }
67896
+ /**
67897
+ * Destroy the client and underlying socket
67898
+ */
67899
+ destroy() {
67900
+ if (this.socket && !this.socket.destroyed) this.socket.destroy();
67901
+ }
67902
+ /**
67903
+ * Start the SOCKS5 handshake
67904
+ */
67905
+ handshake() {
67906
+ if (this.state !== STATES.INITIAL) throw new InvalidArgumentError("Handshake already started");
67907
+ debug("starting handshake with", this.authMethods.length, "auth methods");
67908
+ this.state = STATES.HANDSHAKING;
67909
+ const request = Buffer$2.alloc(2 + this.authMethods.length);
67910
+ request[0] = SOCKS_VERSION;
67911
+ request[1] = this.authMethods.length;
67912
+ this.authMethods.forEach((method, i) => {
67913
+ request[2 + i] = method;
67914
+ });
67915
+ this.socket.write(request);
67916
+ }
67917
+ /**
67918
+ * Handle handshake response from server
67919
+ */
67920
+ handleHandshakeResponse() {
67921
+ if (this.buffer.length < 2) return;
67922
+ const version = this.buffer[0];
67923
+ const method = this.buffer[1];
67924
+ if (version !== SOCKS_VERSION) throw new Socks5ProxyError(`Invalid SOCKS version: ${version}`, "UND_ERR_SOCKS5_VERSION");
67925
+ if (method === AUTH_METHODS.NO_ACCEPTABLE) throw new Socks5ProxyError("No acceptable authentication method", "UND_ERR_SOCKS5_AUTH_REJECTED");
67926
+ this.buffer = this.buffer.subarray(2);
67927
+ debug("server selected auth method", method);
67928
+ if (method === AUTH_METHODS.NO_AUTH) this.emit("authenticated");
67929
+ else if (method === AUTH_METHODS.USERNAME_PASSWORD) {
67930
+ this.state = STATES.AUTHENTICATING;
67931
+ this.sendAuthRequest();
67932
+ } else throw new Socks5ProxyError(`Unsupported authentication method: ${method}`, "UND_ERR_SOCKS5_AUTH_METHOD");
67933
+ }
67934
+ /**
67935
+ * Send username/password authentication request
67936
+ */
67937
+ sendAuthRequest() {
67938
+ const { username, password } = this.options;
67939
+ if (!username || !password) throw new InvalidArgumentError("Username and password required for authentication");
67940
+ debug("sending username/password auth");
67941
+ const usernameBuffer = Buffer$2.from(username);
67942
+ const passwordBuffer = Buffer$2.from(password);
67943
+ if (usernameBuffer.length > 255 || passwordBuffer.length > 255) throw new InvalidArgumentError("Username or password too long");
67944
+ const request = Buffer$2.alloc(3 + usernameBuffer.length + passwordBuffer.length);
67945
+ request[0] = 1;
67946
+ request[1] = usernameBuffer.length;
67947
+ usernameBuffer.copy(request, 2);
67948
+ request[2 + usernameBuffer.length] = passwordBuffer.length;
67949
+ passwordBuffer.copy(request, 3 + usernameBuffer.length);
67950
+ this.socket.write(request);
67951
+ }
67952
+ /**
67953
+ * Handle authentication response
67954
+ */
67955
+ handleAuthResponse() {
67956
+ if (this.buffer.length < 2) return;
67957
+ const version = this.buffer[0];
67958
+ const status = this.buffer[1];
67959
+ if (version !== 1) throw new Socks5ProxyError(`Invalid auth sub-negotiation version: ${version}`, "UND_ERR_SOCKS5_AUTH_VERSION");
67960
+ if (status !== 0) throw new Socks5ProxyError("Authentication failed", "UND_ERR_SOCKS5_AUTH_FAILED");
67961
+ this.buffer = this.buffer.subarray(2);
67962
+ debug("authentication successful");
67963
+ this.emit("authenticated");
67964
+ }
67965
+ /**
67966
+ * Send CONNECT command
67967
+ * @param {string} address - Target address (IP or domain)
67968
+ * @param {number} port - Target port
67969
+ */
67970
+ connect(address, port) {
67971
+ if (this.state === STATES.CONNECTED) throw new InvalidArgumentError("Already connected");
67972
+ debug("connecting to", address, port);
67973
+ this.state = STATES.CONNECTING;
67974
+ const request = this.buildConnectRequest(COMMANDS.CONNECT, address, port);
67975
+ this.socket.write(request);
67976
+ }
67977
+ /**
67978
+ * Build a SOCKS5 request
67979
+ */
67980
+ buildConnectRequest(command, address, port) {
67981
+ const { type: addressType, buffer: addressBuffer } = parseAddress(address);
67982
+ const request = Buffer$2.alloc(4 + addressBuffer.length + 2);
67983
+ request[0] = SOCKS_VERSION;
67984
+ request[1] = command;
67985
+ request[2] = 0;
67986
+ request[3] = addressType;
67987
+ addressBuffer.copy(request, 4);
67988
+ request.writeUInt16BE(port, 4 + addressBuffer.length);
67989
+ return request;
67990
+ }
67991
+ /**
67992
+ * Handle CONNECT response
67993
+ */
67994
+ handleConnectResponse() {
67995
+ if (this.buffer.length < 4) return;
67996
+ const version = this.buffer[0];
67997
+ const reply = this.buffer[1];
67998
+ const addressType = this.buffer[3];
67999
+ if (version !== SOCKS_VERSION) throw new Socks5ProxyError(`Invalid SOCKS version in reply: ${version}`, "UND_ERR_SOCKS5_REPLY_VERSION");
68000
+ let responseLength = 4;
68001
+ if (addressType === ADDRESS_TYPES.IPV4) responseLength += 6;
68002
+ else if (addressType === ADDRESS_TYPES.DOMAIN) {
68003
+ if (this.buffer.length < 5) return;
68004
+ responseLength += 1 + this.buffer[4] + 2;
68005
+ } else if (addressType === ADDRESS_TYPES.IPV6) responseLength += 18;
68006
+ else throw new Socks5ProxyError(`Invalid address type in reply: ${addressType}`, "UND_ERR_SOCKS5_ADDR_TYPE");
68007
+ if (this.buffer.length < responseLength) return;
68008
+ if (reply !== REPLY_CODES.SUCCEEDED) throw new Socks5ProxyError(`SOCKS5 connection failed: ${this.getReplyErrorMessage(reply)}`, `UND_ERR_SOCKS5_REPLY_${reply}`);
68009
+ let boundAddress;
68010
+ let offset = 4;
68011
+ if (addressType === ADDRESS_TYPES.IPV4) {
68012
+ boundAddress = Array.from(this.buffer.subarray(offset, offset + 4)).join(".");
68013
+ offset += 4;
68014
+ } else if (addressType === ADDRESS_TYPES.DOMAIN) {
68015
+ const domainLength = this.buffer[offset];
68016
+ offset += 1;
68017
+ boundAddress = this.buffer.subarray(offset, offset + domainLength).toString();
68018
+ offset += domainLength;
68019
+ } else if (addressType === ADDRESS_TYPES.IPV6) {
68020
+ const parts = [];
68021
+ for (let i = 0; i < 8; i++) {
68022
+ const value = this.buffer.readUInt16BE(offset + i * 2);
68023
+ parts.push(value.toString(16));
68024
+ }
68025
+ boundAddress = parts.join(":");
68026
+ offset += 16;
68027
+ }
68028
+ const boundPort = this.buffer.readUInt16BE(offset);
68029
+ this.buffer = this.buffer.subarray(responseLength);
68030
+ this.state = STATES.CONNECTED;
68031
+ debug("connected, bound address:", boundAddress, "port:", boundPort);
68032
+ this.emit("connected", {
68033
+ address: boundAddress,
68034
+ port: boundPort
68035
+ });
68036
+ }
68037
+ /**
68038
+ * Get human-readable error message for reply code
68039
+ */
68040
+ getReplyErrorMessage(reply) {
68041
+ switch (reply) {
68042
+ case REPLY_CODES.GENERAL_FAILURE: return "General SOCKS server failure";
68043
+ case REPLY_CODES.CONNECTION_NOT_ALLOWED: return "Connection not allowed by ruleset";
68044
+ case REPLY_CODES.NETWORK_UNREACHABLE: return "Network unreachable";
68045
+ case REPLY_CODES.HOST_UNREACHABLE: return "Host unreachable";
68046
+ case REPLY_CODES.CONNECTION_REFUSED: return "Connection refused";
68047
+ case REPLY_CODES.TTL_EXPIRED: return "TTL expired";
68048
+ case REPLY_CODES.COMMAND_NOT_SUPPORTED: return "Command not supported";
68049
+ case REPLY_CODES.ADDRESS_TYPE_NOT_SUPPORTED: return "Address type not supported";
68050
+ default: return `Unknown error code: ${reply}`;
68051
+ }
68052
+ }
68053
+ };
68054
+ module.exports = {
68055
+ Socks5Client,
68056
+ AUTH_METHODS,
68057
+ COMMANDS,
68058
+ ADDRESS_TYPES,
68059
+ REPLY_CODES,
68060
+ STATES
68061
+ };
68062
+ }));
68063
+ //#endregion
68064
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js
68065
+ var require_socks5_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68066
+ const net = __require("node:net");
68067
+ const { URL: URL$1 } = __require("node:url");
68068
+ let tls;
68069
+ const DispatcherBase = require_dispatcher_base();
68070
+ const { InvalidArgumentError } = require_errors();
68071
+ const { Socks5Client } = require_socks5_client();
68072
+ const { kDispatch, kClose, kDestroy } = require_symbols();
68073
+ const Pool = require_pool();
68074
+ const buildConnector = require_connect();
68075
+ const { debuglog } = __require("node:util");
68076
+ const debug = debuglog("undici:socks5-proxy");
68077
+ const kProxyUrl = Symbol("proxy url");
68078
+ const kProxyHeaders = Symbol("proxy headers");
68079
+ const kProxyAuth = Symbol("proxy auth");
68080
+ const kPool = Symbol("pool");
68081
+ const kConnector = Symbol("connector");
68082
+ let experimentalWarningEmitted = false;
68083
+ /**
68084
+ * SOCKS5 proxy agent for dispatching requests through a SOCKS5 proxy
68085
+ */
68086
+ var Socks5ProxyAgent = class extends DispatcherBase {
68087
+ constructor(proxyUrl, options = {}) {
68088
+ super();
68089
+ if (!experimentalWarningEmitted) {
68090
+ process.emitWarning("SOCKS5 proxy support is experimental and subject to change", "ExperimentalWarning");
68091
+ experimentalWarningEmitted = true;
68092
+ }
68093
+ if (!proxyUrl) throw new InvalidArgumentError("Proxy URL is mandatory");
68094
+ const url = typeof proxyUrl === "string" ? new URL$1(proxyUrl) : proxyUrl;
68095
+ if (url.protocol !== "socks5:" && url.protocol !== "socks:") throw new InvalidArgumentError("Proxy URL must use socks5:// or socks:// protocol");
68096
+ this[kProxyUrl] = url;
68097
+ this[kProxyHeaders] = options.headers || {};
68098
+ this[kProxyAuth] = {
68099
+ username: options.username || (url.username ? decodeURIComponent(url.username) : null),
68100
+ password: options.password || (url.password ? decodeURIComponent(url.password) : null)
68101
+ };
68102
+ this[kConnector] = options.connect || buildConnector({
68103
+ ...options.proxyTls,
68104
+ servername: options.proxyTls?.servername || url.hostname
68105
+ });
68106
+ this[kPool] = null;
68107
+ }
68108
+ /**
68109
+ * Create a SOCKS5 connection to the proxy
68110
+ */
68111
+ async createSocks5Connection(targetHost, targetPort) {
68112
+ const proxyHost = this[kProxyUrl].hostname;
68113
+ const proxyPort = parseInt(this[kProxyUrl].port) || 1080;
68114
+ debug("creating SOCKS5 connection to", proxyHost, proxyPort);
68115
+ const socket = await new Promise((resolve, reject) => {
68116
+ const onConnect = () => {
68117
+ socket.removeListener("error", onError);
68118
+ resolve(socket);
68119
+ };
68120
+ const onError = (err) => {
68121
+ socket.removeListener("connect", onConnect);
68122
+ reject(err);
68123
+ };
68124
+ const socket = net.connect({
68125
+ host: proxyHost,
68126
+ port: proxyPort
68127
+ });
68128
+ socket.once("connect", onConnect);
68129
+ socket.once("error", onError);
68130
+ });
68131
+ const socks5Client = new Socks5Client(socket, this[kProxyAuth]);
68132
+ socks5Client.on("error", (err) => {
68133
+ debug("SOCKS5 error:", err);
68134
+ socket.destroy();
68135
+ });
68136
+ await socks5Client.handshake();
68137
+ await new Promise((resolve, reject) => {
68138
+ const timeout = setTimeout(() => {
68139
+ reject(/* @__PURE__ */ new Error("SOCKS5 authentication timeout"));
68140
+ }, 5e3);
68141
+ const onAuthenticated = () => {
68142
+ clearTimeout(timeout);
68143
+ socks5Client.removeListener("error", onError);
68144
+ resolve();
68145
+ };
68146
+ const onError = (err) => {
68147
+ clearTimeout(timeout);
68148
+ socks5Client.removeListener("authenticated", onAuthenticated);
68149
+ reject(err);
68150
+ };
68151
+ if (socks5Client.state === "authenticated") {
68152
+ clearTimeout(timeout);
68153
+ resolve();
68154
+ } else {
68155
+ socks5Client.once("authenticated", onAuthenticated);
68156
+ socks5Client.once("error", onError);
68157
+ }
68158
+ });
68159
+ await socks5Client.connect(targetHost, targetPort);
68160
+ await new Promise((resolve, reject) => {
68161
+ const timeout = setTimeout(() => {
68162
+ reject(/* @__PURE__ */ new Error("SOCKS5 connection timeout"));
68163
+ }, 5e3);
68164
+ const onConnected = (info) => {
68165
+ debug("SOCKS5 tunnel established to", targetHost, targetPort, "via", info);
68166
+ clearTimeout(timeout);
68167
+ socks5Client.removeListener("error", onError);
68168
+ resolve();
68169
+ };
68170
+ const onError = (err) => {
68171
+ clearTimeout(timeout);
68172
+ socks5Client.removeListener("connected", onConnected);
68173
+ reject(err);
68174
+ };
68175
+ socks5Client.once("connected", onConnected);
68176
+ socks5Client.once("error", onError);
68177
+ });
68178
+ return socket;
68179
+ }
68180
+ /**
68181
+ * Dispatch a request through the SOCKS5 proxy
68182
+ */
68183
+ async [kDispatch](opts, handler) {
68184
+ const { origin } = opts;
68185
+ debug("dispatching request to", origin, "via SOCKS5");
68186
+ try {
68187
+ if (!this[kPool] || this[kPool].destroyed || this[kPool].closed) this[kPool] = new Pool(origin, {
68188
+ pipelining: opts.pipelining,
68189
+ connections: opts.connections,
68190
+ connect: async (connectOpts, callback) => {
68191
+ try {
68192
+ const url = new URL$1(origin);
68193
+ const targetHost = url.hostname;
68194
+ const targetPort = parseInt(url.port) || (url.protocol === "https:" ? 443 : 80);
68195
+ debug("establishing SOCKS5 connection to", targetHost, targetPort);
68196
+ const socket = await this.createSocks5Connection(targetHost, targetPort);
68197
+ let finalSocket = socket;
68198
+ if (url.protocol === "https:") {
68199
+ if (!tls) tls = __require("node:tls");
68200
+ debug("upgrading to TLS");
68201
+ finalSocket = tls.connect({
68202
+ socket,
68203
+ servername: targetHost,
68204
+ ...connectOpts.tls || {}
68205
+ });
68206
+ await new Promise((resolve, reject) => {
68207
+ finalSocket.once("secureConnect", resolve);
68208
+ finalSocket.once("error", reject);
68209
+ });
68210
+ }
68211
+ callback(null, finalSocket);
68212
+ } catch (err) {
68213
+ debug("SOCKS5 connection error:", err);
68214
+ callback(err);
68215
+ }
68216
+ }
68217
+ });
68218
+ return this[kPool][kDispatch](opts, handler);
68219
+ } catch (err) {
68220
+ debug("dispatch error:", err);
68221
+ if (typeof handler.onError === "function") handler.onError(err);
68222
+ else throw err;
68223
+ }
68224
+ }
68225
+ async [kClose]() {
68226
+ if (this[kPool]) await this[kPool].close();
68227
+ }
68228
+ async [kDestroy](err) {
68229
+ if (this[kPool]) await this[kPool].destroy(err);
68230
+ }
68231
+ };
68232
+ module.exports = Socks5ProxyAgent;
68233
+ }));
68234
+ //#endregion
68235
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/proxy-agent.js
67380
68236
  var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67381
68237
  const { kProxy, kClose, kDestroy, kDispatch } = require_symbols();
67382
68238
  const Agent = require_agent();
@@ -67386,6 +68242,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67386
68242
  const buildConnector = require_connect();
67387
68243
  const Client = require_client();
67388
68244
  const { channels } = require_diagnostics();
68245
+ const Socks5ProxyAgent = require_socks5_proxy_agent();
67389
68246
  const kAgent = Symbol("proxy agent");
67390
68247
  const kClient = Symbol("proxy client");
67391
68248
  const kProxyHeaders = Symbol("proxy headers");
@@ -67467,6 +68324,14 @@ var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67467
68324
  const agentFactory = opts.factory || defaultAgentFactory;
67468
68325
  const factory = (origin, options) => {
67469
68326
  const { protocol } = new URL(origin);
68327
+ if (this[kProxy].protocol === "socks5:" || this[kProxy].protocol === "socks:") return new Socks5ProxyAgent(this[kProxy].uri, {
68328
+ headers: this[kProxyHeaders],
68329
+ connect,
68330
+ factory: agentFactory,
68331
+ username: opts.username || username,
68332
+ password: opts.password || password,
68333
+ proxyTls: opts.proxyTls
68334
+ });
67470
68335
  if (!this[kTunnelProxy] && protocol === "http:" && this[kProxy].protocol === "http:") return new Http1ProxyWrapper(this[kProxy].uri, {
67471
68336
  headers: this[kProxyHeaders],
67472
68337
  connect,
@@ -67474,11 +68339,16 @@ var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67474
68339
  });
67475
68340
  return agentFactory(origin, options);
67476
68341
  };
67477
- this[kClient] = clientFactory(url, { connect });
68342
+ if (protocol === "socks5:" || protocol === "socks:") this[kClient] = null;
68343
+ else this[kClient] = clientFactory(url, { connect });
67478
68344
  this[kAgent] = new Agent({
67479
68345
  ...opts,
67480
68346
  factory,
67481
68347
  connect: async (opts, callback) => {
68348
+ if (!this[kClient]) {
68349
+ callback(new InvalidArgumentError("Cannot establish tunnel connection without a proxy client"));
68350
+ return;
68351
+ }
67482
68352
  let requestedPath = opts.host;
67483
68353
  if (!opts.port) requestedPath += `:${defaultProtocolPort(opts.protocol)}`;
67484
68354
  try {
@@ -67545,10 +68415,14 @@ var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67545
68415
  else return new URL(opts.uri);
67546
68416
  }
67547
68417
  [kClose]() {
67548
- return Promise.all([this[kAgent].close(), this[kClient].close()]);
68418
+ const promises = [this[kAgent].close()];
68419
+ if (this[kClient]) promises.push(this[kClient].close());
68420
+ return Promise.all(promises);
67549
68421
  }
67550
68422
  [kDestroy]() {
67551
- return Promise.all([this[kAgent].destroy(), this[kClient].destroy()]);
68423
+ const promises = [this[kAgent].destroy()];
68424
+ if (this[kClient]) promises.push(this[kClient].destroy());
68425
+ return Promise.all(promises);
67552
68426
  }
67553
68427
  };
67554
68428
  /**
@@ -67578,7 +68452,7 @@ var require_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67578
68452
  module.exports = ProxyAgent;
67579
68453
  }));
67580
68454
  //#endregion
67581
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
68455
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
67582
68456
  var require_env_http_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67583
68457
  const DispatcherBase = require_dispatcher_base();
67584
68458
  const { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
@@ -67676,7 +68550,7 @@ var require_env_http_proxy_agent = /* @__PURE__ */ __commonJSMin(((exports, modu
67676
68550
  module.exports = EnvHttpProxyAgent;
67677
68551
  }));
67678
68552
  //#endregion
67679
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/handler/retry-handler.js
68553
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/retry-handler.js
67680
68554
  var require_retry_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67681
68555
  const assert$21 = __require("node:assert");
67682
68556
  const { kRetryHandlerDefaultRetry } = require_symbols();
@@ -67924,7 +68798,7 @@ var require_retry_handler = /* @__PURE__ */ __commonJSMin(((exports, module) =>
67924
68798
  };
67925
68799
  }));
67926
68800
  //#endregion
67927
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/retry-agent.js
68801
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/retry-agent.js
67928
68802
  var require_retry_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67929
68803
  const Dispatcher = require_dispatcher();
67930
68804
  const RetryHandler = require_retry_handler();
@@ -67956,7 +68830,7 @@ var require_retry_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67956
68830
  module.exports = RetryAgent;
67957
68831
  }));
67958
68832
  //#endregion
67959
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/dispatcher/h2c-client.js
68833
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/dispatcher/h2c-client.js
67960
68834
  var require_h2c_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67961
68835
  const { InvalidArgumentError } = require_errors();
67962
68836
  const Client = require_client();
@@ -67982,7 +68856,7 @@ var require_h2c_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67982
68856
  module.exports = H2CClient;
67983
68857
  }));
67984
68858
  //#endregion
67985
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/api/readable.js
68859
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/readable.js
67986
68860
  var require_readable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
67987
68861
  const assert$20 = __require("node:assert");
67988
68862
  const { Readable: Readable$3 } = __require("node:stream");
@@ -68395,7 +69269,7 @@ var require_readable = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68395
69269
  };
68396
69270
  }));
68397
69271
  //#endregion
68398
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/api/api-request.js
69272
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/api-request.js
68399
69273
  var require_api_request = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68400
69274
  const assert$19 = __require("node:assert");
68401
69275
  const { AsyncResource: AsyncResource$4 } = __require("node:async_hooks");
@@ -68544,7 +69418,7 @@ var require_api_request = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68544
69418
  module.exports.RequestHandler = RequestHandler;
68545
69419
  }));
68546
69420
  //#endregion
68547
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/api/abort-signal.js
69421
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/abort-signal.js
68548
69422
  var require_abort_signal = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68549
69423
  const { addAbortListener } = require_util$5();
68550
69424
  const { RequestAbortedError } = require_errors();
@@ -68583,7 +69457,7 @@ var require_abort_signal = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68583
69457
  };
68584
69458
  }));
68585
69459
  //#endregion
68586
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/api/api-stream.js
69460
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/api-stream.js
68587
69461
  var require_api_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68588
69462
  const assert$18 = __require("node:assert");
68589
69463
  const { finished: finished$1 } = __require("node:stream");
@@ -68713,7 +69587,7 @@ var require_api_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68713
69587
  module.exports = stream;
68714
69588
  }));
68715
69589
  //#endregion
68716
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/api/api-pipeline.js
69590
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/api-pipeline.js
68717
69591
  var require_api_pipeline = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68718
69592
  const { Readable: Readable$2, Duplex, PassThrough: PassThrough$1 } = __require("node:stream");
68719
69593
  const assert$17 = __require("node:assert");
@@ -68881,7 +69755,7 @@ var require_api_pipeline = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68881
69755
  module.exports = pipeline;
68882
69756
  }));
68883
69757
  //#endregion
68884
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/api/api-upgrade.js
69758
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/api-upgrade.js
68885
69759
  var require_api_upgrade = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68886
69760
  const { InvalidArgumentError, SocketError } = require_errors();
68887
69761
  const { AsyncResource: AsyncResource$1 } = __require("node:async_hooks");
@@ -68962,7 +69836,7 @@ var require_api_upgrade = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68962
69836
  module.exports = upgrade;
68963
69837
  }));
68964
69838
  //#endregion
68965
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/api/api-connect.js
69839
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/api-connect.js
68966
69840
  var require_api_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
68967
69841
  const assert$15 = __require("node:assert");
68968
69842
  const { AsyncResource } = __require("node:async_hooks");
@@ -69041,7 +69915,7 @@ var require_api_connect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69041
69915
  module.exports = connect;
69042
69916
  }));
69043
69917
  //#endregion
69044
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/api/index.js
69918
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/api/index.js
69045
69919
  var require_api = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69046
69920
  module.exports.request = require_api_request();
69047
69921
  module.exports.stream = require_api_stream();
@@ -69050,7 +69924,7 @@ var require_api = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69050
69924
  module.exports.connect = require_api_connect();
69051
69925
  }));
69052
69926
  //#endregion
69053
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/mock-errors.js
69927
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-errors.js
69054
69928
  var require_mock_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69055
69929
  const { UndiciError } = require_errors();
69056
69930
  const kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
@@ -69074,7 +69948,7 @@ var require_mock_errors = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69074
69948
  module.exports = { MockNotMatchedError };
69075
69949
  }));
69076
69950
  //#endregion
69077
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/mock-symbols.js
69951
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-symbols.js
69078
69952
  var require_mock_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69079
69953
  module.exports = {
69080
69954
  kAgent: Symbol("agent"),
@@ -69107,7 +69981,7 @@ var require_mock_symbols = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69107
69981
  };
69108
69982
  }));
69109
69983
  //#endregion
69110
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/mock-utils.js
69984
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-utils.js
69111
69985
  var require_mock_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69112
69986
  const { MockNotMatchedError } = require_mock_errors();
69113
69987
  const { kDispatches, kMockAgent, kOriginalDispatch, kOrigin, kGetNetConnect } = require_mock_symbols();
@@ -69396,7 +70270,7 @@ var require_mock_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69396
70270
  };
69397
70271
  }));
69398
70272
  //#endregion
69399
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/mock-interceptor.js
70273
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-interceptor.js
69400
70274
  var require_mock_interceptor = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69401
70275
  const { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
69402
70276
  const { kDispatches, kDispatchKey, kDefaultHeaders, kDefaultTrailers, kContentLength, kMockDispatch, kIgnoreTrailingSlash } = require_mock_symbols();
@@ -69537,7 +70411,7 @@ var require_mock_interceptor = /* @__PURE__ */ __commonJSMin(((exports, module)
69537
70411
  module.exports.MockScope = MockScope;
69538
70412
  }));
69539
70413
  //#endregion
69540
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/mock-client.js
70414
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-client.js
69541
70415
  var require_mock_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69542
70416
  const { promisify: promisify$2 } = __require("node:util");
69543
70417
  const Client = require_client();
@@ -69587,7 +70461,7 @@ var require_mock_client = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69587
70461
  module.exports = MockClient;
69588
70462
  }));
69589
70463
  //#endregion
69590
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/mock-call-history.js
70464
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-call-history.js
69591
70465
  var require_mock_call_history = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69592
70466
  const { kMockCallHistoryAddLog } = require_mock_symbols();
69593
70467
  const { InvalidArgumentError } = require_errors();
@@ -69741,7 +70615,7 @@ var require_mock_call_history = /* @__PURE__ */ __commonJSMin(((exports, module)
69741
70615
  module.exports.MockCallHistoryLog = MockCallHistoryLog;
69742
70616
  }));
69743
70617
  //#endregion
69744
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/mock-pool.js
70618
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-pool.js
69745
70619
  var require_mock_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69746
70620
  const { promisify: promisify$1 } = __require("node:util");
69747
70621
  const Pool = require_pool();
@@ -69791,7 +70665,7 @@ var require_mock_pool = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69791
70665
  module.exports = MockPool;
69792
70666
  }));
69793
70667
  //#endregion
69794
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/pending-interceptors-formatter.js
70668
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/pending-interceptors-formatter.js
69795
70669
  var require_pending_interceptors_formatter = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69796
70670
  const { Transform: Transform$1 } = __require("node:stream");
69797
70671
  const { Console } = __require("node:console");
@@ -69826,7 +70700,7 @@ var require_pending_interceptors_formatter = /* @__PURE__ */ __commonJSMin(((exp
69826
70700
  };
69827
70701
  }));
69828
70702
  //#endregion
69829
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/mock-agent.js
70703
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/mock-agent.js
69830
70704
  var require_mock_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69831
70705
  const { kClients } = require_symbols();
69832
70706
  const Agent = require_agent();
@@ -69966,7 +70840,7 @@ var require_mock_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69966
70840
  module.exports = MockAgent;
69967
70841
  }));
69968
70842
  //#endregion
69969
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/snapshot-utils.js
70843
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/snapshot-utils.js
69970
70844
  var require_snapshot_utils = /* @__PURE__ */ __commonJSMin(((exports, module) => {
69971
70845
  const { InvalidArgumentError } = require_errors();
69972
70846
  const { runtimeFeatures } = require_runtime_features();
@@ -70082,7 +70956,7 @@ var require_snapshot_utils = /* @__PURE__ */ __commonJSMin(((exports, module) =>
70082
70956
  };
70083
70957
  }));
70084
70958
  //#endregion
70085
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/snapshot-recorder.js
70959
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/snapshot-recorder.js
70086
70960
  var require_snapshot_recorder = /* @__PURE__ */ __commonJSMin(((exports, module) => {
70087
70961
  const { writeFile: writeFile$1, readFile: readFile$1, mkdir: mkdir$1 } = __require("node:fs/promises");
70088
70962
  const { dirname: dirname$1, resolve } = __require("node:path");
@@ -70500,7 +71374,7 @@ var require_snapshot_recorder = /* @__PURE__ */ __commonJSMin(((exports, module)
70500
71374
  };
70501
71375
  }));
70502
71376
  //#endregion
70503
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/mock/snapshot-agent.js
71377
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/mock/snapshot-agent.js
70504
71378
  var require_snapshot_agent = /* @__PURE__ */ __commonJSMin(((exports, module) => {
70505
71379
  const Agent = require_agent();
70506
71380
  const MockAgent = require_mock_agent();
@@ -70759,7 +71633,7 @@ var require_snapshot_agent = /* @__PURE__ */ __commonJSMin(((exports, module) =>
70759
71633
  module.exports = SnapshotAgent;
70760
71634
  }));
70761
71635
  //#endregion
70762
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/global.js
71636
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/global.js
70763
71637
  var require_global = /* @__PURE__ */ __commonJSMin(((exports, module) => {
70764
71638
  const globalDispatcher = Symbol.for("undici.globalDispatcher.1");
70765
71639
  const { InvalidArgumentError } = require_errors();
@@ -70795,7 +71669,7 @@ var require_global = /* @__PURE__ */ __commonJSMin(((exports, module) => {
70795
71669
  };
70796
71670
  }));
70797
71671
  //#endregion
70798
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/handler/decorator-handler.js
71672
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/decorator-handler.js
70799
71673
  var require_decorator_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
70800
71674
  const assert$14 = __require("node:assert");
70801
71675
  const WrapHandler = require_wrap_handler();
@@ -70848,7 +71722,7 @@ var require_decorator_handler = /* @__PURE__ */ __commonJSMin(((exports, module)
70848
71722
  };
70849
71723
  }));
70850
71724
  //#endregion
70851
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/handler/redirect-handler.js
71725
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/redirect-handler.js
70852
71726
  var require_redirect_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
70853
71727
  const util = require_util$5();
70854
71728
  const { kBodyUsed } = require_symbols();
@@ -70965,7 +71839,7 @@ var require_redirect_handler = /* @__PURE__ */ __commonJSMin(((exports, module)
70965
71839
  if (Array.isArray(headers)) {
70966
71840
  for (let i = 0; i < headers.length; i += 2) if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) ret.push(headers[i], headers[i + 1]);
70967
71841
  } else if (headers && typeof headers === "object") {
70968
- const entries = typeof headers[Symbol.iterator] === "function" ? headers : Object.entries(headers);
71842
+ const entries = util.hasSafeIterator(headers) ? headers : Object.entries(headers);
70969
71843
  for (const [key, value] of entries) if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) ret.push(key, value);
70970
71844
  } else assert$13(headers == null, "headers must be an object or an array");
70971
71845
  return ret;
@@ -70973,7 +71847,7 @@ var require_redirect_handler = /* @__PURE__ */ __commonJSMin(((exports, module)
70973
71847
  module.exports = RedirectHandler;
70974
71848
  }));
70975
71849
  //#endregion
70976
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/interceptor/redirect.js
71850
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/redirect.js
70977
71851
  var require_redirect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
70978
71852
  const RedirectHandler = require_redirect_handler();
70979
71853
  function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) {
@@ -70989,7 +71863,7 @@ var require_redirect = /* @__PURE__ */ __commonJSMin(((exports, module) => {
70989
71863
  module.exports = createRedirectInterceptor;
70990
71864
  }));
70991
71865
  //#endregion
70992
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/interceptor/response-error.js
71866
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/response-error.js
70993
71867
  var require_response_error = /* @__PURE__ */ __commonJSMin(((exports, module) => {
70994
71868
  const DecoratorHandler = require_decorator_handler();
70995
71869
  const { ResponseError } = require_errors();
@@ -71057,7 +71931,7 @@ var require_response_error = /* @__PURE__ */ __commonJSMin(((exports, module) =>
71057
71931
  };
71058
71932
  }));
71059
71933
  //#endregion
71060
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/interceptor/retry.js
71934
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/retry.js
71061
71935
  var require_retry = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71062
71936
  const RetryHandler = require_retry_handler();
71063
71937
  module.exports = (globalOpts) => {
@@ -71078,7 +71952,7 @@ var require_retry = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71078
71952
  };
71079
71953
  }));
71080
71954
  //#endregion
71081
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/interceptor/dump.js
71955
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/dump.js
71082
71956
  var require_dump = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71083
71957
  const { InvalidArgumentError, RequestAbortedError } = require_errors();
71084
71958
  const DecoratorHandler = require_decorator_handler();
@@ -71146,13 +72020,63 @@ var require_dump = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71146
72020
  module.exports = createDumpInterceptor;
71147
72021
  }));
71148
72022
  //#endregion
71149
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/interceptor/dns.js
72023
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/dns.js
71150
72024
  var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71151
72025
  const { isIP } = __require("node:net");
71152
72026
  const { lookup } = __require("node:dns");
71153
72027
  const DecoratorHandler = require_decorator_handler();
71154
72028
  const { InvalidArgumentError, InformationalError } = require_errors();
71155
72029
  const maxInt = Math.pow(2, 31) - 1;
72030
+ function hasSafeIterator(headers) {
72031
+ const prototype = Object.getPrototypeOf(headers);
72032
+ return Object.prototype.hasOwnProperty.call(headers, Symbol.iterator) || prototype != null && prototype !== Object.prototype && typeof headers[Symbol.iterator] === "function";
72033
+ }
72034
+ function isHostHeader(key) {
72035
+ return typeof key === "string" && key.toLowerCase() === "host";
72036
+ }
72037
+ function normalizeHeaders(headers) {
72038
+ if (headers == null) return null;
72039
+ if (Array.isArray(headers)) {
72040
+ if (headers.length === 0 || !Array.isArray(headers[0])) return headers;
72041
+ const normalized = [];
72042
+ for (const header of headers) if (Array.isArray(header) && header.length === 2) normalized.push(header[0], header[1]);
72043
+ else normalized.push(header);
72044
+ return normalized;
72045
+ }
72046
+ if (typeof headers === "object" && hasSafeIterator(headers)) {
72047
+ const normalized = [];
72048
+ for (const header of headers) if (Array.isArray(header) && header.length === 2) normalized.push(header[0], header[1]);
72049
+ else normalized.push(header);
72050
+ return normalized;
72051
+ }
72052
+ return headers;
72053
+ }
72054
+ function hasHostHeader(headers) {
72055
+ if (headers == null) return false;
72056
+ if (Array.isArray(headers)) {
72057
+ if (headers.length === 0) return false;
72058
+ for (let i = 0; i < headers.length; i += 2) if (isHostHeader(headers[i])) return true;
72059
+ return false;
72060
+ }
72061
+ if (typeof headers === "object") {
72062
+ for (const key in headers) if (isHostHeader(key)) return true;
72063
+ }
72064
+ return false;
72065
+ }
72066
+ function withHostHeader(host, headers) {
72067
+ const normalizedHeaders = normalizeHeaders(headers);
72068
+ if (hasHostHeader(normalizedHeaders)) return normalizedHeaders;
72069
+ if (Array.isArray(normalizedHeaders)) return [
72070
+ "host",
72071
+ host,
72072
+ ...normalizedHeaders
72073
+ ];
72074
+ if (normalizedHeaders && typeof normalizedHeaders === "object") return {
72075
+ host,
72076
+ ...normalizedHeaders
72077
+ };
72078
+ return { host };
72079
+ }
71156
72080
  var DNSStorage = class {
71157
72081
  #maxItems = 0;
71158
72082
  #records = /* @__PURE__ */ new Map();
@@ -71351,7 +72275,8 @@ var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71351
72275
  else port = "";
71352
72276
  const dispatchOpts = {
71353
72277
  ...this.#opts,
71354
- origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`
72278
+ origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`,
72279
+ headers: withHostHeader(this.#origin.host, this.#opts.headers)
71355
72280
  };
71356
72281
  this.#dispatch(dispatchOpts, this);
71357
72282
  return;
@@ -71399,10 +72324,7 @@ var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71399
72324
  ...origDispatchOpts,
71400
72325
  servername: origin.hostname,
71401
72326
  origin: newOrigin.origin,
71402
- headers: {
71403
- host: origin.host,
71404
- ...origDispatchOpts.headers
71405
- }
72327
+ headers: withHostHeader(origin.host, origDispatchOpts.headers)
71406
72328
  }, instance.getHandler({
71407
72329
  origin,
71408
72330
  dispatch,
@@ -71416,9 +72338,9 @@ var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71416
72338
  };
71417
72339
  }));
71418
72340
  //#endregion
71419
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/util/cache.js
72341
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/cache.js
71420
72342
  var require_cache$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71421
- const { safeHTTPMethods, pathHasQueryOrFragment } = require_util$5();
72343
+ const { safeHTTPMethods, pathHasQueryOrFragment, hasSafeIterator } = require_util$5();
71422
72344
  const { serializePathWithQuery } = require_util$5();
71423
72345
  /**
71424
72346
  * @param {import('../../types/dispatcher.d.ts').default.DispatchOptions} opts
@@ -71441,17 +72363,15 @@ var require_cache$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71441
72363
  function normalizeHeaders(opts) {
71442
72364
  let headers;
71443
72365
  if (opts.headers == null) headers = {};
71444
- else if (typeof opts.headers[Symbol.iterator] === "function") {
72366
+ else if (typeof opts.headers === "object") {
71445
72367
  headers = {};
71446
- for (const x of opts.headers) {
72368
+ if (hasSafeIterator(opts.headers)) for (const x of opts.headers) {
71447
72369
  if (!Array.isArray(x)) throw new Error("opts.headers is not a valid header map");
71448
72370
  const [key, val] = x;
71449
72371
  if (typeof key !== "string" || typeof val !== "string") throw new Error("opts.headers is not a valid header map");
71450
72372
  headers[key.toLowerCase()] = val;
71451
72373
  }
71452
- } else if (typeof opts.headers === "object") {
71453
- headers = {};
71454
- for (const key of Object.keys(opts.headers)) headers[key.toLowerCase()] = opts.headers[key];
72374
+ else for (const key of Object.keys(opts.headers)) headers[key.toLowerCase()] = opts.headers[key];
71455
72375
  } else throw new Error("opts.headers is not an object");
71456
72376
  return headers;
71457
72377
  }
@@ -71651,7 +72571,7 @@ var require_cache$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71651
72571
  };
71652
72572
  }));
71653
72573
  //#endregion
71654
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/util/date.js
72574
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/util/date.js
71655
72575
  var require_date = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71656
72576
  /**
71657
72577
  * @see https://www.rfc-editor.org/rfc/rfc9110.html#name-date-time-formats
@@ -71971,7 +72891,7 @@ var require_date = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71971
72891
  module.exports = { parseHttpDate };
71972
72892
  }));
71973
72893
  //#endregion
71974
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/handler/cache-handler.js
72894
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/cache-handler.js
71975
72895
  var require_cache_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
71976
72896
  const util = require_util$5();
71977
72897
  const { parseCacheControlHeader, parseVaryHeader, isEtagUsable } = require_cache$2();
@@ -72294,7 +73214,7 @@ var require_cache_handler = /* @__PURE__ */ __commonJSMin(((exports, module) =>
72294
73214
  module.exports = CacheHandler;
72295
73215
  }));
72296
73216
  //#endregion
72297
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/cache/memory-cache-store.js
73217
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/cache/memory-cache-store.js
72298
73218
  var require_memory_cache_store = /* @__PURE__ */ __commonJSMin(((exports, module) => {
72299
73219
  const { Writable: Writable$2 } = __require("node:stream");
72300
73220
  const { EventEmitter: EventEmitter$1 } = __require("node:events");
@@ -72460,7 +73380,7 @@ var require_memory_cache_store = /* @__PURE__ */ __commonJSMin(((exports, module
72460
73380
  module.exports = MemoryCacheStore;
72461
73381
  }));
72462
73382
  //#endregion
72463
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/handler/cache-revalidation-handler.js
73383
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/cache-revalidation-handler.js
72464
73384
  var require_cache_revalidation_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
72465
73385
  const assert$12 = __require("node:assert");
72466
73386
  /**
@@ -72539,7 +73459,7 @@ var require_cache_revalidation_handler = /* @__PURE__ */ __commonJSMin(((exports
72539
73459
  module.exports = CacheRevalidationHandler;
72540
73460
  }));
72541
73461
  //#endregion
72542
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/interceptor/cache.js
73462
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/cache.js
72543
73463
  var require_cache$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
72544
73464
  const assert$11 = __require("node:assert");
72545
73465
  const { Readable: Readable$1 } = __require("node:stream");
@@ -72805,7 +73725,7 @@ var require_cache$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
72805
73725
  };
72806
73726
  }));
72807
73727
  //#endregion
72808
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/interceptor/decompress.js
73728
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/decompress.js
72809
73729
  var require_decompress = /* @__PURE__ */ __commonJSMin(((exports, module) => {
72810
73730
  const { createInflate, createGunzip, createBrotliDecompress, createZstdDecompress } = __require("node:zlib");
72811
73731
  const { pipeline: pipeline$3 } = __require("node:stream");
@@ -73007,13 +73927,24 @@ var require_decompress = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73007
73927
  module.exports = createDecompressInterceptor;
73008
73928
  }));
73009
73929
  //#endregion
73010
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/handler/deduplication-handler.js
73930
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/handler/deduplication-handler.js
73011
73931
  var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73932
+ const { RequestAbortedError } = require_errors();
73012
73933
  /**
73013
73934
  * @typedef {import('../../types/dispatcher.d.ts').default.DispatchHandler} DispatchHandler
73014
73935
  */
73936
+ const DEFAULT_MAX_BUFFER_SIZE = 5 * 1024 * 1024;
73937
+ /**
73938
+ * @typedef {Object} WaitingHandler
73939
+ * @property {DispatchHandler} handler
73940
+ * @property {import('../../types/dispatcher.d.ts').default.DispatchController} controller
73941
+ * @property {Buffer[]} bufferedChunks
73942
+ * @property {number} bufferedBytes
73943
+ * @property {object | null} pendingTrailers
73944
+ * @property {boolean} done
73945
+ */
73015
73946
  /**
73016
- * Handler that buffers response data and notifies multiple waiting handlers.
73947
+ * Handler that forwards response events to multiple waiting handlers.
73017
73948
  * Used for request deduplication.
73018
73949
  *
73019
73950
  * @implements {DispatchHandler}
@@ -73024,13 +73955,13 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, mod
73024
73955
  */
73025
73956
  #primaryHandler;
73026
73957
  /**
73027
- * @type {DispatchHandler[]}
73958
+ * @type {WaitingHandler[]}
73028
73959
  */
73029
73960
  #waitingHandlers = [];
73030
73961
  /**
73031
- * @type {Buffer[]}
73962
+ * @type {number}
73032
73963
  */
73033
- #chunks = [];
73964
+ #maxBufferSize = DEFAULT_MAX_BUFFER_SIZE;
73034
73965
  /**
73035
73966
  * @type {number}
73036
73967
  */
@@ -73048,6 +73979,18 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, mod
73048
73979
  */
73049
73980
  #aborted = false;
73050
73981
  /**
73982
+ * @type {boolean}
73983
+ */
73984
+ #responseStarted = false;
73985
+ /**
73986
+ * @type {boolean}
73987
+ */
73988
+ #responseDataStarted = false;
73989
+ /**
73990
+ * @type {boolean}
73991
+ */
73992
+ #completed = false;
73993
+ /**
73051
73994
  * @type {import('../../types/dispatcher.d.ts').default.DispatchController | null}
73052
73995
  */
73053
73996
  #controller = null;
@@ -73058,20 +74001,40 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, mod
73058
74001
  /**
73059
74002
  * @param {DispatchHandler} primaryHandler The primary handler
73060
74003
  * @param {() => void} onComplete Callback when request completes
74004
+ * @param {number} [maxBufferSize] Maximum paused buffer size per waiting handler
73061
74005
  */
73062
- constructor(primaryHandler, onComplete) {
74006
+ constructor(primaryHandler, onComplete, maxBufferSize = DEFAULT_MAX_BUFFER_SIZE) {
73063
74007
  this.#primaryHandler = primaryHandler;
73064
74008
  this.#onComplete = onComplete;
74009
+ this.#maxBufferSize = maxBufferSize;
73065
74010
  }
73066
74011
  /**
73067
- * Add a waiting handler that will receive the buffered response
74012
+ * Add a waiting handler that will receive response events.
74013
+ * Returns false if deduplication can no longer safely attach this handler.
74014
+ *
73068
74015
  * @param {DispatchHandler} handler
74016
+ * @returns {boolean}
73069
74017
  */
73070
74018
  addWaitingHandler(handler) {
73071
- this.#waitingHandlers.push(handler);
74019
+ if (this.#completed || this.#responseDataStarted) return false;
74020
+ const waitingHandler = this.#createWaitingHandler(handler);
74021
+ const waitingController = waitingHandler.controller;
74022
+ try {
74023
+ handler.onRequestStart?.(waitingController, null);
74024
+ if (waitingController.aborted) {
74025
+ waitingHandler.done = true;
74026
+ return true;
74027
+ }
74028
+ if (this.#responseStarted) handler.onResponseStart?.(waitingController, this.#statusCode, this.#headers, this.#statusMessage);
74029
+ } catch {
74030
+ waitingHandler.done = true;
74031
+ return true;
74032
+ }
74033
+ if (!waitingController.aborted) this.#waitingHandlers.push(waitingHandler);
74034
+ return true;
73072
74035
  }
73073
74036
  /**
73074
- * @param {() => void} abort
74037
+ * @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
73075
74038
  * @param {any} context
73076
74039
  */
73077
74040
  onRequestStart(controller, context) {
@@ -73094,26 +74057,81 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, mod
73094
74057
  * @param {string} statusMessage
73095
74058
  */
73096
74059
  onResponseStart(controller, statusCode, headers, statusMessage) {
74060
+ this.#responseStarted = true;
73097
74061
  this.#statusCode = statusCode;
73098
74062
  this.#headers = headers;
73099
74063
  this.#statusMessage = statusMessage;
73100
74064
  this.#primaryHandler.onResponseStart?.(controller, statusCode, headers, statusMessage);
74065
+ for (const waitingHandler of this.#waitingHandlers) {
74066
+ const { handler, controller: waitingController } = waitingHandler;
74067
+ if (waitingHandler.done || waitingController.aborted) {
74068
+ waitingHandler.done = true;
74069
+ continue;
74070
+ }
74071
+ try {
74072
+ handler.onResponseStart?.(waitingController, statusCode, headers, statusMessage);
74073
+ } catch {}
74074
+ if (waitingController.aborted) waitingHandler.done = true;
74075
+ }
74076
+ this.#pruneDoneWaitingHandlers();
73101
74077
  }
73102
74078
  /**
73103
74079
  * @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
73104
74080
  * @param {Buffer} chunk
73105
74081
  */
73106
74082
  onResponseData(controller, chunk) {
73107
- this.#chunks.push(Buffer.from(chunk));
74083
+ if (this.#aborted || this.#completed) return;
74084
+ this.#responseDataStarted = true;
73108
74085
  this.#primaryHandler.onResponseData?.(controller, chunk);
74086
+ for (const waitingHandler of this.#waitingHandlers) {
74087
+ const { handler, controller: waitingController } = waitingHandler;
74088
+ if (waitingHandler.done || waitingController.aborted) {
74089
+ waitingHandler.done = true;
74090
+ continue;
74091
+ }
74092
+ if (waitingController.paused) {
74093
+ this.#bufferWaitingChunk(waitingHandler, chunk);
74094
+ continue;
74095
+ }
74096
+ try {
74097
+ handler.onResponseData?.(waitingController, chunk);
74098
+ } catch {}
74099
+ if (waitingController.aborted) {
74100
+ waitingHandler.done = true;
74101
+ waitingHandler.bufferedChunks = [];
74102
+ waitingHandler.bufferedBytes = 0;
74103
+ }
74104
+ }
74105
+ this.#pruneDoneWaitingHandlers();
73109
74106
  }
73110
74107
  /**
73111
74108
  * @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
73112
74109
  * @param {object} trailers
73113
74110
  */
73114
74111
  onResponseEnd(controller, trailers) {
74112
+ if (this.#aborted || this.#completed) return;
74113
+ this.#completed = true;
73115
74114
  this.#primaryHandler.onResponseEnd?.(controller, trailers);
73116
- this.#notifyWaitingHandlers();
74115
+ for (const waitingHandler of this.#waitingHandlers) {
74116
+ if (waitingHandler.done || waitingHandler.controller.aborted) {
74117
+ waitingHandler.done = true;
74118
+ continue;
74119
+ }
74120
+ this.#flushWaitingHandler(waitingHandler);
74121
+ if (waitingHandler.done || waitingHandler.controller.aborted) {
74122
+ waitingHandler.done = true;
74123
+ continue;
74124
+ }
74125
+ if (waitingHandler.controller.paused && waitingHandler.bufferedChunks.length > 0) {
74126
+ waitingHandler.pendingTrailers = trailers;
74127
+ continue;
74128
+ }
74129
+ try {
74130
+ waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, trailers);
74131
+ } catch {}
74132
+ waitingHandler.done = true;
74133
+ }
74134
+ this.#pruneDoneWaitingHandlers();
73117
74135
  this.#onComplete?.();
73118
74136
  }
73119
74137
  /**
@@ -73121,76 +74139,132 @@ var require_deduplication_handler = /* @__PURE__ */ __commonJSMin(((exports, mod
73121
74139
  * @param {Error} err
73122
74140
  */
73123
74141
  onResponseError(controller, err) {
74142
+ if (this.#completed) return;
73124
74143
  this.#aborted = true;
74144
+ this.#completed = true;
73125
74145
  this.#primaryHandler.onResponseError?.(controller, err);
73126
- this.#notifyWaitingHandlersError(err);
74146
+ for (const waitingHandler of this.#waitingHandlers) this.#errorWaitingHandler(waitingHandler, err);
74147
+ this.#waitingHandlers = [];
73127
74148
  this.#onComplete?.();
73128
74149
  }
73129
74150
  /**
73130
- * Notify all waiting handlers with the buffered response
74151
+ * @param {DispatchHandler} handler
74152
+ * @returns {WaitingHandler}
73131
74153
  */
73132
- #notifyWaitingHandlers() {
73133
- const body = Buffer.concat(this.#chunks);
73134
- for (const handler of this.#waitingHandlers) {
73135
- const waitingController = {
73136
- resume() {},
73137
- pause() {},
73138
- get paused() {
73139
- return false;
73140
- },
73141
- get aborted() {
73142
- return false;
73143
- },
73144
- get reason() {
73145
- return null;
73146
- },
73147
- abort() {}
73148
- };
73149
- try {
73150
- handler.onRequestStart?.(waitingController, null);
73151
- if (waitingController.aborted) continue;
73152
- handler.onResponseStart?.(waitingController, this.#statusCode, this.#headers, this.#statusMessage);
73153
- if (waitingController.aborted) continue;
73154
- if (body.length > 0) handler.onResponseData?.(waitingController, body);
73155
- handler.onResponseEnd?.(waitingController, {});
73156
- } catch {}
74154
+ #createWaitingHandler(handler) {
74155
+ /** @type {WaitingHandler} */
74156
+ const waitingHandler = {
74157
+ handler,
74158
+ controller: null,
74159
+ bufferedChunks: [],
74160
+ bufferedBytes: 0,
74161
+ pendingTrailers: null,
74162
+ done: false
74163
+ };
74164
+ const state = {
74165
+ aborted: false,
74166
+ paused: false,
74167
+ reason: null
74168
+ };
74169
+ waitingHandler.controller = {
74170
+ resume: () => {
74171
+ if (state.aborted) return;
74172
+ state.paused = false;
74173
+ this.#flushWaitingHandler(waitingHandler);
74174
+ if (this.#completed && waitingHandler.pendingTrailers && waitingHandler.bufferedChunks.length === 0 && !state.paused && !state.aborted) {
74175
+ try {
74176
+ waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, waitingHandler.pendingTrailers);
74177
+ } catch {}
74178
+ waitingHandler.pendingTrailers = null;
74179
+ waitingHandler.done = true;
74180
+ }
74181
+ this.#pruneDoneWaitingHandlers();
74182
+ },
74183
+ pause: () => {
74184
+ if (!state.aborted) state.paused = true;
74185
+ },
74186
+ get paused() {
74187
+ return state.paused;
74188
+ },
74189
+ get aborted() {
74190
+ return state.aborted;
74191
+ },
74192
+ get reason() {
74193
+ return state.reason;
74194
+ },
74195
+ abort: (reason) => {
74196
+ state.aborted = true;
74197
+ state.reason = reason ?? null;
74198
+ waitingHandler.done = true;
74199
+ waitingHandler.pendingTrailers = null;
74200
+ waitingHandler.bufferedChunks = [];
74201
+ waitingHandler.bufferedBytes = 0;
74202
+ }
74203
+ };
74204
+ return waitingHandler;
74205
+ }
74206
+ /**
74207
+ * @param {WaitingHandler} waitingHandler
74208
+ * @param {Buffer} chunk
74209
+ */
74210
+ #bufferWaitingChunk(waitingHandler, chunk) {
74211
+ if (waitingHandler.done || waitingHandler.controller.aborted) {
74212
+ waitingHandler.done = true;
74213
+ waitingHandler.bufferedChunks = [];
74214
+ waitingHandler.bufferedBytes = 0;
74215
+ return;
74216
+ }
74217
+ const bufferedChunk = Buffer.from(chunk);
74218
+ waitingHandler.bufferedChunks.push(bufferedChunk);
74219
+ waitingHandler.bufferedBytes += bufferedChunk.length;
74220
+ if (waitingHandler.bufferedBytes > this.#maxBufferSize) {
74221
+ const err = new RequestAbortedError(`Deduplicated waiting handler exceeded maxBufferSize (${this.#maxBufferSize} bytes) while paused`);
74222
+ this.#errorWaitingHandler(waitingHandler, err);
73157
74223
  }
73158
- this.#waitingHandlers = [];
73159
- this.#chunks = [];
73160
74224
  }
73161
74225
  /**
73162
- * Notify all waiting handlers of an error
73163
- * @param {Error} err
74226
+ * @param {WaitingHandler} waitingHandler
73164
74227
  */
73165
- #notifyWaitingHandlersError(err) {
73166
- for (const handler of this.#waitingHandlers) {
73167
- const waitingController = {
73168
- resume() {},
73169
- pause() {},
73170
- get paused() {
73171
- return false;
73172
- },
73173
- get aborted() {
73174
- return true;
73175
- },
73176
- get reason() {
73177
- return err;
73178
- },
73179
- abort() {}
73180
- };
74228
+ #flushWaitingHandler(waitingHandler) {
74229
+ const { handler, controller } = waitingHandler;
74230
+ while (!waitingHandler.done && !controller.aborted && !controller.paused && waitingHandler.bufferedChunks.length > 0) {
74231
+ const bufferedChunk = waitingHandler.bufferedChunks.shift();
74232
+ waitingHandler.bufferedBytes -= bufferedChunk.length;
73181
74233
  try {
73182
- handler.onRequestStart?.(waitingController, null);
73183
- handler.onResponseError?.(waitingController, err);
74234
+ handler.onResponseData?.(controller, bufferedChunk);
73184
74235
  } catch {}
74236
+ if (controller.aborted) {
74237
+ waitingHandler.done = true;
74238
+ waitingHandler.pendingTrailers = null;
74239
+ waitingHandler.bufferedChunks = [];
74240
+ waitingHandler.bufferedBytes = 0;
74241
+ break;
74242
+ }
73185
74243
  }
73186
- this.#waitingHandlers = [];
73187
- this.#chunks = [];
74244
+ }
74245
+ /**
74246
+ * @param {WaitingHandler} waitingHandler
74247
+ * @param {Error} err
74248
+ */
74249
+ #errorWaitingHandler(waitingHandler, err) {
74250
+ if (waitingHandler.done) return;
74251
+ waitingHandler.done = true;
74252
+ waitingHandler.pendingTrailers = null;
74253
+ waitingHandler.bufferedChunks = [];
74254
+ waitingHandler.bufferedBytes = 0;
74255
+ try {
74256
+ waitingHandler.controller.abort(err);
74257
+ waitingHandler.handler.onResponseError?.(waitingHandler.controller, err);
74258
+ } catch {}
74259
+ }
74260
+ #pruneDoneWaitingHandlers() {
74261
+ this.#waitingHandlers = this.#waitingHandlers.filter((waitingHandler) => waitingHandler.done === false);
73188
74262
  }
73189
74263
  };
73190
74264
  module.exports = DeduplicationHandler;
73191
74265
  }));
73192
74266
  //#endregion
73193
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/interceptor/deduplicate.js
74267
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/interceptor/deduplicate.js
73194
74268
  var require_deduplicate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73195
74269
  const diagnosticsChannel = __require("node:diagnostics_channel");
73196
74270
  const util = require_util$5();
@@ -73202,12 +74276,13 @@ var require_deduplicate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73202
74276
  * @returns {import('../../types/dispatcher.d.ts').default.DispatcherComposeInterceptor}
73203
74277
  */
73204
74278
  module.exports = (opts = {}) => {
73205
- const { methods = ["GET"], skipHeaderNames = [], excludeHeaderNames = [] } = opts;
74279
+ const { methods = ["GET"], skipHeaderNames = [], excludeHeaderNames = [], maxBufferSize = 5 * 1024 * 1024 } = opts;
73206
74280
  if (typeof opts !== "object" || opts === null) throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`);
73207
74281
  if (!Array.isArray(methods)) throw new TypeError(`expected opts.methods to be an array, got ${typeof methods}`);
73208
74282
  for (const method of methods) if (!util.safeHTTPMethods.includes(method)) throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${method}`);
73209
74283
  if (!Array.isArray(skipHeaderNames)) throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof skipHeaderNames}`);
73210
74284
  if (!Array.isArray(excludeHeaderNames)) throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof excludeHeaderNames}`);
74285
+ if (!Number.isFinite(maxBufferSize) || maxBufferSize <= 0) throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${maxBufferSize}`);
73211
74286
  const skipHeaderNamesSet = new Set(skipHeaderNames.map((name) => name.toLowerCase()));
73212
74287
  const excludeHeaderNamesSet = new Set(excludeHeaderNames.map((name) => name.toLowerCase()));
73213
74288
  /**
@@ -73228,8 +74303,8 @@ var require_deduplicate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73228
74303
  const dedupeKey = makeDeduplicationKey(makeCacheKey(opts), excludeHeaderNamesSet);
73229
74304
  const pendingHandler = pendingRequests.get(dedupeKey);
73230
74305
  if (pendingHandler) {
73231
- pendingHandler.addWaitingHandler(handler);
73232
- return true;
74306
+ if (pendingHandler.addWaitingHandler(handler)) return true;
74307
+ return dispatch(opts, handler);
73233
74308
  }
73234
74309
  const deduplicationHandler = new DeduplicationHandler(handler, () => {
73235
74310
  pendingRequests.delete(dedupeKey);
@@ -73238,7 +74313,7 @@ var require_deduplicate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73238
74313
  key: dedupeKey,
73239
74314
  type: "removed"
73240
74315
  });
73241
- });
74316
+ }, maxBufferSize);
73242
74317
  pendingRequests.set(dedupeKey, deduplicationHandler);
73243
74318
  if (pendingRequestsChannel.hasSubscribers) pendingRequestsChannel.publish({
73244
74319
  size: pendingRequests.size,
@@ -73251,7 +74326,7 @@ var require_deduplicate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73251
74326
  };
73252
74327
  }));
73253
74328
  //#endregion
73254
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/cache/sqlite-cache-store.js
74329
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/cache/sqlite-cache-store.js
73255
74330
  var require_sqlite_cache_store = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73256
74331
  const { Writable: Writable$1 } = __require("node:stream");
73257
74332
  const { assertCacheKey, assertCacheValue } = require_cache$2();
@@ -73570,7 +74645,7 @@ var require_sqlite_cache_store = /* @__PURE__ */ __commonJSMin(((exports, module
73570
74645
  }
73571
74646
  }));
73572
74647
  //#endregion
73573
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/fetch/headers.js
74648
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/headers.js
73574
74649
  var require_headers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73575
74650
  const { kConstruct } = require_symbols();
73576
74651
  const { kEnumerableProperty } = require_util$5();
@@ -73963,7 +75038,7 @@ var require_headers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73963
75038
  };
73964
75039
  }));
73965
75040
  //#endregion
73966
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/fetch/response.js
75041
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/response.js
73967
75042
  var require_response = /* @__PURE__ */ __commonJSMin(((exports, module) => {
73968
75043
  const { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
73969
75044
  const { extractBody, cloneBody, mixinBody, streamRegistry, bodyUnusable } = require_body();
@@ -74308,7 +75383,7 @@ var require_response = /* @__PURE__ */ __commonJSMin(((exports, module) => {
74308
75383
  };
74309
75384
  }));
74310
75385
  //#endregion
74311
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/fetch/request.js
75386
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/request.js
74312
75387
  var require_request = /* @__PURE__ */ __commonJSMin(((exports, module) => {
74313
75388
  const { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body();
74314
75389
  const { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
@@ -74897,7 +75972,7 @@ var require_request = /* @__PURE__ */ __commonJSMin(((exports, module) => {
74897
75972
  };
74898
75973
  }));
74899
75974
  //#endregion
74900
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
75975
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
74901
75976
  var require_subresource_integrity = /* @__PURE__ */ __commonJSMin(((exports, module) => {
74902
75977
  const assert$7 = __require("node:assert");
74903
75978
  const { runtimeFeatures } = require_runtime_features();
@@ -75063,7 +76138,7 @@ var require_subresource_integrity = /* @__PURE__ */ __commonJSMin(((exports, mod
75063
76138
  };
75064
76139
  }));
75065
76140
  //#endregion
75066
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/fetch/index.js
76141
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/fetch/index.js
75067
76142
  var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
75068
76143
  const { makeNetworkError, makeAppropriateNetworkError, filterResponse, makeResponse, fromInnerResponse, getResponseState } = require_response();
75069
76144
  const { HeadersList } = require_headers();
@@ -75159,7 +76234,8 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
75159
76234
  request,
75160
76235
  processResponseEndOfBody: handleFetchDone,
75161
76236
  processResponse,
75162
- dispatcher: getRequestDispatcher(requestObject)
76237
+ dispatcher: getRequestDispatcher(requestObject),
76238
+ requestObject
75163
76239
  });
75164
76240
  return p.promise;
75165
76241
  }
@@ -75190,7 +76266,7 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
75190
76266
  const response = getResponseState(responseObject);
75191
76267
  if (response.body?.stream != null && isReadable(response.body.stream)) controller.error(error);
75192
76268
  }
75193
- function fetching({ request, processRequestBodyChunkLength, processRequestEndOfBody, processResponse, processResponseEndOfBody, processResponseConsumeBody, useParallelQueue = false, dispatcher = getGlobalDispatcher() }) {
76269
+ function fetching({ request, processRequestBodyChunkLength, processRequestEndOfBody, processResponse, processResponseEndOfBody, processResponseConsumeBody, useParallelQueue = false, dispatcher = getGlobalDispatcher(), requestObject = null }) {
75194
76270
  assert$6(dispatcher);
75195
76271
  let taskDestination = null;
75196
76272
  let crossOriginIsolatedCapability = false;
@@ -75209,7 +76285,8 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
75209
76285
  processResponseConsumeBody,
75210
76286
  processResponseEndOfBody,
75211
76287
  taskDestination,
75212
- crossOriginIsolatedCapability
76288
+ crossOriginIsolatedCapability,
76289
+ requestObject
75213
76290
  };
75214
76291
  assert$6(!request.body || request.body.stream);
75215
76292
  if (request.window === "client") request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window";
@@ -75668,8 +76745,10 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
75668
76745
  const url = requestCurrentURL(request);
75669
76746
  /** @type {import('../../..').Agent} */
75670
76747
  const agent = fetchParams.controller.dispatcher;
76748
+ const path = url.pathname + url.search;
76749
+ const hasTrailingQuestionMark = url.search.length === 0 && url.href[url.href.length - url.hash.length - 1] === "?";
75671
76750
  return new Promise((resolve, reject) => agent.dispatch({
75672
- path: url.pathname + url.search,
76751
+ path: hasTrailingQuestionMark ? `${path}?` : path,
75673
76752
  origin: url.origin,
75674
76753
  method: request.method,
75675
76754
  body: agent.isMockActive ? request.body && (request.body.source || request.body.stream) : body,
@@ -75801,7 +76880,7 @@ var require_fetch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
75801
76880
  };
75802
76881
  }));
75803
76882
  //#endregion
75804
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/cache/util.js
76883
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cache/util.js
75805
76884
  var require_util$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
75806
76885
  const assert$5 = __require("node:assert");
75807
76886
  const { URLSerializer } = require_data_url();
@@ -75835,7 +76914,7 @@ var require_util$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
75835
76914
  };
75836
76915
  }));
75837
76916
  //#endregion
75838
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/cache/cache.js
76917
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cache/cache.js
75839
76918
  var require_cache = /* @__PURE__ */ __commonJSMin(((exports, module) => {
75840
76919
  const assert$4 = __require("node:assert");
75841
76920
  const { kConstruct } = require_symbols();
@@ -76283,7 +77362,7 @@ var require_cache = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76283
77362
  module.exports = { Cache };
76284
77363
  }));
76285
77364
  //#endregion
76286
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/cache/cachestorage.js
77365
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cache/cachestorage.js
76287
77366
  var require_cachestorage = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76288
77367
  const { Cache } = require_cache();
76289
77368
  const { webidl } = require_webidl();
@@ -76373,7 +77452,7 @@ var require_cachestorage = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76373
77452
  module.exports = { CacheStorage };
76374
77453
  }));
76375
77454
  //#endregion
76376
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/cookies/constants.js
77455
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cookies/constants.js
76377
77456
  var require_constants$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76378
77457
  module.exports = {
76379
77458
  maxAttributeValueSize: 1024,
@@ -76381,7 +77460,7 @@ var require_constants$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76381
77460
  };
76382
77461
  }));
76383
77462
  //#endregion
76384
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/cookies/util.js
77463
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cookies/util.js
76385
77464
  var require_util$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76386
77465
  /**
76387
77466
  * @param {string} value
@@ -76575,7 +77654,7 @@ var require_util$2 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76575
77654
  };
76576
77655
  }));
76577
77656
  //#endregion
76578
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/cookies/parse.js
77657
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cookies/parse.js
76579
77658
  var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76580
77659
  const { collectASequenceOfCodePointsFast } = require_infra();
76581
77660
  const { maxNameValuePairSize, maxAttributeValueSize } = require_constants$2();
@@ -76680,7 +77759,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76680
77759
  };
76681
77760
  }));
76682
77761
  //#endregion
76683
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/cookies/index.js
77762
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/cookies/index.js
76684
77763
  var require_cookies = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76685
77764
  const { parseSetCookie } = require_parse();
76686
77765
  const { stringify } = require_util$2();
@@ -76842,7 +77921,7 @@ var require_cookies = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76842
77921
  };
76843
77922
  }));
76844
77923
  //#endregion
76845
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/websocket/events.js
77924
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/events.js
76846
77925
  var require_events = /* @__PURE__ */ __commonJSMin(((exports, module) => {
76847
77926
  const { webidl } = require_webidl();
76848
77927
  const { kEnumerableProperty } = require_util$5();
@@ -77104,7 +78183,7 @@ var require_events = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77104
78183
  };
77105
78184
  }));
77106
78185
  //#endregion
77107
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/websocket/constants.js
78186
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/constants.js
77108
78187
  var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77109
78188
  module.exports = {
77110
78189
  uid: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
@@ -77148,7 +78227,7 @@ var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77148
78227
  };
77149
78228
  }));
77150
78229
  //#endregion
77151
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/websocket/util.js
78230
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/util.js
77152
78231
  var require_util$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77153
78232
  const { states, opcodes } = require_constants$1();
77154
78233
  const { isUtf8 } = __require("node:buffer");
@@ -77288,11 +78367,13 @@ var require_util$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77288
78367
  * @returns {boolean}
77289
78368
  */
77290
78369
  function isValidClientWindowBits(value) {
78370
+ if (value.length === 0) return false;
77291
78371
  for (let i = 0; i < value.length; i++) {
77292
78372
  const byte = value.charCodeAt(i);
77293
78373
  if (byte < 48 || byte > 57) return false;
77294
78374
  }
77295
- return true;
78375
+ const num = Number.parseInt(value, 10);
78376
+ return num >= 8 && num <= 15;
77296
78377
  }
77297
78378
  /**
77298
78379
  * @see https://whatpr.org/websockets/48/7b748d3...d5570f3.html#get-a-url-record
@@ -77352,7 +78433,7 @@ var require_util$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77352
78433
  };
77353
78434
  }));
77354
78435
  //#endregion
77355
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/websocket/frame.js
78436
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/frame.js
77356
78437
  var require_frame = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77357
78438
  const { runtimeFeatures } = require_runtime_features();
77358
78439
  const { maxUnsigned16Bit, opcodes } = require_constants$1();
@@ -77452,7 +78533,7 @@ var require_frame = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77452
78533
  };
77453
78534
  }));
77454
78535
  //#endregion
77455
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/websocket/connection.js
78536
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/connection.js
77456
78537
  var require_connection = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77457
78538
  const { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants$1();
77458
78539
  const { parseExtensions, isClosed, isClosing, isEstablished, isConnecting, validateCloseCodeAndReason } = require_util$1();
@@ -77602,10 +78683,11 @@ var require_connection = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77602
78683
  };
77603
78684
  }));
77604
78685
  //#endregion
77605
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/websocket/permessage-deflate.js
78686
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/permessage-deflate.js
77606
78687
  var require_permessage_deflate = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77607
78688
  const { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib");
77608
78689
  const { isValidClientWindowBits } = require_util$1();
78690
+ const { MessageSizeExceededError } = require_errors();
77609
78691
  const tail = Buffer.from([
77610
78692
  0,
77611
78693
  0,
@@ -77614,15 +78696,27 @@ var require_permessage_deflate = /* @__PURE__ */ __commonJSMin(((exports, module
77614
78696
  ]);
77615
78697
  const kBuffer = Symbol("kBuffer");
77616
78698
  const kLength = Symbol("kLength");
78699
+ const kDefaultMaxDecompressedSize = 4 * 1024 * 1024;
77617
78700
  var PerMessageDeflate = class {
77618
78701
  /** @type {import('node:zlib').InflateRaw} */
77619
78702
  #inflate;
77620
78703
  #options = {};
78704
+ /** @type {boolean} */
78705
+ #aborted = false;
78706
+ /** @type {Function|null} */
78707
+ #currentCallback = null;
78708
+ /**
78709
+ * @param {Map<string, string>} extensions
78710
+ */
77621
78711
  constructor(extensions) {
77622
78712
  this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
77623
78713
  this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
77624
78714
  }
77625
78715
  decompress(chunk, fin, callback) {
78716
+ if (this.#aborted) {
78717
+ callback(new MessageSizeExceededError());
78718
+ return;
78719
+ }
77626
78720
  if (!this.#inflate) {
77627
78721
  let windowBits = Z_DEFAULT_WINDOWBITS;
77628
78722
  if (this.#options.serverMaxWindowBits) {
@@ -77632,24 +78726,45 @@ var require_permessage_deflate = /* @__PURE__ */ __commonJSMin(((exports, module
77632
78726
  }
77633
78727
  windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
77634
78728
  }
77635
- this.#inflate = createInflateRaw({ windowBits });
78729
+ try {
78730
+ this.#inflate = createInflateRaw({ windowBits });
78731
+ } catch (err) {
78732
+ callback(err);
78733
+ return;
78734
+ }
77636
78735
  this.#inflate[kBuffer] = [];
77637
78736
  this.#inflate[kLength] = 0;
77638
78737
  this.#inflate.on("data", (data) => {
77639
- this.#inflate[kBuffer].push(data);
78738
+ if (this.#aborted) return;
77640
78739
  this.#inflate[kLength] += data.length;
78740
+ if (this.#inflate[kLength] > kDefaultMaxDecompressedSize) {
78741
+ this.#aborted = true;
78742
+ this.#inflate.removeAllListeners();
78743
+ this.#inflate.destroy();
78744
+ this.#inflate = null;
78745
+ if (this.#currentCallback) {
78746
+ const cb = this.#currentCallback;
78747
+ this.#currentCallback = null;
78748
+ cb(new MessageSizeExceededError());
78749
+ }
78750
+ return;
78751
+ }
78752
+ this.#inflate[kBuffer].push(data);
77641
78753
  });
77642
78754
  this.#inflate.on("error", (err) => {
77643
78755
  this.#inflate = null;
77644
78756
  callback(err);
77645
78757
  });
77646
78758
  }
78759
+ this.#currentCallback = callback;
77647
78760
  this.#inflate.write(chunk);
77648
78761
  if (fin) this.#inflate.write(tail);
77649
78762
  this.#inflate.flush(() => {
78763
+ if (this.#aborted || !this.#inflate) return;
77650
78764
  const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
77651
78765
  this.#inflate[kBuffer].length = 0;
77652
78766
  this.#inflate[kLength] = 0;
78767
+ this.#currentCallback = null;
77653
78768
  callback(null, full);
77654
78769
  });
77655
78770
  }
@@ -77657,7 +78772,7 @@ var require_permessage_deflate = /* @__PURE__ */ __commonJSMin(((exports, module
77657
78772
  module.exports = { PerMessageDeflate };
77658
78773
  }));
77659
78774
  //#endregion
77660
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/websocket/receiver.js
78775
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/receiver.js
77661
78776
  var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77662
78777
  const { Writable } = __require("node:stream");
77663
78778
  const assert$1 = __require("node:assert");
@@ -77666,6 +78781,7 @@ var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77666
78781
  const { failWebsocketConnection } = require_connection();
77667
78782
  const { WebsocketFrameSend } = require_frame();
77668
78783
  const { PerMessageDeflate } = require_permessage_deflate();
78784
+ const { MessageSizeExceededError } = require_errors();
77669
78785
  var ByteParser = class extends Writable {
77670
78786
  #buffers = [];
77671
78787
  #fragmentsBytes = 0;
@@ -77678,6 +78794,10 @@ var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77678
78794
  #extensions;
77679
78795
  /** @type {import('./websocket').Handler} */
77680
78796
  #handler;
78797
+ /**
78798
+ * @param {import('./websocket').Handler} handler
78799
+ * @param {Map<string, string>|null} extensions
78800
+ */
77681
78801
  constructor(handler, extensions) {
77682
78802
  super();
77683
78803
  this.#handler = handler;
@@ -77769,12 +78889,12 @@ var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77769
78889
  if (this.#byteOffset < 8) return callback();
77770
78890
  const buffer = this.consume(8);
77771
78891
  const upper = buffer.readUInt32BE(0);
77772
- if (upper > 2 ** 31 - 1) {
78892
+ const lower = buffer.readUInt32BE(4);
78893
+ if (upper !== 0 || lower > 2 ** 31 - 1) {
77773
78894
  failWebsocketConnection(this.#handler, 1009, "Received payload length > 2^31 bytes.");
77774
78895
  return;
77775
78896
  }
77776
- const lower = buffer.readUInt32BE(4);
77777
- this.#info.payloadLength = (upper << 8) + lower;
78897
+ this.#info.payloadLength = lower;
77778
78898
  this.#state = parserStates.READ_DATA;
77779
78899
  } else if (this.#state === parserStates.READ_DATA) {
77780
78900
  if (this.#byteOffset < this.#info.payloadLength) return callback();
@@ -77789,7 +78909,8 @@ var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77789
78909
  } else {
77790
78910
  this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error, data) => {
77791
78911
  if (error) {
77792
- failWebsocketConnection(this.#handler, 1007, error.message);
78912
+ const code = error instanceof MessageSizeExceededError ? 1009 : 1007;
78913
+ failWebsocketConnection(this.#handler, code, error.message);
77793
78914
  return;
77794
78915
  }
77795
78916
  this.writeFragments(data);
@@ -77939,7 +79060,7 @@ var require_receiver = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77939
79060
  module.exports = { ByteParser };
77940
79061
  }));
77941
79062
  //#endregion
77942
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/websocket/sender.js
79063
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/sender.js
77943
79064
  var require_sender = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77944
79065
  const { WebsocketFrameSend } = require_frame();
77945
79066
  const { opcodes, sendHints } = require_constants$1();
@@ -78022,7 +79143,7 @@ var require_sender = /* @__PURE__ */ __commonJSMin(((exports, module) => {
78022
79143
  module.exports = { SendQueue };
78023
79144
  }));
78024
79145
  //#endregion
78025
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/websocket/websocket.js
79146
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/websocket.js
78026
79147
  var require_websocket = /* @__PURE__ */ __commonJSMin(((exports, module) => {
78027
79148
  const { isArrayBuffer } = __require("node:util/types");
78028
79149
  const { webidl } = require_webidl();
@@ -78425,7 +79546,7 @@ var require_websocket = /* @__PURE__ */ __commonJSMin(((exports, module) => {
78425
79546
  };
78426
79547
  }));
78427
79548
  //#endregion
78428
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/websocket/stream/websocketerror.js
79549
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/stream/websocketerror.js
78429
79550
  var require_websocketerror = /* @__PURE__ */ __commonJSMin(((exports, module) => {
78430
79551
  const { webidl } = require_webidl();
78431
79552
  const { validateCloseCodeAndReason } = require_util$1();
@@ -78496,7 +79617,7 @@ var require_websocketerror = /* @__PURE__ */ __commonJSMin(((exports, module) =>
78496
79617
  };
78497
79618
  }));
78498
79619
  //#endregion
78499
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/websocket/stream/websocketstream.js
79620
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/websocket/stream/websocketstream.js
78500
79621
  var require_websocketstream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
78501
79622
  const { createDeferredPromise } = require_promise();
78502
79623
  const { environmentSettingsObject } = require_util$4();
@@ -78748,7 +79869,7 @@ var require_websocketstream = /* @__PURE__ */ __commonJSMin(((exports, module) =
78748
79869
  module.exports = { WebSocketStream };
78749
79870
  }));
78750
79871
  //#endregion
78751
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/eventsource/util.js
79872
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/eventsource/util.js
78752
79873
  var require_util = /* @__PURE__ */ __commonJSMin(((exports, module) => {
78753
79874
  /**
78754
79875
  * Checks if the given value is a valid LastEventId.
@@ -78774,7 +79895,7 @@ var require_util = /* @__PURE__ */ __commonJSMin(((exports, module) => {
78774
79895
  };
78775
79896
  }));
78776
79897
  //#endregion
78777
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/eventsource/eventsource-stream.js
79898
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/eventsource/eventsource-stream.js
78778
79899
  var require_eventsource_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
78779
79900
  const { Transform } = __require("node:stream");
78780
79901
  const { isASCIINumber, isValidLastEventId } = require_util();
@@ -78997,7 +80118,7 @@ var require_eventsource_stream = /* @__PURE__ */ __commonJSMin(((exports, module
78997
80118
  module.exports = { EventSourceStream };
78998
80119
  }));
78999
80120
  //#endregion
79000
- //#region ../../node_modules/.bun/undici@7.22.0/node_modules/undici/lib/web/eventsource/eventsource.js
80121
+ //#region ../../node_modules/.bun/undici@7.24.4/node_modules/undici/lib/web/eventsource/eventsource.js
79001
80122
  var require_eventsource = /* @__PURE__ */ __commonJSMin(((exports, module) => {
79002
80123
  const { pipeline: pipeline$1 } = __require("node:stream");
79003
80124
  const { fetching } = require_fetch();
@@ -79337,6 +80458,7 @@ var import_undici = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
79337
80458
  const RoundRobinPool = require_round_robin_pool();
79338
80459
  const Agent = require_agent();
79339
80460
  const ProxyAgent = require_proxy_agent();
80461
+ const Socks5ProxyAgent = require_socks5_proxy_agent();
79340
80462
  const EnvHttpProxyAgent = require_env_http_proxy_agent();
79341
80463
  const RetryAgent = require_retry_agent();
79342
80464
  const H2CClient = require_h2c_client();
@@ -79363,6 +80485,7 @@ var import_undici = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
79363
80485
  module.exports.RoundRobinPool = RoundRobinPool;
79364
80486
  module.exports.Agent = Agent;
79365
80487
  module.exports.ProxyAgent = ProxyAgent;
80488
+ module.exports.Socks5ProxyAgent = Socks5ProxyAgent;
79366
80489
  module.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
79367
80490
  module.exports.RetryAgent = RetryAgent;
79368
80491
  module.exports.H2CClient = H2CClient;
@@ -79539,7 +80662,7 @@ function validateRuntimeVersion(experts) {
79539
80662
  //#endregion
79540
80663
  //#region ../../packages/runtime/src/helpers/setup-experts.ts
79541
80664
  async function setupExperts(setting, resolveExpertToRun) {
79542
- const resolveFn = resolveExpertToRun ?? (await import("../resolve-expert-Bin42ehj.js")).resolveExpertToRun;
80665
+ const resolveFn = resolveExpertToRun ?? (await import("../resolve-expert-Lim3XOx2.js")).resolveExpertToRun;
79543
80666
  const { expertKey } = setting;
79544
80667
  const experts = { ...setting.experts };
79545
80668
  const clientOptions = {
@@ -92132,7 +93255,8 @@ function toolCallPartToCoreToolCallPart(part) {
92132
93255
  type: "tool-call",
92133
93256
  toolCallId: part.toolCallId,
92134
93257
  toolName: part.toolName,
92135
- input: part.args
93258
+ input: part.args,
93259
+ providerOptions: part.providerMetadata
92136
93260
  };
92137
93261
  }
92138
93262
  function thinkingPartToCoreThinkingPart(part) {
@@ -92304,7 +93428,8 @@ function classifyToolCalls(toolCalls, skillManager) {
92304
93428
  toolCallId: tc.toolCallId,
92305
93429
  toolName: tc.toolName,
92306
93430
  input: tc.input,
92307
- adapter
93431
+ adapter,
93432
+ providerMetadata: tc.providerMetadata
92308
93433
  };
92309
93434
  });
92310
93435
  }
@@ -92321,7 +93446,8 @@ function buildToolCallParts(toolCalls) {
92321
93446
  type: "toolCallPart",
92322
93447
  toolCallId: tc.toolCallId,
92323
93448
  toolName: tc.toolName,
92324
- args: tc.input
93449
+ args: tc.input,
93450
+ providerMetadata: tc.providerMetadata
92325
93451
  }));
92326
93452
  }
92327
93453
  function buildToolCalls(toolCalls) {
@@ -124640,7 +125766,7 @@ async function startHandler(expertKey, query, options, handlerOptions) {
124640
125766
  //#endregion
124641
125767
  //#region package.json
124642
125768
  var name = "perstack";
124643
- var version = "0.0.135";
125769
+ var version = "0.0.137";
124644
125770
  var description = "PerStack CLI";
124645
125771
  //#endregion
124646
125772
  //#region bin/cli.ts