@inerrata-corporation/errata 2.0.23-dev.5035 → 2.0.23-dev.5081

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/errata.mjs CHANGED
@@ -60060,9 +60060,9 @@ var require_ignore = __commonJS({
60060
60060
  }
60061
60061
  });
60062
60062
 
60063
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/symbols.js
60063
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/symbols.js
60064
60064
  var require_symbols = __commonJS({
60065
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/symbols.js"(exports, module2) {
60065
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/symbols.js"(exports, module2) {
60066
60066
  module2.exports = {
60067
60067
  kClose: Symbol("close"),
60068
60068
  kDestroy: Symbol("destroy"),
@@ -60133,9 +60133,9 @@ var require_symbols = __commonJS({
60133
60133
  }
60134
60134
  });
60135
60135
 
60136
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/errors.js
60136
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/errors.js
60137
60137
  var require_errors = __commonJS({
60138
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/errors.js"(exports, module2) {
60138
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/errors.js"(exports, module2) {
60139
60139
  "use strict";
60140
60140
  var kUndiciError = Symbol.for("undici.error.UND_ERR");
60141
60141
  var UndiciError = class extends Error {
@@ -60491,9 +60491,9 @@ var require_errors = __commonJS({
60491
60491
  }
60492
60492
  });
60493
60493
 
60494
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/constants.js
60494
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/constants.js
60495
60495
  var require_constants = __commonJS({
60496
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/constants.js"(exports, module2) {
60496
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/constants.js"(exports, module2) {
60497
60497
  "use strict";
60498
60498
  var headerNameLowerCasedRecord = {};
60499
60499
  var wellknownHeaderNames = [
@@ -60606,9 +60606,9 @@ var require_constants = __commonJS({
60606
60606
  }
60607
60607
  });
60608
60608
 
60609
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/tree.js
60609
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/tree.js
60610
60610
  var require_tree = __commonJS({
60611
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/tree.js"(exports, module2) {
60611
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/tree.js"(exports, module2) {
60612
60612
  "use strict";
60613
60613
  var {
60614
60614
  wellknownHeaderNames,
@@ -60746,9 +60746,9 @@ var require_tree = __commonJS({
60746
60746
  }
60747
60747
  });
60748
60748
 
60749
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/util.js
60749
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/util.js
60750
60750
  var require_util = __commonJS({
60751
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/util.js"(exports, module2) {
60751
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/util.js"(exports, module2) {
60752
60752
  "use strict";
60753
60753
  var assert2 = __require("node:assert");
60754
60754
  var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
@@ -61252,9 +61252,9 @@ var require_util = __commonJS({
61252
61252
  }
61253
61253
  });
61254
61254
 
61255
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/diagnostics.js
61255
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/diagnostics.js
61256
61256
  var require_diagnostics = __commonJS({
61257
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/diagnostics.js"(exports, module2) {
61257
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/diagnostics.js"(exports, module2) {
61258
61258
  "use strict";
61259
61259
  var diagnosticsChannel = __require("node:diagnostics_channel");
61260
61260
  var util = __require("node:util");
@@ -61437,9 +61437,9 @@ var require_diagnostics = __commonJS({
61437
61437
  }
61438
61438
  });
61439
61439
 
61440
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/request.js
61440
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/request.js
61441
61441
  var require_request = __commonJS({
61442
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/request.js"(exports, module2) {
61442
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/request.js"(exports, module2) {
61443
61443
  "use strict";
61444
61444
  var {
61445
61445
  InvalidArgumentError,
@@ -61648,10 +61648,66 @@ var require_request = __commonJS({
61648
61648
  return false;
61649
61649
  }
61650
61650
  }
61651
- onUpgrade(statusCode, headers, socket) {
61651
+ /**
61652
+ * @param {number|null} statusCode
61653
+ * @param {Buffer[]|null} headers
61654
+ * @param {import('node:stream').Duplex} socket
61655
+ * @param {string} [statusText]
61656
+ */
61657
+ onUpgrade(statusCode, headers, socket, statusText = "") {
61658
+ this.onFinally();
61652
61659
  assert2(!this.aborted);
61653
61660
  assert2(!this.completed);
61654
- return this[kHandler].onUpgrade(statusCode, headers, socket);
61661
+ if (statusCode !== null) {
61662
+ this.#publishUpgradeHeaders(statusCode, headers, statusText);
61663
+ }
61664
+ const result = this[kHandler].onUpgrade(statusCode, headers, socket);
61665
+ if (!this.aborted) {
61666
+ this.completed = true;
61667
+ if (statusCode !== null) {
61668
+ this.#publishUpgradeTrailers();
61669
+ }
61670
+ }
61671
+ return result;
61672
+ }
61673
+ /**
61674
+ * @param {number} statusCode
61675
+ * @param {import('node:http2').IncomingHttpHeaders} headers
61676
+ * @param {(headers: import('node:http2').IncomingHttpHeaders) => Buffer[]} parseHeaders
61677
+ * @param {string} [statusText]
61678
+ */
61679
+ onUpgradeResponse(statusCode, headers, parseHeaders, statusText = "") {
61680
+ assert2(!this.aborted);
61681
+ assert2(this.completed);
61682
+ if (channels.headers.hasSubscribers) {
61683
+ this.#publishUpgradeHeaders(statusCode, parseHeaders(headers), statusText);
61684
+ }
61685
+ this.#publishUpgradeTrailers();
61686
+ }
61687
+ /**
61688
+ * @param {Error} error
61689
+ */
61690
+ onUpgradeError(error48) {
61691
+ assert2(!this.aborted);
61692
+ assert2(this.completed);
61693
+ if (channels.error.hasSubscribers) {
61694
+ channels.error.publish({ request: this, error: error48 });
61695
+ }
61696
+ }
61697
+ /**
61698
+ * @param {number} statusCode
61699
+ * @param {Buffer[]} headers
61700
+ * @param {string} statusText
61701
+ */
61702
+ #publishUpgradeHeaders(statusCode, headers, statusText) {
61703
+ if (channels.headers.hasSubscribers) {
61704
+ channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
61705
+ }
61706
+ }
61707
+ #publishUpgradeTrailers() {
61708
+ if (channels.trailers.hasSubscribers) {
61709
+ channels.trailers.publish({ request: this, trailers: [] });
61710
+ }
61655
61711
  }
61656
61712
  onComplete(trailers) {
61657
61713
  this.onFinally();
@@ -61718,7 +61774,11 @@ var require_request = __commonJS({
61718
61774
  } else if (typeof val[i2] === "object") {
61719
61775
  throw new InvalidArgumentError(`invalid ${key} header`);
61720
61776
  } else {
61721
- arr.push(`${val[i2]}`);
61777
+ const str = `${val[i2]}`;
61778
+ if (!isValidHeaderValue(str)) {
61779
+ throw new InvalidArgumentError(`invalid ${key} header`);
61780
+ }
61781
+ arr.push(str);
61722
61782
  }
61723
61783
  }
61724
61784
  val = arr;
@@ -61730,6 +61790,9 @@ var require_request = __commonJS({
61730
61790
  val = "";
61731
61791
  } else {
61732
61792
  val = `${val}`;
61793
+ if (!isValidHeaderValue(val)) {
61794
+ throw new InvalidArgumentError(`invalid ${key} header`);
61795
+ }
61733
61796
  }
61734
61797
  if (headerName === "host") {
61735
61798
  if (request.host !== null) {
@@ -61770,9 +61833,9 @@ var require_request = __commonJS({
61770
61833
  }
61771
61834
  });
61772
61835
 
61773
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/dispatcher.js
61836
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/dispatcher.js
61774
61837
  var require_dispatcher = __commonJS({
61775
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/dispatcher.js"(exports, module2) {
61838
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/dispatcher.js"(exports, module2) {
61776
61839
  "use strict";
61777
61840
  var EventEmitter3 = __require("node:events");
61778
61841
  var Dispatcher = class extends EventEmitter3 {
@@ -61825,10 +61888,11 @@ var require_dispatcher = __commonJS({
61825
61888
  }
61826
61889
  });
61827
61890
 
61828
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/dispatcher-base.js
61891
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/dispatcher-base.js
61829
61892
  var require_dispatcher_base = __commonJS({
61830
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports, module2) {
61893
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports, module2) {
61831
61894
  "use strict";
61895
+ var buffer = __require("node:buffer");
61832
61896
  var Dispatcher = require_dispatcher();
61833
61897
  var {
61834
61898
  ClientDestroyedError,
@@ -61839,13 +61903,28 @@ var require_dispatcher_base = __commonJS({
61839
61903
  var kOnDestroyed = Symbol("onDestroyed");
61840
61904
  var kOnClosed = Symbol("onClosed");
61841
61905
  var kInterceptedDispatch = Symbol("Intercepted Dispatch");
61906
+ var kWebSocketOptions = Symbol("webSocketOptions");
61907
+ var kEventSourceOptions = Symbol("eventSourceOptions");
61842
61908
  var DispatcherBase = class extends Dispatcher {
61843
- constructor() {
61909
+ constructor(opts) {
61844
61910
  super();
61845
61911
  this[kDestroyed] = false;
61846
61912
  this[kOnDestroyed] = null;
61847
61913
  this[kClosed] = false;
61848
61914
  this[kOnClosed] = [];
61915
+ this[kWebSocketOptions] = opts?.webSocket ?? {};
61916
+ this[kEventSourceOptions] = opts?.eventSource ?? {};
61917
+ }
61918
+ get webSocketOptions() {
61919
+ return {
61920
+ maxFragments: this[kWebSocketOptions].maxFragments ?? 131072,
61921
+ maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024
61922
+ };
61923
+ }
61924
+ get eventSourceOptions() {
61925
+ return {
61926
+ maxEventSize: this[kEventSourceOptions].maxEventSize ?? buffer.kStringMaxLength
61927
+ };
61849
61928
  }
61850
61929
  get destroyed() {
61851
61930
  return this[kDestroyed];
@@ -61986,9 +62065,9 @@ var require_dispatcher_base = __commonJS({
61986
62065
  }
61987
62066
  });
61988
62067
 
61989
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/util/timers.js
62068
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/util/timers.js
61990
62069
  var require_timers = __commonJS({
61991
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/util/timers.js"(exports, module2) {
62070
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/util/timers.js"(exports, module2) {
61992
62071
  "use strict";
61993
62072
  var fastNow = 0;
61994
62073
  var RESOLUTION_MS = 1e3;
@@ -62217,9 +62296,9 @@ var require_timers = __commonJS({
62217
62296
  }
62218
62297
  });
62219
62298
 
62220
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/connect.js
62299
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/connect.js
62221
62300
  var require_connect = __commonJS({
62222
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/core/connect.js"(exports, module2) {
62301
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/core/connect.js"(exports, module2) {
62223
62302
  "use strict";
62224
62303
  var net = __require("node:net");
62225
62304
  var assert2 = __require("node:assert");
@@ -62397,9 +62476,9 @@ var require_connect = __commonJS({
62397
62476
  }
62398
62477
  });
62399
62478
 
62400
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/llhttp/utils.js
62479
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/utils.js
62401
62480
  var require_utils = __commonJS({
62402
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/llhttp/utils.js"(exports) {
62481
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/utils.js"(exports) {
62403
62482
  "use strict";
62404
62483
  Object.defineProperty(exports, "__esModule", { value: true });
62405
62484
  exports.enumToMap = void 0;
@@ -62417,9 +62496,9 @@ var require_utils = __commonJS({
62417
62496
  }
62418
62497
  });
62419
62498
 
62420
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/llhttp/constants.js
62499
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/constants.js
62421
62500
  var require_constants2 = __commonJS({
62422
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/llhttp/constants.js"(exports) {
62501
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/constants.js"(exports) {
62423
62502
  "use strict";
62424
62503
  Object.defineProperty(exports, "__esModule", { value: true });
62425
62504
  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 = void 0;
@@ -62738,27 +62817,27 @@ var require_constants2 = __commonJS({
62738
62817
  }
62739
62818
  });
62740
62819
 
62741
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/llhttp/llhttp-wasm.js
62820
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/llhttp-wasm.js
62742
62821
  var require_llhttp_wasm = __commonJS({
62743
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) {
62822
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) {
62744
62823
  "use strict";
62745
62824
  var { Buffer: Buffer2 } = __require("node:buffer");
62746
62825
  module2.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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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
62747
62826
  }
62748
62827
  });
62749
62828
 
62750
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
62829
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
62751
62830
  var require_llhttp_simd_wasm = __commonJS({
62752
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) {
62831
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) {
62753
62832
  "use strict";
62754
62833
  var { Buffer: Buffer2 } = __require("node:buffer");
62755
62834
  module2.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");
62756
62835
  }
62757
62836
  });
62758
62837
 
62759
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/constants.js
62838
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/constants.js
62760
62839
  var require_constants3 = __commonJS({
62761
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/constants.js"(exports, module2) {
62840
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/constants.js"(exports, module2) {
62762
62841
  "use strict";
62763
62842
  var corsSafeListedMethods = (
62764
62843
  /** @type {const} */
@@ -62974,9 +63053,9 @@ var require_constants3 = __commonJS({
62974
63053
  }
62975
63054
  });
62976
63055
 
62977
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/global.js
63056
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/global.js
62978
63057
  var require_global = __commonJS({
62979
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/global.js"(exports, module2) {
63058
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/global.js"(exports, module2) {
62980
63059
  "use strict";
62981
63060
  var globalOrigin = Symbol.for("undici.globalOrigin.1");
62982
63061
  function getGlobalOrigin() {
@@ -63010,9 +63089,9 @@ var require_global = __commonJS({
63010
63089
  }
63011
63090
  });
63012
63091
 
63013
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/data-url.js
63092
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/data-url.js
63014
63093
  var require_data_url = __commonJS({
63015
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/data-url.js"(exports, module2) {
63094
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/data-url.js"(exports, module2) {
63016
63095
  "use strict";
63017
63096
  var assert2 = __require("node:assert");
63018
63097
  var encoder = new TextEncoder();
@@ -63362,9 +63441,9 @@ var require_data_url = __commonJS({
63362
63441
  }
63363
63442
  });
63364
63443
 
63365
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/webidl.js
63444
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/webidl.js
63366
63445
  var require_webidl = __commonJS({
63367
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/webidl.js"(exports, module2) {
63446
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/webidl.js"(exports, module2) {
63368
63447
  "use strict";
63369
63448
  var { types, inspect } = __require("node:util");
63370
63449
  var { markAsUncloneable } = __require("node:worker_threads");
@@ -63781,9 +63860,9 @@ var require_webidl = __commonJS({
63781
63860
  }
63782
63861
  });
63783
63862
 
63784
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/util.js
63863
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/util.js
63785
63864
  var require_util2 = __commonJS({
63786
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/util.js"(exports, module2) {
63865
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/util.js"(exports, module2) {
63787
63866
  "use strict";
63788
63867
  var { Transform } = __require("node:stream");
63789
63868
  var zlib = __require("node:zlib");
@@ -64651,9 +64730,9 @@ var require_util2 = __commonJS({
64651
64730
  }
64652
64731
  });
64653
64732
 
64654
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/symbols.js
64733
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/symbols.js
64655
64734
  var require_symbols2 = __commonJS({
64656
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/symbols.js"(exports, module2) {
64735
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/symbols.js"(exports, module2) {
64657
64736
  "use strict";
64658
64737
  module2.exports = {
64659
64738
  kUrl: Symbol("url"),
@@ -64665,9 +64744,9 @@ var require_symbols2 = __commonJS({
64665
64744
  }
64666
64745
  });
64667
64746
 
64668
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/file.js
64747
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/file.js
64669
64748
  var require_file = __commonJS({
64670
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/file.js"(exports, module2) {
64749
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/file.js"(exports, module2) {
64671
64750
  "use strict";
64672
64751
  var { Blob: Blob2, File: File2 } = __require("node:buffer");
64673
64752
  var { kState } = require_symbols2();
@@ -64728,9 +64807,9 @@ var require_file = __commonJS({
64728
64807
  }
64729
64808
  });
64730
64809
 
64731
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/formdata.js
64810
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/formdata.js
64732
64811
  var require_formdata = __commonJS({
64733
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/formdata.js"(exports, module2) {
64812
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/formdata.js"(exports, module2) {
64734
64813
  "use strict";
64735
64814
  var { isBlobLike, iteratorMixin } = require_util2();
64736
64815
  var { kState } = require_symbols2();
@@ -64875,9 +64954,9 @@ var require_formdata = __commonJS({
64875
64954
  }
64876
64955
  });
64877
64956
 
64878
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/formdata-parser.js
64957
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/formdata-parser.js
64879
64958
  var require_formdata_parser = __commonJS({
64880
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports, module2) {
64959
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports, module2) {
64881
64960
  "use strict";
64882
64961
  var { isUSVString, bufferToLowerCasedHeaderName } = require_util();
64883
64962
  var { utf8DecodeBytes } = require_util2();
@@ -65126,9 +65205,9 @@ var require_formdata_parser = __commonJS({
65126
65205
  }
65127
65206
  });
65128
65207
 
65129
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/body.js
65208
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/body.js
65130
65209
  var require_body = __commonJS({
65131
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/body.js"(exports, module2) {
65210
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/body.js"(exports, module2) {
65132
65211
  "use strict";
65133
65212
  var util = require_util();
65134
65213
  var {
@@ -65440,9 +65519,9 @@ Content-Type: ${value.type || "application/octet-stream"}\r
65440
65519
  }
65441
65520
  });
65442
65521
 
65443
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/client-h1.js
65522
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/client-h1.js
65444
65523
  var require_client_h1 = __commonJS({
65445
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/client-h1.js"(exports, module2) {
65524
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/client-h1.js"(exports, module2) {
65446
65525
  "use strict";
65447
65526
  var assert2 = __require("node:assert");
65448
65527
  var util = require_util();
@@ -65452,6 +65531,7 @@ var require_client_h1 = __commonJS({
65452
65531
  RequestContentLengthMismatchError,
65453
65532
  ResponseContentLengthMismatchError,
65454
65533
  RequestAbortedError,
65534
+ InvalidArgumentError,
65455
65535
  HeadersTimeoutError,
65456
65536
  HeadersOverflowError,
65457
65537
  SocketError,
@@ -65498,6 +65578,9 @@ var require_client_h1 = __commonJS({
65498
65578
  var FastBuffer = Buffer[Symbol.species];
65499
65579
  var addListener = util.addListener;
65500
65580
  var removeAllListeners = util.removeAllListeners;
65581
+ var kIdleSocketValidation = Symbol("kIdleSocketValidation");
65582
+ var kIdleSocketValidationTimeout = Symbol("kIdleSocketValidationTimeout");
65583
+ var kSocketUsed = Symbol("kSocketUsed");
65501
65584
  var extractBody;
65502
65585
  async function lazyllhttp() {
65503
65586
  const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0;
@@ -65660,24 +65743,55 @@ var require_client_h1 = __commonJS({
65660
65743
  currentBufferRef = null;
65661
65744
  }
65662
65745
  const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
65663
- if (ret === constants.ERROR.PAUSED_UPGRADE) {
65664
- this.onUpgrade(data.slice(offset));
65665
- } else if (ret === constants.ERROR.PAUSED) {
65666
- this.paused = true;
65667
- socket.unshift(data.slice(offset));
65668
- } else if (ret !== constants.ERROR.OK) {
65669
- const ptr = llhttp.llhttp_get_error_reason(this.ptr);
65670
- let message2 = "";
65671
- if (ptr) {
65672
- const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
65673
- message2 = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
65746
+ if (ret !== constants.ERROR.OK) {
65747
+ const body2 = data.subarray(offset);
65748
+ if (ret === constants.ERROR.PAUSED_UPGRADE) {
65749
+ this.onUpgrade(body2);
65750
+ } else if (ret === constants.ERROR.PAUSED) {
65751
+ this.paused = true;
65752
+ socket.unshift(body2);
65753
+ } else {
65754
+ throw this.createError(ret, body2);
65674
65755
  }
65675
- throw new HTTPParserError(message2, constants.ERROR[ret], data.slice(offset));
65676
65756
  }
65677
65757
  } catch (err2) {
65678
65758
  util.destroy(socket, err2);
65679
65759
  }
65680
65760
  }
65761
+ finish() {
65762
+ assert2(currentParser === null);
65763
+ assert2(this.ptr != null);
65764
+ assert2(!this.paused);
65765
+ const { llhttp } = this;
65766
+ let ret;
65767
+ try {
65768
+ currentParser = this;
65769
+ ret = llhttp.llhttp_finish(this.ptr);
65770
+ } finally {
65771
+ currentParser = null;
65772
+ }
65773
+ if (ret === constants.ERROR.OK) {
65774
+ return null;
65775
+ }
65776
+ if (ret === constants.ERROR.PAUSED || ret === constants.ERROR.PAUSED_UPGRADE) {
65777
+ this.paused = true;
65778
+ return null;
65779
+ }
65780
+ return this.createError(ret, EMPTY_BUF);
65781
+ }
65782
+ createError(ret, data) {
65783
+ const { llhttp, contentLength, bytesRead } = this;
65784
+ if (contentLength && bytesRead !== parseInt(contentLength, 10)) {
65785
+ return new ResponseContentLengthMismatchError();
65786
+ }
65787
+ const ptr = llhttp.llhttp_get_error_reason(this.ptr);
65788
+ let message2 = "";
65789
+ if (ptr) {
65790
+ const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
65791
+ message2 = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
65792
+ }
65793
+ return new HTTPParserError(message2, constants.ERROR[ret], data);
65794
+ }
65681
65795
  destroy() {
65682
65796
  assert2(this.ptr != null);
65683
65797
  assert2(currentParser == null);
@@ -65697,6 +65811,10 @@ var require_client_h1 = __commonJS({
65697
65811
  if (socket.destroyed) {
65698
65812
  return -1;
65699
65813
  }
65814
+ if (client[kRunning] === 0) {
65815
+ util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
65816
+ return -1;
65817
+ }
65700
65818
  const request = client[kQueue][client[kRunningIdx]];
65701
65819
  if (!request) {
65702
65820
  return -1;
@@ -65740,7 +65858,7 @@ var require_client_h1 = __commonJS({
65740
65858
  }
65741
65859
  }
65742
65860
  onUpgrade(head2) {
65743
- const { upgrade, client, socket, headers, statusCode } = this;
65861
+ const { upgrade, client, socket, headers, statusCode, statusText } = this;
65744
65862
  assert2(upgrade);
65745
65863
  assert2(client[kSocket] === socket);
65746
65864
  assert2(!socket.destroyed);
@@ -65765,9 +65883,10 @@ var require_client_h1 = __commonJS({
65765
65883
  client[kQueue][client[kRunningIdx]++] = null;
65766
65884
  client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
65767
65885
  try {
65768
- request.onUpgrade(statusCode, headers, socket);
65769
- } catch (err2) {
65770
- util.destroy(socket, err2);
65886
+ request.onUpgrade(statusCode, headers, socket, statusText);
65887
+ } catch (error48) {
65888
+ util.errorRequest(client, request, error48);
65889
+ util.destroy(socket, error48);
65771
65890
  }
65772
65891
  client[kResume]();
65773
65892
  }
@@ -65776,6 +65895,10 @@ var require_client_h1 = __commonJS({
65776
65895
  if (socket.destroyed) {
65777
65896
  return -1;
65778
65897
  }
65898
+ if (client[kRunning] === 0) {
65899
+ util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
65900
+ return -1;
65901
+ }
65779
65902
  const request = client[kQueue][client[kRunningIdx]];
65780
65903
  if (!request) {
65781
65904
  return -1;
@@ -65901,6 +66024,7 @@ var require_client_h1 = __commonJS({
65901
66024
  }
65902
66025
  request.onComplete(headers);
65903
66026
  client[kQueue][client[kRunningIdx]++] = null;
66027
+ socket[kSocketUsed] = true;
65904
66028
  if (socket[kWriting]) {
65905
66029
  assert2(client[kRunning] === 0);
65906
66030
  util.destroy(socket, new InformationalError("reset"));
@@ -65944,12 +66068,18 @@ var require_client_h1 = __commonJS({
65944
66068
  socket[kWriting] = false;
65945
66069
  socket[kReset] = false;
65946
66070
  socket[kBlocking] = false;
66071
+ socket[kIdleSocketValidation] = 0;
66072
+ socket[kIdleSocketValidationTimeout] = null;
66073
+ socket[kSocketUsed] = false;
65947
66074
  socket[kParser] = new Parser2(client, socket, llhttpInstance);
65948
66075
  addListener(socket, "error", function(err2) {
65949
- assert2(err2.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
65950
66076
  const parser = this[kParser];
65951
66077
  if (err2.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
65952
- parser.onMessageComplete();
66078
+ const parserErr = parser.finish();
66079
+ if (parserErr) {
66080
+ this[kError] = parserErr;
66081
+ this[kClient][kOnError](parserErr);
66082
+ }
65953
66083
  return;
65954
66084
  }
65955
66085
  this[kError] = err2;
@@ -65964,7 +66094,10 @@ var require_client_h1 = __commonJS({
65964
66094
  addListener(socket, "end", function() {
65965
66095
  const parser = this[kParser];
65966
66096
  if (parser.statusCode && !parser.shouldKeepAlive) {
65967
- parser.onMessageComplete();
66097
+ const parserErr = parser.finish();
66098
+ if (parserErr) {
66099
+ util.destroy(this, parserErr);
66100
+ }
65968
66101
  return;
65969
66102
  }
65970
66103
  util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
@@ -65972,9 +66105,10 @@ var require_client_h1 = __commonJS({
65972
66105
  addListener(socket, "close", function() {
65973
66106
  const client2 = this[kClient];
65974
66107
  const parser = this[kParser];
66108
+ clearIdleSocketValidation(this);
65975
66109
  if (parser) {
65976
66110
  if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
65977
- parser.onMessageComplete();
66111
+ this[kError] = parser.finish() || this[kError];
65978
66112
  }
65979
66113
  this[kParser].destroy();
65980
66114
  this[kParser] = null;
@@ -66023,7 +66157,7 @@ var require_client_h1 = __commonJS({
66023
66157
  return socket.destroyed;
66024
66158
  },
66025
66159
  busy(request) {
66026
- if (socket[kWriting] || socket[kReset] || socket[kBlocking]) {
66160
+ if (socket[kWriting] || socket[kReset] || socket[kBlocking] || socket[kIdleSocketValidation] === 1) {
66027
66161
  return true;
66028
66162
  }
66029
66163
  if (request) {
@@ -66041,6 +66175,23 @@ var require_client_h1 = __commonJS({
66041
66175
  }
66042
66176
  };
66043
66177
  }
66178
+ function clearIdleSocketValidation(socket) {
66179
+ if (socket[kIdleSocketValidationTimeout]) {
66180
+ clearImmediate(socket[kIdleSocketValidationTimeout]);
66181
+ socket[kIdleSocketValidationTimeout] = null;
66182
+ }
66183
+ socket[kIdleSocketValidation] = 0;
66184
+ }
66185
+ function scheduleIdleSocketValidation(client, socket) {
66186
+ socket[kIdleSocketValidation] = 1;
66187
+ socket[kIdleSocketValidationTimeout] = setImmediate(() => {
66188
+ socket[kIdleSocketValidationTimeout] = null;
66189
+ socket[kIdleSocketValidation] = 2;
66190
+ if (client[kSocket] === socket && !socket.destroyed) {
66191
+ client[kResume]();
66192
+ }
66193
+ });
66194
+ }
66044
66195
  function resumeH1(client) {
66045
66196
  const socket = client[kSocket];
66046
66197
  if (socket && !socket.destroyed) {
@@ -66053,6 +66204,29 @@ var require_client_h1 = __commonJS({
66053
66204
  socket.ref();
66054
66205
  socket[kNoRef] = false;
66055
66206
  }
66207
+ if (client[kRunning] === 0 && client[kPending] > 0 && socket[kSocketUsed]) {
66208
+ if (socket[kIdleSocketValidation] === 0) {
66209
+ scheduleIdleSocketValidation(client, socket);
66210
+ socket[kParser].readMore();
66211
+ if (socket.destroyed) {
66212
+ return;
66213
+ }
66214
+ return;
66215
+ }
66216
+ if (socket[kIdleSocketValidation] === 1) {
66217
+ socket[kParser].readMore();
66218
+ if (socket.destroyed) {
66219
+ return;
66220
+ }
66221
+ return;
66222
+ }
66223
+ }
66224
+ if (client[kRunning] === 0) {
66225
+ socket[kParser].readMore();
66226
+ if (socket.destroyed) {
66227
+ return;
66228
+ }
66229
+ }
66056
66230
  if (client[kSize] === 0) {
66057
66231
  if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {
66058
66232
  socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE);
@@ -66083,8 +66257,16 @@ var require_client_h1 = __commonJS({
66083
66257
  }
66084
66258
  body2 = bodyStream.stream;
66085
66259
  contentLength = bodyStream.length;
66086
- } else if (util.isBlobLike(body2) && request.contentType == null && body2.type) {
66087
- headers.push("content-type", body2.type);
66260
+ } else if (util.isBlobLike(body2) && request.contentType == null) {
66261
+ const contentType = body2.type;
66262
+ if (contentType) {
66263
+ const contentTypeValue = `${contentType}`;
66264
+ if (!util.isValidHeaderValue(contentTypeValue)) {
66265
+ util.errorRequest(client, request, new InvalidArgumentError("invalid content-type header"));
66266
+ return false;
66267
+ }
66268
+ headers.push("content-type", contentTypeValue);
66269
+ }
66088
66270
  }
66089
66271
  if (body2 && typeof body2.read === "function") {
66090
66272
  body2.read(0);
@@ -66105,11 +66287,18 @@ var require_client_h1 = __commonJS({
66105
66287
  process.emitWarning(new RequestContentLengthMismatchError());
66106
66288
  }
66107
66289
  const socket = client[kSocket];
66108
- const abort2 = (err2) => {
66109
- if (request.aborted || request.completed) {
66290
+ clearIdleSocketValidation(socket);
66291
+ const abort2 = (error48) => {
66292
+ if (request.aborted) {
66293
+ return;
66294
+ }
66295
+ if (request.completed) {
66296
+ if (request.upgrade || request.method === "CONNECT") {
66297
+ util.destroy(socket, new InformationalError("aborted"));
66298
+ }
66110
66299
  return;
66111
66300
  }
66112
- util.errorRequest(client, request, err2 || new RequestAbortedError());
66301
+ util.errorRequest(client, request, error48 || new RequestAbortedError());
66113
66302
  util.destroy(body2);
66114
66303
  util.destroy(socket, new InformationalError("aborted"));
66115
66304
  };
@@ -66460,11 +66649,12 @@ ${len.toString(16)}\r
66460
66649
  }
66461
66650
  });
66462
66651
 
66463
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/client-h2.js
66652
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/client-h2.js
66464
66653
  var require_client_h2 = __commonJS({
66465
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/client-h2.js"(exports, module2) {
66654
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/client-h2.js"(exports, module2) {
66466
66655
  "use strict";
66467
66656
  var assert2 = __require("node:assert");
66657
+ var { errorMonitor } = __require("node:events");
66468
66658
  var { pipeline } = __require("node:stream");
66469
66659
  var util = require_util();
66470
66660
  var {
@@ -66525,6 +66715,10 @@ var require_client_h2 = __commonJS({
66525
66715
  }
66526
66716
  return result;
66527
66717
  }
66718
+ function parseH2ResponseHeaders(headers) {
66719
+ const { [HTTP2_HEADER_STATUS]: _statusCode, ...realHeaders } = headers;
66720
+ return parseH2Headers(realHeaders);
66721
+ }
66528
66722
  async function connectH2(client, socket) {
66529
66723
  client[kSocket] = socket;
66530
66724
  if (!h2ExperimentalWarned) {
@@ -66562,7 +66756,6 @@ var require_client_h2 = __commonJS({
66562
66756
  client[kHTTP2Session] = session;
66563
66757
  socket[kHTTP2Session] = session;
66564
66758
  util.addListener(socket, "error", function(err2) {
66565
- assert2(err2.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
66566
66759
  this[kError] = err2;
66567
66760
  this[kClient][kOnError](err2);
66568
66761
  });
@@ -66621,7 +66814,6 @@ var require_client_h2 = __commonJS({
66621
66814
  }
66622
66815
  }
66623
66816
  function onHttp2SessionError(err2) {
66624
- assert2(err2.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
66625
66817
  this[kSocket][kError] = err2;
66626
66818
  this[kClient][kOnError](err2);
66627
66819
  }
@@ -66688,16 +66880,22 @@ var require_client_h2 = __commonJS({
66688
66880
  const { hostname: hostname3, port } = client[kUrl];
66689
66881
  headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname3}${port ? `:${port}` : ""}`;
66690
66882
  headers[HTTP2_HEADER_METHOD] = method;
66691
- const abort2 = (err2) => {
66692
- if (request.aborted || request.completed) {
66883
+ const abort2 = (error48) => {
66884
+ if (request.aborted) {
66693
66885
  return;
66694
66886
  }
66695
- err2 = err2 || new RequestAbortedError();
66696
- util.errorRequest(client, request, err2);
66887
+ if (request.completed) {
66888
+ if (method === "CONNECT" && stream != null) {
66889
+ util.destroy(stream, error48 || new RequestAbortedError());
66890
+ }
66891
+ return;
66892
+ }
66893
+ error48 = error48 || new RequestAbortedError();
66894
+ util.errorRequest(client, request, error48);
66697
66895
  if (stream != null) {
66698
- util.destroy(stream, err2);
66896
+ util.destroy(stream, error48);
66699
66897
  }
66700
- util.destroy(body2, err2);
66898
+ util.destroy(body2, error48);
66701
66899
  client[kQueue][client[kRunningIdx]++] = null;
66702
66900
  client[kResume]();
66703
66901
  };
@@ -66712,18 +66910,42 @@ var require_client_h2 = __commonJS({
66712
66910
  if (method === "CONNECT") {
66713
66911
  session.ref();
66714
66912
  stream = session.request(headers, { endStream: false, signal });
66715
- if (stream.id && !stream.pending) {
66716
- request.onUpgrade(null, null, stream);
66717
- ++session[kOpenStreams];
66718
- client[kQueue][client[kRunningIdx]++] = null;
66719
- } else {
66720
- stream.once("ready", () => {
66913
+ let upgradeResponseFinished = false;
66914
+ const onResponse = (headers2) => {
66915
+ upgradeResponseFinished = true;
66916
+ stream.off(errorMonitor, onUpgradeError);
66917
+ request.onUpgradeResponse(Number(headers2[HTTP2_HEADER_STATUS]), headers2, parseH2ResponseHeaders);
66918
+ };
66919
+ const onUpgradeError = (error48) => {
66920
+ upgradeResponseFinished = true;
66921
+ stream.off("response", onResponse);
66922
+ request.onUpgradeError(error48);
66923
+ };
66924
+ const onReady = () => {
66925
+ try {
66721
66926
  request.onUpgrade(null, null, stream);
66722
- ++session[kOpenStreams];
66723
- client[kQueue][client[kRunningIdx]++] = null;
66724
- });
66725
- }
66927
+ } catch (error48) {
66928
+ stream.off("response", onResponse);
66929
+ abort2(error48);
66930
+ return;
66931
+ }
66932
+ if (request.aborted) {
66933
+ return;
66934
+ }
66935
+ stream.off("error", abort2);
66936
+ stream.once(errorMonitor, onUpgradeError);
66937
+ client[kQueue][client[kRunningIdx]++] = null;
66938
+ };
66939
+ stream.once("response", onResponse);
66940
+ stream.once("error", abort2);
66941
+ ++session[kOpenStreams];
66942
+ onReady();
66726
66943
  stream.once("close", () => {
66944
+ if (!upgradeResponseFinished && request.completed) {
66945
+ stream.off("response", onResponse);
66946
+ stream.off(errorMonitor, onUpgradeError);
66947
+ request.onUpgradeError(new InformationalError(`HTTP/2: "stream error" received - code ${stream.rstCode}`));
66948
+ }
66727
66949
  session[kOpenStreams] -= 1;
66728
66950
  if (session[kOpenStreams] === 0) session.unref();
66729
66951
  });
@@ -67001,9 +67223,9 @@ var require_client_h2 = __commonJS({
67001
67223
  }
67002
67224
  });
67003
67225
 
67004
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/handler/redirect-handler.js
67226
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/handler/redirect-handler.js
67005
67227
  var require_redirect_handler = __commonJS({
67006
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/handler/redirect-handler.js"(exports, module2) {
67228
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/handler/redirect-handler.js"(exports, module2) {
67007
67229
  "use strict";
67008
67230
  var util = require_util();
67009
67231
  var { kBodyUsed } = require_symbols();
@@ -67160,9 +67382,9 @@ var require_redirect_handler = __commonJS({
67160
67382
  }
67161
67383
  });
67162
67384
 
67163
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/interceptor/redirect-interceptor.js
67385
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/redirect-interceptor.js
67164
67386
  var require_redirect_interceptor = __commonJS({
67165
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports, module2) {
67387
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports, module2) {
67166
67388
  "use strict";
67167
67389
  var RedirectHandler = require_redirect_handler();
67168
67390
  function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
@@ -67182,9 +67404,9 @@ var require_redirect_interceptor = __commonJS({
67182
67404
  }
67183
67405
  });
67184
67406
 
67185
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/client.js
67407
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/client.js
67186
67408
  var require_client = __commonJS({
67187
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/client.js"(exports, module2) {
67409
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/client.js"(exports, module2) {
67188
67410
  "use strict";
67189
67411
  var assert2 = __require("node:assert");
67190
67412
  var net = __require("node:net");
@@ -67284,9 +67506,11 @@ var require_client = __commonJS({
67284
67506
  autoSelectFamilyAttemptTimeout,
67285
67507
  // h2
67286
67508
  maxConcurrentStreams,
67287
- allowH2
67509
+ allowH2,
67510
+ webSocket,
67511
+ eventSource
67288
67512
  } = {}) {
67289
- super();
67513
+ super({ webSocket, eventSource });
67290
67514
  if (keepAlive !== void 0) {
67291
67515
  throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
67292
67516
  }
@@ -67682,9 +67906,9 @@ var require_client = __commonJS({
67682
67906
  }
67683
67907
  });
67684
67908
 
67685
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/fixed-queue.js
67909
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/fixed-queue.js
67686
67910
  var require_fixed_queue = __commonJS({
67687
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports, module2) {
67911
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports, module2) {
67688
67912
  "use strict";
67689
67913
  var kSize = 2048;
67690
67914
  var kMask = kSize - 1;
@@ -67739,9 +67963,9 @@ var require_fixed_queue = __commonJS({
67739
67963
  }
67740
67964
  });
67741
67965
 
67742
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/pool-stats.js
67966
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/pool-stats.js
67743
67967
  var require_pool_stats = __commonJS({
67744
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/pool-stats.js"(exports, module2) {
67968
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/pool-stats.js"(exports, module2) {
67745
67969
  var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols();
67746
67970
  var kPool = Symbol("pool");
67747
67971
  var PoolStats = class {
@@ -67771,9 +67995,9 @@ var require_pool_stats = __commonJS({
67771
67995
  }
67772
67996
  });
67773
67997
 
67774
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/pool-base.js
67998
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/pool-base.js
67775
67999
  var require_pool_base = __commonJS({
67776
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/pool-base.js"(exports, module2) {
68000
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/pool-base.js"(exports, module2) {
67777
68001
  "use strict";
67778
68002
  var DispatcherBase = require_dispatcher_base();
67779
68003
  var FixedQueue = require_fixed_queue();
@@ -67792,8 +68016,8 @@ var require_pool_base = __commonJS({
67792
68016
  var kRemoveClient = Symbol("remove client");
67793
68017
  var kStats = Symbol("stats");
67794
68018
  var PoolBase = class extends DispatcherBase {
67795
- constructor() {
67796
- super();
68019
+ constructor(opts) {
68020
+ super(opts);
67797
68021
  this[kQueue] = new FixedQueue();
67798
68022
  this[kClients] = [];
67799
68023
  this[kQueued] = 0;
@@ -67926,9 +68150,9 @@ var require_pool_base = __commonJS({
67926
68150
  }
67927
68151
  });
67928
68152
 
67929
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/pool.js
68153
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/pool.js
67930
68154
  var require_pool = __commonJS({
67931
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/pool.js"(exports, module2) {
68155
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/pool.js"(exports, module2) {
67932
68156
  "use strict";
67933
68157
  var {
67934
68158
  PoolBase,
@@ -67964,7 +68188,6 @@ var require_pool = __commonJS({
67964
68188
  allowH2,
67965
68189
  ...options
67966
68190
  } = {}) {
67967
- super();
67968
68191
  if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
67969
68192
  throw new InvalidArgumentError("invalid connections");
67970
68193
  }
@@ -67985,6 +68208,7 @@ var require_pool = __commonJS({
67985
68208
  ...connect
67986
68209
  });
67987
68210
  }
68211
+ super(options);
67988
68212
  this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
67989
68213
  this[kConnections] = connections || null;
67990
68214
  this[kUrl] = util.parseOrigin(origin);
@@ -68017,9 +68241,9 @@ var require_pool = __commonJS({
68017
68241
  }
68018
68242
  });
68019
68243
 
68020
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/balanced-pool.js
68244
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/balanced-pool.js
68021
68245
  var require_balanced_pool = __commonJS({
68022
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports, module2) {
68246
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports, module2) {
68023
68247
  "use strict";
68024
68248
  var {
68025
68249
  BalancedPoolMissingUpstreamError,
@@ -68161,9 +68385,9 @@ var require_balanced_pool = __commonJS({
68161
68385
  }
68162
68386
  });
68163
68387
 
68164
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/agent.js
68388
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/agent.js
68165
68389
  var require_agent = __commonJS({
68166
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/agent.js"(exports, module2) {
68390
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/agent.js"(exports, module2) {
68167
68391
  "use strict";
68168
68392
  var { InvalidArgumentError } = require_errors();
68169
68393
  var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols();
@@ -68183,8 +68407,7 @@ var require_agent = __commonJS({
68183
68407
  return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
68184
68408
  }
68185
68409
  var Agent2 = class extends DispatcherBase {
68186
- constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
68187
- super();
68410
+ constructor({ factory = defaultFactory, maxRedirections = 0, connect, tls, ...options } = {}) {
68188
68411
  if (typeof factory !== "function") {
68189
68412
  throw new InvalidArgumentError("factory must be a function.");
68190
68413
  }
@@ -68194,11 +68417,15 @@ var require_agent = __commonJS({
68194
68417
  if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
68195
68418
  throw new InvalidArgumentError("maxRedirections must be a positive number");
68196
68419
  }
68420
+ super(options);
68197
68421
  if (connect && typeof connect !== "function") {
68198
68422
  connect = { ...connect };
68199
68423
  }
68424
+ if (tls && typeof tls !== "function") {
68425
+ tls = { ...tls };
68426
+ }
68200
68427
  this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
68201
- this[kOptions] = { ...util.deepClone(options), connect };
68428
+ this[kOptions] = { ...util.deepClone(options), connect, tls };
68202
68429
  this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
68203
68430
  this[kMaxRedirections] = maxRedirections;
68204
68431
  this[kFactory] = factory;
@@ -68258,9 +68485,9 @@ var require_agent = __commonJS({
68258
68485
  }
68259
68486
  });
68260
68487
 
68261
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/proxy-agent.js
68488
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/proxy-agent.js
68262
68489
  var require_proxy_agent = __commonJS({
68263
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports, module2) {
68490
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports, module2) {
68264
68491
  "use strict";
68265
68492
  var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols();
68266
68493
  var { URL: URL2 } = __require("node:url");
@@ -68481,9 +68708,9 @@ var require_proxy_agent = __commonJS({
68481
68708
  }
68482
68709
  });
68483
68710
 
68484
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
68711
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
68485
68712
  var require_env_http_proxy_agent = __commonJS({
68486
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports, module2) {
68713
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports, module2) {
68487
68714
  "use strict";
68488
68715
  var DispatcherBase = require_dispatcher_base();
68489
68716
  var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
@@ -68617,9 +68844,9 @@ var require_env_http_proxy_agent = __commonJS({
68617
68844
  }
68618
68845
  });
68619
68846
 
68620
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/handler/retry-handler.js
68847
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/handler/retry-handler.js
68621
68848
  var require_retry_handler = __commonJS({
68622
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/handler/retry-handler.js"(exports, module2) {
68849
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/handler/retry-handler.js"(exports, module2) {
68623
68850
  "use strict";
68624
68851
  var assert2 = __require("node:assert");
68625
68852
  var { kRetryHandlerDefaultRetry } = require_symbols();
@@ -68634,6 +68861,24 @@ var require_retry_handler = __commonJS({
68634
68861
  const current = Date.now();
68635
68862
  return new Date(retryAfter).getTime() - current;
68636
68863
  }
68864
+ function validatePartialResponseContentLength(headers, range, statusCode, retryCount) {
68865
+ const contentLength = headers["content-length"];
68866
+ if (contentLength == null) {
68867
+ return null;
68868
+ }
68869
+ if (!Number.isFinite(range.start) || !Number.isFinite(range.end)) {
68870
+ return null;
68871
+ }
68872
+ const length = Number(contentLength);
68873
+ const expectedLength = range.end - range.start + 1;
68874
+ if (!Number.isFinite(length) || length !== expectedLength) {
68875
+ return new RequestRetryError("Content-Length mismatch", statusCode, {
68876
+ headers,
68877
+ data: { count: retryCount }
68878
+ });
68879
+ }
68880
+ return null;
68881
+ }
68637
68882
  var RetryHandler = class _RetryHandler {
68638
68883
  constructor(opts, handlers) {
68639
68884
  const { retryOptions, ...dispatchOpts } = opts;
@@ -68687,6 +68932,7 @@ var require_retry_handler = __commonJS({
68687
68932
  this.end = null;
68688
68933
  this.etag = null;
68689
68934
  this.resume = null;
68935
+ this.headersSent = false;
68690
68936
  this.handler.onConnect((reason) => {
68691
68937
  this.aborted = true;
68692
68938
  if (this.abort) {
@@ -68696,6 +68942,17 @@ var require_retry_handler = __commonJS({
68696
68942
  }
68697
68943
  });
68698
68944
  }
68945
+ checkpointResponseEnd(headers, resume) {
68946
+ if (this.end == null && this.opts.method !== "HEAD") {
68947
+ const contentLength = headers["content-length"];
68948
+ this.end = contentLength != null ? Number(contentLength) - 1 : null;
68949
+ assert2(
68950
+ this.end == null || Number.isFinite(this.end),
68951
+ "invalid content-length"
68952
+ );
68953
+ }
68954
+ this.resume = this.end != null ? resume : null;
68955
+ }
68699
68956
  onRequestSent() {
68700
68957
  if (this.handler.onRequestSent) {
68701
68958
  this.handler.onRequestSent();
@@ -68757,7 +69014,9 @@ var require_retry_handler = __commonJS({
68757
69014
  const headers = parseHeaders(rawHeaders);
68758
69015
  this.retryCount += 1;
68759
69016
  if (statusCode >= 300) {
68760
- if (this.retryOpts.statusCodes.includes(statusCode) === false) {
69017
+ if (!this.headersSent && this.retryOpts.statusCodes.includes(statusCode) === false) {
69018
+ this.headersSent = true;
69019
+ this.checkpointResponseEnd(headers, resume);
68761
69020
  return this.handler.onHeaders(
68762
69021
  statusCode,
68763
69022
  rawHeaders,
@@ -68806,9 +69065,21 @@ var require_retry_handler = __commonJS({
68806
69065
  );
68807
69066
  return false;
68808
69067
  }
69068
+ const contentLengthError = validatePartialResponseContentLength(headers, contentRange, statusCode, this.retryCount);
69069
+ if (contentLengthError != null) {
69070
+ this.abort(contentLengthError);
69071
+ return false;
69072
+ }
68809
69073
  const { start: start2, size, end = size - 1 } = contentRange;
68810
- assert2(this.start === start2, "content-range mismatch");
68811
- assert2(this.end == null || this.end === end, "content-range mismatch");
69074
+ if (this.start !== start2 || this.end != null && this.end !== end) {
69075
+ this.abort(
69076
+ new RequestRetryError("Content-Range mismatch", statusCode, {
69077
+ headers,
69078
+ data: { count: this.retryCount }
69079
+ })
69080
+ );
69081
+ return false;
69082
+ }
68812
69083
  this.resume = resume;
68813
69084
  return true;
68814
69085
  }
@@ -68816,6 +69087,7 @@ var require_retry_handler = __commonJS({
68816
69087
  if (statusCode === 206) {
68817
69088
  const range = parseRangeHeader(headers["content-range"]);
68818
69089
  if (range == null) {
69090
+ this.headersSent = true;
68819
69091
  return this.handler.onHeaders(
68820
69092
  statusCode,
68821
69093
  rawHeaders,
@@ -68823,6 +69095,11 @@ var require_retry_handler = __commonJS({
68823
69095
  statusMessage
68824
69096
  );
68825
69097
  }
69098
+ const contentLengthError = validatePartialResponseContentLength(headers, range, statusCode, this.retryCount);
69099
+ if (contentLengthError != null) {
69100
+ this.abort(contentLengthError);
69101
+ return false;
69102
+ }
68826
69103
  const { start: start2, size, end = size - 1 } = range;
68827
69104
  assert2(
68828
69105
  start2 != null && Number.isFinite(start2),
@@ -68842,6 +69119,7 @@ var require_retry_handler = __commonJS({
68842
69119
  "invalid content-length"
68843
69120
  );
68844
69121
  this.resume = resume;
69122
+ this.headersSent = true;
68845
69123
  this.etag = headers.etag != null ? headers.etag : null;
68846
69124
  if (this.etag != null && this.etag.startsWith("W/")) {
68847
69125
  this.etag = null;
@@ -68869,7 +69147,7 @@ var require_retry_handler = __commonJS({
68869
69147
  return this.handler.onComplete(rawTrailers);
68870
69148
  }
68871
69149
  onError(err2) {
68872
- if (this.aborted || isDisturbed(this.opts.body)) {
69150
+ if (this.aborted || isDisturbed(this.opts.body) || this.headersSent && this.resume == null) {
68873
69151
  return this.handler.onError(err2);
68874
69152
  }
68875
69153
  if (this.retryCount - this.retryCountCheckpoint > 0) {
@@ -68915,9 +69193,9 @@ var require_retry_handler = __commonJS({
68915
69193
  }
68916
69194
  });
68917
69195
 
68918
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/retry-agent.js
69196
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/retry-agent.js
68919
69197
  var require_retry_agent = __commonJS({
68920
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/dispatcher/retry-agent.js"(exports, module2) {
69198
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/dispatcher/retry-agent.js"(exports, module2) {
68921
69199
  "use strict";
68922
69200
  var Dispatcher = require_dispatcher();
68923
69201
  var RetryHandler = require_retry_handler();
@@ -68950,9 +69228,9 @@ var require_retry_agent = __commonJS({
68950
69228
  }
68951
69229
  });
68952
69230
 
68953
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/readable.js
69231
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/readable.js
68954
69232
  var require_readable = __commonJS({
68955
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/readable.js"(exports, module2) {
69233
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/readable.js"(exports, module2) {
68956
69234
  "use strict";
68957
69235
  var assert2 = __require("node:assert");
68958
69236
  var { Readable: Readable3 } = __require("node:stream");
@@ -69243,9 +69521,9 @@ var require_readable = __commonJS({
69243
69521
  }
69244
69522
  });
69245
69523
 
69246
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/util.js
69524
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/util.js
69247
69525
  var require_util3 = __commonJS({
69248
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/util.js"(exports, module2) {
69526
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/util.js"(exports, module2) {
69249
69527
  var assert2 = __require("node:assert");
69250
69528
  var {
69251
69529
  ResponseStatusCodeError
@@ -69304,9 +69582,9 @@ var require_util3 = __commonJS({
69304
69582
  }
69305
69583
  });
69306
69584
 
69307
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/api-request.js
69585
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-request.js
69308
69586
  var require_api_request = __commonJS({
69309
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/api-request.js"(exports, module2) {
69587
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-request.js"(exports, module2) {
69310
69588
  "use strict";
69311
69589
  var assert2 = __require("node:assert");
69312
69590
  var { Readable: Readable3 } = require_readable();
@@ -69490,9 +69768,9 @@ var require_api_request = __commonJS({
69490
69768
  }
69491
69769
  });
69492
69770
 
69493
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/abort-signal.js
69771
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/abort-signal.js
69494
69772
  var require_abort_signal = __commonJS({
69495
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/abort-signal.js"(exports, module2) {
69773
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/abort-signal.js"(exports, module2) {
69496
69774
  var { addAbortListener } = require_util();
69497
69775
  var { RequestAbortedError } = require_errors();
69498
69776
  var kListener = Symbol("kListener");
@@ -69541,9 +69819,9 @@ var require_abort_signal = __commonJS({
69541
69819
  }
69542
69820
  });
69543
69821
 
69544
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/api-stream.js
69822
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-stream.js
69545
69823
  var require_api_stream = __commonJS({
69546
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/api-stream.js"(exports, module2) {
69824
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-stream.js"(exports, module2) {
69547
69825
  "use strict";
69548
69826
  var assert2 = __require("node:assert");
69549
69827
  var { finished, PassThrough } = __require("node:stream");
@@ -69714,9 +69992,9 @@ var require_api_stream = __commonJS({
69714
69992
  }
69715
69993
  });
69716
69994
 
69717
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/api-pipeline.js
69995
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-pipeline.js
69718
69996
  var require_api_pipeline = __commonJS({
69719
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/api-pipeline.js"(exports, module2) {
69997
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-pipeline.js"(exports, module2) {
69720
69998
  "use strict";
69721
69999
  var {
69722
70000
  Readable: Readable3,
@@ -69914,9 +70192,9 @@ var require_api_pipeline = __commonJS({
69914
70192
  }
69915
70193
  });
69916
70194
 
69917
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/api-upgrade.js
70195
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-upgrade.js
69918
70196
  var require_api_upgrade = __commonJS({
69919
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/api-upgrade.js"(exports, module2) {
70197
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-upgrade.js"(exports, module2) {
69920
70198
  "use strict";
69921
70199
  var { InvalidArgumentError, SocketError } = require_errors();
69922
70200
  var { AsyncResource } = __require("node:async_hooks");
@@ -70006,9 +70284,9 @@ var require_api_upgrade = __commonJS({
70006
70284
  }
70007
70285
  });
70008
70286
 
70009
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/api-connect.js
70287
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-connect.js
70010
70288
  var require_api_connect = __commonJS({
70011
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/api-connect.js"(exports, module2) {
70289
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/api-connect.js"(exports, module2) {
70012
70290
  "use strict";
70013
70291
  var assert2 = __require("node:assert");
70014
70292
  var { AsyncResource } = __require("node:async_hooks");
@@ -70096,9 +70374,9 @@ var require_api_connect = __commonJS({
70096
70374
  }
70097
70375
  });
70098
70376
 
70099
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/index.js
70377
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/index.js
70100
70378
  var require_api = __commonJS({
70101
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/api/index.js"(exports, module2) {
70379
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/api/index.js"(exports, module2) {
70102
70380
  "use strict";
70103
70381
  module2.exports.request = require_api_request();
70104
70382
  module2.exports.stream = require_api_stream();
@@ -70108,9 +70386,9 @@ var require_api = __commonJS({
70108
70386
  }
70109
70387
  });
70110
70388
 
70111
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-errors.js
70389
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-errors.js
70112
70390
  var require_mock_errors = __commonJS({
70113
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-errors.js"(exports, module2) {
70391
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-errors.js"(exports, module2) {
70114
70392
  "use strict";
70115
70393
  var { UndiciError } = require_errors();
70116
70394
  var kMockNotMatchedError = Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
@@ -70133,9 +70411,9 @@ var require_mock_errors = __commonJS({
70133
70411
  }
70134
70412
  });
70135
70413
 
70136
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-symbols.js
70414
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-symbols.js
70137
70415
  var require_mock_symbols = __commonJS({
70138
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-symbols.js"(exports, module2) {
70416
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-symbols.js"(exports, module2) {
70139
70417
  "use strict";
70140
70418
  module2.exports = {
70141
70419
  kAgent: Symbol("agent"),
@@ -70161,9 +70439,9 @@ var require_mock_symbols = __commonJS({
70161
70439
  }
70162
70440
  });
70163
70441
 
70164
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-utils.js
70442
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-utils.js
70165
70443
  var require_mock_utils = __commonJS({
70166
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-utils.js"(exports, module2) {
70444
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-utils.js"(exports, module2) {
70167
70445
  "use strict";
70168
70446
  var { MockNotMatchedError } = require_mock_errors();
70169
70447
  var {
@@ -70457,9 +70735,9 @@ var require_mock_utils = __commonJS({
70457
70735
  }
70458
70736
  });
70459
70737
 
70460
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-interceptor.js
70738
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-interceptor.js
70461
70739
  var require_mock_interceptor = __commonJS({
70462
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-interceptor.js"(exports, module2) {
70740
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-interceptor.js"(exports, module2) {
70463
70741
  "use strict";
70464
70742
  var { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
70465
70743
  var {
@@ -70619,9 +70897,9 @@ var require_mock_interceptor = __commonJS({
70619
70897
  }
70620
70898
  });
70621
70899
 
70622
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-client.js
70900
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-client.js
70623
70901
  var require_mock_client = __commonJS({
70624
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-client.js"(exports, module2) {
70902
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-client.js"(exports, module2) {
70625
70903
  "use strict";
70626
70904
  var { promisify: promisify6 } = __require("node:util");
70627
70905
  var Client = require_client();
@@ -70672,9 +70950,9 @@ var require_mock_client = __commonJS({
70672
70950
  }
70673
70951
  });
70674
70952
 
70675
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-pool.js
70953
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-pool.js
70676
70954
  var require_mock_pool = __commonJS({
70677
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-pool.js"(exports, module2) {
70955
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-pool.js"(exports, module2) {
70678
70956
  "use strict";
70679
70957
  var { promisify: promisify6 } = __require("node:util");
70680
70958
  var Pool = require_pool();
@@ -70725,9 +71003,9 @@ var require_mock_pool = __commonJS({
70725
71003
  }
70726
71004
  });
70727
71005
 
70728
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/pluralizer.js
71006
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/pluralizer.js
70729
71007
  var require_pluralizer = __commonJS({
70730
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/pluralizer.js"(exports, module2) {
71008
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/pluralizer.js"(exports, module2) {
70731
71009
  "use strict";
70732
71010
  var singulars = {
70733
71011
  pronoun: "it",
@@ -70756,9 +71034,9 @@ var require_pluralizer = __commonJS({
70756
71034
  }
70757
71035
  });
70758
71036
 
70759
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/pending-interceptors-formatter.js
71037
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/pending-interceptors-formatter.js
70760
71038
  var require_pending_interceptors_formatter = __commonJS({
70761
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports, module2) {
71039
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports, module2) {
70762
71040
  "use strict";
70763
71041
  var { Transform } = __require("node:stream");
70764
71042
  var { Console } = __require("node:console");
@@ -70797,9 +71075,9 @@ var require_pending_interceptors_formatter = __commonJS({
70797
71075
  }
70798
71076
  });
70799
71077
 
70800
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-agent.js
71078
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-agent.js
70801
71079
  var require_mock_agent = __commonJS({
70802
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/mock/mock-agent.js"(exports, module2) {
71080
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/mock/mock-agent.js"(exports, module2) {
70803
71081
  "use strict";
70804
71082
  var { kClients } = require_symbols();
70805
71083
  var Agent2 = require_agent();
@@ -70927,9 +71205,9 @@ ${pendingInterceptorsFormatter.format(pending)}
70927
71205
  }
70928
71206
  });
70929
71207
 
70930
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/global.js
71208
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/global.js
70931
71209
  var require_global2 = __commonJS({
70932
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/global.js"(exports, module2) {
71210
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/global.js"(exports, module2) {
70933
71211
  "use strict";
70934
71212
  var globalDispatcher = Symbol.for("undici.globalDispatcher.1");
70935
71213
  var { InvalidArgumentError } = require_errors();
@@ -70958,9 +71236,9 @@ var require_global2 = __commonJS({
70958
71236
  }
70959
71237
  });
70960
71238
 
70961
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/handler/decorator-handler.js
71239
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/handler/decorator-handler.js
70962
71240
  var require_decorator_handler = __commonJS({
70963
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/handler/decorator-handler.js"(exports, module2) {
71241
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/handler/decorator-handler.js"(exports, module2) {
70964
71242
  "use strict";
70965
71243
  module2.exports = class DecoratorHandler {
70966
71244
  #handler;
@@ -70998,9 +71276,9 @@ var require_decorator_handler = __commonJS({
70998
71276
  }
70999
71277
  });
71000
71278
 
71001
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/interceptor/redirect.js
71279
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/redirect.js
71002
71280
  var require_redirect = __commonJS({
71003
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/interceptor/redirect.js"(exports, module2) {
71281
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/redirect.js"(exports, module2) {
71004
71282
  "use strict";
71005
71283
  var RedirectHandler = require_redirect_handler();
71006
71284
  module2.exports = (opts) => {
@@ -71024,9 +71302,9 @@ var require_redirect = __commonJS({
71024
71302
  }
71025
71303
  });
71026
71304
 
71027
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/interceptor/retry.js
71305
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/retry.js
71028
71306
  var require_retry = __commonJS({
71029
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/interceptor/retry.js"(exports, module2) {
71307
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/retry.js"(exports, module2) {
71030
71308
  "use strict";
71031
71309
  var RetryHandler = require_retry_handler();
71032
71310
  module2.exports = (globalOpts) => {
@@ -71048,9 +71326,9 @@ var require_retry = __commonJS({
71048
71326
  }
71049
71327
  });
71050
71328
 
71051
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/interceptor/dump.js
71329
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/dump.js
71052
71330
  var require_dump = __commonJS({
71053
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/interceptor/dump.js"(exports, module2) {
71331
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/dump.js"(exports, module2) {
71054
71332
  "use strict";
71055
71333
  var util = require_util();
71056
71334
  var { InvalidArgumentError, RequestAbortedError } = require_errors();
@@ -71146,9 +71424,9 @@ var require_dump = __commonJS({
71146
71424
  }
71147
71425
  });
71148
71426
 
71149
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/interceptor/dns.js
71427
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/dns.js
71150
71428
  var require_dns = __commonJS({
71151
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/interceptor/dns.js"(exports, module2) {
71429
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/interceptor/dns.js"(exports, module2) {
71152
71430
  "use strict";
71153
71431
  var { isIP } = __require("node:net");
71154
71432
  var { lookup } = __require("node:dns");
@@ -71435,9 +71713,9 @@ var require_dns = __commonJS({
71435
71713
  }
71436
71714
  });
71437
71715
 
71438
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/headers.js
71716
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/headers.js
71439
71717
  var require_headers = __commonJS({
71440
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/headers.js"(exports, module2) {
71718
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/headers.js"(exports, module2) {
71441
71719
  "use strict";
71442
71720
  var { kConstruct } = require_symbols();
71443
71721
  var { kEnumerableProperty } = require_util();
@@ -71879,9 +72157,9 @@ var require_headers = __commonJS({
71879
72157
  }
71880
72158
  });
71881
72159
 
71882
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/response.js
72160
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/response.js
71883
72161
  var require_response = __commonJS({
71884
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/response.js"(exports, module2) {
72162
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/response.js"(exports, module2) {
71885
72163
  "use strict";
71886
72164
  var { Headers: Headers2, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
71887
72165
  var { extractBody, cloneBody, mixinBody, hasFinalizationRegistry, streamRegistry, bodyUnusable } = require_body();
@@ -72278,9 +72556,9 @@ var require_response = __commonJS({
72278
72556
  }
72279
72557
  });
72280
72558
 
72281
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
72559
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/dispatcher-weakref.js
72282
72560
  var require_dispatcher_weakref = __commonJS({
72283
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports, module2) {
72561
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/dispatcher-weakref.js"(exports, module2) {
72284
72562
  "use strict";
72285
72563
  var { kConnected, kSize } = require_symbols();
72286
72564
  var CompatWeakRef = class {
@@ -72320,9 +72598,9 @@ var require_dispatcher_weakref = __commonJS({
72320
72598
  }
72321
72599
  });
72322
72600
 
72323
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/request.js
72601
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/request.js
72324
72602
  var require_request2 = __commonJS({
72325
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/request.js"(exports, module2) {
72603
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/request.js"(exports, module2) {
72326
72604
  "use strict";
72327
72605
  var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body();
72328
72606
  var { Headers: Headers2, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
@@ -73015,9 +73293,9 @@ var require_request2 = __commonJS({
73015
73293
  }
73016
73294
  });
73017
73295
 
73018
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/index.js
73296
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/index.js
73019
73297
  var require_fetch = __commonJS({
73020
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fetch/index.js"(exports, module2) {
73298
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fetch/index.js"(exports, module2) {
73021
73299
  "use strict";
73022
73300
  var {
73023
73301
  makeNetworkError,
@@ -73875,8 +74153,9 @@ var require_fetch = __commonJS({
73875
74153
  }
73876
74154
  );
73877
74155
  response.body = { stream, source: null, length: null };
73878
- fetchParams.controller.onAborted = onAborted;
73879
- fetchParams.controller.on("terminated", onAborted);
74156
+ if (!fetchParams.controller.resume) {
74157
+ fetchParams.controller.on("terminated", onAborted);
74158
+ }
73880
74159
  fetchParams.controller.resume = async () => {
73881
74160
  while (true) {
73882
74161
  let bytes;
@@ -73976,7 +74255,6 @@ var require_fetch = __commonJS({
73976
74255
  headersList.append(bufferToLowerCasedHeaderName(rawHeaders[i2]), rawHeaders[i2 + 1].toString("latin1"), true);
73977
74256
  }
73978
74257
  location = headersList.get("location", true);
73979
- this.body = new Readable3({ read: resume });
73980
74258
  const decoders = [];
73981
74259
  const willFollow = location && request.redirect === "follow" && redirectStatusSet.has(status);
73982
74260
  if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) {
@@ -73984,7 +74262,7 @@ var require_fetch = __commonJS({
73984
74262
  const codings = contentEncoding ? contentEncoding.toLowerCase().split(",") : [];
73985
74263
  const maxContentEncodings = 5;
73986
74264
  if (codings.length > maxContentEncodings) {
73987
- reject(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
74265
+ this.abort(new Error(`too many content-encodings in response: ${codings.length}, maximum allowed is ${maxContentEncodings}`));
73988
74266
  return true;
73989
74267
  }
73990
74268
  for (let i2 = codings.length - 1; i2 >= 0; --i2) {
@@ -74014,6 +74292,7 @@ var require_fetch = __commonJS({
74014
74292
  }
74015
74293
  }
74016
74294
  }
74295
+ this.body = new Readable3({ read: resume });
74017
74296
  const onError = this.onError.bind(this);
74018
74297
  resolve11({
74019
74298
  status,
@@ -74039,9 +74318,6 @@ var require_fetch = __commonJS({
74039
74318
  if (this.abort) {
74040
74319
  fetchParams.controller.off("terminated", this.abort);
74041
74320
  }
74042
- if (fetchParams.controller.onAborted) {
74043
- fetchParams.controller.off("terminated", fetchParams.controller.onAborted);
74044
- }
74045
74321
  fetchParams.controller.ended = true;
74046
74322
  this.body.push(null);
74047
74323
  },
@@ -74082,9 +74358,9 @@ var require_fetch = __commonJS({
74082
74358
  }
74083
74359
  });
74084
74360
 
74085
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fileapi/symbols.js
74361
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/symbols.js
74086
74362
  var require_symbols3 = __commonJS({
74087
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fileapi/symbols.js"(exports, module2) {
74363
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/symbols.js"(exports, module2) {
74088
74364
  "use strict";
74089
74365
  module2.exports = {
74090
74366
  kState: Symbol("FileReader state"),
@@ -74097,9 +74373,9 @@ var require_symbols3 = __commonJS({
74097
74373
  }
74098
74374
  });
74099
74375
 
74100
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fileapi/progressevent.js
74376
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/progressevent.js
74101
74377
  var require_progressevent = __commonJS({
74102
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fileapi/progressevent.js"(exports, module2) {
74378
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/progressevent.js"(exports, module2) {
74103
74379
  "use strict";
74104
74380
  var { webidl } = require_webidl();
74105
74381
  var kState = Symbol("ProgressEvent state");
@@ -74165,9 +74441,9 @@ var require_progressevent = __commonJS({
74165
74441
  }
74166
74442
  });
74167
74443
 
74168
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fileapi/encoding.js
74444
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/encoding.js
74169
74445
  var require_encoding = __commonJS({
74170
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fileapi/encoding.js"(exports, module2) {
74446
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/encoding.js"(exports, module2) {
74171
74447
  "use strict";
74172
74448
  function getEncoding(label) {
74173
74449
  if (!label) {
@@ -74451,9 +74727,9 @@ var require_encoding = __commonJS({
74451
74727
  }
74452
74728
  });
74453
74729
 
74454
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fileapi/util.js
74730
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/util.js
74455
74731
  var require_util4 = __commonJS({
74456
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fileapi/util.js"(exports, module2) {
74732
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/util.js"(exports, module2) {
74457
74733
  "use strict";
74458
74734
  var {
74459
74735
  kState,
@@ -74636,9 +74912,9 @@ var require_util4 = __commonJS({
74636
74912
  }
74637
74913
  });
74638
74914
 
74639
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fileapi/filereader.js
74915
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/filereader.js
74640
74916
  var require_filereader = __commonJS({
74641
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/fileapi/filereader.js"(exports, module2) {
74917
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/fileapi/filereader.js"(exports, module2) {
74642
74918
  "use strict";
74643
74919
  var {
74644
74920
  staticPropertyDescriptors,
@@ -74895,9 +75171,9 @@ var require_filereader = __commonJS({
74895
75171
  }
74896
75172
  });
74897
75173
 
74898
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cache/symbols.js
75174
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/symbols.js
74899
75175
  var require_symbols4 = __commonJS({
74900
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cache/symbols.js"(exports, module2) {
75176
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/symbols.js"(exports, module2) {
74901
75177
  "use strict";
74902
75178
  module2.exports = {
74903
75179
  kConstruct: require_symbols().kConstruct
@@ -74905,9 +75181,9 @@ var require_symbols4 = __commonJS({
74905
75181
  }
74906
75182
  });
74907
75183
 
74908
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cache/util.js
75184
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/util.js
74909
75185
  var require_util5 = __commonJS({
74910
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cache/util.js"(exports, module2) {
75186
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/util.js"(exports, module2) {
74911
75187
  "use strict";
74912
75188
  var assert2 = __require("node:assert");
74913
75189
  var { URLSerializer } = require_data_url();
@@ -74935,9 +75211,9 @@ var require_util5 = __commonJS({
74935
75211
  }
74936
75212
  });
74937
75213
 
74938
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cache/cache.js
75214
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/cache.js
74939
75215
  var require_cache = __commonJS({
74940
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cache/cache.js"(exports, module2) {
75216
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/cache.js"(exports, module2) {
74941
75217
  "use strict";
74942
75218
  var { kConstruct } = require_symbols4();
74943
75219
  var { urlEquals, getFieldValues } = require_util5();
@@ -75480,9 +75756,9 @@ var require_cache = __commonJS({
75480
75756
  }
75481
75757
  });
75482
75758
 
75483
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cache/cachestorage.js
75759
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/cachestorage.js
75484
75760
  var require_cachestorage = __commonJS({
75485
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cache/cachestorage.js"(exports, module2) {
75761
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cache/cachestorage.js"(exports, module2) {
75486
75762
  "use strict";
75487
75763
  var { kConstruct } = require_symbols4();
75488
75764
  var { Cache } = require_cache();
@@ -75590,9 +75866,9 @@ var require_cachestorage = __commonJS({
75590
75866
  }
75591
75867
  });
75592
75868
 
75593
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cookies/constants.js
75869
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/constants.js
75594
75870
  var require_constants4 = __commonJS({
75595
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cookies/constants.js"(exports, module2) {
75871
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/constants.js"(exports, module2) {
75596
75872
  "use strict";
75597
75873
  var maxAttributeValueSize = 1024;
75598
75874
  var maxNameValuePairSize = 4096;
@@ -75603,9 +75879,9 @@ var require_constants4 = __commonJS({
75603
75879
  }
75604
75880
  });
75605
75881
 
75606
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cookies/util.js
75882
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/util.js
75607
75883
  var require_util6 = __commonJS({
75608
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cookies/util.js"(exports, module2) {
75884
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/util.js"(exports, module2) {
75609
75885
  "use strict";
75610
75886
  function isCTLExcludingHtab(value) {
75611
75887
  for (let i2 = 0; i2 < value.length; ++i2) {
@@ -75668,14 +75944,48 @@ var require_util6 = __commonJS({
75668
75944
  for (let i2 = 0; i2 < path3.length; ++i2) {
75669
75945
  const code = path3.charCodeAt(i2);
75670
75946
  if (code < 32 || // exclude CTLs (0-31)
75671
- code === 127 || // DEL
75947
+ code > 126 || // exclude DEL and non-ascii
75672
75948
  code === 59) {
75673
75949
  throw new Error("Invalid cookie path");
75674
75950
  }
75675
75951
  }
75676
75952
  }
75953
+ function isLetterOrDigit(code) {
75954
+ return code >= 48 && code <= 57 || // 0-9
75955
+ code >= 65 && code <= 90 || // A-Z
75956
+ code >= 97 && code <= 122;
75957
+ }
75677
75958
  function validateCookieDomain(domain2) {
75678
- if (domain2.startsWith("-") || domain2.endsWith(".") || domain2.endsWith("-")) {
75959
+ if (domain2 === " ") {
75960
+ return;
75961
+ }
75962
+ if (domain2.length > 255) {
75963
+ throw new Error("Invalid cookie domain");
75964
+ }
75965
+ let labelLength = 0;
75966
+ for (let i2 = 0; i2 < domain2.length; ++i2) {
75967
+ const code = domain2.charCodeAt(i2);
75968
+ if (code === 46) {
75969
+ if (labelLength === 0) {
75970
+ throw new Error("Invalid cookie domain");
75971
+ }
75972
+ if (domain2.charCodeAt(i2 - 1) === 45) {
75973
+ throw new Error("Invalid cookie domain");
75974
+ }
75975
+ labelLength = 0;
75976
+ continue;
75977
+ }
75978
+ if (labelLength === 0 && !isLetterOrDigit(code)) {
75979
+ throw new Error("Invalid cookie domain");
75980
+ }
75981
+ if (!isLetterOrDigit(code) && code !== 45) {
75982
+ throw new Error("Invalid cookie domain");
75983
+ }
75984
+ if (++labelLength > 63) {
75985
+ throw new Error("Invalid cookie domain");
75986
+ }
75987
+ }
75988
+ if (labelLength === 0 || domain2.charCodeAt(domain2.length - 1) === 45) {
75679
75989
  throw new Error("Invalid cookie domain");
75680
75990
  }
75681
75991
  }
@@ -75758,7 +76068,11 @@ var require_util6 = __commonJS({
75758
76068
  throw new Error("Invalid unparsed");
75759
76069
  }
75760
76070
  const [key, ...value] = part.split("=");
75761
- out2.push(`${key.trim()}=${value.join("=")}`);
76071
+ const trimmedKey = key.trim();
76072
+ const joinedValue = value.join("=");
76073
+ validateCookieName(trimmedKey);
76074
+ validateCookieValue(joinedValue);
76075
+ out2.push(`${trimmedKey}=${joinedValue}`);
75762
76076
  }
75763
76077
  return out2.join("; ");
75764
76078
  }
@@ -75773,9 +76087,9 @@ var require_util6 = __commonJS({
75773
76087
  }
75774
76088
  });
75775
76089
 
75776
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cookies/parse.js
76090
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/parse.js
75777
76091
  var require_parse = __commonJS({
75778
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cookies/parse.js"(exports, module2) {
76092
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/parse.js"(exports, module2) {
75779
76093
  "use strict";
75780
76094
  var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4();
75781
76095
  var { isCTLExcludingHtab } = require_util6();
@@ -75888,18 +76202,14 @@ var require_parse = __commonJS({
75888
76202
  } else if (attributeNameLowercase === "httponly") {
75889
76203
  cookieAttributeList.httpOnly = true;
75890
76204
  } else if (attributeNameLowercase === "samesite") {
75891
- let enforcement = "Default";
75892
76205
  const attributeValueLowercase = attributeValue.toLowerCase();
75893
- if (attributeValueLowercase.includes("none")) {
75894
- enforcement = "None";
75895
- }
75896
- if (attributeValueLowercase.includes("strict")) {
75897
- enforcement = "Strict";
76206
+ if (attributeValueLowercase === "none") {
76207
+ cookieAttributeList.sameSite = "None";
76208
+ } else if (attributeValueLowercase === "strict") {
76209
+ cookieAttributeList.sameSite = "Strict";
76210
+ } else if (attributeValueLowercase === "lax") {
76211
+ cookieAttributeList.sameSite = "Lax";
75898
76212
  }
75899
- if (attributeValueLowercase.includes("lax")) {
75900
- enforcement = "Lax";
75901
- }
75902
- cookieAttributeList.sameSite = enforcement;
75903
76213
  } else {
75904
76214
  cookieAttributeList.unparsed ??= [];
75905
76215
  cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`);
@@ -75913,9 +76223,9 @@ var require_parse = __commonJS({
75913
76223
  }
75914
76224
  });
75915
76225
 
75916
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cookies/index.js
76226
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/index.js
75917
76227
  var require_cookies = __commonJS({
75918
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/cookies/index.js"(exports, module2) {
76228
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/cookies/index.js"(exports, module2) {
75919
76229
  "use strict";
75920
76230
  var { parseSetCookie } = require_parse();
75921
76231
  var { stringify: stringify2 } = require_util6();
@@ -76042,9 +76352,9 @@ var require_cookies = __commonJS({
76042
76352
  }
76043
76353
  });
76044
76354
 
76045
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/events.js
76355
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/events.js
76046
76356
  var require_events = __commonJS({
76047
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/events.js"(exports, module2) {
76357
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/events.js"(exports, module2) {
76048
76358
  "use strict";
76049
76359
  var { webidl } = require_webidl();
76050
76360
  var { kEnumerableProperty } = require_util();
@@ -76308,9 +76618,9 @@ var require_events = __commonJS({
76308
76618
  }
76309
76619
  });
76310
76620
 
76311
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/constants.js
76621
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/constants.js
76312
76622
  var require_constants5 = __commonJS({
76313
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/constants.js"(exports, module2) {
76623
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/constants.js"(exports, module2) {
76314
76624
  "use strict";
76315
76625
  var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
76316
76626
  var staticPropertyDescriptors = {
@@ -76365,9 +76675,9 @@ var require_constants5 = __commonJS({
76365
76675
  }
76366
76676
  });
76367
76677
 
76368
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/symbols.js
76678
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/symbols.js
76369
76679
  var require_symbols5 = __commonJS({
76370
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/symbols.js"(exports, module2) {
76680
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/symbols.js"(exports, module2) {
76371
76681
  "use strict";
76372
76682
  module2.exports = {
76373
76683
  kWebSocketURL: Symbol("url"),
@@ -76382,9 +76692,9 @@ var require_symbols5 = __commonJS({
76382
76692
  }
76383
76693
  });
76384
76694
 
76385
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/util.js
76695
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/util.js
76386
76696
  var require_util7 = __commonJS({
76387
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/util.js"(exports, module2) {
76697
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/util.js"(exports, module2) {
76388
76698
  "use strict";
76389
76699
  var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols5();
76390
76700
  var { states, opcodes } = require_constants5();
@@ -76555,9 +76865,9 @@ var require_util7 = __commonJS({
76555
76865
  }
76556
76866
  });
76557
76867
 
76558
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/frame.js
76868
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/frame.js
76559
76869
  var require_frame = __commonJS({
76560
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/frame.js"(exports, module2) {
76870
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/frame.js"(exports, module2) {
76561
76871
  "use strict";
76562
76872
  var { maxUnsigned16Bit } = require_constants5();
76563
76873
  var BUFFER_SIZE = 16386;
@@ -76632,9 +76942,9 @@ var require_frame = __commonJS({
76632
76942
  }
76633
76943
  });
76634
76944
 
76635
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/connection.js
76945
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/connection.js
76636
76946
  var require_connection = __commonJS({
76637
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/connection.js"(exports, module2) {
76947
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/connection.js"(exports, module2) {
76638
76948
  "use strict";
76639
76949
  var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants5();
76640
76950
  var {
@@ -76721,7 +77031,7 @@ var require_connection = __commonJS({
76721
77031
  const secProtocol = response.headersList.get("Sec-WebSocket-Protocol");
76722
77032
  if (secProtocol !== null) {
76723
77033
  const requestProtocols = getDecodeSplit("sec-websocket-protocol", request.headersList);
76724
- if (!requestProtocols.includes(secProtocol)) {
77034
+ if (requestProtocols === null || !requestProtocols.includes(secProtocol)) {
76725
77035
  failWebsocketConnection(ws, "Protocol was not set in the opening handshake.");
76726
77036
  return;
76727
77037
  }
@@ -76817,9 +77127,9 @@ var require_connection = __commonJS({
76817
77127
  }
76818
77128
  });
76819
77129
 
76820
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/permessage-deflate.js
77130
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/permessage-deflate.js
76821
77131
  var require_permessage_deflate = __commonJS({
76822
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports, module2) {
77132
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports, module2) {
76823
77133
  "use strict";
76824
77134
  var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = __require("node:zlib");
76825
77135
  var { isValidClientWindowBits } = require_util7();
@@ -76827,27 +77137,26 @@ var require_permessage_deflate = __commonJS({
76827
77137
  var tail = Buffer.from([0, 0, 255, 255]);
76828
77138
  var kBuffer = Symbol("kBuffer");
76829
77139
  var kLength = Symbol("kLength");
76830
- var kDefaultMaxDecompressedSize = 4 * 1024 * 1024;
76831
77140
  var PerMessageDeflate = class {
76832
77141
  /** @type {import('node:zlib').InflateRaw} */
76833
77142
  #inflate;
76834
77143
  #options = {};
76835
- /** @type {boolean} */
76836
- #aborted = false;
76837
- /** @type {Function|null} */
76838
- #currentCallback = null;
77144
+ #maxPayloadSize = 0;
76839
77145
  /**
76840
77146
  * @param {Map<string, string>} extensions
76841
77147
  */
76842
- constructor(extensions) {
77148
+ constructor(extensions, options) {
76843
77149
  this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
76844
77150
  this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
77151
+ this.#maxPayloadSize = options.maxPayloadSize;
76845
77152
  }
77153
+ /**
77154
+ * Decompress a compressed payload.
77155
+ * @param {Buffer} chunk Compressed data
77156
+ * @param {boolean} fin Final fragment flag
77157
+ * @param {Function} callback Callback function
77158
+ */
76846
77159
  decompress(chunk, fin, callback) {
76847
- if (this.#aborted) {
76848
- callback(new MessageSizeExceededError());
76849
- return;
76850
- }
76851
77160
  if (!this.#inflate) {
76852
77161
  let windowBits = Z_DEFAULT_WINDOWBITS;
76853
77162
  if (this.#options.serverMaxWindowBits) {
@@ -76866,20 +77175,12 @@ var require_permessage_deflate = __commonJS({
76866
77175
  this.#inflate[kBuffer] = [];
76867
77176
  this.#inflate[kLength] = 0;
76868
77177
  this.#inflate.on("data", (data) => {
76869
- if (this.#aborted) {
76870
- return;
76871
- }
76872
77178
  this.#inflate[kLength] += data.length;
76873
- if (this.#inflate[kLength] > kDefaultMaxDecompressedSize) {
76874
- this.#aborted = true;
77179
+ if (this.#maxPayloadSize > 0 && this.#inflate[kLength] > this.#maxPayloadSize) {
77180
+ callback(new MessageSizeExceededError());
76875
77181
  this.#inflate.removeAllListeners();
76876
77182
  this.#inflate.destroy();
76877
77183
  this.#inflate = null;
76878
- if (this.#currentCallback) {
76879
- const cb = this.#currentCallback;
76880
- this.#currentCallback = null;
76881
- cb(new MessageSizeExceededError());
76882
- }
76883
77184
  return;
76884
77185
  }
76885
77186
  this.#inflate[kBuffer].push(data);
@@ -76889,19 +77190,17 @@ var require_permessage_deflate = __commonJS({
76889
77190
  callback(err2);
76890
77191
  });
76891
77192
  }
76892
- this.#currentCallback = callback;
76893
77193
  this.#inflate.write(chunk);
76894
77194
  if (fin) {
76895
77195
  this.#inflate.write(tail);
76896
77196
  }
76897
77197
  this.#inflate.flush(() => {
76898
- if (this.#aborted || !this.#inflate) {
77198
+ if (!this.#inflate) {
76899
77199
  return;
76900
77200
  }
76901
77201
  const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
76902
77202
  this.#inflate[kBuffer].length = 0;
76903
77203
  this.#inflate[kLength] = 0;
76904
- this.#currentCallback = null;
76905
77204
  callback(null, full);
76906
77205
  });
76907
77206
  }
@@ -76910,9 +77209,9 @@ var require_permessage_deflate = __commonJS({
76910
77209
  }
76911
77210
  });
76912
77211
 
76913
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/receiver.js
77212
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/receiver.js
76914
77213
  var require_receiver = __commonJS({
76915
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/receiver.js"(exports, module2) {
77214
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/receiver.js"(exports, module2) {
76916
77215
  "use strict";
76917
77216
  var { Writable } = __require("node:stream");
76918
77217
  var assert2 = __require("node:assert");
@@ -76932,8 +77231,14 @@ var require_receiver = __commonJS({
76932
77231
  var { WebsocketFrameSend } = require_frame();
76933
77232
  var { closeWebSocketConnection } = require_connection();
76934
77233
  var { PerMessageDeflate } = require_permessage_deflate();
77234
+ var { MessageSizeExceededError } = require_errors();
77235
+ function failWebsocketConnectionWithCode(ws, code, reason) {
77236
+ closeWebSocketConnection(ws, code, reason, Buffer.byteLength(reason));
77237
+ failWebsocketConnection(ws, reason);
77238
+ }
76935
77239
  var ByteParser = class extends Writable {
76936
77240
  #buffers = [];
77241
+ #fragmentsBytes = 0;
76937
77242
  #byteOffset = 0;
76938
77243
  #loop = false;
76939
77244
  #state = parserStates.INFO;
@@ -76941,16 +77246,23 @@ var require_receiver = __commonJS({
76941
77246
  #fragments = [];
76942
77247
  /** @type {Map<string, PerMessageDeflate>} */
76943
77248
  #extensions;
77249
+ /** @type {number} */
77250
+ #maxFragments;
77251
+ /** @type {number} */
77252
+ #maxPayloadSize;
76944
77253
  /**
76945
77254
  * @param {import('./websocket').WebSocket} ws
76946
77255
  * @param {Map<string, string>|null} extensions
77256
+ * @param {{ maxFragments?: number, maxPayloadSize?: number }} [options]
76947
77257
  */
76948
- constructor(ws, extensions) {
77258
+ constructor(ws, extensions, options = {}) {
76949
77259
  super();
76950
77260
  this.ws = ws;
76951
77261
  this.#extensions = extensions == null ? /* @__PURE__ */ new Map() : extensions;
77262
+ this.#maxFragments = options.maxFragments ?? 0;
77263
+ this.#maxPayloadSize = options.maxPayloadSize ?? 0;
76952
77264
  if (this.#extensions.has("permessage-deflate")) {
76953
- this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions));
77265
+ this.#extensions.set("permessage-deflate", new PerMessageDeflate(extensions, options));
76954
77266
  }
76955
77267
  }
76956
77268
  /**
@@ -76963,6 +77275,13 @@ var require_receiver = __commonJS({
76963
77275
  this.#loop = true;
76964
77276
  this.run(callback);
76965
77277
  }
77278
+ #validatePayloadLength() {
77279
+ if (this.#maxPayloadSize > 0 && !isControlFrame(this.#info.opcode) && this.#info.payloadLength + this.#fragmentsBytes > this.#maxPayloadSize) {
77280
+ failWebsocketConnectionWithCode(this.ws, 1009, "Payload size exceeds maximum allowed size");
77281
+ return false;
77282
+ }
77283
+ return true;
77284
+ }
76966
77285
  /**
76967
77286
  * Runs whenever a new chunk is received.
76968
77287
  * Callback is called whenever there are no more chunks buffering,
@@ -77022,6 +77341,9 @@ var require_receiver = __commonJS({
77022
77341
  if (payloadLength <= 125) {
77023
77342
  this.#info.payloadLength = payloadLength;
77024
77343
  this.#state = parserStates.READ_DATA;
77344
+ if (!this.#validatePayloadLength()) {
77345
+ return;
77346
+ }
77025
77347
  } else if (payloadLength === 126) {
77026
77348
  this.#state = parserStates.PAYLOADLENGTH_16;
77027
77349
  } else if (payloadLength === 127) {
@@ -77042,6 +77364,9 @@ var require_receiver = __commonJS({
77042
77364
  const buffer = this.consume(2);
77043
77365
  this.#info.payloadLength = buffer.readUInt16BE(0);
77044
77366
  this.#state = parserStates.READ_DATA;
77367
+ if (!this.#validatePayloadLength()) {
77368
+ return;
77369
+ }
77045
77370
  } else if (this.#state === parserStates.PAYLOADLENGTH_64) {
77046
77371
  if (this.#byteOffset < 8) {
77047
77372
  return callback();
@@ -77055,6 +77380,9 @@ var require_receiver = __commonJS({
77055
77380
  }
77056
77381
  this.#info.payloadLength = lower;
77057
77382
  this.#state = parserStates.READ_DATA;
77383
+ if (!this.#validatePayloadLength()) {
77384
+ return;
77385
+ }
77058
77386
  } else if (this.#state === parserStates.READ_DATA) {
77059
77387
  if (this.#byteOffset < this.#info.payloadLength) {
77060
77388
  return callback();
@@ -77063,34 +77391,58 @@ var require_receiver = __commonJS({
77063
77391
  if (isControlFrame(this.#info.opcode)) {
77064
77392
  this.#loop = this.parseControlFrame(body2);
77065
77393
  this.#state = parserStates.INFO;
77394
+ const socket = this.ws[kResponse].socket;
77395
+ if (this.#loop && socket.writableNeedDrain) {
77396
+ this.#loop = false;
77397
+ socket.once("drain", () => {
77398
+ if (this.destroyed) return;
77399
+ this.#loop = true;
77400
+ this.run(callback);
77401
+ });
77402
+ return;
77403
+ }
77066
77404
  } else {
77067
77405
  if (!this.#info.compressed) {
77068
- this.#fragments.push(body2);
77406
+ if (!this.writeFragments(body2)) {
77407
+ return;
77408
+ }
77409
+ if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) {
77410
+ failWebsocketConnectionWithCode(this.ws, 1009, new MessageSizeExceededError().message);
77411
+ return;
77412
+ }
77069
77413
  if (!this.#info.fragmented && this.#info.fin) {
77070
- const fullMessage = Buffer.concat(this.#fragments);
77071
- websocketMessageReceived(this.ws, this.#info.binaryType, fullMessage);
77072
- this.#fragments.length = 0;
77414
+ websocketMessageReceived(this.ws, this.#info.binaryType, this.consumeFragments());
77073
77415
  }
77074
77416
  this.#state = parserStates.INFO;
77075
77417
  } else {
77076
- this.#extensions.get("permessage-deflate").decompress(body2, this.#info.fin, (error48, data) => {
77077
- if (error48) {
77078
- failWebsocketConnection(this.ws, error48.message);
77079
- return;
77080
- }
77081
- this.#fragments.push(data);
77082
- if (!this.#info.fin) {
77083
- this.#state = parserStates.INFO;
77418
+ this.#extensions.get("permessage-deflate").decompress(
77419
+ body2,
77420
+ this.#info.fin,
77421
+ (error48, data) => {
77422
+ if (error48) {
77423
+ const code = error48 instanceof MessageSizeExceededError ? 1009 : 1007;
77424
+ failWebsocketConnectionWithCode(this.ws, code, error48.message);
77425
+ return;
77426
+ }
77427
+ if (!this.writeFragments(data)) {
77428
+ return;
77429
+ }
77430
+ if (this.#maxPayloadSize > 0 && this.#fragmentsBytes > this.#maxPayloadSize) {
77431
+ failWebsocketConnectionWithCode(this.ws, 1009, new MessageSizeExceededError().message);
77432
+ return;
77433
+ }
77434
+ if (!this.#info.fin) {
77435
+ this.#state = parserStates.INFO;
77436
+ this.#loop = true;
77437
+ this.run(callback);
77438
+ return;
77439
+ }
77440
+ websocketMessageReceived(this.ws, this.#info.binaryType, this.consumeFragments());
77084
77441
  this.#loop = true;
77442
+ this.#state = parserStates.INFO;
77085
77443
  this.run(callback);
77086
- return;
77087
77444
  }
77088
- websocketMessageReceived(this.ws, this.#info.binaryType, Buffer.concat(this.#fragments));
77089
- this.#loop = true;
77090
- this.#state = parserStates.INFO;
77091
- this.#fragments.length = 0;
77092
- this.run(callback);
77093
- });
77445
+ );
77094
77446
  this.#loop = false;
77095
77447
  break;
77096
77448
  }
@@ -77133,6 +77485,26 @@ var require_receiver = __commonJS({
77133
77485
  this.#byteOffset -= n;
77134
77486
  return buffer;
77135
77487
  }
77488
+ writeFragments(fragment) {
77489
+ if (this.#maxFragments > 0 && this.#fragments.length === this.#maxFragments) {
77490
+ failWebsocketConnectionWithCode(this.ws, 1008, "Too many message fragments");
77491
+ return false;
77492
+ }
77493
+ this.#fragmentsBytes += fragment.length;
77494
+ this.#fragments.push(fragment);
77495
+ return true;
77496
+ }
77497
+ consumeFragments() {
77498
+ const fragments = this.#fragments;
77499
+ if (fragments.length === 1) {
77500
+ this.#fragmentsBytes = 0;
77501
+ return fragments.shift();
77502
+ }
77503
+ const output = Buffer.concat(fragments, this.#fragmentsBytes);
77504
+ this.#fragments = [];
77505
+ this.#fragmentsBytes = 0;
77506
+ return output;
77507
+ }
77136
77508
  parseCloseBody(data) {
77137
77509
  assert2(data.length !== 1);
77138
77510
  let code;
@@ -77219,9 +77591,9 @@ var require_receiver = __commonJS({
77219
77591
  }
77220
77592
  });
77221
77593
 
77222
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/sender.js
77594
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/sender.js
77223
77595
  var require_sender = __commonJS({
77224
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/sender.js"(exports, module2) {
77596
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/sender.js"(exports, module2) {
77225
77597
  "use strict";
77226
77598
  var { WebsocketFrameSend } = require_frame();
77227
77599
  var { opcodes, sendHints } = require_constants5();
@@ -77301,9 +77673,9 @@ var require_sender = __commonJS({
77301
77673
  }
77302
77674
  });
77303
77675
 
77304
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/websocket.js
77676
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/websocket.js
77305
77677
  var require_websocket = __commonJS({
77306
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/websocket/websocket.js"(exports, module2) {
77678
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/websocket/websocket.js"(exports, module2) {
77307
77679
  "use strict";
77308
77680
  var { webidl } = require_webidl();
77309
77681
  var { URLSerializer } = require_data_url();
@@ -77570,7 +77942,13 @@ var require_websocket = __commonJS({
77570
77942
  */
77571
77943
  #onConnectionEstablished(response, parsedExtensions) {
77572
77944
  this[kResponse] = response;
77573
- const parser = new ByteParser(this, parsedExtensions);
77945
+ const webSocketOptions = this[kController]?.dispatcher?.webSocketOptions;
77946
+ const maxFragments = webSocketOptions?.maxFragments;
77947
+ const maxPayloadSize = webSocketOptions?.maxPayloadSize;
77948
+ const parser = new ByteParser(this, parsedExtensions, {
77949
+ maxFragments,
77950
+ maxPayloadSize
77951
+ });
77574
77952
  parser.on("drain", onParserDrain);
77575
77953
  parser.on("error", onParserError.bind(this));
77576
77954
  response.socket.ws = this;
@@ -77685,9 +78063,9 @@ var require_websocket = __commonJS({
77685
78063
  }
77686
78064
  });
77687
78065
 
77688
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/eventsource/util.js
78066
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/eventsource/util.js
77689
78067
  var require_util8 = __commonJS({
77690
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/eventsource/util.js"(exports, module2) {
78068
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/eventsource/util.js"(exports, module2) {
77691
78069
  "use strict";
77692
78070
  function isValidLastEventId(value) {
77693
78071
  return value.indexOf("\0") === -1;
@@ -77712,10 +78090,11 @@ var require_util8 = __commonJS({
77712
78090
  }
77713
78091
  });
77714
78092
 
77715
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/eventsource/eventsource-stream.js
78093
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/eventsource/eventsource-stream.js
77716
78094
  var require_eventsource_stream = __commonJS({
77717
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports, module2) {
78095
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports, module2) {
77718
78096
  "use strict";
78097
+ var buffer = __require("node:buffer");
77719
78098
  var { Transform } = __require("node:stream");
77720
78099
  var { isASCIINumber, isValidLastEventId } = require_util8();
77721
78100
  var BOM = [239, 187, 191];
@@ -77723,6 +78102,49 @@ var require_eventsource_stream = __commonJS({
77723
78102
  var CR = 13;
77724
78103
  var COLON = 58;
77725
78104
  var SPACE = 32;
78105
+ var defaultMaxEventSize = buffer.kStringMaxLength;
78106
+ var DATA = Buffer.from("data");
78107
+ var EVENT = Buffer.from("event");
78108
+ var ID = Buffer.from("id");
78109
+ var RETRY = Buffer.from("retry");
78110
+ var minParserItems = 1024;
78111
+ var maxParserItems = 131072;
78112
+ var bytesPerParserItem = 128;
78113
+ function isASCIINumberBytes(buffer2, start2) {
78114
+ if (start2 >= buffer2.length) {
78115
+ return false;
78116
+ }
78117
+ for (let i2 = start2; i2 < buffer2.length; i2++) {
78118
+ if (buffer2[i2] < 48 || buffer2[i2] > 57) {
78119
+ return false;
78120
+ }
78121
+ }
78122
+ return true;
78123
+ }
78124
+ function isValidLastEventIdBytes(buffer2, start2) {
78125
+ for (let i2 = start2; i2 < buffer2.length; i2++) {
78126
+ if (buffer2[i2] === 0) {
78127
+ return false;
78128
+ }
78129
+ }
78130
+ return true;
78131
+ }
78132
+ function isFieldName(line, length, field) {
78133
+ if (length !== field.length) {
78134
+ return false;
78135
+ }
78136
+ for (let i2 = 0; i2 < length; i2++) {
78137
+ if (line[i2] !== field[i2]) {
78138
+ return false;
78139
+ }
78140
+ }
78141
+ return true;
78142
+ }
78143
+ function createMaxEventSizeExceededError() {
78144
+ const error48 = new Error("EventSource message size exceeded");
78145
+ error48.aborted = false;
78146
+ return error48;
78147
+ }
77726
78148
  var EventSourceStream = class extends Transform {
77727
78149
  /**
77728
78150
  * @type {eventSourceSettings}
@@ -77742,10 +78164,20 @@ var require_eventsource_stream = __commonJS({
77742
78164
  */
77743
78165
  eventEndCheck = false;
77744
78166
  /**
77745
- * @type {Buffer}
78167
+ * @type {Buffer[]}
77746
78168
  */
77747
- buffer = null;
78169
+ chunks = [];
78170
+ chunkIndex = 0;
77748
78171
  pos = 0;
78172
+ lineChunkIndex = 0;
78173
+ linePos = 0;
78174
+ lineLength = 0;
78175
+ eventSize = 0;
78176
+ eventFieldSizes = { data: 0, event: 0, id: 0, retry: 0 };
78177
+ dataLineCount = 0;
78178
+ maxEventSize;
78179
+ maxDataLines;
78180
+ maxBufferedChunks;
77749
78181
  event = {
77750
78182
  data: void 0,
77751
78183
  event: void 0,
@@ -77754,6 +78186,7 @@ var require_eventsource_stream = __commonJS({
77754
78186
  };
77755
78187
  /**
77756
78188
  * @param {object} options
78189
+ * @param {number} [options.maxEventSize]
77757
78190
  * @param {eventSourceSettings} options.eventSourceSettings
77758
78191
  * @param {Function} [options.push]
77759
78192
  */
@@ -77761,6 +78194,10 @@ var require_eventsource_stream = __commonJS({
77761
78194
  options.readableObjectMode = true;
77762
78195
  super(options);
77763
78196
  this.state = options.eventSourceSettings || {};
78197
+ this.maxEventSize = options.maxEventSize ?? defaultMaxEventSize;
78198
+ const parserItemLimit = this.maxEventSize > 0 ? Math.min(maxParserItems, Math.max(minParserItems, Math.floor(this.maxEventSize / bytesPerParserItem))) : 0;
78199
+ this.maxDataLines = parserItemLimit;
78200
+ this.maxBufferedChunks = parserItemLimit;
77764
78201
  if (options.push) {
77765
78202
  this.push = options.push;
77766
78203
  }
@@ -77776,63 +78213,34 @@ var require_eventsource_stream = __commonJS({
77776
78213
  callback();
77777
78214
  return;
77778
78215
  }
77779
- if (this.buffer) {
77780
- this.buffer = Buffer.concat([this.buffer, chunk]);
77781
- } else {
77782
- this.buffer = chunk;
78216
+ if (this.maxEventSize > 0 && this.chunks.length >= this.maxBufferedChunks && chunk[0] !== LF && chunk[0] !== CR) {
78217
+ callback(createMaxEventSizeExceededError());
78218
+ return;
77783
78219
  }
78220
+ this.chunks.push(chunk);
77784
78221
  if (this.checkBOM) {
77785
- switch (this.buffer.length) {
77786
- case 1:
77787
- if (this.buffer[0] === BOM[0]) {
77788
- callback();
77789
- return;
77790
- }
77791
- this.checkBOM = false;
77792
- callback();
77793
- return;
77794
- case 2:
77795
- if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1]) {
77796
- callback();
77797
- return;
77798
- }
77799
- this.checkBOM = false;
77800
- break;
77801
- case 3:
77802
- if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
77803
- this.buffer = Buffer.alloc(0);
77804
- this.checkBOM = false;
77805
- callback();
77806
- return;
77807
- }
77808
- this.checkBOM = false;
77809
- break;
77810
- default:
77811
- if (this.buffer[0] === BOM[0] && this.buffer[1] === BOM[1] && this.buffer[2] === BOM[2]) {
77812
- this.buffer = this.buffer.subarray(3);
77813
- }
77814
- this.checkBOM = false;
77815
- break;
78222
+ if (this.handleBOM()) {
78223
+ callback();
78224
+ return;
77816
78225
  }
77817
78226
  }
77818
- while (this.pos < this.buffer.length) {
78227
+ while (this.hasCurrentByte()) {
78228
+ const byte = this.currentByte();
77819
78229
  if (this.eventEndCheck) {
77820
78230
  if (this.crlfCheck) {
77821
- if (this.buffer[this.pos] === LF) {
77822
- this.buffer = this.buffer.subarray(this.pos + 1);
77823
- this.pos = 0;
78231
+ if (byte === LF) {
77824
78232
  this.crlfCheck = false;
78233
+ this.consumeCurrentByte();
77825
78234
  continue;
77826
78235
  }
77827
78236
  this.crlfCheck = false;
77828
78237
  }
77829
- if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
77830
- if (this.buffer[this.pos] === CR) {
78238
+ if (byte === LF || byte === CR) {
78239
+ if (byte === CR) {
77831
78240
  this.crlfCheck = true;
77832
78241
  }
77833
- this.buffer = this.buffer.subarray(this.pos + 1);
77834
- this.pos = 0;
77835
- if (this.event.data !== void 0 || this.event.event || this.event.id || this.event.retry) {
78242
+ this.consumeCurrentByte();
78243
+ if (this.hasPendingEvent()) {
77836
78244
  this.processEvent(this.event);
77837
78245
  }
77838
78246
  this.clearEvent();
@@ -77841,23 +78249,36 @@ var require_eventsource_stream = __commonJS({
77841
78249
  this.eventEndCheck = false;
77842
78250
  continue;
77843
78251
  }
77844
- if (this.buffer[this.pos] === LF || this.buffer[this.pos] === CR) {
77845
- if (this.buffer[this.pos] === CR) {
78252
+ if (byte === LF || byte === CR) {
78253
+ if (byte === CR) {
77846
78254
  this.crlfCheck = true;
77847
78255
  }
77848
- this.parseLine(this.buffer.subarray(0, this.pos), this.event);
77849
- this.buffer = this.buffer.subarray(this.pos + 1);
77850
- this.pos = 0;
78256
+ try {
78257
+ this.parseLine(this.readLine(), this.event);
78258
+ } catch (error48) {
78259
+ callback(error48);
78260
+ return;
78261
+ }
78262
+ this.consumeCurrentByte();
77851
78263
  this.eventEndCheck = true;
77852
78264
  continue;
77853
78265
  }
77854
- this.pos++;
78266
+ if (this.maxEventSize > 0 && ++this.lineLength > this.maxEventSize + 7) {
78267
+ callback(createMaxEventSizeExceededError());
78268
+ return;
78269
+ }
78270
+ this.advanceCursor();
77855
78271
  }
77856
78272
  callback();
77857
78273
  }
78274
+ _destroy(error48, callback) {
78275
+ this.chunks.length = 0;
78276
+ this.clearEvent();
78277
+ super._destroy(error48, callback);
78278
+ }
77858
78279
  /**
77859
78280
  * @param {Buffer} line
77860
- * @param {EventStreamEvent} event
78281
+ * @param {EventSourceStreamEvent} event
77861
78282
  */
77862
78283
  parseLine(line, event) {
77863
78284
  if (line.length === 0) {
@@ -77867,44 +78288,60 @@ var require_eventsource_stream = __commonJS({
77867
78288
  if (colonPosition === 0) {
77868
78289
  return;
77869
78290
  }
77870
- let field = "";
77871
- let value = "";
78291
+ let fieldLength = line.length;
78292
+ let valueStart = line.length;
77872
78293
  if (colonPosition !== -1) {
77873
- field = line.subarray(0, colonPosition).toString("utf8");
77874
- let valueStart = colonPosition + 1;
78294
+ fieldLength = colonPosition;
78295
+ valueStart = colonPosition + 1;
77875
78296
  if (line[valueStart] === SPACE) {
77876
78297
  ++valueStart;
77877
78298
  }
77878
- value = line.subarray(valueStart).toString("utf8");
77879
- } else {
77880
- field = line.toString("utf8");
77881
- value = "";
77882
78299
  }
77883
- switch (field) {
77884
- case "data":
77885
- if (event[field] === void 0) {
77886
- event[field] = value;
77887
- } else {
77888
- event[field] += `
78300
+ if (isFieldName(line, fieldLength, DATA)) {
78301
+ if (this.maxEventSize > 0 && this.dataLineCount >= this.maxDataLines) {
78302
+ throw createMaxEventSizeExceededError();
78303
+ }
78304
+ const valueBytes = line.length - valueStart;
78305
+ const dataSize = this.eventFieldSizes.data + (event.data === void 0 ? 0 : 1) + valueBytes;
78306
+ this.setEventFieldSize("data", dataSize);
78307
+ const value = line.toString("utf8", valueStart);
78308
+ if (event.data === void 0) {
78309
+ event.data = value;
78310
+ } else {
78311
+ event.data += `
77889
78312
  ${value}`;
77890
- }
77891
- break;
77892
- case "retry":
77893
- if (isASCIINumber(value)) {
77894
- event[field] = value;
77895
- }
77896
- break;
77897
- case "id":
77898
- if (isValidLastEventId(value)) {
77899
- event[field] = value;
77900
- }
77901
- break;
77902
- case "event":
77903
- if (value.length > 0) {
77904
- event[field] = value;
77905
- }
77906
- break;
78313
+ }
78314
+ this.dataLineCount++;
78315
+ return;
78316
+ }
78317
+ if (isFieldName(line, fieldLength, RETRY)) {
78318
+ if (isASCIINumberBytes(line, valueStart)) {
78319
+ this.setEventFieldSize("retry", line.length - valueStart);
78320
+ event.retry = line.toString("utf8", valueStart);
78321
+ }
78322
+ return;
77907
78323
  }
78324
+ if (isFieldName(line, fieldLength, ID)) {
78325
+ if (isValidLastEventIdBytes(line, valueStart)) {
78326
+ this.setEventFieldSize("id", line.length - valueStart);
78327
+ event.id = line.toString("utf8", valueStart);
78328
+ }
78329
+ return;
78330
+ }
78331
+ if (isFieldName(line, fieldLength, EVENT)) {
78332
+ if (valueStart < line.length) {
78333
+ this.setEventFieldSize("event", line.length - valueStart);
78334
+ event.event = line.toString("utf8", valueStart);
78335
+ }
78336
+ }
78337
+ }
78338
+ setEventFieldSize(field, size) {
78339
+ const eventSize = this.eventSize - this.eventFieldSizes[field] + size;
78340
+ if (this.maxEventSize > 0 && eventSize > this.maxEventSize) {
78341
+ throw createMaxEventSizeExceededError();
78342
+ }
78343
+ this.eventSize = eventSize;
78344
+ this.eventFieldSizes[field] = size;
77908
78345
  }
77909
78346
  /**
77910
78347
  * @param {EventSourceStreamEvent} event
@@ -77928,12 +78365,128 @@ ${value}`;
77928
78365
  }
77929
78366
  }
77930
78367
  clearEvent() {
77931
- this.event = {
77932
- data: void 0,
77933
- event: void 0,
77934
- id: void 0,
77935
- retry: void 0
77936
- };
78368
+ this.event.data = void 0;
78369
+ this.event.event = void 0;
78370
+ this.event.id = void 0;
78371
+ this.event.retry = void 0;
78372
+ this.eventSize = 0;
78373
+ this.dataLineCount = 0;
78374
+ this.eventFieldSizes.data = 0;
78375
+ this.eventFieldSizes.event = 0;
78376
+ this.eventFieldSizes.id = 0;
78377
+ this.eventFieldSizes.retry = 0;
78378
+ }
78379
+ hasPendingEvent() {
78380
+ return this.event.data !== void 0 || this.event.event !== void 0 || this.event.id !== void 0 || this.event.retry !== void 0;
78381
+ }
78382
+ hasCurrentByte() {
78383
+ return this.chunkIndex < this.chunks.length && this.pos < this.chunks[this.chunkIndex].length;
78384
+ }
78385
+ currentByte() {
78386
+ return this.chunks[this.chunkIndex][this.pos];
78387
+ }
78388
+ consumeCurrentByte() {
78389
+ this.advanceCursor();
78390
+ this.syncLineStartToCursor();
78391
+ }
78392
+ advanceCursor() {
78393
+ this.pos++;
78394
+ while (this.chunkIndex < this.chunks.length && this.pos >= this.chunks[this.chunkIndex].length) {
78395
+ this.chunkIndex++;
78396
+ this.pos = 0;
78397
+ }
78398
+ }
78399
+ syncLineStartToCursor() {
78400
+ this.lineChunkIndex = this.chunkIndex;
78401
+ this.linePos = this.pos;
78402
+ this.lineLength = 0;
78403
+ this.dropConsumedChunks();
78404
+ }
78405
+ dropConsumedChunks() {
78406
+ if (this.lineChunkIndex > 0) {
78407
+ const consumed = this.lineChunkIndex;
78408
+ this.chunks.splice(0, consumed);
78409
+ this.lineChunkIndex = 0;
78410
+ this.chunkIndex -= consumed;
78411
+ }
78412
+ if (this.chunkIndex === this.chunks.length) {
78413
+ this.chunks.length = 0;
78414
+ this.chunkIndex = 0;
78415
+ this.pos = 0;
78416
+ this.lineChunkIndex = 0;
78417
+ this.linePos = 0;
78418
+ }
78419
+ }
78420
+ readLine() {
78421
+ if (this.lineChunkIndex === this.chunkIndex) {
78422
+ return this.chunks[this.chunkIndex].subarray(this.linePos, this.pos);
78423
+ }
78424
+ const chunks = [];
78425
+ let length = 0;
78426
+ for (let i2 = this.lineChunkIndex; i2 <= this.chunkIndex; i2++) {
78427
+ const chunk = this.chunks[i2];
78428
+ const start2 = i2 === this.lineChunkIndex ? this.linePos : 0;
78429
+ const end = i2 === this.chunkIndex ? this.pos : chunk.length;
78430
+ const slice = chunk.subarray(start2, end);
78431
+ length += slice.length;
78432
+ chunks.push(slice);
78433
+ }
78434
+ return Buffer.concat(chunks, length);
78435
+ }
78436
+ peekBufferedByte(offset) {
78437
+ let chunkIndex = this.lineChunkIndex;
78438
+ let pos = this.linePos;
78439
+ while (chunkIndex < this.chunks.length) {
78440
+ const chunk = this.chunks[chunkIndex];
78441
+ const remaining = chunk.length - pos;
78442
+ if (offset < remaining) {
78443
+ return chunk[pos + offset];
78444
+ }
78445
+ offset -= remaining;
78446
+ chunkIndex++;
78447
+ pos = 0;
78448
+ }
78449
+ }
78450
+ discardLeadingBytes(count2) {
78451
+ while (count2 > 0 && this.lineChunkIndex < this.chunks.length) {
78452
+ const chunk = this.chunks[this.lineChunkIndex];
78453
+ const remaining = chunk.length - this.linePos;
78454
+ if (count2 < remaining) {
78455
+ this.linePos += count2;
78456
+ count2 = 0;
78457
+ } else {
78458
+ count2 -= remaining;
78459
+ this.lineChunkIndex++;
78460
+ this.linePos = 0;
78461
+ }
78462
+ }
78463
+ this.chunkIndex = this.lineChunkIndex;
78464
+ this.pos = this.linePos;
78465
+ this.dropConsumedChunks();
78466
+ }
78467
+ handleBOM() {
78468
+ const first = this.peekBufferedByte(0);
78469
+ const second = this.peekBufferedByte(1);
78470
+ const third = this.peekBufferedByte(2);
78471
+ if (second === void 0) {
78472
+ if (first === BOM[0]) {
78473
+ return true;
78474
+ }
78475
+ this.checkBOM = false;
78476
+ return true;
78477
+ }
78478
+ if (third === void 0) {
78479
+ if (first === BOM[0] && second === BOM[1]) {
78480
+ return true;
78481
+ }
78482
+ this.checkBOM = false;
78483
+ return false;
78484
+ }
78485
+ if (first === BOM[0] && second === BOM[1] && third === BOM[2]) {
78486
+ this.discardLeadingBytes(3);
78487
+ }
78488
+ this.checkBOM = false;
78489
+ return !this.hasCurrentByte();
77937
78490
  }
77938
78491
  };
77939
78492
  module2.exports = {
@@ -77942,9 +78495,9 @@ ${value}`;
77942
78495
  }
77943
78496
  });
77944
78497
 
77945
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/eventsource/eventsource.js
78498
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/eventsource/eventsource.js
77946
78499
  var require_eventsource = __commonJS({
77947
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/lib/web/eventsource/eventsource.js"(exports, module2) {
78500
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/lib/web/eventsource/eventsource.js"(exports, module2) {
77948
78501
  "use strict";
77949
78502
  var { pipeline } = __require("node:stream");
77950
78503
  var { fetching } = require_fetch();
@@ -77957,6 +78510,7 @@ var require_eventsource = __commonJS({
77957
78510
  var { delay } = require_util8();
77958
78511
  var { kEnumerableProperty } = require_util();
77959
78512
  var { environmentSettingsObject } = require_util2();
78513
+ var { getGlobalDispatcher } = require_global2();
77960
78514
  var experimentalWarned = false;
77961
78515
  var defaultReconnectionTime = 3e3;
77962
78516
  var CONNECTING = 0;
@@ -78097,6 +78651,7 @@ var require_eventsource = __commonJS({
78097
78651
  this.#state.origin = response.urlList[response.urlList.length - 1].origin;
78098
78652
  const eventSourceStream = new EventSourceStream({
78099
78653
  eventSourceSettings: this.#state,
78654
+ maxEventSize: this.#dispatcher.eventSourceOptions?.maxEventSize,
78100
78655
  push: (event) => {
78101
78656
  this.dispatchEvent(createFastMessageEvent(
78102
78657
  event.type,
@@ -78229,7 +78784,8 @@ var require_eventsource = __commonJS({
78229
78784
  {
78230
78785
  key: "dispatcher",
78231
78786
  // undici only
78232
- converter: webidl.converters.any
78787
+ converter: webidl.converters.any,
78788
+ defaultValue: () => getGlobalDispatcher()
78233
78789
  }
78234
78790
  ]);
78235
78791
  module2.exports = {
@@ -78239,9 +78795,9 @@ var require_eventsource = __commonJS({
78239
78795
  }
78240
78796
  });
78241
78797
 
78242
- // ../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/index.js
78798
+ // ../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/index.js
78243
78799
  var require_undici = __commonJS({
78244
- "../../node_modules/.pnpm/undici@6.24.1/node_modules/undici/index.js"(exports, module2) {
78800
+ "../../node_modules/.pnpm/undici@6.29.1/node_modules/undici/index.js"(exports, module2) {
78245
78801
  "use strict";
78246
78802
  var Client = require_client();
78247
78803
  var Dispatcher = require_dispatcher();
@@ -88813,7 +89369,7 @@ function createWatchBreaker(deps) {
88813
89369
  }
88814
89370
 
88815
89371
  // src/engine.ts
88816
- var DAEMON_VERSION = true ? "2.0.23-dev.5035" : "2.0.0-alpha.0";
89372
+ var DAEMON_VERSION = true ? "2.0.23-dev.5081" : "2.0.0-alpha.0";
88817
89373
  var IGNORED_PATH = /[\\/](?:\.git|node_modules|\.errata|\.claude|\.codex|\.cursor|\.turbo|\.next|dist|coverage|test-results|playwright-report|__pycache__)(?:[\\/]|$)/;
88818
89374
  var IGNORED_NOISE = /castalia\.db|eventlog\.sqlite|turn-cursors/;
88819
89375
  var GIT_OP_MUTE_MS = 4e3;
@@ -100735,13 +101291,13 @@ import { homedir as homedir10 } from "node:os";
100735
101291
  import { join as join56 } from "node:path";
100736
101292
  import { fileURLToPath as fileURLToPath4 } from "node:url";
100737
101293
 
100738
- // ../../node_modules/.pnpm/smol-toml@1.6.1/node_modules/smol-toml/dist/error.js
101294
+ // ../../node_modules/.pnpm/smol-toml@1.9.1/node_modules/smol-toml/dist/error.js
100739
101295
  function getLineColFromPtr(string4, ptr) {
100740
- let lines = string4.slice(0, ptr).split(/\r\n|\n|\r/g);
101296
+ let lines = string4.slice(0, ptr).split(/\r?\n/);
100741
101297
  return [lines.length, lines.pop().length + 1];
100742
101298
  }
100743
101299
  function makeCodeBlock(string4, line, column2) {
100744
- let lines = string4.split(/\r\n|\n|\r/g);
101300
+ let lines = string4.split(/\r?\n/);
100745
101301
  let codeblock = "";
100746
101302
  let numberLen = (Math.log10(line + 1) | 0) + 1;
100747
101303
  for (let i2 = line - 1; i2 <= line + 1; i2++) {
@@ -100759,7 +101315,7 @@ function makeCodeBlock(string4, line, column2) {
100759
101315
  }
100760
101316
  return codeblock;
100761
101317
  }
100762
- var TomlError = class extends Error {
101318
+ var TomlError = class _TomlError extends Error {
100763
101319
  line;
100764
101320
  column;
100765
101321
  codeblock;
@@ -100773,116 +101329,165 @@ ${codeblock}`, options);
100773
101329
  this.column = column2;
100774
101330
  this.codeblock = codeblock;
100775
101331
  }
101332
+ /** @internal */
101333
+ static x(message2, ctx, ptr) {
101334
+ throw new _TomlError(message2, { toml: ctx.s, ptr: ptr ?? ctx.p });
101335
+ }
100776
101336
  };
100777
101337
 
100778
- // ../../node_modules/.pnpm/smol-toml@1.6.1/node_modules/smol-toml/dist/util.js
100779
- function isEscaped(str, ptr) {
100780
- let i2 = 0;
100781
- while (str[ptr - ++i2] === "\\")
100782
- ;
100783
- return --i2 && i2 % 2;
100784
- }
100785
- function indexOfNewline(str, start2 = 0, end = str.length) {
100786
- let idx = str.indexOf("\n", start2);
100787
- if (str[idx - 1] === "\r")
100788
- idx--;
100789
- return idx <= end ? idx : -1;
100790
- }
100791
- function skipComment(str, ptr) {
100792
- for (let i2 = ptr; i2 < str.length; i2++) {
100793
- let c = str[i2];
100794
- if (c === "\n")
100795
- return i2;
100796
- if (c === "\r" && str[i2 + 1] === "\n")
100797
- return i2 + 1;
100798
- if (c < " " && c !== " " || c === "\x7F") {
100799
- throw new TomlError("control characters are not allowed in comments", {
100800
- toml: str,
100801
- ptr
100802
- });
100803
- }
100804
- }
100805
- return str.length;
100806
- }
100807
- function skipVoid(str, ptr, banNewLines, banComments) {
100808
- let c;
100809
- while (1) {
100810
- while ((c = str[ptr]) === " " || c === " " || !banNewLines && (c === "\n" || c === "\r" && str[ptr + 1] === "\n"))
100811
- ptr++;
100812
- if (banComments || c !== "#")
100813
- break;
100814
- ptr = skipComment(str, ptr);
100815
- }
100816
- return ptr;
100817
- }
100818
- function skipUntil(str, ptr, sep7, end, banNewLines = false) {
100819
- if (!end) {
100820
- ptr = indexOfNewline(str, ptr);
100821
- return ptr < 0 ? str.length : ptr;
100822
- }
100823
- for (let i2 = ptr; i2 < str.length; i2++) {
100824
- let c = str[i2];
100825
- if (c === "#") {
100826
- i2 = indexOfNewline(str, i2);
100827
- } else if (c === sep7) {
100828
- return i2 + 1;
100829
- } else if (c === end || banNewLines && (c === "\n" || c === "\r" && str[i2 + 1] === "\n")) {
100830
- return i2;
100831
- }
100832
- }
100833
- throw new TomlError("cannot find end of structure", {
100834
- toml: str,
100835
- ptr
100836
- });
100837
- }
100838
- function getStringEnd(str, seek) {
100839
- let first = str[seek];
100840
- let target = first === str[seek + 1] && str[seek + 1] === str[seek + 2] ? str.slice(seek, seek + 3) : first;
100841
- seek += target.length - 1;
100842
- do
100843
- seek = str.indexOf(target, ++seek);
100844
- while (seek > -1 && first !== "'" && isEscaped(str, seek));
100845
- if (seek > -1) {
100846
- seek += target.length;
100847
- if (target.length > 1) {
100848
- if (str[seek] === first)
100849
- seek++;
100850
- if (str[seek] === first)
100851
- seek++;
100852
- }
101338
+ // ../../node_modules/.pnpm/smol-toml@1.9.1/node_modules/smol-toml/dist/primitive.js
101339
+ function parseString(ctx) {
101340
+ let startPtr = ctx.p;
101341
+ let c = ctx.s.charCodeAt(ctx.p++);
101342
+ let first = c;
101343
+ let isLiteral = c === 39;
101344
+ let isMultiline = c === ctx.s.charCodeAt(ctx.p) && c === ctx.s.charCodeAt(ctx.p + 1);
101345
+ if (isMultiline) {
101346
+ if ((c = ctx.s.charCodeAt(ctx.p += 2)) === 10)
101347
+ ctx.p++;
101348
+ else if (c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10)
101349
+ ctx.p += 2;
100853
101350
  }
100854
- return seek;
100855
- }
100856
-
100857
- // ../../node_modules/.pnpm/smol-toml@1.6.1/node_modules/smol-toml/dist/date.js
100858
- var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;
101351
+ let parsed = "";
101352
+ let sliceStart = ctx.p;
101353
+ let state = 0;
101354
+ for (; ctx.p < ctx.s.length; ctx.p++) {
101355
+ c = ctx.s.charCodeAt(ctx.p);
101356
+ if (isMultiline && (c === 10 || c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10)) {
101357
+ state = state && 3;
101358
+ } else if (c < 32 && c !== 9 || c === 127) {
101359
+ TomlError.x("control characters are not allowed in strings", ctx);
101360
+ } else if ((!state || state === 3) && c === first && (!isMultiline || ctx.s.charCodeAt(ctx.p + 1) === first && ctx.s.charCodeAt(ctx.p + 2) === first)) {
101361
+ if (isMultiline) {
101362
+ if (ctx.s.charCodeAt(ctx.p + 3) === first)
101363
+ ctx.p++;
101364
+ if (ctx.s.charCodeAt(ctx.p + 3) === first)
101365
+ ctx.p++;
101366
+ }
101367
+ if (!state) {
101368
+ let s = ctx.s.slice(sliceStart, ctx.p);
101369
+ parsed = parsed ? parsed + s : s;
101370
+ }
101371
+ ctx.p += isMultiline ? 3 : 1;
101372
+ return parsed;
101373
+ } else if (!state) {
101374
+ if (!isLiteral && c === 92) {
101375
+ parsed += ctx.s.slice(sliceStart, sliceStart = ctx.p);
101376
+ state = 1;
101377
+ }
101378
+ } else if (state === 1) {
101379
+ if (c === 120 || c === 117 || c === 85) {
101380
+ let errPtr = ctx.p++ - 1;
101381
+ let value = 0;
101382
+ let len = c === 120 ? 2 : c === 117 ? 4 : 8;
101383
+ for (let j = 0; j < len; j++, ctx.p++) {
101384
+ let hex3 = ctx.s.charCodeAt(ctx.p);
101385
+ let digit = (
101386
+ /* 0-9 */
101387
+ hex3 >= 48 && hex3 <= 57 ? hex3 - 48 : (
101388
+ /* A-F */
101389
+ hex3 >= 65 && hex3 <= 70 ? hex3 - 65 + 10 : (
101390
+ /* a-f */
101391
+ hex3 >= 97 && hex3 <= 102 ? hex3 - 97 + 10 : -1
101392
+ )
101393
+ )
101394
+ );
101395
+ if (digit < 0)
101396
+ TomlError.x("invalid non-hex character in unicode escape", ctx);
101397
+ value = value << 4 | digit;
101398
+ }
101399
+ if (value < 0 || value > 1114111 || value >= 55296 && value <= 57343) {
101400
+ TomlError.x("invalid unicode escape", ctx, errPtr);
101401
+ }
101402
+ parsed += String.fromCodePoint(value);
101403
+ sliceStart = ctx.p--;
101404
+ state = 0;
101405
+ } else if (isMultiline && (c === 32 || c === 9)) {
101406
+ state = 2;
101407
+ } else {
101408
+ if (c === 98)
101409
+ parsed += "\b";
101410
+ else if (c === 116)
101411
+ parsed += " ";
101412
+ else if (c === 110)
101413
+ parsed += "\n";
101414
+ else if (c === 102)
101415
+ parsed += "\f";
101416
+ else if (c === 114)
101417
+ parsed += "\r";
101418
+ else if (c === 101)
101419
+ parsed += "\x1B";
101420
+ else if (c === 34)
101421
+ parsed += '"';
101422
+ else if (c === 92)
101423
+ parsed += "\\";
101424
+ else
101425
+ TomlError.x("unrecognised escape sequence", ctx);
101426
+ sliceStart = ctx.p + 1;
101427
+ state = 0;
101428
+ }
101429
+ } else if (c !== 32 && c !== 9) {
101430
+ if (state === 2)
101431
+ TomlError.x("invalid escape: only line-ending whitespace may be escaped", ctx, sliceStart);
101432
+ state = !isLiteral && c === 92 ? 1 : 0;
101433
+ sliceStart = ctx.p;
101434
+ }
101435
+ }
101436
+ TomlError.x("unfinished string", ctx, startPtr);
101437
+ }
101438
+
101439
+ // ../../node_modules/.pnpm/smol-toml@1.9.1/node_modules/smol-toml/dist/date.js
101440
+ var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i;
100859
101441
  var TomlDate = class _TomlDate extends Date {
100860
101442
  #hasDate = false;
100861
101443
  #hasTime = false;
100862
101444
  #offset = null;
100863
- constructor(date5) {
101445
+ constructor(date5, fasttype, unsafeDelim) {
100864
101446
  let hasDate = true;
100865
101447
  let hasTime = true;
100866
101448
  let offset = "Z";
101449
+ let c;
100867
101450
  if (typeof date5 === "string") {
100868
- let match2 = date5.match(DATE_TIME_RE);
100869
- if (match2) {
100870
- if (!match2[1]) {
100871
- hasDate = false;
100872
- date5 = `0000-01-01T${date5}`;
101451
+ if (fasttype)
101452
+ prep: {
101453
+ if (fasttype < 3) {
101454
+ if (+date5.slice(11, 13) > 23) {
101455
+ date5 = "";
101456
+ break prep;
101457
+ }
101458
+ if (fasttype === 2) {
101459
+ offset = null;
101460
+ date5 += "Z";
101461
+ } else if ((c = date5.charCodeAt(date5.length - 1)) !== 90 && c !== 122) {
101462
+ offset = date5.slice(date5.length - 6);
101463
+ }
101464
+ if (unsafeDelim)
101465
+ date5 = date5.slice(0, 10) + "T" + date5.slice(11);
101466
+ } else if (fasttype === 4) {
101467
+ date5 = +date5.slice(0, 2) > 23 ? "" : `0000-01-01T${date5}Z`;
101468
+ }
101469
+ hasDate = fasttype !== 4;
101470
+ hasTime = fasttype !== 3;
100873
101471
  }
100874
- hasTime = !!match2[2];
100875
- hasTime && date5[10] === " " && (date5 = date5.replace(" ", "T"));
100876
- if (match2[2] && +match2[2] > 23) {
100877
- date5 = "";
101472
+ else {
101473
+ let match2 = date5.match(DATE_TIME_RE);
101474
+ if (match2) {
101475
+ if (!match2[1]) {
101476
+ hasDate = false;
101477
+ date5 = `0000-01-01T${date5}`;
101478
+ }
101479
+ hasTime = !!match2[2];
101480
+ hasTime && date5[10] === " " && (date5 = date5.replace(" ", "T"));
101481
+ if (match2[2] && +match2[2] > 23) {
101482
+ date5 = "";
101483
+ } else {
101484
+ offset = match2[3] || null;
101485
+ if (!offset && hasTime)
101486
+ date5 += "Z";
101487
+ }
100878
101488
  } else {
100879
- offset = match2[3] || null;
100880
- date5 = date5.toUpperCase();
100881
- if (!offset && hasTime)
100882
- date5 += "Z";
101489
+ date5 = "";
100883
101490
  }
100884
- } else {
100885
- date5 = "";
100886
101491
  }
100887
101492
  }
100888
101493
  super(date5);
@@ -100915,7 +101520,7 @@ var TomlDate = class _TomlDate extends Date {
100915
101520
  return iso.slice(11, 23);
100916
101521
  if (this.#offset === null)
100917
101522
  return iso.slice(0, -1);
100918
- if (this.#offset === "Z")
101523
+ if (this.#offset === "Z" || this.#offset === "z")
100919
101524
  return iso;
100920
101525
  let offset = +this.#offset.slice(1, 3) * 60 + +this.#offset.slice(4, 6);
100921
101526
  offset = this.#offset[0] === "-" ? offset : -offset;
@@ -100946,362 +101551,360 @@ var TomlDate = class _TomlDate extends Date {
100946
101551
  }
100947
101552
  };
100948
101553
 
100949
- // ../../node_modules/.pnpm/smol-toml@1.6.1/node_modules/smol-toml/dist/primitive.js
100950
- var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
100951
- var FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
100952
- var LEADING_ZERO = /^[+-]?0[0-9_]/;
100953
- var ESCAPE_REGEX = /^[0-9a-f]{2,8}$/i;
100954
- var ESC_MAP = {
100955
- b: "\b",
100956
- t: " ",
100957
- n: "\n",
100958
- f: "\f",
100959
- r: "\r",
100960
- e: "\x1B",
100961
- '"': '"',
100962
- "\\": "\\"
100963
- };
100964
- function parseString(str, ptr = 0, endPtr = str.length) {
100965
- let isLiteral = str[ptr] === "'";
100966
- let isMultiline = str[ptr++] === str[ptr] && str[ptr] === str[ptr + 1];
100967
- if (isMultiline) {
100968
- endPtr -= 2;
100969
- if (str[ptr += 2] === "\r")
100970
- ptr++;
100971
- if (str[ptr] === "\n")
100972
- ptr++;
100973
- }
100974
- let tmp = 0;
100975
- let isEscape;
100976
- let parsed = "";
100977
- let sliceStart = ptr;
100978
- while (ptr < endPtr - 1) {
100979
- let c = str[ptr++];
100980
- if (c === "\n" || c === "\r" && str[ptr] === "\n") {
100981
- if (!isMultiline) {
100982
- throw new TomlError("newlines are not allowed in strings", {
100983
- toml: str,
100984
- ptr: ptr - 1
100985
- });
100986
- }
100987
- } else if (c < " " && c !== " " || c === "\x7F") {
100988
- throw new TomlError("control characters are not allowed in strings", {
100989
- toml: str,
100990
- ptr: ptr - 1
100991
- });
100992
- }
100993
- if (isEscape) {
100994
- isEscape = false;
100995
- if (c === "x" || c === "u" || c === "U") {
100996
- let code = str.slice(ptr, ptr += c === "x" ? 2 : c === "u" ? 4 : 8);
100997
- if (!ESCAPE_REGEX.test(code)) {
100998
- throw new TomlError("invalid unicode escape", {
100999
- toml: str,
101000
- ptr: tmp
101001
- });
101002
- }
101003
- try {
101004
- parsed += String.fromCodePoint(parseInt(code, 16));
101005
- } catch {
101006
- throw new TomlError("invalid unicode escape", {
101007
- toml: str,
101008
- ptr: tmp
101009
- });
101010
- }
101011
- } else if (isMultiline && (c === "\n" || c === " " || c === " " || c === "\r")) {
101012
- ptr = skipVoid(str, ptr - 1, true);
101013
- if (str[ptr] !== "\n" && str[ptr] !== "\r") {
101014
- throw new TomlError("invalid escape: only line-ending whitespace may be escaped", {
101015
- toml: str,
101016
- ptr: tmp
101017
- });
101018
- }
101019
- ptr = skipVoid(str, ptr);
101020
- } else if (c in ESC_MAP) {
101021
- parsed += ESC_MAP[c];
101022
- } else {
101023
- throw new TomlError("unrecognized escape sequence", {
101024
- toml: str,
101025
- ptr: tmp
101026
- });
101027
- }
101028
- sliceStart = ptr;
101029
- } else if (!isLiteral && c === "\\") {
101030
- tmp = ptr - 1;
101031
- isEscape = true;
101032
- parsed += str.slice(sliceStart, tmp);
101033
- }
101554
+ // ../../node_modules/.pnpm/smol-toml@1.9.1/node_modules/smol-toml/dist/extract.js
101555
+ function isDigit(char, base = 10) {
101556
+ return base === 16 ? char > 47 && char < 58 || char > 64 && char < 71 || char > 96 && char < 103 : char > 47 && char < 48 + base;
101557
+ }
101558
+ function isEndOfValue(char, delim) {
101559
+ return char === 32 || char === 9 || char === 10 || char === 13 || // Structure end or next value delimiter
101560
+ delim && (char === delim || char === 44) || // Comment
101561
+ char === 35;
101562
+ }
101563
+ function extractValue(ctx, end) {
101564
+ let errPtr = ctx.p;
101565
+ let c = ctx.s.charCodeAt(ctx.p);
101566
+ if (c === 91 || c === 123) {
101567
+ ctx.d-- || TomlError.x("document contains excessively nested structures. aborting.", ctx);
101568
+ let value = c === 91 ? parseArray(ctx) : parseInlineTable(ctx);
101569
+ ctx.d++;
101570
+ return value;
101034
101571
  }
101035
- return parsed + str.slice(sliceStart, endPtr - 1);
101036
- }
101037
- function parseValue(value, toml, ptr, integersAsBigInt) {
101038
- if (value === "true")
101039
- return true;
101040
- if (value === "false")
101041
- return false;
101042
- if (value === "-inf")
101043
- return -Infinity;
101044
- if (value === "inf" || value === "+inf")
101045
- return Infinity;
101046
- if (value === "nan" || value === "+nan" || value === "-nan")
101047
- return NaN;
101048
- if (value === "-0")
101049
- return integersAsBigInt ? 0n : 0;
101050
- let isInt = INT_REGEX.test(value);
101051
- if (isInt || FLOAT_REGEX.test(value)) {
101052
- if (LEADING_ZERO.test(value)) {
101053
- throw new TomlError("leading zeroes are not allowed", {
101054
- toml,
101055
- ptr
101056
- });
101572
+ if (c === 34 || c === 39) {
101573
+ return parseString(ctx);
101574
+ }
101575
+ if (c === 116) {
101576
+ if (ctx.s.charCodeAt(++ctx.p) !== 114 || ctx.s.charCodeAt(++ctx.p) !== 117 || ctx.s.charCodeAt(++ctx.p) !== 101)
101577
+ TomlError.x("invalid value", ctx, errPtr);
101578
+ return ctx.p++, true;
101579
+ }
101580
+ if (c === 102) {
101581
+ if (ctx.s.charCodeAt(++ctx.p) !== 97 || ctx.s.charCodeAt(++ctx.p) !== 108 || ctx.s.charCodeAt(++ctx.p) !== 115 || ctx.s.charCodeAt(++ctx.p) !== 101)
101582
+ TomlError.x("invalid value", ctx, errPtr);
101583
+ return ctx.p++, false;
101584
+ }
101585
+ if (c === 43 || c === 45) {
101586
+ return parseNumber(ctx, ctx.p, ctx.s.charCodeAt(++ctx.p), 44 - c, end);
101587
+ }
101588
+ if (ctx.s.charCodeAt(ctx.p + 4) === 45 && ctx.s.charCodeAt(ctx.p + 7) === 45) {
101589
+ return parseDate(ctx, c, end);
101590
+ }
101591
+ if (ctx.s.charCodeAt(ctx.p + 2) === 58) {
101592
+ return parseTime(ctx, c, end);
101593
+ }
101594
+ return parseNumber(ctx, ctx.p, c, 0, end);
101595
+ }
101596
+ function parseNumber(ctx, startPtr, startChr, sign, endChr) {
101597
+ let c = startChr;
101598
+ let state = 0;
101599
+ let hasUnderscores = false;
101600
+ if (c === 105) {
101601
+ if (ctx.s.charCodeAt(++ctx.p) !== 110 || ctx.s.charCodeAt(++ctx.p) !== 102)
101602
+ TomlError.x("invalid value", ctx, startPtr);
101603
+ return ctx.p++, (sign || 1) / 0;
101604
+ }
101605
+ if (c === 110) {
101606
+ if (ctx.s.charCodeAt(++ctx.p) !== 97 || ctx.s.charCodeAt(++ctx.p) !== 110)
101607
+ TomlError.x("invalid value", ctx, startPtr);
101608
+ return ctx.p++, NaN;
101609
+ }
101610
+ if (c === 48) {
101611
+ if (++ctx.p >= ctx.s.length || isEndOfValue(c = ctx.s.charCodeAt(ctx.p), endChr))
101612
+ return ctx.bi === true ? 0n : 0;
101613
+ if (!sign) {
101614
+ if (c === 120)
101615
+ return parseIntegerBaseN(ctx, startPtr, 16, endChr);
101616
+ else if (c === 98)
101617
+ return parseIntegerBaseN(ctx, startPtr, 2, endChr);
101618
+ else if (c === 111)
101619
+ return parseIntegerBaseN(ctx, startPtr, 8, endChr);
101620
+ }
101621
+ if (c === 46)
101622
+ state = 2;
101623
+ else if (c === 101 || c === 69)
101624
+ state = 4;
101625
+ else
101626
+ TomlError.x("illegal leading zero", ctx, startPtr);
101627
+ } else if (!isDigit(c))
101628
+ TomlError.x("invalid value", ctx, startPtr);
101629
+ while (++ctx.p < ctx.s.length && (c = ctx.s.charCodeAt(ctx.p), !isEndOfValue(c, endChr))) {
101630
+ if (!state)
101631
+ state = 1;
101632
+ if (c === 95) {
101633
+ if (!(state & 1))
101634
+ TomlError.x("illegal underscore", ctx);
101635
+ state += 11;
101636
+ hasUnderscores = true;
101637
+ } else if (state === 1 && c === 46)
101638
+ state = 2;
101639
+ else if ((state === 1 || state === 3) && (c === 101 || c === 69))
101640
+ state = 4;
101641
+ else if (state === 4 && (c === 43 || c === 45)) {
101642
+ state = 6;
101643
+ } else if (!isDigit(c))
101644
+ TomlError.x(`illegal character in numeric literal`, ctx);
101645
+ else if (state > 9)
101646
+ state -= 11;
101647
+ else if (!(state & 1))
101648
+ state++;
101649
+ }
101650
+ if (!state) {
101651
+ let val = (startChr - 48) * (sign || 1);
101652
+ return ctx.bi === true ? BigInt(val) : val;
101653
+ }
101654
+ if (!(state & 1))
101655
+ TomlError.x("unfinished numeric value", ctx, startPtr);
101656
+ let str = ctx.s.slice(startPtr, ctx.p);
101657
+ if (hasUnderscores)
101658
+ str = str.replaceAll("_", "");
101659
+ return state > 1 ? parseFloat(str) : parseInteger(ctx, str, 10, startPtr);
101660
+ }
101661
+ function parseIntegerBaseN(ctx, startPtr, base, endChr) {
101662
+ let c, underscore = 1;
101663
+ while (++ctx.p < ctx.s.length && (c = ctx.s.charCodeAt(ctx.p), !isEndOfValue(c, endChr))) {
101664
+ if (c === 95) {
101665
+ if (underscore & 1)
101666
+ TomlError.x("illegal underscore", ctx);
101667
+ underscore = 3;
101668
+ } else if (!isDigit(c, base))
101669
+ TomlError.x(`illegal character in numeric literal`, ctx);
101670
+ else if (underscore & 1)
101671
+ underscore--;
101672
+ }
101673
+ if (underscore & 1)
101674
+ TomlError.x("unfinished numeric value", ctx);
101675
+ let str = ctx.s.slice(startPtr + 2, ctx.p);
101676
+ if (underscore)
101677
+ str = str.replaceAll("_", "");
101678
+ return parseInteger(ctx, str, base, startPtr);
101679
+ }
101680
+ function parseInteger(ctx, str, base, startPtr) {
101681
+ if (ctx.bi !== true)
101682
+ int: {
101683
+ let val = parseInt(str, base);
101684
+ if (!Number.isSafeInteger(val)) {
101685
+ if (ctx.bi)
101686
+ break int;
101687
+ TomlError.x("integer value cannot be represented losslessly", ctx, startPtr);
101688
+ }
101689
+ return val;
101690
+ }
101691
+ return base === 10 ? BigInt(str) : BigInt((base === 2 ? "0b" : base === 8 ? "0o" : "0x") + str);
101692
+ }
101693
+ function parseDate(ctx, c, endChr) {
101694
+ let startPtr = ctx.p++, unsafeSeparator;
101695
+ if (!isDigit(c) || !isDigit(ctx.s.charCodeAt(ctx.p++)) || !isDigit(ctx.s.charCodeAt(ctx.p++)) || !isDigit(ctx.s.charCodeAt(ctx.p++))) {
101696
+ return parseNumber(ctx, ctx.p = startPtr, c, 0, endChr);
101697
+ }
101698
+ ctx.p += 5;
101699
+ if (!isDigit(ctx.s.charCodeAt(ctx.p++)))
101700
+ TomlError.x("invalid date-time: date part is malformed", ctx, startPtr);
101701
+ if (ctx.p >= ctx.s.length || ((c = ctx.s.charCodeAt(ctx.p)) !== 32 || (unsafeSeparator = true, !isDigit(ctx.s.charCodeAt(ctx.p + 1)))) && c !== 84 && c !== 116) {
101702
+ let t2 = ctx.s.slice(startPtr, ctx.p);
101703
+ return readDate(ctx, t2, 3, false, startPtr);
101704
+ }
101705
+ if (ctx.s.charCodeAt(ctx.p += 3) !== 58)
101706
+ TomlError.x("invalid date-time: time part is malformed", ctx, startPtr);
101707
+ if (ctx.s.charCodeAt(ctx.p += 3) === 58)
101708
+ ctx.p += 3;
101709
+ if (ctx.s.charCodeAt(ctx.p) === 46)
101710
+ while (isDigit(ctx.s.charCodeAt(++ctx.p)))
101711
+ ;
101712
+ if (c = ctx.s.charCodeAt(ctx.p)) {
101713
+ if (c === 90 || c === 122) {
101714
+ let t2 = ctx.s.slice(startPtr, ++ctx.p);
101715
+ return readDate(ctx, t2, 1, unsafeSeparator, startPtr, "[+00:00]");
101057
101716
  }
101058
- value = value.replace(/_/g, "");
101059
- let numeric = +value;
101060
- if (isNaN(numeric)) {
101061
- throw new TomlError("invalid number", {
101062
- toml,
101063
- ptr
101064
- });
101717
+ if (c === 43 || c === 45) {
101718
+ let t2 = ctx.s.slice(startPtr, ctx.p += 6);
101719
+ return readDate(ctx, t2, 1, unsafeSeparator, startPtr, !ctx.ld && "[" + ctx.s.slice(ctx.p - 6, ctx.p) + "]");
101065
101720
  }
101066
- if (isInt) {
101067
- if ((isInt = !Number.isSafeInteger(numeric)) && !integersAsBigInt) {
101068
- throw new TomlError("integer value cannot be represented losslessly", {
101069
- toml,
101070
- ptr
101071
- });
101072
- }
101073
- if (isInt || integersAsBigInt === true)
101074
- numeric = BigInt(value);
101075
- }
101076
- return numeric;
101077
- }
101078
- const date5 = new TomlDate(value);
101079
- if (!date5.isValid()) {
101080
- throw new TomlError("invalid value", {
101081
- toml,
101082
- ptr
101083
- });
101084
101721
  }
101085
- return date5;
101722
+ let t = ctx.s.slice(startPtr, ctx.p);
101723
+ return readDate(ctx, t, 2, unsafeSeparator, startPtr);
101086
101724
  }
101087
-
101088
- // ../../node_modules/.pnpm/smol-toml@1.6.1/node_modules/smol-toml/dist/extract.js
101089
- function sliceAndTrimEndOf(str, startPtr, endPtr) {
101090
- let value = str.slice(startPtr, endPtr);
101091
- let commentIdx = value.indexOf("#");
101092
- if (commentIdx > -1) {
101093
- skipComment(str, commentIdx);
101094
- value = value.slice(0, commentIdx);
101725
+ function parseTime(ctx, c, endChr) {
101726
+ let start2 = ctx.p;
101727
+ if (!isDigit(c) || !isDigit(ctx.s.charCodeAt(++ctx.p))) {
101728
+ return parseNumber(ctx, --ctx.p, c, 0, endChr);
101095
101729
  }
101096
- return [value.trimEnd(), commentIdx];
101097
- }
101098
- function extractValue(str, ptr, end, depth, integersAsBigInt) {
101099
- if (depth === 0) {
101100
- throw new TomlError("document contains excessively nested structures. aborting.", {
101101
- toml: str,
101102
- ptr
101103
- });
101730
+ if (ctx.s.charCodeAt(ctx.p += 4) === 58)
101731
+ ctx.p += 3;
101732
+ if (ctx.s.charCodeAt(ctx.p) === 46)
101733
+ while (isDigit(ctx.s.charCodeAt(++ctx.p)))
101734
+ ;
101735
+ let t = ctx.s.slice(start2, ctx.p);
101736
+ return readDate(ctx, t, 4, false, start2);
101737
+ }
101738
+ function readDate(ctx, str, type, unsafeDelim, errPtr, temporalSuffix) {
101739
+ if (ctx.ld) {
101740
+ let date5 = new TomlDate(str, type, unsafeDelim);
101741
+ if (!date5.isValid())
101742
+ TomlError.x("invalid date", ctx, errPtr);
101743
+ return date5;
101104
101744
  }
101105
- let c = str[ptr];
101106
- if (c === "[" || c === "{") {
101107
- let [value, endPtr2] = c === "[" ? parseArray(str, ptr, depth, integersAsBigInt) : parseInlineTable(str, ptr, depth, integersAsBigInt);
101108
- if (end) {
101109
- endPtr2 = skipVoid(str, endPtr2);
101110
- if (str[endPtr2] === ",")
101111
- endPtr2++;
101112
- else if (str[endPtr2] !== end) {
101113
- throw new TomlError("expected comma or end of structure", {
101114
- toml: str,
101115
- ptr: endPtr2
101116
- });
101117
- }
101745
+ try {
101746
+ if (temporalSuffix)
101747
+ str += temporalSuffix;
101748
+ switch (type) {
101749
+ case 1:
101750
+ return Temporal.ZonedDateTime.from(str);
101751
+ case 2:
101752
+ return Temporal.PlainDateTime.from(str);
101753
+ case 3:
101754
+ return Temporal.PlainDate.from(str);
101755
+ case 4:
101756
+ return Temporal.PlainTime.from(str);
101118
101757
  }
101119
- return [value, endPtr2];
101758
+ } catch (e) {
101759
+ TomlError.x(e instanceof Error ? e.message : "" + e, ctx, errPtr);
101120
101760
  }
101121
- let endPtr;
101122
- if (c === '"' || c === "'") {
101123
- endPtr = getStringEnd(str, ptr);
101124
- let parsed = parseString(str, ptr, endPtr);
101125
- if (end) {
101126
- endPtr = skipVoid(str, endPtr);
101127
- if (str[endPtr] && str[endPtr] !== "," && str[endPtr] !== end && str[endPtr] !== "\n" && str[endPtr] !== "\r") {
101128
- throw new TomlError("unexpected character encountered", {
101129
- toml: str,
101130
- ptr: endPtr
101131
- });
101132
- }
101133
- endPtr += +(str[endPtr] === ",");
101761
+ }
101762
+
101763
+ // ../../node_modules/.pnpm/smol-toml@1.9.1/node_modules/smol-toml/dist/util.js
101764
+ function skipComment(ctx) {
101765
+ for (; ctx.p < ctx.s.length; ctx.p++) {
101766
+ let c = ctx.s.charCodeAt(ctx.p);
101767
+ if (c === 10)
101768
+ break;
101769
+ if (c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10) {
101770
+ ctx.p++;
101771
+ break;
101772
+ }
101773
+ if (c < 32 && c !== 9 || c === 127) {
101774
+ TomlError.x("control characters are not allowed in comments", ctx);
101134
101775
  }
101135
- return [parsed, endPtr];
101136
- }
101137
- endPtr = skipUntil(str, ptr, ",", end);
101138
- let slice = sliceAndTrimEndOf(str, ptr, endPtr - +(str[endPtr - 1] === ","));
101139
- if (!slice[0]) {
101140
- throw new TomlError("incomplete key-value declaration: no value specified", {
101141
- toml: str,
101142
- ptr
101143
- });
101144
101776
  }
101145
- if (end && slice[1] > -1) {
101146
- endPtr = skipVoid(str, ptr + slice[1]);
101147
- endPtr += +(str[endPtr] === ",");
101777
+ }
101778
+ function skipVoid(ctx, banNewLines, banComments) {
101779
+ let c;
101780
+ while (ctx.p < ctx.s.length) {
101781
+ while (ctx.p < ctx.s.length && ((c = ctx.s.charCodeAt(ctx.p)) === 32 || c === 9 || !banNewLines && (c === 10 || c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10)))
101782
+ ctx.p++;
101783
+ if (banComments || c !== 35)
101784
+ break;
101785
+ skipComment(ctx);
101148
101786
  }
101149
- return [
101150
- parseValue(slice[0], str, ptr, integersAsBigInt),
101151
- endPtr
101152
- ];
101153
101787
  }
101154
101788
 
101155
- // ../../node_modules/.pnpm/smol-toml@1.6.1/node_modules/smol-toml/dist/struct.js
101156
- var KEY_PART_RE = /^[a-zA-Z0-9-_]+[ \t]*$/;
101157
- function parseKey(str, ptr, end = "=") {
101158
- let dot = ptr - 1;
101789
+ // ../../node_modules/.pnpm/smol-toml@1.9.1/node_modules/smol-toml/dist/struct.js
101790
+ function parseKey(ctx, end = 61) {
101791
+ let startPtr;
101792
+ let state = 0;
101159
101793
  let parsed = [];
101160
- let endPtr = str.indexOf(end, ptr);
101161
- if (endPtr < 0) {
101162
- throw new TomlError("incomplete key-value: cannot find end of key", {
101163
- toml: str,
101164
- ptr
101165
- });
101166
- }
101794
+ let sliceStart;
101795
+ let c = ctx.s.charCodeAt(startPtr = ctx.p);
101167
101796
  do {
101168
- let c = str[ptr = ++dot];
101169
- if (c !== " " && c !== " ") {
101170
- if (c === '"' || c === "'") {
101171
- if (c === str[ptr + 1] && c === str[ptr + 2]) {
101172
- throw new TomlError("multiline strings are not allowed in keys", {
101173
- toml: str,
101174
- ptr
101175
- });
101176
- }
101177
- let eos = getStringEnd(str, ptr);
101178
- if (eos < 0) {
101179
- throw new TomlError("unfinished string encountered", {
101180
- toml: str,
101181
- ptr
101182
- });
101183
- }
101184
- dot = str.indexOf(".", eos);
101185
- let strEnd = str.slice(eos, dot < 0 || dot > endPtr ? endPtr : dot);
101186
- let newLine = indexOfNewline(strEnd);
101187
- if (newLine > -1) {
101188
- throw new TomlError("newlines are not allowed in keys", {
101189
- toml: str,
101190
- ptr: ptr + dot + newLine
101191
- });
101192
- }
101193
- if (strEnd.trimStart()) {
101194
- throw new TomlError("found extra tokens after the string part", {
101195
- toml: str,
101196
- ptr: eos
101197
- });
101198
- }
101199
- if (endPtr < eos) {
101200
- endPtr = str.indexOf(end, eos);
101201
- if (endPtr < 0) {
101202
- throw new TomlError("incomplete key-value: cannot find end of key", {
101203
- toml: str,
101204
- ptr
101205
- });
101206
- }
101207
- }
101208
- parsed.push(parseString(str, ptr, eos));
101209
- } else {
101210
- dot = str.indexOf(".", ptr);
101211
- let part = str.slice(ptr, dot < 0 || dot > endPtr ? endPtr : dot);
101212
- if (!KEY_PART_RE.test(part)) {
101213
- throw new TomlError("only letter, numbers, dashes and underscores are allowed in keys", {
101214
- toml: str,
101215
- ptr
101216
- });
101217
- }
101218
- parsed.push(part.trimEnd());
101219
- }
101220
- }
101221
- } while (dot + 1 && dot < endPtr);
101222
- return [parsed, skipVoid(str, endPtr + 1, true, true)];
101223
- }
101224
- function parseInlineTable(str, ptr, depth, integersAsBigInt) {
101225
- let res = {};
101797
+ if (c === end) {
101798
+ if (!state)
101799
+ TomlError.x("unexpected end of key", ctx);
101800
+ if (state === 1)
101801
+ parsed.push(ctx.s.slice(sliceStart, ctx.p));
101802
+ return ctx.p++, parsed;
101803
+ } else if (c === 46) {
101804
+ if (!state)
101805
+ TomlError.x("illegal empty bare key", ctx);
101806
+ if (state === 1)
101807
+ parsed.push(ctx.s.slice(sliceStart, ctx.p));
101808
+ state = 0;
101809
+ } else if (!state && (c === 34 || c === 39)) {
101810
+ if (c === ctx.s.charCodeAt(ctx.p + 1) && c === ctx.s.charCodeAt(ctx.p + 2))
101811
+ TomlError.x("illegal quoted key: multiline strings are not allowed", ctx);
101812
+ parsed.push(parseString(ctx));
101813
+ state = 2;
101814
+ ctx.p--;
101815
+ } else if (c === 32 || c === 9) {
101816
+ if (state === 1) {
101817
+ parsed.push(ctx.s.slice(sliceStart, ctx.p));
101818
+ state = 2;
101819
+ }
101820
+ } else if (state === 2 || c < 48 && c !== 45 || c > 57 && c < 65 || c > 90 && c < 97 && c !== 95 || c > 122) {
101821
+ TomlError.x("illegal character in key", ctx);
101822
+ } else if (!state) {
101823
+ state = 1;
101824
+ sliceStart = ctx.p;
101825
+ }
101826
+ } while (c = ctx.s.charCodeAt(++ctx.p));
101827
+ TomlError.x("incomplete key-value: cannot find end of key", ctx, startPtr);
101828
+ }
101829
+ function parseInlineTable(ctx) {
101830
+ let startPtr = ctx.p++;
101831
+ let res = /* @__PURE__ */ Object.create(null);
101226
101832
  let seen = /* @__PURE__ */ new Set();
101227
101833
  let c;
101228
- ptr++;
101229
- while ((c = str[ptr++]) !== "}" && c) {
101230
- if (c === ",") {
101231
- throw new TomlError("expected value, found comma", {
101232
- toml: str,
101233
- ptr: ptr - 1
101234
- });
101235
- } else if (c === "#")
101236
- ptr = skipComment(str, ptr);
101237
- else if (c !== " " && c !== " " && c !== "\n" && c !== "\r") {
101238
- let k;
101239
- let t = res;
101240
- let hasOwn = false;
101241
- let [key, keyEndPtr] = parseKey(str, ptr - 1);
101242
- for (let i2 = 0; i2 < key.length; i2++) {
101243
- if (i2)
101244
- t = hasOwn ? t[k] : t[k] = {};
101245
- k = key[i2];
101246
- if ((hasOwn = Object.hasOwn(t, k)) && (typeof t[k] !== "object" || seen.has(t[k]))) {
101247
- throw new TomlError("trying to redefine an already defined value", {
101248
- toml: str,
101249
- ptr
101250
- });
101251
- }
101252
- if (!hasOwn && k === "__proto__") {
101253
- Object.defineProperty(t, k, { enumerable: true, configurable: true, writable: true });
101254
- }
101834
+ while (ctx.p < ctx.s.length) {
101835
+ skipVoid(ctx);
101836
+ if ((c = ctx.s.charCodeAt(ctx.p)) === 125) {
101837
+ ctx.p++;
101838
+ return res;
101839
+ }
101840
+ let k;
101841
+ let t = res;
101842
+ let hasOwn = false;
101843
+ let errPtr = ctx.p;
101844
+ let key = parseKey(ctx);
101845
+ for (let i2 = 0; i2 < key.length; i2++) {
101846
+ if (i2)
101847
+ t = hasOwn ? t[k] : t[k] = /* @__PURE__ */ Object.create(null);
101848
+ k = key[i2];
101849
+ if ((hasOwn = Object.hasOwn(t, k)) && (typeof t[k] !== "object" || seen.has(t[k]))) {
101850
+ TomlError.x("trying to redefine an already defined value", ctx, errPtr);
101851
+ }
101852
+ let unsafe = k === "__proto__";
101853
+ if (ctx.uk && (unsafe || k === "constructor")) {
101854
+ t = ctx.uk !== 1 && TomlError.x("document contains an unsafe property", ctx, errPtr);
101855
+ break;
101255
101856
  }
101256
- if (hasOwn) {
101257
- throw new TomlError("trying to redefine an already defined value", {
101258
- toml: str,
101259
- ptr
101260
- });
101857
+ if (!hasOwn && unsafe) {
101858
+ Object.defineProperty(t, k, { enumerable: true, configurable: true, writable: true });
101261
101859
  }
101262
- let [value, valueEndPtr] = extractValue(str, keyEndPtr, "}", depth - 1, integersAsBigInt);
101860
+ }
101861
+ if (hasOwn) {
101862
+ TomlError.x("trying to redefine an already defined value", ctx, errPtr);
101863
+ }
101864
+ skipVoid(ctx, true, true);
101865
+ let value = extractValue(
101866
+ ctx,
101867
+ 125
101868
+ /* } */
101869
+ );
101870
+ if (t && typeof (t[k] = value) === "object")
101263
101871
  seen.add(value);
101264
- t[k] = value;
101265
- ptr = valueEndPtr;
101872
+ skipVoid(ctx);
101873
+ if ((c = ctx.s.charCodeAt(ctx.p++)) === 125) {
101874
+ return res;
101266
101875
  }
101876
+ if (c !== 44)
101877
+ TomlError.x("expected comma or end of structure", ctx, ctx.p - 1);
101267
101878
  }
101268
- if (!c) {
101269
- throw new TomlError("unfinished table encountered", {
101270
- toml: str,
101271
- ptr
101272
- });
101273
- }
101274
- return [res, ptr];
101879
+ TomlError.x("unfinished table", ctx, startPtr);
101275
101880
  }
101276
- function parseArray(str, ptr, depth, integersAsBigInt) {
101881
+ function parseArray(ctx) {
101882
+ let startPtr = ctx.p++;
101277
101883
  let res = [];
101278
101884
  let c;
101279
- ptr++;
101280
- while ((c = str[ptr++]) !== "]" && c) {
101281
- if (c === ",") {
101282
- throw new TomlError("expected value, found comma", {
101283
- toml: str,
101284
- ptr: ptr - 1
101285
- });
101286
- } else if (c === "#")
101287
- ptr = skipComment(str, ptr);
101288
- else if (c !== " " && c !== " " && c !== "\n" && c !== "\r") {
101289
- let e = extractValue(str, ptr - 1, "]", depth - 1, integersAsBigInt);
101290
- res.push(e[0]);
101291
- ptr = e[1];
101292
- }
101293
- }
101294
- if (!c) {
101295
- throw new TomlError("unfinished array encountered", {
101296
- toml: str,
101297
- ptr
101298
- });
101885
+ while (ctx.p < ctx.s.length) {
101886
+ skipVoid(ctx);
101887
+ if ((c = ctx.s.charCodeAt(ctx.p)) === 93) {
101888
+ ctx.p++;
101889
+ return res;
101890
+ }
101891
+ res.push(extractValue(
101892
+ ctx,
101893
+ 93
101894
+ /* ] */
101895
+ ));
101896
+ skipVoid(ctx);
101897
+ if ((c = ctx.s.charCodeAt(ctx.p++)) === 93) {
101898
+ return res;
101899
+ }
101900
+ if (c !== 44)
101901
+ TomlError.x("expected comma or end of structure", ctx, ctx.p - 1);
101299
101902
  }
101300
- return [res, ptr];
101903
+ TomlError.x("unfinished array", ctx, startPtr);
101301
101904
  }
101302
101905
 
101303
- // ../../node_modules/.pnpm/smol-toml@1.6.1/node_modules/smol-toml/dist/parse.js
101304
- function peekTable(key, table, meta3, type) {
101906
+ // ../../node_modules/.pnpm/smol-toml@1.9.1/node_modules/smol-toml/dist/parse.js
101907
+ function peekTable(ctx, key, table, meta3, type) {
101305
101908
  let t = table;
101306
101909
  let m = meta3;
101307
101910
  let k;
@@ -101309,7 +101912,7 @@ function peekTable(key, table, meta3, type) {
101309
101912
  let state;
101310
101913
  for (let i2 = 0; i2 < key.length; i2++) {
101311
101914
  if (i2) {
101312
- t = hasOwn ? t[k] : t[k] = {};
101915
+ t = hasOwn ? t[k] : t[k] = /* @__PURE__ */ Object.create(null);
101313
101916
  m = (state = m[k]).c;
101314
101917
  if (type === 0 && (state.t === 1 || state.t === 2)) {
101315
101918
  return null;
@@ -101325,7 +101928,10 @@ function peekTable(key, table, meta3, type) {
101325
101928
  return null;
101326
101929
  }
101327
101930
  if (!hasOwn) {
101328
- if (k === "__proto__") {
101931
+ let unsafe = k === "__proto__";
101932
+ if (ctx.uk && (unsafe || k === "constructor"))
101933
+ return false;
101934
+ if (unsafe) {
101329
101935
  Object.defineProperty(t, k, { enumerable: true, configurable: true, writable: true });
101330
101936
  Object.defineProperty(m, k, { enumerable: true, configurable: true, writable: true });
101331
101937
  }
@@ -101333,7 +101939,7 @@ function peekTable(key, table, meta3, type) {
101333
101939
  t: i2 < key.length - 1 && type === 2 ? 3 : type,
101334
101940
  d: false,
101335
101941
  i: 0,
101336
- c: {}
101942
+ c: /* @__PURE__ */ Object.create(null)
101337
101943
  };
101338
101944
  }
101339
101945
  }
@@ -101346,85 +101952,103 @@ function peekTable(key, table, meta3, type) {
101346
101952
  state.d = true;
101347
101953
  t[k] = [];
101348
101954
  }
101349
- t[k].push(t = {});
101350
- state.c[state.i++] = state = { t: 1, d: false, i: 0, c: {} };
101955
+ t[k].push(t = /* @__PURE__ */ Object.create(null));
101956
+ state.c[state.i++] = state = { t: 1, d: false, i: 0, c: /* @__PURE__ */ Object.create(null) };
101351
101957
  }
101352
101958
  if (state.d) {
101353
101959
  return null;
101354
101960
  }
101355
101961
  state.d = true;
101356
101962
  if (type === 1) {
101357
- t = hasOwn ? t[k] : t[k] = {};
101963
+ t = hasOwn ? t[k] : t[k] = /* @__PURE__ */ Object.create(null);
101358
101964
  } else if (type === 0 && hasOwn) {
101359
101965
  return null;
101360
101966
  }
101361
101967
  return [k, t, state.c];
101362
101968
  }
101363
- function parse4(toml, { maxDepth = 1e3, integersAsBigInt } = {}) {
101364
- let res = {};
101365
- let meta3 = {};
101969
+ function validateTablePeek(ctx, peek, ptr) {
101970
+ if (peek === null || ctx.uk === 2)
101971
+ TomlError.x(peek === null ? "trying to redefine an already defined table or value" : "document contains an unsafe property", ctx, ptr);
101972
+ }
101973
+ function parse4(toml, options = {}) {
101974
+ let ctx = {
101975
+ s: toml,
101976
+ p: 0,
101977
+ d: options.maxDepth ?? 1e3,
101978
+ bi: options.integersAsBigInt ?? false,
101979
+ ld: options.useLegacyDate ?? true,
101980
+ uk: options.unsafeKeyBehaviour === "throw" ? 2 : options.unsafeKeyBehaviour === "drop" ? 1 : 0
101981
+ };
101982
+ let res = /* @__PURE__ */ Object.create(null);
101983
+ let meta3 = /* @__PURE__ */ Object.create(null);
101984
+ let tmp;
101985
+ let skipping = false;
101366
101986
  let tbl = res;
101367
101987
  let m = meta3;
101368
- for (let ptr = skipVoid(toml, 0); ptr < toml.length; ) {
101369
- if (toml[ptr] === "[") {
101370
- let isTableArray = toml[++ptr] === "[";
101371
- let k = parseKey(toml, ptr += +isTableArray, "]");
101988
+ if (toml.charCodeAt(0) === 65279)
101989
+ ctx.p++;
101990
+ skipVoid(ctx);
101991
+ while (ctx.p < toml.length) {
101992
+ if (toml.charCodeAt(ctx.p) === 91) {
101993
+ let isTableArray = toml.charCodeAt(++ctx.p) === 91;
101994
+ tmp = ctx.p += +isTableArray;
101995
+ skipping = false;
101996
+ let k = parseKey(
101997
+ ctx,
101998
+ 93
101999
+ /* ] */
102000
+ );
101372
102001
  if (isTableArray) {
101373
- if (toml[k[1] - 1] !== "]") {
101374
- throw new TomlError("expected end of table declaration", {
101375
- toml,
101376
- ptr: k[1] - 1
101377
- });
102002
+ if (toml.charCodeAt(ctx.p) !== 93) {
102003
+ TomlError.x("expected end of table array declaration", ctx);
101378
102004
  }
101379
- k[1]++;
102005
+ ctx.p++;
101380
102006
  }
101381
102007
  let p = peekTable(
101382
- k[0],
102008
+ ctx,
102009
+ k,
101383
102010
  res,
101384
102011
  meta3,
101385
102012
  isTableArray ? 2 : 1
101386
102013
  /* Type.EXPLICIT */
101387
102014
  );
101388
102015
  if (!p) {
101389
- throw new TomlError("trying to redefine an already defined table or value", {
101390
- toml,
101391
- ptr
101392
- });
102016
+ validateTablePeek(ctx, p, tmp);
102017
+ skipping = true;
102018
+ } else {
102019
+ m = p[2];
102020
+ tbl = p[1];
101393
102021
  }
101394
- m = p[2];
101395
- tbl = p[1];
101396
- ptr = k[1];
101397
102022
  } else {
101398
- let k = parseKey(toml, ptr);
102023
+ tmp = ctx.p;
102024
+ let k = parseKey(ctx);
101399
102025
  let p = peekTable(
101400
- k[0],
102026
+ ctx,
102027
+ k,
101401
102028
  tbl,
101402
102029
  m,
101403
102030
  0
101404
102031
  /* Type.DOTTED */
101405
102032
  );
101406
- if (!p) {
101407
- throw new TomlError("trying to redefine an already defined table or value", {
101408
- toml,
101409
- ptr
101410
- });
101411
- }
101412
- let v = extractValue(toml, k[1], void 0, maxDepth, integersAsBigInt);
101413
- p[1][p[0]] = v[0];
101414
- ptr = v[1];
102033
+ if (!p && !skipping)
102034
+ validateTablePeek(ctx, p, tmp);
102035
+ skipVoid(ctx, true, true);
102036
+ let v = extractValue(ctx, void 0);
102037
+ if (p && !skipping)
102038
+ p[1][p[0]] = v;
101415
102039
  }
101416
- ptr = skipVoid(toml, ptr, true);
101417
- if (toml[ptr] && toml[ptr] !== "\n" && toml[ptr] !== "\r") {
101418
- throw new TomlError("each key-value declaration must be followed by an end-of-line", {
101419
- toml,
101420
- ptr
101421
- });
102040
+ skipVoid(ctx, true);
102041
+ if (ctx.p < toml.length && (tmp = toml.charCodeAt(ctx.p)) !== 10 && (tmp !== 13 || toml.charCodeAt(ctx.p + 1) !== 10)) {
102042
+ TomlError.x("each key-value declaration must be followed by an end-of-line", ctx);
101422
102043
  }
101423
- ptr = skipVoid(toml, ptr);
102044
+ skipVoid(ctx);
101424
102045
  }
101425
102046
  return res;
101426
102047
  }
101427
102048
 
102049
+ // ../../node_modules/.pnpm/smol-toml@1.9.1/node_modules/smol-toml/dist/stringify.js
102050
+ var HAS_WELLFORMED = !!"".isWellFormed;
102051
+
101428
102052
  // src/codex-context-plugin.ts
101429
102053
  var NAME = "errata-context";
101430
102054
  var PREFIX2 = `./.errata/plugins/${NAME}/`;
@@ -105202,10 +105826,10 @@ chokidar/esm/index.js:
105202
105826
  (*! chokidar - MIT License (c) 2012 Paul Miller (paulmillr.com) *)
105203
105827
 
105204
105828
  smol-toml/dist/error.js:
105205
- smol-toml/dist/util.js:
105206
- smol-toml/dist/date.js:
105207
105829
  smol-toml/dist/primitive.js:
105830
+ smol-toml/dist/date.js:
105208
105831
  smol-toml/dist/extract.js:
105832
+ smol-toml/dist/util.js:
105209
105833
  smol-toml/dist/struct.js:
105210
105834
  smol-toml/dist/parse.js:
105211
105835
  smol-toml/dist/stringify.js: