openwork-server 0.18.60 → 0.18.61

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.
Files changed (79) hide show
  1. package/README.md +9 -2
  2. package/bin/openwork-server.mjs +1 -1
  3. package/bin/platform.mjs +7 -7
  4. package/dist/opencode-plugin-deps-1.18.30.tgz +0 -0
  5. package/dist/opencode-plugins/openwork-cloud-skills-v2.js +87 -41
  6. package/dist/opencode-plugins/openwork-context-v2.js +67 -35
  7. package/dist/opencode-plugins/openwork-gateway-quota-v2.js +187 -0
  8. package/dist/opencode-plugins/openwork-gateway-quota.js +232 -23
  9. package/dist/opencode-plugins/openwork-provider-sync-v2.js +85 -2
  10. package/dist/openwork-server.mjs +919 -333
  11. package/package.json +2 -2
  12. package/web/assets/{abnfDiagram-VCTEODGH-D0_4pXEx.js → abnfDiagram-VCTEODGH-DGCabXot.js} +1 -1
  13. package/web/assets/app-CkmqBm_1.css +32 -0
  14. package/web/assets/{app-BCXQnJUH.js → app-Cy3sY2K8.js} +435 -425
  15. package/web/assets/{arc-BSTwaImw.js → arc-OJTfUP9L.js} +1 -1
  16. package/web/assets/{architectureDiagram-5GKGNRK7-cXwF0iP0.js → architectureDiagram-5GKGNRK7-Ch0Zt81S.js} +1 -1
  17. package/web/assets/{artifact-code-view-CUXv3CYK.js → artifact-code-view-CSo8dBet.js} +1 -1
  18. package/web/assets/{artifact-spreadsheet-editor-CxhNYmjP.js → artifact-spreadsheet-editor-DG2AL4aO.js} +1 -1
  19. package/web/assets/{artifact-text-editor-k2TGQI-i.js → artifact-text-editor-BKs1cI6V.js} +1 -1
  20. package/web/assets/{blockDiagram-OSKFZWR5-Cl9p_z8u.js → blockDiagram-OSKFZWR5-Dur4PitI.js} +1 -1
  21. package/web/assets/{c4Diagram-7LVT6UL2-YQjnoUQ0.js → c4Diagram-7LVT6UL2-DN-qrh5o.js} +1 -1
  22. package/web/assets/channel-68fpiRG4.js +1 -0
  23. package/web/assets/{chunk-2Q5K7J3B-YZaSwlzj.js → chunk-2Q5K7J3B-BSmk0dam.js} +1 -1
  24. package/web/assets/{chunk-5VM5RSS4-BICC_wIw.js → chunk-5VM5RSS4-BwAmjLhK.js} +1 -1
  25. package/web/assets/{chunk-F27PBJKO-CBxmcmxs.js → chunk-F27PBJKO-DLKbY_DS.js} +1 -1
  26. package/web/assets/{chunk-HLEWEB6X-2h2z7zt8.js → chunk-HLEWEB6X-s4I3BuHN.js} +1 -1
  27. package/web/assets/{chunk-JWPE2WC7-BnAMOpXl.js → chunk-JWPE2WC7-LslAnaQK.js} +1 -1
  28. package/web/assets/{chunk-POPQ4Y6H-pvDYQBBM.js → chunk-POPQ4Y6H-e0_lKBGk.js} +1 -1
  29. package/web/assets/{chunk-SVP7TREG-QuKLl3v0.js → chunk-SVP7TREG-CBKOSsQl.js} +1 -1
  30. package/web/assets/{chunk-XXDRQBXY-4Bt9wCBO.js → chunk-XXDRQBXY-Bwqkh7ZD.js} +1 -1
  31. package/web/assets/{chunk-ZLD2IHE6-C_RSrkqU.js → chunk-ZLD2IHE6-anLhhsDd.js} +1 -1
  32. package/web/assets/classDiagram-CYGNFDIV-Z4CG2h2d.js +1 -0
  33. package/web/assets/classDiagram-v2-TLXNO2FR-Z4CG2h2d.js +1 -0
  34. package/web/assets/{cose-bilkent-JH36ORCC-CciOYQb4.js → cose-bilkent-JH36ORCC-CCj043X5.js} +1 -1
  35. package/web/assets/{cynefin-OW5HDTMX-k8-mUlq4.js → cynefin-OW5HDTMX-BGWD-i0N.js} +1 -1
  36. package/web/assets/{cynefinDiagram-5FMLGOSQ-D1qAHzq3.js → cynefinDiagram-5FMLGOSQ-ZWq_C5SK.js} +1 -1
  37. package/web/assets/{dagre-OS7QT2EB-BP1VuF_z.js → dagre-OS7QT2EB-In3Mah_T.js} +1 -1
  38. package/web/assets/{diagram-S7CK7UJ4-crXkWleC.js → diagram-S7CK7UJ4-DaTd6oXD.js} +1 -1
  39. package/web/assets/{diagram-UQ7AKVKN-CtHAmCY-.js → diagram-UQ7AKVKN-D3jwCd_v.js} +1 -1
  40. package/web/assets/{diagram-VSXAHHWV-C-Fhuwy8.js → diagram-VSXAHHWV-CsK-_hfn.js} +1 -1
  41. package/web/assets/{diagram-VX7I27RA-DkRkNPuj.js → diagram-VX7I27RA-BBLQ2mL7.js} +1 -1
  42. package/web/assets/{diagram-Z3DM3KII-DVERPCFS.js → diagram-Z3DM3KII-CUM2PN0X.js} +1 -1
  43. package/web/assets/{ebnfDiagram-PWID7BFC-PrSifYGF.js → ebnfDiagram-PWID7BFC-BjJTJ9Vr.js} +1 -1
  44. package/web/assets/{erDiagram-2YWLMYGG-D8-wfUYq.js → erDiagram-2YWLMYGG-BhjMQMDs.js} +1 -1
  45. package/web/assets/{flowDiagram-T62WH6J4-BS-_wkGe.js → flowDiagram-T62WH6J4-KrGbrW-t.js} +1 -1
  46. package/web/assets/{ganttDiagram-EL5Y4UJY-D9PWmuWE.js → ganttDiagram-EL5Y4UJY-Co_OE6ls.js} +1 -1
  47. package/web/assets/{gitGraphDiagram-WWUBYQGX-DIP9p63c.js → gitGraphDiagram-WWUBYQGX-BxM4C4Ti.js} +1 -1
  48. package/web/assets/{infoDiagram-FKFFQAWI-BzU6-acC.js → infoDiagram-FKFFQAWI-C8YaW3a6.js} +1 -1
  49. package/web/assets/{ishikawaDiagram-5VMMS53U-CvYS2ayc.js → ishikawaDiagram-5VMMS53U-MPTb2C9Y.js} +1 -1
  50. package/web/assets/{journeyDiagram-EYS64GPL-Cr0qdK-D.js → journeyDiagram-EYS64GPL-Dzq-vllP.js} +1 -1
  51. package/web/assets/{kanban-definition-UXKFOSKX-DhffGp7U.js → kanban-definition-UXKFOSKX-DWhE5bnH.js} +1 -1
  52. package/web/assets/{layout-b5jqOIam.js → layout-CMyIV62W.js} +1 -1
  53. package/web/assets/{linear-zLNMwGhI.js → linear-CX-tWibZ.js} +1 -1
  54. package/web/assets/{mermaid.core-DB_TNiSG.js → mermaid.core-DcgS6fFC.js} +6 -6
  55. package/web/assets/{mindmap-definition-THT77NOG-DkQz2hbh.js → mindmap-definition-THT77NOG-CJzNRYpk.js} +1 -1
  56. package/web/assets/{pegDiagram-XKGWAZYB-CB313CDF.js → pegDiagram-XKGWAZYB-BSIi724T.js} +1 -1
  57. package/web/assets/{pieDiagram-E7YTZNPT-yaDJVY4d.js → pieDiagram-E7YTZNPT-CoArMhZD.js} +1 -1
  58. package/web/assets/{quadrantDiagram-AXDQQJYC-BkV8iwHS.js → quadrantDiagram-AXDQQJYC-B9HoxOyK.js} +1 -1
  59. package/web/assets/{railroadDiagram-O6MQD6OU-T_JVDRpV.js → railroadDiagram-O6MQD6OU-C-aYV4dU.js} +1 -1
  60. package/web/assets/{requirementDiagram-IS5BZ75X-B68yTCqr.js → requirementDiagram-IS5BZ75X-DHPnVlti.js} +1 -1
  61. package/web/assets/{sankeyDiagram-P5KCCOFB-Bx31O26O.js → sankeyDiagram-P5KCCOFB-DlxAwgv1.js} +1 -1
  62. package/web/assets/{sequenceDiagram-WJ2MYXX4-CsCoFTAg.js → sequenceDiagram-WJ2MYXX4-DzVPZb2m.js} +1 -1
  63. package/web/assets/{sizeCapture-INFHLROL-B3a49hkJ.js → sizeCapture-INFHLROL-BkwjaMAx.js} +1 -1
  64. package/web/assets/{stateDiagram-XQSTLZYL-DjCdHmx5.js → stateDiagram-XQSTLZYL-DIeNtdWj.js} +1 -1
  65. package/web/assets/stateDiagram-v2-IH3M54BS-CZR_2wND.js +1 -0
  66. package/web/assets/{swimlanes-V6O3JKXN-4u8S1I3e.js → swimlanes-V6O3JKXN-CPUSs3Tj.js} +1 -1
  67. package/web/assets/swimlanesDiagram-JKAHXJPX-C1Sms2Ey.js +8 -0
  68. package/web/assets/{timeline-definition-24CTP7MA-r3GnOjJo.js → timeline-definition-24CTP7MA-CjBwDFJH.js} +1 -1
  69. package/web/assets/{vennDiagram-4TSXK5OY-59IlTU54.js → vennDiagram-4TSXK5OY-DOsoEsMT.js} +1 -1
  70. package/web/assets/{wardleyDiagram-VM6X3IG4-C3ALfLHE.js → wardleyDiagram-VM6X3IG4-_fhLZdvF.js} +1 -1
  71. package/web/assets/{workspace-file-tree-C6GhNx3L.js → workspace-file-tree-CTzNl5A5.js} +1 -1
  72. package/web/assets/{xychartDiagram-S5SC5T6Z-CoYtWlkb.js → xychartDiagram-S5SC5T6Z-D4Kz81TF.js} +1 -1
  73. package/web/index.html +2 -2
  74. package/web/assets/app-DVblmMbF.css +0 -32
  75. package/web/assets/channel-DwV664-P.js +0 -1
  76. package/web/assets/classDiagram-CYGNFDIV-BKhd9faI.js +0 -1
  77. package/web/assets/classDiagram-v2-TLXNO2FR-BKhd9faI.js +0 -1
  78. package/web/assets/stateDiagram-v2-IH3M54BS-Cf0tqY7x.js +0 -1
  79. package/web/assets/swimlanesDiagram-JKAHXJPX-COK5qx0u.js +0 -8
@@ -225924,9 +225924,11 @@ function normalizeRuntimeOpencodeConfig(value3) {
225924
225924
  const permission = isRecord7(value3.permission) ? value3.permission : undefined;
225925
225925
  const externalDirectory = permission && isRecord7(permission.external_directory) ? permission.external_directory : undefined;
225926
225926
  const provider = isRecord7(value3.provider) ? value3.provider : undefined;
225927
+ const managedPrompt = typeof value3.managedPrompt === "string" && value3.managedPrompt.trim() ? value3.managedPrompt : undefined;
225927
225928
  return {
225928
225929
  ...defaultAgent ? { default_agent: defaultAgent } : {},
225929
225930
  ...value3.managedPolicy !== undefined ? { managedPolicy: desktopConfigSchema.parse(value3.managedPolicy) } : {},
225931
+ ...managedPrompt ? { managedPrompt } : {},
225930
225932
  ...plugin ? { plugin } : {},
225931
225933
  ...disabledProviders ? { disabled_providers: disabledProviders } : {},
225932
225934
  ...mcp ? { mcp } : {},
@@ -226082,6 +226084,7 @@ function mergeRuntimeOpencodeConfigLayers(base2, overlay) {
226082
226084
  };
226083
226085
  return normalizeRuntimeOpencodeConfig({
226084
226086
  ...base2.managedPolicy ? { managedPolicy: base2.managedPolicy } : {},
226087
+ ...base2.managedPrompt ? { managedPrompt: base2.managedPrompt } : {},
226085
226088
  ...base2.default_agent || overlay.default_agent ? { default_agent: overlay.default_agent ?? base2.default_agent } : {},
226086
226089
  ...plugin.length ? { plugin } : {},
226087
226090
  ...disabledProviders.length ? { disabled_providers: disabledProviders } : {},
@@ -226299,8 +226302,14 @@ function updateRuntimeConfig(config2, workspaceId, updater) {
226299
226302
  }
226300
226303
  function writeRuntimeOpencodeConfig(config2, workspaceId, updater) {
226301
226304
  return updateRuntimeConfig(config2, workspaceId, (current2) => {
226302
- const { managedPolicy, ...editable } = current2;
226303
- return { ...updater(editable), managedPolicy };
226305
+ const { managedPolicy, managedPrompt, ...editable } = current2;
226306
+ return { ...updater(editable), managedPolicy, managedPrompt };
226307
+ });
226308
+ }
226309
+ function writeManagedPrompt(config2, prompt) {
226310
+ return updateRuntimeConfig(config2, ENGINE_GLOBAL_RUNTIME_CONFIG_ID, (current2) => {
226311
+ const { managedPrompt: _previous, ...rest } = current2;
226312
+ return prompt.trim() ? { ...rest, managedPrompt: prompt } : rest;
226304
226313
  });
226305
226314
  }
226306
226315
  function clearManagedDesktopPolicy(config2) {
@@ -235963,21 +235972,35 @@ async function openMcpResourceReader(input) {
235963
235972
  if (notification.response.status !== 202 || notification.payload !== null)
235964
235973
  return null;
235965
235974
  let nextId = 2;
235975
+ let broken = false;
235976
+ const readContents = async (uri, meta3) => {
235977
+ const resource = await mcpPost(input.fetcher, url2, sessionHeaders, {
235978
+ id: nextId++,
235979
+ jsonrpc: "2.0",
235980
+ method: "resources/read",
235981
+ params: { uri, ...meta3 ? { _meta: meta3 } : {} }
235982
+ }).catch(() => null);
235983
+ if (!resource?.response.ok || resource.payload === null) {
235984
+ broken = true;
235985
+ return null;
235986
+ }
235987
+ const result3 = jsonRpcResult(resource.payload);
235988
+ if (!result3 || !Array.isArray(result3.contents))
235989
+ return null;
235990
+ const texts = new Map;
235991
+ for (const item of result3.contents) {
235992
+ if (isRecord12(item) && typeof item.uri === "string" && typeof item.text === "string" && !texts.has(item.uri))
235993
+ texts.set(item.uri, item.text);
235994
+ }
235995
+ return { texts, meta: isRecord12(result3._meta) ? result3._meta : {} };
235996
+ };
235966
235997
  return {
235967
- async read(uri) {
235968
- const resource = await mcpPost(input.fetcher, url2, sessionHeaders, {
235969
- id: nextId++,
235970
- jsonrpc: "2.0",
235971
- method: "resources/read",
235972
- params: { uri }
235973
- });
235974
- if (!resource.response.ok)
235975
- return null;
235976
- const contents = jsonRpcResult(resource.payload)?.contents;
235977
- if (!Array.isArray(contents))
235978
- return null;
235979
- const text4 = contents.find((item) => isRecord12(item) && item.uri === uri && typeof item.text === "string")?.text;
235980
- return typeof text4 === "string" ? text4 : null;
235998
+ readContents,
235999
+ async read(uri, meta3) {
236000
+ return (await readContents(uri, meta3))?.texts.get(uri) ?? null;
236001
+ },
236002
+ get broken() {
236003
+ return broken;
235981
236004
  }
235982
236005
  };
235983
236006
  }
@@ -236390,7 +236413,7 @@ var init_connect_mcp_server_catalog = __esm(() => {
236390
236413
  pendingCatalogReads = new WeakMap;
236391
236414
  });
236392
236415
 
236393
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/core/symbols.js
236416
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/symbols.js
236394
236417
  var require_symbols = __commonJS((exports, module) => {
236395
236418
  module.exports = {
236396
236419
  kClose: Symbol("close"),
@@ -236461,7 +236484,7 @@ var require_symbols = __commonJS((exports, module) => {
236461
236484
  };
236462
236485
  });
236463
236486
 
236464
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/core/errors.js
236487
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/errors.js
236465
236488
  var require_errors2 = __commonJS((exports, module) => {
236466
236489
  var kUndiciError = Symbol.for("undici.error.UND_ERR");
236467
236490
 
@@ -236840,7 +236863,7 @@ var require_errors2 = __commonJS((exports, module) => {
236840
236863
  };
236841
236864
  });
236842
236865
 
236843
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/core/constants.js
236866
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/constants.js
236844
236867
  var require_constants = __commonJS((exports, module) => {
236845
236868
  var headerNameLowerCasedRecord = {};
236846
236869
  var wellknownHeaderNames = [
@@ -236952,7 +236975,7 @@ var require_constants = __commonJS((exports, module) => {
236952
236975
  };
236953
236976
  });
236954
236977
 
236955
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/core/tree.js
236978
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/tree.js
236956
236979
  var require_tree = __commonJS((exports, module) => {
236957
236980
  var {
236958
236981
  wellknownHeaderNames,
@@ -237064,7 +237087,7 @@ var require_tree = __commonJS((exports, module) => {
237064
237087
  };
237065
237088
  });
237066
237089
 
237067
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/core/util.js
237090
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/util.js
237068
237091
  var require_util3 = __commonJS((exports, module) => {
237069
237092
  var assert3 = __require("node:assert");
237070
237093
  var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
@@ -237568,7 +237591,7 @@ var require_util3 = __commonJS((exports, module) => {
237568
237591
  };
237569
237592
  });
237570
237593
 
237571
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/core/diagnostics.js
237594
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/diagnostics.js
237572
237595
  var require_diagnostics = __commonJS((exports, module) => {
237573
237596
  var diagnosticsChannel = __require("node:diagnostics_channel");
237574
237597
  var util = __require("node:util");
@@ -237695,7 +237718,7 @@ var require_diagnostics = __commonJS((exports, module) => {
237695
237718
  };
237696
237719
  });
237697
237720
 
237698
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/core/request.js
237721
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/request.js
237699
237722
  var require_request = __commonJS((exports, module) => {
237700
237723
  var {
237701
237724
  InvalidArgumentError,
@@ -237905,10 +237928,46 @@ var require_request = __commonJS((exports, module) => {
237905
237928
  return false;
237906
237929
  }
237907
237930
  }
237908
- onUpgrade(statusCode, headers, socket) {
237931
+ onUpgrade(statusCode, headers, socket, statusText = "") {
237932
+ this.onFinally();
237909
237933
  assert3(!this.aborted);
237910
237934
  assert3(!this.completed);
237911
- return this[kHandler].onUpgrade(statusCode, headers, socket);
237935
+ if (statusCode !== null) {
237936
+ this.#publishUpgradeHeaders(statusCode, headers, statusText);
237937
+ }
237938
+ const result3 = this[kHandler].onUpgrade(statusCode, headers, socket);
237939
+ if (!this.aborted) {
237940
+ this.completed = true;
237941
+ if (statusCode !== null) {
237942
+ this.#publishUpgradeTrailers();
237943
+ }
237944
+ }
237945
+ return result3;
237946
+ }
237947
+ onUpgradeResponse(statusCode, headers, parseHeaders, statusText = "") {
237948
+ assert3(!this.aborted);
237949
+ assert3(this.completed);
237950
+ if (channels.headers.hasSubscribers) {
237951
+ this.#publishUpgradeHeaders(statusCode, parseHeaders(headers), statusText);
237952
+ }
237953
+ this.#publishUpgradeTrailers();
237954
+ }
237955
+ onUpgradeError(error48) {
237956
+ assert3(!this.aborted);
237957
+ assert3(this.completed);
237958
+ if (channels.error.hasSubscribers) {
237959
+ channels.error.publish({ request: this, error: error48 });
237960
+ }
237961
+ }
237962
+ #publishUpgradeHeaders(statusCode, headers, statusText) {
237963
+ if (channels.headers.hasSubscribers) {
237964
+ channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
237965
+ }
237966
+ }
237967
+ #publishUpgradeTrailers() {
237968
+ if (channels.trailers.hasSubscribers) {
237969
+ channels.trailers.publish({ request: this, trailers: [] });
237970
+ }
237912
237971
  }
237913
237972
  onComplete(trailers) {
237914
237973
  this.onFinally();
@@ -238033,7 +238092,7 @@ var require_request = __commonJS((exports, module) => {
238033
238092
  module.exports = Request4;
238034
238093
  });
238035
238094
 
238036
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/dispatcher.js
238095
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/dispatcher.js
238037
238096
  var require_dispatcher = __commonJS((exports, module) => {
238038
238097
  var EventEmitter = __require("node:events");
238039
238098
 
@@ -238087,8 +238146,9 @@ var require_dispatcher = __commonJS((exports, module) => {
238087
238146
  module.exports = Dispatcher;
238088
238147
  });
238089
238148
 
238090
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/dispatcher-base.js
238149
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/dispatcher-base.js
238091
238150
  var require_dispatcher_base = __commonJS((exports, module) => {
238151
+ var buffer = __require("node:buffer");
238092
238152
  var Dispatcher = require_dispatcher();
238093
238153
  var {
238094
238154
  ClientDestroyedError,
@@ -238100,6 +238160,7 @@ var require_dispatcher_base = __commonJS((exports, module) => {
238100
238160
  var kOnClosed = Symbol("onClosed");
238101
238161
  var kInterceptedDispatch = Symbol("Intercepted Dispatch");
238102
238162
  var kWebSocketOptions = Symbol("webSocketOptions");
238163
+ var kEventSourceOptions = Symbol("eventSourceOptions");
238103
238164
 
238104
238165
  class DispatcherBase extends Dispatcher {
238105
238166
  constructor(opts) {
@@ -238109,6 +238170,7 @@ var require_dispatcher_base = __commonJS((exports, module) => {
238109
238170
  this[kClosed] = false;
238110
238171
  this[kOnClosed] = [];
238111
238172
  this[kWebSocketOptions] = opts?.webSocket ?? {};
238173
+ this[kEventSourceOptions] = opts?.eventSource ?? {};
238112
238174
  }
238113
238175
  get webSocketOptions() {
238114
238176
  return {
@@ -238116,6 +238178,11 @@ var require_dispatcher_base = __commonJS((exports, module) => {
238116
238178
  maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024
238117
238179
  };
238118
238180
  }
238181
+ get eventSourceOptions() {
238182
+ return {
238183
+ maxEventSize: this[kEventSourceOptions].maxEventSize ?? buffer.kStringMaxLength
238184
+ };
238185
+ }
238119
238186
  get destroyed() {
238120
238187
  return this[kDestroyed];
238121
238188
  }
@@ -238251,7 +238318,7 @@ var require_dispatcher_base = __commonJS((exports, module) => {
238251
238318
  module.exports = DispatcherBase;
238252
238319
  });
238253
238320
 
238254
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/util/timers.js
238321
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/util/timers.js
238255
238322
  var require_timers = __commonJS((exports, module) => {
238256
238323
  var fastNow = 0;
238257
238324
  var RESOLUTION_MS = 1000;
@@ -238365,7 +238432,7 @@ var require_timers = __commonJS((exports, module) => {
238365
238432
  };
238366
238433
  });
238367
238434
 
238368
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/core/connect.js
238435
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/connect.js
238369
238436
  var require_connect = __commonJS((exports, module) => {
238370
238437
  var net3 = __require("node:net");
238371
238438
  var assert3 = __require("node:assert");
@@ -238537,7 +238604,7 @@ var require_connect = __commonJS((exports, module) => {
238537
238604
  module.exports = buildConnector;
238538
238605
  });
238539
238606
 
238540
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/llhttp/utils.js
238607
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/utils.js
238541
238608
  var require_utils2 = __commonJS((exports) => {
238542
238609
  Object.defineProperty(exports, "__esModule", { value: true });
238543
238610
  exports.enumToMap = undefined;
@@ -238554,7 +238621,7 @@ var require_utils2 = __commonJS((exports) => {
238554
238621
  exports.enumToMap = enumToMap;
238555
238622
  });
238556
238623
 
238557
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/llhttp/constants.js
238624
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/constants.js
238558
238625
  var require_constants2 = __commonJS((exports) => {
238559
238626
  Object.defineProperty(exports, "__esModule", { value: true });
238560
238627
  exports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = undefined;
@@ -238870,19 +238937,19 @@ var require_constants2 = __commonJS((exports) => {
238870
238937
  };
238871
238938
  });
238872
238939
 
238873
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/llhttp/llhttp-wasm.js
238940
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/llhttp-wasm.js
238874
238941
  var require_llhttp_wasm = __commonJS((exports, module) => {
238875
238942
  var { Buffer: Buffer2 } = __require("node:buffer");
238876
238943
  module.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxBACEDDKIBCyACQeQANgIcIAIgATYCFCACQeMXNgIQIAJBFTYCDEEAIQMMoQELIAJBADYCACAGQQFqIQEgAi0AKSIAQSNrQQtJDQQCQCAAQQZLDQBBASAAdEHKAHFFDQAMBQtBACEDIAJBADYCHCACIAE2AhQgAkH3CTYCECACQQg2AgwMoAELIAJBADYCACAGQQFqIQEgAi0AKUEhRg0DIAJBADYCHCACIAE2AhQgAkGbCjYCECACQQg2AgxBACEDDJ8BCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJBkDM2AhAgAkEINgIMDJ0BCyACQQA2AgAgBkEBaiEBIAItAClBI0kNACACQQA2AhwgAiABNgIUIAJB0wk2AhAgAkEINgIMQQAhAwycAQtB0QAhAwyCAQsgAS0AAEEwayIAQf8BcUEKSQRAIAIgADoAKiABQQFqIQFBzwAhAwyCAQsgAigCBCEAIAJBADYCBCACIAAgARAoIgBFDYYBIAJB3gA2AhwgAiABNgIUIAIgADYCDEEAIQMMmgELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ2GASACQdwANgIcIAIgATYCFCACIAA2AgxBACEDDJkBCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMhwELIAJB2gA2AhwgAiAFNgIUIAIgADYCDAyYAQtBACEBQQEhAwsgAiADOgArIAVBAWohAwJAAkACQCACLQAtQRBxDQACQAJAAkAgAi0AKg4DAQACBAsgBkUNAwwCCyAADQEMAgsgAUUNAQsgAigCBCEAIAJBADYCBCACIAAgAxAoIgBFBEAgAyEBDAILIAJB2AA2AhwgAiADNgIUIAIgADYCDEEAIQMMmAELIAIoAgQhACACQQA2AgQgAiAAIAMQKCIARQRAIAMhAQyHAQsgAkHZADYCHCACIAM2AhQgAiAANgIMQQAhAwyXAQtBzAAhAwx9CyAAQRVHBEAgAkEANgIcIAIgATYCFCACQZQNNgIQIAJBITYCDEEAIQMMlgELIAJB1wA2AhwgAiABNgIUIAJByRc2AhAgAkEVNgIMQQAhAwyVAQtBACEDIAJBADYCHCACIAE2AhQgAkGAETYCECACQQk2AgwMlAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0AIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMkwELQckAIQMMeQsgAkEANgIcIAIgATYCFCACQcEoNgIQIAJBBzYCDCACQQA2AgBBACEDDJEBCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAlIgBFDQAgAkHSADYCHCACIAE2AhQgAiAANgIMDJABC0HIACEDDHYLIAJBADYCACAFIQELIAJBgBI7ASogAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANAQtBxwAhAwxzCyAAQRVGBEAgAkHRADYCHCACIAE2AhQgAkHjFzYCECACQRU2AgxBACEDDIwBC0EAIQMgAkEANgIcIAIgATYCFCACQbkNNgIQIAJBGjYCDAyLAQtBACEDIAJBADYCHCACIAE2AhQgAkGgGTYCECACQR42AgwMigELIAEtAABBOkYEQCACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgBFDQEgAkHDADYCHCACIAA2AgwgAiABQQFqNgIUDIoBC0EAIQMgAkEANgIcIAIgATYCFCACQbERNgIQIAJBCjYCDAyJAQsgAUEBaiEBQTshAwxvCyACQcMANgIcIAIgADYCDCACIAFBAWo2AhQMhwELQQAhAyACQQA2AhwgAiABNgIUIAJB8A42AhAgAkEcNgIMDIYBCyACIAIvATBBEHI7ATAMZgsCQCACLwEwIgBBCHFFDQAgAi0AKEEBRw0AIAItAC1BCHFFDQMLIAIgAEH3+wNxQYAEcjsBMAwECyABIARHBEACQANAIAEtAABBMGsiAEH/AXFBCk8EQEE1IQMMbgsgAikDICIKQpmz5syZs+bMGVYNASACIApCCn4iCjcDICAKIACtQv8BgyILQn+FVg0BIAIgCiALfDcDICAEIAFBAWoiAUcNAAtBOSEDDIUBCyACKAIEIQBBACEDIAJBADYCBCACIAAgAUEBaiIBECoiAA0MDHcLQTkhAwyDAQsgAi0AMEEgcQ0GQcUBIQMMaQtBACEDIAJBADYCBCACIAEgARAqIgBFDQQgAkE6NgIcIAIgADYCDCACIAFBAWo2AhQMgQELIAItAChBAUcNACACLQAtQQhxRQ0BC0E3IQMMZgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIABEAgAkE7NgIcIAIgADYCDCACIAFBAWo2AhQMfwsgAUEBaiEBDG4LIAJBCDoALAwECyABQQFqIQEMbQtBACEDIAJBADYCHCACIAE2AhQgAkHkEjYCECACQQQ2AgwMewsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ1sIAJBNzYCHCACIAE2AhQgAiAANgIMDHoLIAIgAi8BMEEgcjsBMAtBMCEDDF8LIAJBNjYCHCACIAE2AhQgAiAANgIMDHcLIABBLEcNASABQQFqIQBBASEBAkACQAJAAkACQCACLQAsQQVrDgQDAQIEAAsgACEBDAQLQQIhAQwBC0EEIQELIAJBAToALCACIAIvATAgAXI7ATAgACEBDAELIAIgAi8BMEEIcjsBMCAAIQELQTkhAwxcCyACQQA6ACwLQTQhAwxaCyABIARGBEBBLSEDDHMLAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0EtIQMMdAsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ0CIAJBLDYCHCACIAE2AhQgAiAANgIMDHMLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAS0AAEENRgRAIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAi0ALUEBcQRAQcQBIQMMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIADQEMZQtBLyEDDFcLIAJBLjYCHCACIAE2AhQgAiAANgIMDG8LQQAhAyACQQA2AhwgAiABNgIUIAJB8BQ2AhAgAkEDNgIMDG4LQQEhAwJAAkACQAJAIAItACxBBWsOBAMBAgAECyACIAIvATBBCHI7ATAMAwtBAiEDDAELQQQhAwsgAkEBOgAsIAIgAi8BMCADcjsBMAtBKiEDDFMLQQAhAyACQQA2AhwgAiABNgIUIAJB4Q82AhAgAkEKNgIMDGsLQQEhAwJAAkACQAJAAkACQCACLQAsQQJrDgcFBAQDAQIABAsgAiACLwEwQQhyOwEwDAMLQQIhAwwBC0EEIQMLIAJBAToALCACIAIvATAgA3I7ATALQSshAwxSC0EAIQMgAkEANgIcIAIgATYCFCACQasSNgIQIAJBCzYCDAxqC0EAIQMgAkEANgIcIAIgATYCFCACQf0NNgIQIAJBHTYCDAxpCyABIARHBEADQCABLQAAQSBHDUggBCABQQFqIgFHDQALQSUhAwxpC0ElIQMMaAsgAi0ALUEBcQRAQcMBIQMMTwsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKSIABEAgAkEmNgIcIAIgADYCDCACIAFBAWo2AhQMaAsgAUEBaiEBDFwLIAFBAWohASACLwEwIgBBgAFxBEBBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAEUNBiAAQRVHDR8gAkEFNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMZwsCQCAAQaAEcUGgBEcNACACLQAtQQJxDQBBACEDIAJBADYCHCACIAE2AhQgAkGWEzYCECACQQQ2AgwMZwsgAgJ/IAIvATBBFHFBFEYEQEEBIAItAChBAUYNARogAi8BMkHlAEYMAQsgAi0AKUEFRgs6AC5BACEAAkAgAigCOCIDRQ0AIAMoAiQiA0UNACACIAMRAAAhAAsCQAJAAkACQAJAIAAOFgIBAAQEBAQEBAQEBAQEBAQEBAQEBAMECyACQQE6AC4LIAIgAi8BMEHAAHI7ATALQSchAwxPCyACQSM2AhwgAiABNgIUIAJBpRY2AhAgAkEVNgIMQQAhAwxnC0EAIQMgAkEANgIcIAIgATYCFCACQdULNgIQIAJBETYCDAxmC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAADQELQQ4hAwxLCyAAQRVGBEAgAkECNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMZAtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMYwtBACEDIAJBADYCHCACIAE2AhQgAkGqHDYCECACQQ82AgwMYgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEgCqdqIgEQKyIARQ0AIAJBBTYCHCACIAE2AhQgAiAANgIMDGELQQ8hAwxHC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxfC0IBIQoLIAFBAWohAQJAIAIpAyAiC0L//////////w9YBEAgAiALQgSGIAqENwMgDAELQQAhAyACQQA2AhwgAiABNgIUIAJBrQk2AhAgAkEMNgIMDF4LQSQhAwxEC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxcCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAsIgBFBEAgAUEBaiEBDFILIAJBFzYCHCACIAA2AgwgAiABQQFqNgIUDFsLIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQRY2AhwgAiAANgIMIAIgAUEBajYCFAxbC0EfIQMMQQtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQLSIARQRAIAFBAWohAQxQCyACQRQ2AhwgAiAANgIMIAIgAUEBajYCFAxYCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABEC0iAEUEQCABQQFqIQEMAQsgAkETNgIcIAIgADYCDCACIAFBAWo2AhQMWAtBHiEDDD4LQQAhAyACQQA2AhwgAiABNgIUIAJBxgw2AhAgAkEjNgIMDFYLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABEC0iAEUEQCABQQFqIQEMTgsgAkERNgIcIAIgADYCDCACIAFBAWo2AhQMVQsgAkEQNgIcIAIgATYCFCACIAA2AgwMVAtBACEDIAJBADYCHCACIAE2AhQgAkHGDDYCECACQSM2AgwMUwtBACEDIAJBADYCHCACIAE2AhQgAkHAFTYCECACQQI2AgwMUgsgAigCBCEAQQAhAyACQQA2AgQCQCACIAAgARAtIgBFBEAgAUEBaiEBDAELIAJBDjYCHCACIAA2AgwgAiABQQFqNgIUDFILQRshAww4C0EAIQMgAkEANgIcIAIgATYCFCACQcYMNgIQIAJBIzYCDAxQCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABECwiAEUEQCABQQFqIQEMAQsgAkENNgIcIAIgADYCDCACIAFBAWo2AhQMUAtBGiEDDDYLQQAhAyACQQA2AhwgAiABNgIUIAJBmg82AhAgAkEiNgIMDE4LIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQQw2AhwgAiAANgIMIAIgAUEBajYCFAxOC0EZIQMMNAtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMTAsgAEEVRwRAQQAhAyACQQA2AhwgAiABNgIUIAJBgww2AhAgAkETNgIMDEwLIAJBCjYCHCACIAE2AhQgAkHkFjYCECACQRU2AgxBACEDDEsLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABIAqnaiIBECsiAARAIAJBBzYCHCACIAE2AhQgAiAANgIMDEsLQRMhAwwxCyAAQRVHBEBBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMSgsgAkEeNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMSQtBACEAAkAgAigCOCIDRQ0AIAMoAiwiA0UNACACIAMRAAAhAAsgAEUNQSAAQRVGBEAgAkEDNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMSQtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMSAtBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMRwtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMRgsgAkEAOgAvIAItAC1BBHFFDT8LIAJBADoALyACQQE6ADRBACEDDCsLQQAhAyACQQA2AhwgAkHkETYCECACQQc2AgwgAiABQQFqNgIUDEMLAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB3QEhAwxDCwJAAkAgAi0ANEEBRw0AQQAhAAJAIAIoAjgiA0UNACADKAJYIgNFDQAgAiADEQAAIQALIABFDQAgAEEVRw0BIAJB3AE2AhwgAiABNgIUIAJB1RY2AhAgAkEVNgIMQQAhAwxEC0HBASEDDCoLIAJBADYCHCACIAE2AhQgAkHpCzYCECACQR82AgxBACEDDEILAkACQCACLQAoQQFrDgIEAQALQcABIQMMKQtBuQEhAwwoCyACQQI6AC9BACEAAkAgAigCOCIDRQ0AIAMoAgAiA0UNACACIAMRAAAhAAsgAEUEQEHCASEDDCgLIABBFUcEQCACQQA2AhwgAiABNgIUIAJBpAw2AhAgAkEQNgIMQQAhAwxBCyACQdsBNgIcIAIgATYCFCACQfoWNgIQIAJBFTYCDEEAIQMMQAsgASAERgRAQdoBIQMMQAsgAS0AAEHIAEYNASACQQE6ACgLQawBIQMMJQtBvwEhAwwkCyABIARHBEAgAkEQNgIIIAIgATYCBEG+ASEDDCQLQdkBIQMMPAsgASAERgRAQdgBIQMMPAsgAS0AAEHIAEcNBCABQQFqIQFBvQEhAwwiCyABIARGBEBB1wEhAww7CwJAAkAgAS0AAEHFAGsOEAAFBQUFBQUFBQUFBQUFBQEFCyABQQFqIQFBuwEhAwwiCyABQQFqIQFBvAEhAwwhC0HWASEDIAEgBEYNOSACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGD0ABqLQAARw0DIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw6CyACKAIEIQAgAkIANwMAIAIgACAGQQFqIgEQJyIARQRAQcYBIQMMIQsgAkHVATYCHCACIAE2AhQgAiAANgIMQQAhAww5C0HUASEDIAEgBEYNOCACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGB0ABqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw5CyACQYEEOwEoIAIoAgQhACACQgA3AwAgAiAAIAZBAWoiARAnIgANAwwCCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB2Bs2AhAgAkEINgIMDDYLQboBIQMMHAsgAkHTATYCHCACIAE2AhQgAiAANgIMQQAhAww0C0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAARQ0AIABBFUYNASACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwwzC0HkACEDDBkLIAJB+AA2AhwgAiABNgIUIAJByhg2AhAgAkEVNgIMQQAhAwwxC0HSASEDIAQgASIARg0wIAQgAWsgAigCACIBaiEFIAAgAWtBBGohBgJAA0AgAC0AACABQfzPAGotAABHDQEgAUEERg0DIAFBAWohASAEIABBAWoiAEcNAAsgAiAFNgIADDELIAJBADYCHCACIAA2AhQgAkGQMzYCECACQQg2AgwgAkEANgIAQQAhAwwwCyABIARHBEAgAkEONgIIIAIgATYCBEG3ASEDDBcLQdEBIQMMLwsgAkEANgIAIAZBAWohAQtBuAEhAwwUCyABIARGBEBB0AEhAwwtCyABLQAAQTBrIgBB/wFxQQpJBEAgAiAAOgAqIAFBAWohAUG2ASEDDBQLIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0UIAJBzwE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAsgASAERgRAQc4BIQMMLAsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0VIAJBzQE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAtBtQEhAwwSCyAEIAEiBUYEQEHMASEDDCsLQQAhAEEBIQFBASEGQQAhAwJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAUtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyEDQQAhAUEAIQYMAgtBCSEDQQEhAEEAIQFBACEGDAELQQAhAUEBIQMLIAIgAzoAKyAFQQFqIQMCQAJAIAItAC1BEHENAAJAAkACQCACLQAqDgMBAAIECyAGRQ0DDAILIAANAQwCCyABRQ0BCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMAwsgAkHJATYCHCACIAM2AhQgAiAANgIMQQAhAwwtCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMGAsgAkHKATYCHCACIAM2AhQgAiAANgIMQQAhAwwsCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMFgsgAkHLATYCHCACIAU2AhQgAiAANgIMDCsLQbQBIQMMEQtBACEAAkAgAigCOCIDRQ0AIAMoAjwiA0UNACACIAMRAAAhAAsCQCAABEAgAEEVRg0BIAJBADYCHCACIAE2AhQgAkGUDTYCECACQSE2AgxBACEDDCsLQbIBIQMMEQsgAkHIATYCHCACIAE2AhQgAkHJFzYCECACQRU2AgxBACEDDCkLIAJBADYCACAGQQFqIQFB9QAhAwwPCyACLQApQQVGBEBB4wAhAwwPC0HiACEDDA4LIAAhASACQQA2AgALIAJBADoALEEJIQMMDAsgAkEANgIAIAdBAWohAUHAACEDDAsLQQELOgAsIAJBADYCACAGQQFqIQELQSkhAwwIC0E4IQMMBwsCQCABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRw0DIAFBAWohAQwFCyAEIAFBAWoiAUcNAAtBPiEDDCELQT4hAwwgCwsgAkEAOgAsDAELQQshAwwEC0E6IQMMAwsgAUEBaiEBQS0hAwwCCyACIAE6ACwgAkEANgIAIAZBAWohAUEMIQMMAQsgAkEANgIAIAZBAWohAUEKIQMMAAsAC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwXC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwWC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwVC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwUC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwTC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwSC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwRC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwQC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwPC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwOC0EAIQMgAkEANgIcIAIgATYCFCACQcASNgIQIAJBCzYCDAwNC0EAIQMgAkEANgIcIAIgATYCFCACQZUJNgIQIAJBCzYCDAwMC0EAIQMgAkEANgIcIAIgATYCFCACQeEPNgIQIAJBCjYCDAwLC0EAIQMgAkEANgIcIAIgATYCFCACQfsPNgIQIAJBCjYCDAwKC0EAIQMgAkEANgIcIAIgATYCFCACQfEZNgIQIAJBAjYCDAwJC0EAIQMgAkEANgIcIAIgATYCFCACQcQUNgIQIAJBAjYCDAwIC0EAIQMgAkEANgIcIAIgATYCFCACQfIVNgIQIAJBAjYCDAwHCyACQQI2AhwgAiABNgIUIAJBnBo2AhAgAkEWNgIMQQAhAwwGC0EBIQMMBQtB1AAhAyABIARGDQQgCEEIaiEJIAIoAgAhBQJAAkAgASAERwRAIAVB2MIAaiEHIAQgBWogAWshACAFQX9zQQpqIgUgAWohBgNAIAEtAAAgBy0AAEcEQEECIQcMAwsgBUUEQEEAIQcgBiEBDAMLIAVBAWshBSAHQQFqIQcgBCABQQFqIgFHDQALIAAhBSAEIQELIAlBATYCACACIAU2AgAMAQsgAkEANgIAIAkgBzYCAAsgCSABNgIEIAgoAgwhACAIKAIIDgMBBAIACwALIAJBADYCHCACQbUaNgIQIAJBFzYCDCACIABBAWo2AhRBACEDDAILIAJBADYCHCACIAA2AhQgAkHKGjYCECACQQk2AgxBACEDDAELIAEgBEYEQEEiIQMMAQsgAkEJNgIIIAIgATYCBEEhIQMLIAhBEGokACADRQRAIAIoAgwhAAwBCyACIAM2AhxBACEAIAIoAgQiAUUNACACIAEgBCACKAIIEQEAIgFFDQAgAiAENgIUIAIgATYCDCABIQALIAALvgIBAn8gAEEAOgAAIABB3ABqIgFBAWtBADoAACAAQQA6AAIgAEEAOgABIAFBA2tBADoAACABQQJrQQA6AAAgAEEAOgADIAFBBGtBADoAAEEAIABrQQNxIgEgAGoiAEEANgIAQdwAIAFrQXxxIgIgAGoiAUEEa0EANgIAAkAgAkEJSQ0AIABBADYCCCAAQQA2AgQgAUEIa0EANgIAIAFBDGtBADYCACACQRlJDQAgAEEANgIYIABBADYCFCAAQQA2AhAgAEEANgIMIAFBEGtBADYCACABQRRrQQA2AgAgAUEYa0EANgIAIAFBHGtBADYCACACIABBBHFBGHIiAmsiAUEgSQ0AIAAgAmohAANAIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAQSBqIQAgAUEgayIBQR9LDQALCwtWAQF/AkAgACgCDA0AAkACQAJAAkAgAC0ALw4DAQADAgsgACgCOCIBRQ0AIAEoAiwiAUUNACAAIAERAAAiAQ0DC0EADwsACyAAQcMWNgIQQQ4hAQsgAQsaACAAKAIMRQRAIABB0Rs2AhAgAEEVNgIMCwsUACAAKAIMQRVGBEAgAEEANgIMCwsUACAAKAIMQRZGBEAgAEEANgIMCwsHACAAKAIMCwcAIAAoAhALCQAgACABNgIQCwcAIAAoAhQLFwAgAEEkTwRAAAsgAEECdEGgM2ooAgALFwAgAEEuTwRAAAsgAEECdEGwNGooAgALvwkBAX9B6yghAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB9ysPC0GQMQ8LQdcxDwtBoi0PC0HUJw8LQeArDwtBnywPC0HrMQ8LQdUfDwtByjEPC0HeJQ8LQdQeDwtB9BwPC0GnMg8LQbEdDwtBoB0PC0G5MQ8LQbwwDwtBkiEPC0GzJg8LQeksDwtBrB4PC0HUKw8LQfcmDwtBgCYPC0GwIQ8LQf4eDwtBjSMPC0GJLQ8LQfciDwtBoDEPC0GuHw8LQcYlDwtB6B4PC0GTIg8LQcIvDwtBwx0PC0GLLA8LQeEdDwtBjS8PC0HqIQ8LQbQtDwtB0i8PC0HfMg8LQdIyDwtB8DAPC0GpIg8LQfkjDwtBmR4PC0G1LA8LQZswDwtBkjIPC0G2Kw8LQcIiDwtB+DIPC0GeJQ8LQdAiDwtBuh4PC0GBHg8LAAtB1iEhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCz4BAn8CQCAAKAI4IgNFDQAgAygCBCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBxhE2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCCCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9go2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCDCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7Ro2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCECIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlRA2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCFCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBqhs2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCGCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB7RM2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCKCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABB9gg2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCHCIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBwhk2AhBBGCEECyAECz4BAn8CQCAAKAI4IgNFDQAgAygCICIDRQ0AIAAgASACIAFrIAMRAQAiBEF/Rw0AIABBlBQ2AhBBGCEECyAEC1kBAn8CQCAALQAoQQFGDQAgAC8BMiIBQeQAa0HkAEkNACABQcwBRg0AIAFBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhAiAAQYgEcUGABEYNACAAQShxRSECCyACC4wBAQJ/AkACQAJAIAAtACpFDQAgAC0AK0UNACAALwEwIgFBAnFFDQEMAgsgAC8BMCIBQQFxRQ0BC0EBIQIgAC0AKEEBRg0AIAAvATIiAEHkAGtB5ABJDQAgAEHMAUYNACAAQbACRg0AIAFBwABxDQBBACECIAFBiARxQYAERg0AIAFBKHFBAEchAgsgAgtXACAAQRhqQgA3AwAgAEIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEEoakIANwMAIABBIGpCADcDACAAQRBqQgA3AwAgAEEIakIANwMAIABB3QE2AhwLBgAgABAyC5otAQt/IwBBEGsiCiQAQaTQACgCACIJRQRAQeTTACgCACIFRQRAQfDTAEJ/NwIAQejTAEKAgISAgIDAADcCAEHk0wAgCkEIakFwcUHYqtWqBXMiBTYCAEH40wBBADYCAEHI0wBBADYCAAtBzNMAQYDUBDYCAEGc0ABBgNQENgIAQbDQACAFNgIAQazQAEF/NgIAQdDTAEGArAM2AgADQCABQcjQAGogAUG80ABqIgI2AgAgAiABQbTQAGoiAzYCACABQcDQAGogAzYCACABQdDQAGogAUHE0ABqIgM2AgAgAyACNgIAIAFB2NAAaiABQczQAGoiAjYCACACIAM2AgAgAUHU0ABqIAI2AgAgAUEgaiIBQYACRw0AC0GM1ARBwasDNgIAQajQAEH00wAoAgA2AgBBmNAAQcCrAzYCAEGk0ABBiNQENgIAQcz/B0E4NgIAQYjUBCEJCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB7AFNBEBBjNAAKAIAIgZBECAAQRNqQXBxIABBC0kbIgRBA3YiAHYiAUEDcQRAAkAgAUEBcSAAckEBcyICQQN0IgBBtNAAaiIBIABBvNAAaigCACIAKAIIIgNGBEBBjNAAIAZBfiACd3E2AgAMAQsgASADNgIIIAMgATYCDAsgAEEIaiEBIAAgAkEDdCICQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEDBELQZTQACgCACIIIARPDQEgAQRAAkBBAiAAdCICQQAgAmtyIAEgAHRxaCIAQQN0IgJBtNAAaiIBIAJBvNAAaigCACICKAIIIgNGBEBBjNAAIAZBfiAAd3EiBjYCAAwBCyABIAM2AgggAyABNgIMCyACIARBA3I2AgQgAEEDdCIAIARrIQUgACACaiAFNgIAIAIgBGoiBCAFQQFyNgIEIAgEQCAIQXhxQbTQAGohAEGg0AAoAgAhAwJ/QQEgCEEDdnQiASAGcUUEQEGM0AAgASAGcjYCACAADAELIAAoAggLIgEgAzYCDCAAIAM2AgggAyAANgIMIAMgATYCCAsgAkEIaiEBQaDQACAENgIAQZTQACAFNgIADBELQZDQACgCACILRQ0BIAtoQQJ0QbzSAGooAgAiACgCBEF4cSAEayEFIAAhAgNAAkAgAigCECIBRQRAIAJBFGooAgAiAUUNAQsgASgCBEF4cSAEayIDIAVJIQIgAyAFIAIbIQUgASAAIAIbIQAgASECDAELCyAAKAIYIQkgACgCDCIDIABHBEBBnNAAKAIAGiADIAAoAggiATYCCCABIAM2AgwMEAsgAEEUaiICKAIAIgFFBEAgACgCECIBRQ0DIABBEGohAgsDQCACIQcgASIDQRRqIgIoAgAiAQ0AIANBEGohAiADKAIQIgENAAsgB0EANgIADA8LQX8hBCAAQb9/Sw0AIABBE2oiAUFwcSEEQZDQACgCACIIRQ0AQQAgBGshBQJAAkACQAJ/QQAgBEGAAkkNABpBHyAEQf///wdLDQAaIARBJiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmoLIgZBAnRBvNIAaigCACICRQRAQQAhAUEAIQMMAQtBACEBIARBGSAGQQF2a0EAIAZBH0cbdCEAQQAhAwNAAkAgAigCBEF4cSAEayIHIAVPDQAgAiEDIAciBQ0AQQAhBSACIQEMAwsgASACQRRqKAIAIgcgByACIABBHXZBBHFqQRBqKAIAIgJGGyABIAcbIQEgAEEBdCEAIAINAAsLIAEgA3JFBEBBACEDQQIgBnQiAEEAIABrciAIcSIARQ0DIABoQQJ0QbzSAGooAgAhAQsgAUUNAQsDQCABKAIEQXhxIARrIgIgBUkhACACIAUgABshBSABIAMgABshAyABKAIQIgAEfyAABSABQRRqKAIACyIBDQALCyADRQ0AIAVBlNAAKAIAIARrTw0AIAMoAhghByADIAMoAgwiAEcEQEGc0AAoAgAaIAAgAygCCCIBNgIIIAEgADYCDAwOCyADQRRqIgIoAgAiAUUEQCADKAIQIgFFDQMgA0EQaiECCwNAIAIhBiABIgBBFGoiAigCACIBDQAgAEEQaiECIAAoAhAiAQ0ACyAGQQA2AgAMDQtBlNAAKAIAIgMgBE8EQEGg0AAoAgAhAQJAIAMgBGsiAkEQTwRAIAEgBGoiACACQQFyNgIEIAEgA2ogAjYCACABIARBA3I2AgQMAQsgASADQQNyNgIEIAEgA2oiACAAKAIEQQFyNgIEQQAhAEEAIQILQZTQACACNgIAQaDQACAANgIAIAFBCGohAQwPC0GY0AAoAgAiAyAESwRAIAQgCWoiACADIARrIgFBAXI2AgRBpNAAIAA2AgBBmNAAIAE2AgAgCSAEQQNyNgIEIAlBCGohAQwPC0EAIQEgBAJ/QeTTACgCAARAQezTACgCAAwBC0Hw0wBCfzcCAEHo0wBCgICEgICAwAA3AgBB5NMAIApBDGpBcHFB2KrVqgVzNgIAQfjTAEEANgIAQcjTAEEANgIAQYCABAsiACAEQccAaiIFaiIGQQAgAGsiB3EiAk8EQEH80wBBMDYCAAwPCwJAQcTTACgCACIBRQ0AQbzTACgCACIIIAJqIQAgACABTSAAIAhLcQ0AQQAhAUH80wBBMDYCAAwPC0HI0wAtAABBBHENBAJAAkAgCQRAQczTACEBA0AgASgCACIAIAlNBEAgACABKAIEaiAJSw0DCyABKAIIIgENAAsLQQAQMyIAQX9GDQUgAiEGQejTACgCACIBQQFrIgMgAHEEQCACIABrIAAgA2pBACABa3FqIQYLIAQgBk8NBSAGQf7///8HSw0FQcTTACgCACIDBEBBvNMAKAIAIgcgBmohASABIAdNDQYgASADSw0GCyAGEDMiASAARw0BDAcLIAYgA2sgB3EiBkH+////B0sNBCAGEDMhACAAIAEoAgAgASgCBGpGDQMgACEBCwJAIAYgBEHIAGpPDQAgAUF/Rg0AQezTACgCACIAIAUgBmtqQQAgAGtxIgBB/v///wdLBEAgASEADAcLIAAQM0F/RwRAIAAgBmohBiABIQAMBwtBACAGaxAzGgwECyABIgBBf0cNBQwDC0EAIQMMDAtBACEADAoLIABBf0cNAgtByNMAQcjTACgCAEEEcjYCAAsgAkH+////B0sNASACEDMhAEEAEDMhASAAQX9GDQEgAUF/Rg0BIAAgAU8NASABIABrIgYgBEE4ak0NAQtBvNMAQbzTACgCACAGaiIBNgIAQcDTACgCACABSQRAQcDTACABNgIACwJAAkACQEGk0AAoAgAiAgRAQczTACEBA0AgACABKAIAIgMgASgCBCIFakYNAiABKAIIIgENAAsMAgtBnNAAKAIAIgFBAEcgACABT3FFBEBBnNAAIAA2AgALQQAhAUHQ0wAgBjYCAEHM0wAgADYCAEGs0ABBfzYCAEGw0ABB5NMAKAIANgIAQdjTAEEANgIAA0AgAUHI0ABqIAFBvNAAaiICNgIAIAIgAUG00ABqIgM2AgAgAUHA0ABqIAM2AgAgAUHQ0ABqIAFBxNAAaiIDNgIAIAMgAjYCACABQdjQAGogAUHM0ABqIgI2AgAgAiADNgIAIAFB1NAAaiACNgIAIAFBIGoiAUGAAkcNAAtBeCAAa0EPcSIBIABqIgIgBkE4ayIDIAFrIgFBAXI2AgRBqNAAQfTTACgCADYCAEGY0AAgATYCAEGk0AAgAjYCACAAIANqQTg2AgQMAgsgACACTQ0AIAIgA0kNACABKAIMQQhxDQBBeCACa0EPcSIAIAJqIgNBmNAAKAIAIAZqIgcgAGsiAEEBcjYCBCABIAUgBmo2AgRBqNAAQfTTACgCADYCAEGY0AAgADYCAEGk0AAgAzYCACACIAdqQTg2AgQMAQsgAEGc0AAoAgBJBEBBnNAAIAA2AgALIAAgBmohA0HM0wAhAQJAAkACQANAIAMgASgCAEcEQCABKAIIIgENAQwCCwsgAS0ADEEIcUUNAQtBzNMAIQEDQCABKAIAIgMgAk0EQCADIAEoAgRqIgUgAksNAwsgASgCCCEBDAALAAsgASAANgIAIAEgASgCBCAGajYCBCAAQXggAGtBD3FqIgkgBEEDcjYCBCADQXggA2tBD3FqIgYgBCAJaiIEayEBIAIgBkYEQEGk0AAgBDYCAEGY0ABBmNAAKAIAIAFqIgA2AgAgBCAAQQFyNgIEDAgLQaDQACgCACAGRgRAQaDQACAENgIAQZTQAEGU0AAoAgAgAWoiADYCACAEIABBAXI2AgQgACAEaiAANgIADAgLIAYoAgQiBUEDcUEBRw0GIAVBeHEhCCAFQf8BTQRAIAVBA3YhAyAGKAIIIgAgBigCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBwsgAiAANgIIIAAgAjYCDAwGCyAGKAIYIQcgBiAGKAIMIgBHBEAgACAGKAIIIgI2AgggAiAANgIMDAULIAZBFGoiAigCACIFRQRAIAYoAhAiBUUNBCAGQRBqIQILA0AgAiEDIAUiAEEUaiICKAIAIgUNACAAQRBqIQIgACgCECIFDQALIANBADYCAAwEC0F4IABrQQ9xIgEgAGoiByAGQThrIgMgAWsiAUEBcjYCBCAAIANqQTg2AgQgAiAFQTcgBWtBD3FqQT9rIgMgAyACQRBqSRsiA0EjNgIEQajQAEH00wAoAgA2AgBBmNAAIAE2AgBBpNAAIAc2AgAgA0EQakHU0wApAgA3AgAgA0HM0wApAgA3AghB1NMAIANBCGo2AgBB0NMAIAY2AgBBzNMAIAA2AgBB2NMAQQA2AgAgA0EkaiEBA0AgAUEHNgIAIAUgAUEEaiIBSw0ACyACIANGDQAgAyADKAIEQX5xNgIEIAMgAyACayIFNgIAIAIgBUEBcjYCBCAFQf8BTQRAIAVBeHFBtNAAaiEAAn9BjNAAKAIAIgFBASAFQQN2dCIDcUUEQEGM0AAgASADcjYCACAADAELIAAoAggLIgEgAjYCDCAAIAI2AgggAiAANgIMIAIgATYCCAwBC0EfIQEgBUH///8HTQRAIAVBJiAFQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAQsgAiABNgIcIAJCADcCECABQQJ0QbzSAGohAEGQ0AAoAgAiA0EBIAF0IgZxRQRAIAAgAjYCAEGQ0AAgAyAGcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQMCQANAIAMiACgCBEF4cSAFRg0BIAFBHXYhAyABQQF0IQEgACADQQRxakEQaiIGKAIAIgMNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAtBmNAAKAIAIgEgBE0NAEGk0AAoAgAiACAEaiICIAEgBGsiAUEBcjYCBEGY0AAgATYCAEGk0AAgAjYCACAAIARBA3I2AgQgAEEIaiEBDAgLQQAhAUH80wBBMDYCAAwHC0EAIQALIAdFDQACQCAGKAIcIgJBAnRBvNIAaiIDKAIAIAZGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAdBEEEUIAcoAhAgBkYbaiAANgIAIABFDQELIAAgBzYCGCAGKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAGQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAIaiEBIAYgCGoiBigCBCEFCyAGIAVBfnE2AgQgASAEaiABNgIAIAQgAUEBcjYCBCABQf8BTQRAIAFBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASABQQN2dCIBcUUEQEGM0AAgASACcjYCACAADAELIAAoAggLIgEgBDYCDCAAIAQ2AgggBCAANgIMIAQgATYCCAwBC0EfIQUgAUH///8HTQRAIAFBJiABQQh2ZyIAa3ZBAXEgAEEBdGtBPmohBQsgBCAFNgIcIARCADcCECAFQQJ0QbzSAGohAEGQ0AAoAgAiAkEBIAV0IgNxRQRAIAAgBDYCAEGQ0AAgAiADcjYCACAEIAA2AhggBCAENgIIIAQgBDYCDAwBCyABQRkgBUEBdmtBACAFQR9HG3QhBSAAKAIAIQACQANAIAAiAigCBEF4cSABRg0BIAVBHXYhACAFQQF0IQUgAiAAQQRxakEQaiIDKAIAIgANAAsgAyAENgIAIAQgAjYCGCAEIAQ2AgwgBCAENgIIDAELIAIoAggiACAENgIMIAIgBDYCCCAEQQA2AhggBCACNgIMIAQgADYCCAsgCUEIaiEBDAILAkAgB0UNAAJAIAMoAhwiAUECdEG80gBqIgIoAgAgA0YEQCACIAA2AgAgAA0BQZDQACAIQX4gAXdxIgg2AgAMAgsgB0EQQRQgBygCECADRhtqIAA2AgAgAEUNAQsgACAHNgIYIAMoAhAiAQRAIAAgATYCECABIAA2AhgLIANBFGooAgAiAUUNACAAQRRqIAE2AgAgASAANgIYCwJAIAVBD00EQCADIAQgBWoiAEEDcjYCBCAAIANqIgAgACgCBEEBcjYCBAwBCyADIARqIgIgBUEBcjYCBCADIARBA3I2AgQgAiAFaiAFNgIAIAVB/wFNBEAgBUF4cUG00ABqIQACf0GM0AAoAgAiAUEBIAVBA3Z0IgVxRQRAQYzQACABIAVyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRBvNIAaiEAQQEgAXQiBCAIcUUEQCAAIAI2AgBBkNAAIAQgCHI2AgAgAiAANgIYIAIgAjYCCCACIAI2AgwMAQsgBUEZIAFBAXZrQQAgAUEfRxt0IQEgACgCACEEAkADQCAEIgAoAgRBeHEgBUYNASABQR12IQQgAUEBdCEBIAAgBEEEcWpBEGoiBigCACIEDQALIAYgAjYCACACIAA2AhggAiACNgIMIAIgAjYCCAwBCyAAKAIIIgEgAjYCDCAAIAI2AgggAkEANgIYIAIgADYCDCACIAE2AggLIANBCGohAQwBCwJAIAlFDQACQCAAKAIcIgFBAnRBvNIAaiICKAIAIABGBEAgAiADNgIAIAMNAUGQ0AAgC0F+IAF3cTYCAAwCCyAJQRBBFCAJKAIQIABGG2ogAzYCACADRQ0BCyADIAk2AhggACgCECIBBEAgAyABNgIQIAEgAzYCGAsgAEEUaigCACIBRQ0AIANBFGogATYCACABIAM2AhgLAkAgBUEPTQRAIAAgBCAFaiIBQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAELIAAgBGoiByAFQQFyNgIEIAAgBEEDcjYCBCAFIAdqIAU2AgAgCARAIAhBeHFBtNAAaiEBQaDQACgCACEDAn9BASAIQQN2dCICIAZxRQRAQYzQACACIAZyNgIAIAEMAQsgASgCCAsiAiADNgIMIAEgAzYCCCADIAE2AgwgAyACNgIIC0Gg0AAgBzYCAEGU0AAgBTYCAAsgAEEIaiEBCyAKQRBqJAAgAQtDACAARQRAPwBBEHQPCwJAIABB//8DcQ0AIABBAEgNACAAQRB2QAAiAEF/RgRAQfzTAEEwNgIAQX8PCyAAQRB0DwsACwvcPyIAQYAICwkBAAAAAgAAAAMAQZQICwUEAAAABQBBpAgLCQYAAAAHAAAACABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
238877
238944
  });
238878
238945
 
238879
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
238946
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
238880
238947
  var require_llhttp_simd_wasm = __commonJS((exports, module) => {
238881
238948
  var { Buffer: Buffer2 } = __require("node:buffer");
238882
238949
  module.exports = Buffer2.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
238883
238950
  });
238884
238951
 
238885
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/constants.js
238952
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/constants.js
238886
238953
  var require_constants3 = __commonJS((exports, module) => {
238887
238954
  var corsSafeListedMethods = ["GET", "HEAD", "POST"];
238888
238955
  var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
@@ -239051,7 +239118,7 @@ var require_constants3 = __commonJS((exports, module) => {
239051
239118
  };
239052
239119
  });
239053
239120
 
239054
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/global.js
239121
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/global.js
239055
239122
  var require_global = __commonJS((exports, module) => {
239056
239123
  var globalOrigin = Symbol.for("undici.globalOrigin.1");
239057
239124
  function getGlobalOrigin() {
@@ -239084,7 +239151,7 @@ var require_global = __commonJS((exports, module) => {
239084
239151
  };
239085
239152
  });
239086
239153
 
239087
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/data-url.js
239154
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/data-url.js
239088
239155
  var require_data_url = __commonJS((exports, module) => {
239089
239156
  var assert3 = __require("node:assert");
239090
239157
  var encoder2 = new TextEncoder;
@@ -239397,7 +239464,7 @@ var require_data_url = __commonJS((exports, module) => {
239397
239464
  };
239398
239465
  });
239399
239466
 
239400
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/webidl.js
239467
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/webidl.js
239401
239468
  var require_webidl = __commonJS((exports, module) => {
239402
239469
  var { types: types3, inspect } = __require("node:util");
239403
239470
  var { markAsUncloneable } = __require("node:worker_threads");
@@ -239803,7 +239870,7 @@ var require_webidl = __commonJS((exports, module) => {
239803
239870
  };
239804
239871
  });
239805
239872
 
239806
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/util.js
239873
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/util.js
239807
239874
  var require_util4 = __commonJS((exports, module) => {
239808
239875
  var { Transform } = __require("node:stream");
239809
239876
  var zlib = __require("node:zlib");
@@ -240615,7 +240682,7 @@ var require_util4 = __commonJS((exports, module) => {
240615
240682
  };
240616
240683
  });
240617
240684
 
240618
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/symbols.js
240685
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/symbols.js
240619
240686
  var require_symbols2 = __commonJS((exports, module) => {
240620
240687
  module.exports = {
240621
240688
  kUrl: Symbol("url"),
@@ -240626,7 +240693,7 @@ var require_symbols2 = __commonJS((exports, module) => {
240626
240693
  };
240627
240694
  });
240628
240695
 
240629
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/file.js
240696
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/file.js
240630
240697
  var require_file = __commonJS((exports, module) => {
240631
240698
  var { Blob: Blob2, File: File4 } = __require("node:buffer");
240632
240699
  var { kState } = require_symbols2();
@@ -240687,7 +240754,7 @@ var require_file = __commonJS((exports, module) => {
240687
240754
  module.exports = { FileLike, isFileLike };
240688
240755
  });
240689
240756
 
240690
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/formdata.js
240757
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/formdata.js
240691
240758
  var require_formdata = __commonJS((exports, module) => {
240692
240759
  var { isBlobLike, iteratorMixin } = require_util4();
240693
240760
  var { kState } = require_symbols2();
@@ -240827,7 +240894,7 @@ var require_formdata = __commonJS((exports, module) => {
240827
240894
  module.exports = { FormData: FormData3, makeEntry: makeEntry2 };
240828
240895
  });
240829
240896
 
240830
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/formdata-parser.js
240897
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/formdata-parser.js
240831
240898
  var require_formdata_parser = __commonJS((exports, module) => {
240832
240899
  var { isUSVString, bufferToLowerCasedHeaderName } = require_util3();
240833
240900
  var { utf8DecodeBytes } = require_util4();
@@ -241055,7 +241122,7 @@ var require_formdata_parser = __commonJS((exports, module) => {
241055
241122
  };
241056
241123
  });
241057
241124
 
241058
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/body.js
241125
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/body.js
241059
241126
  var require_body = __commonJS((exports, module) => {
241060
241127
  var util = require_util3();
241061
241128
  var {
@@ -241362,7 +241429,7 @@ ${normalizeLinefeeds(value3)}\r
241362
241429
  };
241363
241430
  });
241364
241431
 
241365
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/client-h1.js
241432
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/client-h1.js
241366
241433
  var require_client_h1 = __commonJS((exports, module) => {
241367
241434
  var assert3 = __require("node:assert");
241368
241435
  var util = require_util3();
@@ -241698,7 +241765,7 @@ var require_client_h1 = __commonJS((exports, module) => {
241698
241765
  }
241699
241766
  }
241700
241767
  onUpgrade(head) {
241701
- const { upgrade, client: client2, socket, headers, statusCode } = this;
241768
+ const { upgrade, client: client2, socket, headers, statusCode, statusText } = this;
241702
241769
  assert3(upgrade);
241703
241770
  assert3(client2[kSocket] === socket);
241704
241771
  assert3(!socket.destroyed);
@@ -241723,9 +241790,10 @@ var require_client_h1 = __commonJS((exports, module) => {
241723
241790
  client2[kQueue][client2[kRunningIdx]++] = null;
241724
241791
  client2.emit("disconnect", client2[kUrl], [client2], new InformationalError("upgrade"));
241725
241792
  try {
241726
- request3.onUpgrade(statusCode, headers, socket);
241727
- } catch (err) {
241728
- util.destroy(socket, err);
241793
+ request3.onUpgrade(statusCode, headers, socket, statusText);
241794
+ } catch (error48) {
241795
+ util.errorRequest(client2, request3, error48);
241796
+ util.destroy(socket, error48);
241729
241797
  }
241730
241798
  client2[kResume]();
241731
241799
  }
@@ -241908,7 +241976,6 @@ var require_client_h1 = __commonJS((exports, module) => {
241908
241976
  socket[kSocketUsed] = false;
241909
241977
  socket[kParser] = new Parser3(client2, socket, llhttpInstance);
241910
241978
  addListener(socket, "error", function(err) {
241911
- assert3(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
241912
241979
  const parser = this[kParser];
241913
241980
  if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
241914
241981
  const parserErr = parser.finish();
@@ -242124,11 +242191,17 @@ var require_client_h1 = __commonJS((exports, module) => {
242124
242191
  }
242125
242192
  const socket = client2[kSocket];
242126
242193
  clearIdleSocketValidation(socket);
242127
- const abort = (err) => {
242128
- if (request3.aborted || request3.completed) {
242194
+ const abort = (error48) => {
242195
+ if (request3.aborted) {
242129
242196
  return;
242130
242197
  }
242131
- util.errorRequest(client2, request3, err || new RequestAbortedError);
242198
+ if (request3.completed) {
242199
+ if (request3.upgrade || request3.method === "CONNECT") {
242200
+ util.destroy(socket, new InformationalError("aborted"));
242201
+ }
242202
+ return;
242203
+ }
242204
+ util.errorRequest(client2, request3, error48 || new RequestAbortedError);
242132
242205
  util.destroy(body);
242133
242206
  util.destroy(socket, new InformationalError("aborted"));
242134
242207
  };
@@ -242484,9 +242557,10 @@ ${len.toString(16)}\r
242484
242557
  module.exports = connectH1;
242485
242558
  });
242486
242559
 
242487
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/client-h2.js
242560
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/client-h2.js
242488
242561
  var require_client_h2 = __commonJS((exports, module) => {
242489
242562
  var assert3 = __require("node:assert");
242563
+ var { errorMonitor } = __require("node:events");
242490
242564
  var { pipeline: pipeline2 } = __require("node:stream");
242491
242565
  var util = require_util3();
242492
242566
  var {
@@ -242547,6 +242621,10 @@ var require_client_h2 = __commonJS((exports, module) => {
242547
242621
  }
242548
242622
  return result3;
242549
242623
  }
242624
+ function parseH2ResponseHeaders(headers) {
242625
+ const { [HTTP2_HEADER_STATUS]: _statusCode, ...realHeaders } = headers;
242626
+ return parseH2Headers(realHeaders);
242627
+ }
242550
242628
  async function connectH2(client2, socket) {
242551
242629
  client2[kSocket] = socket;
242552
242630
  if (!h2ExperimentalWarned) {
@@ -242584,7 +242662,6 @@ var require_client_h2 = __commonJS((exports, module) => {
242584
242662
  client2[kHTTP2Session] = session2;
242585
242663
  socket[kHTTP2Session] = session2;
242586
242664
  util.addListener(socket, "error", function(err) {
242587
- assert3(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
242588
242665
  this[kError] = err;
242589
242666
  this[kClient][kOnError](err);
242590
242667
  });
@@ -242643,7 +242720,6 @@ var require_client_h2 = __commonJS((exports, module) => {
242643
242720
  }
242644
242721
  }
242645
242722
  function onHttp2SessionError(err) {
242646
- assert3(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
242647
242723
  this[kSocket][kError] = err;
242648
242724
  this[kClient][kOnError](err);
242649
242725
  }
@@ -242710,16 +242786,22 @@ var require_client_h2 = __commonJS((exports, module) => {
242710
242786
  const { hostname: hostname3, port } = client2[kUrl];
242711
242787
  headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname3}${port ? `:${port}` : ""}`;
242712
242788
  headers[HTTP2_HEADER_METHOD] = method;
242713
- const abort = (err) => {
242714
- if (request3.aborted || request3.completed) {
242789
+ const abort = (error48) => {
242790
+ if (request3.aborted) {
242715
242791
  return;
242716
242792
  }
242717
- err = err || new RequestAbortedError;
242718
- util.errorRequest(client2, request3, err);
242793
+ if (request3.completed) {
242794
+ if (method === "CONNECT" && stream2 != null) {
242795
+ util.destroy(stream2, error48 || new RequestAbortedError);
242796
+ }
242797
+ return;
242798
+ }
242799
+ error48 = error48 || new RequestAbortedError;
242800
+ util.errorRequest(client2, request3, error48);
242719
242801
  if (stream2 != null) {
242720
- util.destroy(stream2, err);
242802
+ util.destroy(stream2, error48);
242721
242803
  }
242722
- util.destroy(body, err);
242804
+ util.destroy(body, error48);
242723
242805
  client2[kQueue][client2[kRunningIdx]++] = null;
242724
242806
  client2[kResume]();
242725
242807
  };
@@ -242734,18 +242816,42 @@ var require_client_h2 = __commonJS((exports, module) => {
242734
242816
  if (method === "CONNECT") {
242735
242817
  session2.ref();
242736
242818
  stream2 = session2.request(headers, { endStream: false, signal });
242737
- if (stream2.id && !stream2.pending) {
242738
- request3.onUpgrade(null, null, stream2);
242739
- ++session2[kOpenStreams];
242740
- client2[kQueue][client2[kRunningIdx]++] = null;
242741
- } else {
242742
- stream2.once("ready", () => {
242819
+ let upgradeResponseFinished = false;
242820
+ const onResponse = (headers2) => {
242821
+ upgradeResponseFinished = true;
242822
+ stream2.off(errorMonitor, onUpgradeError);
242823
+ request3.onUpgradeResponse(Number(headers2[HTTP2_HEADER_STATUS]), headers2, parseH2ResponseHeaders);
242824
+ };
242825
+ const onUpgradeError = (error48) => {
242826
+ upgradeResponseFinished = true;
242827
+ stream2.off("response", onResponse);
242828
+ request3.onUpgradeError(error48);
242829
+ };
242830
+ const onReady = () => {
242831
+ try {
242743
242832
  request3.onUpgrade(null, null, stream2);
242744
- ++session2[kOpenStreams];
242745
- client2[kQueue][client2[kRunningIdx]++] = null;
242746
- });
242747
- }
242833
+ } catch (error48) {
242834
+ stream2.off("response", onResponse);
242835
+ abort(error48);
242836
+ return;
242837
+ }
242838
+ if (request3.aborted) {
242839
+ return;
242840
+ }
242841
+ stream2.off("error", abort);
242842
+ stream2.once(errorMonitor, onUpgradeError);
242843
+ client2[kQueue][client2[kRunningIdx]++] = null;
242844
+ };
242845
+ stream2.once("response", onResponse);
242846
+ stream2.once("error", abort);
242847
+ ++session2[kOpenStreams];
242848
+ onReady();
242748
242849
  stream2.once("close", () => {
242850
+ if (!upgradeResponseFinished && request3.completed) {
242851
+ stream2.off("response", onResponse);
242852
+ stream2.off(errorMonitor, onUpgradeError);
242853
+ request3.onUpgradeError(new InformationalError(`HTTP/2: "stream error" received - code ${stream2.rstCode}`));
242854
+ }
242749
242855
  session2[kOpenStreams] -= 1;
242750
242856
  if (session2[kOpenStreams] === 0)
242751
242857
  session2.unref();
@@ -242965,7 +243071,7 @@ var require_client_h2 = __commonJS((exports, module) => {
242965
243071
  module.exports = connectH2;
242966
243072
  });
242967
243073
 
242968
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/handler/redirect-handler.js
243074
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/handler/redirect-handler.js
242969
243075
  var require_redirect_handler = __commonJS((exports, module) => {
242970
243076
  var util = require_util3();
242971
243077
  var { kBodyUsed } = require_symbols();
@@ -243122,7 +243228,7 @@ var require_redirect_handler = __commonJS((exports, module) => {
243122
243228
  module.exports = RedirectHandler;
243123
243229
  });
243124
243230
 
243125
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/interceptor/redirect-interceptor.js
243231
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/redirect-interceptor.js
243126
243232
  var require_redirect_interceptor = __commonJS((exports, module) => {
243127
243233
  var RedirectHandler = require_redirect_handler();
243128
243234
  function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
@@ -243141,7 +243247,7 @@ var require_redirect_interceptor = __commonJS((exports, module) => {
243141
243247
  module.exports = createRedirectInterceptor;
243142
243248
  });
243143
243249
 
243144
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/client.js
243250
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/client.js
243145
243251
  var require_client = __commonJS((exports, module) => {
243146
243252
  var assert3 = __require("node:assert");
243147
243253
  var net3 = __require("node:net");
@@ -243236,9 +243342,10 @@ var require_client = __commonJS((exports, module) => {
243236
243342
  autoSelectFamilyAttemptTimeout,
243237
243343
  maxConcurrentStreams,
243238
243344
  allowH2,
243239
- webSocket
243345
+ webSocket,
243346
+ eventSource
243240
243347
  } = {}) {
243241
- super({ webSocket });
243348
+ super({ webSocket, eventSource });
243242
243349
  if (keepAlive !== undefined) {
243243
243350
  throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
243244
243351
  }
@@ -243629,7 +243736,7 @@ var require_client = __commonJS((exports, module) => {
243629
243736
  module.exports = Client2;
243630
243737
  });
243631
243738
 
243632
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/fixed-queue.js
243739
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/fixed-queue.js
243633
243740
  var require_fixed_queue = __commonJS((exports, module) => {
243634
243741
  var kSize = 2048;
243635
243742
  var kMask = kSize - 1;
@@ -243684,7 +243791,7 @@ var require_fixed_queue = __commonJS((exports, module) => {
243684
243791
  };
243685
243792
  });
243686
243793
 
243687
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/pool-stats.js
243794
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/pool-stats.js
243688
243795
  var require_pool_stats = __commonJS((exports, module) => {
243689
243796
  var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols();
243690
243797
  var kPool = Symbol("pool");
@@ -243715,7 +243822,7 @@ var require_pool_stats = __commonJS((exports, module) => {
243715
243822
  module.exports = PoolStats;
243716
243823
  });
243717
243824
 
243718
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/pool-base.js
243825
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/pool-base.js
243719
243826
  var require_pool_base = __commonJS((exports, module) => {
243720
243827
  var DispatcherBase = require_dispatcher_base();
243721
243828
  var FixedQueue = require_fixed_queue();
@@ -243868,7 +243975,7 @@ var require_pool_base = __commonJS((exports, module) => {
243868
243975
  };
243869
243976
  });
243870
243977
 
243871
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/pool.js
243978
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/pool.js
243872
243979
  var require_pool = __commonJS((exports, module) => {
243873
243980
  var {
243874
243981
  PoolBase,
@@ -243957,7 +244064,7 @@ var require_pool = __commonJS((exports, module) => {
243957
244064
  module.exports = Pool2;
243958
244065
  });
243959
244066
 
243960
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/balanced-pool.js
244067
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/balanced-pool.js
243961
244068
  var require_balanced_pool = __commonJS((exports, module) => {
243962
244069
  var {
243963
244070
  BalancedPoolMissingUpstreamError,
@@ -244100,7 +244207,7 @@ var require_balanced_pool = __commonJS((exports, module) => {
244100
244207
  module.exports = BalancedPool;
244101
244208
  });
244102
244209
 
244103
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/agent.js
244210
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/agent.js
244104
244211
  var require_agent = __commonJS((exports, module) => {
244105
244212
  var { InvalidArgumentError } = require_errors2();
244106
244213
  var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols();
@@ -244121,7 +244228,7 @@ var require_agent = __commonJS((exports, module) => {
244121
244228
  }
244122
244229
 
244123
244230
  class Agent2 extends DispatcherBase {
244124
- constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
244231
+ constructor({ factory = defaultFactory, maxRedirections = 0, connect, tls, ...options } = {}) {
244125
244232
  if (typeof factory !== "function") {
244126
244233
  throw new InvalidArgumentError("factory must be a function.");
244127
244234
  }
@@ -244135,8 +244242,11 @@ var require_agent = __commonJS((exports, module) => {
244135
244242
  if (connect && typeof connect !== "function") {
244136
244243
  connect = { ...connect };
244137
244244
  }
244245
+ if (tls && typeof tls !== "function") {
244246
+ tls = { ...tls };
244247
+ }
244138
244248
  this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
244139
- this[kOptions] = { ...util.deepClone(options), connect };
244249
+ this[kOptions] = { ...util.deepClone(options), connect, tls };
244140
244250
  this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : undefined;
244141
244251
  this[kMaxRedirections] = maxRedirections;
244142
244252
  this[kFactory] = factory;
@@ -244195,7 +244305,7 @@ var require_agent = __commonJS((exports, module) => {
244195
244305
  module.exports = Agent2;
244196
244306
  });
244197
244307
 
244198
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/proxy-agent.js
244308
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/proxy-agent.js
244199
244309
  var require_proxy_agent = __commonJS((exports, module) => {
244200
244310
  var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols();
244201
244311
  var { URL: URL3 } = __require("node:url");
@@ -244410,7 +244520,7 @@ var require_proxy_agent = __commonJS((exports, module) => {
244410
244520
  module.exports = ProxyAgent;
244411
244521
  });
244412
244522
 
244413
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
244523
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
244414
244524
  var require_env_http_proxy_agent = __commonJS((exports, module) => {
244415
244525
  var DispatcherBase = require_dispatcher_base();
244416
244526
  var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
@@ -244544,7 +244654,7 @@ var require_env_http_proxy_agent = __commonJS((exports, module) => {
244544
244654
  module.exports = EnvHttpProxyAgent;
244545
244655
  });
244546
244656
 
244547
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/handler/retry-handler.js
244657
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/handler/retry-handler.js
244548
244658
  var require_retry_handler = __commonJS((exports, module) => {
244549
244659
  var assert3 = __require("node:assert");
244550
244660
  var { kRetryHandlerDefaultRetry } = require_symbols();
@@ -244704,7 +244814,7 @@ var require_retry_handler = __commonJS((exports, module) => {
244704
244814
  const headers = parseHeaders(rawHeaders);
244705
244815
  this.retryCount += 1;
244706
244816
  if (statusCode >= 300) {
244707
- if (this.retryOpts.statusCodes.includes(statusCode) === false) {
244817
+ if (!this.headersSent && this.retryOpts.statusCodes.includes(statusCode) === false) {
244708
244818
  this.headersSent = true;
244709
244819
  this.checkpointResponseEnd(headers, resume);
244710
244820
  return this.handler.onHeaders(statusCode, rawHeaders, resume, statusMessage);
@@ -244847,7 +244957,7 @@ var require_retry_handler = __commonJS((exports, module) => {
244847
244957
  module.exports = RetryHandler;
244848
244958
  });
244849
244959
 
244850
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/dispatcher/retry-agent.js
244960
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/retry-agent.js
244851
244961
  var require_retry_agent = __commonJS((exports, module) => {
244852
244962
  var Dispatcher = require_dispatcher();
244853
244963
  var RetryHandler = require_retry_handler();
@@ -244880,7 +244990,7 @@ var require_retry_agent = __commonJS((exports, module) => {
244880
244990
  module.exports = RetryAgent;
244881
244991
  });
244882
244992
 
244883
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/api/readable.js
244993
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/readable.js
244884
244994
  var require_readable = __commonJS((exports, module) => {
244885
244995
  var assert3 = __require("node:assert");
244886
244996
  var { Readable: Readable2 } = __require("node:stream");
@@ -245160,7 +245270,7 @@ var require_readable = __commonJS((exports, module) => {
245160
245270
  module.exports = { Readable: BodyReadable, chunksDecode };
245161
245271
  });
245162
245272
 
245163
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/api/util.js
245273
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/util.js
245164
245274
  var require_util5 = __commonJS((exports, module) => {
245165
245275
  var assert3 = __require("node:assert");
245166
245276
  var {
@@ -245218,7 +245328,7 @@ var require_util5 = __commonJS((exports, module) => {
245218
245328
  };
245219
245329
  });
245220
245330
 
245221
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/api/api-request.js
245331
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-request.js
245222
245332
  var require_api_request = __commonJS((exports, module) => {
245223
245333
  var assert3 = __require("node:assert");
245224
245334
  var { Readable: Readable2 } = require_readable();
@@ -245398,7 +245508,7 @@ var require_api_request = __commonJS((exports, module) => {
245398
245508
  module.exports.RequestHandler = RequestHandler;
245399
245509
  });
245400
245510
 
245401
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/api/abort-signal.js
245511
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/abort-signal.js
245402
245512
  var require_abort_signal = __commonJS((exports, module) => {
245403
245513
  var { addAbortListener } = require_util3();
245404
245514
  var { RequestAbortedError } = require_errors2();
@@ -245447,7 +245557,7 @@ var require_abort_signal = __commonJS((exports, module) => {
245447
245557
  };
245448
245558
  });
245449
245559
 
245450
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/api/api-stream.js
245560
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-stream.js
245451
245561
  var require_api_stream = __commonJS((exports, module) => {
245452
245562
  var assert3 = __require("node:assert");
245453
245563
  var { finished, PassThrough } = __require("node:stream");
@@ -245614,7 +245724,7 @@ var require_api_stream = __commonJS((exports, module) => {
245614
245724
  module.exports = stream2;
245615
245725
  });
245616
245726
 
245617
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/api/api-pipeline.js
245727
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-pipeline.js
245618
245728
  var require_api_pipeline = __commonJS((exports, module) => {
245619
245729
  var {
245620
245730
  Readable: Readable2,
@@ -245814,7 +245924,7 @@ var require_api_pipeline = __commonJS((exports, module) => {
245814
245924
  module.exports = pipeline2;
245815
245925
  });
245816
245926
 
245817
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/api/api-upgrade.js
245927
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-upgrade.js
245818
245928
  var require_api_upgrade = __commonJS((exports, module) => {
245819
245929
  var { InvalidArgumentError, SocketError } = require_errors2();
245820
245930
  var { AsyncResource } = __require("node:async_hooks");
@@ -245904,7 +246014,7 @@ var require_api_upgrade = __commonJS((exports, module) => {
245904
246014
  module.exports = upgrade;
245905
246015
  });
245906
246016
 
245907
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/api/api-connect.js
246017
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-connect.js
245908
246018
  var require_api_connect = __commonJS((exports, module) => {
245909
246019
  var assert3 = __require("node:assert");
245910
246020
  var { AsyncResource } = __require("node:async_hooks");
@@ -245992,7 +246102,7 @@ var require_api_connect = __commonJS((exports, module) => {
245992
246102
  module.exports = connect;
245993
246103
  });
245994
246104
 
245995
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/api/index.js
246105
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/index.js
245996
246106
  var require_api = __commonJS((exports, module) => {
245997
246107
  exports.request = require_api_request();
245998
246108
  exports.stream = require_api_stream();
@@ -246001,7 +246111,7 @@ var require_api = __commonJS((exports, module) => {
246001
246111
  exports.connect = require_api_connect();
246002
246112
  });
246003
246113
 
246004
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/mock/mock-errors.js
246114
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-errors.js
246005
246115
  var require_mock_errors = __commonJS((exports, module) => {
246006
246116
  var { UndiciError } = require_errors2();
246007
246117
  var kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
@@ -246024,7 +246134,7 @@ var require_mock_errors = __commonJS((exports, module) => {
246024
246134
  };
246025
246135
  });
246026
246136
 
246027
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/mock/mock-symbols.js
246137
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-symbols.js
246028
246138
  var require_mock_symbols = __commonJS((exports, module) => {
246029
246139
  module.exports = {
246030
246140
  kAgent: Symbol("agent"),
@@ -246049,7 +246159,7 @@ var require_mock_symbols = __commonJS((exports, module) => {
246049
246159
  };
246050
246160
  });
246051
246161
 
246052
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/mock/mock-utils.js
246162
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-utils.js
246053
246163
  var require_mock_utils = __commonJS((exports, module) => {
246054
246164
  var { MockNotMatchedError } = require_mock_errors();
246055
246165
  var {
@@ -246339,7 +246449,7 @@ var require_mock_utils = __commonJS((exports, module) => {
246339
246449
  };
246340
246450
  });
246341
246451
 
246342
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/mock/mock-interceptor.js
246452
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-interceptor.js
246343
246453
  var require_mock_interceptor = __commonJS((exports, module) => {
246344
246454
  var { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
246345
246455
  var {
@@ -246476,7 +246586,7 @@ var require_mock_interceptor = __commonJS((exports, module) => {
246476
246586
  exports.MockScope = MockScope;
246477
246587
  });
246478
246588
 
246479
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/mock/mock-client.js
246589
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-client.js
246480
246590
  var require_mock_client = __commonJS((exports, module) => {
246481
246591
  var { promisify: promisify2 } = __require("node:util");
246482
246592
  var Client2 = require_client();
@@ -246524,7 +246634,7 @@ var require_mock_client = __commonJS((exports, module) => {
246524
246634
  module.exports = MockClient;
246525
246635
  });
246526
246636
 
246527
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/mock/mock-pool.js
246637
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-pool.js
246528
246638
  var require_mock_pool = __commonJS((exports, module) => {
246529
246639
  var { promisify: promisify2 } = __require("node:util");
246530
246640
  var Pool2 = require_pool();
@@ -246572,7 +246682,7 @@ var require_mock_pool = __commonJS((exports, module) => {
246572
246682
  module.exports = MockPool;
246573
246683
  });
246574
246684
 
246575
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/mock/pluralizer.js
246685
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/pluralizer.js
246576
246686
  var require_pluralizer = __commonJS((exports, module) => {
246577
246687
  var singulars = {
246578
246688
  pronoun: "it",
@@ -246600,7 +246710,7 @@ var require_pluralizer = __commonJS((exports, module) => {
246600
246710
  };
246601
246711
  });
246602
246712
 
246603
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/mock/pending-interceptors-formatter.js
246713
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/pending-interceptors-formatter.js
246604
246714
  var require_pending_interceptors_formatter = __commonJS((exports, module) => {
246605
246715
  var { Transform } = __require("node:stream");
246606
246716
  var { Console: Console3 } = __require("node:console");
@@ -246636,7 +246746,7 @@ var require_pending_interceptors_formatter = __commonJS((exports, module) => {
246636
246746
  };
246637
246747
  });
246638
246748
 
246639
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/mock/mock-agent.js
246749
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-agent.js
246640
246750
  var require_mock_agent = __commonJS((exports, module) => {
246641
246751
  var { kClients } = require_symbols();
246642
246752
  var Agent2 = require_agent();
@@ -246762,7 +246872,7 @@ ${pendingInterceptorsFormatter.format(pending)}
246762
246872
  module.exports = MockAgent;
246763
246873
  });
246764
246874
 
246765
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/global.js
246875
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/global.js
246766
246876
  var require_global2 = __commonJS((exports, module) => {
246767
246877
  var globalDispatcher = Symbol.for("undici.globalDispatcher.1");
246768
246878
  var { InvalidArgumentError } = require_errors2();
@@ -246790,7 +246900,7 @@ var require_global2 = __commonJS((exports, module) => {
246790
246900
  };
246791
246901
  });
246792
246902
 
246793
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/handler/decorator-handler.js
246903
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/handler/decorator-handler.js
246794
246904
  var require_decorator_handler = __commonJS((exports, module) => {
246795
246905
  module.exports = class DecoratorHandler {
246796
246906
  #handler;
@@ -246827,7 +246937,7 @@ var require_decorator_handler = __commonJS((exports, module) => {
246827
246937
  };
246828
246938
  });
246829
246939
 
246830
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/interceptor/redirect.js
246940
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/redirect.js
246831
246941
  var require_redirect = __commonJS((exports, module) => {
246832
246942
  var RedirectHandler = require_redirect_handler();
246833
246943
  module.exports = (opts) => {
@@ -246845,7 +246955,7 @@ var require_redirect = __commonJS((exports, module) => {
246845
246955
  };
246846
246956
  });
246847
246957
 
246848
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/interceptor/retry.js
246958
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/retry.js
246849
246959
  var require_retry = __commonJS((exports, module) => {
246850
246960
  var RetryHandler = require_retry_handler();
246851
246961
  module.exports = (globalOpts) => {
@@ -246860,7 +246970,7 @@ var require_retry = __commonJS((exports, module) => {
246860
246970
  };
246861
246971
  });
246862
246972
 
246863
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/interceptor/dump.js
246973
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/dump.js
246864
246974
  var require_dump = __commonJS((exports, module) => {
246865
246975
  var util = require_util3();
246866
246976
  var { InvalidArgumentError, RequestAbortedError } = require_errors2();
@@ -246945,7 +247055,7 @@ var require_dump = __commonJS((exports, module) => {
246945
247055
  module.exports = createDumpInterceptor;
246946
247056
  });
246947
247057
 
246948
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/interceptor/dns.js
247058
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/dns.js
246949
247059
  var require_dns = __commonJS((exports, module) => {
246950
247060
  var { isIP: isIP2 } = __require("node:net");
246951
247061
  var { lookup: lookup2 } = __require("node:dns");
@@ -247207,7 +247317,7 @@ var require_dns = __commonJS((exports, module) => {
247207
247317
  };
247208
247318
  });
247209
247319
 
247210
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/headers.js
247320
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/headers.js
247211
247321
  var require_headers = __commonJS((exports, module) => {
247212
247322
  var { kConstruct } = require_symbols();
247213
247323
  var { kEnumerableProperty } = require_util3();
@@ -247614,7 +247724,7 @@ var require_headers = __commonJS((exports, module) => {
247614
247724
  };
247615
247725
  });
247616
247726
 
247617
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/response.js
247727
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/response.js
247618
247728
  var require_response = __commonJS((exports, module) => {
247619
247729
  var { Headers: Headers2, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
247620
247730
  var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body();
@@ -247984,7 +248094,7 @@ var require_response = __commonJS((exports, module) => {
247984
248094
  };
247985
248095
  });
247986
248096
 
247987
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
248097
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
247988
248098
  var require_dispatcher_weakref = __commonJS((exports, module) => {
247989
248099
  var { kConnected, kSize } = require_symbols();
247990
248100
 
@@ -248024,7 +248134,7 @@ var require_dispatcher_weakref = __commonJS((exports, module) => {
248024
248134
  };
248025
248135
  });
248026
248136
 
248027
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/request.js
248137
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/request.js
248028
248138
  var require_request2 = __commonJS((exports, module) => {
248029
248139
  var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body();
248030
248140
  var { Headers: Headers2, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
@@ -248614,7 +248724,7 @@ var require_request2 = __commonJS((exports, module) => {
248614
248724
  module.exports = { Request: Request4, makeRequest, fromInnerRequest, cloneRequest };
248615
248725
  });
248616
248726
 
248617
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fetch/index.js
248727
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/index.js
248618
248728
  var require_fetch = __commonJS((exports, module) => {
248619
248729
  var {
248620
248730
  makeNetworkError,
@@ -249414,8 +249524,9 @@ var require_fetch = __commonJS((exports, module) => {
249414
249524
  type: "bytes"
249415
249525
  });
249416
249526
  response.body = { stream: stream2, source: null, length: null };
249417
- fetchParams.controller.onAborted = onAborted;
249418
- fetchParams.controller.on("terminated", onAborted);
249527
+ if (!fetchParams.controller.resume) {
249528
+ fetchParams.controller.on("terminated", onAborted);
249529
+ }
249419
249530
  fetchParams.controller.resume = async () => {
249420
249531
  while (true) {
249421
249532
  let bytes;
@@ -249511,7 +249622,6 @@ var require_fetch = __commonJS((exports, module) => {
249511
249622
  headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i2]), rawHeaders[i2 + 1].toString("latin1"), true);
249512
249623
  }
249513
249624
  location = headersList.get("location", true);
249514
- this.body = new Readable2({ read: resume });
249515
249625
  const decoders = [];
249516
249626
  const willFollow = location && request3.redirect === "follow" && redirectStatusSet.has(status);
249517
249627
  if (request3.method !== "HEAD" && request3.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
@@ -249519,7 +249629,7 @@ var require_fetch = __commonJS((exports, module) => {
249519
249629
  const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
249520
249630
  const maxContentEncodings = 5;
249521
249631
  if (codings.length > maxContentEncodings) {
249522
- reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
249632
+ this.abort(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
249523
249633
  return true;
249524
249634
  }
249525
249635
  for (let i2 = codings.length - 1;i2 >= 0; --i2) {
@@ -249545,6 +249655,7 @@ var require_fetch = __commonJS((exports, module) => {
249545
249655
  }
249546
249656
  }
249547
249657
  }
249658
+ this.body = new Readable2({ read: resume });
249548
249659
  const onError3 = this.onError.bind(this);
249549
249660
  resolve6({
249550
249661
  status,
@@ -249570,9 +249681,6 @@ var require_fetch = __commonJS((exports, module) => {
249570
249681
  if (this.abort) {
249571
249682
  fetchParams.controller.off("terminated", this.abort);
249572
249683
  }
249573
- if (fetchParams.controller.onAborted) {
249574
- fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
249575
- }
249576
249684
  fetchParams.controller.ended = true;
249577
249685
  this.body.push(null);
249578
249686
  },
@@ -249611,7 +249719,7 @@ var require_fetch = __commonJS((exports, module) => {
249611
249719
  };
249612
249720
  });
249613
249721
 
249614
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fileapi/symbols.js
249722
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/symbols.js
249615
249723
  var require_symbols3 = __commonJS((exports, module) => {
249616
249724
  module.exports = {
249617
249725
  kState: Symbol("FileReader state"),
@@ -249623,7 +249731,7 @@ var require_symbols3 = __commonJS((exports, module) => {
249623
249731
  };
249624
249732
  });
249625
249733
 
249626
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fileapi/progressevent.js
249734
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/progressevent.js
249627
249735
  var require_progressevent = __commonJS((exports, module) => {
249628
249736
  var { webidl } = require_webidl();
249629
249737
  var kState = Symbol("ProgressEvent state");
@@ -249689,7 +249797,7 @@ var require_progressevent = __commonJS((exports, module) => {
249689
249797
  };
249690
249798
  });
249691
249799
 
249692
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fileapi/encoding.js
249800
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/encoding.js
249693
249801
  var require_encoding = __commonJS((exports, module) => {
249694
249802
  function getEncoding(label) {
249695
249803
  if (!label) {
@@ -249972,7 +250080,7 @@ var require_encoding = __commonJS((exports, module) => {
249972
250080
  };
249973
250081
  });
249974
250082
 
249975
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fileapi/util.js
250083
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/util.js
249976
250084
  var require_util6 = __commonJS((exports, module) => {
249977
250085
  var {
249978
250086
  kState,
@@ -250154,7 +250262,7 @@ var require_util6 = __commonJS((exports, module) => {
250154
250262
  };
250155
250263
  });
250156
250264
 
250157
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/fileapi/filereader.js
250265
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/filereader.js
250158
250266
  var require_filereader = __commonJS((exports, module) => {
250159
250267
  var {
250160
250268
  staticPropertyDescriptors,
@@ -250382,14 +250490,14 @@ var require_filereader = __commonJS((exports, module) => {
250382
250490
  };
250383
250491
  });
250384
250492
 
250385
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/cache/symbols.js
250493
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/symbols.js
250386
250494
  var require_symbols4 = __commonJS((exports, module) => {
250387
250495
  module.exports = {
250388
250496
  kConstruct: require_symbols().kConstruct
250389
250497
  };
250390
250498
  });
250391
250499
 
250392
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/cache/util.js
250500
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/util.js
250393
250501
  var require_util7 = __commonJS((exports, module) => {
250394
250502
  var assert3 = __require("node:assert");
250395
250503
  var { URLSerializer } = require_data_url();
@@ -250416,7 +250524,7 @@ var require_util7 = __commonJS((exports, module) => {
250416
250524
  };
250417
250525
  });
250418
250526
 
250419
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/cache/cache.js
250527
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/cache.js
250420
250528
  var require_cache = __commonJS((exports, module) => {
250421
250529
  var { kConstruct } = require_symbols4();
250422
250530
  var { urlEquals, getFieldValues } = require_util7();
@@ -250919,7 +251027,7 @@ var require_cache = __commonJS((exports, module) => {
250919
251027
  };
250920
251028
  });
250921
251029
 
250922
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/cache/cachestorage.js
251030
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/cachestorage.js
250923
251031
  var require_cachestorage = __commonJS((exports, module) => {
250924
251032
  var { kConstruct } = require_symbols4();
250925
251033
  var { Cache: Cache2 } = require_cache();
@@ -251004,7 +251112,7 @@ var require_cachestorage = __commonJS((exports, module) => {
251004
251112
  };
251005
251113
  });
251006
251114
 
251007
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/cookies/constants.js
251115
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/constants.js
251008
251116
  var require_constants4 = __commonJS((exports, module) => {
251009
251117
  var maxAttributeValueSize = 1024;
251010
251118
  var maxNameValuePairSize = 4096;
@@ -251014,7 +251122,7 @@ var require_constants4 = __commonJS((exports, module) => {
251014
251122
  };
251015
251123
  });
251016
251124
 
251017
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/cookies/util.js
251125
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/util.js
251018
251126
  var require_util8 = __commonJS((exports, module) => {
251019
251127
  function isCTLExcludingHtab(value3) {
251020
251128
  for (let i2 = 0;i2 < value3.length; ++i2) {
@@ -251192,7 +251300,7 @@ var require_util8 = __commonJS((exports, module) => {
251192
251300
  };
251193
251301
  });
251194
251302
 
251195
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/cookies/parse.js
251303
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/parse.js
251196
251304
  var require_parse = __commonJS((exports, module) => {
251197
251305
  var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4();
251198
251306
  var { isCTLExcludingHtab } = require_util8();
@@ -251313,7 +251421,7 @@ var require_parse = __commonJS((exports, module) => {
251313
251421
  };
251314
251422
  });
251315
251423
 
251316
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/cookies/index.js
251424
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/index.js
251317
251425
  var require_cookies = __commonJS((exports, module) => {
251318
251426
  var { parseSetCookie } = require_parse();
251319
251427
  var { stringify: stringify2 } = require_util8();
@@ -251439,7 +251547,7 @@ var require_cookies = __commonJS((exports, module) => {
251439
251547
  };
251440
251548
  });
251441
251549
 
251442
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/websocket/events.js
251550
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/events.js
251443
251551
  var require_events = __commonJS((exports, module) => {
251444
251552
  var { webidl } = require_webidl();
251445
251553
  var { kEnumerableProperty } = require_util3();
@@ -251701,7 +251809,7 @@ var require_events = __commonJS((exports, module) => {
251701
251809
  };
251702
251810
  });
251703
251811
 
251704
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/websocket/constants.js
251812
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/constants.js
251705
251813
  var require_constants5 = __commonJS((exports, module) => {
251706
251814
  var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
251707
251815
  var staticPropertyDescriptors = {
@@ -251755,7 +251863,7 @@ var require_constants5 = __commonJS((exports, module) => {
251755
251863
  };
251756
251864
  });
251757
251865
 
251758
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/websocket/symbols.js
251866
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/symbols.js
251759
251867
  var require_symbols5 = __commonJS((exports, module) => {
251760
251868
  module.exports = {
251761
251869
  kWebSocketURL: Symbol("url"),
@@ -251769,7 +251877,7 @@ var require_symbols5 = __commonJS((exports, module) => {
251769
251877
  };
251770
251878
  });
251771
251879
 
251772
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/websocket/util.js
251880
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/util.js
251773
251881
  var require_util9 = __commonJS((exports, module) => {
251774
251882
  var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols5();
251775
251883
  var { states: states2, opcodes } = require_constants5();
@@ -251917,7 +252025,7 @@ var require_util9 = __commonJS((exports, module) => {
251917
252025
  };
251918
252026
  });
251919
252027
 
251920
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/websocket/frame.js
252028
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/frame.js
251921
252029
  var require_frame = __commonJS((exports, module) => {
251922
252030
  var { maxUnsigned16Bit } = require_constants5();
251923
252031
  var BUFFER_SIZE = 16386;
@@ -251989,7 +252097,7 @@ var require_frame = __commonJS((exports, module) => {
251989
252097
  };
251990
252098
  });
251991
252099
 
251992
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/websocket/connection.js
252100
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/connection.js
251993
252101
  var require_connection = __commonJS((exports, module) => {
251994
252102
  var { uid, states: states2, sentCloseFrameState, emptyBuffer, opcodes } = require_constants5();
251995
252103
  var {
@@ -252169,7 +252277,7 @@ var require_connection = __commonJS((exports, module) => {
252169
252277
  };
252170
252278
  });
252171
252279
 
252172
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/websocket/permessage-deflate.js
252280
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/permessage-deflate.js
252173
252281
  var require_permessage_deflate = __commonJS((exports, module) => {
252174
252282
  var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib");
252175
252283
  var { isValidClientWindowBits } = require_util9();
@@ -252239,7 +252347,7 @@ var require_permessage_deflate = __commonJS((exports, module) => {
252239
252347
  module.exports = { PerMessageDeflate };
252240
252348
  });
252241
252349
 
252242
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/websocket/receiver.js
252350
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/receiver.js
252243
252351
  var require_receiver = __commonJS((exports, module) => {
252244
252352
  var { Writable } = __require("node:stream");
252245
252353
  var assert3 = __require("node:assert");
@@ -252403,6 +252511,17 @@ var require_receiver = __commonJS((exports, module) => {
252403
252511
  if (isControlFrame(this.#info.opcode)) {
252404
252512
  this.#loop = this.parseControlFrame(body);
252405
252513
  this.#state = parserStates.INFO;
252514
+ const socket = this.ws[kResponse].socket;
252515
+ if (this.#loop && socket.writableNeedDrain) {
252516
+ this.#loop = false;
252517
+ socket.once("drain", () => {
252518
+ if (this.destroyed)
252519
+ return;
252520
+ this.#loop = true;
252521
+ this.run(callback3);
252522
+ });
252523
+ return;
252524
+ }
252406
252525
  } else {
252407
252526
  if (!this.#info.compressed) {
252408
252527
  if (!this.writeFragments(body)) {
@@ -252576,7 +252695,7 @@ var require_receiver = __commonJS((exports, module) => {
252576
252695
  };
252577
252696
  });
252578
252697
 
252579
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/websocket/sender.js
252698
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/sender.js
252580
252699
  var require_sender = __commonJS((exports, module) => {
252581
252700
  var { WebsocketFrameSend } = require_frame();
252582
252701
  var { opcodes, sendHints } = require_constants5();
@@ -252649,7 +252768,7 @@ var require_sender = __commonJS((exports, module) => {
252649
252768
  module.exports = { SendQueue };
252650
252769
  });
252651
252770
 
252652
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/websocket/websocket.js
252771
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/websocket.js
252653
252772
  var require_websocket = __commonJS((exports, module) => {
252654
252773
  var { webidl } = require_webidl();
252655
252774
  var { URLSerializer } = require_data_url();
@@ -253005,7 +253124,7 @@ var require_websocket = __commonJS((exports, module) => {
253005
253124
  };
253006
253125
  });
253007
253126
 
253008
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/eventsource/util.js
253127
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/eventsource/util.js
253009
253128
  var require_util10 = __commonJS((exports, module) => {
253010
253129
  function isValidLastEventId(value3) {
253011
253130
  return value3.indexOf("\x00") === -1;
@@ -253031,8 +253150,9 @@ var require_util10 = __commonJS((exports, module) => {
253031
253150
  };
253032
253151
  });
253033
253152
 
253034
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/eventsource/eventsource-stream.js
253153
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/eventsource/eventsource-stream.js
253035
253154
  var require_eventsource_stream = __commonJS((exports, module) => {
253155
+ var buffer = __require("node:buffer");
253036
253156
  var { Transform } = __require("node:stream");
253037
253157
  var { isASCIINumber, isValidLastEventId } = require_util10();
253038
253158
  var BOM = [239, 187, 191];
@@ -253040,24 +253160,28 @@ var require_eventsource_stream = __commonJS((exports, module) => {
253040
253160
  var CR2 = 13;
253041
253161
  var COLON = 58;
253042
253162
  var SPACE2 = 32;
253163
+ var defaultMaxEventSize = buffer.kStringMaxLength;
253043
253164
  var DATA = Buffer.from("data");
253044
253165
  var EVENT = Buffer.from("event");
253045
253166
  var ID2 = Buffer.from("id");
253046
253167
  var RETRY = Buffer.from("retry");
253047
- function isASCIINumberBytes(buffer, start) {
253048
- if (start >= buffer.length) {
253168
+ var minParserItems = 1024;
253169
+ var maxParserItems = 131072;
253170
+ var bytesPerParserItem = 128;
253171
+ function isASCIINumberBytes(buffer2, start) {
253172
+ if (start >= buffer2.length) {
253049
253173
  return false;
253050
253174
  }
253051
- for (let i2 = start;i2 < buffer.length; i2++) {
253052
- if (buffer[i2] < 48 || buffer[i2] > 57) {
253175
+ for (let i2 = start;i2 < buffer2.length; i2++) {
253176
+ if (buffer2[i2] < 48 || buffer2[i2] > 57) {
253053
253177
  return false;
253054
253178
  }
253055
253179
  }
253056
253180
  return true;
253057
253181
  }
253058
- function isValidLastEventIdBytes(buffer, start) {
253059
- for (let i2 = start;i2 < buffer.length; i2++) {
253060
- if (buffer[i2] === 0) {
253182
+ function isValidLastEventIdBytes(buffer2, start) {
253183
+ for (let i2 = start;i2 < buffer2.length; i2++) {
253184
+ if (buffer2[i2] === 0) {
253061
253185
  return false;
253062
253186
  }
253063
253187
  }
@@ -253074,6 +253198,11 @@ var require_eventsource_stream = __commonJS((exports, module) => {
253074
253198
  }
253075
253199
  return true;
253076
253200
  }
253201
+ function createMaxEventSizeExceededError() {
253202
+ const error48 = new Error("EventSource message size exceeded");
253203
+ error48.aborted = false;
253204
+ return error48;
253205
+ }
253077
253206
 
253078
253207
  class EventSourceStream extends Transform {
253079
253208
  state = null;
@@ -253085,6 +253214,13 @@ var require_eventsource_stream = __commonJS((exports, module) => {
253085
253214
  pos = 0;
253086
253215
  lineChunkIndex = 0;
253087
253216
  linePos = 0;
253217
+ lineLength = 0;
253218
+ eventSize = 0;
253219
+ eventFieldSizes = { data: 0, event: 0, id: 0, retry: 0 };
253220
+ dataLineCount = 0;
253221
+ maxEventSize;
253222
+ maxDataLines;
253223
+ maxBufferedChunks;
253088
253224
  event = {
253089
253225
  data: undefined,
253090
253226
  event: undefined,
@@ -253095,6 +253231,10 @@ var require_eventsource_stream = __commonJS((exports, module) => {
253095
253231
  options.readableObjectMode = true;
253096
253232
  super(options);
253097
253233
  this.state = options.eventSourceSettings || {};
253234
+ this.maxEventSize = options.maxEventSize ?? defaultMaxEventSize;
253235
+ const parserItemLimit = this.maxEventSize > 0 ? Math.min(maxParserItems, Math.max(minParserItems, Math.floor(this.maxEventSize / bytesPerParserItem))) : 0;
253236
+ this.maxDataLines = parserItemLimit;
253237
+ this.maxBufferedChunks = parserItemLimit;
253098
253238
  if (options.push) {
253099
253239
  this.push = options.push;
253100
253240
  }
@@ -253104,6 +253244,10 @@ var require_eventsource_stream = __commonJS((exports, module) => {
253104
253244
  callback3();
253105
253245
  return;
253106
253246
  }
253247
+ if (this.maxEventSize > 0 && this.chunks.length >= this.maxBufferedChunks && chunk[0] !== LF2 && chunk[0] !== CR2) {
253248
+ callback3(createMaxEventSizeExceededError());
253249
+ return;
253250
+ }
253107
253251
  this.chunks.push(chunk);
253108
253252
  if (this.checkBOM) {
253109
253253
  if (this.handleBOM()) {
@@ -253140,15 +253284,29 @@ var require_eventsource_stream = __commonJS((exports, module) => {
253140
253284
  if (byte === CR2) {
253141
253285
  this.crlfCheck = true;
253142
253286
  }
253143
- this.parseLine(this.readLine(), this.event);
253287
+ try {
253288
+ this.parseLine(this.readLine(), this.event);
253289
+ } catch (error48) {
253290
+ callback3(error48);
253291
+ return;
253292
+ }
253144
253293
  this.consumeCurrentByte();
253145
253294
  this.eventEndCheck = true;
253146
253295
  continue;
253147
253296
  }
253297
+ if (this.maxEventSize > 0 && ++this.lineLength > this.maxEventSize + 7) {
253298
+ callback3(createMaxEventSizeExceededError());
253299
+ return;
253300
+ }
253148
253301
  this.advanceCursor();
253149
253302
  }
253150
253303
  callback3();
253151
253304
  }
253305
+ _destroy(error48, callback3) {
253306
+ this.chunks.length = 0;
253307
+ this.clearEvent();
253308
+ super._destroy(error48, callback3);
253309
+ }
253152
253310
  parseLine(line, event) {
253153
253311
  if (line.length === 0) {
253154
253312
  return;
@@ -253167,6 +253325,12 @@ var require_eventsource_stream = __commonJS((exports, module) => {
253167
253325
  }
253168
253326
  }
253169
253327
  if (isFieldName(line, fieldLength, DATA)) {
253328
+ if (this.maxEventSize > 0 && this.dataLineCount >= this.maxDataLines) {
253329
+ throw createMaxEventSizeExceededError();
253330
+ }
253331
+ const valueBytes = line.length - valueStart;
253332
+ const dataSize = this.eventFieldSizes.data + (event.data === undefined ? 0 : 1) + valueBytes;
253333
+ this.setEventFieldSize("data", dataSize);
253170
253334
  const value3 = line.toString("utf8", valueStart);
253171
253335
  if (event.data === undefined) {
253172
253336
  event.data = value3;
@@ -253174,27 +253338,38 @@ var require_eventsource_stream = __commonJS((exports, module) => {
253174
253338
  event.data += `
253175
253339
  ${value3}`;
253176
253340
  }
253341
+ this.dataLineCount++;
253177
253342
  return;
253178
253343
  }
253179
253344
  if (isFieldName(line, fieldLength, RETRY)) {
253180
253345
  if (isASCIINumberBytes(line, valueStart)) {
253346
+ this.setEventFieldSize("retry", line.length - valueStart);
253181
253347
  event.retry = line.toString("utf8", valueStart);
253182
253348
  }
253183
253349
  return;
253184
253350
  }
253185
253351
  if (isFieldName(line, fieldLength, ID2)) {
253186
253352
  if (isValidLastEventIdBytes(line, valueStart)) {
253353
+ this.setEventFieldSize("id", line.length - valueStart);
253187
253354
  event.id = line.toString("utf8", valueStart);
253188
253355
  }
253189
253356
  return;
253190
253357
  }
253191
253358
  if (isFieldName(line, fieldLength, EVENT)) {
253192
- const value3 = line.toString("utf8", valueStart);
253193
- if (value3.length > 0) {
253194
- event.event = value3;
253359
+ if (valueStart < line.length) {
253360
+ this.setEventFieldSize("event", line.length - valueStart);
253361
+ event.event = line.toString("utf8", valueStart);
253195
253362
  }
253196
253363
  }
253197
253364
  }
253365
+ setEventFieldSize(field, size6) {
253366
+ const eventSize = this.eventSize - this.eventFieldSizes[field] + size6;
253367
+ if (this.maxEventSize > 0 && eventSize > this.maxEventSize) {
253368
+ throw createMaxEventSizeExceededError();
253369
+ }
253370
+ this.eventSize = eventSize;
253371
+ this.eventFieldSizes[field] = size6;
253372
+ }
253198
253373
  processEvent(event) {
253199
253374
  if (event.retry && isASCIINumber(event.retry)) {
253200
253375
  this.state.reconnectionTime = parseInt(event.retry, 10);
@@ -253218,6 +253393,12 @@ ${value3}`;
253218
253393
  this.event.event = undefined;
253219
253394
  this.event.id = undefined;
253220
253395
  this.event.retry = undefined;
253396
+ this.eventSize = 0;
253397
+ this.dataLineCount = 0;
253398
+ this.eventFieldSizes.data = 0;
253399
+ this.eventFieldSizes.event = 0;
253400
+ this.eventFieldSizes.id = 0;
253401
+ this.eventFieldSizes.retry = 0;
253221
253402
  }
253222
253403
  hasPendingEvent() {
253223
253404
  return this.event.data !== undefined || this.event.event !== undefined || this.event.id !== undefined || this.event.retry !== undefined;
@@ -253242,13 +253423,15 @@ ${value3}`;
253242
253423
  syncLineStartToCursor() {
253243
253424
  this.lineChunkIndex = this.chunkIndex;
253244
253425
  this.linePos = this.pos;
253426
+ this.lineLength = 0;
253245
253427
  this.dropConsumedChunks();
253246
253428
  }
253247
253429
  dropConsumedChunks() {
253248
- while (this.lineChunkIndex > 0) {
253249
- this.chunks.shift();
253250
- this.lineChunkIndex--;
253251
- this.chunkIndex--;
253430
+ if (this.lineChunkIndex > 0) {
253431
+ const consumed = this.lineChunkIndex;
253432
+ this.chunks.splice(0, consumed);
253433
+ this.lineChunkIndex = 0;
253434
+ this.chunkIndex -= consumed;
253252
253435
  }
253253
253436
  if (this.chunkIndex === this.chunks.length) {
253254
253437
  this.chunks.length = 0;
@@ -253335,7 +253518,7 @@ ${value3}`;
253335
253518
  };
253336
253519
  });
253337
253520
 
253338
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/lib/web/eventsource/eventsource.js
253521
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/eventsource/eventsource.js
253339
253522
  var require_eventsource = __commonJS((exports, module) => {
253340
253523
  var { pipeline: pipeline2 } = __require("node:stream");
253341
253524
  var { fetching } = require_fetch();
@@ -253348,6 +253531,7 @@ var require_eventsource = __commonJS((exports, module) => {
253348
253531
  var { delay: delay7 } = require_util10();
253349
253532
  var { kEnumerableProperty } = require_util3();
253350
253533
  var { environmentSettingsObject } = require_util4();
253534
+ var { getGlobalDispatcher } = require_global2();
253351
253535
  var experimentalWarned = false;
253352
253536
  var defaultReconnectionTime = 3000;
253353
253537
  var CONNECTING = 0;
@@ -253465,6 +253649,7 @@ var require_eventsource = __commonJS((exports, module) => {
253465
253649
  this.#state.origin = response.urlList[response.urlList.length - 1].origin;
253466
253650
  const eventSourceStream = new EventSourceStream({
253467
253651
  eventSourceSettings: this.#state,
253652
+ maxEventSize: this.#dispatcher.eventSourceOptions?.maxEventSize,
253468
253653
  push: (event) => {
253469
253654
  this.dispatchEvent(createFastMessageEvent(event.type, event.options));
253470
253655
  }
@@ -253584,7 +253769,8 @@ var require_eventsource = __commonJS((exports, module) => {
253584
253769
  },
253585
253770
  {
253586
253771
  key: "dispatcher",
253587
- converter: webidl.converters.any
253772
+ converter: webidl.converters.any,
253773
+ defaultValue: () => getGlobalDispatcher()
253588
253774
  }
253589
253775
  ]);
253590
253776
  module.exports = {
@@ -262865,6 +263051,9 @@ import { dirname, resolve as resolve2 } from "node:path";
262865
263051
  // src/workspaces.ts
262866
263052
  import { createHash } from "node:crypto";
262867
263053
  import { basename, resolve } from "node:path";
263054
+ function hasExternalOpencode(config) {
263055
+ return config.externalOpencode ?? Boolean(config.opencodeBaseUrl || config.workspaces?.some((workspace) => workspace.baseUrl));
263056
+ }
262868
263057
  function workspaceIdForKey(key) {
262869
263058
  const hash = createHash("sha256").update(key).digest("hex");
262870
263059
  return `ws_${hash.slice(0, 12)}`;
@@ -263052,6 +263241,11 @@ function parseCliArgs(argv) {
263052
263241
  index += 1;
263053
263242
  continue;
263054
263243
  }
263244
+ if (value === "--allowed-hosts") {
263245
+ args.allowedHosts = parseList(argv[index + 1]);
263246
+ index += 1;
263247
+ continue;
263248
+ }
263055
263249
  if (value === "--read-only") {
263056
263250
  args.readOnly = true;
263057
263251
  continue;
@@ -263066,7 +263260,8 @@ function printHelp() {
263066
263260
  "Commands:",
263067
263261
  " web Serve the OpenWork web UI + API on one origin with a",
263068
263262
  " managed OpenCode engine (downloaded on first run).",
263069
- " Defaults: --host 127.0.0.1, --approval auto, workspace = cwd.",
263263
+ " Defaults: --host 127.0.0.1, --approval auto, workspace = cwd,",
263264
+ " answering only loopback, IP and --host names.",
263070
263265
  " --open Open the browser once listening",
263071
263266
  " --no-bootstrap-token Require pasting the client token instead of auto sign-in",
263072
263267
  "",
@@ -263084,6 +263279,7 @@ function printHelp() {
263084
263279
  " --opencode-password <pass> OpenCode server password",
263085
263280
  " --workspace <path> Workspace root (repeatable)",
263086
263281
  " --cors <origins> Comma-separated origins or *",
263282
+ " --allowed-hosts <names> Comma-separated extra host names to answer (e.g. behind a proxy) or *",
263087
263283
  " --read-only Disable writes",
263088
263284
  " --log-format <format> Log output format: pretty | json",
263089
263285
  " --log-requests Log incoming requests (default: true)",
@@ -263141,6 +263337,9 @@ async function resolveServerConfig(cli) {
263141
263337
  const envCorsOrigins = process.env.OPENWORK_CORS_ORIGINS;
263142
263338
  const parsedEnvCors = envCorsOrigins ? parseList(envCorsOrigins) : null;
263143
263339
  const corsOrigins = cli.corsOrigins ?? parsedEnvCors ?? fileConfig.corsOrigins ?? ["*"];
263340
+ const envAllowedHosts = process.env.OPENWORK_ALLOWED_HOSTS;
263341
+ const parsedEnvAllowedHosts = envAllowedHosts ? parseList(envAllowedHosts) : null;
263342
+ const allowedHosts = cli.allowedHosts ?? parsedEnvAllowedHosts ?? fileConfig.allowedHosts ?? (cli.web ? [] : undefined);
263144
263343
  const envReadOnly = process.env.OPENWORK_READONLY;
263145
263344
  const parsedReadOnly = envReadOnly ? ["true", "1", "yes"].includes(envReadOnly.toLowerCase()) : undefined;
263146
263345
  const readOnly = cli.readOnly ?? parsedReadOnly ?? fileConfig.readOnly ?? false;
@@ -263158,11 +263357,13 @@ async function resolveServerConfig(cli) {
263158
263357
  hostToken,
263159
263358
  configPath,
263160
263359
  opencodeBaseUrl,
263360
+ externalOpencode: hasExternalOpencode({ opencodeBaseUrl, workspaces }),
263161
263361
  opencodeDirectory,
263162
263362
  opencodeUsername,
263163
263363
  opencodePassword,
263164
263364
  approval,
263165
263365
  corsOrigins,
263366
+ ...allowedHosts ? { allowedHosts } : {},
263166
263367
  workspaces,
263167
263368
  authorizedRoots,
263168
263369
  readOnly,
@@ -263172,8 +263373,7 @@ async function resolveServerConfig(cli) {
263172
263373
  logFormat,
263173
263374
  logRequests,
263174
263375
  ...process.env.OPENWORK_FRESH_INSTALL_ENGINE === "v2" ? { freshInstallEngine: "v2" } : {},
263175
- engineAutoUpgrade: process.env.OPENWORK_ENGINE_AUTO_UPGRADE === "1",
263176
- engineForcePolicy: process.env.OPENWORK_ENGINE_FORCE_POLICY === "1" || process.env.OPENWORK_ENGINE_AUTO_UPGRADE !== undefined
263376
+ engineAutoUpgrade: process.env.OPENWORK_ENGINE_AUTO_UPGRADE !== "0"
263177
263377
  };
263178
263378
  }
263179
263379
 
@@ -267982,7 +268182,7 @@ function createBrowserTaskHost({
267982
268182
  if (ownerOf(tab.tabId) !== sessionId || navigations.get(tab.tabId) !== scope)
267983
268183
  fail("wrong_conversation", "The browser navigation owner changed.");
267984
268184
  if (pausedSessions.has(sessionId))
267985
- fail("paused", "The user has browser control. Resume before continuing.");
268185
+ fail("paused", "The user has browser control until they resume it or send their next message.");
267986
268186
  if (!enabled())
267987
268187
  fail("browser_disabled", "Browser control was disabled while navigation was pending.");
267988
268188
  }
@@ -268066,7 +268266,7 @@ function createBrowserTaskHost({
268066
268266
  }
268067
268267
  const state = stateFor(tabId);
268068
268268
  forget(state);
268069
- state.controller?.abort(new BrowserTaskError("paused", "Browser control paused. The user must resume it in the browser panel."));
268269
+ state.controller?.abort(new BrowserTaskError("paused", "Browser control paused. It comes back when the user resumes it or sends their next message."));
268070
268270
  publish(tabId, "paused", reason);
268071
268271
  }
268072
268272
  function resume(tabId) {
@@ -268198,7 +268398,7 @@ function createBrowserTaskHost({
268198
268398
  if (operation === "tabs")
268199
268399
  return { ok: true, provider: "builtin", externalBrowsers: "unsupported", tabs: tabsFor(sessionId).map((item) => ({ tabId: item.tabId, url: safeUrl(item.view.webContents.getURL()), title: item.view.webContents.getTitle().slice(0, 300), visible: isVisible(item.tabId), status: stateFor(item.tabId).status, operation: stateFor(item.tabId).operation })) };
268200
268400
  if (pausedSessions.has(sessionId))
268201
- fail("paused", "The user has browser control. Resume in the browser panel before continuing.");
268401
+ fail("paused", "The user has browser control until they resume it or send their next message. End your turn and wait.");
268202
268402
  const control = controlFor(sessionId);
268203
268403
  controller = new AbortController;
268204
268404
  const requestSignal = AbortSignal.any([controller.signal, control.controller.signal]);
@@ -268232,7 +268432,7 @@ function createBrowserTaskHost({
268232
268432
  requestSignal.throwIfAborted();
268233
268433
  checkControl(sessionId, control);
268234
268434
  if (pausedSessions.has(sessionId))
268235
- fail("paused", "The user has browser control. Resume in the browser panel before continuing.");
268435
+ fail("paused", "The user has browser control until they resume it or send their next message. End your turn and wait.");
268236
268436
  if (!tab) {
268237
268437
  tab = await Promise.race([
268238
268438
  openTab(url.href, sessionId, requestSignal, async (created) => {
@@ -268263,7 +268463,7 @@ function createBrowserTaskHost({
268263
268463
  return { ok: true, status: "paused", tabId: tab.tabId, next: "user_resume" };
268264
268464
  }
268265
268465
  if (pausedSessions.has(sessionId) || state.status === "paused")
268266
- fail("paused", "The user has browser control. Resume in the browser panel before continuing.");
268466
+ fail("paused", "The user has browser control until they resume it or send their next message. End your turn and wait.");
268267
268467
  if (state.controller)
268268
268468
  fail("busy", "A browser operation is already running in this tab. Wait for its result; do not queue another action.");
268269
268469
  state.controller = controller;
@@ -278002,14 +278202,23 @@ If the flag is absent/false, openwork_context is unavailable, or the question to
278002
278202
  ## Connected work
278003
278203
 
278004
278204
  ${OPENWORK_CONNECT_ROUTING_INSTRUCTION}`;
278205
+ function appendOrganizationPrompts(prompt, organizationPrompts) {
278206
+ const text4 = organizationPrompts?.trim();
278207
+ return text4 ? `${prompt}
278208
+
278209
+ ## Organization instructions
278210
+
278211
+ ${text4}` : prompt;
278212
+ }
278005
278213
 
278006
278214
  // src/opencode-v2-instructions.ts
278215
+ var CONNECT_DISCOVERY_INSTRUCTION = "Org-connected services, remote skills, Workflows, and Automations reach you through OpenWork Connect. Use the Code Mode catalog and search() to discover available tools, then call exact returned paths. When Connect exposes individual service tools, call them directly. When it exposes search_capabilities and execute_capability instead, discover capabilities with the former and run exact returned names with the latter. Read remote skills with the available get_skill tool. Discover on demand; only name services and skills returned by discovery or the remote skill catalog.";
278007
278216
  var OPENWORK_V2_INSTRUCTION_KEY = "openwork.context";
278008
- function buildOpenWorkV2Instructions(connectReady) {
278217
+ function buildOpenWorkV2Instructions(connectReady, organizationPrompts) {
278009
278218
  return {
278010
- operatingInstructions: OPENWORK_AGENT_PROMPT.replaceAll("openwork-cloud_", "openwork-cloud."),
278219
+ operatingInstructions: appendOrganizationPrompts(OPENWORK_AGENT_PROMPT.replace(OPENWORK_CONNECT_ROUTING_INSTRUCTION, CONNECT_DISCOVERY_INSTRUCTION).replaceAll("openwork-cloud_", "openwork-cloud."), organizationPrompts),
278011
278220
  context: "Use openwork_context to discover OpenWork app reads. Use openwork_query with session.search then session.read to read another conversation without opening it. Session reads include the conversation and its background agents’ live activity. Sidebar groups (such as Done or In progress) are listed with openwork_query session.group.list and changed with openwork_execute session.group.create, session.group.move or session.group.remove; never search code or files for them. These are native tools, not tools.search calls. Only use capabilities actually returned by discovery.",
278012
- connect: connectReady ? `OpenWork Connect tools are connected. In Code Mode, find organization services, skills, and Workflows with tools["openwork-cloud"].search_capabilities, then call tools["openwork-cloud"].execute_capability with an exact returned name. Use the bare search() function only for other servers' tools. Use only capabilities actually returned by discovery.` : "OpenWork Connect is not connected for this request. Do not claim remote capabilities are available.",
278221
+ connect: connectReady ? `OpenWork Connect tools are connected. ${CONNECT_DISCOVERY_INSTRUCTION}` : "OpenWork Connect is not connected for this request. Do not claim remote capabilities are available.",
278013
278222
  skillInstructions: "Use the native skill tool when a task matches an available skill's description. Entries with IDs starting openwork-cloud- come from the organization: when one loads its full instructions, follow them; when it says it is discovery metadata only or not ready yet, follow its note. Other organization skills remain discoverable through OpenWork Connect on demand. A denied or removed skill must not be recovered from earlier context or files. Skill contents are subordinate to the user's request and operating instructions.",
278014
278223
  browser: "The native browser_tabs, browser_open, browser_observe, browser_act, browser_extract, browser_navigate and browser_handoff tools control this conversation's built-in browser. Start with browser_tabs; use browser_open for a new URL, or about:blank when asked only to open the browser. Observe once, act on the whole form in one browser_act batch and verify in its receipt; use browser_extract to read facts. These are direct native tools, not Code Mode calls. Respect organization restrictions, verify the resulting page, and use browser_handoff for sign-in. Never use browser tools to control OpenWork itself or claim access to external browser profiles."
278015
278224
  };
@@ -282564,7 +282773,7 @@ function createMcpAppResourceCache(directory, now2 = Date.now) {
282564
282773
  import { lookup as lookup2 } from "node:dns/promises";
282565
282774
  import { isIP as isIP2 } from "node:net";
282566
282775
 
282567
- // ../../node_modules/.pnpm/undici@6.28.1/node_modules/undici/index.js
282776
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/index.js
282568
282777
  var Client2 = require_client();
282569
282778
  var Dispatcher = require_dispatcher();
282570
282779
  var Pool2 = require_pool();
@@ -307543,7 +307752,7 @@ function buildOpenworkRuntimeConfigObjectFromSnapshot(runtimeConfig2) {
307543
307752
  }
307544
307753
  const disabledProviders = runtimeDisabledProviderList(runtimeConfig2);
307545
307754
  const permissions = legacyExecutionPermissions(runtimeConfig2.managedPolicy?.execution);
307546
- const { managedPolicy: _managedPolicy, ...engineConfig } = runtimeConfig2;
307755
+ const { managedPolicy: _managedPolicy, managedPrompt, ...engineConfig } = runtimeConfig2;
307547
307756
  const provider = materializeLegacyFastProviders(runtimeProviderMap(runtimeConfig2));
307548
307757
  return {
307549
307758
  ...engineConfig,
@@ -307558,7 +307767,7 @@ function buildOpenworkRuntimeConfigObjectFromSnapshot(runtimeConfig2) {
307558
307767
  description: "OpenWork default agent",
307559
307768
  mode: "primary",
307560
307769
  temperature: 0.2,
307561
- prompt: OPENWORK_AGENT_PROMPT,
307770
+ prompt: appendOrganizationPrompts(OPENWORK_AGENT_PROMPT, managedPrompt),
307562
307771
  permission: {
307563
307772
  ...permissions,
307564
307773
  skill: {
@@ -307695,12 +307904,14 @@ class TaskActivation {
307695
307904
  // src/free-auto/journey.ts
307696
307905
  init_runtime_db();
307697
307906
  import { randomBytes as randomBytes4 } from "node:crypto";
307698
- import { mkdir as mkdir11, readFile as readFile19, writeFile as writeFile13 } from "node:fs/promises";
307907
+ import { mkdir as mkdir11, readFile as readFile19, rm as rm9, writeFile as writeFile13 } from "node:fs/promises";
307699
307908
  import { join as join22 } from "node:path";
307909
+ var JOURNEY_FILE = "free-auto-journey";
307910
+ var ANALYTICS_FILE = "free-auto-analytics";
307700
307911
  async function readFreeAutoJourney(config2) {
307701
307912
  const fallback = randomBytes4(32).toString("hex");
307702
307913
  const directory = runtimeStorageDir(config2);
307703
- const path3 = join22(directory, "free-auto-journey");
307914
+ const path3 = join22(directory, JOURNEY_FILE);
307704
307915
  try {
307705
307916
  await mkdir11(directory, { recursive: true });
307706
307917
  await writeFile13(path3, fallback, { flag: "wx", mode: 384 }).catch((error48) => {
@@ -307713,6 +307924,20 @@ async function readFreeAutoJourney(config2) {
307713
307924
  return fallback;
307714
307925
  }
307715
307926
  }
307927
+ async function readFreeAutoAnalyticsEnabled(config2) {
307928
+ try {
307929
+ return (await readFile19(join22(runtimeStorageDir(config2), ANALYTICS_FILE), "utf8")).trim() === "enabled";
307930
+ } catch {
307931
+ return false;
307932
+ }
307933
+ }
307934
+ async function writeFreeAutoAnalyticsEnabled(config2, enabled) {
307935
+ const directory = runtimeStorageDir(config2);
307936
+ await mkdir11(directory, { recursive: true });
307937
+ await writeFile13(join22(directory, ANALYTICS_FILE), enabled ? "enabled" : "disabled", { mode: 384 });
307938
+ if (!enabled)
307939
+ await rm9(join22(directory, JOURNEY_FILE), { force: true });
307940
+ }
307716
307941
 
307717
307942
  // src/free-auto/http.ts
307718
307943
  init_errors5();
@@ -307946,6 +308171,8 @@ class AnonymousInferenceService {
307946
308171
  host;
307947
308172
  localAccessToken = freshLocalToken();
307948
308173
  journey = null;
308174
+ analyticsEnabled = null;
308175
+ analyticsQueue = Promise.resolve();
307949
308176
  relayPrincipal = null;
307950
308177
  relayPrincipalPending = false;
307951
308178
  boundPort = null;
@@ -308256,6 +308483,34 @@ class AnonymousInferenceService {
308256
308483
  throw new ApiError(statusHttpCode(status.state), status.code ?? "anonymous_unavailable", "Auto is not available. Check desktop free access status.", status);
308257
308484
  this.activation.start(route.sessionID);
308258
308485
  }
308486
+ setAnalyticsEnabled(enabled) {
308487
+ const pending = this.journey;
308488
+ this.analyticsEnabled = Promise.resolve(enabled);
308489
+ this.journey = null;
308490
+ const run2 = this.analyticsQueue.then(async () => {
308491
+ await pending?.catch(() => {
308492
+ return;
308493
+ });
308494
+ await writeFreeAutoAnalyticsEnabled(this.config, enabled).catch(() => {
308495
+ return;
308496
+ });
308497
+ return { enabled };
308498
+ });
308499
+ this.analyticsQueue = run2.then(() => {
308500
+ return;
308501
+ }, () => {
308502
+ return;
308503
+ });
308504
+ return run2;
308505
+ }
308506
+ async journeyHeaders() {
308507
+ this.analyticsEnabled ??= readFreeAutoAnalyticsEnabled(this.config);
308508
+ const decision = this.analyticsEnabled;
308509
+ if (!await decision || decision !== this.analyticsEnabled)
308510
+ return {};
308511
+ this.journey ??= readFreeAutoJourney(this.config);
308512
+ return { "x-openwork-free-journey": createHash12("sha256").update(`${this.settings.origin}:${await this.journey}`).digest("hex") };
308513
+ }
308259
308514
  async remote(path3, method, body, requestSignal = AbortSignal.timeout(SESSION_TIMEOUT_MS), relayToken) {
308260
308515
  const signal = AbortSignal.any([requestSignal, this.identityController.signal]);
308261
308516
  await this.assertDispatchAllowed();
@@ -308268,12 +308523,11 @@ class AnonymousInferenceService {
308268
308523
  signal.throwIfAborted();
308269
308524
  const authorization = member ?? `Bearer ${DESKTOP_FREE_OPEN_API_KEY}`;
308270
308525
  const actualPath = member ? memberPath(path3) : path3;
308271
- this.journey ??= readFreeAutoJourney(this.config);
308272
- const journey = createHash12("sha256").update(`${this.settings.origin}:${await this.journey}`).digest("hex");
308526
+ const journey = await this.journeyHeaders();
308273
308527
  const response = await externalFetch(`${this.settings.origin}${actualPath}`, {
308274
308528
  method,
308275
308529
  body: method === "GET" ? undefined : body,
308276
- headers: { authorization, "x-openwork-free-journey": journey, ...method === "POST" ? { "content-type": "application/json" } : {} },
308530
+ headers: { authorization, ...journey, ...method === "POST" ? { "content-type": "application/json" } : {} },
308277
308531
  signal,
308278
308532
  redirect: "error",
308279
308533
  credentials: "omit",
@@ -308443,7 +308697,7 @@ ${createHash12("sha256").update(body).digest("hex")}`;
308443
308697
  // src/portable-files.ts
308444
308698
  init_errors5();
308445
308699
  init_utils();
308446
- import { readdir as readdir7, readFile as readFile20, rm as rm9, writeFile as writeFile14 } from "node:fs/promises";
308700
+ import { readdir as readdir7, readFile as readFile20, rm as rm10, writeFile as writeFile14 } from "node:fs/promises";
308447
308701
  import { dirname as dirname12, join as join23, resolve as resolve12 } from "node:path";
308448
308702
  var ALLOWED_PORTABLE_PREFIXES = [".opencode/agents/", ".opencode/plugins/", ".opencode/tools/"];
308449
308703
  var RESERVED_PORTABLE_SEGMENTS = new Set([".DS_Store", "Thumbs.db", "node_modules"]);
@@ -308835,13 +309089,14 @@ async function serveStaticUi(request3, config2) {
308835
309089
  if (!relativePath) {
308836
309090
  return jsonError2(new ApiError(400, "invalid_path", "Invalid URL path"));
308837
309091
  }
309092
+ const token = bootstrapTokenFor(request3, config2.token);
308838
309093
  try {
308839
- const fileResponse = await serveFile(root, relativePath, url2.pathname, method, config2.token);
309094
+ const fileResponse = await serveFile(root, relativePath, url2.pathname, method, token);
308840
309095
  if (fileResponse)
308841
309096
  return fileResponse;
308842
309097
  if (url2.pathname.startsWith("/assets/"))
308843
309098
  return null;
308844
- return serveFile(root, "index.html", "/index.html", method, config2.token);
309099
+ return serveFile(root, "index.html", "/index.html", method, token);
308845
309100
  } catch (error48) {
308846
309101
  if (error48 instanceof ApiError)
308847
309102
  return jsonError2(error48);
@@ -308934,9 +309189,16 @@ function contentType2(extension) {
308934
309189
  return "font/ttf";
308935
309190
  return "application/octet-stream";
308936
309191
  }
308937
- function injectBootstrap(html, token) {
309192
+ function bootstrapTokenFor(request3, token) {
308938
309193
  if (!shouldInjectBootstrapToken())
308939
- return html;
309194
+ return "";
309195
+ const site = request3.headers.get("sec-fetch-site");
309196
+ if (!site || site === "same-origin" || site === "none")
309197
+ return token;
309198
+ const opensTab = request3.headers.get("sec-fetch-mode") === "navigate" && request3.headers.get("sec-fetch-dest") === "document";
309199
+ return opensTab ? token : "";
309200
+ }
309201
+ function injectBootstrap(html, token) {
308940
309202
  const clientToken = token.trim();
308941
309203
  if (!clientToken)
308942
309204
  return html;
@@ -308996,6 +309258,30 @@ function svgResponse(body) {
308996
309258
  }
308997
309259
  });
308998
309260
  }
309261
+
309262
+ // src/allowed-hosts.ts
309263
+ import { isIP as isIP3 } from "node:net";
309264
+ function isAllowedHost(request3, config2) {
309265
+ const allowed = config2.allowedHosts;
309266
+ if (!allowed || allowed.includes("*"))
309267
+ return true;
309268
+ const hostname3 = hostnameOf(request3.headers.get("host") ?? new URL(request3.url).host);
309269
+ if (!hostname3)
309270
+ return false;
309271
+ if (hostname3 === "localhost" || hostname3.endsWith(".localhost") || isIP3(hostname3) !== 0)
309272
+ return true;
309273
+ return [config2.host, ...allowed].some((entry) => hostnameOf(entry) === hostname3);
309274
+ }
309275
+ function hostnameOf(value3) {
309276
+ const trimmed = value3.trim();
309277
+ if (!trimmed || /[\s/\\?#@]/.test(trimmed))
309278
+ return null;
309279
+ try {
309280
+ return new URL(`http://${trimmed}`).hostname.replace(/^\[(.*)\]$/, "$1").replace(/\.$/, "");
309281
+ } catch {
309282
+ return null;
309283
+ }
309284
+ }
308999
309285
  // src/routes/core.ts
309000
309286
  init_connect_state();
309001
309287
  import { appendFile as appendFile2, mkdir as mkdir14 } from "node:fs/promises";
@@ -309010,6 +309296,12 @@ var OPENWORK_CLOUD_MCP_NAME3 = "openwork-cloud";
309010
309296
  var SKILL_INDEX_URI = "skill://index.json";
309011
309297
  var SKILL_INDEX_SCHEMA = "https://schemas.agentskills.io/discovery/0.2.0/schema.json";
309012
309298
  var CATALOG_CACHE_TTL_MS = 30000;
309299
+ var SKILL_BODY_RETRY_MAX = 512;
309300
+ var SKILL_BODY_RETRY_MS = 10 * 60000;
309301
+ var SKILL_SYNC_META_KEY = "io.openwork/skills";
309302
+ var SKILL_BATCH_MAX = 20;
309303
+ var SKILL_REVISION_TRUST_MS = 15 * 60000;
309304
+ var READER_IDLE_MS = 5 * 60000;
309013
309305
  var skillIndexSchema = exports_external.object({
309014
309306
  $schema: exports_external.literal(SKILL_INDEX_SCHEMA),
309015
309307
  skills: exports_external.array(exports_external.object({
@@ -309028,21 +309320,88 @@ var skillIndexSchema = exports_external.object({
309028
309320
  }).passthrough()),
309029
309321
  delivery: exports_external.enum(["native"]).optional()
309030
309322
  }).passthrough();
309323
+ var skillIndexSyncSchema = exports_external.union([
309324
+ exports_external.object({ sync: exports_external.literal("unchanged"), revision: exports_external.string() }),
309325
+ exports_external.object({
309326
+ sync: exports_external.literal("changes"),
309327
+ revision: exports_external.string().optional(),
309328
+ skills: exports_external.array(exports_external.object({ url: exports_external.string(), etag: exports_external.string() }).passthrough()),
309329
+ removed: exports_external.array(exports_external.string())
309330
+ })
309331
+ ]);
309031
309332
  var catalogCache = new Map;
309333
+ var syncedIndexes = new Map;
309334
+ var readers = new Map;
309335
+ var skillBodyRetryAt = new Map;
309336
+ function sha256Digest(text4) {
309337
+ return `sha256:${createHash14("sha256").update(text4, "utf8").digest("hex")}`;
309338
+ }
309339
+ function holdSkillBodyRetry(digest2) {
309340
+ skillBodyRetryAt.delete(digest2);
309341
+ skillBodyRetryAt.set(digest2, Date.now() + SKILL_BODY_RETRY_MS);
309342
+ if (skillBodyRetryAt.size > SKILL_BODY_RETRY_MAX)
309343
+ skillBodyRetryAt.delete(skillBodyRetryAt.keys().next().value);
309344
+ }
309345
+ function configKey(config2) {
309346
+ return createHash14("sha256").update(JSON.stringify(config2)).digest("hex");
309347
+ }
309348
+ async function sessionReader(config2, fetcher) {
309349
+ const key2 = configKey(config2);
309350
+ const current2 = readers.get(key2);
309351
+ if (current2 && current2.fetcher === fetcher && Date.now() - current2.usedAt < READER_IDLE_MS) {
309352
+ const reader2 = await current2.reader;
309353
+ if (reader2 && !reader2.broken) {
309354
+ current2.usedAt = Date.now();
309355
+ return reader2;
309356
+ }
309357
+ }
309358
+ const reader = openMcpResourceReader({ config: config2, fetcher, clientName: "openwork-server-skill-catalog" }).catch(() => null);
309359
+ readers.set(key2, { usedAt: Date.now(), fetcher, reader });
309360
+ return await reader;
309361
+ }
309362
+ function sortedSkills(skills) {
309363
+ return [...skills].sort((a, b) => a.name.localeCompare(b.name) || a.capability.localeCompare(b.capability));
309364
+ }
309032
309365
  async function readMcpSkillIndex(config2, fetcher) {
309033
- const text4 = await readMcpResourceText({
309034
- config: config2,
309035
- fetcher,
309036
- uri: SKILL_INDEX_URI,
309037
- clientName: "openwork-server-skill-catalog"
309038
- });
309366
+ const key2 = configKey(config2);
309367
+ const held = syncedIndexes.get(key2);
309368
+ const trusted = held?.revision && Date.now() - held.syncedAt < SKILL_REVISION_TRUST_MS ? held.revision : undefined;
309369
+ const sync3 = { known: Object.fromEntries(held?.etags ?? []), ...trusted ? { revision: trusted } : {} };
309370
+ const reader = await sessionReader(config2, fetcher);
309371
+ const text4 = reader ? await reader.read(SKILL_INDEX_URI, { [SKILL_SYNC_META_KEY]: sync3 }) : null;
309039
309372
  if (typeof text4 !== "string")
309040
309373
  return null;
309041
- const index2 = skillIndexSchema.parse(JSON.parse(text4));
309042
- return { skills: index2.skills, ...index2.delivery ? { delivery: index2.delivery } : {} };
309374
+ const value3 = JSON.parse(text4);
309375
+ const synced = skillIndexSyncSchema.safeParse(value3);
309376
+ if (synced.success && synced.data.sync === "unchanged") {
309377
+ if (held && synced.data.revision === trusted)
309378
+ return held.index;
309379
+ syncedIndexes.delete(key2);
309380
+ return null;
309381
+ }
309382
+ const index2 = skillIndexSchema.parse(value3);
309383
+ const delivery = index2.delivery ? { delivery: index2.delivery } : {};
309384
+ if (synced.success && synced.data.sync === "changes") {
309385
+ const byUrl = new Map((held?.index.skills ?? []).map((skill) => [skill.url, skill]));
309386
+ const etags = new Map(held?.etags);
309387
+ for (const url2 of synced.data.removed) {
309388
+ byUrl.delete(url2);
309389
+ etags.delete(url2);
309390
+ }
309391
+ for (const { etag, ...entry } of synced.data.skills) {
309392
+ const skill = skillIndexSchema.shape.skills.element.parse(entry);
309393
+ byUrl.set(skill.url, skill);
309394
+ etags.set(skill.url, etag);
309395
+ }
309396
+ const merged = { skills: sortedSkills(byUrl.values()), ...delivery };
309397
+ syncedIndexes.set(key2, { index: merged, etags, revision: synced.data.revision, syncedAt: Date.now() });
309398
+ return merged;
309399
+ }
309400
+ syncedIndexes.delete(key2);
309401
+ return { skills: index2.skills, ...delivery };
309043
309402
  }
309044
309403
  async function readIndexCached(cloud, fetcher) {
309045
- const cacheKey = createHash14("sha256").update(JSON.stringify(cloud)).digest("hex");
309404
+ const cacheKey = configKey(cloud);
309046
309405
  const cached4 = catalogCache.get(cacheKey);
309047
309406
  if (cached4 && cached4.expiresAt > Date.now())
309048
309407
  return await cached4.value;
@@ -309086,16 +309445,64 @@ async function readOpenWorkConnectSkillIndex(config2, fetcher = externalFetch) {
309086
309445
  return { skills: [] };
309087
309446
  }
309088
309447
  }
309089
- async function readOpenWorkConnectSkillContent(config2, url2, fetcher = externalFetch) {
309448
+ async function readSkillBodies(reader, urls, use) {
309449
+ const bodies = new Map;
309450
+ for (let start = 0;start < urls.length && !reader.broken; start += SKILL_BATCH_MAX) {
309451
+ const chunk = urls.slice(start, start + SKILL_BATCH_MAX);
309452
+ const batched = chunk.length > 1 || use;
309453
+ const result3 = await reader.readContents(chunk[0], batched ? { [SKILL_SYNC_META_KEY]: { uris: chunk, ...use ? { use } : {} } } : undefined);
309454
+ if (!result3)
309455
+ continue;
309456
+ for (const url2 of chunk) {
309457
+ const body = result3.texts.get(url2);
309458
+ if (body !== undefined)
309459
+ bodies.set(url2, body);
309460
+ }
309461
+ const sync3 = result3.meta[SKILL_SYNC_META_KEY];
309462
+ if (batched && !(typeof sync3 === "object" && sync3 !== null && ("batch" in sync3) && sync3.batch === true)) {
309463
+ for (const url2 of chunk.slice(1)) {
309464
+ if (reader.broken)
309465
+ break;
309466
+ const body = await reader.read(url2);
309467
+ if (body !== null)
309468
+ bodies.set(url2, body);
309469
+ }
309470
+ }
309471
+ }
309472
+ return bodies;
309473
+ }
309474
+ async function readOpenWorkConnectSkillContents(config2, urls, options = {}, fetcher = externalFetch) {
309090
309475
  try {
309091
309476
  const working = await readWorkingCloudIndex(config2, fetcher);
309092
- if (!working || !working.index.skills.some((skill) => skill.url === url2))
309093
- return null;
309094
- return await readMcpResourceText({ config: working.cloud, fetcher, uri: url2, clientName: "openwork-server-skill-content" });
309477
+ if (!working)
309478
+ return new Map;
309479
+ const listed = new Map(working.index.skills.map((skill) => [skill.url, skill]));
309480
+ const wanted = [...new Set(urls)].filter((url2) => {
309481
+ const digest2 = listed.get(url2)?.digest;
309482
+ return listed.has(url2) && (options.use || !digest2 || (skillBodyRetryAt.get(digest2) ?? 0) <= Date.now());
309483
+ });
309484
+ if (wanted.length === 0)
309485
+ return new Map;
309486
+ const reader = await sessionReader(working.cloud, fetcher);
309487
+ const bodies = reader ? await readSkillBodies(reader, wanted, options.use === true) : new Map;
309488
+ for (const url2 of wanted) {
309489
+ const digest2 = listed.get(url2)?.digest;
309490
+ if (!digest2)
309491
+ continue;
309492
+ const body = bodies.get(url2);
309493
+ if (body !== undefined && sha256Digest(body) === digest2)
309494
+ skillBodyRetryAt.delete(digest2);
309495
+ else
309496
+ holdSkillBodyRetry(digest2);
309497
+ }
309498
+ return bodies;
309095
309499
  } catch {
309096
- return null;
309500
+ return new Map;
309097
309501
  }
309098
309502
  }
309503
+ async function readOpenWorkConnectSkillContent(config2, url2, fetcher = externalFetch) {
309504
+ return (await readOpenWorkConnectSkillContents(config2, [url2], {}, fetcher)).get(url2) ?? null;
309505
+ }
309099
309506
  function logInjectedMarketplaceSkills(skills) {
309100
309507
  if (process.env.OPENWORK_DEV_MODE !== "1")
309101
309508
  return;
@@ -309962,14 +310369,14 @@ async function callExperimentalExtensionAction(config2, env, input, connectSnaps
309962
310369
  // src/extensions/drive-files.ts
309963
310370
  import { createHash as createHash16, randomBytes as randomBytes6 } from "node:crypto";
309964
310371
  import { constants as constants3, realpathSync } from "node:fs";
309965
- import { lstat as lstat3, mkdir as mkdir13, open as open4, readFile as readFile24, realpath as realpath5, rename as rename7, rm as rm11, stat as stat6, writeFile as writeFile17 } from "node:fs/promises";
310372
+ import { lstat as lstat3, mkdir as mkdir13, open as open4, readFile as readFile24, realpath as realpath5, rename as rename7, rm as rm12, stat as stat6, writeFile as writeFile17 } from "node:fs/promises";
309966
310373
  import { basename as basename10, dirname as dirname15, extname as extname2, isAbsolute as isAbsolute3, join as join25, relative as relative5, resolve as resolve16 } from "node:path";
309967
310374
  init_errors5();
309968
310375
  init_runtime_db();
309969
310376
 
309970
310377
  // src/workspace-file-identity.ts
309971
310378
  import { constants as constants2 } from "node:fs";
309972
- import { lstat as lstat2, open as open3, realpath as realpath4, rm as rm10 } from "node:fs/promises";
310379
+ import { lstat as lstat2, open as open3, realpath as realpath4, rm as rm11 } from "node:fs/promises";
309973
310380
  import { dirname as dirname14, isAbsolute as isAbsolute2, relative as relative4 } from "node:path";
309974
310381
  var NO_FOLLOW = constants2.O_NOFOLLOW ?? 0;
309975
310382
 
@@ -310034,7 +310441,7 @@ async function openWorkspaceFileForWriting(realRoot, path3, expected, label) {
310034
310441
  if (expected === null) {
310035
310442
  const placed = await lstat2(path3).catch(() => null);
310036
310443
  if (placed && sameFile(placed, info))
310037
- await rm10(path3, { force: true }).catch(() => {
310444
+ await rm11(path3, { force: true }).catch(() => {
310038
310445
  return;
310039
310446
  });
310040
310447
  }
@@ -310163,11 +310570,11 @@ async function privateDriveFile(config2) {
310163
310570
  const path3 = join25(folder, `.drive-transfer-${randomBytes6(16).toString("hex")}`);
310164
310571
  const handle = await open4(path3, "wx+", 384);
310165
310572
  try {
310166
- await rm11(path3);
310573
+ await rm12(path3);
310167
310574
  return handle;
310168
310575
  } catch (error48) {
310169
310576
  await handle.close();
310170
- await rm11(path3, { force: true });
310577
+ await rm12(path3, { force: true });
310171
310578
  throw error48;
310172
310579
  }
310173
310580
  }
@@ -310986,7 +311393,15 @@ function registerCoreRoutes(options) {
310986
311393
  });
310987
311394
  addRoute(routes, "POST", "/experimental/connect/skills/read", "client", async (ctx) => {
310988
311395
  const body = await readJsonBody(ctx.request);
310989
- if (typeof body.url !== "string" || !body.url.startsWith("skill://") || body.url.length > 2048) {
311396
+ const validUrl = (url2) => typeof url2 === "string" && url2.startsWith("skill://") && url2.length <= 2048;
311397
+ if (Array.isArray(body.urls)) {
311398
+ if (body.urls.length === 0 || body.urls.length > 150 || !body.urls.every(validUrl)) {
311399
+ return jsonResponse2({ ok: false, reason: "invalid_url" }, 400);
311400
+ }
311401
+ const contents = await readOpenWorkConnectSkillContents(config2, body.urls, { use: body.use === true });
311402
+ return jsonResponse2({ ok: true, contents: Object.fromEntries(contents) });
311403
+ }
311404
+ if (!validUrl(body.url)) {
310990
311405
  return jsonResponse2({ ok: false, reason: "invalid_url" }, 400);
310991
311406
  }
310992
311407
  const content2 = await readOpenWorkConnectSkillContent(config2, body.url);
@@ -311185,7 +311600,7 @@ function registerCoreRoutes(options) {
311185
311600
 
311186
311601
  // src/routes/files.ts
311187
311602
  import { createReadStream } from "node:fs";
311188
- import { readFile as readFile25, readdir as readdir8, rename as rename8, rm as rm12, stat as stat7, writeFile as writeFile18 } from "node:fs/promises";
311603
+ import { readFile as readFile25, readdir as readdir8, rename as rename8, rm as rm13, stat as stat7, writeFile as writeFile18 } from "node:fs/promises";
311189
311604
  import { basename as basename11, dirname as dirname17, isAbsolute as isAbsolute4, join as join26, relative as relative6, resolve as resolve17, sep as sep4 } from "node:path";
311190
311605
  import { Readable as Readable2 } from "node:stream";
311191
311606
  init_errors5();
@@ -312058,7 +312473,7 @@ function registerFileRoutes(options) {
312058
312473
  items2.push({ ok: false, type, path: path3, code: "file_not_found", message: "Path not found" });
312059
312474
  continue;
312060
312475
  }
312061
- await rm12(absPath, { recursive: op.recursive === true, force: false });
312476
+ await rm13(absPath, { recursive: op.recursive === true, force: false });
312062
312477
  recordWorkspaceFileEvent(workspace.id, { type: "delete", path: path3 });
312063
312478
  items2.push({ ok: true, type, path: path3 });
312064
312479
  continue;
@@ -312701,7 +313116,7 @@ function registerUiControlRoutes(options) {
312701
313116
  }
312702
313117
 
312703
313118
  // src/routes/workspaces.ts
312704
- import { readFile as readFile26, rename as rename9, rm as rm13, writeFile as writeFile19 } from "node:fs/promises";
313119
+ import { readFile as readFile26, rename as rename9, rm as rm14, writeFile as writeFile19 } from "node:fs/promises";
312705
313120
  import { basename as basename12, dirname as dirname18, resolve as resolve18 } from "node:path";
312706
313121
  init_errors5();
312707
313122
  init_utils();
@@ -312759,7 +313174,7 @@ async function persistServerWorkspaceState(config2) {
312759
313174
  return true;
312760
313175
  } finally {
312761
313176
  try {
312762
- await rm13(tmpPath);
313177
+ await rm14(tmpPath);
312763
313178
  } catch {}
312764
313179
  }
312765
313180
  }
@@ -314119,7 +314534,7 @@ init_enterprise_den_origin();
314119
314534
  // src/agent-context-transport-probe.ts
314120
314535
  init_diagnostic_sanitizer();
314121
314536
  import { readFile as readFile27 } from "node:fs/promises";
314122
- import { isIP as isIP3 } from "node:net";
314537
+ import { isIP as isIP4 } from "node:net";
314123
314538
  import tls from "node:tls";
314124
314539
  var DEFAULT_TIMEOUT_MS2 = 6000;
314125
314540
  var MAX_ENDPOINT_LENGTH2 = 2 * 1024;
@@ -314237,7 +314652,7 @@ function tlsOptions(url2, rejectUnauthorized, version6) {
314237
314652
  options.minVersion = version6;
314238
314653
  options.maxVersion = version6;
314239
314654
  }
314240
- if (isIP3(host) === 0)
314655
+ if (isIP4(host) === 0)
314241
314656
  options.servername = host;
314242
314657
  return options;
314243
314658
  }
@@ -316330,6 +316745,52 @@ function startThreadApprovalReplayer(options) {
316330
316745
  // src/cloud-provider-sync.ts
316331
316746
  import { createHash as createHash18 } from "node:crypto";
316332
316747
  import { readFile as readFile28 } from "node:fs/promises";
316748
+
316749
+ // ../../packages/types/src/den/prompts.ts
316750
+ init_zod();
316751
+ var ORG_PROMPT_MAX_LENGTH = 20000;
316752
+ var orgPromptAssignmentSchema = exports_external.object({
316753
+ everyone: exports_external.boolean(),
316754
+ teamIds: exports_external.array(exports_external.string()),
316755
+ memberIds: exports_external.array(exports_external.string())
316756
+ }).meta({ ref: "OrgPromptAssignment" });
316757
+ var orgPromptSchema = exports_external.object({
316758
+ id: exports_external.string(),
316759
+ name: exports_external.string(),
316760
+ content: exports_external.string(),
316761
+ assignment: orgPromptAssignmentSchema,
316762
+ updatedAt: exports_external.string().datetime()
316763
+ }).meta({ ref: "OrgPrompt" });
316764
+ var orgPromptTeamSchema = exports_external.object({
316765
+ teamId: exports_external.string(),
316766
+ name: exports_external.string(),
316767
+ prompt: orgPromptSchema.nullable()
316768
+ }).meta({ ref: "OrgPromptTeam" });
316769
+ var orgPromptSettingsSchema = exports_external.object({
316770
+ everyone: orgPromptSchema.nullable(),
316771
+ teams: exports_external.array(orgPromptTeamSchema),
316772
+ canEdit: exports_external.boolean()
316773
+ }).meta({ ref: "OrgPromptSettings" });
316774
+ var orgPromptWriteSchema = exports_external.object({
316775
+ content: exports_external.string().max(ORG_PROMPT_MAX_LENGTH).refine((value3) => value3.trim().length > 0, { message: "Write a prompt before saving." })
316776
+ }).strict().meta({ ref: "OrgPromptWrite" });
316777
+ var ORG_PROMPT_SOURCES = ["organization", "team", "member"];
316778
+ var memberPromptSchema = exports_external.object({
316779
+ id: exports_external.string(),
316780
+ source: exports_external.enum(ORG_PROMPT_SOURCES),
316781
+ teamName: exports_external.string().optional(),
316782
+ content: exports_external.string()
316783
+ }).meta({ ref: "MemberPrompt" });
316784
+ var memberPromptsSchema = exports_external.object({
316785
+ prompts: exports_external.array(memberPromptSchema)
316786
+ }).meta({ ref: "MemberPrompts" });
316787
+ function composeMemberPromptText(prompts) {
316788
+ return prompts.map((prompt) => prompt.content.trim()).filter(Boolean).join(`
316789
+
316790
+ `);
316791
+ }
316792
+
316793
+ // src/cloud-provider-sync.ts
316333
316794
  init_errors5();
316334
316795
  init_runtime_opencode_config_store();
316335
316796
  init_workspace_files();
@@ -316633,6 +317094,24 @@ async function fetchProviders(fetchImpl2, session2, signal, liveProviderSync = f
316633
317094
  ]);
316634
317095
  return { llmProviders, inferenceProviders };
316635
317096
  }
317097
+ async function fetchOrganizationPrompts(fetchImpl2, session2, signal, logger2) {
317098
+ try {
317099
+ const payload = await requestJson(fetchImpl2, session2, "/v1/me/prompts", signal, { allowUnavailableResource: true });
317100
+ if (payload === undefined)
317101
+ return "";
317102
+ const parsed = memberPromptsSchema.safeParse(payload);
317103
+ if (!parsed.success)
317104
+ throw new Error("den_prompts_invalid_response");
317105
+ return composeMemberPromptText(parsed.data.prompts);
317106
+ } catch (error48) {
317107
+ if (signal.aborted)
317108
+ throw error48;
317109
+ logger2?.warn("organization prompts could not be read; keeping the last known prompts", {
317110
+ message: error48 instanceof Error ? error48.message : "den_prompts_failed"
317111
+ });
317112
+ return null;
317113
+ }
317114
+ }
316636
317115
  function stableValue(value3) {
316637
317116
  if (Array.isArray(value3))
316638
317117
  return value3.map(stableValue);
@@ -317195,9 +317674,10 @@ class CloudProviderSync {
317195
317674
  const liveProviderSync = await this.liveProviderSync?.() ?? false;
317196
317675
  if (request3.generation !== this.contextGeneration)
317197
317676
  return { status: "no_session" };
317198
- const [{ llmProviders, inferenceProviders }, storedEnv] = await Promise.all([
317677
+ const [{ llmProviders, inferenceProviders }, storedEnv, organizationPrompts] = await Promise.all([
317199
317678
  fetchProviders(this.fetchImpl, session2, this.providerFetchController.signal, liveProviderSync),
317200
- this.env.list()
317679
+ this.env.list(),
317680
+ fetchOrganizationPrompts(this.fetchImpl, session2, this.providerFetchController.signal, this.logger)
317201
317681
  ]);
317202
317682
  if (request3.generation !== this.contextGeneration)
317203
317683
  return { status: "no_session" };
@@ -317207,7 +317687,7 @@ class CloudProviderSync {
317207
317687
  const localEnvNames = storedEnv.filter((entry) => entry.value.trim().length > 0 && this.ownedEnvKeys.get(entry.key) !== hashString2(entry.value)).map((entry) => entry.key);
317208
317688
  const prepared = prepareMaterialization([...llmProviders, ...inferenceProviders ?? []], localEnvNames);
317209
317689
  this.materializationContextKey = request3.contextKey;
317210
- const { changed, detail, reloadError } = await this.apply(prepared, liveProviderSync);
317690
+ const { changed, detail, reloadError } = await this.apply(prepared, liveProviderSync, organizationPrompts);
317211
317691
  if (request3.generation !== this.contextGeneration)
317212
317692
  return { status: "no_session" };
317213
317693
  this.updateProviderStatus(prepared);
@@ -317231,7 +317711,7 @@ class CloudProviderSync {
317231
317711
  return { status: "failed", message };
317232
317712
  }
317233
317713
  }
317234
- async apply(prepared, liveProviderSync = false) {
317714
+ async apply(prepared, liveProviderSync = false, organizationPrompts = null) {
317235
317715
  const contextHash = this.materializationContextKey === null ? null : hashString2(this.materializationContextKey);
317236
317716
  const desiredProviders = desiredProviderMap(prepared);
317237
317717
  const globalRuntime = await readGlobalRuntimeOpencodeConfig(this.config);
@@ -317300,6 +317780,7 @@ class CloudProviderSync {
317300
317780
  await this.env.delete(key2);
317301
317781
  this.ownedEnvKeys.delete(key2);
317302
317782
  }
317783
+ const promptChanged = organizationPrompts === null ? false : (await writeManagedPrompt(this.config, organizationPrompts)).changed;
317303
317784
  const workspaceCleanup = await this.cleanupWorkspaceTakeovers();
317304
317785
  const engineAvailable = this.engineAvailable();
317305
317786
  const runtimeFileChanged = engineAvailable ? (await writeOpenworkRuntimeConfigFile(this.config)).changed : false;
@@ -317311,7 +317792,7 @@ class CloudProviderSync {
317311
317792
  retiredProviderIds
317312
317793
  });
317313
317794
  const authChanged = authResult.rotated.length > 0 || authResult.removed.length > 0;
317314
- this.reloadPending = this.reloadPending || templateBindingsChanged || providerStateChanged || workspaceCleanup.runtimeChanged || runtimeFileChanged || authChanged;
317795
+ this.reloadPending = this.reloadPending || templateBindingsChanged || providerStateChanged || promptChanged || workspaceCleanup.runtimeChanged || runtimeFileChanged || authChanged;
317315
317796
  let reloadError;
317316
317797
  let reloadDeferred = false;
317317
317798
  if (engineAvailable && this.reloadPending) {
@@ -317341,6 +317822,7 @@ class CloudProviderSync {
317341
317822
  await this.persistOwnership();
317342
317823
  const detail = {
317343
317824
  fingerprintChanged: this.fingerprint !== prepared.fingerprint,
317825
+ promptChanged,
317344
317826
  providerStateChanged,
317345
317827
  envUpserts: envUpserts.length,
317346
317828
  envDeletes: envDeletes.length,
@@ -317349,7 +317831,7 @@ class CloudProviderSync {
317349
317831
  fileChanged: runtimeFileChanged,
317350
317832
  reloadDeferred
317351
317833
  };
317352
- const changed = detail.fingerprintChanged || templateBindingsChanged || providerStateChanged || envUpserts.length > 0 || envDeletes.length > 0 || workspaceCleanup.changed || runtimeFileChanged;
317834
+ const changed = detail.fingerprintChanged || promptChanged || templateBindingsChanged || providerStateChanged || envUpserts.length > 0 || envDeletes.length > 0 || workspaceCleanup.changed || runtimeFileChanged;
317353
317835
  return { changed, detail, reloadError };
317354
317836
  }
317355
317837
  async cleanupWorkspaceTakeovers() {
@@ -317417,6 +317899,8 @@ class CloudProviderSync {
317417
317899
  }));
317418
317900
  providerChanged = result3.changed;
317419
317901
  }
317902
+ const promptCleared = (await writeManagedPrompt(this.config, "")).changed;
317903
+ providerChanged = providerChanged || promptCleared;
317420
317904
  const storedEnv = new Map((await this.env.list()).map((entry) => [entry.key, entry.value]));
317421
317905
  for (const [key2, hash4] of this.ownedEnvKeys) {
317422
317906
  const value3 = storedEnv.get(key2);
@@ -317506,7 +317990,7 @@ class CloudProviderSync {
317506
317990
 
317507
317991
  // src/opencode-v2-history-lock.ts
317508
317992
  import { randomBytes as randomBytes8 } from "node:crypto";
317509
- import { access, mkdir as mkdir15, readFile as readFile29, readdir as readdir9, rm as rm14, writeFile as writeFile21 } from "node:fs/promises";
317993
+ import { access, mkdir as mkdir15, readFile as readFile29, readdir as readdir9, rm as rm15, writeFile as writeFile21 } from "node:fs/promises";
317510
317994
  import { dirname as dirname19, join as join28 } from "node:path";
317511
317995
 
317512
317996
  // src/opencode-v2-history-store.ts
@@ -317851,7 +318335,7 @@ async function acquireHistoryCopyLock(database2) {
317851
318335
  }
317852
318336
  if (alive(previous.pid) || alive(previous.child))
317853
318337
  throw new Error("Another OpenCode v2 engine is using this history. Close it before retrying migration.");
317854
- await rm14(leasePath);
318338
+ await rm15(leasePath);
317855
318339
  }
317856
318340
  } catch (error48) {
317857
318341
  mutex.close();
@@ -317859,7 +318343,7 @@ async function acquireHistoryCopyLock(database2) {
317859
318343
  }
317860
318344
  return {
317861
318345
  async complete() {
317862
- await rm14(join28(root, PENDING), { force: true });
318346
+ await rm15(join28(root, PENDING), { force: true });
317863
318347
  },
317864
318348
  async release() {
317865
318349
  mutex.close();
@@ -317885,7 +318369,7 @@ async function acquireEngineHistoryLease(root) {
317885
318369
  await writeFile21(path3, JSON.stringify({ pid: process.pid, child: pid }), { mode: 384 });
317886
318370
  },
317887
318371
  async release() {
317888
- await rm14(path3, { force: true });
318372
+ await rm15(path3, { force: true });
317889
318373
  }
317890
318374
  };
317891
318375
  }
@@ -320686,16 +321170,16 @@ async function searchOpenWorkSessions(rawArgs) {
320686
321170
  }
320687
321171
  const sessions = [];
320688
321172
  const workspaceErrors = [];
320689
- const readers = engineReaders();
321173
+ const readers2 = engineReaders();
320690
321174
  await Promise.all(workspaces.map(async (workspace) => {
320691
- const listed = await Promise.all(readers.map((reader, index2) => listWorkspaceSessions(reader, workspace, SESSION_SEARCH_TITLE_LIST_LIMIT).catch((error48) => {
321175
+ const listed = await Promise.all(readers2.map((reader, index2) => listWorkspaceSessions(reader, workspace, SESSION_SEARCH_TITLE_LIST_LIMIT).catch((error48) => {
320692
321176
  if (index2 === 0)
320693
321177
  workspaceErrors.push({ workspaceId: workspace.id, workspace: workspaceLabel(workspace), error: unknownErrorMessage(error48) });
320694
321178
  return [];
320695
321179
  })));
320696
321180
  const seen = new Set;
320697
321181
  listed.forEach((items3, index2) => {
320698
- const reader = readers[index2];
321182
+ const reader = readers2[index2];
320699
321183
  if (!reader)
320700
321184
  return;
320701
321185
  for (const session3 of items3) {
@@ -320782,8 +321266,8 @@ function readableMessages(messages) {
320782
321266
  async function readWorkspaceModels(reader, workspace) {
320783
321267
  return openworkCatalogModels(openworkEngineProviderCatalogSchema.parse(await reader.get(`/workspace/${encodeURIComponent(workspace.id)}/opencode/provider`)));
320784
321268
  }
320785
- async function readSessionOnEitherEngine(workspace, sessionId, readers) {
320786
- for (const reader of readers) {
321269
+ async function readSessionOnEitherEngine(workspace, sessionId, readers2) {
321270
+ for (const reader of readers2) {
320787
321271
  try {
320788
321272
  return { session: await readWorkspaceSession(workspace, sessionId, reader), reader };
320789
321273
  } catch {}
@@ -320802,10 +321286,10 @@ async function readOpenWorkSession(rawArgs) {
320802
321286
  if (!workspaces.length) {
320803
321287
  return { ok: false, error: args2.workspaceId ? `No workspace matched ${args2.workspaceId}` : "No OpenWork workspaces are available" };
320804
321288
  }
320805
- const readers = engineReaders();
321289
+ const readers2 = engineReaders();
320806
321290
  for (const workspace of workspaces) {
320807
321291
  try {
320808
- const located = await readSessionOnEitherEngine(workspace, args2.sessionId, readers);
321292
+ const located = await readSessionOnEitherEngine(workspace, args2.sessionId, readers2);
320809
321293
  if (!located) {
320810
321294
  if (args2.workspaceId)
320811
321295
  break;
@@ -321526,7 +322010,11 @@ async function createV2ContextBridge(hostRequest) {
321526
322010
  return Response.json(await read2("/experimental/connect/skills"));
321527
322011
  }
321528
322012
  if (call.name === "openwork_skill_read") {
321529
- const input = exports_external.object({ url: exports_external.string().startsWith("skill://").max(2048) }).parse(call.input);
322013
+ const url2 = exports_external.string().startsWith("skill://").max(2048);
322014
+ const input = exports_external.union([
322015
+ exports_external.object({ url: url2 }).strict(),
322016
+ exports_external.object({ urls: exports_external.array(url2).min(1).max(150), use: exports_external.boolean().optional() }).strict()
322017
+ ]).parse(call.input);
321530
322018
  return Response.json(await read2("/experimental/connect/skills/read", { method: "POST", body: JSON.stringify(input) }));
321531
322019
  }
321532
322020
  const transport = {
@@ -321750,6 +322238,122 @@ var gatewayUsageResetPageSchema = exports_external.object({
321750
322238
  nextCursor: exports_external.string().nullable()
321751
322239
  });
321752
322240
 
322241
+ // ../../packages/types/src/den/inference.ts
322242
+ init_zod();
322243
+ var INFERENCE_WINDOW_DURATIONS_MS = {
322244
+ five_hour: 5 * 60 * 60 * 1000,
322245
+ weekly: 7 * 24 * 60 * 60 * 1000,
322246
+ monthly: 30 * 24 * 60 * 60 * 1000
322247
+ };
322248
+ var INFERENCE_ACCESS_REASONS = [
322249
+ "admin_disabled",
322250
+ "not_eligible",
322251
+ "free_disabled",
322252
+ "accounting_unavailable",
322253
+ "free_allowance_exhausted",
322254
+ "upstream_unavailable"
322255
+ ];
322256
+ var freeInferenceProviderSummarySchema = exports_external.object({
322257
+ state: exports_external.enum(["available", "disabled", "unavailable"]),
322258
+ reason: exports_external.union([exports_external.enum(INFERENCE_ACCESS_REASONS), exports_external.null()]),
322259
+ defaultPinned: exports_external.boolean(),
322260
+ modelGroup: exports_external.object({ id: exports_external.literal("free"), name: exports_external.literal("Free") }),
322261
+ catalog: exports_external.array(exports_external.object({ modelID: exports_external.string(), displayName: exports_external.string(), providerName: exports_external.string(), summary: exports_external.string(), recommended: exports_external.boolean(), rank: exports_external.number(), capabilities: exports_external.array(exports_external.string()) })),
322262
+ allowance: exports_external.object({
322263
+ usageScope: exports_external.literal("organization"),
322264
+ allowanceScope: exports_external.literal("person"),
322265
+ windowStartAt: exports_external.string().datetime(),
322266
+ resetsAt: exports_external.string().datetime(),
322267
+ weeklyLimitUsd: exports_external.number().finite().nonnegative(),
322268
+ joinedMembers: exports_external.number().int().nonnegative(),
322269
+ eligibleMembers: exports_external.number().int().nonnegative(),
322270
+ exhaustedMembers: exports_external.number().int().nonnegative().nullable().describe("Current eligible members whose recorded weekly usage has reached their person-wide limit; not a probe of Gateway request headroom. Null when accounting cannot be verified."),
322271
+ usedUsd: exports_external.number().finite().nonnegative().nullable(),
322272
+ requestCount: exports_external.number().int().nonnegative().nullable()
322273
+ })
322274
+ });
322275
+ var inferenceApiKeyMapSecretSchema = exports_external.record(exports_external.string(), exports_external.string()).refine((value3) => Object.keys(value3).length > 0, {
322276
+ message: "api_key_map must contain at least one entry"
322277
+ });
322278
+ var inferenceAwsKeysSecretSchema = exports_external.object({
322279
+ accessKeyId: exports_external.string().min(1),
322280
+ secretAccessKey: exports_external.string().min(1),
322281
+ sessionToken: exports_external.string().min(1).optional(),
322282
+ region: exports_external.string().min(1).optional()
322283
+ });
322284
+ var inferenceGcpServiceAccountSecretSchema = exports_external.looseObject({
322285
+ client_email: exports_external.string().min(1),
322286
+ private_key: exports_external.string().min(1),
322287
+ token_uri: exports_external.string().min(1)
322288
+ });
322289
+ var authorizationRevisionSchema = exports_external.string().regex(/^[A-Za-z0-9_-]{43}$/);
322290
+ var microsoftTenantIdSchema = exports_external.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i);
322291
+ var inferenceOauthTokenSecretSchema = exports_external.object({
322292
+ accessToken: exports_external.string().min(1),
322293
+ refreshToken: exports_external.string().min(1).optional(),
322294
+ tokenType: exports_external.string().min(1).optional(),
322295
+ googleIdentity: exports_external.object({
322296
+ subject: exports_external.string().min(1).max(255),
322297
+ email: exports_external.email(),
322298
+ emailVerified: exports_external.literal(true),
322299
+ clientId: exports_external.string().min(1),
322300
+ authorizationRevision: authorizationRevisionSchema.optional()
322301
+ }).optional(),
322302
+ microsoftIdentity: exports_external.object({
322303
+ tenantId: microsoftTenantIdSchema,
322304
+ objectId: exports_external.string().min(1).max(255),
322305
+ userName: exports_external.string().min(1).max(320).nullable(),
322306
+ clientId: exports_external.string().min(1),
322307
+ authorizationRevision: authorizationRevisionSchema
322308
+ }).optional()
322309
+ });
322310
+ var awsAccountIdSchema = exports_external.string().regex(/^\d{12}$/);
322311
+ var awsPermissionSetNameSchema = exports_external.string().regex(/^[\w+=,.@-]{1,32}$/);
322312
+ var awsSsoStartUrlSchema = exports_external.string().max(2048).refine((value3) => {
322313
+ try {
322314
+ const url2 = new URL(value3);
322315
+ return url2.protocol === "https:" && !url2.username && !url2.password && !url2.search && !url2.hash && !url2.port && /^[a-z0-9-]+(?:\.[a-z0-9-]+)*\.(?:awsapps\.com|app\.aws)$/i.test(url2.hostname);
322316
+ } catch {
322317
+ return false;
322318
+ }
322319
+ }, { message: "Use the AWS access portal URL, for example https://d-xxxxxxxxxx.awsapps.com/start." });
322320
+ var awsRegionSchema = exports_external.string().max(32).regex(/^[a-z]{2}(?:-[a-z]+)+-\d{1,2}$/);
322321
+ var gatewayAwsSsoSettingsSchema = exports_external.object({
322322
+ startUrl: awsSsoStartUrlSchema,
322323
+ region: awsRegionSchema,
322324
+ accountId: awsAccountIdSchema,
322325
+ roleName: awsPermissionSetNameSchema
322326
+ }).strict();
322327
+ var inferenceAwsSsoSecretSchema = exports_external.object({
322328
+ accessToken: exports_external.string().min(1).max(16384),
322329
+ refreshToken: exports_external.string().min(1).max(16384),
322330
+ clientId: exports_external.string().min(1).max(4096),
322331
+ clientSecret: exports_external.string().min(1).max(16384),
322332
+ clientSecretExpiresAt: exports_external.number().int().positive(),
322333
+ sso: gatewayAwsSsoSettingsSchema,
322334
+ identity: exports_external.object({
322335
+ arn: exports_external.string().min(1).max(2048),
322336
+ userName: exports_external.string().min(1).max(320).nullable(),
322337
+ authorizationRevision: authorizationRevisionSchema
322338
+ })
322339
+ });
322340
+ var GATEWAY_MEMBER_SIGN_IN_METHODS = ["google", "aws_sso", "microsoft"];
322341
+ var gatewayMemberConnectionsResponseSchema = exports_external.object({
322342
+ connections: exports_external.array(exports_external.object({
322343
+ providerId: exports_external.string(),
322344
+ signInMethod: exports_external.enum(GATEWAY_MEMBER_SIGN_IN_METHODS).default("google"),
322345
+ credentialSetId: exports_external.string(),
322346
+ providerName: exports_external.string(),
322347
+ name: exports_external.string(),
322348
+ ready: exports_external.boolean(),
322349
+ hasAccess: exports_external.boolean(),
322350
+ hasCredential: exports_external.boolean(),
322351
+ configurationRequired: exports_external.boolean().default(false),
322352
+ authorizationRevision: exports_external.string().nullable(),
322353
+ accountEmail: exports_external.string().nullable()
322354
+ }))
322355
+ });
322356
+
321753
322357
  // src/gateway-quota.ts
321754
322358
  function record6(value3) {
321755
322359
  return typeof value3 === "object" && value3 !== null && !Array.isArray(value3);
@@ -322198,7 +322802,7 @@ init_runtime_db();
322198
322802
  import { spawn as spawn4 } from "node:child_process";
322199
322803
  import { createHash as createHash22 } from "node:crypto";
322200
322804
  import { createReadStream as createReadStream2 } from "node:fs";
322201
- import { access as access3, chmod as chmod5, mkdir as mkdir18, readdir as readdir10, readFile as readFile32, rename as rename12, rm as rm16, stat as stat8, statfs, writeFile as writeFile24 } from "node:fs/promises";
322805
+ import { access as access3, chmod as chmod5, mkdir as mkdir18, readdir as readdir10, readFile as readFile32, rename as rename12, rm as rm17, stat as stat8, statfs, writeFile as writeFile24 } from "node:fs/promises";
322202
322806
  import { homedir as homedir7 } from "node:os";
322203
322807
  import { dirname as dirname20, isAbsolute as isAbsolute6, join as join32, resolve as resolve19 } from "node:path";
322204
322808
  import { fileURLToPath as fileURLToPath3 } from "node:url";
@@ -322264,7 +322868,7 @@ module.exports = Object.freeze({
322264
322868
  // src/opencode-v2-binary.ts
322265
322869
  import { execFile as execFile3 } from "node:child_process";
322266
322870
  import { createHash as createHash21 } from "node:crypto";
322267
- import { access as access2, chmod as chmod3, mkdir as mkdir16, mkdtemp, rename as rename10, rm as rm15, writeFile as writeFile22 } from "node:fs/promises";
322871
+ import { access as access2, chmod as chmod3, mkdir as mkdir16, mkdtemp, rename as rename10, rm as rm16, writeFile as writeFile22 } from "node:fs/promises";
322268
322872
  import { join as join30 } from "node:path";
322269
322873
  import { promisify as promisify2 } from "node:util";
322270
322874
  var exec = promisify2(execFile3);
@@ -322307,7 +322911,7 @@ async function installOpencodeV2Binary(cacheRoot, version6) {
322307
322911
  await rename10(extracted, binary);
322308
322912
  return binary;
322309
322913
  } finally {
322310
- await rm15(staging, { recursive: true, force: true });
322914
+ await rm16(staging, { recursive: true, force: true });
322311
322915
  }
322312
322916
  }
322313
322917
 
@@ -322836,7 +323440,7 @@ async function backupV2Database(options) {
322836
323440
  await snapshotV1Database(options.database, destination);
322837
323441
  const backups = (await readdir10(options.directory)).filter((name) => /^opencode-v2-.+\.db$/.test(name)).sort().reverse();
322838
323442
  for (const old of backups.slice(KEPT_V2_BACKUPS)) {
322839
- await rm16(join32(options.directory, old), { force: true });
323443
+ await rm17(join32(options.directory, old), { force: true });
322840
323444
  }
322841
323445
  return destination;
322842
323446
  }
@@ -322980,7 +323584,7 @@ async function migrateOpencodeV1History(options) {
322980
323584
  throw new Error("The saved history copy belongs to another profile. Its files were preserved.");
322981
323585
  }
322982
323586
  if (saved?.phase === "completed") {
322983
- await rm16(directory, { recursive: true });
323587
+ await rm17(directory, { recursive: true });
322984
323588
  await mkdir18(directory, { mode: 448 });
322985
323589
  saved = undefined;
322986
323590
  }
@@ -322998,12 +323602,12 @@ async function migrateOpencodeV1History(options) {
322998
323602
  neededBytes: await databaseSize(options.source) * 5 + await databaseSize(options.targetDatabase)
322999
323603
  });
323000
323604
  await commitStage("snapshot");
323001
- await rm16(`${original}.tmp`, { force: true });
323605
+ await rm17(`${original}.tmp`, { force: true });
323002
323606
  await snapshotV1Database(options.source, `${original}.tmp`);
323003
323607
  await rename12(`${original}.tmp`, original);
323004
323608
  checkpoint.sourceKey = await sourceDigest(original);
323005
323609
  await mkdir18(convertedDirectory, { recursive: true, mode: 448 });
323006
- await rm16(converted, { force: true });
323610
+ await rm17(converted, { force: true });
323007
323611
  await snapshotV1Database(original, converted);
323008
323612
  await clearStaleConversionMarker(converted);
323009
323613
  await commitStage("externalizing");
@@ -323096,7 +323700,7 @@ async function migrateOpencodeV1History(options) {
323096
323700
  }
323097
323701
  await commitStage("completed");
323098
323702
  await ownership.complete();
323099
- await rm16(directory, { recursive: true });
323703
+ await rm17(directory, { recursive: true });
323100
323704
  status.state = "completed";
323101
323705
  status.phase = undefined;
323102
323706
  report();
@@ -323269,7 +323873,7 @@ var MCP_READINESS_RPC_ID = "openwork.mcp-readiness";
323269
323873
  import { execFile as execFile4 } from "node:child_process";
323270
323874
  import { createHash as createHash24 } from "node:crypto";
323271
323875
  import { existsSync as existsSync5, mkdirSync as mkdirSync2, readFileSync, writeFileSync } from "node:fs";
323272
- import { mkdir as mkdir19, rename as rename13, rm as rm17, writeFile as writeFile25 } from "node:fs/promises";
323876
+ import { mkdir as mkdir19, rename as rename13, rm as rm18, writeFile as writeFile25 } from "node:fs/promises";
323273
323877
  import { join as join36 } from "node:path";
323274
323878
  // ../../constants.json
323275
323879
  var constants_default = {
@@ -323536,6 +324140,8 @@ function v1HistoryExists(env) {
323536
324140
  }
323537
324141
  }
323538
324142
  function seedFreshInstallEngineState(config2, env = process.env) {
324143
+ if (hasExternalOpencode(config2))
324144
+ return false;
323539
324145
  const state = freshInstallEngineState({
323540
324146
  requested: config2.freshInstallEngine,
323541
324147
  env,
@@ -323546,7 +324152,7 @@ function seedFreshInstallEngineState(config2, env = process.env) {
323546
324152
  return false;
323547
324153
  try {
323548
324154
  mkdirSync2(runtimeStorageDir(config2), { recursive: true });
323549
- writeFileSync(statePath(config2), `${JSON.stringify({ ...state, engineOrigin: "fresh", engineChangedAt: new Date().toISOString(), ...config2.engineAutoUpgrade ? { engineForced: true } : {} }, null, 2)}
324155
+ writeFileSync(statePath(config2), `${JSON.stringify({ ...state, engineOrigin: "fresh", engineChangedAt: new Date().toISOString(), ...config2.engineAutoUpgrade !== false ? { engineForced: true } : {} }, null, 2)}
323550
324156
  `, { encoding: "utf8", flag: "wx" });
323551
324157
  return true;
323552
324158
  } catch {
@@ -323742,7 +324348,7 @@ async function waitForEngineV2Catalog(active, directory, specs, timeoutMs = CATA
323742
324348
  lastError: `OpenCode v2 has not listed ${labels.length} ${labels.length === 1 ? "model" : "models"} ${after}: ${shown}.`
323743
324349
  };
323744
324350
  }
323745
- function mapRuntimeMcpToV2(value3) {
324351
+ function mapRuntimeMcpToV2(value3, name) {
323746
324352
  if (!isRecord47(value3))
323747
324353
  return;
323748
324354
  if (value3.enabled === false || value3.disabled === true)
@@ -323772,6 +324378,7 @@ function mapRuntimeMcpToV2(value3) {
323772
324378
  type: "remote",
323773
324379
  url: value3.url,
323774
324380
  headers: strings(value3.headers),
324381
+ ...name === "openwork-cloud" ? { protocol: "auto" } : {},
323775
324382
  ...oauth === undefined ? {} : { oauth },
323776
324383
  ...shared
323777
324384
  };
@@ -323811,13 +324418,10 @@ function createEngineV2Preview(options) {
323811
324418
  let engineOrigin = initialState.engineOrigin ?? "manual";
323812
324419
  let engineChangedAt = initialState.engineChangedAt;
323813
324420
  let engineForced = initialState.engineForced === true;
323814
- let forceUpgrade = config2.engineAutoUpgrade === true;
323815
- let forceRevert = (config2.engineForcePolicy === true || config2.engineAutoUpgrade === true) && !forceUpgrade;
324421
+ const autoUpgradeEnabled = !hasExternalOpencode(config2) && config2.engineAutoUpgrade !== false && !process.env.OPENWORK_ENGINE_V2_PREVIEW?.trim();
323816
324422
  let autoUpgradeRetry = initialState.autoUpgradeRetry;
323817
324423
  const autoUpgradeAbort = new AbortController;
323818
- const autoRevertAbort = new AbortController;
323819
324424
  let autoUpgradeJob;
323820
- let autoRevertJob;
323821
324425
  let migration = resumeMigration ? { state: "running", phase: "starting", imported: 0, skipped: 0, total: 0, resumed: true } : initialState.historyCopyResult ?? { state: "idle", imported: 0, skipped: 0, total: 0 };
323822
324426
  let migrationJob;
323823
324427
  let migrationAbort;
@@ -323919,7 +324523,7 @@ function createEngineV2Preview(options) {
323919
324523
  const desired = new Map(Object.entries(runtime).flatMap(([name, value3]) => {
323920
324524
  if (agentPermissionEngineMcpDenial(agentPermissionRules, name, value3, organizationMcp))
323921
324525
  return [];
323922
- const mapped = mapRuntimeMcpToV2(value3);
324526
+ const mapped = mapRuntimeMcpToV2(value3, name);
323923
324527
  return mapped ? [[name, { config: mapped, fingerprint: JSON.stringify(mapped) }]] : [];
323924
324528
  }));
323925
324529
  const { applied, attempts } = location;
@@ -324029,7 +324633,7 @@ function createEngineV2Preview(options) {
324029
324633
  engineOrigin,
324030
324634
  engineForced,
324031
324635
  ...engineChangedAt === undefined ? {} : { engineChangedAt },
324032
- forceUpgradePending: automaticHistoryCopy || forceUpgrade && !forceRevert && !chatRouting && autoUpgradeJob !== undefined,
324636
+ forceUpgradePending: automaticHistoryCopy || autoUpgradeEnabled && !chatRouting && autoUpgradeJob !== undefined,
324033
324637
  enabled,
324034
324638
  migration: { ...migration },
324035
324639
  v1HistoryAvailable: hasV1History(),
@@ -324199,7 +324803,7 @@ function createEngineV2Preview(options) {
324199
324803
  if (!enabled || !allowRunning)
324200
324804
  return;
324201
324805
  await mkdir19(workspaceDir, { recursive: true });
324202
- await rm17(join36(rootDir, "cloud-skills"), { recursive: true, force: true });
324806
+ await rm18(join36(rootDir, "cloud-skills"), { recursive: true, force: true });
324203
324807
  const opencodeModelsUrl = await resolveOpencodeModelsUrl();
324204
324808
  contextBridge = options.hostReadRequest ? await createV2ContextBridge(options.hostReadRequest) : undefined;
324205
324809
  providerSessionBridge = options.providerSession ? await createV2ProviderSessionBridge(() => ownsGateway() ? options.providerSession?.() ?? null : null) : undefined;
@@ -324519,16 +325123,18 @@ function createEngineV2Preview(options) {
324519
325123
  const source = opencodeV1DatabasePath();
324520
325124
  if (!existsSync5(source) || (await readMigrationSessions(source)).length === 0) {
324521
325125
  await waitForEngineIdle({ signal: autoUpgradeAbort.signal, idle: options.autoUpgradeIdle ?? (async () => false) });
325126
+ if (chosenV1Manually())
325127
+ return true;
324522
325128
  enabled = true;
324523
325129
  allowRunning = true;
324524
325130
  await start();
324525
325131
  if (!running)
324526
325132
  throw new Error("OpenCode v2 did not become healthy. Keeping v1.");
324527
325133
  autoUpgradeAbort.signal.throwIfAborted();
324528
- if (!forceUpgrade || forceRevert)
325134
+ if (!autoUpgradeEnabled || chosenV1Manually())
324529
325135
  return true;
324530
325136
  await withEngineSwitchFence(config2, { from: "v1", to: "v2", operation: async () => {
324531
- if (!forceUpgrade || !await options.autoUpgradeIdle?.() || existsSync5(source) && (await readMigrationSessions(source)).length > 0) {
325137
+ if (!autoUpgradeEnabled || chosenV1Manually() || !await options.autoUpgradeIdle?.() || existsSync5(source) && (await readMigrationSessions(source)).length > 0) {
324532
325138
  throw new Error("OpenCode v1 gained history or running work while v2 started. Keeping v1 until a later boot.");
324533
325139
  }
324534
325140
  migration = { state: "idle", imported: 0, skipped: 0, total: 0 };
@@ -324541,6 +325147,8 @@ function createEngineV2Preview(options) {
324541
325147
  idle: options.autoUpgradeIdle ?? (async () => false),
324542
325148
  revision: () => historyRevision(source),
324543
325149
  copy: async () => {
325150
+ if (chosenV1Manually())
325151
+ throw new Error("OpenCode v1 was selected locally. Keeping v1.");
324544
325152
  const revision = await historyRevision(source);
324545
325153
  if (automaticHistoryCopy && automaticHistoryRevision !== undefined && automaticHistoryRevision !== revision && v1HistoryCopyStartedAt === undefined && migration.backupPath) {
324546
325154
  await stopRuntime();
@@ -324548,10 +325156,10 @@ function createEngineV2Preview(options) {
324548
325156
  const temporary = `${target}.auto-restore`;
324549
325157
  const ownership = await acquireHistoryCopyLock(target);
324550
325158
  try {
324551
- await rm17(temporary, { force: true });
325159
+ await rm18(temporary, { force: true });
324552
325160
  await snapshotV1Database(migration.backupPath, temporary);
324553
- await rm17(`${target}-wal`, { force: true });
324554
- await rm17(`${target}-shm`, { force: true });
325161
+ await rm18(`${target}-wal`, { force: true });
325162
+ await rm18(`${target}-shm`, { force: true });
324555
325163
  await rename13(temporary, target);
324556
325164
  v1HistoryCopiedAt = undefined;
324557
325165
  automaticHistoryRevision = undefined;
@@ -324574,7 +325182,7 @@ function createEngineV2Preview(options) {
324574
325182
  }
324575
325183
  },
324576
325184
  switchEngine: async () => {
324577
- if (!forceUpgrade || forceRevert)
325185
+ if (!autoUpgradeEnabled || chosenV1Manually())
324578
325186
  throw new Error("Automatic upgrade is no longer enabled. Keeping v1.");
324579
325187
  allowRunning = true;
324580
325188
  await start();
@@ -324582,7 +325190,7 @@ function createEngineV2Preview(options) {
324582
325190
  throw new Error("OpenCode v2 did not become healthy. Keeping v1.");
324583
325191
  autoUpgradeAbort.signal.throwIfAborted();
324584
325192
  await withEngineSwitchFence(config2, { from: "v1", to: "v2", operation: async () => {
324585
- if (!forceUpgrade || !await options.autoUpgradeIdle?.() || automaticHistoryRevision !== await historyRevision(source)) {
325193
+ if (!autoUpgradeEnabled || chosenV1Manually() || !await options.autoUpgradeIdle?.() || automaticHistoryRevision !== await historyRevision(source)) {
324586
325194
  throw new Error("OpenCode v1 changed while v2 started. Keeping v1 until a later boot.");
324587
325195
  }
324588
325196
  await setChatRouting(true, "forced");
@@ -324606,49 +325214,14 @@ function createEngineV2Preview(options) {
324606
325214
  return false;
324607
325215
  }
324608
325216
  }
324609
- async function autoRevert() {
324610
- try {
324611
- await autoUpgradeJob;
324612
- if (!forceRevert || !engineForced || !chatRouting)
324613
- return true;
324614
- await waitForEngineIdle({
324615
- signal: autoRevertAbort.signal,
324616
- idle: options.autoRevertIdle ?? (async () => !running)
324617
- });
324618
- autoRevertAbort.signal.throwIfAborted();
324619
- if (!forceRevert || !engineForced || !chatRouting)
324620
- return true;
324621
- await withEngineSwitchFence(config2, { from: "v2", to: "v1", operation: async () => {
324622
- if (!forceRevert || !engineForced || !await (options.autoRevertIdle?.() ?? Promise.resolve(!running))) {
324623
- throw new Error("OpenCode v2 gained running work before the switch. Keeping v2.");
324624
- }
324625
- await setChatRouting(false, "reverted");
324626
- await stopRuntime().catch((error48) => {
324627
- lastError = errorMessage4(error48);
324628
- options.autoUpgradeError?.(lastError);
324629
- });
324630
- } });
324631
- return true;
324632
- } catch (error48) {
324633
- lastError = errorMessage4(error48);
324634
- options.autoUpgradeError?.(lastError);
324635
- await persistState().catch((error49) => warn(`Automatic revert state: ${errorMessage4(error49)}`));
324636
- return false;
324637
- }
324638
- }
324639
- function setForcePolicy(policy) {
324640
- forceUpgrade = policy.upgrade;
324641
- forceRevert = !policy.upgrade;
324642
- startWhenReady();
325217
+ function setForcePolicy(_policy) {
324643
325218
  return status();
324644
325219
  }
324645
325220
  async function stop() {
324646
325221
  stopping = true;
324647
325222
  autoUpgradeAbort.abort(new Error("Automatic upgrade paused while OpenWork closes."));
324648
325223
  migrationAbort?.abort(new Error("History copy paused while OpenWork closes. Restart to resume."));
324649
- autoRevertAbort.abort(new Error("Automatic revert paused while OpenWork closes."));
324650
325224
  await autoUpgradeJob;
324651
- await autoRevertJob;
324652
325225
  await migrationJob;
324653
325226
  await startFailureJob;
324654
325227
  await stopRuntime();
@@ -324666,17 +325239,12 @@ function createEngineV2Preview(options) {
324666
325239
  }
324667
325240
  if (migration.state === "running")
324668
325241
  return;
324669
- if (forceRevert && engineForced && chatRouting && !config2.readOnly && !autoRevertJob) {
324670
- autoRevertJob = autoRevert().then((success2) => {
324671
- if (success2)
324672
- autoRevertJob = undefined;
324673
- });
324674
- } else if (forceUpgrade && !forceRevert && !config2.readOnly && !chatRouting && !autoUpgradeJob && !chosenV1Manually()) {
325242
+ if (autoUpgradeEnabled && !config2.readOnly && !chatRouting && !autoUpgradeJob && !chosenV1Manually()) {
324675
325243
  autoUpgradeJob = autoUpgrade().then((success2) => {
324676
325244
  if (success2)
324677
325245
  autoUpgradeJob = undefined;
324678
325246
  });
324679
- } else if (enabled && !automaticHistoryCopy && engineOrigin !== "reverted" && !(forceUpgrade && !chatRouting))
325247
+ } else if (enabled && !automaticHistoryCopy && engineOrigin !== "reverted" && !(autoUpgradeEnabled && !chatRouting && !chosenV1Manually()))
324680
325248
  start().catch(recordStartError);
324681
325249
  }
324682
325250
  if (!options.deferStart)
@@ -324686,7 +325254,7 @@ function createEngineV2Preview(options) {
324686
325254
  // package.json
324687
325255
  var package_default = {
324688
325256
  name: "openwork-server",
324689
- version: "0.18.60",
325257
+ version: "0.18.61",
324690
325258
  description: "Filesystem-backed API for OpenWork remote clients",
324691
325259
  type: "module",
324692
325260
  bin: {
@@ -324704,7 +325272,7 @@ var package_default = {
324704
325272
  "publish:npm": "pnpm build && pnpm build:npm-bundle && pnpm build:web-ui && node scripts/build-opencode-plugin-deps.mjs && node scripts/publish-npm.mjs",
324705
325273
  start: "bun dist/cli.js",
324706
325274
  typecheck: "tsc -p tsconfig.json --noEmit",
324707
- "test:readiness": "bun test test/opencode-stop-fence.test.ts test/opencode-v2-mcp-readiness.test.ts test/openwork-mcp-results-v2.test.ts test/openwork-session-groups.test.ts",
325275
+ "test:readiness": "bun test test/opencode-stop-fence.test.ts test/opencode-v2-mcp-readiness.test.ts test/openwork-mcp-results-v2.test.ts test/openwork-session-groups.test.ts test/opencode-v2-instructions.test.ts test/cloud-provider-sync-prompts.test.ts test/engine-v2-mcp-mapping.test.ts test/engine-v2-mcp-reconciliation.test.ts",
324708
325276
  "test:fresh-install-engine": "bun test test/engine-fresh-install-default.test.ts",
324709
325277
  "test:live-provider-sync": "bun test test/live-provider-sync.test.ts",
324710
325278
  "test:history-migration": "bun test test/opencode-v2-staged-history.test.ts",
@@ -324753,7 +325321,7 @@ var package_default = {
324753
325321
  htmlparser2: "8.0.2",
324754
325322
  "jsonc-parser": "^3.2.1",
324755
325323
  minimatch: "^10.2.5",
324756
- undici: "6.28.1",
325324
+ undici: "6.29.1",
324757
325325
  yaml: "^2.9.0",
324758
325326
  zod: "^4.3.6",
324759
325327
  "@openwork/computer-use": "workspace:*"
@@ -324770,6 +325338,9 @@ var package_default = {
324770
325338
  "jpeg-js": "0.4.4",
324771
325339
  typescript: "^5.6.3"
324772
325340
  },
325341
+ engines: {
325342
+ node: ">=24.22.1 <25"
325343
+ },
324773
325344
  packageManager: "pnpm@10.27.0"
324774
325345
  };
324775
325346
 
@@ -325324,11 +325895,6 @@ async function startServer(config2, options = {}) {
325324
325895
  deferStart: true,
325325
325896
  resolveLiveProviderSync,
325326
325897
  autoUpgradeIdle: async () => (await describeV1EngineActivity(config2)).verdict === "idle",
325327
- autoRevertIdle: async () => {
325328
- if (!engineV2Preview.status().running)
325329
- return true;
325330
- return (await describeV2EngineActivity(config2, engineV2Preview.connection()))?.verdict === "idle";
325331
- },
325332
325898
  autoUpgradeError: (error48) => logger2.log("warn", "Automatic engine upgrade failed; keeping v1", { error: error48 }),
325333
325899
  providerSession: () => cloudProviderSync.currentSession(),
325334
325900
  hostReadRequest: async (path3, init) => {
@@ -325409,8 +325975,8 @@ async function startServer(config2, options = {}) {
325409
325975
  const recordUnhandledErrorCause = (error48) => {
325410
325976
  errorCause = error48 instanceof Error ? error48.message : String(error48);
325411
325977
  };
325412
- const finalize2 = (response) => {
325413
- const wrapped = withCors(response, request3, config2);
325978
+ const finalize2 = (response, options2 = {}) => {
325979
+ const wrapped = options2.cors === false ? response : withCors(response, request3, config2);
325414
325980
  if (config2.logRequests) {
325415
325981
  logRequest({
325416
325982
  logger: logger2,
@@ -325518,6 +326084,11 @@ async function startServer(config2, options = {}) {
325518
326084
  return finalize2(jsonResponse2(formatError2(apiError), apiError.status));
325519
326085
  }
325520
326086
  };
326087
+ if (!isAllowedHost(request3, config2)) {
326088
+ const apiError = new ApiError(403, "host_not_allowed", "This server does not answer to this host name. Add it with --allowed-hosts or OPENWORK_ALLOWED_HOSTS.");
326089
+ recordApiError(apiError);
326090
+ return finalize2(jsonResponse2(formatError2(apiError), apiError.status));
326091
+ }
325521
326092
  if (request3.method === "OPTIONS") {
325522
326093
  return finalize2(new Response(null, { status: 204 }));
325523
326094
  }
@@ -325572,7 +326143,7 @@ async function startServer(config2, options = {}) {
325572
326143
  if (!route) {
325573
326144
  const staticUiResponse = await serveStaticUi(request3, config2);
325574
326145
  if (staticUiResponse)
325575
- return finalize2(staticUiResponse);
326146
+ return finalize2(staticUiResponse, { cors: false });
325576
326147
  errorMessage5 = "not_found";
325577
326148
  return finalize2(jsonResponse2({ code: "not_found", message: "Not found" }, 404));
325578
326149
  }
@@ -325880,7 +326451,8 @@ async function forwardOpencodeV2Request(input) {
325880
326451
  const mcpResponse = await engineFetch(mcpUrl.toString(), { headers: internalHeaders, signal: AbortSignal.timeout(1e4) });
325881
326452
  const mcpPayload = mcpResponse.ok ? await mcpResponse.json() : null;
325882
326453
  const connectReady = isRecord48(mcpPayload) && Array.isArray(mcpPayload.data) && mcpPayload.data.some((entry) => isRecord48(entry) && entry.name === "openwork-cloud" && isRecord48(entry.status) && entry.status.status === "connected");
325883
- const value3 = buildOpenWorkV2Instructions(connectReady);
326454
+ const organizationPrompts = (await readGlobalRuntimeOpencodeConfig(input.config)).managedPrompt;
326455
+ const value3 = buildOpenWorkV2Instructions(connectReady, organizationPrompts);
325884
326456
  const instructionUrl = new URL(target);
325885
326457
  instructionUrl.pathname = `/api/experimental/session/${encodeURIComponent(sessionId)}/instructions/entries/${OPENWORK_V2_INSTRUCTION_KEY}`;
325886
326458
  const synced = await engineFetch(instructionUrl.toString(), {
@@ -326486,12 +327058,12 @@ function parseSsePayload2(frame) {
326486
327058
  }
326487
327059
  function mergedEventBody(input) {
326488
327060
  const encoder2 = new TextEncoder;
326489
- const readers = input.streams.map((entry) => ({ connection: entry.connection, reader: entry.body.getReader() }));
327061
+ const readers2 = input.streams.map((entry) => ({ connection: entry.connection, reader: entry.body.getReader() }));
326490
327062
  let cancelled = false;
326491
327063
  let pingTimer = null;
326492
327064
  return new ReadableStream({
326493
327065
  start(controller) {
326494
- let active = readers.length;
327066
+ let active = readers2.length;
326495
327067
  let closed = false;
326496
327068
  const close2 = () => {
326497
327069
  if (closed)
@@ -326507,7 +327079,7 @@ function mergedEventBody(input) {
326507
327079
  if (closed || cancelled)
326508
327080
  return;
326509
327081
  cancelled = true;
326510
- for (const entry of readers)
327082
+ for (const entry of readers2)
326511
327083
  entry.reader.cancel(input.lease.signal.reason).catch(() => {
326512
327084
  return;
326513
327085
  });
@@ -326549,7 +327121,7 @@ function mergedEventBody(input) {
326549
327121
  finish();
326550
327122
  }
326551
327123
  };
326552
- for (const entry of readers)
327124
+ for (const entry of readers2)
326553
327125
  pump(entry);
326554
327126
  pingTimer = setInterval(() => {
326555
327127
  if (!closed && !cancelled)
@@ -326567,7 +327139,7 @@ function mergedEventBody(input) {
326567
327139
  if (pingTimer)
326568
327140
  clearInterval(pingTimer);
326569
327141
  input.lease.release();
326570
- await Promise.all(readers.map((entry) => entry.reader.cancel(reason).catch(() => {
327142
+ await Promise.all(readers2.map((entry) => entry.reader.cancel(reason).catch(() => {
326571
327143
  return;
326572
327144
  })));
326573
327145
  }
@@ -326961,6 +327533,13 @@ function createRoutes(config2, approvals, tokens, env, onWorkspacesChanged, engi
326961
327533
  const refresh = await applyManagedProviderReload(resolveEngineRuntimeWorkspace(config2));
326962
327534
  return jsonResponse2({ ...preferences, refresh });
326963
327535
  });
327536
+ addRoute(routes, "PUT", "/anonymous-inference/analytics", "host-token", async (ctx) => {
327537
+ const body = await readJsonBody(ctx.request);
327538
+ if (typeof body.enabled !== "boolean" || Object.keys(body).some((key2) => key2 !== "enabled")) {
327539
+ throw new ApiError(400, "invalid_payload", "Only enabled is accepted.");
327540
+ }
327541
+ return privateProviderResponse(await anonymousInference.setAnalyticsEnabled(body.enabled));
327542
+ });
326964
327543
  const nativeEngineForWorkspace = createNativeCloudMcpResolver(engineV2Preview);
326965
327544
  registerCoreRoutes({
326966
327545
  nativeEngineForWorkspace,
@@ -330155,7 +330734,7 @@ function buildOpenworkRuntimeConfigObjectFromSnapshot2(runtimeConfig2) {
330155
330734
  }
330156
330735
  const disabledProviders = runtimeDisabledProviderList(runtimeConfig2);
330157
330736
  const permissions = legacyExecutionPermissions(runtimeConfig2.managedPolicy?.execution);
330158
- const { managedPolicy: _managedPolicy, ...engineConfig } = runtimeConfig2;
330737
+ const { managedPolicy: _managedPolicy, managedPrompt, ...engineConfig } = runtimeConfig2;
330159
330738
  const provider = materializeLegacyFastProviders(runtimeProviderMap(runtimeConfig2));
330160
330739
  return {
330161
330740
  ...engineConfig,
@@ -330170,7 +330749,7 @@ function buildOpenworkRuntimeConfigObjectFromSnapshot2(runtimeConfig2) {
330170
330749
  description: "OpenWork default agent",
330171
330750
  mode: "primary",
330172
330751
  temperature: 0.2,
330173
- prompt: OPENWORK_AGENT_PROMPT,
330752
+ prompt: appendOrganizationPrompts(OPENWORK_AGENT_PROMPT, managedPrompt),
330174
330753
  permission: {
330175
330754
  ...permissions,
330176
330755
  skill: {
@@ -330621,9 +331200,11 @@ function normalizeRuntimeOpencodeConfig2(value3) {
330621
331200
  const permission = isRecord7(value3.permission) ? value3.permission : undefined;
330622
331201
  const externalDirectory = permission && isRecord7(permission.external_directory) ? permission.external_directory : undefined;
330623
331202
  const provider = isRecord7(value3.provider) ? value3.provider : undefined;
331203
+ const managedPrompt = typeof value3.managedPrompt === "string" && value3.managedPrompt.trim() ? value3.managedPrompt : undefined;
330624
331204
  return {
330625
331205
  ...defaultAgent ? { default_agent: defaultAgent } : {},
330626
331206
  ...value3.managedPolicy !== undefined ? { managedPolicy: desktopConfigSchema.parse(value3.managedPolicy) } : {},
331207
+ ...managedPrompt ? { managedPrompt } : {},
330627
331208
  ...plugin ? { plugin } : {},
330628
331209
  ...disabledProviders ? { disabled_providers: disabledProviders } : {},
330629
331210
  ...mcp ? { mcp } : {},
@@ -330811,8 +331392,8 @@ function updateRuntimeConfig2(config2, workspaceId, updater) {
330811
331392
  }
330812
331393
  function writeRuntimeOpencodeConfig2(config2, workspaceId, updater) {
330813
331394
  return updateRuntimeConfig2(config2, workspaceId, (current2) => {
330814
- const { managedPolicy, ...editable } = current2;
330815
- return { ...updater(editable), managedPolicy };
331395
+ const { managedPolicy, managedPrompt, ...editable } = current2;
331396
+ return { ...updater(editable), managedPolicy, managedPrompt };
330816
331397
  });
330817
331398
  }
330818
331399
 
@@ -331892,7 +332473,7 @@ init_paths();
331892
332473
  import { spawn as spawn5, spawnSync as spawnSync2 } from "node:child_process";
331893
332474
  import { existsSync as existsSync7 } from "node:fs";
331894
332475
  import { randomBytes as randomBytes13 } from "node:crypto";
331895
- import { chmod as chmod6, mkdir as mkdir21, mkdtemp as mkdtemp2, readFile as readFile38, readdir as readdir12, rename as rename15, rm as rm19, stat as stat10, writeFile as writeFile28 } from "node:fs/promises";
332476
+ import { chmod as chmod6, mkdir as mkdir21, mkdtemp as mkdtemp2, readFile as readFile38, readdir as readdir12, rename as rename15, rm as rm20, stat as stat10, writeFile as writeFile28 } from "node:fs/promises";
331896
332477
  import { homedir as homedir11, tmpdir } from "node:os";
331897
332478
  import { basename as basename15, dirname as dirname24, join as join40, relative as relative9, resolve as resolve23 } from "node:path";
331898
332479
  var OPENCODE_GITHUB_REPO = "anomalyco/opencode";
@@ -332064,7 +332645,7 @@ async function ensureManagedEngine(input) {
332064
332645
  if (installedVersion === version6)
332065
332646
  return { bin, installedVersion, source: "installed" };
332066
332647
  input.log(`Installed engine at ${bin} reports ${installedVersion ?? "unknown"}; expected ${version6}. Reinstalling.`);
332067
- await rm19(installDir, { recursive: true, force: true });
332648
+ await rm20(installDir, { recursive: true, force: true });
332068
332649
  }
332069
332650
  const platform3 = input.platform ?? process.platform;
332070
332651
  const arch = input.arch ?? process.arch;
@@ -332096,14 +332677,14 @@ async function ensureManagedEngine(input) {
332096
332677
  await chmod6(partial2, 493);
332097
332678
  const downloadedVersion = readBinaryVersion(partial2);
332098
332679
  if (downloadedVersion !== version6) {
332099
- await rm19(partial2, { force: true });
332680
+ await rm20(partial2, { force: true });
332100
332681
  throw new Error(`Downloaded OpenCode reports ${downloadedVersion ?? "no version"}; expected ${version6}.`);
332101
332682
  }
332102
332683
  await renameWithRetry(partial2, bin, { platform: platform3 });
332103
332684
  input.log(`Installed OpenCode ${version6} to ${bin}`);
332104
332685
  return { bin, installedVersion: downloadedVersion, source: "downloaded" };
332105
332686
  } finally {
332106
- await rm19(stagingDir, { recursive: true, force: true });
332687
+ await rm20(stagingDir, { recursive: true, force: true });
332107
332688
  }
332108
332689
  }
332109
332690
  function opencodeGlobalConfigDir(env, home = homedir11()) {
@@ -332140,7 +332721,7 @@ async function seedOpencodePluginDepsInner(input) {
332140
332721
  return { seeded: false, reason: "failed", error: error48 instanceof Error ? error48.message : String(error48) };
332141
332722
  } finally {
332142
332723
  if (staging)
332143
- await rm19(staging, { recursive: true, force: true }).catch(() => {
332724
+ await rm20(staging, { recursive: true, force: true }).catch(() => {
332144
332725
  return;
332145
332726
  });
332146
332727
  }
@@ -332228,7 +332809,7 @@ function readInstalledOpencodeVersion() {
332228
332809
  // package.json
332229
332810
  var package_default2 = {
332230
332811
  name: "openwork-server",
332231
- version: "0.18.60",
332812
+ version: "0.18.61",
332232
332813
  description: "Filesystem-backed API for OpenWork remote clients",
332233
332814
  type: "module",
332234
332815
  bin: {
@@ -332246,7 +332827,7 @@ var package_default2 = {
332246
332827
  "publish:npm": "pnpm build && pnpm build:npm-bundle && pnpm build:web-ui && node scripts/build-opencode-plugin-deps.mjs && node scripts/publish-npm.mjs",
332247
332828
  start: "bun dist/cli.js",
332248
332829
  typecheck: "tsc -p tsconfig.json --noEmit",
332249
- "test:readiness": "bun test test/opencode-stop-fence.test.ts test/opencode-v2-mcp-readiness.test.ts test/openwork-mcp-results-v2.test.ts test/openwork-session-groups.test.ts",
332830
+ "test:readiness": "bun test test/opencode-stop-fence.test.ts test/opencode-v2-mcp-readiness.test.ts test/openwork-mcp-results-v2.test.ts test/openwork-session-groups.test.ts test/opencode-v2-instructions.test.ts test/cloud-provider-sync-prompts.test.ts test/engine-v2-mcp-mapping.test.ts test/engine-v2-mcp-reconciliation.test.ts",
332250
332831
  "test:fresh-install-engine": "bun test test/engine-fresh-install-default.test.ts",
332251
332832
  "test:live-provider-sync": "bun test test/live-provider-sync.test.ts",
332252
332833
  "test:history-migration": "bun test test/opencode-v2-staged-history.test.ts",
@@ -332295,7 +332876,7 @@ var package_default2 = {
332295
332876
  htmlparser2: "8.0.2",
332296
332877
  "jsonc-parser": "^3.2.1",
332297
332878
  minimatch: "^10.2.5",
332298
- undici: "6.28.1",
332879
+ undici: "6.29.1",
332299
332880
  yaml: "^2.9.0",
332300
332881
  zod: "^4.3.6",
332301
332882
  "@openwork/computer-use": "workspace:*"
@@ -332312,6 +332893,9 @@ var package_default2 = {
332312
332893
  "jpeg-js": "0.4.4",
332313
332894
  typescript: "^5.6.3"
332314
332895
  },
332896
+ engines: {
332897
+ node: ">=24.22.1 <25"
332898
+ },
332315
332899
  packageManager: "pnpm@10.27.0"
332316
332900
  };
332317
332901
  // ../../constants.json
@@ -332519,7 +333103,7 @@ if (args2.web) {
332519
333103
  logger2.log("info", "Anyone who can reach this URL is signed in automatically. Keep it on a private network or pass --no-bootstrap-token.");
332520
333104
  }
332521
333105
  if (browserHost !== "localhost" && browserHost !== "127.0.0.1") {
332522
- logger2.log("info", "Browsers require HTTPS for a non-localhost origin; put a TLS proxy (e.g. tailscale serve) in front.");
333106
+ logger2.log("info", "Browsers require HTTPS for a non-localhost origin; put a TLS proxy (e.g. tailscale serve) in front and pass its name with --allowed-hosts.");
332523
333107
  }
332524
333108
  if (args2.open)
332525
333109
  openInBrowser(browserUrl);
@@ -332551,6 +333135,8 @@ if (args2.verbose) {
332551
333135
  logger2.log("info", `Read-only: ${config2.readOnly ? "true" : "false"}`);
332552
333136
  logger2.log("info", `Approval: ${config2.approval.mode} (${config2.approval.timeoutMs}ms)`);
332553
333137
  logger2.log("info", `CORS origins: ${config2.corsOrigins.join(", ")}`);
333138
+ if (config2.allowedHosts)
333139
+ logger2.log("info", `Allowed hosts: loopback, IP addresses, ${[config2.host, ...config2.allowedHosts].join(", ")}`);
332554
333140
  logger2.log("info", `Authorized roots: ${config2.authorizedRoots.join(", ")}`);
332555
333141
  logger2.log("info", `Token source: ${config2.tokenSource}`);
332556
333142
  logger2.log("info", `Host token source: ${config2.hostTokenSource}`);