create-cloudflare 2.64.8 → 2.64.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1849 -535
- package/package.json +6 -6
package/dist/cli.js
CHANGED
|
@@ -3828,9 +3828,9 @@ var require_cross_spawn = __commonJS({
|
|
|
3828
3828
|
}
|
|
3829
3829
|
});
|
|
3830
3830
|
|
|
3831
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
3831
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/symbols.js
|
|
3832
3832
|
var require_symbols = __commonJS({
|
|
3833
|
-
"../../node_modules/.pnpm/undici@7.
|
|
3833
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/symbols.js"(exports2, module3) {
|
|
3834
3834
|
"use strict";
|
|
3835
3835
|
module3.exports = {
|
|
3836
3836
|
kClose: /* @__PURE__ */ Symbol("close"),
|
|
@@ -3894,19 +3894,23 @@ var require_symbols = __commonJS({
|
|
|
3894
3894
|
kListeners: /* @__PURE__ */ Symbol("listeners"),
|
|
3895
3895
|
kHTTPContext: /* @__PURE__ */ Symbol("http context"),
|
|
3896
3896
|
kMaxConcurrentStreams: /* @__PURE__ */ Symbol("max concurrent streams"),
|
|
3897
|
+
kHTTP2InitialWindowSize: /* @__PURE__ */ Symbol("http2 initial window size"),
|
|
3898
|
+
kHTTP2ConnectionWindowSize: /* @__PURE__ */ Symbol("http2 connection window size"),
|
|
3897
3899
|
kEnableConnectProtocol: /* @__PURE__ */ Symbol("http2session connect protocol"),
|
|
3898
3900
|
kRemoteSettings: /* @__PURE__ */ Symbol("http2session remote settings"),
|
|
3899
3901
|
kHTTP2Stream: /* @__PURE__ */ Symbol("http2session client stream"),
|
|
3902
|
+
kPingInterval: /* @__PURE__ */ Symbol("ping interval"),
|
|
3900
3903
|
kNoProxyAgent: /* @__PURE__ */ Symbol("no proxy agent"),
|
|
3901
3904
|
kHttpProxyAgent: /* @__PURE__ */ Symbol("http proxy agent"),
|
|
3902
|
-
kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent")
|
|
3905
|
+
kHttpsProxyAgent: /* @__PURE__ */ Symbol("https proxy agent"),
|
|
3906
|
+
kSocks5ProxyAgent: /* @__PURE__ */ Symbol("socks5 proxy agent")
|
|
3903
3907
|
};
|
|
3904
3908
|
}
|
|
3905
3909
|
});
|
|
3906
3910
|
|
|
3907
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
3911
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/timers.js
|
|
3908
3912
|
var require_timers = __commonJS({
|
|
3909
|
-
"../../node_modules/.pnpm/undici@7.
|
|
3913
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/timers.js"(exports2, module3) {
|
|
3910
3914
|
"use strict";
|
|
3911
3915
|
var fastNow = 0;
|
|
3912
3916
|
var RESOLUTION_MS = 1e3;
|
|
@@ -4133,9 +4137,9 @@ var require_timers = __commonJS({
|
|
|
4133
4137
|
}
|
|
4134
4138
|
});
|
|
4135
4139
|
|
|
4136
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
4140
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/errors.js
|
|
4137
4141
|
var require_errors = __commonJS({
|
|
4138
|
-
"../../node_modules/.pnpm/undici@7.
|
|
4142
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/errors.js"(exports2, module3) {
|
|
4139
4143
|
"use strict";
|
|
4140
4144
|
var kUndiciError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR");
|
|
4141
4145
|
var UndiciError = class extends Error {
|
|
@@ -4489,6 +4493,29 @@ var require_errors = __commonJS({
|
|
|
4489
4493
|
return true;
|
|
4490
4494
|
}
|
|
4491
4495
|
};
|
|
4496
|
+
var Socks5ProxyError = class extends UndiciError {
|
|
4497
|
+
constructor(message, code) {
|
|
4498
|
+
super(message);
|
|
4499
|
+
this.name = "Socks5ProxyError";
|
|
4500
|
+
this.message = message || "SOCKS5 proxy error";
|
|
4501
|
+
this.code = code || "UND_ERR_SOCKS5";
|
|
4502
|
+
}
|
|
4503
|
+
};
|
|
4504
|
+
var kMessageSizeExceededError = /* @__PURE__ */ Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");
|
|
4505
|
+
var MessageSizeExceededError = class extends UndiciError {
|
|
4506
|
+
constructor(message) {
|
|
4507
|
+
super(message);
|
|
4508
|
+
this.name = "MessageSizeExceededError";
|
|
4509
|
+
this.message = message || "Max decompressed message size exceeded";
|
|
4510
|
+
this.code = "UND_ERR_WS_MESSAGE_SIZE_EXCEEDED";
|
|
4511
|
+
}
|
|
4512
|
+
static [Symbol.hasInstance](instance) {
|
|
4513
|
+
return instance && instance[kMessageSizeExceededError] === true;
|
|
4514
|
+
}
|
|
4515
|
+
get [kMessageSizeExceededError]() {
|
|
4516
|
+
return true;
|
|
4517
|
+
}
|
|
4518
|
+
};
|
|
4492
4519
|
module3.exports = {
|
|
4493
4520
|
AbortError,
|
|
4494
4521
|
HTTPParserError,
|
|
@@ -4512,14 +4539,16 @@ var require_errors = __commonJS({
|
|
|
4512
4539
|
RequestRetryError,
|
|
4513
4540
|
ResponseError,
|
|
4514
4541
|
SecureProxyConnectionError,
|
|
4515
|
-
MaxOriginsReachedError
|
|
4542
|
+
MaxOriginsReachedError,
|
|
4543
|
+
Socks5ProxyError,
|
|
4544
|
+
MessageSizeExceededError
|
|
4516
4545
|
};
|
|
4517
4546
|
}
|
|
4518
4547
|
});
|
|
4519
4548
|
|
|
4520
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
4549
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/constants.js
|
|
4521
4550
|
var require_constants2 = __commonJS({
|
|
4522
|
-
"../../node_modules/.pnpm/undici@7.
|
|
4551
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/constants.js"(exports2, module3) {
|
|
4523
4552
|
"use strict";
|
|
4524
4553
|
var wellknownHeaderNames = (
|
|
4525
4554
|
/** @type {const} */
|
|
@@ -4645,9 +4674,9 @@ var require_constants2 = __commonJS({
|
|
|
4645
4674
|
}
|
|
4646
4675
|
});
|
|
4647
4676
|
|
|
4648
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
4677
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/tree.js
|
|
4649
4678
|
var require_tree = __commonJS({
|
|
4650
|
-
"../../node_modules/.pnpm/undici@7.
|
|
4679
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/tree.js"(exports2, module3) {
|
|
4651
4680
|
"use strict";
|
|
4652
4681
|
var {
|
|
4653
4682
|
wellknownHeaderNames,
|
|
@@ -4787,9 +4816,9 @@ var require_tree = __commonJS({
|
|
|
4787
4816
|
}
|
|
4788
4817
|
});
|
|
4789
4818
|
|
|
4790
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
4819
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/util.js
|
|
4791
4820
|
var require_util = __commonJS({
|
|
4792
|
-
"../../node_modules/.pnpm/undici@7.
|
|
4821
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/util.js"(exports2, module3) {
|
|
4793
4822
|
"use strict";
|
|
4794
4823
|
var assert7 = require("node:assert");
|
|
4795
4824
|
var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
|
|
@@ -4832,6 +4861,8 @@ var require_util = __commonJS({
|
|
|
4832
4861
|
return body;
|
|
4833
4862
|
} else if (body && typeof body.pipeTo === "function") {
|
|
4834
4863
|
return new BodyAsyncIterable(body);
|
|
4864
|
+
} else if (body && isFormDataLike(body)) {
|
|
4865
|
+
return body;
|
|
4835
4866
|
} else if (body && typeof body !== "string" && !ArrayBuffer.isView(body) && isIterable(body)) {
|
|
4836
4867
|
return new BodyAsyncIterable(body);
|
|
4837
4868
|
} else {
|
|
@@ -4956,6 +4987,11 @@ var require_util = __commonJS({
|
|
|
4956
4987
|
function isIterable(obj) {
|
|
4957
4988
|
return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
|
|
4958
4989
|
}
|
|
4990
|
+
function hasSafeIterator(obj) {
|
|
4991
|
+
const prototype = Object.getPrototypeOf(obj);
|
|
4992
|
+
const ownIterator = Object.prototype.hasOwnProperty.call(obj, Symbol.iterator);
|
|
4993
|
+
return ownIterator || prototype != null && prototype !== Object.prototype && typeof obj[Symbol.iterator] === "function";
|
|
4994
|
+
}
|
|
4959
4995
|
function bodyLength(body) {
|
|
4960
4996
|
if (body == null) {
|
|
4961
4997
|
return 0;
|
|
@@ -5011,46 +5047,31 @@ var require_util = __commonJS({
|
|
|
5011
5047
|
val = [val];
|
|
5012
5048
|
obj[key] = val;
|
|
5013
5049
|
}
|
|
5014
|
-
val.push(headers[i + 1].toString("
|
|
5050
|
+
val.push(headers[i + 1].toString("latin1"));
|
|
5015
5051
|
} else {
|
|
5016
5052
|
const headersValue = headers[i + 1];
|
|
5017
5053
|
if (typeof headersValue === "string") {
|
|
5018
5054
|
obj[key] = headersValue;
|
|
5019
5055
|
} else {
|
|
5020
|
-
obj[key] = Array.isArray(headersValue) ? headersValue.map((x2) => x2.toString("
|
|
5056
|
+
obj[key] = Array.isArray(headersValue) ? headersValue.map((x2) => x2.toString("latin1")) : headersValue.toString("latin1");
|
|
5021
5057
|
}
|
|
5022
5058
|
}
|
|
5023
5059
|
}
|
|
5024
|
-
if ("content-length" in obj && "content-disposition" in obj) {
|
|
5025
|
-
obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");
|
|
5026
|
-
}
|
|
5027
5060
|
return obj;
|
|
5028
5061
|
}
|
|
5029
5062
|
function parseRawHeaders(headers) {
|
|
5030
5063
|
const headersLength = headers.length;
|
|
5031
5064
|
const ret = new Array(headersLength);
|
|
5032
|
-
let hasContentLength = false;
|
|
5033
|
-
let contentDispositionIdx = -1;
|
|
5034
5065
|
let key;
|
|
5035
5066
|
let val;
|
|
5036
|
-
let kLen = 0;
|
|
5037
5067
|
for (let n = 0; n < headersLength; n += 2) {
|
|
5038
5068
|
key = headers[n];
|
|
5039
5069
|
val = headers[n + 1];
|
|
5040
5070
|
typeof key !== "string" && (key = key.toString());
|
|
5041
|
-
typeof val !== "string" && (val = val.toString("
|
|
5042
|
-
kLen = key.length;
|
|
5043
|
-
if (kLen === 14 && key[7] === "-" && (key === "content-length" || key.toLowerCase() === "content-length")) {
|
|
5044
|
-
hasContentLength = true;
|
|
5045
|
-
} else if (kLen === 19 && key[7] === "-" && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
|
|
5046
|
-
contentDispositionIdx = n + 1;
|
|
5047
|
-
}
|
|
5071
|
+
typeof val !== "string" && (val = val.toString("latin1"));
|
|
5048
5072
|
ret[n] = key;
|
|
5049
5073
|
ret[n + 1] = val;
|
|
5050
5074
|
}
|
|
5051
|
-
if (hasContentLength && contentDispositionIdx !== -1) {
|
|
5052
|
-
ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
|
|
5053
|
-
}
|
|
5054
5075
|
return ret;
|
|
5055
5076
|
}
|
|
5056
5077
|
function encodeRawHeaders(headers) {
|
|
@@ -5565,6 +5586,7 @@ var require_util = __commonJS({
|
|
|
5565
5586
|
getServerName,
|
|
5566
5587
|
isStream,
|
|
5567
5588
|
isIterable,
|
|
5589
|
+
hasSafeIterator,
|
|
5568
5590
|
isAsyncIterable,
|
|
5569
5591
|
isDestroyed,
|
|
5570
5592
|
headerNameToString,
|
|
@@ -5605,9 +5627,9 @@ var require_util = __commonJS({
|
|
|
5605
5627
|
}
|
|
5606
5628
|
});
|
|
5607
5629
|
|
|
5608
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
5630
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/stats.js
|
|
5609
5631
|
var require_stats = __commonJS({
|
|
5610
|
-
"../../node_modules/.pnpm/undici@7.
|
|
5632
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/stats.js"(exports2, module3) {
|
|
5611
5633
|
"use strict";
|
|
5612
5634
|
var {
|
|
5613
5635
|
kConnected,
|
|
@@ -5639,9 +5661,9 @@ var require_stats = __commonJS({
|
|
|
5639
5661
|
}
|
|
5640
5662
|
});
|
|
5641
5663
|
|
|
5642
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
5664
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/diagnostics.js
|
|
5643
5665
|
var require_diagnostics = __commonJS({
|
|
5644
|
-
"../../node_modules/.pnpm/undici@7.
|
|
5666
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/diagnostics.js"(exports2, module3) {
|
|
5645
5667
|
"use strict";
|
|
5646
5668
|
var diagnosticsChannel = require("node:diagnostics_channel");
|
|
5647
5669
|
var util = require("node:util");
|
|
@@ -5854,9 +5876,9 @@ var require_diagnostics = __commonJS({
|
|
|
5854
5876
|
}
|
|
5855
5877
|
});
|
|
5856
5878
|
|
|
5857
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
5879
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/request.js
|
|
5858
5880
|
var require_request = __commonJS({
|
|
5859
|
-
"../../node_modules/.pnpm/undici@7.
|
|
5881
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/request.js"(exports2, module3) {
|
|
5860
5882
|
"use strict";
|
|
5861
5883
|
var {
|
|
5862
5884
|
InvalidArgumentError,
|
|
@@ -5871,6 +5893,7 @@ var require_request = __commonJS({
|
|
|
5871
5893
|
isBuffer,
|
|
5872
5894
|
isFormDataLike,
|
|
5873
5895
|
isIterable,
|
|
5896
|
+
hasSafeIterator,
|
|
5874
5897
|
isBlobLike,
|
|
5875
5898
|
serializePathWithQuery,
|
|
5876
5899
|
assertRequestHandler,
|
|
@@ -5898,7 +5921,8 @@ var require_request = __commonJS({
|
|
|
5898
5921
|
expectContinue,
|
|
5899
5922
|
servername,
|
|
5900
5923
|
throwOnError,
|
|
5901
|
-
maxRedirections
|
|
5924
|
+
maxRedirections,
|
|
5925
|
+
typeOfService
|
|
5902
5926
|
}, handler) {
|
|
5903
5927
|
if (typeof path4 !== "string") {
|
|
5904
5928
|
throw new InvalidArgumentError("path must be a string");
|
|
@@ -5915,6 +5939,9 @@ var require_request = __commonJS({
|
|
|
5915
5939
|
if (upgrade && typeof upgrade !== "string") {
|
|
5916
5940
|
throw new InvalidArgumentError("upgrade must be a string");
|
|
5917
5941
|
}
|
|
5942
|
+
if (upgrade && !isValidHeaderValue(upgrade)) {
|
|
5943
|
+
throw new InvalidArgumentError("invalid upgrade header");
|
|
5944
|
+
}
|
|
5918
5945
|
if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
|
|
5919
5946
|
throw new InvalidArgumentError("invalid headersTimeout");
|
|
5920
5947
|
}
|
|
@@ -5933,9 +5960,13 @@ var require_request = __commonJS({
|
|
|
5933
5960
|
if (maxRedirections != null && maxRedirections !== 0) {
|
|
5934
5961
|
throw new InvalidArgumentError("maxRedirections is not supported, use the redirect interceptor");
|
|
5935
5962
|
}
|
|
5963
|
+
if (typeOfService != null && (!Number.isInteger(typeOfService) || typeOfService < 0 || typeOfService > 255)) {
|
|
5964
|
+
throw new InvalidArgumentError("typeOfService must be an integer between 0 and 255");
|
|
5965
|
+
}
|
|
5936
5966
|
this.headersTimeout = headersTimeout;
|
|
5937
5967
|
this.bodyTimeout = bodyTimeout;
|
|
5938
5968
|
this.method = method;
|
|
5969
|
+
this.typeOfService = typeOfService ?? 0;
|
|
5939
5970
|
this.abort = null;
|
|
5940
5971
|
if (body == null) {
|
|
5941
5972
|
this.body = null;
|
|
@@ -5991,7 +6022,7 @@ var require_request = __commonJS({
|
|
|
5991
6022
|
processHeader(this, headers[i], headers[i + 1]);
|
|
5992
6023
|
}
|
|
5993
6024
|
} else if (headers && typeof headers === "object") {
|
|
5994
|
-
if (headers
|
|
6025
|
+
if (hasSafeIterator(headers)) {
|
|
5995
6026
|
for (const header of headers) {
|
|
5996
6027
|
if (!Array.isArray(header) || header.length !== 2) {
|
|
5997
6028
|
throw new InvalidArgumentError("headers must be in key-value pair format");
|
|
@@ -6160,12 +6191,18 @@ var require_request = __commonJS({
|
|
|
6160
6191
|
} else {
|
|
6161
6192
|
val = `${val}`;
|
|
6162
6193
|
}
|
|
6163
|
-
if (
|
|
6194
|
+
if (headerName === "host") {
|
|
6195
|
+
if (request2.host !== null) {
|
|
6196
|
+
throw new InvalidArgumentError("duplicate host header");
|
|
6197
|
+
}
|
|
6164
6198
|
if (typeof val !== "string") {
|
|
6165
6199
|
throw new InvalidArgumentError("invalid host header");
|
|
6166
6200
|
}
|
|
6167
6201
|
request2.host = val;
|
|
6168
|
-
} else if (
|
|
6202
|
+
} else if (headerName === "content-length") {
|
|
6203
|
+
if (request2.contentLength !== null) {
|
|
6204
|
+
throw new InvalidArgumentError("duplicate content-length header");
|
|
6205
|
+
}
|
|
6169
6206
|
request2.contentLength = parseInt(val, 10);
|
|
6170
6207
|
if (!Number.isFinite(request2.contentLength)) {
|
|
6171
6208
|
throw new InvalidArgumentError("invalid content-length header");
|
|
@@ -6193,9 +6230,9 @@ var require_request = __commonJS({
|
|
|
6193
6230
|
}
|
|
6194
6231
|
});
|
|
6195
6232
|
|
|
6196
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
6233
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/wrap-handler.js
|
|
6197
6234
|
var require_wrap_handler = __commonJS({
|
|
6198
|
-
"../../node_modules/.pnpm/undici@7.
|
|
6235
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/wrap-handler.js"(exports2, module3) {
|
|
6199
6236
|
"use strict";
|
|
6200
6237
|
var { InvalidArgumentError } = require_errors();
|
|
6201
6238
|
module3.exports = class WrapHandler {
|
|
@@ -6210,6 +6247,9 @@ var require_wrap_handler = __commonJS({
|
|
|
6210
6247
|
onConnect(abort, context) {
|
|
6211
6248
|
return this.#handler.onConnect?.(abort, context);
|
|
6212
6249
|
}
|
|
6250
|
+
onResponseStarted() {
|
|
6251
|
+
return this.#handler.onResponseStarted?.();
|
|
6252
|
+
}
|
|
6213
6253
|
onHeaders(statusCode, rawHeaders, resume, statusMessage) {
|
|
6214
6254
|
return this.#handler.onHeaders?.(statusCode, rawHeaders, resume, statusMessage);
|
|
6215
6255
|
}
|
|
@@ -6235,14 +6275,14 @@ var require_wrap_handler = __commonJS({
|
|
|
6235
6275
|
onRequestUpgrade(controller, statusCode, headers, socket) {
|
|
6236
6276
|
const rawHeaders = [];
|
|
6237
6277
|
for (const [key, val] of Object.entries(headers)) {
|
|
6238
|
-
rawHeaders.push(Buffer.from(key
|
|
6278
|
+
rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
|
|
6239
6279
|
}
|
|
6240
6280
|
this.#handler.onUpgrade?.(statusCode, rawHeaders, socket);
|
|
6241
6281
|
}
|
|
6242
6282
|
onResponseStart(controller, statusCode, headers, statusMessage) {
|
|
6243
6283
|
const rawHeaders = [];
|
|
6244
6284
|
for (const [key, val] of Object.entries(headers)) {
|
|
6245
|
-
rawHeaders.push(Buffer.from(key
|
|
6285
|
+
rawHeaders.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
|
|
6246
6286
|
}
|
|
6247
6287
|
if (this.#handler.onHeaders?.(statusCode, rawHeaders, () => controller.resume(), statusMessage) === false) {
|
|
6248
6288
|
controller.pause();
|
|
@@ -6256,7 +6296,7 @@ var require_wrap_handler = __commonJS({
|
|
|
6256
6296
|
onResponseEnd(controller, trailers) {
|
|
6257
6297
|
const rawTrailers = [];
|
|
6258
6298
|
for (const [key, val] of Object.entries(trailers)) {
|
|
6259
|
-
rawTrailers.push(Buffer.from(key
|
|
6299
|
+
rawTrailers.push(Buffer.from(key, "latin1"), toRawHeaderValue(val));
|
|
6260
6300
|
}
|
|
6261
6301
|
this.#handler.onComplete?.(rawTrailers);
|
|
6262
6302
|
}
|
|
@@ -6267,12 +6307,15 @@ var require_wrap_handler = __commonJS({
|
|
|
6267
6307
|
this.#handler.onError?.(err);
|
|
6268
6308
|
}
|
|
6269
6309
|
};
|
|
6310
|
+
function toRawHeaderValue(value) {
|
|
6311
|
+
return Array.isArray(value) ? value.map((item) => Buffer.from(item, "latin1")) : Buffer.from(value, "latin1");
|
|
6312
|
+
}
|
|
6270
6313
|
}
|
|
6271
6314
|
});
|
|
6272
6315
|
|
|
6273
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
6316
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/dispatcher.js
|
|
6274
6317
|
var require_dispatcher = __commonJS({
|
|
6275
|
-
"../../node_modules/.pnpm/undici@7.
|
|
6318
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module3) {
|
|
6276
6319
|
"use strict";
|
|
6277
6320
|
var EventEmitter = require("node:events");
|
|
6278
6321
|
var WrapHandler = require_wrap_handler();
|
|
@@ -6312,9 +6355,9 @@ var require_dispatcher = __commonJS({
|
|
|
6312
6355
|
}
|
|
6313
6356
|
});
|
|
6314
6357
|
|
|
6315
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
6358
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/unwrap-handler.js
|
|
6316
6359
|
var require_unwrap_handler = __commonJS({
|
|
6317
|
-
"../../node_modules/.pnpm/undici@7.
|
|
6360
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/unwrap-handler.js"(exports2, module3) {
|
|
6318
6361
|
"use strict";
|
|
6319
6362
|
var { parseHeaders } = require_util();
|
|
6320
6363
|
var { InvalidArgumentError } = require_errors();
|
|
@@ -6367,6 +6410,9 @@ var require_unwrap_handler = __commonJS({
|
|
|
6367
6410
|
this.#controller = new UnwrapController(abort);
|
|
6368
6411
|
this.#handler.onRequestStart?.(this.#controller, context);
|
|
6369
6412
|
}
|
|
6413
|
+
onResponseStarted() {
|
|
6414
|
+
return this.#handler.onResponseStarted?.();
|
|
6415
|
+
}
|
|
6370
6416
|
onUpgrade(statusCode, rawHeaders, socket) {
|
|
6371
6417
|
this.#handler.onRequestUpgrade?.(this.#controller, statusCode, parseHeaders(rawHeaders), socket);
|
|
6372
6418
|
}
|
|
@@ -6392,9 +6438,9 @@ var require_unwrap_handler = __commonJS({
|
|
|
6392
6438
|
}
|
|
6393
6439
|
});
|
|
6394
6440
|
|
|
6395
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
6441
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/dispatcher-base.js
|
|
6396
6442
|
var require_dispatcher_base = __commonJS({
|
|
6397
|
-
"../../node_modules/.pnpm/undici@7.
|
|
6443
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module3) {
|
|
6398
6444
|
"use strict";
|
|
6399
6445
|
var Dispatcher = require_dispatcher();
|
|
6400
6446
|
var UnwrapHandler = require_unwrap_handler();
|
|
@@ -6526,9 +6572,9 @@ var require_dispatcher_base = __commonJS({
|
|
|
6526
6572
|
}
|
|
6527
6573
|
});
|
|
6528
6574
|
|
|
6529
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
6575
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/connect.js
|
|
6530
6576
|
var require_connect = __commonJS({
|
|
6531
|
-
"../../node_modules/.pnpm/undici@7.
|
|
6577
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/connect.js"(exports2, module3) {
|
|
6532
6578
|
"use strict";
|
|
6533
6579
|
var net = require("node:net");
|
|
6534
6580
|
var assert7 = require("node:assert");
|
|
@@ -6638,9 +6684,9 @@ var require_connect = __commonJS({
|
|
|
6638
6684
|
}
|
|
6639
6685
|
});
|
|
6640
6686
|
|
|
6641
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
6687
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/llhttp/utils.js
|
|
6642
6688
|
var require_utils = __commonJS({
|
|
6643
|
-
"../../node_modules/.pnpm/undici@7.
|
|
6689
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/llhttp/utils.js"(exports2) {
|
|
6644
6690
|
"use strict";
|
|
6645
6691
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
6646
6692
|
exports2.enumToMap = enumToMap;
|
|
@@ -6654,9 +6700,9 @@ var require_utils = __commonJS({
|
|
|
6654
6700
|
}
|
|
6655
6701
|
});
|
|
6656
6702
|
|
|
6657
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
6703
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/llhttp/constants.js
|
|
6658
6704
|
var require_constants3 = __commonJS({
|
|
6659
|
-
"../../node_modules/.pnpm/undici@7.
|
|
6705
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/llhttp/constants.js"(exports2) {
|
|
6660
6706
|
"use strict";
|
|
6661
6707
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
6662
6708
|
exports2.SPECIAL_HEADERS = exports2.MINOR = exports2.MAJOR = exports2.HTAB_SP_VCHAR_OBS_TEXT = exports2.QUOTED_STRING = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.STATUSES_HTTP = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.HEADER_STATE = exports2.FINISH = exports2.STATUSES = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
|
|
@@ -7277,9 +7323,9 @@ var require_constants3 = __commonJS({
|
|
|
7277
7323
|
}
|
|
7278
7324
|
});
|
|
7279
7325
|
|
|
7280
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
7326
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/llhttp/llhttp-wasm.js
|
|
7281
7327
|
var require_llhttp_wasm = __commonJS({
|
|
7282
|
-
"../../node_modules/.pnpm/undici@7.
|
|
7328
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module3) {
|
|
7283
7329
|
"use strict";
|
|
7284
7330
|
var { Buffer: Buffer2 } = require("node:buffer");
|
|
7285
7331
|
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
|
|
@@ -7292,9 +7338,9 @@ var require_llhttp_wasm = __commonJS({
|
|
|
7292
7338
|
}
|
|
7293
7339
|
});
|
|
7294
7340
|
|
|
7295
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
7341
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
|
|
7296
7342
|
var require_llhttp_simd_wasm = __commonJS({
|
|
7297
|
-
"../../node_modules/.pnpm/undici@7.
|
|
7343
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module3) {
|
|
7298
7344
|
"use strict";
|
|
7299
7345
|
var { Buffer: Buffer2 } = require("node:buffer");
|
|
7300
7346
|
var wasmBase64 = "AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAIcIgJBAmsO/AEB+QECAwQFBgcICQoLDA0ODxAREvgBE/cBFBX2ARYX9QEYGRobHB0eHyD9AfsBIfQBIiMkJSYnKCkqK/MBLC0uLzAxMvIB8QEzNPAB7wE1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk/6AVBRUlPuAe0BVOwBVesBVldYWVrqAVtcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAekB6AHPAecB0AHmAdEB0gHTAdQB5QHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wEA/AELQQAM4wELQQ4M4gELQQ0M4QELQQ8M4AELQRAM3wELQRMM3gELQRQM3QELQRUM3AELQRYM2wELQRcM2gELQRgM2QELQRkM2AELQRoM1wELQRsM1gELQRwM1QELQR0M1AELQR4M0wELQR8M0gELQSAM0QELQSEM0AELQQgMzwELQSIMzgELQSQMzQELQSMMzAELQQcMywELQSUMygELQSYMyQELQScMyAELQSgMxwELQRIMxgELQREMxQELQSkMxAELQSoMwwELQSsMwgELQSwMwQELQd4BDMABC0EuDL8BC0EvDL4BC0EwDL0BC0ExDLwBC0EyDLsBC0EzDLoBC0E0DLkBC0HfAQy4AQtBNQy3AQtBOQy2AQtBDAy1AQtBNgy0AQtBNwyzAQtBOAyyAQtBPgyxAQtBOgywAQtB4AEMrwELQQsMrgELQT8MrQELQTsMrAELQQoMqwELQTwMqgELQT0MqQELQeEBDKgBC0HBAAynAQtBwAAMpgELQcIADKUBC0EJDKQBC0EtDKMBC0HDAAyiAQtBxAAMoQELQcUADKABC0HGAAyfAQtBxwAMngELQcgADJ0BC0HJAAycAQtBygAMmwELQcsADJoBC0HMAAyZAQtBzQAMmAELQc4ADJcBC0HPAAyWAQtB0AAMlQELQdEADJQBC0HSAAyTAQtB0wAMkgELQdUADJEBC0HUAAyQAQtB1gAMjwELQdcADI4BC0HYAAyNAQtB2QAMjAELQdoADIsBC0HbAAyKAQtB3AAMiQELQd0ADIgBC0HeAAyHAQtB3wAMhgELQeAADIUBC0HhAAyEAQtB4gAMgwELQeMADIIBC0HkAAyBAQtB5QAMgAELQeIBDH8LQeYADH4LQecADH0LQQYMfAtB6AAMewtBBQx6C0HpAAx5C0EEDHgLQeoADHcLQesADHYLQewADHULQe0ADHQLQQMMcwtB7gAMcgtB7wAMcQtB8AAMcAtB8gAMbwtB8QAMbgtB8wAMbQtB9AAMbAtB9QAMawtB9gAMagtBAgxpC0H3AAxoC0H4AAxnC0H5AAxmC0H6AAxlC0H7AAxkC0H8AAxjC0H9AAxiC0H+AAxhC0H/AAxgC0GAAQxfC0GBAQxeC0GCAQxdC0GDAQxcC0GEAQxbC0GFAQxaC0GGAQxZC0GHAQxYC0GIAQxXC0GJAQxWC0GKAQxVC0GLAQxUC0GMAQxTC0GNAQxSC0GOAQxRC0GPAQxQC0GQAQxPC0GRAQxOC0GSAQxNC0GTAQxMC0GUAQxLC0GVAQxKC0GWAQxJC0GXAQxIC0GYAQxHC0GZAQxGC0GaAQxFC0GbAQxEC0GcAQxDC0GdAQxCC0GeAQxBC0GfAQxAC0GgAQw/C0GhAQw+C0GiAQw9C0GjAQw8C0GkAQw7C0GlAQw6C0GmAQw5C0GnAQw4C0GoAQw3C0GpAQw2C0GqAQw1C0GrAQw0C0GsAQwzC0GtAQwyC0GuAQwxC0GvAQwwC0GwAQwvC0GxAQwuC0GyAQwtC0GzAQwsC0G0AQwrC0G1AQwqC0G2AQwpC0G3AQwoC0G4AQwnC0G5AQwmC0G6AQwlC0G7AQwkC0G8AQwjC0G9AQwiC0G+AQwhC0G/AQwgC0HAAQwfC0HBAQweC0HCAQwdC0EBDBwLQcMBDBsLQcQBDBoLQcUBDBkLQcYBDBgLQccBDBcLQcgBDBYLQckBDBULQcoBDBQLQcsBDBMLQcwBDBILQc0BDBELQc4BDBALQc8BDA8LQdABDA4LQdEBDA0LQdIBDAwLQdMBDAsLQdQBDAoLQdUBDAkLQdYBDAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";
|
|
@@ -7307,9 +7353,9 @@ var require_llhttp_simd_wasm = __commonJS({
|
|
|
7307
7353
|
}
|
|
7308
7354
|
});
|
|
7309
7355
|
|
|
7310
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
7356
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/constants.js
|
|
7311
7357
|
var require_constants4 = __commonJS({
|
|
7312
|
-
"../../node_modules/.pnpm/undici@7.
|
|
7358
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/constants.js"(exports2, module3) {
|
|
7313
7359
|
"use strict";
|
|
7314
7360
|
var corsSafeListedMethods = (
|
|
7315
7361
|
/** @type {const} */
|
|
@@ -7531,9 +7577,9 @@ var require_constants4 = __commonJS({
|
|
|
7531
7577
|
}
|
|
7532
7578
|
});
|
|
7533
7579
|
|
|
7534
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
7580
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/global.js
|
|
7535
7581
|
var require_global = __commonJS({
|
|
7536
|
-
"../../node_modules/.pnpm/undici@7.
|
|
7582
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/global.js"(exports2, module3) {
|
|
7537
7583
|
"use strict";
|
|
7538
7584
|
var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
|
|
7539
7585
|
function getGlobalOrigin() {
|
|
@@ -7567,9 +7613,9 @@ var require_global = __commonJS({
|
|
|
7567
7613
|
}
|
|
7568
7614
|
});
|
|
7569
7615
|
|
|
7570
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
7616
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/encoding/index.js
|
|
7571
7617
|
var require_encoding = __commonJS({
|
|
7572
|
-
"../../node_modules/.pnpm/undici@7.
|
|
7618
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/encoding/index.js"(exports2, module3) {
|
|
7573
7619
|
"use strict";
|
|
7574
7620
|
var textDecoder = new TextDecoder();
|
|
7575
7621
|
function utf8DecodeBytes(buffer) {
|
|
@@ -7588,9 +7634,9 @@ var require_encoding = __commonJS({
|
|
|
7588
7634
|
}
|
|
7589
7635
|
});
|
|
7590
7636
|
|
|
7591
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
7637
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/infra/index.js
|
|
7592
7638
|
var require_infra = __commonJS({
|
|
7593
|
-
"../../node_modules/.pnpm/undici@7.
|
|
7639
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/infra/index.js"(exports2, module3) {
|
|
7594
7640
|
"use strict";
|
|
7595
7641
|
var assert7 = require("node:assert");
|
|
7596
7642
|
var { utf8DecodeBytes } = require_encoding();
|
|
@@ -7701,9 +7747,9 @@ var require_infra = __commonJS({
|
|
|
7701
7747
|
}
|
|
7702
7748
|
});
|
|
7703
7749
|
|
|
7704
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
7750
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/data-url.js
|
|
7705
7751
|
var require_data_url = __commonJS({
|
|
7706
|
-
"../../node_modules/.pnpm/undici@7.
|
|
7752
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module3) {
|
|
7707
7753
|
"use strict";
|
|
7708
7754
|
var assert7 = require("node:assert");
|
|
7709
7755
|
var { forgivingBase64, collectASequenceOfCodePoints, collectASequenceOfCodePointsFast, isomorphicDecode, removeASCIIWhitespace, removeChars } = require_infra();
|
|
@@ -7980,9 +8026,9 @@ var require_data_url = __commonJS({
|
|
|
7980
8026
|
}
|
|
7981
8027
|
});
|
|
7982
8028
|
|
|
7983
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
8029
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/runtime-features.js
|
|
7984
8030
|
var require_runtime_features = __commonJS({
|
|
7985
|
-
"../../node_modules/.pnpm/undici@7.
|
|
8031
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/runtime-features.js"(exports2, module3) {
|
|
7986
8032
|
"use strict";
|
|
7987
8033
|
var lazyLoaders = {
|
|
7988
8034
|
__proto__: null,
|
|
@@ -8082,10 +8128,11 @@ var require_runtime_features = __commonJS({
|
|
|
8082
8128
|
}
|
|
8083
8129
|
});
|
|
8084
8130
|
|
|
8085
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
8131
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/webidl/index.js
|
|
8086
8132
|
var require_webidl = __commonJS({
|
|
8087
|
-
"../../node_modules/.pnpm/undici@7.
|
|
8133
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/webidl/index.js"(exports2, module3) {
|
|
8088
8134
|
"use strict";
|
|
8135
|
+
var assert7 = require("node:assert");
|
|
8089
8136
|
var { types: types11, inspect: inspect2 } = require("node:util");
|
|
8090
8137
|
var { runtimeFeatures } = require_runtime_features();
|
|
8091
8138
|
var UNDEFINED = 1;
|
|
@@ -8372,6 +8419,7 @@ var require_webidl = __commonJS({
|
|
|
8372
8419
|
};
|
|
8373
8420
|
};
|
|
8374
8421
|
webidl.dictionaryConverter = function(converters) {
|
|
8422
|
+
converters.sort((a, b3) => (a.key > b3.key) - (a.key < b3.key));
|
|
8375
8423
|
return (dictionary, prefix, argument) => {
|
|
8376
8424
|
const dict = {};
|
|
8377
8425
|
if (dictionary != null && webidl.util.Type(dictionary) !== OBJECT) {
|
|
@@ -8430,6 +8478,27 @@ var require_webidl = __commonJS({
|
|
|
8430
8478
|
webidl.is.BufferSource = function(V2) {
|
|
8431
8479
|
return types11.isArrayBuffer(V2) || ArrayBuffer.isView(V2) && types11.isArrayBuffer(V2.buffer);
|
|
8432
8480
|
};
|
|
8481
|
+
webidl.util.getCopyOfBytesHeldByBufferSource = function(bufferSource) {
|
|
8482
|
+
const jsBufferSource = bufferSource;
|
|
8483
|
+
let jsArrayBuffer = jsBufferSource;
|
|
8484
|
+
let offset = 0;
|
|
8485
|
+
let length = 0;
|
|
8486
|
+
if (types11.isTypedArray(jsBufferSource) || types11.isDataView(jsBufferSource)) {
|
|
8487
|
+
jsArrayBuffer = jsBufferSource.buffer;
|
|
8488
|
+
offset = jsBufferSource.byteOffset;
|
|
8489
|
+
length = jsBufferSource.byteLength;
|
|
8490
|
+
} else {
|
|
8491
|
+
assert7(types11.isAnyArrayBuffer(jsBufferSource));
|
|
8492
|
+
length = jsBufferSource.byteLength;
|
|
8493
|
+
}
|
|
8494
|
+
if (jsArrayBuffer.detached) {
|
|
8495
|
+
return new Uint8Array(0);
|
|
8496
|
+
}
|
|
8497
|
+
const bytes = new Uint8Array(length);
|
|
8498
|
+
const view = new Uint8Array(jsArrayBuffer, offset, length);
|
|
8499
|
+
bytes.set(view);
|
|
8500
|
+
return bytes;
|
|
8501
|
+
};
|
|
8433
8502
|
webidl.converters.DOMString = function(V2, prefix, argument, flags) {
|
|
8434
8503
|
if (V2 === null && webidl.util.HasFlag(flags, webidl.attributes.LegacyNullToEmptyString)) {
|
|
8435
8504
|
return "";
|
|
@@ -8661,9 +8730,9 @@ var require_webidl = __commonJS({
|
|
|
8661
8730
|
}
|
|
8662
8731
|
});
|
|
8663
8732
|
|
|
8664
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
8733
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/util.js
|
|
8665
8734
|
var require_util2 = __commonJS({
|
|
8666
|
-
"../../node_modules/.pnpm/undici@7.
|
|
8735
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/util.js"(exports2, module3) {
|
|
8667
8736
|
"use strict";
|
|
8668
8737
|
var { Transform } = require("node:stream");
|
|
8669
8738
|
var zlib = require("node:zlib");
|
|
@@ -9354,6 +9423,15 @@ var require_util2 = __commonJS({
|
|
|
9354
9423
|
}
|
|
9355
9424
|
return gettingDecodingSplitting(value);
|
|
9356
9425
|
}
|
|
9426
|
+
function hasAuthenticationEntry(request2) {
|
|
9427
|
+
return false;
|
|
9428
|
+
}
|
|
9429
|
+
function includesCredentials(url) {
|
|
9430
|
+
return !!(url.username || url.password);
|
|
9431
|
+
}
|
|
9432
|
+
function isTraversableNavigable(navigable) {
|
|
9433
|
+
return true;
|
|
9434
|
+
}
|
|
9357
9435
|
var EnvironmentSettingsObjectBase = class {
|
|
9358
9436
|
get baseUrl() {
|
|
9359
9437
|
return getGlobalOrigin();
|
|
@@ -9411,14 +9489,17 @@ var require_util2 = __commonJS({
|
|
|
9411
9489
|
extractMimeType,
|
|
9412
9490
|
getDecodeSplit,
|
|
9413
9491
|
environmentSettingsObject,
|
|
9414
|
-
isOriginIPPotentiallyTrustworthy
|
|
9492
|
+
isOriginIPPotentiallyTrustworthy,
|
|
9493
|
+
hasAuthenticationEntry,
|
|
9494
|
+
includesCredentials,
|
|
9495
|
+
isTraversableNavigable
|
|
9415
9496
|
};
|
|
9416
9497
|
}
|
|
9417
9498
|
});
|
|
9418
9499
|
|
|
9419
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
9500
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/formdata.js
|
|
9420
9501
|
var require_formdata = __commonJS({
|
|
9421
|
-
"../../node_modules/.pnpm/undici@7.
|
|
9502
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module3) {
|
|
9422
9503
|
"use strict";
|
|
9423
9504
|
var { iteratorMixin } = require_util2();
|
|
9424
9505
|
var { kEnumerableProperty } = require_util();
|
|
@@ -9578,9 +9659,9 @@ var require_formdata = __commonJS({
|
|
|
9578
9659
|
}
|
|
9579
9660
|
});
|
|
9580
9661
|
|
|
9581
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
9662
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/formdata-parser.js
|
|
9582
9663
|
var require_formdata_parser = __commonJS({
|
|
9583
|
-
"../../node_modules/.pnpm/undici@7.
|
|
9664
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module3) {
|
|
9584
9665
|
"use strict";
|
|
9585
9666
|
var { bufferToLowerCasedHeaderName } = require_util();
|
|
9586
9667
|
var { HTTP_TOKEN_CODEPOINTS } = require_data_url();
|
|
@@ -9902,9 +9983,9 @@ var require_formdata_parser = __commonJS({
|
|
|
9902
9983
|
}
|
|
9903
9984
|
});
|
|
9904
9985
|
|
|
9905
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
9986
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/promise.js
|
|
9906
9987
|
var require_promise = __commonJS({
|
|
9907
|
-
"../../node_modules/.pnpm/undici@7.
|
|
9988
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/promise.js"(exports2, module3) {
|
|
9908
9989
|
"use strict";
|
|
9909
9990
|
function createDeferredPromise() {
|
|
9910
9991
|
let res;
|
|
@@ -9921,9 +10002,9 @@ var require_promise = __commonJS({
|
|
|
9921
10002
|
}
|
|
9922
10003
|
});
|
|
9923
10004
|
|
|
9924
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
10005
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/body.js
|
|
9925
10006
|
var require_body = __commonJS({
|
|
9926
|
-
"../../node_modules/.pnpm/undici@7.
|
|
10007
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/body.js"(exports2, module3) {
|
|
9927
10008
|
"use strict";
|
|
9928
10009
|
var util = require_util();
|
|
9929
10010
|
var {
|
|
@@ -9936,7 +10017,7 @@ var require_body = __commonJS({
|
|
|
9936
10017
|
var { webidl } = require_webidl();
|
|
9937
10018
|
var assert7 = require("node:assert");
|
|
9938
10019
|
var { isErrored, isDisturbed } = require("node:stream");
|
|
9939
|
-
var {
|
|
10020
|
+
var { isUint8Array } = require("node:util/types");
|
|
9940
10021
|
var { serializeAMimeType } = require_data_url();
|
|
9941
10022
|
var { multipartFormDataParser } = require_formdata_parser();
|
|
9942
10023
|
var { createDeferredPromise } = require_promise();
|
|
@@ -9955,20 +10036,19 @@ var require_body = __commonJS({
|
|
|
9955
10036
|
});
|
|
9956
10037
|
function extractBody(object, keepalive = false) {
|
|
9957
10038
|
let stream = null;
|
|
10039
|
+
let controller = null;
|
|
9958
10040
|
if (webidl.is.ReadableStream(object)) {
|
|
9959
10041
|
stream = object;
|
|
9960
10042
|
} else if (webidl.is.Blob(object)) {
|
|
9961
10043
|
stream = object.stream();
|
|
9962
10044
|
} else {
|
|
9963
10045
|
stream = new ReadableStream({
|
|
9964
|
-
pull(
|
|
9965
|
-
const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
|
|
9966
|
-
if (buffer.byteLength) {
|
|
9967
|
-
controller.enqueue(buffer);
|
|
9968
|
-
}
|
|
9969
|
-
queueMicrotask(() => readableStreamClose(controller));
|
|
10046
|
+
pull() {
|
|
9970
10047
|
},
|
|
9971
|
-
start() {
|
|
10048
|
+
start(c2) {
|
|
10049
|
+
controller = c2;
|
|
10050
|
+
},
|
|
10051
|
+
cancel() {
|
|
9972
10052
|
},
|
|
9973
10053
|
type: "bytes"
|
|
9974
10054
|
});
|
|
@@ -9985,7 +10065,7 @@ var require_body = __commonJS({
|
|
|
9985
10065
|
source = object.toString();
|
|
9986
10066
|
type = "application/x-www-form-urlencoded;charset=UTF-8";
|
|
9987
10067
|
} else if (webidl.is.BufferSource(object)) {
|
|
9988
|
-
source =
|
|
10068
|
+
source = webidl.util.getCopyOfBytesHeldByBufferSource(object);
|
|
9989
10069
|
} else if (webidl.is.FormData(object)) {
|
|
9990
10070
|
const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`;
|
|
9991
10071
|
const prefix = `--${boundary}\r
|
|
@@ -10052,38 +10132,29 @@ Content-Type: ${value.type || "application/octet-stream"}\r
|
|
|
10052
10132
|
}
|
|
10053
10133
|
stream = webidl.is.ReadableStream(object) ? object : ReadableStreamFrom(object);
|
|
10054
10134
|
}
|
|
10055
|
-
if (typeof source === "string" ||
|
|
10056
|
-
|
|
10135
|
+
if (typeof source === "string" || isUint8Array(source)) {
|
|
10136
|
+
action = () => {
|
|
10137
|
+
length = typeof source === "string" ? Buffer.byteLength(source) : source.length;
|
|
10138
|
+
return source;
|
|
10139
|
+
};
|
|
10057
10140
|
}
|
|
10058
10141
|
if (action != null) {
|
|
10059
|
-
|
|
10060
|
-
|
|
10061
|
-
|
|
10062
|
-
|
|
10063
|
-
|
|
10064
|
-
|
|
10065
|
-
|
|
10066
|
-
if (
|
|
10067
|
-
|
|
10068
|
-
controller.close();
|
|
10069
|
-
controller.byobRequest?.respond(0);
|
|
10070
|
-
});
|
|
10071
|
-
} else {
|
|
10072
|
-
if (!isErrored(stream)) {
|
|
10073
|
-
const buffer = new Uint8Array(value);
|
|
10074
|
-
if (buffer.byteLength) {
|
|
10075
|
-
controller.enqueue(buffer);
|
|
10076
|
-
}
|
|
10077
|
-
}
|
|
10142
|
+
;
|
|
10143
|
+
(async () => {
|
|
10144
|
+
const result = action();
|
|
10145
|
+
const iterator = result?.[Symbol.asyncIterator]?.();
|
|
10146
|
+
if (iterator) {
|
|
10147
|
+
for await (const bytes of iterator) {
|
|
10148
|
+
if (isErrored(stream)) break;
|
|
10149
|
+
if (bytes.length) {
|
|
10150
|
+
controller.enqueue(new Uint8Array(bytes));
|
|
10078
10151
|
}
|
|
10079
|
-
|
|
10080
|
-
|
|
10081
|
-
|
|
10082
|
-
|
|
10083
|
-
|
|
10084
|
-
|
|
10085
|
-
type: "bytes"
|
|
10086
|
-
});
|
|
10152
|
+
}
|
|
10153
|
+
} else if (result?.length && !isErrored(stream)) {
|
|
10154
|
+
controller.enqueue(typeof result === "string" ? textEncoder.encode(result) : new Uint8Array(result));
|
|
10155
|
+
}
|
|
10156
|
+
queueMicrotask(() => readableStreamClose(controller));
|
|
10157
|
+
})();
|
|
10087
10158
|
}
|
|
10088
10159
|
const body = { stream, source, length };
|
|
10089
10160
|
return [body, type];
|
|
@@ -10171,13 +10242,10 @@ Content-Type: ${value.type || "application/octet-stream"}\r
|
|
|
10171
10242
|
} catch (e) {
|
|
10172
10243
|
return Promise.reject(e);
|
|
10173
10244
|
}
|
|
10174
|
-
|
|
10175
|
-
if (bodyUnusable(
|
|
10245
|
+
object = getInternalState(object);
|
|
10246
|
+
if (bodyUnusable(object)) {
|
|
10176
10247
|
return Promise.reject(new TypeError("Body is unusable: Body has already been read"));
|
|
10177
10248
|
}
|
|
10178
|
-
if (state.aborted) {
|
|
10179
|
-
return Promise.reject(new DOMException("The operation was aborted.", "AbortError"));
|
|
10180
|
-
}
|
|
10181
10249
|
const promise = createDeferredPromise();
|
|
10182
10250
|
const errorSteps = promise.reject;
|
|
10183
10251
|
const successSteps = (data) => {
|
|
@@ -10187,11 +10255,11 @@ Content-Type: ${value.type || "application/octet-stream"}\r
|
|
|
10187
10255
|
errorSteps(e);
|
|
10188
10256
|
}
|
|
10189
10257
|
};
|
|
10190
|
-
if (
|
|
10258
|
+
if (object.body == null) {
|
|
10191
10259
|
successSteps(Buffer.allocUnsafe(0));
|
|
10192
10260
|
return promise.promise;
|
|
10193
10261
|
}
|
|
10194
|
-
fullyReadBody(
|
|
10262
|
+
fullyReadBody(object.body, successSteps, errorSteps);
|
|
10195
10263
|
return promise.promise;
|
|
10196
10264
|
}
|
|
10197
10265
|
function bodyUnusable(object) {
|
|
@@ -10217,9 +10285,9 @@ Content-Type: ${value.type || "application/octet-stream"}\r
|
|
|
10217
10285
|
}
|
|
10218
10286
|
});
|
|
10219
10287
|
|
|
10220
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
10288
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/client-h1.js
|
|
10221
10289
|
var require_client_h1 = __commonJS({
|
|
10222
|
-
"../../node_modules/.pnpm/undici@7.
|
|
10290
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module3) {
|
|
10223
10291
|
"use strict";
|
|
10224
10292
|
var assert7 = require("node:assert");
|
|
10225
10293
|
var util = require_util();
|
|
@@ -10793,8 +10861,12 @@ var require_client_h1 = __commonJS({
|
|
|
10793
10861
|
return 0;
|
|
10794
10862
|
}
|
|
10795
10863
|
};
|
|
10796
|
-
function onParserTimeout(
|
|
10797
|
-
const
|
|
10864
|
+
function onParserTimeout(parserWeakRef) {
|
|
10865
|
+
const parser2 = parserWeakRef.deref();
|
|
10866
|
+
if (!parser2) {
|
|
10867
|
+
return;
|
|
10868
|
+
}
|
|
10869
|
+
const { socket, timeoutType, client, paused } = parser2;
|
|
10798
10870
|
if (timeoutType === TIMEOUT_HEADERS) {
|
|
10799
10871
|
if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
|
|
10800
10872
|
assert7(!paused, "cannot be paused while waiting for headers");
|
|
@@ -11030,6 +11102,9 @@ var require_client_h1 = __commonJS({
|
|
|
11030
11102
|
if (blocking) {
|
|
11031
11103
|
socket[kBlocking] = true;
|
|
11032
11104
|
}
|
|
11105
|
+
if (socket.setTypeOfService) {
|
|
11106
|
+
socket.setTypeOfService(request2.typeOfService);
|
|
11107
|
+
}
|
|
11033
11108
|
let header = `${method} ${path4} HTTP/1.1\r
|
|
11034
11109
|
`;
|
|
11035
11110
|
if (typeof host === "string") {
|
|
@@ -11376,9 +11451,9 @@ ${len.toString(16)}\r
|
|
|
11376
11451
|
}
|
|
11377
11452
|
});
|
|
11378
11453
|
|
|
11379
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
11454
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/client-h2.js
|
|
11380
11455
|
var require_client_h2 = __commonJS({
|
|
11381
|
-
"../../node_modules/.pnpm/undici@7.
|
|
11456
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module3) {
|
|
11382
11457
|
"use strict";
|
|
11383
11458
|
var assert7 = require("node:assert");
|
|
11384
11459
|
var { pipeline } = require("node:stream");
|
|
@@ -11404,7 +11479,10 @@ var require_client_h2 = __commonJS({
|
|
|
11404
11479
|
kStrictContentLength,
|
|
11405
11480
|
kOnError,
|
|
11406
11481
|
kMaxConcurrentStreams,
|
|
11482
|
+
kPingInterval,
|
|
11407
11483
|
kHTTP2Session,
|
|
11484
|
+
kHTTP2InitialWindowSize,
|
|
11485
|
+
kHTTP2ConnectionWindowSize,
|
|
11408
11486
|
kResume,
|
|
11409
11487
|
kSize,
|
|
11410
11488
|
kHTTPContext,
|
|
@@ -11412,7 +11490,8 @@ var require_client_h2 = __commonJS({
|
|
|
11412
11490
|
kBodyTimeout,
|
|
11413
11491
|
kEnableConnectProtocol,
|
|
11414
11492
|
kRemoteSettings,
|
|
11415
|
-
kHTTP2Stream
|
|
11493
|
+
kHTTP2Stream,
|
|
11494
|
+
kHTTP2SessionState
|
|
11416
11495
|
} = require_symbols();
|
|
11417
11496
|
var { channels } = require_diagnostics();
|
|
11418
11497
|
var kOpenStreams = /* @__PURE__ */ Symbol("open streams");
|
|
@@ -11452,20 +11531,31 @@ var require_client_h2 = __commonJS({
|
|
|
11452
11531
|
}
|
|
11453
11532
|
function connectH2(client, socket) {
|
|
11454
11533
|
client[kSocket] = socket;
|
|
11534
|
+
const http2InitialWindowSize = client[kHTTP2InitialWindowSize];
|
|
11535
|
+
const http2ConnectionWindowSize = client[kHTTP2ConnectionWindowSize];
|
|
11455
11536
|
const session = http2.connect(client[kUrl], {
|
|
11456
11537
|
createConnection: () => socket,
|
|
11457
11538
|
peerMaxConcurrentStreams: client[kMaxConcurrentStreams],
|
|
11458
11539
|
settings: {
|
|
11459
11540
|
// TODO(metcoder95): add support for PUSH
|
|
11460
|
-
enablePush: false
|
|
11541
|
+
enablePush: false,
|
|
11542
|
+
...http2InitialWindowSize != null ? { initialWindowSize: http2InitialWindowSize } : null
|
|
11461
11543
|
}
|
|
11462
11544
|
});
|
|
11545
|
+
client[kSocket] = socket;
|
|
11463
11546
|
session[kOpenStreams] = 0;
|
|
11464
11547
|
session[kClient] = client;
|
|
11465
11548
|
session[kSocket] = socket;
|
|
11466
|
-
session[
|
|
11549
|
+
session[kHTTP2SessionState] = {
|
|
11550
|
+
ping: {
|
|
11551
|
+
interval: client[kPingInterval] === 0 ? null : setInterval(onHttp2SendPing, client[kPingInterval], session).unref()
|
|
11552
|
+
}
|
|
11553
|
+
};
|
|
11467
11554
|
session[kEnableConnectProtocol] = false;
|
|
11468
11555
|
session[kRemoteSettings] = false;
|
|
11556
|
+
if (http2ConnectionWindowSize) {
|
|
11557
|
+
util.addListener(session, "connect", applyConnectionWindowSize.bind(session, http2ConnectionWindowSize));
|
|
11558
|
+
}
|
|
11469
11559
|
util.addListener(session, "error", onHttp2SessionError);
|
|
11470
11560
|
util.addListener(session, "frameError", onHttp2FrameError);
|
|
11471
11561
|
util.addListener(session, "end", onHttp2SessionEnd);
|
|
@@ -11543,6 +11633,14 @@ var require_client_h2 = __commonJS({
|
|
|
11543
11633
|
}
|
|
11544
11634
|
}
|
|
11545
11635
|
}
|
|
11636
|
+
function applyConnectionWindowSize(connectionWindowSize) {
|
|
11637
|
+
try {
|
|
11638
|
+
if (typeof this.setLocalWindowSize === "function") {
|
|
11639
|
+
this.setLocalWindowSize(connectionWindowSize);
|
|
11640
|
+
}
|
|
11641
|
+
} catch {
|
|
11642
|
+
}
|
|
11643
|
+
}
|
|
11546
11644
|
function onHttp2RemoteSettings(settings) {
|
|
11547
11645
|
this[kClient][kMaxConcurrentStreams] = settings.maxConcurrentStreams ?? this[kClient][kMaxConcurrentStreams];
|
|
11548
11646
|
if (this[kRemoteSettings] === true && this[kEnableConnectProtocol] === true && settings.enableConnectProtocol === false) {
|
|
@@ -11555,6 +11653,26 @@ var require_client_h2 = __commonJS({
|
|
|
11555
11653
|
this[kRemoteSettings] = true;
|
|
11556
11654
|
this[kClient][kResume]();
|
|
11557
11655
|
}
|
|
11656
|
+
function onHttp2SendPing(session) {
|
|
11657
|
+
const state = session[kHTTP2SessionState];
|
|
11658
|
+
if ((session.closed || session.destroyed) && state.ping.interval != null) {
|
|
11659
|
+
clearInterval(state.ping.interval);
|
|
11660
|
+
state.ping.interval = null;
|
|
11661
|
+
return;
|
|
11662
|
+
}
|
|
11663
|
+
session.ping(onPing.bind(session));
|
|
11664
|
+
function onPing(err, duration) {
|
|
11665
|
+
const client = this[kClient];
|
|
11666
|
+
const socket = this[kClient];
|
|
11667
|
+
if (err != null) {
|
|
11668
|
+
const error2 = new InformationalError(`HTTP/2: "PING" errored - type ${err.message}`);
|
|
11669
|
+
socket[kError] = error2;
|
|
11670
|
+
client[kOnError](error2);
|
|
11671
|
+
} else {
|
|
11672
|
+
client.emit("ping", duration);
|
|
11673
|
+
}
|
|
11674
|
+
}
|
|
11675
|
+
}
|
|
11558
11676
|
function onHttp2SessionError(err) {
|
|
11559
11677
|
assert7(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
|
|
11560
11678
|
this[kSocket][kError] = err;
|
|
@@ -11592,11 +11710,15 @@ var require_client_h2 = __commonJS({
|
|
|
11592
11710
|
client[kResume]();
|
|
11593
11711
|
}
|
|
11594
11712
|
function onHttp2SessionClose() {
|
|
11595
|
-
const { [kClient]: client } = this;
|
|
11713
|
+
const { [kClient]: client, [kHTTP2SessionState]: state } = this;
|
|
11596
11714
|
const { [kSocket]: socket } = client;
|
|
11597
11715
|
const err = this[kSocket][kError] || this[kError] || new SocketError("closed", util.getSocketInfo(socket));
|
|
11598
11716
|
client[kSocket] = null;
|
|
11599
11717
|
client[kHTTPContext] = null;
|
|
11718
|
+
if (state.ping.interval != null) {
|
|
11719
|
+
clearInterval(state.ping.interval);
|
|
11720
|
+
state.ping.interval = null;
|
|
11721
|
+
}
|
|
11600
11722
|
if (client.destroyed) {
|
|
11601
11723
|
assert7(client[kPending] === 0);
|
|
11602
11724
|
const requests = client[kQueue].splice(client[kRunningIdx]);
|
|
@@ -11801,9 +11923,11 @@ var require_client_h2 = __commonJS({
|
|
|
11801
11923
|
}
|
|
11802
11924
|
++session[kOpenStreams];
|
|
11803
11925
|
stream.setTimeout(requestTimeout);
|
|
11926
|
+
let responseReceived = false;
|
|
11804
11927
|
stream.once("response", (headers2) => {
|
|
11805
11928
|
const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
|
|
11806
11929
|
request2.onResponseStarted();
|
|
11930
|
+
responseReceived = true;
|
|
11807
11931
|
if (request2.aborted) {
|
|
11808
11932
|
stream.removeAllListeners("data");
|
|
11809
11933
|
return;
|
|
@@ -11811,26 +11935,25 @@ var require_client_h2 = __commonJS({
|
|
|
11811
11935
|
if (request2.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), "") === false) {
|
|
11812
11936
|
stream.pause();
|
|
11813
11937
|
}
|
|
11938
|
+
stream.on("data", (chunk) => {
|
|
11939
|
+
if (request2.aborted || request2.completed) {
|
|
11940
|
+
return;
|
|
11941
|
+
}
|
|
11942
|
+
if (request2.onData(chunk) === false) {
|
|
11943
|
+
stream.pause();
|
|
11944
|
+
}
|
|
11945
|
+
});
|
|
11814
11946
|
});
|
|
11815
|
-
stream.
|
|
11816
|
-
if (request2.onData(chunk) === false) {
|
|
11817
|
-
stream.pause();
|
|
11818
|
-
}
|
|
11819
|
-
});
|
|
11820
|
-
stream.once("end", (err) => {
|
|
11947
|
+
stream.once("end", () => {
|
|
11821
11948
|
stream.removeAllListeners("data");
|
|
11822
|
-
if (
|
|
11949
|
+
if (responseReceived) {
|
|
11823
11950
|
if (!request2.aborted && !request2.completed) {
|
|
11824
11951
|
request2.onComplete({});
|
|
11825
11952
|
}
|
|
11826
11953
|
client[kQueue][client[kRunningIdx]++] = null;
|
|
11827
11954
|
client[kResume]();
|
|
11828
11955
|
} else {
|
|
11829
|
-
|
|
11830
|
-
if (session[kOpenStreams] === 0) {
|
|
11831
|
-
session.unref();
|
|
11832
|
-
}
|
|
11833
|
-
abort(err ?? new InformationalError("HTTP/2: stream half-closed (remote)"));
|
|
11956
|
+
abort(new InformationalError("HTTP/2: stream half-closed (remote)"));
|
|
11834
11957
|
client[kQueue][client[kRunningIdx]++] = null;
|
|
11835
11958
|
client[kPendingIdx] = client[kRunningIdx];
|
|
11836
11959
|
client[kResume]();
|
|
@@ -11867,6 +11990,7 @@ var require_client_h2 = __commonJS({
|
|
|
11867
11990
|
if (request2.aborted || request2.completed) {
|
|
11868
11991
|
return;
|
|
11869
11992
|
}
|
|
11993
|
+
stream.removeAllListeners("data");
|
|
11870
11994
|
request2.onComplete(trailers);
|
|
11871
11995
|
});
|
|
11872
11996
|
return true;
|
|
@@ -12054,9 +12178,9 @@ var require_client_h2 = __commonJS({
|
|
|
12054
12178
|
}
|
|
12055
12179
|
});
|
|
12056
12180
|
|
|
12057
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
12181
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/client.js
|
|
12058
12182
|
var require_client = __commonJS({
|
|
12059
|
-
"../../node_modules/.pnpm/undici@7.
|
|
12183
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/client.js"(exports2, module3) {
|
|
12060
12184
|
"use strict";
|
|
12061
12185
|
var assert7 = require("node:assert");
|
|
12062
12186
|
var net = require("node:net");
|
|
@@ -12110,7 +12234,10 @@ var require_client = __commonJS({
|
|
|
12110
12234
|
kOnError,
|
|
12111
12235
|
kHTTPContext,
|
|
12112
12236
|
kMaxConcurrentStreams,
|
|
12113
|
-
|
|
12237
|
+
kHTTP2InitialWindowSize,
|
|
12238
|
+
kHTTP2ConnectionWindowSize,
|
|
12239
|
+
kResume,
|
|
12240
|
+
kPingInterval
|
|
12114
12241
|
} = require_symbols();
|
|
12115
12242
|
var connectH1 = require_client_h1();
|
|
12116
12243
|
var connectH2 = require_client_h2();
|
|
@@ -12156,7 +12283,10 @@ var require_client = __commonJS({
|
|
|
12156
12283
|
// h2
|
|
12157
12284
|
maxConcurrentStreams,
|
|
12158
12285
|
allowH2,
|
|
12159
|
-
useH2c
|
|
12286
|
+
useH2c,
|
|
12287
|
+
initialWindowSize,
|
|
12288
|
+
connectionWindowSize,
|
|
12289
|
+
pingInterval
|
|
12160
12290
|
} = {}) {
|
|
12161
12291
|
if (keepAlive !== void 0) {
|
|
12162
12292
|
throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
|
|
@@ -12225,6 +12355,15 @@ var require_client = __commonJS({
|
|
|
12225
12355
|
if (useH2c != null && typeof useH2c !== "boolean") {
|
|
12226
12356
|
throw new InvalidArgumentError("useH2c must be a valid boolean value");
|
|
12227
12357
|
}
|
|
12358
|
+
if (initialWindowSize != null && (!Number.isInteger(initialWindowSize) || initialWindowSize < 1)) {
|
|
12359
|
+
throw new InvalidArgumentError("initialWindowSize must be a positive integer, greater than 0");
|
|
12360
|
+
}
|
|
12361
|
+
if (connectionWindowSize != null && (!Number.isInteger(connectionWindowSize) || connectionWindowSize < 1)) {
|
|
12362
|
+
throw new InvalidArgumentError("connectionWindowSize must be a positive integer, greater than 0");
|
|
12363
|
+
}
|
|
12364
|
+
if (pingInterval != null && (typeof pingInterval !== "number" || !Number.isInteger(pingInterval) || pingInterval < 0)) {
|
|
12365
|
+
throw new InvalidArgumentError("pingInterval must be a positive integer, greater or equal to 0");
|
|
12366
|
+
}
|
|
12228
12367
|
super();
|
|
12229
12368
|
if (typeof connect2 !== "function") {
|
|
12230
12369
|
connect2 = buildConnector({
|
|
@@ -12237,6 +12376,9 @@ var require_client = __commonJS({
|
|
|
12237
12376
|
...typeof autoSelectFamily === "boolean" ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
|
|
12238
12377
|
...connect2
|
|
12239
12378
|
});
|
|
12379
|
+
} else if (socketPath != null) {
|
|
12380
|
+
const customConnect = connect2;
|
|
12381
|
+
connect2 = (opts, callback) => customConnect({ ...opts, socketPath }, callback);
|
|
12240
12382
|
}
|
|
12241
12383
|
this[kUrl] = util.parseOrigin(url);
|
|
12242
12384
|
this[kConnector] = connect2;
|
|
@@ -12258,8 +12400,11 @@ var require_client = __commonJS({
|
|
|
12258
12400
|
this[kMaxRequests] = maxRequestsPerClient;
|
|
12259
12401
|
this[kClosedResolve] = null;
|
|
12260
12402
|
this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
|
|
12261
|
-
this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
|
|
12262
12403
|
this[kHTTPContext] = null;
|
|
12404
|
+
this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100;
|
|
12405
|
+
this[kHTTP2InitialWindowSize] = initialWindowSize != null ? initialWindowSize : 262144;
|
|
12406
|
+
this[kHTTP2ConnectionWindowSize] = connectionWindowSize != null ? connectionWindowSize : 524288;
|
|
12407
|
+
this[kPingInterval] = pingInterval != null ? pingInterval : 6e4;
|
|
12263
12408
|
this[kQueue] = [];
|
|
12264
12409
|
this[kRunningIdx] = 0;
|
|
12265
12410
|
this[kPendingIdx] = 0;
|
|
@@ -12513,6 +12658,9 @@ var require_client = __commonJS({
|
|
|
12513
12658
|
return;
|
|
12514
12659
|
}
|
|
12515
12660
|
const request2 = client[kQueue][client[kPendingIdx]];
|
|
12661
|
+
if (request2 === null) {
|
|
12662
|
+
return;
|
|
12663
|
+
}
|
|
12516
12664
|
if (client[kUrl].protocol === "https:" && client[kServerName] !== request2.servername) {
|
|
12517
12665
|
if (client[kRunning] > 0) {
|
|
12518
12666
|
return;
|
|
@@ -12547,9 +12695,9 @@ var require_client = __commonJS({
|
|
|
12547
12695
|
}
|
|
12548
12696
|
});
|
|
12549
12697
|
|
|
12550
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
12698
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/fixed-queue.js
|
|
12551
12699
|
var require_fixed_queue = __commonJS({
|
|
12552
|
-
"../../node_modules/.pnpm/undici@7.
|
|
12700
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module3) {
|
|
12553
12701
|
"use strict";
|
|
12554
12702
|
var kSize = 2048;
|
|
12555
12703
|
var kMask = kSize - 1;
|
|
@@ -12618,9 +12766,9 @@ var require_fixed_queue = __commonJS({
|
|
|
12618
12766
|
}
|
|
12619
12767
|
});
|
|
12620
12768
|
|
|
12621
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
12769
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/pool-base.js
|
|
12622
12770
|
var require_pool_base = __commonJS({
|
|
12623
|
-
"../../node_modules/.pnpm/undici@7.
|
|
12771
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module3) {
|
|
12624
12772
|
"use strict";
|
|
12625
12773
|
var { PoolStats } = require_stats();
|
|
12626
12774
|
var DispatcherBase = require_dispatcher_base();
|
|
@@ -12659,9 +12807,12 @@ var require_pool_base = __commonJS({
|
|
|
12659
12807
|
this.emit("drain", origin, [this, ...targets]);
|
|
12660
12808
|
}
|
|
12661
12809
|
if (this[kClosedResolve] && queue.isEmpty()) {
|
|
12662
|
-
const closeAll =
|
|
12810
|
+
const closeAll = [];
|
|
12663
12811
|
for (let i = 0; i < this[kClients].length; i++) {
|
|
12664
|
-
|
|
12812
|
+
const client2 = this[kClients][i];
|
|
12813
|
+
if (!client2.destroyed) {
|
|
12814
|
+
closeAll.push(client2.close());
|
|
12815
|
+
}
|
|
12665
12816
|
}
|
|
12666
12817
|
return Promise.all(closeAll).then(this[kClosedResolve]);
|
|
12667
12818
|
}
|
|
@@ -12718,9 +12869,12 @@ var require_pool_base = __commonJS({
|
|
|
12718
12869
|
}
|
|
12719
12870
|
[kClose]() {
|
|
12720
12871
|
if (this[kQueue].isEmpty()) {
|
|
12721
|
-
const closeAll =
|
|
12872
|
+
const closeAll = [];
|
|
12722
12873
|
for (let i = 0; i < this[kClients].length; i++) {
|
|
12723
|
-
|
|
12874
|
+
const client = this[kClients][i];
|
|
12875
|
+
if (!client.destroyed) {
|
|
12876
|
+
closeAll.push(client.close());
|
|
12877
|
+
}
|
|
12724
12878
|
}
|
|
12725
12879
|
return Promise.all(closeAll);
|
|
12726
12880
|
} else {
|
|
@@ -12788,9 +12942,9 @@ var require_pool_base = __commonJS({
|
|
|
12788
12942
|
}
|
|
12789
12943
|
});
|
|
12790
12944
|
|
|
12791
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
12945
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/pool.js
|
|
12792
12946
|
var require_pool = __commonJS({
|
|
12793
|
-
"../../node_modules/.pnpm/undici@7.
|
|
12947
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/pool.js"(exports2, module3) {
|
|
12794
12948
|
"use strict";
|
|
12795
12949
|
var {
|
|
12796
12950
|
PoolBase,
|
|
@@ -12851,7 +13005,7 @@ var require_pool = __commonJS({
|
|
|
12851
13005
|
super();
|
|
12852
13006
|
this[kConnections] = connections || null;
|
|
12853
13007
|
this[kUrl] = util.parseOrigin(origin);
|
|
12854
|
-
this[kOptions] = { ...util.deepClone(options), connect, allowH2, clientTtl };
|
|
13008
|
+
this[kOptions] = { ...util.deepClone(options), connect, allowH2, clientTtl, socketPath };
|
|
12855
13009
|
this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
|
|
12856
13010
|
this[kFactory] = factory;
|
|
12857
13011
|
this.on("connect", (origin2, targets) => {
|
|
@@ -12890,9 +13044,9 @@ var require_pool = __commonJS({
|
|
|
12890
13044
|
}
|
|
12891
13045
|
});
|
|
12892
13046
|
|
|
12893
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
13047
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/balanced-pool.js
|
|
12894
13048
|
var require_balanced_pool = __commonJS({
|
|
12895
|
-
"../../node_modules/.pnpm/undici@7.
|
|
13049
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/balanced-pool.js"(exports2, module3) {
|
|
12896
13050
|
"use strict";
|
|
12897
13051
|
var {
|
|
12898
13052
|
BalancedPoolMissingUpstreamError,
|
|
@@ -12908,7 +13062,7 @@ var require_balanced_pool = __commonJS({
|
|
|
12908
13062
|
} = require_pool_base();
|
|
12909
13063
|
var Pool = require_pool();
|
|
12910
13064
|
var { kUrl } = require_symbols();
|
|
12911
|
-
var
|
|
13065
|
+
var util = require_util();
|
|
12912
13066
|
var kFactory = /* @__PURE__ */ Symbol("factory");
|
|
12913
13067
|
var kOptions = /* @__PURE__ */ Symbol("options");
|
|
12914
13068
|
var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
|
|
@@ -12935,7 +13089,8 @@ var require_balanced_pool = __commonJS({
|
|
|
12935
13089
|
throw new InvalidArgumentError("factory must be a function.");
|
|
12936
13090
|
}
|
|
12937
13091
|
super();
|
|
12938
|
-
this[kOptions] = opts;
|
|
13092
|
+
this[kOptions] = { ...util.deepClone(opts) };
|
|
13093
|
+
this[kOptions].interceptors = opts.interceptors ? { ...opts.interceptors } : void 0;
|
|
12939
13094
|
this[kIndex] = -1;
|
|
12940
13095
|
this[kCurrentWeight] = 0;
|
|
12941
13096
|
this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100;
|
|
@@ -12950,11 +13105,11 @@ var require_balanced_pool = __commonJS({
|
|
|
12950
13105
|
this._updateBalancedPoolStats();
|
|
12951
13106
|
}
|
|
12952
13107
|
addUpstream(upstream) {
|
|
12953
|
-
const upstreamOrigin = parseOrigin(upstream).origin;
|
|
13108
|
+
const upstreamOrigin = util.parseOrigin(upstream).origin;
|
|
12954
13109
|
if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) {
|
|
12955
13110
|
return this;
|
|
12956
13111
|
}
|
|
12957
|
-
const pool = this[kFactory](upstreamOrigin,
|
|
13112
|
+
const pool = this[kFactory](upstreamOrigin, this[kOptions]);
|
|
12958
13113
|
this[kAddClient](pool);
|
|
12959
13114
|
pool.on("connect", () => {
|
|
12960
13115
|
pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]);
|
|
@@ -12984,7 +13139,7 @@ var require_balanced_pool = __commonJS({
|
|
|
12984
13139
|
this[kGreatestCommonDivisor] = result;
|
|
12985
13140
|
}
|
|
12986
13141
|
removeUpstream(upstream) {
|
|
12987
|
-
const upstreamOrigin = parseOrigin(upstream).origin;
|
|
13142
|
+
const upstreamOrigin = util.parseOrigin(upstream).origin;
|
|
12988
13143
|
const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true);
|
|
12989
13144
|
if (pool) {
|
|
12990
13145
|
this[kRemoveClient](pool);
|
|
@@ -12992,7 +13147,7 @@ var require_balanced_pool = __commonJS({
|
|
|
12992
13147
|
return this;
|
|
12993
13148
|
}
|
|
12994
13149
|
getUpstream(upstream) {
|
|
12995
|
-
const upstreamOrigin = parseOrigin(upstream).origin;
|
|
13150
|
+
const upstreamOrigin = util.parseOrigin(upstream).origin;
|
|
12996
13151
|
return this[kClients].find((pool) => pool[kUrl].origin === upstreamOrigin && pool.closed !== true && pool.destroyed !== true);
|
|
12997
13152
|
}
|
|
12998
13153
|
get upstreams() {
|
|
@@ -13037,9 +13192,9 @@ var require_balanced_pool = __commonJS({
|
|
|
13037
13192
|
}
|
|
13038
13193
|
});
|
|
13039
13194
|
|
|
13040
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
13195
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/round-robin-pool.js
|
|
13041
13196
|
var require_round_robin_pool = __commonJS({
|
|
13042
|
-
"../../node_modules/.pnpm/undici@7.
|
|
13197
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/round-robin-pool.js"(exports2, module3) {
|
|
13043
13198
|
"use strict";
|
|
13044
13199
|
var {
|
|
13045
13200
|
PoolBase,
|
|
@@ -13101,7 +13256,7 @@ var require_round_robin_pool = __commonJS({
|
|
|
13101
13256
|
super();
|
|
13102
13257
|
this[kConnections] = connections || null;
|
|
13103
13258
|
this[kUrl] = util.parseOrigin(origin);
|
|
13104
|
-
this[kOptions] = { ...util.deepClone(options), connect, allowH2, clientTtl };
|
|
13259
|
+
this[kOptions] = { ...util.deepClone(options), connect, allowH2, clientTtl, socketPath };
|
|
13105
13260
|
this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
|
|
13106
13261
|
this[kFactory] = factory;
|
|
13107
13262
|
this[kIndex] = -1;
|
|
@@ -13154,9 +13309,9 @@ var require_round_robin_pool = __commonJS({
|
|
|
13154
13309
|
}
|
|
13155
13310
|
});
|
|
13156
13311
|
|
|
13157
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
13312
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/agent.js
|
|
13158
13313
|
var require_agent = __commonJS({
|
|
13159
|
-
"../../node_modules/.pnpm/undici@7.
|
|
13314
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/agent.js"(exports2, module3) {
|
|
13160
13315
|
"use strict";
|
|
13161
13316
|
var { InvalidArgumentError, MaxOriginsReachedError } = require_errors();
|
|
13162
13317
|
var { kClients, kRunning, kClose, kDestroy, kDispatch, kUrl } = require_symbols();
|
|
@@ -13232,7 +13387,9 @@ var require_agent = __commonJS({
|
|
|
13232
13387
|
if (connected) result2.count -= 1;
|
|
13233
13388
|
if (result2.count <= 0) {
|
|
13234
13389
|
this[kClients].delete(key);
|
|
13235
|
-
result2.dispatcher.
|
|
13390
|
+
if (!result2.dispatcher.destroyed) {
|
|
13391
|
+
result2.dispatcher.close();
|
|
13392
|
+
}
|
|
13236
13393
|
}
|
|
13237
13394
|
this[kOrigins].delete(key);
|
|
13238
13395
|
}
|
|
@@ -13285,9 +13442,670 @@ var require_agent = __commonJS({
|
|
|
13285
13442
|
}
|
|
13286
13443
|
});
|
|
13287
13444
|
|
|
13288
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
13445
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/socks5-utils.js
|
|
13446
|
+
var require_socks5_utils = __commonJS({
|
|
13447
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/socks5-utils.js"(exports2, module3) {
|
|
13448
|
+
"use strict";
|
|
13449
|
+
var { Buffer: Buffer2 } = require("node:buffer");
|
|
13450
|
+
var net = require("node:net");
|
|
13451
|
+
var { InvalidArgumentError } = require_errors();
|
|
13452
|
+
function parseAddress(address) {
|
|
13453
|
+
if (net.isIPv4(address)) {
|
|
13454
|
+
const parts = address.split(".").map(Number);
|
|
13455
|
+
return {
|
|
13456
|
+
type: 1,
|
|
13457
|
+
// IPv4
|
|
13458
|
+
buffer: Buffer2.from(parts)
|
|
13459
|
+
};
|
|
13460
|
+
}
|
|
13461
|
+
if (net.isIPv6(address)) {
|
|
13462
|
+
return {
|
|
13463
|
+
type: 4,
|
|
13464
|
+
// IPv6
|
|
13465
|
+
buffer: parseIPv6(address)
|
|
13466
|
+
};
|
|
13467
|
+
}
|
|
13468
|
+
const domainBuffer = Buffer2.from(address, "utf8");
|
|
13469
|
+
if (domainBuffer.length > 255) {
|
|
13470
|
+
throw new InvalidArgumentError("Domain name too long (max 255 bytes)");
|
|
13471
|
+
}
|
|
13472
|
+
return {
|
|
13473
|
+
type: 3,
|
|
13474
|
+
// Domain
|
|
13475
|
+
buffer: Buffer2.concat([Buffer2.from([domainBuffer.length]), domainBuffer])
|
|
13476
|
+
};
|
|
13477
|
+
}
|
|
13478
|
+
function parseIPv6(address) {
|
|
13479
|
+
const buffer = Buffer2.alloc(16);
|
|
13480
|
+
const parts = address.split(":");
|
|
13481
|
+
let partIndex = 0;
|
|
13482
|
+
let bufferIndex = 0;
|
|
13483
|
+
const doubleColonIndex = address.indexOf("::");
|
|
13484
|
+
if (doubleColonIndex !== -1) {
|
|
13485
|
+
const nonEmptyParts = parts.filter((p2) => p2.length > 0).length;
|
|
13486
|
+
const skipParts = 8 - nonEmptyParts;
|
|
13487
|
+
for (let i = 0; i < parts.length; i++) {
|
|
13488
|
+
if (parts[i] === "" && i === doubleColonIndex / 3) {
|
|
13489
|
+
bufferIndex += skipParts * 2;
|
|
13490
|
+
} else if (parts[i] !== "") {
|
|
13491
|
+
const value = parseInt(parts[i], 16);
|
|
13492
|
+
buffer.writeUInt16BE(value, bufferIndex);
|
|
13493
|
+
bufferIndex += 2;
|
|
13494
|
+
}
|
|
13495
|
+
}
|
|
13496
|
+
} else {
|
|
13497
|
+
for (const part of parts) {
|
|
13498
|
+
if (part === "") continue;
|
|
13499
|
+
const value = parseInt(part, 16);
|
|
13500
|
+
buffer.writeUInt16BE(value, partIndex * 2);
|
|
13501
|
+
partIndex++;
|
|
13502
|
+
}
|
|
13503
|
+
}
|
|
13504
|
+
return buffer;
|
|
13505
|
+
}
|
|
13506
|
+
function buildAddressBuffer(type, addressBuffer, port) {
|
|
13507
|
+
const portBuffer = Buffer2.allocUnsafe(2);
|
|
13508
|
+
portBuffer.writeUInt16BE(port, 0);
|
|
13509
|
+
return Buffer2.concat([
|
|
13510
|
+
Buffer2.from([type]),
|
|
13511
|
+
addressBuffer,
|
|
13512
|
+
portBuffer
|
|
13513
|
+
]);
|
|
13514
|
+
}
|
|
13515
|
+
function parseResponseAddress(buffer, offset = 0) {
|
|
13516
|
+
if (buffer.length < offset + 1) {
|
|
13517
|
+
throw new InvalidArgumentError("Buffer too small to contain address type");
|
|
13518
|
+
}
|
|
13519
|
+
const addressType = buffer[offset];
|
|
13520
|
+
let address;
|
|
13521
|
+
let currentOffset = offset + 1;
|
|
13522
|
+
switch (addressType) {
|
|
13523
|
+
case 1: {
|
|
13524
|
+
if (buffer.length < currentOffset + 6) {
|
|
13525
|
+
throw new InvalidArgumentError("Buffer too small for IPv4 address");
|
|
13526
|
+
}
|
|
13527
|
+
address = Array.from(buffer.subarray(currentOffset, currentOffset + 4)).join(".");
|
|
13528
|
+
currentOffset += 4;
|
|
13529
|
+
break;
|
|
13530
|
+
}
|
|
13531
|
+
case 3: {
|
|
13532
|
+
if (buffer.length < currentOffset + 1) {
|
|
13533
|
+
throw new InvalidArgumentError("Buffer too small for domain length");
|
|
13534
|
+
}
|
|
13535
|
+
const domainLength = buffer[currentOffset];
|
|
13536
|
+
currentOffset += 1;
|
|
13537
|
+
if (buffer.length < currentOffset + domainLength + 2) {
|
|
13538
|
+
throw new InvalidArgumentError("Buffer too small for domain address");
|
|
13539
|
+
}
|
|
13540
|
+
address = buffer.subarray(currentOffset, currentOffset + domainLength).toString("utf8");
|
|
13541
|
+
currentOffset += domainLength;
|
|
13542
|
+
break;
|
|
13543
|
+
}
|
|
13544
|
+
case 4: {
|
|
13545
|
+
if (buffer.length < currentOffset + 18) {
|
|
13546
|
+
throw new InvalidArgumentError("Buffer too small for IPv6 address");
|
|
13547
|
+
}
|
|
13548
|
+
const parts = [];
|
|
13549
|
+
for (let i = 0; i < 8; i++) {
|
|
13550
|
+
const value = buffer.readUInt16BE(currentOffset + i * 2);
|
|
13551
|
+
parts.push(value.toString(16));
|
|
13552
|
+
}
|
|
13553
|
+
address = parts.join(":");
|
|
13554
|
+
currentOffset += 16;
|
|
13555
|
+
break;
|
|
13556
|
+
}
|
|
13557
|
+
default:
|
|
13558
|
+
throw new InvalidArgumentError(`Invalid address type: ${addressType}`);
|
|
13559
|
+
}
|
|
13560
|
+
if (buffer.length < currentOffset + 2) {
|
|
13561
|
+
throw new InvalidArgumentError("Buffer too small for port");
|
|
13562
|
+
}
|
|
13563
|
+
const port = buffer.readUInt16BE(currentOffset);
|
|
13564
|
+
currentOffset += 2;
|
|
13565
|
+
return {
|
|
13566
|
+
address,
|
|
13567
|
+
port,
|
|
13568
|
+
bytesRead: currentOffset - offset
|
|
13569
|
+
};
|
|
13570
|
+
}
|
|
13571
|
+
function createReplyError(replyCode) {
|
|
13572
|
+
const messages = {
|
|
13573
|
+
1: "General SOCKS server failure",
|
|
13574
|
+
2: "Connection not allowed by ruleset",
|
|
13575
|
+
3: "Network unreachable",
|
|
13576
|
+
4: "Host unreachable",
|
|
13577
|
+
5: "Connection refused",
|
|
13578
|
+
6: "TTL expired",
|
|
13579
|
+
7: "Command not supported",
|
|
13580
|
+
8: "Address type not supported"
|
|
13581
|
+
};
|
|
13582
|
+
const message = messages[replyCode] || `Unknown SOCKS5 error code: ${replyCode}`;
|
|
13583
|
+
const error2 = new Error(message);
|
|
13584
|
+
error2.code = `SOCKS5_${replyCode}`;
|
|
13585
|
+
return error2;
|
|
13586
|
+
}
|
|
13587
|
+
module3.exports = {
|
|
13588
|
+
parseAddress,
|
|
13589
|
+
parseIPv6,
|
|
13590
|
+
buildAddressBuffer,
|
|
13591
|
+
parseResponseAddress,
|
|
13592
|
+
createReplyError
|
|
13593
|
+
};
|
|
13594
|
+
}
|
|
13595
|
+
});
|
|
13596
|
+
|
|
13597
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/socks5-client.js
|
|
13598
|
+
var require_socks5_client = __commonJS({
|
|
13599
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/core/socks5-client.js"(exports2, module3) {
|
|
13600
|
+
"use strict";
|
|
13601
|
+
var { EventEmitter } = require("node:events");
|
|
13602
|
+
var { Buffer: Buffer2 } = require("node:buffer");
|
|
13603
|
+
var { InvalidArgumentError, Socks5ProxyError } = require_errors();
|
|
13604
|
+
var { debuglog } = require("node:util");
|
|
13605
|
+
var { parseAddress } = require_socks5_utils();
|
|
13606
|
+
var debug = debuglog("undici:socks5");
|
|
13607
|
+
var SOCKS_VERSION = 5;
|
|
13608
|
+
var AUTH_METHODS = {
|
|
13609
|
+
NO_AUTH: 0,
|
|
13610
|
+
GSSAPI: 1,
|
|
13611
|
+
USERNAME_PASSWORD: 2,
|
|
13612
|
+
NO_ACCEPTABLE: 255
|
|
13613
|
+
};
|
|
13614
|
+
var COMMANDS = {
|
|
13615
|
+
CONNECT: 1,
|
|
13616
|
+
BIND: 2,
|
|
13617
|
+
UDP_ASSOCIATE: 3
|
|
13618
|
+
};
|
|
13619
|
+
var ADDRESS_TYPES = {
|
|
13620
|
+
IPV4: 1,
|
|
13621
|
+
DOMAIN: 3,
|
|
13622
|
+
IPV6: 4
|
|
13623
|
+
};
|
|
13624
|
+
var REPLY_CODES = {
|
|
13625
|
+
SUCCEEDED: 0,
|
|
13626
|
+
GENERAL_FAILURE: 1,
|
|
13627
|
+
CONNECTION_NOT_ALLOWED: 2,
|
|
13628
|
+
NETWORK_UNREACHABLE: 3,
|
|
13629
|
+
HOST_UNREACHABLE: 4,
|
|
13630
|
+
CONNECTION_REFUSED: 5,
|
|
13631
|
+
TTL_EXPIRED: 6,
|
|
13632
|
+
COMMAND_NOT_SUPPORTED: 7,
|
|
13633
|
+
ADDRESS_TYPE_NOT_SUPPORTED: 8
|
|
13634
|
+
};
|
|
13635
|
+
var STATES = {
|
|
13636
|
+
INITIAL: "initial",
|
|
13637
|
+
HANDSHAKING: "handshaking",
|
|
13638
|
+
AUTHENTICATING: "authenticating",
|
|
13639
|
+
CONNECTING: "connecting",
|
|
13640
|
+
CONNECTED: "connected",
|
|
13641
|
+
ERROR: "error",
|
|
13642
|
+
CLOSED: "closed"
|
|
13643
|
+
};
|
|
13644
|
+
var Socks5Client = class extends EventEmitter {
|
|
13645
|
+
constructor(socket, options = {}) {
|
|
13646
|
+
super();
|
|
13647
|
+
if (!socket) {
|
|
13648
|
+
throw new InvalidArgumentError("socket is required");
|
|
13649
|
+
}
|
|
13650
|
+
this.socket = socket;
|
|
13651
|
+
this.options = options;
|
|
13652
|
+
this.state = STATES.INITIAL;
|
|
13653
|
+
this.buffer = Buffer2.alloc(0);
|
|
13654
|
+
this.authMethods = [];
|
|
13655
|
+
if (options.username && options.password) {
|
|
13656
|
+
this.authMethods.push(AUTH_METHODS.USERNAME_PASSWORD);
|
|
13657
|
+
}
|
|
13658
|
+
this.authMethods.push(AUTH_METHODS.NO_AUTH);
|
|
13659
|
+
this.socket.on("data", this.onData.bind(this));
|
|
13660
|
+
this.socket.on("error", this.onError.bind(this));
|
|
13661
|
+
this.socket.on("close", this.onClose.bind(this));
|
|
13662
|
+
}
|
|
13663
|
+
/**
|
|
13664
|
+
* Handle incoming data from the socket
|
|
13665
|
+
*/
|
|
13666
|
+
onData(data) {
|
|
13667
|
+
debug("received data", data.length, "bytes in state", this.state);
|
|
13668
|
+
this.buffer = Buffer2.concat([this.buffer, data]);
|
|
13669
|
+
try {
|
|
13670
|
+
switch (this.state) {
|
|
13671
|
+
case STATES.HANDSHAKING:
|
|
13672
|
+
this.handleHandshakeResponse();
|
|
13673
|
+
break;
|
|
13674
|
+
case STATES.AUTHENTICATING:
|
|
13675
|
+
this.handleAuthResponse();
|
|
13676
|
+
break;
|
|
13677
|
+
case STATES.CONNECTING:
|
|
13678
|
+
this.handleConnectResponse();
|
|
13679
|
+
break;
|
|
13680
|
+
}
|
|
13681
|
+
} catch (err) {
|
|
13682
|
+
this.onError(err);
|
|
13683
|
+
}
|
|
13684
|
+
}
|
|
13685
|
+
/**
|
|
13686
|
+
* Handle socket errors
|
|
13687
|
+
*/
|
|
13688
|
+
onError(err) {
|
|
13689
|
+
debug("socket error", err);
|
|
13690
|
+
this.state = STATES.ERROR;
|
|
13691
|
+
this.emit("error", err);
|
|
13692
|
+
this.destroy();
|
|
13693
|
+
}
|
|
13694
|
+
/**
|
|
13695
|
+
* Handle socket close
|
|
13696
|
+
*/
|
|
13697
|
+
onClose() {
|
|
13698
|
+
debug("socket closed");
|
|
13699
|
+
this.state = STATES.CLOSED;
|
|
13700
|
+
this.emit("close");
|
|
13701
|
+
}
|
|
13702
|
+
/**
|
|
13703
|
+
* Destroy the client and underlying socket
|
|
13704
|
+
*/
|
|
13705
|
+
destroy() {
|
|
13706
|
+
if (this.socket && !this.socket.destroyed) {
|
|
13707
|
+
this.socket.destroy();
|
|
13708
|
+
}
|
|
13709
|
+
}
|
|
13710
|
+
/**
|
|
13711
|
+
* Start the SOCKS5 handshake
|
|
13712
|
+
*/
|
|
13713
|
+
handshake() {
|
|
13714
|
+
if (this.state !== STATES.INITIAL) {
|
|
13715
|
+
throw new InvalidArgumentError("Handshake already started");
|
|
13716
|
+
}
|
|
13717
|
+
debug("starting handshake with", this.authMethods.length, "auth methods");
|
|
13718
|
+
this.state = STATES.HANDSHAKING;
|
|
13719
|
+
const request2 = Buffer2.alloc(2 + this.authMethods.length);
|
|
13720
|
+
request2[0] = SOCKS_VERSION;
|
|
13721
|
+
request2[1] = this.authMethods.length;
|
|
13722
|
+
this.authMethods.forEach((method, i) => {
|
|
13723
|
+
request2[2 + i] = method;
|
|
13724
|
+
});
|
|
13725
|
+
this.socket.write(request2);
|
|
13726
|
+
}
|
|
13727
|
+
/**
|
|
13728
|
+
* Handle handshake response from server
|
|
13729
|
+
*/
|
|
13730
|
+
handleHandshakeResponse() {
|
|
13731
|
+
if (this.buffer.length < 2) {
|
|
13732
|
+
return;
|
|
13733
|
+
}
|
|
13734
|
+
const version3 = this.buffer[0];
|
|
13735
|
+
const method = this.buffer[1];
|
|
13736
|
+
if (version3 !== SOCKS_VERSION) {
|
|
13737
|
+
throw new Socks5ProxyError(`Invalid SOCKS version: ${version3}`, "UND_ERR_SOCKS5_VERSION");
|
|
13738
|
+
}
|
|
13739
|
+
if (method === AUTH_METHODS.NO_ACCEPTABLE) {
|
|
13740
|
+
throw new Socks5ProxyError("No acceptable authentication method", "UND_ERR_SOCKS5_AUTH_REJECTED");
|
|
13741
|
+
}
|
|
13742
|
+
this.buffer = this.buffer.subarray(2);
|
|
13743
|
+
debug("server selected auth method", method);
|
|
13744
|
+
if (method === AUTH_METHODS.NO_AUTH) {
|
|
13745
|
+
this.emit("authenticated");
|
|
13746
|
+
} else if (method === AUTH_METHODS.USERNAME_PASSWORD) {
|
|
13747
|
+
this.state = STATES.AUTHENTICATING;
|
|
13748
|
+
this.sendAuthRequest();
|
|
13749
|
+
} else {
|
|
13750
|
+
throw new Socks5ProxyError(`Unsupported authentication method: ${method}`, "UND_ERR_SOCKS5_AUTH_METHOD");
|
|
13751
|
+
}
|
|
13752
|
+
}
|
|
13753
|
+
/**
|
|
13754
|
+
* Send username/password authentication request
|
|
13755
|
+
*/
|
|
13756
|
+
sendAuthRequest() {
|
|
13757
|
+
const { username, password } = this.options;
|
|
13758
|
+
if (!username || !password) {
|
|
13759
|
+
throw new InvalidArgumentError("Username and password required for authentication");
|
|
13760
|
+
}
|
|
13761
|
+
debug("sending username/password auth");
|
|
13762
|
+
const usernameBuffer = Buffer2.from(username);
|
|
13763
|
+
const passwordBuffer = Buffer2.from(password);
|
|
13764
|
+
if (usernameBuffer.length > 255 || passwordBuffer.length > 255) {
|
|
13765
|
+
throw new InvalidArgumentError("Username or password too long");
|
|
13766
|
+
}
|
|
13767
|
+
const request2 = Buffer2.alloc(3 + usernameBuffer.length + passwordBuffer.length);
|
|
13768
|
+
request2[0] = 1;
|
|
13769
|
+
request2[1] = usernameBuffer.length;
|
|
13770
|
+
usernameBuffer.copy(request2, 2);
|
|
13771
|
+
request2[2 + usernameBuffer.length] = passwordBuffer.length;
|
|
13772
|
+
passwordBuffer.copy(request2, 3 + usernameBuffer.length);
|
|
13773
|
+
this.socket.write(request2);
|
|
13774
|
+
}
|
|
13775
|
+
/**
|
|
13776
|
+
* Handle authentication response
|
|
13777
|
+
*/
|
|
13778
|
+
handleAuthResponse() {
|
|
13779
|
+
if (this.buffer.length < 2) {
|
|
13780
|
+
return;
|
|
13781
|
+
}
|
|
13782
|
+
const version3 = this.buffer[0];
|
|
13783
|
+
const status2 = this.buffer[1];
|
|
13784
|
+
if (version3 !== 1) {
|
|
13785
|
+
throw new Socks5ProxyError(`Invalid auth sub-negotiation version: ${version3}`, "UND_ERR_SOCKS5_AUTH_VERSION");
|
|
13786
|
+
}
|
|
13787
|
+
if (status2 !== 0) {
|
|
13788
|
+
throw new Socks5ProxyError("Authentication failed", "UND_ERR_SOCKS5_AUTH_FAILED");
|
|
13789
|
+
}
|
|
13790
|
+
this.buffer = this.buffer.subarray(2);
|
|
13791
|
+
debug("authentication successful");
|
|
13792
|
+
this.emit("authenticated");
|
|
13793
|
+
}
|
|
13794
|
+
/**
|
|
13795
|
+
* Send CONNECT command
|
|
13796
|
+
* @param {string} address - Target address (IP or domain)
|
|
13797
|
+
* @param {number} port - Target port
|
|
13798
|
+
*/
|
|
13799
|
+
connect(address, port) {
|
|
13800
|
+
if (this.state === STATES.CONNECTED) {
|
|
13801
|
+
throw new InvalidArgumentError("Already connected");
|
|
13802
|
+
}
|
|
13803
|
+
debug("connecting to", address, port);
|
|
13804
|
+
this.state = STATES.CONNECTING;
|
|
13805
|
+
const request2 = this.buildConnectRequest(COMMANDS.CONNECT, address, port);
|
|
13806
|
+
this.socket.write(request2);
|
|
13807
|
+
}
|
|
13808
|
+
/**
|
|
13809
|
+
* Build a SOCKS5 request
|
|
13810
|
+
*/
|
|
13811
|
+
buildConnectRequest(command2, address, port) {
|
|
13812
|
+
const { type: addressType, buffer: addressBuffer } = parseAddress(address);
|
|
13813
|
+
const request2 = Buffer2.alloc(4 + addressBuffer.length + 2);
|
|
13814
|
+
request2[0] = SOCKS_VERSION;
|
|
13815
|
+
request2[1] = command2;
|
|
13816
|
+
request2[2] = 0;
|
|
13817
|
+
request2[3] = addressType;
|
|
13818
|
+
addressBuffer.copy(request2, 4);
|
|
13819
|
+
request2.writeUInt16BE(port, 4 + addressBuffer.length);
|
|
13820
|
+
return request2;
|
|
13821
|
+
}
|
|
13822
|
+
/**
|
|
13823
|
+
* Handle CONNECT response
|
|
13824
|
+
*/
|
|
13825
|
+
handleConnectResponse() {
|
|
13826
|
+
if (this.buffer.length < 4) {
|
|
13827
|
+
return;
|
|
13828
|
+
}
|
|
13829
|
+
const version3 = this.buffer[0];
|
|
13830
|
+
const reply = this.buffer[1];
|
|
13831
|
+
const addressType = this.buffer[3];
|
|
13832
|
+
if (version3 !== SOCKS_VERSION) {
|
|
13833
|
+
throw new Socks5ProxyError(`Invalid SOCKS version in reply: ${version3}`, "UND_ERR_SOCKS5_REPLY_VERSION");
|
|
13834
|
+
}
|
|
13835
|
+
let responseLength = 4;
|
|
13836
|
+
if (addressType === ADDRESS_TYPES.IPV4) {
|
|
13837
|
+
responseLength += 4 + 2;
|
|
13838
|
+
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
|
|
13839
|
+
if (this.buffer.length < 5) {
|
|
13840
|
+
return;
|
|
13841
|
+
}
|
|
13842
|
+
responseLength += 1 + this.buffer[4] + 2;
|
|
13843
|
+
} else if (addressType === ADDRESS_TYPES.IPV6) {
|
|
13844
|
+
responseLength += 16 + 2;
|
|
13845
|
+
} else {
|
|
13846
|
+
throw new Socks5ProxyError(`Invalid address type in reply: ${addressType}`, "UND_ERR_SOCKS5_ADDR_TYPE");
|
|
13847
|
+
}
|
|
13848
|
+
if (this.buffer.length < responseLength) {
|
|
13849
|
+
return;
|
|
13850
|
+
}
|
|
13851
|
+
if (reply !== REPLY_CODES.SUCCEEDED) {
|
|
13852
|
+
const errorMessage = this.getReplyErrorMessage(reply);
|
|
13853
|
+
throw new Socks5ProxyError(`SOCKS5 connection failed: ${errorMessage}`, `UND_ERR_SOCKS5_REPLY_${reply}`);
|
|
13854
|
+
}
|
|
13855
|
+
let boundAddress;
|
|
13856
|
+
let offset = 4;
|
|
13857
|
+
if (addressType === ADDRESS_TYPES.IPV4) {
|
|
13858
|
+
boundAddress = Array.from(this.buffer.subarray(offset, offset + 4)).join(".");
|
|
13859
|
+
offset += 4;
|
|
13860
|
+
} else if (addressType === ADDRESS_TYPES.DOMAIN) {
|
|
13861
|
+
const domainLength = this.buffer[offset];
|
|
13862
|
+
offset += 1;
|
|
13863
|
+
boundAddress = this.buffer.subarray(offset, offset + domainLength).toString();
|
|
13864
|
+
offset += domainLength;
|
|
13865
|
+
} else if (addressType === ADDRESS_TYPES.IPV6) {
|
|
13866
|
+
const parts = [];
|
|
13867
|
+
for (let i = 0; i < 8; i++) {
|
|
13868
|
+
const value = this.buffer.readUInt16BE(offset + i * 2);
|
|
13869
|
+
parts.push(value.toString(16));
|
|
13870
|
+
}
|
|
13871
|
+
boundAddress = parts.join(":");
|
|
13872
|
+
offset += 16;
|
|
13873
|
+
}
|
|
13874
|
+
const boundPort = this.buffer.readUInt16BE(offset);
|
|
13875
|
+
this.buffer = this.buffer.subarray(responseLength);
|
|
13876
|
+
this.state = STATES.CONNECTED;
|
|
13877
|
+
debug("connected, bound address:", boundAddress, "port:", boundPort);
|
|
13878
|
+
this.emit("connected", { address: boundAddress, port: boundPort });
|
|
13879
|
+
}
|
|
13880
|
+
/**
|
|
13881
|
+
* Get human-readable error message for reply code
|
|
13882
|
+
*/
|
|
13883
|
+
getReplyErrorMessage(reply) {
|
|
13884
|
+
switch (reply) {
|
|
13885
|
+
case REPLY_CODES.GENERAL_FAILURE:
|
|
13886
|
+
return "General SOCKS server failure";
|
|
13887
|
+
case REPLY_CODES.CONNECTION_NOT_ALLOWED:
|
|
13888
|
+
return "Connection not allowed by ruleset";
|
|
13889
|
+
case REPLY_CODES.NETWORK_UNREACHABLE:
|
|
13890
|
+
return "Network unreachable";
|
|
13891
|
+
case REPLY_CODES.HOST_UNREACHABLE:
|
|
13892
|
+
return "Host unreachable";
|
|
13893
|
+
case REPLY_CODES.CONNECTION_REFUSED:
|
|
13894
|
+
return "Connection refused";
|
|
13895
|
+
case REPLY_CODES.TTL_EXPIRED:
|
|
13896
|
+
return "TTL expired";
|
|
13897
|
+
case REPLY_CODES.COMMAND_NOT_SUPPORTED:
|
|
13898
|
+
return "Command not supported";
|
|
13899
|
+
case REPLY_CODES.ADDRESS_TYPE_NOT_SUPPORTED:
|
|
13900
|
+
return "Address type not supported";
|
|
13901
|
+
default:
|
|
13902
|
+
return `Unknown error code: ${reply}`;
|
|
13903
|
+
}
|
|
13904
|
+
}
|
|
13905
|
+
};
|
|
13906
|
+
module3.exports = {
|
|
13907
|
+
Socks5Client,
|
|
13908
|
+
AUTH_METHODS,
|
|
13909
|
+
COMMANDS,
|
|
13910
|
+
ADDRESS_TYPES,
|
|
13911
|
+
REPLY_CODES,
|
|
13912
|
+
STATES
|
|
13913
|
+
};
|
|
13914
|
+
}
|
|
13915
|
+
});
|
|
13916
|
+
|
|
13917
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js
|
|
13918
|
+
var require_socks5_proxy_agent = __commonJS({
|
|
13919
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js"(exports2, module3) {
|
|
13920
|
+
"use strict";
|
|
13921
|
+
var net = require("node:net");
|
|
13922
|
+
var { URL: URL2 } = require("node:url");
|
|
13923
|
+
var tls;
|
|
13924
|
+
var DispatcherBase = require_dispatcher_base();
|
|
13925
|
+
var { InvalidArgumentError } = require_errors();
|
|
13926
|
+
var { Socks5Client } = require_socks5_client();
|
|
13927
|
+
var { kDispatch, kClose, kDestroy } = require_symbols();
|
|
13928
|
+
var Pool = require_pool();
|
|
13929
|
+
var buildConnector = require_connect();
|
|
13930
|
+
var { debuglog } = require("node:util");
|
|
13931
|
+
var debug = debuglog("undici:socks5-proxy");
|
|
13932
|
+
var kProxyUrl = /* @__PURE__ */ Symbol("proxy url");
|
|
13933
|
+
var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
|
|
13934
|
+
var kProxyAuth = /* @__PURE__ */ Symbol("proxy auth");
|
|
13935
|
+
var kPool = /* @__PURE__ */ Symbol("pool");
|
|
13936
|
+
var kConnector = /* @__PURE__ */ Symbol("connector");
|
|
13937
|
+
var experimentalWarningEmitted = false;
|
|
13938
|
+
var Socks5ProxyAgent = class extends DispatcherBase {
|
|
13939
|
+
constructor(proxyUrl, options = {}) {
|
|
13940
|
+
super();
|
|
13941
|
+
if (!experimentalWarningEmitted) {
|
|
13942
|
+
process.emitWarning(
|
|
13943
|
+
"SOCKS5 proxy support is experimental and subject to change",
|
|
13944
|
+
"ExperimentalWarning"
|
|
13945
|
+
);
|
|
13946
|
+
experimentalWarningEmitted = true;
|
|
13947
|
+
}
|
|
13948
|
+
if (!proxyUrl) {
|
|
13949
|
+
throw new InvalidArgumentError("Proxy URL is mandatory");
|
|
13950
|
+
}
|
|
13951
|
+
const url = typeof proxyUrl === "string" ? new URL2(proxyUrl) : proxyUrl;
|
|
13952
|
+
if (url.protocol !== "socks5:" && url.protocol !== "socks:") {
|
|
13953
|
+
throw new InvalidArgumentError("Proxy URL must use socks5:// or socks:// protocol");
|
|
13954
|
+
}
|
|
13955
|
+
this[kProxyUrl] = url;
|
|
13956
|
+
this[kProxyHeaders] = options.headers || {};
|
|
13957
|
+
this[kProxyAuth] = {
|
|
13958
|
+
username: options.username || (url.username ? decodeURIComponent(url.username) : null),
|
|
13959
|
+
password: options.password || (url.password ? decodeURIComponent(url.password) : null)
|
|
13960
|
+
};
|
|
13961
|
+
this[kConnector] = options.connect || buildConnector({
|
|
13962
|
+
...options.proxyTls,
|
|
13963
|
+
servername: options.proxyTls?.servername || url.hostname
|
|
13964
|
+
});
|
|
13965
|
+
this[kPool] = null;
|
|
13966
|
+
}
|
|
13967
|
+
/**
|
|
13968
|
+
* Create a SOCKS5 connection to the proxy
|
|
13969
|
+
*/
|
|
13970
|
+
async createSocks5Connection(targetHost, targetPort) {
|
|
13971
|
+
const proxyHost = this[kProxyUrl].hostname;
|
|
13972
|
+
const proxyPort = parseInt(this[kProxyUrl].port) || 1080;
|
|
13973
|
+
debug("creating SOCKS5 connection to", proxyHost, proxyPort);
|
|
13974
|
+
const socket = await new Promise((resolve12, reject) => {
|
|
13975
|
+
const onConnect = () => {
|
|
13976
|
+
socket2.removeListener("error", onError);
|
|
13977
|
+
resolve12(socket2);
|
|
13978
|
+
};
|
|
13979
|
+
const onError = (err) => {
|
|
13980
|
+
socket2.removeListener("connect", onConnect);
|
|
13981
|
+
reject(err);
|
|
13982
|
+
};
|
|
13983
|
+
const socket2 = net.connect({
|
|
13984
|
+
host: proxyHost,
|
|
13985
|
+
port: proxyPort
|
|
13986
|
+
});
|
|
13987
|
+
socket2.once("connect", onConnect);
|
|
13988
|
+
socket2.once("error", onError);
|
|
13989
|
+
});
|
|
13990
|
+
const socks5Client = new Socks5Client(socket, this[kProxyAuth]);
|
|
13991
|
+
socks5Client.on("error", (err) => {
|
|
13992
|
+
debug("SOCKS5 error:", err);
|
|
13993
|
+
socket.destroy();
|
|
13994
|
+
});
|
|
13995
|
+
await socks5Client.handshake();
|
|
13996
|
+
await new Promise((resolve12, reject) => {
|
|
13997
|
+
const timeout = setTimeout(() => {
|
|
13998
|
+
reject(new Error("SOCKS5 authentication timeout"));
|
|
13999
|
+
}, 5e3);
|
|
14000
|
+
const onAuthenticated = () => {
|
|
14001
|
+
clearTimeout(timeout);
|
|
14002
|
+
socks5Client.removeListener("error", onError);
|
|
14003
|
+
resolve12();
|
|
14004
|
+
};
|
|
14005
|
+
const onError = (err) => {
|
|
14006
|
+
clearTimeout(timeout);
|
|
14007
|
+
socks5Client.removeListener("authenticated", onAuthenticated);
|
|
14008
|
+
reject(err);
|
|
14009
|
+
};
|
|
14010
|
+
if (socks5Client.state === "authenticated") {
|
|
14011
|
+
clearTimeout(timeout);
|
|
14012
|
+
resolve12();
|
|
14013
|
+
} else {
|
|
14014
|
+
socks5Client.once("authenticated", onAuthenticated);
|
|
14015
|
+
socks5Client.once("error", onError);
|
|
14016
|
+
}
|
|
14017
|
+
});
|
|
14018
|
+
await socks5Client.connect(targetHost, targetPort);
|
|
14019
|
+
await new Promise((resolve12, reject) => {
|
|
14020
|
+
const timeout = setTimeout(() => {
|
|
14021
|
+
reject(new Error("SOCKS5 connection timeout"));
|
|
14022
|
+
}, 5e3);
|
|
14023
|
+
const onConnected = (info) => {
|
|
14024
|
+
debug("SOCKS5 tunnel established to", targetHost, targetPort, "via", info);
|
|
14025
|
+
clearTimeout(timeout);
|
|
14026
|
+
socks5Client.removeListener("error", onError);
|
|
14027
|
+
resolve12();
|
|
14028
|
+
};
|
|
14029
|
+
const onError = (err) => {
|
|
14030
|
+
clearTimeout(timeout);
|
|
14031
|
+
socks5Client.removeListener("connected", onConnected);
|
|
14032
|
+
reject(err);
|
|
14033
|
+
};
|
|
14034
|
+
socks5Client.once("connected", onConnected);
|
|
14035
|
+
socks5Client.once("error", onError);
|
|
14036
|
+
});
|
|
14037
|
+
return socket;
|
|
14038
|
+
}
|
|
14039
|
+
/**
|
|
14040
|
+
* Dispatch a request through the SOCKS5 proxy
|
|
14041
|
+
*/
|
|
14042
|
+
async [kDispatch](opts, handler) {
|
|
14043
|
+
const { origin } = opts;
|
|
14044
|
+
debug("dispatching request to", origin, "via SOCKS5");
|
|
14045
|
+
try {
|
|
14046
|
+
if (!this[kPool] || this[kPool].destroyed || this[kPool].closed) {
|
|
14047
|
+
this[kPool] = new Pool(origin, {
|
|
14048
|
+
pipelining: opts.pipelining,
|
|
14049
|
+
connections: opts.connections,
|
|
14050
|
+
connect: async (connectOpts, callback) => {
|
|
14051
|
+
try {
|
|
14052
|
+
const url = new URL2(origin);
|
|
14053
|
+
const targetHost = url.hostname;
|
|
14054
|
+
const targetPort = parseInt(url.port) || (url.protocol === "https:" ? 443 : 80);
|
|
14055
|
+
debug("establishing SOCKS5 connection to", targetHost, targetPort);
|
|
14056
|
+
const socket = await this.createSocks5Connection(targetHost, targetPort);
|
|
14057
|
+
let finalSocket = socket;
|
|
14058
|
+
if (url.protocol === "https:") {
|
|
14059
|
+
if (!tls) {
|
|
14060
|
+
tls = require("node:tls");
|
|
14061
|
+
}
|
|
14062
|
+
debug("upgrading to TLS");
|
|
14063
|
+
finalSocket = tls.connect({
|
|
14064
|
+
socket,
|
|
14065
|
+
servername: targetHost,
|
|
14066
|
+
...connectOpts.tls || {}
|
|
14067
|
+
});
|
|
14068
|
+
await new Promise((resolve12, reject) => {
|
|
14069
|
+
finalSocket.once("secureConnect", resolve12);
|
|
14070
|
+
finalSocket.once("error", reject);
|
|
14071
|
+
});
|
|
14072
|
+
}
|
|
14073
|
+
callback(null, finalSocket);
|
|
14074
|
+
} catch (err) {
|
|
14075
|
+
debug("SOCKS5 connection error:", err);
|
|
14076
|
+
callback(err);
|
|
14077
|
+
}
|
|
14078
|
+
}
|
|
14079
|
+
});
|
|
14080
|
+
}
|
|
14081
|
+
return this[kPool][kDispatch](opts, handler);
|
|
14082
|
+
} catch (err) {
|
|
14083
|
+
debug("dispatch error:", err);
|
|
14084
|
+
if (typeof handler.onError === "function") {
|
|
14085
|
+
handler.onError(err);
|
|
14086
|
+
} else {
|
|
14087
|
+
throw err;
|
|
14088
|
+
}
|
|
14089
|
+
}
|
|
14090
|
+
}
|
|
14091
|
+
async [kClose]() {
|
|
14092
|
+
if (this[kPool]) {
|
|
14093
|
+
await this[kPool].close();
|
|
14094
|
+
}
|
|
14095
|
+
}
|
|
14096
|
+
async [kDestroy](err) {
|
|
14097
|
+
if (this[kPool]) {
|
|
14098
|
+
await this[kPool].destroy(err);
|
|
14099
|
+
}
|
|
14100
|
+
}
|
|
14101
|
+
};
|
|
14102
|
+
module3.exports = Socks5ProxyAgent;
|
|
14103
|
+
}
|
|
14104
|
+
});
|
|
14105
|
+
|
|
14106
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/proxy-agent.js
|
|
13289
14107
|
var require_proxy_agent = __commonJS({
|
|
13290
|
-
"../../node_modules/.pnpm/undici@7.
|
|
14108
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module3) {
|
|
13291
14109
|
"use strict";
|
|
13292
14110
|
var { kProxy, kClose, kDestroy, kDispatch } = require_symbols();
|
|
13293
14111
|
var Agent = require_agent();
|
|
@@ -13297,6 +14115,7 @@ var require_proxy_agent = __commonJS({
|
|
|
13297
14115
|
var buildConnector = require_connect();
|
|
13298
14116
|
var Client = require_client();
|
|
13299
14117
|
var { channels } = require_diagnostics();
|
|
14118
|
+
var Socks5ProxyAgent = require_socks5_proxy_agent();
|
|
13300
14119
|
var kAgent = /* @__PURE__ */ Symbol("proxy agent");
|
|
13301
14120
|
var kClient = /* @__PURE__ */ Symbol("proxy client");
|
|
13302
14121
|
var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
|
|
@@ -13395,6 +14214,16 @@ var require_proxy_agent = __commonJS({
|
|
|
13395
14214
|
const agentFactory = opts.factory || defaultAgentFactory;
|
|
13396
14215
|
const factory = (origin2, options) => {
|
|
13397
14216
|
const { protocol: protocol2 } = new URL(origin2);
|
|
14217
|
+
if (this[kProxy].protocol === "socks5:" || this[kProxy].protocol === "socks:") {
|
|
14218
|
+
return new Socks5ProxyAgent(this[kProxy].uri, {
|
|
14219
|
+
headers: this[kProxyHeaders],
|
|
14220
|
+
connect,
|
|
14221
|
+
factory: agentFactory,
|
|
14222
|
+
username: opts.username || username,
|
|
14223
|
+
password: opts.password || password,
|
|
14224
|
+
proxyTls: opts.proxyTls
|
|
14225
|
+
});
|
|
14226
|
+
}
|
|
13398
14227
|
if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
|
|
13399
14228
|
return new Http1ProxyWrapper(this[kProxy].uri, {
|
|
13400
14229
|
headers: this[kProxyHeaders],
|
|
@@ -13404,11 +14233,19 @@ var require_proxy_agent = __commonJS({
|
|
|
13404
14233
|
}
|
|
13405
14234
|
return agentFactory(origin2, options);
|
|
13406
14235
|
};
|
|
13407
|
-
|
|
14236
|
+
if (protocol === "socks5:" || protocol === "socks:") {
|
|
14237
|
+
this[kClient] = null;
|
|
14238
|
+
} else {
|
|
14239
|
+
this[kClient] = clientFactory(url, { connect });
|
|
14240
|
+
}
|
|
13408
14241
|
this[kAgent] = new Agent({
|
|
13409
14242
|
...opts,
|
|
13410
14243
|
factory,
|
|
13411
14244
|
connect: async (opts2, callback) => {
|
|
14245
|
+
if (!this[kClient]) {
|
|
14246
|
+
callback(new InvalidArgumentError("Cannot establish tunnel connection without a proxy client"));
|
|
14247
|
+
return;
|
|
14248
|
+
}
|
|
13412
14249
|
let requestedPath = opts2.host;
|
|
13413
14250
|
if (!opts2.port) {
|
|
13414
14251
|
requestedPath += `:${defaultProtocolPort(opts2.protocol)}`;
|
|
@@ -13488,16 +14325,18 @@ var require_proxy_agent = __commonJS({
|
|
|
13488
14325
|
}
|
|
13489
14326
|
}
|
|
13490
14327
|
[kClose]() {
|
|
13491
|
-
|
|
13492
|
-
|
|
13493
|
-
this[kClient].close()
|
|
13494
|
-
|
|
14328
|
+
const promises = [this[kAgent].close()];
|
|
14329
|
+
if (this[kClient]) {
|
|
14330
|
+
promises.push(this[kClient].close());
|
|
14331
|
+
}
|
|
14332
|
+
return Promise.all(promises);
|
|
13495
14333
|
}
|
|
13496
14334
|
[kDestroy]() {
|
|
13497
|
-
|
|
13498
|
-
|
|
13499
|
-
this[kClient].destroy()
|
|
13500
|
-
|
|
14335
|
+
const promises = [this[kAgent].destroy()];
|
|
14336
|
+
if (this[kClient]) {
|
|
14337
|
+
promises.push(this[kClient].destroy());
|
|
14338
|
+
}
|
|
14339
|
+
return Promise.all(promises);
|
|
13501
14340
|
}
|
|
13502
14341
|
};
|
|
13503
14342
|
function buildHeaders(headers) {
|
|
@@ -13520,9 +14359,9 @@ var require_proxy_agent = __commonJS({
|
|
|
13520
14359
|
}
|
|
13521
14360
|
});
|
|
13522
14361
|
|
|
13523
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
14362
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js
|
|
13524
14363
|
var require_env_http_proxy_agent = __commonJS({
|
|
13525
|
-
"../../node_modules/.pnpm/undici@7.
|
|
14364
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js"(exports2, module3) {
|
|
13526
14365
|
"use strict";
|
|
13527
14366
|
var DispatcherBase = require_dispatcher_base();
|
|
13528
14367
|
var { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require_symbols();
|
|
@@ -13601,14 +14440,11 @@ var require_env_http_proxy_agent = __commonJS({
|
|
|
13601
14440
|
if (entry.port && entry.port !== port) {
|
|
13602
14441
|
continue;
|
|
13603
14442
|
}
|
|
13604
|
-
if (
|
|
13605
|
-
|
|
13606
|
-
|
|
13607
|
-
|
|
13608
|
-
|
|
13609
|
-
if (hostname.endsWith(entry.hostname.replace(/^\*/, ""))) {
|
|
13610
|
-
return false;
|
|
13611
|
-
}
|
|
14443
|
+
if (hostname === entry.hostname) {
|
|
14444
|
+
return false;
|
|
14445
|
+
}
|
|
14446
|
+
if (hostname.slice(-(entry.hostname.length + 1)) === `.${entry.hostname}`) {
|
|
14447
|
+
return false;
|
|
13612
14448
|
}
|
|
13613
14449
|
}
|
|
13614
14450
|
return true;
|
|
@@ -13624,7 +14460,8 @@ var require_env_http_proxy_agent = __commonJS({
|
|
|
13624
14460
|
}
|
|
13625
14461
|
const parsed = entry.match(/^(.+):(\d+)$/);
|
|
13626
14462
|
noProxyEntries.push({
|
|
13627
|
-
|
|
14463
|
+
// strip leading dot or asterisk with dot
|
|
14464
|
+
hostname: (parsed ? parsed[1] : entry).replace(/^\*?\./, "").toLowerCase(),
|
|
13628
14465
|
port: parsed ? Number.parseInt(parsed[2], 10) : 0
|
|
13629
14466
|
});
|
|
13630
14467
|
}
|
|
@@ -13645,9 +14482,9 @@ var require_env_http_proxy_agent = __commonJS({
|
|
|
13645
14482
|
}
|
|
13646
14483
|
});
|
|
13647
14484
|
|
|
13648
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
14485
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/retry-handler.js
|
|
13649
14486
|
var require_retry_handler = __commonJS({
|
|
13650
|
-
"../../node_modules/.pnpm/undici@7.
|
|
14487
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/retry-handler.js"(exports2, module3) {
|
|
13651
14488
|
"use strict";
|
|
13652
14489
|
var assert7 = require("node:assert");
|
|
13653
14490
|
var { kRetryHandlerDefaultRetry } = require_symbols();
|
|
@@ -13954,9 +14791,9 @@ var require_retry_handler = __commonJS({
|
|
|
13954
14791
|
}
|
|
13955
14792
|
});
|
|
13956
14793
|
|
|
13957
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
14794
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/retry-agent.js
|
|
13958
14795
|
var require_retry_agent = __commonJS({
|
|
13959
|
-
"../../node_modules/.pnpm/undici@7.
|
|
14796
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/retry-agent.js"(exports2, module3) {
|
|
13960
14797
|
"use strict";
|
|
13961
14798
|
var Dispatcher = require_dispatcher();
|
|
13962
14799
|
var RetryHandler = require_retry_handler();
|
|
@@ -13989,9 +14826,9 @@ var require_retry_agent = __commonJS({
|
|
|
13989
14826
|
}
|
|
13990
14827
|
});
|
|
13991
14828
|
|
|
13992
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
14829
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/h2c-client.js
|
|
13993
14830
|
var require_h2c_client = __commonJS({
|
|
13994
|
-
"../../node_modules/.pnpm/undici@7.
|
|
14831
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/dispatcher/h2c-client.js"(exports2, module3) {
|
|
13995
14832
|
"use strict";
|
|
13996
14833
|
var { InvalidArgumentError } = require_errors();
|
|
13997
14834
|
var Client = require_client();
|
|
@@ -14032,9 +14869,9 @@ var require_h2c_client = __commonJS({
|
|
|
14032
14869
|
}
|
|
14033
14870
|
});
|
|
14034
14871
|
|
|
14035
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
14872
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/readable.js
|
|
14036
14873
|
var require_readable = __commonJS({
|
|
14037
|
-
"../../node_modules/.pnpm/undici@7.
|
|
14874
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/readable.js"(exports2, module3) {
|
|
14038
14875
|
"use strict";
|
|
14039
14876
|
var assert7 = require("node:assert");
|
|
14040
14877
|
var { Readable } = require("node:stream");
|
|
@@ -14434,9 +15271,9 @@ var require_readable = __commonJS({
|
|
|
14434
15271
|
}
|
|
14435
15272
|
});
|
|
14436
15273
|
|
|
14437
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
15274
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/api-request.js
|
|
14438
15275
|
var require_api_request = __commonJS({
|
|
14439
|
-
"../../node_modules/.pnpm/undici@7.
|
|
15276
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/api-request.js"(exports2, module3) {
|
|
14440
15277
|
"use strict";
|
|
14441
15278
|
var assert7 = require("node:assert");
|
|
14442
15279
|
var { AsyncResource } = require("node:async_hooks");
|
|
@@ -14538,6 +15375,7 @@ var require_api_request = __commonJS({
|
|
|
14538
15375
|
try {
|
|
14539
15376
|
this.runInAsyncScope(callback, null, null, {
|
|
14540
15377
|
statusCode,
|
|
15378
|
+
statusText: statusMessage,
|
|
14541
15379
|
headers,
|
|
14542
15380
|
trailers: this.trailers,
|
|
14543
15381
|
opaque,
|
|
@@ -14611,9 +15449,9 @@ var require_api_request = __commonJS({
|
|
|
14611
15449
|
}
|
|
14612
15450
|
});
|
|
14613
15451
|
|
|
14614
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
15452
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/abort-signal.js
|
|
14615
15453
|
var require_abort_signal = __commonJS({
|
|
14616
|
-
"../../node_modules/.pnpm/undici@7.
|
|
15454
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/abort-signal.js"(exports2, module3) {
|
|
14617
15455
|
"use strict";
|
|
14618
15456
|
var { addAbortListener } = require_util();
|
|
14619
15457
|
var { RequestAbortedError } = require_errors();
|
|
@@ -14663,9 +15501,9 @@ var require_abort_signal = __commonJS({
|
|
|
14663
15501
|
}
|
|
14664
15502
|
});
|
|
14665
15503
|
|
|
14666
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
15504
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/api-stream.js
|
|
14667
15505
|
var require_api_stream = __commonJS({
|
|
14668
|
-
"../../node_modules/.pnpm/undici@7.
|
|
15506
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/api-stream.js"(exports2, module3) {
|
|
14669
15507
|
"use strict";
|
|
14670
15508
|
var assert7 = require("node:assert");
|
|
14671
15509
|
var { finished } = require("node:stream");
|
|
@@ -14824,9 +15662,9 @@ var require_api_stream = __commonJS({
|
|
|
14824
15662
|
}
|
|
14825
15663
|
});
|
|
14826
15664
|
|
|
14827
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
15665
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/api-pipeline.js
|
|
14828
15666
|
var require_api_pipeline = __commonJS({
|
|
14829
|
-
"../../node_modules/.pnpm/undici@7.
|
|
15667
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/api-pipeline.js"(exports2, module3) {
|
|
14830
15668
|
"use strict";
|
|
14831
15669
|
var {
|
|
14832
15670
|
Readable,
|
|
@@ -15025,9 +15863,9 @@ var require_api_pipeline = __commonJS({
|
|
|
15025
15863
|
}
|
|
15026
15864
|
});
|
|
15027
15865
|
|
|
15028
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
15866
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/api-upgrade.js
|
|
15029
15867
|
var require_api_upgrade = __commonJS({
|
|
15030
|
-
"../../node_modules/.pnpm/undici@7.
|
|
15868
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/api-upgrade.js"(exports2, module3) {
|
|
15031
15869
|
"use strict";
|
|
15032
15870
|
var { InvalidArgumentError, SocketError } = require_errors();
|
|
15033
15871
|
var { AsyncResource } = require("node:async_hooks");
|
|
@@ -15119,9 +15957,9 @@ var require_api_upgrade = __commonJS({
|
|
|
15119
15957
|
}
|
|
15120
15958
|
});
|
|
15121
15959
|
|
|
15122
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
15960
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/api-connect.js
|
|
15123
15961
|
var require_api_connect = __commonJS({
|
|
15124
|
-
"../../node_modules/.pnpm/undici@7.
|
|
15962
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/api-connect.js"(exports2, module3) {
|
|
15125
15963
|
"use strict";
|
|
15126
15964
|
var assert7 = require("node:assert");
|
|
15127
15965
|
var { AsyncResource } = require("node:async_hooks");
|
|
@@ -15210,9 +16048,9 @@ var require_api_connect = __commonJS({
|
|
|
15210
16048
|
}
|
|
15211
16049
|
});
|
|
15212
16050
|
|
|
15213
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
16051
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/index.js
|
|
15214
16052
|
var require_api = __commonJS({
|
|
15215
|
-
"../../node_modules/.pnpm/undici@7.
|
|
16053
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/api/index.js"(exports2, module3) {
|
|
15216
16054
|
"use strict";
|
|
15217
16055
|
module3.exports.request = require_api_request();
|
|
15218
16056
|
module3.exports.stream = require_api_stream();
|
|
@@ -15222,9 +16060,9 @@ var require_api = __commonJS({
|
|
|
15222
16060
|
}
|
|
15223
16061
|
});
|
|
15224
16062
|
|
|
15225
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
16063
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-errors.js
|
|
15226
16064
|
var require_mock_errors = __commonJS({
|
|
15227
|
-
"../../node_modules/.pnpm/undici@7.
|
|
16065
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-errors.js"(exports2, module3) {
|
|
15228
16066
|
"use strict";
|
|
15229
16067
|
var { UndiciError } = require_errors();
|
|
15230
16068
|
var kMockNotMatchedError = /* @__PURE__ */ Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");
|
|
@@ -15248,9 +16086,9 @@ var require_mock_errors = __commonJS({
|
|
|
15248
16086
|
}
|
|
15249
16087
|
});
|
|
15250
16088
|
|
|
15251
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
16089
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-symbols.js
|
|
15252
16090
|
var require_mock_symbols = __commonJS({
|
|
15253
|
-
"../../node_modules/.pnpm/undici@7.
|
|
16091
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module3) {
|
|
15254
16092
|
"use strict";
|
|
15255
16093
|
module3.exports = {
|
|
15256
16094
|
kAgent: /* @__PURE__ */ Symbol("agent"),
|
|
@@ -15284,9 +16122,9 @@ var require_mock_symbols = __commonJS({
|
|
|
15284
16122
|
}
|
|
15285
16123
|
});
|
|
15286
16124
|
|
|
15287
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
16125
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-utils.js
|
|
15288
16126
|
var require_mock_utils = __commonJS({
|
|
15289
|
-
"../../node_modules/.pnpm/undici@7.
|
|
16127
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-utils.js"(exports2, module3) {
|
|
15290
16128
|
"use strict";
|
|
15291
16129
|
var { MockNotMatchedError } = require_mock_errors();
|
|
15292
16130
|
var {
|
|
@@ -15529,23 +16367,43 @@ var require_mock_utils = __commonJS({
|
|
|
15529
16367
|
handler.onError(error2);
|
|
15530
16368
|
return true;
|
|
15531
16369
|
}
|
|
16370
|
+
let aborted = false;
|
|
16371
|
+
let timer = null;
|
|
16372
|
+
function abort(err) {
|
|
16373
|
+
if (aborted) {
|
|
16374
|
+
return;
|
|
16375
|
+
}
|
|
16376
|
+
aborted = true;
|
|
16377
|
+
if (timer !== null) {
|
|
16378
|
+
clearTimeout(timer);
|
|
16379
|
+
timer = null;
|
|
16380
|
+
}
|
|
16381
|
+
handler.onError(err);
|
|
16382
|
+
}
|
|
16383
|
+
handler.onConnect?.(abort, null);
|
|
15532
16384
|
if (typeof delay === "number" && delay > 0) {
|
|
15533
|
-
setTimeout(() => {
|
|
16385
|
+
timer = setTimeout(() => {
|
|
16386
|
+
timer = null;
|
|
15534
16387
|
handleReply(this[kDispatches]);
|
|
15535
16388
|
}, delay);
|
|
15536
16389
|
} else {
|
|
15537
16390
|
handleReply(this[kDispatches]);
|
|
15538
16391
|
}
|
|
15539
16392
|
function handleReply(mockDispatches, _data = data) {
|
|
16393
|
+
if (aborted) {
|
|
16394
|
+
return;
|
|
16395
|
+
}
|
|
15540
16396
|
const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers;
|
|
15541
16397
|
const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data;
|
|
15542
16398
|
if (isPromise2(body)) {
|
|
15543
16399
|
return body.then((newData) => handleReply(mockDispatches, newData));
|
|
15544
16400
|
}
|
|
16401
|
+
if (aborted) {
|
|
16402
|
+
return;
|
|
16403
|
+
}
|
|
15545
16404
|
const responseData = getResponseData(body);
|
|
15546
16405
|
const responseHeaders = generateKeyValues(headers);
|
|
15547
16406
|
const responseTrailers = generateKeyValues(trailers);
|
|
15548
|
-
handler.onConnect?.((err) => handler.onError(err), null);
|
|
15549
16407
|
handler.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode));
|
|
15550
16408
|
handler.onData?.(Buffer.from(responseData));
|
|
15551
16409
|
handler.onComplete?.(responseTrailers);
|
|
@@ -15592,6 +16450,15 @@ var require_mock_utils = __commonJS({
|
|
|
15592
16450
|
}
|
|
15593
16451
|
return false;
|
|
15594
16452
|
}
|
|
16453
|
+
function normalizeOrigin(origin) {
|
|
16454
|
+
if (typeof origin !== "string" && !(origin instanceof URL)) {
|
|
16455
|
+
return origin;
|
|
16456
|
+
}
|
|
16457
|
+
if (origin instanceof URL) {
|
|
16458
|
+
return origin.origin;
|
|
16459
|
+
}
|
|
16460
|
+
return origin.toLowerCase();
|
|
16461
|
+
}
|
|
15595
16462
|
function buildAndValidateMockOptions(opts) {
|
|
15596
16463
|
const { agent, ...mockOptions } = opts;
|
|
15597
16464
|
if ("enableCallHistory" in mockOptions && typeof mockOptions.enableCallHistory !== "boolean") {
|
|
@@ -15621,14 +16488,15 @@ var require_mock_utils = __commonJS({
|
|
|
15621
16488
|
buildAndValidateMockOptions,
|
|
15622
16489
|
getHeaderByName,
|
|
15623
16490
|
buildHeadersFromArray,
|
|
15624
|
-
normalizeSearchParams
|
|
16491
|
+
normalizeSearchParams,
|
|
16492
|
+
normalizeOrigin
|
|
15625
16493
|
};
|
|
15626
16494
|
}
|
|
15627
16495
|
});
|
|
15628
16496
|
|
|
15629
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
16497
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-interceptor.js
|
|
15630
16498
|
var require_mock_interceptor = __commonJS({
|
|
15631
|
-
"../../node_modules/.pnpm/undici@7.
|
|
16499
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module3) {
|
|
15632
16500
|
"use strict";
|
|
15633
16501
|
var { getResponseData, buildKey, addMockDispatch } = require_mock_utils();
|
|
15634
16502
|
var {
|
|
@@ -15790,9 +16658,9 @@ var require_mock_interceptor = __commonJS({
|
|
|
15790
16658
|
}
|
|
15791
16659
|
});
|
|
15792
16660
|
|
|
15793
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
16661
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-client.js
|
|
15794
16662
|
var require_mock_client = __commonJS({
|
|
15795
|
-
"../../node_modules/.pnpm/undici@7.
|
|
16663
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-client.js"(exports2, module3) {
|
|
15796
16664
|
"use strict";
|
|
15797
16665
|
var { promisify } = require("node:util");
|
|
15798
16666
|
var Client = require_client();
|
|
@@ -15851,9 +16719,9 @@ var require_mock_client = __commonJS({
|
|
|
15851
16719
|
}
|
|
15852
16720
|
});
|
|
15853
16721
|
|
|
15854
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
16722
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-call-history.js
|
|
15855
16723
|
var require_mock_call_history = __commonJS({
|
|
15856
|
-
"../../node_modules/.pnpm/undici@7.
|
|
16724
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-call-history.js"(exports2, module3) {
|
|
15857
16725
|
"use strict";
|
|
15858
16726
|
var { kMockCallHistoryAddLog } = require_mock_symbols();
|
|
15859
16727
|
var { InvalidArgumentError } = require_errors();
|
|
@@ -16051,9 +16919,9 @@ var require_mock_call_history = __commonJS({
|
|
|
16051
16919
|
}
|
|
16052
16920
|
});
|
|
16053
16921
|
|
|
16054
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
16922
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-pool.js
|
|
16055
16923
|
var require_mock_pool = __commonJS({
|
|
16056
|
-
"../../node_modules/.pnpm/undici@7.
|
|
16924
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-pool.js"(exports2, module3) {
|
|
16057
16925
|
"use strict";
|
|
16058
16926
|
var { promisify } = require("node:util");
|
|
16059
16927
|
var Pool = require_pool();
|
|
@@ -16112,9 +16980,9 @@ var require_mock_pool = __commonJS({
|
|
|
16112
16980
|
}
|
|
16113
16981
|
});
|
|
16114
16982
|
|
|
16115
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
16983
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/pending-interceptors-formatter.js
|
|
16116
16984
|
var require_pending_interceptors_formatter = __commonJS({
|
|
16117
|
-
"../../node_modules/.pnpm/undici@7.
|
|
16985
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module3) {
|
|
16118
16986
|
"use strict";
|
|
16119
16987
|
var { Transform } = require("node:stream");
|
|
16120
16988
|
var { Console } = require("node:console");
|
|
@@ -16153,9 +17021,9 @@ var require_pending_interceptors_formatter = __commonJS({
|
|
|
16153
17021
|
}
|
|
16154
17022
|
});
|
|
16155
17023
|
|
|
16156
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
17024
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-agent.js
|
|
16157
17025
|
var require_mock_agent = __commonJS({
|
|
16158
|
-
"../../node_modules/.pnpm/undici@7.
|
|
17026
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/mock-agent.js"(exports2, module3) {
|
|
16159
17027
|
"use strict";
|
|
16160
17028
|
var { kClients } = require_symbols();
|
|
16161
17029
|
var Agent = require_agent();
|
|
@@ -16179,7 +17047,7 @@ var require_mock_agent = __commonJS({
|
|
|
16179
17047
|
} = require_mock_symbols();
|
|
16180
17048
|
var MockClient = require_mock_client();
|
|
16181
17049
|
var MockPool = require_mock_pool();
|
|
16182
|
-
var { matchValue, normalizeSearchParams, buildAndValidateMockOptions } = require_mock_utils();
|
|
17050
|
+
var { matchValue, normalizeSearchParams, buildAndValidateMockOptions, normalizeOrigin } = require_mock_utils();
|
|
16183
17051
|
var { InvalidArgumentError, UndiciError } = require_errors();
|
|
16184
17052
|
var Dispatcher = require_dispatcher();
|
|
16185
17053
|
var PendingInterceptorsFormatter = require_pending_interceptors_formatter();
|
|
@@ -16205,7 +17073,8 @@ var require_mock_agent = __commonJS({
|
|
|
16205
17073
|
}
|
|
16206
17074
|
}
|
|
16207
17075
|
get(origin) {
|
|
16208
|
-
const
|
|
17076
|
+
const normalizedOrigin = normalizeOrigin(origin);
|
|
17077
|
+
const originKey = this[kIgnoreTrailingSlash] ? normalizedOrigin.replace(/\/$/, "") : normalizedOrigin;
|
|
16209
17078
|
let dispatcher = this[kMockAgentGet](originKey);
|
|
16210
17079
|
if (!dispatcher) {
|
|
16211
17080
|
dispatcher = this[kFactory](originKey);
|
|
@@ -16214,6 +17083,7 @@ var require_mock_agent = __commonJS({
|
|
|
16214
17083
|
return dispatcher;
|
|
16215
17084
|
}
|
|
16216
17085
|
dispatch(opts, handler) {
|
|
17086
|
+
opts.origin = normalizeOrigin(opts.origin);
|
|
16217
17087
|
this.get(opts.origin);
|
|
16218
17088
|
this[kMockAgentAddCallHistoryLog](opts);
|
|
16219
17089
|
const acceptNonStandardSearchParameters = this[kMockAgentAcceptsNonStandardSearchParameters];
|
|
@@ -16335,9 +17205,9 @@ ${pendingInterceptorsFormatter.format(pending)}`.trim()
|
|
|
16335
17205
|
}
|
|
16336
17206
|
});
|
|
16337
17207
|
|
|
16338
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
17208
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/snapshot-utils.js
|
|
16339
17209
|
var require_snapshot_utils = __commonJS({
|
|
16340
|
-
"../../node_modules/.pnpm/undici@7.
|
|
17210
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/snapshot-utils.js"(exports2, module3) {
|
|
16341
17211
|
"use strict";
|
|
16342
17212
|
var { InvalidArgumentError } = require_errors();
|
|
16343
17213
|
var { runtimeFeatures } = require_runtime_features();
|
|
@@ -16421,9 +17291,9 @@ var require_snapshot_utils = __commonJS({
|
|
|
16421
17291
|
}
|
|
16422
17292
|
});
|
|
16423
17293
|
|
|
16424
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
17294
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/snapshot-recorder.js
|
|
16425
17295
|
var require_snapshot_recorder = __commonJS({
|
|
16426
|
-
"../../node_modules/.pnpm/undici@7.
|
|
17296
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/snapshot-recorder.js"(exports2, module3) {
|
|
16427
17297
|
"use strict";
|
|
16428
17298
|
var { writeFile: writeFile3, readFile: readFile2, mkdir } = require("node:fs/promises");
|
|
16429
17299
|
var { dirname: dirname6, resolve: resolve12 } = require("node:path");
|
|
@@ -16797,9 +17667,9 @@ var require_snapshot_recorder = __commonJS({
|
|
|
16797
17667
|
}
|
|
16798
17668
|
});
|
|
16799
17669
|
|
|
16800
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
17670
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/snapshot-agent.js
|
|
16801
17671
|
var require_snapshot_agent = __commonJS({
|
|
16802
|
-
"../../node_modules/.pnpm/undici@7.
|
|
17672
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/mock/snapshot-agent.js"(exports2, module3) {
|
|
16803
17673
|
"use strict";
|
|
16804
17674
|
var Agent = require_agent();
|
|
16805
17675
|
var MockAgent = require_mock_agent();
|
|
@@ -17084,9 +17954,9 @@ var require_snapshot_agent = __commonJS({
|
|
|
17084
17954
|
}
|
|
17085
17955
|
});
|
|
17086
17956
|
|
|
17087
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
17957
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/global.js
|
|
17088
17958
|
var require_global2 = __commonJS({
|
|
17089
|
-
"../../node_modules/.pnpm/undici@7.
|
|
17959
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/global.js"(exports2, module3) {
|
|
17090
17960
|
"use strict";
|
|
17091
17961
|
var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
|
|
17092
17962
|
var { InvalidArgumentError } = require_errors();
|
|
@@ -17131,9 +18001,9 @@ var require_global2 = __commonJS({
|
|
|
17131
18001
|
}
|
|
17132
18002
|
});
|
|
17133
18003
|
|
|
17134
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
18004
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/decorator-handler.js
|
|
17135
18005
|
var require_decorator_handler = __commonJS({
|
|
17136
|
-
"../../node_modules/.pnpm/undici@7.
|
|
18006
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/decorator-handler.js"(exports2, module3) {
|
|
17137
18007
|
"use strict";
|
|
17138
18008
|
var assert7 = require("node:assert");
|
|
17139
18009
|
var WrapHandler = require_wrap_handler();
|
|
@@ -17187,9 +18057,9 @@ var require_decorator_handler = __commonJS({
|
|
|
17187
18057
|
}
|
|
17188
18058
|
});
|
|
17189
18059
|
|
|
17190
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
18060
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/redirect-handler.js
|
|
17191
18061
|
var require_redirect_handler = __commonJS({
|
|
17192
|
-
"../../node_modules/.pnpm/undici@7.
|
|
18062
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module3) {
|
|
17193
18063
|
"use strict";
|
|
17194
18064
|
var util = require_util();
|
|
17195
18065
|
var { kBodyUsed } = require_symbols();
|
|
@@ -17332,7 +18202,7 @@ var require_redirect_handler = __commonJS({
|
|
|
17332
18202
|
}
|
|
17333
18203
|
}
|
|
17334
18204
|
} else if (headers && typeof headers === "object") {
|
|
17335
|
-
const entries =
|
|
18205
|
+
const entries = util.hasSafeIterator(headers) ? headers : Object.entries(headers);
|
|
17336
18206
|
for (const [key, value] of entries) {
|
|
17337
18207
|
if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
|
|
17338
18208
|
ret.push(key, value);
|
|
@@ -17347,9 +18217,9 @@ var require_redirect_handler = __commonJS({
|
|
|
17347
18217
|
}
|
|
17348
18218
|
});
|
|
17349
18219
|
|
|
17350
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
18220
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/redirect.js
|
|
17351
18221
|
var require_redirect = __commonJS({
|
|
17352
|
-
"../../node_modules/.pnpm/undici@7.
|
|
18222
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/redirect.js"(exports2, module3) {
|
|
17353
18223
|
"use strict";
|
|
17354
18224
|
var RedirectHandler = require_redirect_handler();
|
|
17355
18225
|
function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections } = {}) {
|
|
@@ -17369,9 +18239,9 @@ var require_redirect = __commonJS({
|
|
|
17369
18239
|
}
|
|
17370
18240
|
});
|
|
17371
18241
|
|
|
17372
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
18242
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/response-error.js
|
|
17373
18243
|
var require_response_error = __commonJS({
|
|
17374
|
-
"../../node_modules/.pnpm/undici@7.
|
|
18244
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/response-error.js"(exports2, module3) {
|
|
17375
18245
|
"use strict";
|
|
17376
18246
|
var DecoratorHandler = require_decorator_handler();
|
|
17377
18247
|
var { ResponseError } = require_errors();
|
|
@@ -17451,9 +18321,9 @@ var require_response_error = __commonJS({
|
|
|
17451
18321
|
}
|
|
17452
18322
|
});
|
|
17453
18323
|
|
|
17454
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
18324
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/retry.js
|
|
17455
18325
|
var require_retry = __commonJS({
|
|
17456
|
-
"../../node_modules/.pnpm/undici@7.
|
|
18326
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/retry.js"(exports2, module3) {
|
|
17457
18327
|
"use strict";
|
|
17458
18328
|
var RetryHandler = require_retry_handler();
|
|
17459
18329
|
module3.exports = (globalOpts) => {
|
|
@@ -17475,9 +18345,9 @@ var require_retry = __commonJS({
|
|
|
17475
18345
|
}
|
|
17476
18346
|
});
|
|
17477
18347
|
|
|
17478
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
18348
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/dump.js
|
|
17479
18349
|
var require_dump = __commonJS({
|
|
17480
|
-
"../../node_modules/.pnpm/undici@7.
|
|
18350
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/dump.js"(exports2, module3) {
|
|
17481
18351
|
"use strict";
|
|
17482
18352
|
var { InvalidArgumentError, RequestAbortedError } = require_errors();
|
|
17483
18353
|
var DecoratorHandler = require_decorator_handler();
|
|
@@ -17561,15 +18431,94 @@ var require_dump = __commonJS({
|
|
|
17561
18431
|
}
|
|
17562
18432
|
});
|
|
17563
18433
|
|
|
17564
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
18434
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/dns.js
|
|
17565
18435
|
var require_dns = __commonJS({
|
|
17566
|
-
"../../node_modules/.pnpm/undici@7.
|
|
18436
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/dns.js"(exports2, module3) {
|
|
17567
18437
|
"use strict";
|
|
17568
18438
|
var { isIP } = require("node:net");
|
|
17569
18439
|
var { lookup } = require("node:dns");
|
|
17570
18440
|
var DecoratorHandler = require_decorator_handler();
|
|
17571
18441
|
var { InvalidArgumentError, InformationalError } = require_errors();
|
|
17572
18442
|
var maxInt = Math.pow(2, 31) - 1;
|
|
18443
|
+
function hasSafeIterator(headers) {
|
|
18444
|
+
const prototype = Object.getPrototypeOf(headers);
|
|
18445
|
+
const ownIterator = Object.prototype.hasOwnProperty.call(headers, Symbol.iterator);
|
|
18446
|
+
return ownIterator || prototype != null && prototype !== Object.prototype && typeof headers[Symbol.iterator] === "function";
|
|
18447
|
+
}
|
|
18448
|
+
function isHostHeader(key) {
|
|
18449
|
+
return typeof key === "string" && key.toLowerCase() === "host";
|
|
18450
|
+
}
|
|
18451
|
+
function normalizeHeaders(headers) {
|
|
18452
|
+
if (headers == null) {
|
|
18453
|
+
return null;
|
|
18454
|
+
}
|
|
18455
|
+
if (Array.isArray(headers)) {
|
|
18456
|
+
if (headers.length === 0 || !Array.isArray(headers[0])) {
|
|
18457
|
+
return headers;
|
|
18458
|
+
}
|
|
18459
|
+
const normalized = [];
|
|
18460
|
+
for (const header of headers) {
|
|
18461
|
+
if (Array.isArray(header) && header.length === 2) {
|
|
18462
|
+
normalized.push(header[0], header[1]);
|
|
18463
|
+
} else {
|
|
18464
|
+
normalized.push(header);
|
|
18465
|
+
}
|
|
18466
|
+
}
|
|
18467
|
+
return normalized;
|
|
18468
|
+
}
|
|
18469
|
+
if (typeof headers === "object" && hasSafeIterator(headers)) {
|
|
18470
|
+
const normalized = [];
|
|
18471
|
+
for (const header of headers) {
|
|
18472
|
+
if (Array.isArray(header) && header.length === 2) {
|
|
18473
|
+
normalized.push(header[0], header[1]);
|
|
18474
|
+
} else {
|
|
18475
|
+
normalized.push(header);
|
|
18476
|
+
}
|
|
18477
|
+
}
|
|
18478
|
+
return normalized;
|
|
18479
|
+
}
|
|
18480
|
+
return headers;
|
|
18481
|
+
}
|
|
18482
|
+
function hasHostHeader(headers) {
|
|
18483
|
+
if (headers == null) {
|
|
18484
|
+
return false;
|
|
18485
|
+
}
|
|
18486
|
+
if (Array.isArray(headers)) {
|
|
18487
|
+
if (headers.length === 0) {
|
|
18488
|
+
return false;
|
|
18489
|
+
}
|
|
18490
|
+
for (let i = 0; i < headers.length; i += 2) {
|
|
18491
|
+
if (isHostHeader(headers[i])) {
|
|
18492
|
+
return true;
|
|
18493
|
+
}
|
|
18494
|
+
}
|
|
18495
|
+
return false;
|
|
18496
|
+
}
|
|
18497
|
+
if (typeof headers === "object") {
|
|
18498
|
+
for (const key in headers) {
|
|
18499
|
+
if (isHostHeader(key)) {
|
|
18500
|
+
return true;
|
|
18501
|
+
}
|
|
18502
|
+
}
|
|
18503
|
+
}
|
|
18504
|
+
return false;
|
|
18505
|
+
}
|
|
18506
|
+
function withHostHeader(host, headers) {
|
|
18507
|
+
const normalizedHeaders = normalizeHeaders(headers);
|
|
18508
|
+
if (hasHostHeader(normalizedHeaders)) {
|
|
18509
|
+
return normalizedHeaders;
|
|
18510
|
+
}
|
|
18511
|
+
if (Array.isArray(normalizedHeaders)) {
|
|
18512
|
+
return ["host", host, ...normalizedHeaders];
|
|
18513
|
+
}
|
|
18514
|
+
if (normalizedHeaders && typeof normalizedHeaders === "object") {
|
|
18515
|
+
return {
|
|
18516
|
+
host,
|
|
18517
|
+
...normalizedHeaders
|
|
18518
|
+
};
|
|
18519
|
+
}
|
|
18520
|
+
return { host };
|
|
18521
|
+
}
|
|
17573
18522
|
var DNSStorage = class {
|
|
17574
18523
|
#maxItems = 0;
|
|
17575
18524
|
#records = /* @__PURE__ */ new Map();
|
|
@@ -17828,7 +18777,8 @@ var require_dns = __commonJS({
|
|
|
17828
18777
|
}
|
|
17829
18778
|
const dispatchOpts = {
|
|
17830
18779
|
...this.#opts,
|
|
17831
|
-
origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}
|
|
18780
|
+
origin: `${this.#origin.protocol}//${ip.family === 6 ? `[${ip.address}]` : ip.address}${port}`,
|
|
18781
|
+
headers: withHostHeader(this.#origin.host, this.#opts.headers)
|
|
17832
18782
|
};
|
|
17833
18783
|
this.#dispatch(dispatchOpts, this);
|
|
17834
18784
|
return;
|
|
@@ -17903,10 +18853,7 @@ var require_dns = __commonJS({
|
|
|
17903
18853
|
servername: origin.hostname,
|
|
17904
18854
|
// For SNI on TLS
|
|
17905
18855
|
origin: newOrigin.origin,
|
|
17906
|
-
headers:
|
|
17907
|
-
host: origin.host,
|
|
17908
|
-
...origDispatchOpts.headers
|
|
17909
|
-
}
|
|
18856
|
+
headers: withHostHeader(origin.host, origDispatchOpts.headers)
|
|
17910
18857
|
};
|
|
17911
18858
|
dispatch(
|
|
17912
18859
|
dispatchOpts,
|
|
@@ -17923,13 +18870,14 @@ var require_dns = __commonJS({
|
|
|
17923
18870
|
}
|
|
17924
18871
|
});
|
|
17925
18872
|
|
|
17926
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
18873
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/cache.js
|
|
17927
18874
|
var require_cache = __commonJS({
|
|
17928
|
-
"../../node_modules/.pnpm/undici@7.
|
|
18875
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/cache.js"(exports2, module3) {
|
|
17929
18876
|
"use strict";
|
|
17930
18877
|
var {
|
|
17931
18878
|
safeHTTPMethods,
|
|
17932
|
-
pathHasQueryOrFragment
|
|
18879
|
+
pathHasQueryOrFragment,
|
|
18880
|
+
hasSafeIterator
|
|
17933
18881
|
} = require_util();
|
|
17934
18882
|
var { serializePathWithQuery } = require_util();
|
|
17935
18883
|
function makeCacheKey(opts) {
|
|
@@ -17951,22 +18899,23 @@ var require_cache = __commonJS({
|
|
|
17951
18899
|
let headers;
|
|
17952
18900
|
if (opts.headers == null) {
|
|
17953
18901
|
headers = {};
|
|
17954
|
-
} else if (typeof opts.headers
|
|
18902
|
+
} else if (typeof opts.headers === "object") {
|
|
17955
18903
|
headers = {};
|
|
17956
|
-
|
|
17957
|
-
|
|
17958
|
-
|
|
18904
|
+
if (hasSafeIterator(opts.headers)) {
|
|
18905
|
+
for (const x2 of opts.headers) {
|
|
18906
|
+
if (!Array.isArray(x2)) {
|
|
18907
|
+
throw new Error("opts.headers is not a valid header map");
|
|
18908
|
+
}
|
|
18909
|
+
const [key, val] = x2;
|
|
18910
|
+
if (typeof key !== "string" || typeof val !== "string") {
|
|
18911
|
+
throw new Error("opts.headers is not a valid header map");
|
|
18912
|
+
}
|
|
18913
|
+
headers[key.toLowerCase()] = val;
|
|
17959
18914
|
}
|
|
17960
|
-
|
|
17961
|
-
|
|
17962
|
-
|
|
18915
|
+
} else {
|
|
18916
|
+
for (const key of Object.keys(opts.headers)) {
|
|
18917
|
+
headers[key.toLowerCase()] = opts.headers[key];
|
|
17963
18918
|
}
|
|
17964
|
-
headers[key.toLowerCase()] = val;
|
|
17965
|
-
}
|
|
17966
|
-
} else if (typeof opts.headers === "object") {
|
|
17967
|
-
headers = {};
|
|
17968
|
-
for (const key of Object.keys(opts.headers)) {
|
|
17969
|
-
headers[key.toLowerCase()] = opts.headers[key];
|
|
17970
18919
|
}
|
|
17971
18920
|
} else {
|
|
17972
18921
|
throw new Error("opts.headers is not an object");
|
|
@@ -18191,9 +19140,9 @@ var require_cache = __commonJS({
|
|
|
18191
19140
|
}
|
|
18192
19141
|
});
|
|
18193
19142
|
|
|
18194
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
19143
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/date.js
|
|
18195
19144
|
var require_date = __commonJS({
|
|
18196
|
-
"../../node_modules/.pnpm/undici@7.
|
|
19145
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/util/date.js"(exports2, module3) {
|
|
18197
19146
|
"use strict";
|
|
18198
19147
|
function parseHttpDate(date) {
|
|
18199
19148
|
switch (date[3]) {
|
|
@@ -18687,9 +19636,9 @@ var require_date = __commonJS({
|
|
|
18687
19636
|
}
|
|
18688
19637
|
});
|
|
18689
19638
|
|
|
18690
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
19639
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/cache-handler.js
|
|
18691
19640
|
var require_cache_handler = __commonJS({
|
|
18692
|
-
"../../node_modules/.pnpm/undici@7.
|
|
19641
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/cache-handler.js"(exports2, module3) {
|
|
18693
19642
|
"use strict";
|
|
18694
19643
|
var util = require_util();
|
|
18695
19644
|
var {
|
|
@@ -18828,40 +19777,67 @@ var require_cache_handler = __commonJS({
|
|
|
18828
19777
|
deleteAt
|
|
18829
19778
|
};
|
|
18830
19779
|
if (statusCode === 304) {
|
|
18831
|
-
const
|
|
18832
|
-
|
|
18833
|
-
|
|
18834
|
-
|
|
18835
|
-
|
|
18836
|
-
|
|
18837
|
-
|
|
18838
|
-
|
|
18839
|
-
|
|
18840
|
-
|
|
18841
|
-
|
|
18842
|
-
|
|
18843
|
-
}
|
|
18844
|
-
const bodyIterator = cachedValue.body.values();
|
|
18845
|
-
const streamCachedBody = () => {
|
|
18846
|
-
for (const chunk of bodyIterator) {
|
|
18847
|
-
const full = this.#writeStream.write(chunk) === false;
|
|
18848
|
-
this.#handler.onResponseData?.(controller, chunk);
|
|
18849
|
-
if (full) {
|
|
18850
|
-
break;
|
|
18851
|
-
}
|
|
19780
|
+
const handle304 = (cachedValue) => {
|
|
19781
|
+
if (!cachedValue) {
|
|
19782
|
+
return downstreamOnHeaders();
|
|
19783
|
+
}
|
|
19784
|
+
value.statusCode = cachedValue.statusCode;
|
|
19785
|
+
value.statusMessage = cachedValue.statusMessage;
|
|
19786
|
+
value.etag = cachedValue.etag;
|
|
19787
|
+
value.headers = { ...cachedValue.headers, ...strippedHeaders };
|
|
19788
|
+
downstreamOnHeaders();
|
|
19789
|
+
this.#writeStream = this.#store.createWriteStream(this.#cacheKey, value);
|
|
19790
|
+
if (!this.#writeStream || !cachedValue?.body) {
|
|
19791
|
+
return;
|
|
18852
19792
|
}
|
|
18853
|
-
|
|
18854
|
-
|
|
18855
|
-
|
|
18856
|
-
|
|
18857
|
-
|
|
18858
|
-
|
|
18859
|
-
|
|
18860
|
-
|
|
18861
|
-
|
|
19793
|
+
if (typeof cachedValue.body.values === "function") {
|
|
19794
|
+
const bodyIterator = cachedValue.body.values();
|
|
19795
|
+
const streamCachedBody = () => {
|
|
19796
|
+
for (const chunk of bodyIterator) {
|
|
19797
|
+
const full = this.#writeStream.write(chunk) === false;
|
|
19798
|
+
this.#handler.onResponseData?.(controller, chunk);
|
|
19799
|
+
if (full) {
|
|
19800
|
+
break;
|
|
19801
|
+
}
|
|
19802
|
+
}
|
|
19803
|
+
};
|
|
19804
|
+
this.#writeStream.on("error", function() {
|
|
19805
|
+
handler.#writeStream = void 0;
|
|
19806
|
+
handler.#store.delete(handler.#cacheKey);
|
|
19807
|
+
}).on("drain", () => {
|
|
19808
|
+
streamCachedBody();
|
|
19809
|
+
}).on("close", function() {
|
|
19810
|
+
if (handler.#writeStream === this) {
|
|
19811
|
+
handler.#writeStream = void 0;
|
|
19812
|
+
}
|
|
19813
|
+
});
|
|
19814
|
+
streamCachedBody();
|
|
19815
|
+
} else if (typeof cachedValue.body.on === "function") {
|
|
19816
|
+
cachedValue.body.on("data", (chunk) => {
|
|
19817
|
+
this.#writeStream.write(chunk);
|
|
19818
|
+
this.#handler.onResponseData?.(controller, chunk);
|
|
19819
|
+
}).on("end", () => {
|
|
19820
|
+
this.#writeStream.end();
|
|
19821
|
+
}).on("error", () => {
|
|
19822
|
+
this.#writeStream = void 0;
|
|
19823
|
+
this.#store.delete(this.#cacheKey);
|
|
19824
|
+
});
|
|
19825
|
+
this.#writeStream.on("error", function() {
|
|
19826
|
+
handler.#writeStream = void 0;
|
|
19827
|
+
handler.#store.delete(handler.#cacheKey);
|
|
19828
|
+
}).on("close", function() {
|
|
19829
|
+
if (handler.#writeStream === this) {
|
|
19830
|
+
handler.#writeStream = void 0;
|
|
19831
|
+
}
|
|
19832
|
+
});
|
|
18862
19833
|
}
|
|
18863
|
-
}
|
|
18864
|
-
|
|
19834
|
+
};
|
|
19835
|
+
const result = this.#store.get(this.#cacheKey);
|
|
19836
|
+
if (result && typeof result.then === "function") {
|
|
19837
|
+
result.then(handle304);
|
|
19838
|
+
} else {
|
|
19839
|
+
handle304(result);
|
|
19840
|
+
}
|
|
18865
19841
|
} else {
|
|
18866
19842
|
if (typeof resHeaders.etag === "string" && isEtagUsable(resHeaders.etag)) {
|
|
18867
19843
|
value.etag = resHeaders.etag;
|
|
@@ -19032,9 +20008,9 @@ var require_cache_handler = __commonJS({
|
|
|
19032
20008
|
}
|
|
19033
20009
|
});
|
|
19034
20010
|
|
|
19035
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
20011
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/cache/memory-cache-store.js
|
|
19036
20012
|
var require_memory_cache_store = __commonJS({
|
|
19037
|
-
"../../node_modules/.pnpm/undici@7.
|
|
20013
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/cache/memory-cache-store.js"(exports2, module3) {
|
|
19038
20014
|
"use strict";
|
|
19039
20015
|
var { Writable } = require("node:stream");
|
|
19040
20016
|
var { EventEmitter } = require("node:events");
|
|
@@ -19209,9 +20185,9 @@ var require_memory_cache_store = __commonJS({
|
|
|
19209
20185
|
}
|
|
19210
20186
|
});
|
|
19211
20187
|
|
|
19212
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
20188
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/cache-revalidation-handler.js
|
|
19213
20189
|
var require_cache_revalidation_handler = __commonJS({
|
|
19214
|
-
"../../node_modules/.pnpm/undici@7.
|
|
20190
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/cache-revalidation-handler.js"(exports2, module3) {
|
|
19215
20191
|
"use strict";
|
|
19216
20192
|
var assert7 = require("node:assert");
|
|
19217
20193
|
var CacheRevalidationHandler = class {
|
|
@@ -19296,9 +20272,9 @@ var require_cache_revalidation_handler = __commonJS({
|
|
|
19296
20272
|
}
|
|
19297
20273
|
});
|
|
19298
20274
|
|
|
19299
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
20275
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/cache.js
|
|
19300
20276
|
var require_cache2 = __commonJS({
|
|
19301
|
-
"../../node_modules/.pnpm/undici@7.
|
|
20277
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/cache.js"(exports2, module3) {
|
|
19302
20278
|
"use strict";
|
|
19303
20279
|
var assert7 = require("node:assert");
|
|
19304
20280
|
var { Readable } = require("node:stream");
|
|
@@ -19308,6 +20284,18 @@ var require_cache2 = __commonJS({
|
|
|
19308
20284
|
var CacheRevalidationHandler = require_cache_revalidation_handler();
|
|
19309
20285
|
var { assertCacheStore, assertCacheMethods, makeCacheKey, normalizeHeaders, parseCacheControlHeader } = require_cache();
|
|
19310
20286
|
var { AbortError } = require_errors();
|
|
20287
|
+
function assertCacheOrigins(origins, name3) {
|
|
20288
|
+
if (origins === void 0) return;
|
|
20289
|
+
if (!Array.isArray(origins)) {
|
|
20290
|
+
throw new TypeError(`expected ${name3} to be an array or undefined, got ${typeof origins}`);
|
|
20291
|
+
}
|
|
20292
|
+
for (let i = 0; i < origins.length; i++) {
|
|
20293
|
+
const origin = origins[i];
|
|
20294
|
+
if (typeof origin !== "string" && !(origin instanceof RegExp)) {
|
|
20295
|
+
throw new TypeError(`expected ${name3}[${i}] to be a string or RegExp, got ${typeof origin}`);
|
|
20296
|
+
}
|
|
20297
|
+
}
|
|
20298
|
+
}
|
|
19311
20299
|
var nop = () => {
|
|
19312
20300
|
};
|
|
19313
20301
|
function needsRevalidation(result, cacheControlDirectives, { headers = {} }) {
|
|
@@ -19452,7 +20440,7 @@ var require_cache2 = __commonJS({
|
|
|
19452
20440
|
if (!revalidate && withinStaleWhileRevalidateWindow(result)) {
|
|
19453
20441
|
sendCachedValue(handler, opts, result, age, null, true);
|
|
19454
20442
|
queueMicrotask(() => {
|
|
19455
|
-
|
|
20443
|
+
const headers2 = {
|
|
19456
20444
|
...opts.headers,
|
|
19457
20445
|
"if-modified-since": new Date(result.cachedAt).toUTCString()
|
|
19458
20446
|
};
|
|
@@ -19460,10 +20448,11 @@ var require_cache2 = __commonJS({
|
|
|
19460
20448
|
headers2["if-none-match"] = result.etag;
|
|
19461
20449
|
}
|
|
19462
20450
|
if (result.vary) {
|
|
19463
|
-
|
|
19464
|
-
|
|
19465
|
-
|
|
19466
|
-
|
|
20451
|
+
for (const key in result.vary) {
|
|
20452
|
+
if (result.vary[key] != null) {
|
|
20453
|
+
headers2[key] = result.vary[key];
|
|
20454
|
+
}
|
|
20455
|
+
}
|
|
19467
20456
|
}
|
|
19468
20457
|
dispatch(
|
|
19469
20458
|
{
|
|
@@ -19494,7 +20483,7 @@ var require_cache2 = __commonJS({
|
|
|
19494
20483
|
if (staleIfErrorExpiry) {
|
|
19495
20484
|
withinStaleIfErrorThreshold = now < result.staleAt + staleIfErrorExpiry * 1e3;
|
|
19496
20485
|
}
|
|
19497
|
-
|
|
20486
|
+
const headers = {
|
|
19498
20487
|
...opts.headers,
|
|
19499
20488
|
"if-modified-since": new Date(result.cachedAt).toUTCString()
|
|
19500
20489
|
};
|
|
@@ -19502,10 +20491,11 @@ var require_cache2 = __commonJS({
|
|
|
19502
20491
|
headers["if-none-match"] = result.etag;
|
|
19503
20492
|
}
|
|
19504
20493
|
if (result.vary) {
|
|
19505
|
-
|
|
19506
|
-
|
|
19507
|
-
|
|
19508
|
-
|
|
20494
|
+
for (const key in result.vary) {
|
|
20495
|
+
if (result.vary[key] != null) {
|
|
20496
|
+
headers[key] = result.vary[key];
|
|
20497
|
+
}
|
|
20498
|
+
}
|
|
19509
20499
|
}
|
|
19510
20500
|
return dispatch(
|
|
19511
20501
|
{
|
|
@@ -19535,13 +20525,15 @@ var require_cache2 = __commonJS({
|
|
|
19535
20525
|
store = new MemoryCacheStore(),
|
|
19536
20526
|
methods = ["GET"],
|
|
19537
20527
|
cacheByDefault = void 0,
|
|
19538
|
-
type = "shared"
|
|
20528
|
+
type = "shared",
|
|
20529
|
+
origins = void 0
|
|
19539
20530
|
} = opts;
|
|
19540
20531
|
if (typeof opts !== "object" || opts === null) {
|
|
19541
20532
|
throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`);
|
|
19542
20533
|
}
|
|
19543
20534
|
assertCacheStore(store, "opts.store");
|
|
19544
20535
|
assertCacheMethods(methods, "opts.methods");
|
|
20536
|
+
assertCacheOrigins(origins, "opts.origins");
|
|
19545
20537
|
if (typeof cacheByDefault !== "undefined" && typeof cacheByDefault !== "number") {
|
|
19546
20538
|
throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof cacheByDefault}`);
|
|
19547
20539
|
}
|
|
@@ -19560,6 +20552,25 @@ var require_cache2 = __commonJS({
|
|
|
19560
20552
|
if (!opts2.origin || safeMethodsToNotCache.includes(opts2.method)) {
|
|
19561
20553
|
return dispatch(opts2, handler);
|
|
19562
20554
|
}
|
|
20555
|
+
if (origins !== void 0) {
|
|
20556
|
+
const requestOrigin = opts2.origin.toString().toLowerCase();
|
|
20557
|
+
let isAllowed = false;
|
|
20558
|
+
for (let i = 0; i < origins.length; i++) {
|
|
20559
|
+
const allowed = origins[i];
|
|
20560
|
+
if (typeof allowed === "string") {
|
|
20561
|
+
if (allowed.toLowerCase() === requestOrigin) {
|
|
20562
|
+
isAllowed = true;
|
|
20563
|
+
break;
|
|
20564
|
+
}
|
|
20565
|
+
} else if (allowed.test(requestOrigin)) {
|
|
20566
|
+
isAllowed = true;
|
|
20567
|
+
break;
|
|
20568
|
+
}
|
|
20569
|
+
}
|
|
20570
|
+
if (!isAllowed) {
|
|
20571
|
+
return dispatch(opts2, handler);
|
|
20572
|
+
}
|
|
20573
|
+
}
|
|
19563
20574
|
opts2 = {
|
|
19564
20575
|
...opts2,
|
|
19565
20576
|
headers: normalizeHeaders(opts2)
|
|
@@ -19597,9 +20608,9 @@ var require_cache2 = __commonJS({
|
|
|
19597
20608
|
}
|
|
19598
20609
|
});
|
|
19599
20610
|
|
|
19600
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
20611
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/decompress.js
|
|
19601
20612
|
var require_decompress = __commonJS({
|
|
19602
|
-
"../../node_modules/.pnpm/undici@7.
|
|
20613
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/decompress.js"(exports2, module3) {
|
|
19603
20614
|
"use strict";
|
|
19604
20615
|
var { createInflate, createGunzip, createBrotliDecompress, createZstdDecompress } = require("node:zlib");
|
|
19605
20616
|
var { pipeline } = require("node:stream");
|
|
@@ -19625,8 +20636,6 @@ var require_decompress = __commonJS({
|
|
|
19625
20636
|
var DecompressHandler = class extends DecoratorHandler {
|
|
19626
20637
|
/** @type {Transform[]} */
|
|
19627
20638
|
#decompressors = [];
|
|
19628
|
-
/** @type {NodeJS.WritableStream&NodeJS.ReadableStream|null} */
|
|
19629
|
-
#pipelineStream;
|
|
19630
20639
|
/** @type {Readonly<number[]>} */
|
|
19631
20640
|
#skipStatusCodes;
|
|
19632
20641
|
/** @type {boolean} */
|
|
@@ -19713,7 +20722,7 @@ var require_decompress = __commonJS({
|
|
|
19713
20722
|
#setupMultipleDecompressors(controller) {
|
|
19714
20723
|
const lastDecompressor = this.#decompressors[this.#decompressors.length - 1];
|
|
19715
20724
|
this.#setupDecompressorEvents(lastDecompressor, controller);
|
|
19716
|
-
|
|
20725
|
+
pipeline(this.#decompressors, (err) => {
|
|
19717
20726
|
if (err) {
|
|
19718
20727
|
super.onResponseError(controller, err);
|
|
19719
20728
|
return;
|
|
@@ -19727,7 +20736,6 @@ var require_decompress = __commonJS({
|
|
|
19727
20736
|
*/
|
|
19728
20737
|
#cleanupDecompressors() {
|
|
19729
20738
|
this.#decompressors.length = 0;
|
|
19730
|
-
this.#pipelineStream = null;
|
|
19731
20739
|
}
|
|
19732
20740
|
/**
|
|
19733
20741
|
* @param {Controller} controller
|
|
@@ -19753,7 +20761,7 @@ var require_decompress = __commonJS({
|
|
|
19753
20761
|
} else {
|
|
19754
20762
|
this.#setupMultipleDecompressors(controller);
|
|
19755
20763
|
}
|
|
19756
|
-
super.onResponseStart(controller, statusCode, newHeaders, statusMessage);
|
|
20764
|
+
return super.onResponseStart(controller, statusCode, newHeaders, statusMessage);
|
|
19757
20765
|
}
|
|
19758
20766
|
/**
|
|
19759
20767
|
* @param {Controller} controller
|
|
@@ -19814,23 +20822,25 @@ var require_decompress = __commonJS({
|
|
|
19814
20822
|
}
|
|
19815
20823
|
});
|
|
19816
20824
|
|
|
19817
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
20825
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/deduplication-handler.js
|
|
19818
20826
|
var require_deduplication_handler = __commonJS({
|
|
19819
|
-
"../../node_modules/.pnpm/undici@7.
|
|
20827
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/handler/deduplication-handler.js"(exports2, module3) {
|
|
19820
20828
|
"use strict";
|
|
20829
|
+
var { RequestAbortedError } = require_errors();
|
|
20830
|
+
var DEFAULT_MAX_BUFFER_SIZE = 5 * 1024 * 1024;
|
|
19821
20831
|
var DeduplicationHandler = class {
|
|
19822
20832
|
/**
|
|
19823
20833
|
* @type {DispatchHandler}
|
|
19824
20834
|
*/
|
|
19825
20835
|
#primaryHandler;
|
|
19826
20836
|
/**
|
|
19827
|
-
* @type {
|
|
20837
|
+
* @type {WaitingHandler[]}
|
|
19828
20838
|
*/
|
|
19829
20839
|
#waitingHandlers = [];
|
|
19830
20840
|
/**
|
|
19831
|
-
* @type {
|
|
20841
|
+
* @type {number}
|
|
19832
20842
|
*/
|
|
19833
|
-
#
|
|
20843
|
+
#maxBufferSize = DEFAULT_MAX_BUFFER_SIZE;
|
|
19834
20844
|
/**
|
|
19835
20845
|
* @type {number}
|
|
19836
20846
|
*/
|
|
@@ -19847,6 +20857,18 @@ var require_deduplication_handler = __commonJS({
|
|
|
19847
20857
|
* @type {boolean}
|
|
19848
20858
|
*/
|
|
19849
20859
|
#aborted = false;
|
|
20860
|
+
/**
|
|
20861
|
+
* @type {boolean}
|
|
20862
|
+
*/
|
|
20863
|
+
#responseStarted = false;
|
|
20864
|
+
/**
|
|
20865
|
+
* @type {boolean}
|
|
20866
|
+
*/
|
|
20867
|
+
#responseDataStarted = false;
|
|
20868
|
+
/**
|
|
20869
|
+
* @type {boolean}
|
|
20870
|
+
*/
|
|
20871
|
+
#completed = false;
|
|
19850
20872
|
/**
|
|
19851
20873
|
* @type {import('../../types/dispatcher.d.ts').default.DispatchController | null}
|
|
19852
20874
|
*/
|
|
@@ -19858,20 +20880,51 @@ var require_deduplication_handler = __commonJS({
|
|
|
19858
20880
|
/**
|
|
19859
20881
|
* @param {DispatchHandler} primaryHandler The primary handler
|
|
19860
20882
|
* @param {() => void} onComplete Callback when request completes
|
|
20883
|
+
* @param {number} [maxBufferSize] Maximum paused buffer size per waiting handler
|
|
19861
20884
|
*/
|
|
19862
|
-
constructor(primaryHandler, onComplete) {
|
|
20885
|
+
constructor(primaryHandler, onComplete, maxBufferSize = DEFAULT_MAX_BUFFER_SIZE) {
|
|
19863
20886
|
this.#primaryHandler = primaryHandler;
|
|
19864
20887
|
this.#onComplete = onComplete;
|
|
20888
|
+
this.#maxBufferSize = maxBufferSize;
|
|
19865
20889
|
}
|
|
19866
20890
|
/**
|
|
19867
|
-
* Add a waiting handler that will receive
|
|
20891
|
+
* Add a waiting handler that will receive response events.
|
|
20892
|
+
* Returns false if deduplication can no longer safely attach this handler.
|
|
20893
|
+
*
|
|
19868
20894
|
* @param {DispatchHandler} handler
|
|
20895
|
+
* @returns {boolean}
|
|
19869
20896
|
*/
|
|
19870
20897
|
addWaitingHandler(handler) {
|
|
19871
|
-
this.#
|
|
20898
|
+
if (this.#completed || this.#responseDataStarted) {
|
|
20899
|
+
return false;
|
|
20900
|
+
}
|
|
20901
|
+
const waitingHandler = this.#createWaitingHandler(handler);
|
|
20902
|
+
const waitingController = waitingHandler.controller;
|
|
20903
|
+
try {
|
|
20904
|
+
handler.onRequestStart?.(waitingController, null);
|
|
20905
|
+
if (waitingController.aborted) {
|
|
20906
|
+
waitingHandler.done = true;
|
|
20907
|
+
return true;
|
|
20908
|
+
}
|
|
20909
|
+
if (this.#responseStarted) {
|
|
20910
|
+
handler.onResponseStart?.(
|
|
20911
|
+
waitingController,
|
|
20912
|
+
this.#statusCode,
|
|
20913
|
+
this.#headers,
|
|
20914
|
+
this.#statusMessage
|
|
20915
|
+
);
|
|
20916
|
+
}
|
|
20917
|
+
} catch {
|
|
20918
|
+
waitingHandler.done = true;
|
|
20919
|
+
return true;
|
|
20920
|
+
}
|
|
20921
|
+
if (!waitingController.aborted) {
|
|
20922
|
+
this.#waitingHandlers.push(waitingHandler);
|
|
20923
|
+
}
|
|
20924
|
+
return true;
|
|
19872
20925
|
}
|
|
19873
20926
|
/**
|
|
19874
|
-
* @param {()
|
|
20927
|
+
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
|
|
19875
20928
|
* @param {any} context
|
|
19876
20929
|
*/
|
|
19877
20930
|
onRequestStart(controller, context) {
|
|
@@ -19894,26 +20947,95 @@ var require_deduplication_handler = __commonJS({
|
|
|
19894
20947
|
* @param {string} statusMessage
|
|
19895
20948
|
*/
|
|
19896
20949
|
onResponseStart(controller, statusCode, headers, statusMessage) {
|
|
20950
|
+
this.#responseStarted = true;
|
|
19897
20951
|
this.#statusCode = statusCode;
|
|
19898
20952
|
this.#headers = headers;
|
|
19899
20953
|
this.#statusMessage = statusMessage;
|
|
19900
20954
|
this.#primaryHandler.onResponseStart?.(controller, statusCode, headers, statusMessage);
|
|
20955
|
+
for (const waitingHandler of this.#waitingHandlers) {
|
|
20956
|
+
const { handler, controller: waitingController } = waitingHandler;
|
|
20957
|
+
if (waitingHandler.done || waitingController.aborted) {
|
|
20958
|
+
waitingHandler.done = true;
|
|
20959
|
+
continue;
|
|
20960
|
+
}
|
|
20961
|
+
try {
|
|
20962
|
+
handler.onResponseStart?.(
|
|
20963
|
+
waitingController,
|
|
20964
|
+
statusCode,
|
|
20965
|
+
headers,
|
|
20966
|
+
statusMessage
|
|
20967
|
+
);
|
|
20968
|
+
} catch {
|
|
20969
|
+
}
|
|
20970
|
+
if (waitingController.aborted) {
|
|
20971
|
+
waitingHandler.done = true;
|
|
20972
|
+
}
|
|
20973
|
+
}
|
|
20974
|
+
this.#pruneDoneWaitingHandlers();
|
|
19901
20975
|
}
|
|
19902
20976
|
/**
|
|
19903
20977
|
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
|
|
19904
20978
|
* @param {Buffer} chunk
|
|
19905
20979
|
*/
|
|
19906
20980
|
onResponseData(controller, chunk) {
|
|
19907
|
-
this.#
|
|
20981
|
+
if (this.#aborted || this.#completed) {
|
|
20982
|
+
return;
|
|
20983
|
+
}
|
|
20984
|
+
this.#responseDataStarted = true;
|
|
19908
20985
|
this.#primaryHandler.onResponseData?.(controller, chunk);
|
|
20986
|
+
for (const waitingHandler of this.#waitingHandlers) {
|
|
20987
|
+
const { handler, controller: waitingController } = waitingHandler;
|
|
20988
|
+
if (waitingHandler.done || waitingController.aborted) {
|
|
20989
|
+
waitingHandler.done = true;
|
|
20990
|
+
continue;
|
|
20991
|
+
}
|
|
20992
|
+
if (waitingController.paused) {
|
|
20993
|
+
this.#bufferWaitingChunk(waitingHandler, chunk);
|
|
20994
|
+
continue;
|
|
20995
|
+
}
|
|
20996
|
+
try {
|
|
20997
|
+
handler.onResponseData?.(waitingController, chunk);
|
|
20998
|
+
} catch {
|
|
20999
|
+
}
|
|
21000
|
+
if (waitingController.aborted) {
|
|
21001
|
+
waitingHandler.done = true;
|
|
21002
|
+
waitingHandler.bufferedChunks = [];
|
|
21003
|
+
waitingHandler.bufferedBytes = 0;
|
|
21004
|
+
}
|
|
21005
|
+
}
|
|
21006
|
+
this.#pruneDoneWaitingHandlers();
|
|
19909
21007
|
}
|
|
19910
21008
|
/**
|
|
19911
21009
|
* @param {import('../../types/dispatcher.d.ts').default.DispatchController} controller
|
|
19912
21010
|
* @param {object} trailers
|
|
19913
21011
|
*/
|
|
19914
21012
|
onResponseEnd(controller, trailers) {
|
|
21013
|
+
if (this.#aborted || this.#completed) {
|
|
21014
|
+
return;
|
|
21015
|
+
}
|
|
21016
|
+
this.#completed = true;
|
|
19915
21017
|
this.#primaryHandler.onResponseEnd?.(controller, trailers);
|
|
19916
|
-
this.#
|
|
21018
|
+
for (const waitingHandler of this.#waitingHandlers) {
|
|
21019
|
+
if (waitingHandler.done || waitingHandler.controller.aborted) {
|
|
21020
|
+
waitingHandler.done = true;
|
|
21021
|
+
continue;
|
|
21022
|
+
}
|
|
21023
|
+
this.#flushWaitingHandler(waitingHandler);
|
|
21024
|
+
if (waitingHandler.done || waitingHandler.controller.aborted) {
|
|
21025
|
+
waitingHandler.done = true;
|
|
21026
|
+
continue;
|
|
21027
|
+
}
|
|
21028
|
+
if (waitingHandler.controller.paused && waitingHandler.bufferedChunks.length > 0) {
|
|
21029
|
+
waitingHandler.pendingTrailers = trailers;
|
|
21030
|
+
continue;
|
|
21031
|
+
}
|
|
21032
|
+
try {
|
|
21033
|
+
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, trailers);
|
|
21034
|
+
} catch {
|
|
21035
|
+
}
|
|
21036
|
+
waitingHandler.done = true;
|
|
21037
|
+
}
|
|
21038
|
+
this.#pruneDoneWaitingHandlers();
|
|
19917
21039
|
this.#onComplete?.();
|
|
19918
21040
|
}
|
|
19919
21041
|
/**
|
|
@@ -19921,98 +21043,147 @@ var require_deduplication_handler = __commonJS({
|
|
|
19921
21043
|
* @param {Error} err
|
|
19922
21044
|
*/
|
|
19923
21045
|
onResponseError(controller, err) {
|
|
21046
|
+
if (this.#completed) {
|
|
21047
|
+
return;
|
|
21048
|
+
}
|
|
19924
21049
|
this.#aborted = true;
|
|
21050
|
+
this.#completed = true;
|
|
19925
21051
|
this.#primaryHandler.onResponseError?.(controller, err);
|
|
19926
|
-
this.#
|
|
21052
|
+
for (const waitingHandler of this.#waitingHandlers) {
|
|
21053
|
+
this.#errorWaitingHandler(waitingHandler, err);
|
|
21054
|
+
}
|
|
21055
|
+
this.#waitingHandlers = [];
|
|
19927
21056
|
this.#onComplete?.();
|
|
19928
21057
|
}
|
|
19929
21058
|
/**
|
|
19930
|
-
*
|
|
21059
|
+
* @param {DispatchHandler} handler
|
|
21060
|
+
* @returns {WaitingHandler}
|
|
19931
21061
|
*/
|
|
19932
|
-
#
|
|
19933
|
-
const
|
|
19934
|
-
|
|
19935
|
-
|
|
19936
|
-
|
|
19937
|
-
|
|
19938
|
-
|
|
19939
|
-
|
|
19940
|
-
|
|
19941
|
-
|
|
19942
|
-
|
|
19943
|
-
|
|
19944
|
-
|
|
19945
|
-
|
|
19946
|
-
|
|
19947
|
-
|
|
19948
|
-
|
|
19949
|
-
|
|
19950
|
-
}
|
|
19951
|
-
};
|
|
19952
|
-
try {
|
|
19953
|
-
handler.onRequestStart?.(waitingController, null);
|
|
19954
|
-
if (waitingController.aborted) {
|
|
19955
|
-
continue;
|
|
21062
|
+
#createWaitingHandler(handler) {
|
|
21063
|
+
const waitingHandler = {
|
|
21064
|
+
handler,
|
|
21065
|
+
controller: null,
|
|
21066
|
+
bufferedChunks: [],
|
|
21067
|
+
bufferedBytes: 0,
|
|
21068
|
+
pendingTrailers: null,
|
|
21069
|
+
done: false
|
|
21070
|
+
};
|
|
21071
|
+
const state = {
|
|
21072
|
+
aborted: false,
|
|
21073
|
+
paused: false,
|
|
21074
|
+
reason: null
|
|
21075
|
+
};
|
|
21076
|
+
waitingHandler.controller = {
|
|
21077
|
+
resume: () => {
|
|
21078
|
+
if (state.aborted) {
|
|
21079
|
+
return;
|
|
19956
21080
|
}
|
|
19957
|
-
|
|
19958
|
-
|
|
19959
|
-
|
|
19960
|
-
|
|
19961
|
-
|
|
19962
|
-
|
|
19963
|
-
|
|
19964
|
-
|
|
21081
|
+
state.paused = false;
|
|
21082
|
+
this.#flushWaitingHandler(waitingHandler);
|
|
21083
|
+
if (this.#completed && waitingHandler.pendingTrailers && waitingHandler.bufferedChunks.length === 0 && !state.paused && !state.aborted) {
|
|
21084
|
+
try {
|
|
21085
|
+
waitingHandler.handler.onResponseEnd?.(waitingHandler.controller, waitingHandler.pendingTrailers);
|
|
21086
|
+
} catch {
|
|
21087
|
+
}
|
|
21088
|
+
waitingHandler.pendingTrailers = null;
|
|
21089
|
+
waitingHandler.done = true;
|
|
19965
21090
|
}
|
|
19966
|
-
|
|
19967
|
-
|
|
21091
|
+
this.#pruneDoneWaitingHandlers();
|
|
21092
|
+
},
|
|
21093
|
+
pause: () => {
|
|
21094
|
+
if (!state.aborted) {
|
|
21095
|
+
state.paused = true;
|
|
19968
21096
|
}
|
|
19969
|
-
|
|
19970
|
-
|
|
21097
|
+
},
|
|
21098
|
+
get paused() {
|
|
21099
|
+
return state.paused;
|
|
21100
|
+
},
|
|
21101
|
+
get aborted() {
|
|
21102
|
+
return state.aborted;
|
|
21103
|
+
},
|
|
21104
|
+
get reason() {
|
|
21105
|
+
return state.reason;
|
|
21106
|
+
},
|
|
21107
|
+
abort: (reason) => {
|
|
21108
|
+
state.aborted = true;
|
|
21109
|
+
state.reason = reason ?? null;
|
|
21110
|
+
waitingHandler.done = true;
|
|
21111
|
+
waitingHandler.pendingTrailers = null;
|
|
21112
|
+
waitingHandler.bufferedChunks = [];
|
|
21113
|
+
waitingHandler.bufferedBytes = 0;
|
|
19971
21114
|
}
|
|
21115
|
+
};
|
|
21116
|
+
return waitingHandler;
|
|
21117
|
+
}
|
|
21118
|
+
/**
|
|
21119
|
+
* @param {WaitingHandler} waitingHandler
|
|
21120
|
+
* @param {Buffer} chunk
|
|
21121
|
+
*/
|
|
21122
|
+
#bufferWaitingChunk(waitingHandler, chunk) {
|
|
21123
|
+
if (waitingHandler.done || waitingHandler.controller.aborted) {
|
|
21124
|
+
waitingHandler.done = true;
|
|
21125
|
+
waitingHandler.bufferedChunks = [];
|
|
21126
|
+
waitingHandler.bufferedBytes = 0;
|
|
21127
|
+
return;
|
|
21128
|
+
}
|
|
21129
|
+
const bufferedChunk = Buffer.from(chunk);
|
|
21130
|
+
waitingHandler.bufferedChunks.push(bufferedChunk);
|
|
21131
|
+
waitingHandler.bufferedBytes += bufferedChunk.length;
|
|
21132
|
+
if (waitingHandler.bufferedBytes > this.#maxBufferSize) {
|
|
21133
|
+
const err = new RequestAbortedError(`Deduplicated waiting handler exceeded maxBufferSize (${this.#maxBufferSize} bytes) while paused`);
|
|
21134
|
+
this.#errorWaitingHandler(waitingHandler, err);
|
|
19972
21135
|
}
|
|
19973
|
-
this.#waitingHandlers = [];
|
|
19974
|
-
this.#chunks = [];
|
|
19975
21136
|
}
|
|
19976
21137
|
/**
|
|
19977
|
-
*
|
|
19978
|
-
* @param {Error} err
|
|
21138
|
+
* @param {WaitingHandler} waitingHandler
|
|
19979
21139
|
*/
|
|
19980
|
-
#
|
|
19981
|
-
|
|
19982
|
-
|
|
19983
|
-
|
|
19984
|
-
|
|
19985
|
-
pause() {
|
|
19986
|
-
},
|
|
19987
|
-
get paused() {
|
|
19988
|
-
return false;
|
|
19989
|
-
},
|
|
19990
|
-
get aborted() {
|
|
19991
|
-
return true;
|
|
19992
|
-
},
|
|
19993
|
-
get reason() {
|
|
19994
|
-
return err;
|
|
19995
|
-
},
|
|
19996
|
-
abort() {
|
|
19997
|
-
}
|
|
19998
|
-
};
|
|
21140
|
+
#flushWaitingHandler(waitingHandler) {
|
|
21141
|
+
const { handler, controller } = waitingHandler;
|
|
21142
|
+
while (!waitingHandler.done && !controller.aborted && !controller.paused && waitingHandler.bufferedChunks.length > 0) {
|
|
21143
|
+
const bufferedChunk = waitingHandler.bufferedChunks.shift();
|
|
21144
|
+
waitingHandler.bufferedBytes -= bufferedChunk.length;
|
|
19999
21145
|
try {
|
|
20000
|
-
handler.
|
|
20001
|
-
handler.onResponseError?.(waitingController, err);
|
|
21146
|
+
handler.onResponseData?.(controller, bufferedChunk);
|
|
20002
21147
|
} catch {
|
|
20003
21148
|
}
|
|
21149
|
+
if (controller.aborted) {
|
|
21150
|
+
waitingHandler.done = true;
|
|
21151
|
+
waitingHandler.pendingTrailers = null;
|
|
21152
|
+
waitingHandler.bufferedChunks = [];
|
|
21153
|
+
waitingHandler.bufferedBytes = 0;
|
|
21154
|
+
break;
|
|
21155
|
+
}
|
|
20004
21156
|
}
|
|
20005
|
-
|
|
20006
|
-
|
|
21157
|
+
}
|
|
21158
|
+
/**
|
|
21159
|
+
* @param {WaitingHandler} waitingHandler
|
|
21160
|
+
* @param {Error} err
|
|
21161
|
+
*/
|
|
21162
|
+
#errorWaitingHandler(waitingHandler, err) {
|
|
21163
|
+
if (waitingHandler.done) {
|
|
21164
|
+
return;
|
|
21165
|
+
}
|
|
21166
|
+
waitingHandler.done = true;
|
|
21167
|
+
waitingHandler.pendingTrailers = null;
|
|
21168
|
+
waitingHandler.bufferedChunks = [];
|
|
21169
|
+
waitingHandler.bufferedBytes = 0;
|
|
21170
|
+
try {
|
|
21171
|
+
waitingHandler.controller.abort(err);
|
|
21172
|
+
waitingHandler.handler.onResponseError?.(waitingHandler.controller, err);
|
|
21173
|
+
} catch {
|
|
21174
|
+
}
|
|
21175
|
+
}
|
|
21176
|
+
#pruneDoneWaitingHandlers() {
|
|
21177
|
+
this.#waitingHandlers = this.#waitingHandlers.filter((waitingHandler) => waitingHandler.done === false);
|
|
20007
21178
|
}
|
|
20008
21179
|
};
|
|
20009
21180
|
module3.exports = DeduplicationHandler;
|
|
20010
21181
|
}
|
|
20011
21182
|
});
|
|
20012
21183
|
|
|
20013
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
21184
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/deduplicate.js
|
|
20014
21185
|
var require_deduplicate = __commonJS({
|
|
20015
|
-
"../../node_modules/.pnpm/undici@7.
|
|
21186
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/interceptor/deduplicate.js"(exports2, module3) {
|
|
20016
21187
|
"use strict";
|
|
20017
21188
|
var diagnosticsChannel = require("node:diagnostics_channel");
|
|
20018
21189
|
var util = require_util();
|
|
@@ -20023,7 +21194,8 @@ var require_deduplicate = __commonJS({
|
|
|
20023
21194
|
const {
|
|
20024
21195
|
methods = ["GET"],
|
|
20025
21196
|
skipHeaderNames = [],
|
|
20026
|
-
excludeHeaderNames = []
|
|
21197
|
+
excludeHeaderNames = [],
|
|
21198
|
+
maxBufferSize = 5 * 1024 * 1024
|
|
20027
21199
|
} = opts;
|
|
20028
21200
|
if (typeof opts !== "object" || opts === null) {
|
|
20029
21201
|
throw new TypeError(`expected type of opts to be an Object, got ${opts === null ? "null" : typeof opts}`);
|
|
@@ -20042,13 +21214,15 @@ var require_deduplicate = __commonJS({
|
|
|
20042
21214
|
if (!Array.isArray(excludeHeaderNames)) {
|
|
20043
21215
|
throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof excludeHeaderNames}`);
|
|
20044
21216
|
}
|
|
21217
|
+
if (!Number.isFinite(maxBufferSize) || maxBufferSize <= 0) {
|
|
21218
|
+
throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${maxBufferSize}`);
|
|
21219
|
+
}
|
|
20045
21220
|
const skipHeaderNamesSet = new Set(skipHeaderNames.map((name3) => name3.toLowerCase()));
|
|
20046
21221
|
const excludeHeaderNamesSet = new Set(excludeHeaderNames.map((name3) => name3.toLowerCase()));
|
|
20047
|
-
const safeMethodsToNotDeduplicate = util.safeHTTPMethods.filter((method) => methods.includes(method) === false);
|
|
20048
21222
|
const pendingRequests = /* @__PURE__ */ new Map();
|
|
20049
21223
|
return (dispatch) => {
|
|
20050
21224
|
return (opts2, handler) => {
|
|
20051
|
-
if (!opts2.origin ||
|
|
21225
|
+
if (!opts2.origin || methods.includes(opts2.method) === false) {
|
|
20052
21226
|
return dispatch(opts2, handler);
|
|
20053
21227
|
}
|
|
20054
21228
|
opts2 = {
|
|
@@ -20066,8 +21240,10 @@ var require_deduplicate = __commonJS({
|
|
|
20066
21240
|
const dedupeKey = makeDeduplicationKey(cacheKey, excludeHeaderNamesSet);
|
|
20067
21241
|
const pendingHandler = pendingRequests.get(dedupeKey);
|
|
20068
21242
|
if (pendingHandler) {
|
|
20069
|
-
pendingHandler.addWaitingHandler(handler)
|
|
20070
|
-
|
|
21243
|
+
if (pendingHandler.addWaitingHandler(handler)) {
|
|
21244
|
+
return true;
|
|
21245
|
+
}
|
|
21246
|
+
return dispatch(opts2, handler);
|
|
20071
21247
|
}
|
|
20072
21248
|
const deduplicationHandler = new DeduplicationHandler(
|
|
20073
21249
|
handler,
|
|
@@ -20076,7 +21252,8 @@ var require_deduplicate = __commonJS({
|
|
|
20076
21252
|
if (pendingRequestsChannel.hasSubscribers) {
|
|
20077
21253
|
pendingRequestsChannel.publish({ size: pendingRequests.size, key: dedupeKey, type: "removed" });
|
|
20078
21254
|
}
|
|
20079
|
-
}
|
|
21255
|
+
},
|
|
21256
|
+
maxBufferSize
|
|
20080
21257
|
);
|
|
20081
21258
|
pendingRequests.set(dedupeKey, deduplicationHandler);
|
|
20082
21259
|
if (pendingRequestsChannel.hasSubscribers) {
|
|
@@ -20089,9 +21266,9 @@ var require_deduplicate = __commonJS({
|
|
|
20089
21266
|
}
|
|
20090
21267
|
});
|
|
20091
21268
|
|
|
20092
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
21269
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/cache/sqlite-cache-store.js
|
|
20093
21270
|
var require_sqlite_cache_store = __commonJS({
|
|
20094
|
-
"../../node_modules/.pnpm/undici@7.
|
|
21271
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/cache/sqlite-cache-store.js"(exports2, module3) {
|
|
20095
21272
|
"use strict";
|
|
20096
21273
|
var { Writable } = require("node:stream");
|
|
20097
21274
|
var { assertCacheKey, assertCacheValue } = require_cache();
|
|
@@ -20448,9 +21625,9 @@ var require_sqlite_cache_store = __commonJS({
|
|
|
20448
21625
|
}
|
|
20449
21626
|
});
|
|
20450
21627
|
|
|
20451
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
21628
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/headers.js
|
|
20452
21629
|
var require_headers = __commonJS({
|
|
20453
|
-
"../../node_modules/.pnpm/undici@7.
|
|
21630
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/headers.js"(exports2, module3) {
|
|
20454
21631
|
"use strict";
|
|
20455
21632
|
var { kConstruct } = require_symbols();
|
|
20456
21633
|
var { kEnumerableProperty } = require_util();
|
|
@@ -20909,9 +22086,9 @@ var require_headers = __commonJS({
|
|
|
20909
22086
|
}
|
|
20910
22087
|
});
|
|
20911
22088
|
|
|
20912
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
22089
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/response.js
|
|
20913
22090
|
var require_response = __commonJS({
|
|
20914
|
-
"../../node_modules/.pnpm/undici@7.
|
|
22091
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/response.js"(exports2, module3) {
|
|
20915
22092
|
"use strict";
|
|
20916
22093
|
var { Headers, HeadersList, fill, getHeadersGuard, setHeadersGuard, setHeadersList } = require_headers();
|
|
20917
22094
|
var { extractBody, cloneBody, mixinBody, streamRegistry, bodyUnusable } = require_body();
|
|
@@ -21057,7 +22234,7 @@ var require_response = __commonJS({
|
|
|
21057
22234
|
});
|
|
21058
22235
|
}
|
|
21059
22236
|
const clonedResponse = cloneResponse(this.#state);
|
|
21060
|
-
if (this.#state.body?.stream) {
|
|
22237
|
+
if (this.#state.urlList.length !== 0 && this.#state.body?.stream) {
|
|
21061
22238
|
streamRegistry.register(this, new WeakRef(this.#state.body.stream));
|
|
21062
22239
|
}
|
|
21063
22240
|
return fromInnerResponse(clonedResponse, getHeadersGuard(this.#headers));
|
|
@@ -21268,7 +22445,7 @@ var require_response = __commonJS({
|
|
|
21268
22445
|
setResponseHeaders(response, headers);
|
|
21269
22446
|
setHeadersList(headers, innerResponse.headersList);
|
|
21270
22447
|
setHeadersGuard(headers, guard);
|
|
21271
|
-
if (innerResponse.body?.stream) {
|
|
22448
|
+
if (innerResponse.urlList.length !== 0 && innerResponse.body?.stream) {
|
|
21272
22449
|
streamRegistry.register(response, new WeakRef(innerResponse.body.stream));
|
|
21273
22450
|
}
|
|
21274
22451
|
return response;
|
|
@@ -21331,9 +22508,9 @@ var require_response = __commonJS({
|
|
|
21331
22508
|
}
|
|
21332
22509
|
});
|
|
21333
22510
|
|
|
21334
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
22511
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/request.js
|
|
21335
22512
|
var require_request2 = __commonJS({
|
|
21336
|
-
"../../node_modules/.pnpm/undici@7.
|
|
22513
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/request.js"(exports2, module3) {
|
|
21337
22514
|
"use strict";
|
|
21338
22515
|
var { extractBody, mixinBody, cloneBody, bodyUnusable } = require_body();
|
|
21339
22516
|
var { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require_headers();
|
|
@@ -21927,6 +23104,8 @@ var require_request2 = __commonJS({
|
|
|
21927
23104
|
preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
|
|
21928
23105
|
done: init.done ?? false,
|
|
21929
23106
|
timingAllowFailed: init.timingAllowFailed ?? false,
|
|
23107
|
+
useURLCredentials: init.useURLCredentials ?? void 0,
|
|
23108
|
+
traversableForUserPrompts: init.traversableForUserPrompts ?? "client",
|
|
21930
23109
|
urlList: init.urlList,
|
|
21931
23110
|
url: init.urlList[0],
|
|
21932
23111
|
headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList()
|
|
@@ -22085,9 +23264,9 @@ var require_request2 = __commonJS({
|
|
|
22085
23264
|
}
|
|
22086
23265
|
});
|
|
22087
23266
|
|
|
22088
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
23267
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js
|
|
22089
23268
|
var require_subresource_integrity = __commonJS({
|
|
22090
|
-
"../../node_modules/.pnpm/undici@7.
|
|
23269
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js"(exports2, module3) {
|
|
22091
23270
|
"use strict";
|
|
22092
23271
|
var assert7 = require("node:assert");
|
|
22093
23272
|
var { runtimeFeatures } = require_runtime_features();
|
|
@@ -22224,9 +23403,9 @@ var require_subresource_integrity = __commonJS({
|
|
|
22224
23403
|
}
|
|
22225
23404
|
});
|
|
22226
23405
|
|
|
22227
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
23406
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/index.js
|
|
22228
23407
|
var require_fetch = __commonJS({
|
|
22229
|
-
"../../node_modules/.pnpm/undici@7.
|
|
23408
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/fetch/index.js"(exports2, module3) {
|
|
22230
23409
|
"use strict";
|
|
22231
23410
|
var {
|
|
22232
23411
|
makeNetworkError,
|
|
@@ -22268,7 +23447,10 @@ var require_fetch = __commonJS({
|
|
|
22268
23447
|
simpleRangeHeaderValue,
|
|
22269
23448
|
buildContentRange,
|
|
22270
23449
|
createInflate,
|
|
22271
|
-
extractMimeType
|
|
23450
|
+
extractMimeType,
|
|
23451
|
+
hasAuthenticationEntry,
|
|
23452
|
+
includesCredentials,
|
|
23453
|
+
isTraversableNavigable
|
|
22272
23454
|
} = require_util2();
|
|
22273
23455
|
var assert7 = require("node:assert");
|
|
22274
23456
|
var { safelyExtractBody, extractBody } = require_body();
|
|
@@ -22339,7 +23521,7 @@ var require_fetch = __commonJS({
|
|
|
22339
23521
|
}
|
|
22340
23522
|
const request2 = getRequestState(requestObject);
|
|
22341
23523
|
if (requestObject.signal.aborted) {
|
|
22342
|
-
abortFetch(p2, request2, null, requestObject.signal.reason);
|
|
23524
|
+
abortFetch(p2, request2, null, requestObject.signal.reason, null);
|
|
22343
23525
|
return p2.promise;
|
|
22344
23526
|
}
|
|
22345
23527
|
const globalObject = request2.client.globalObject;
|
|
@@ -22356,7 +23538,7 @@ var require_fetch = __commonJS({
|
|
|
22356
23538
|
assert7(controller != null);
|
|
22357
23539
|
controller.abort(requestObject.signal.reason);
|
|
22358
23540
|
const realResponse = responseObject?.deref();
|
|
22359
|
-
abortFetch(p2, request2, realResponse, requestObject.signal.reason);
|
|
23541
|
+
abortFetch(p2, request2, realResponse, requestObject.signal.reason, controller.controller);
|
|
22360
23542
|
}
|
|
22361
23543
|
);
|
|
22362
23544
|
const processResponse = (response) => {
|
|
@@ -22364,7 +23546,7 @@ var require_fetch = __commonJS({
|
|
|
22364
23546
|
return;
|
|
22365
23547
|
}
|
|
22366
23548
|
if (response.aborted) {
|
|
22367
|
-
abortFetch(p2, request2, responseObject, controller.serializedAbortReason);
|
|
23549
|
+
abortFetch(p2, request2, responseObject, controller.serializedAbortReason, controller.controller);
|
|
22368
23550
|
return;
|
|
22369
23551
|
}
|
|
22370
23552
|
if (response.type === "error") {
|
|
@@ -22379,8 +23561,11 @@ var require_fetch = __commonJS({
|
|
|
22379
23561
|
request: request2,
|
|
22380
23562
|
processResponseEndOfBody: handleFetchDone,
|
|
22381
23563
|
processResponse,
|
|
22382
|
-
dispatcher: getRequestDispatcher(requestObject)
|
|
23564
|
+
dispatcher: getRequestDispatcher(requestObject),
|
|
22383
23565
|
// undici
|
|
23566
|
+
// Keep requestObject alive to prevent its AbortController from being GC'd
|
|
23567
|
+
// See https://github.com/nodejs/undici/issues/4627
|
|
23568
|
+
requestObject
|
|
22384
23569
|
});
|
|
22385
23570
|
return p2.promise;
|
|
22386
23571
|
}
|
|
@@ -22420,7 +23605,7 @@ var require_fetch = __commonJS({
|
|
|
22420
23605
|
);
|
|
22421
23606
|
}
|
|
22422
23607
|
var markResourceTiming = performance.markResourceTiming;
|
|
22423
|
-
function abortFetch(p2, request2, responseObject, error2) {
|
|
23608
|
+
function abortFetch(p2, request2, responseObject, error2, controller) {
|
|
22424
23609
|
if (p2) {
|
|
22425
23610
|
p2.reject(error2);
|
|
22426
23611
|
}
|
|
@@ -22437,12 +23622,7 @@ var require_fetch = __commonJS({
|
|
|
22437
23622
|
}
|
|
22438
23623
|
const response = getResponseState(responseObject);
|
|
22439
23624
|
if (response.body?.stream != null && isReadable(response.body.stream)) {
|
|
22440
|
-
|
|
22441
|
-
if (err.code === "ERR_INVALID_STATE") {
|
|
22442
|
-
return;
|
|
22443
|
-
}
|
|
22444
|
-
throw err;
|
|
22445
|
-
});
|
|
23625
|
+
controller.error(error2);
|
|
22446
23626
|
}
|
|
22447
23627
|
}
|
|
22448
23628
|
function fetching({
|
|
@@ -22453,8 +23633,10 @@ var require_fetch = __commonJS({
|
|
|
22453
23633
|
processResponseEndOfBody,
|
|
22454
23634
|
processResponseConsumeBody,
|
|
22455
23635
|
useParallelQueue = false,
|
|
22456
|
-
dispatcher = getGlobalDispatcher()
|
|
23636
|
+
dispatcher = getGlobalDispatcher(),
|
|
22457
23637
|
// undici
|
|
23638
|
+
requestObject = null
|
|
23639
|
+
// Keep alive to prevent AbortController GC, see #4627
|
|
22458
23640
|
}) {
|
|
22459
23641
|
assert7(dispatcher);
|
|
22460
23642
|
let taskDestination = null;
|
|
@@ -22477,7 +23659,9 @@ var require_fetch = __commonJS({
|
|
|
22477
23659
|
processResponseConsumeBody,
|
|
22478
23660
|
processResponseEndOfBody,
|
|
22479
23661
|
taskDestination,
|
|
22480
|
-
crossOriginIsolatedCapability
|
|
23662
|
+
crossOriginIsolatedCapability,
|
|
23663
|
+
// Keep requestObject alive to prevent its AbortController from being GC'd
|
|
23664
|
+
requestObject
|
|
22481
23665
|
};
|
|
22482
23666
|
assert7(!request2.body || request2.body.stream);
|
|
22483
23667
|
if (request2.window === "client") {
|
|
@@ -22926,6 +24110,17 @@ var require_fetch = __commonJS({
|
|
|
22926
24110
|
}
|
|
22927
24111
|
httpRequest.headersList.delete("host", true);
|
|
22928
24112
|
if (includeCredentials) {
|
|
24113
|
+
if (!httpRequest.headersList.contains("authorization", true)) {
|
|
24114
|
+
let authorizationValue = null;
|
|
24115
|
+
if (hasAuthenticationEntry(httpRequest) && (httpRequest.useURLCredentials === void 0 || !includesCredentials(requestCurrentURL(httpRequest)))) {
|
|
24116
|
+
} else if (includesCredentials(requestCurrentURL(httpRequest)) && isAuthenticationFetch) {
|
|
24117
|
+
const { username, password } = requestCurrentURL(httpRequest);
|
|
24118
|
+
authorizationValue = `Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`;
|
|
24119
|
+
}
|
|
24120
|
+
if (authorizationValue !== null) {
|
|
24121
|
+
httpRequest.headersList.append("Authorization", authorizationValue, false);
|
|
24122
|
+
}
|
|
24123
|
+
}
|
|
22929
24124
|
}
|
|
22930
24125
|
if (httpCache == null) {
|
|
22931
24126
|
httpRequest.cache = "no-store";
|
|
@@ -22954,6 +24149,22 @@ var require_fetch = __commonJS({
|
|
|
22954
24149
|
response.rangeRequested = true;
|
|
22955
24150
|
}
|
|
22956
24151
|
response.requestIncludesCredentials = includeCredentials;
|
|
24152
|
+
if (response.status === 401 && httpRequest.responseTainting !== "cors" && includeCredentials && isTraversableNavigable(request2.traversableForUserPrompts)) {
|
|
24153
|
+
if (request2.body != null) {
|
|
24154
|
+
if (request2.body.source == null) {
|
|
24155
|
+
return makeNetworkError("expected non-null body source");
|
|
24156
|
+
}
|
|
24157
|
+
request2.body = safelyExtractBody(request2.body.source)[0];
|
|
24158
|
+
}
|
|
24159
|
+
if (request2.useURLCredentials === void 0 || isAuthenticationFetch) {
|
|
24160
|
+
if (isCancelled(fetchParams)) {
|
|
24161
|
+
return makeAppropriateNetworkError(fetchParams);
|
|
24162
|
+
}
|
|
24163
|
+
return response;
|
|
24164
|
+
}
|
|
24165
|
+
fetchParams.controller.connection.destroy();
|
|
24166
|
+
response = await httpNetworkOrCacheFetch(fetchParams, true);
|
|
24167
|
+
}
|
|
22957
24168
|
if (response.status === 407) {
|
|
22958
24169
|
if (request2.window === "no-window") {
|
|
22959
24170
|
return makeNetworkError();
|
|
@@ -23148,9 +24359,11 @@ var require_fetch = __commonJS({
|
|
|
23148
24359
|
function dispatch({ body }) {
|
|
23149
24360
|
const url = requestCurrentURL(request2);
|
|
23150
24361
|
const agent = fetchParams.controller.dispatcher;
|
|
24362
|
+
const path4 = url.pathname + url.search;
|
|
24363
|
+
const hasTrailingQuestionMark = url.search.length === 0 && url.href[url.href.length - url.hash.length - 1] === "?";
|
|
23151
24364
|
return new Promise((resolve12, reject) => agent.dispatch(
|
|
23152
24365
|
{
|
|
23153
|
-
path:
|
|
24366
|
+
path: hasTrailingQuestionMark ? `${path4}?` : path4,
|
|
23154
24367
|
origin: url.origin,
|
|
23155
24368
|
method: request2.method,
|
|
23156
24369
|
body: agent.isMockActive ? request2.body && (request2.body.source || request2.body.stream) : body,
|
|
@@ -23263,6 +24476,32 @@ var require_fetch = __commonJS({
|
|
|
23263
24476
|
fetchParams.controller.terminate(error2);
|
|
23264
24477
|
reject(error2);
|
|
23265
24478
|
},
|
|
24479
|
+
onRequestUpgrade(_controller, status2, headers, socket) {
|
|
24480
|
+
if (socket.session != null && status2 !== 200 || socket.session == null && status2 !== 101) {
|
|
24481
|
+
return false;
|
|
24482
|
+
}
|
|
24483
|
+
const headersList = new HeadersList();
|
|
24484
|
+
for (const [name3, value] of Object.entries(headers)) {
|
|
24485
|
+
if (value == null) {
|
|
24486
|
+
continue;
|
|
24487
|
+
}
|
|
24488
|
+
const headerName = name3.toLowerCase();
|
|
24489
|
+
if (Array.isArray(value)) {
|
|
24490
|
+
for (const entry of value) {
|
|
24491
|
+
headersList.append(headerName, String(entry), true);
|
|
24492
|
+
}
|
|
24493
|
+
} else {
|
|
24494
|
+
headersList.append(headerName, String(value), true);
|
|
24495
|
+
}
|
|
24496
|
+
}
|
|
24497
|
+
resolve12({
|
|
24498
|
+
status: status2,
|
|
24499
|
+
statusText: STATUS_CODES[status2],
|
|
24500
|
+
headersList,
|
|
24501
|
+
socket
|
|
24502
|
+
});
|
|
24503
|
+
return true;
|
|
24504
|
+
},
|
|
23266
24505
|
onUpgrade(status2, rawHeaders, socket) {
|
|
23267
24506
|
if (socket.session != null && status2 !== 200 || socket.session == null && status2 !== 101) {
|
|
23268
24507
|
return false;
|
|
@@ -23292,9 +24531,9 @@ var require_fetch = __commonJS({
|
|
|
23292
24531
|
}
|
|
23293
24532
|
});
|
|
23294
24533
|
|
|
23295
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
24534
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cache/util.js
|
|
23296
24535
|
var require_util3 = __commonJS({
|
|
23297
|
-
"../../node_modules/.pnpm/undici@7.
|
|
24536
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cache/util.js"(exports2, module3) {
|
|
23298
24537
|
"use strict";
|
|
23299
24538
|
var assert7 = require("node:assert");
|
|
23300
24539
|
var { URLSerializer } = require_data_url();
|
|
@@ -23322,9 +24561,9 @@ var require_util3 = __commonJS({
|
|
|
23322
24561
|
}
|
|
23323
24562
|
});
|
|
23324
24563
|
|
|
23325
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
24564
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cache/cache.js
|
|
23326
24565
|
var require_cache3 = __commonJS({
|
|
23327
|
-
"../../node_modules/.pnpm/undici@7.
|
|
24566
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cache/cache.js"(exports2, module3) {
|
|
23328
24567
|
"use strict";
|
|
23329
24568
|
var assert7 = require("node:assert");
|
|
23330
24569
|
var { kConstruct } = require_symbols();
|
|
@@ -23811,8 +25050,8 @@ var require_cache3 = __commonJS({
|
|
|
23811
25050
|
}
|
|
23812
25051
|
const responseList = [];
|
|
23813
25052
|
for (const response of responses) {
|
|
23814
|
-
const responseObject = fromInnerResponse(response, "immutable");
|
|
23815
|
-
responseList.push(responseObject
|
|
25053
|
+
const responseObject = fromInnerResponse(cloneResponse(response), "immutable");
|
|
25054
|
+
responseList.push(responseObject);
|
|
23816
25055
|
if (responseList.length >= maxResponses) {
|
|
23817
25056
|
break;
|
|
23818
25057
|
}
|
|
@@ -23871,9 +25110,9 @@ var require_cache3 = __commonJS({
|
|
|
23871
25110
|
}
|
|
23872
25111
|
});
|
|
23873
25112
|
|
|
23874
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
25113
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cache/cachestorage.js
|
|
23875
25114
|
var require_cachestorage = __commonJS({
|
|
23876
|
-
"../../node_modules/.pnpm/undici@7.
|
|
25115
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cache/cachestorage.js"(exports2, module3) {
|
|
23877
25116
|
"use strict";
|
|
23878
25117
|
var { Cache } = require_cache3();
|
|
23879
25118
|
var { webidl } = require_webidl();
|
|
@@ -23981,9 +25220,9 @@ var require_cachestorage = __commonJS({
|
|
|
23981
25220
|
}
|
|
23982
25221
|
});
|
|
23983
25222
|
|
|
23984
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
25223
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cookies/constants.js
|
|
23985
25224
|
var require_constants5 = __commonJS({
|
|
23986
|
-
"../../node_modules/.pnpm/undici@7.
|
|
25225
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cookies/constants.js"(exports2, module3) {
|
|
23987
25226
|
"use strict";
|
|
23988
25227
|
var maxAttributeValueSize = 1024;
|
|
23989
25228
|
var maxNameValuePairSize = 4096;
|
|
@@ -23994,9 +25233,9 @@ var require_constants5 = __commonJS({
|
|
|
23994
25233
|
}
|
|
23995
25234
|
});
|
|
23996
25235
|
|
|
23997
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
25236
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cookies/util.js
|
|
23998
25237
|
var require_util4 = __commonJS({
|
|
23999
|
-
"../../node_modules/.pnpm/undici@7.
|
|
25238
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cookies/util.js"(exports2, module3) {
|
|
24000
25239
|
"use strict";
|
|
24001
25240
|
function isCTLExcludingHtab(value) {
|
|
24002
25241
|
for (let i = 0; i < value.length; ++i) {
|
|
@@ -24164,9 +25403,9 @@ var require_util4 = __commonJS({
|
|
|
24164
25403
|
}
|
|
24165
25404
|
});
|
|
24166
25405
|
|
|
24167
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
25406
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cookies/parse.js
|
|
24168
25407
|
var require_parse3 = __commonJS({
|
|
24169
|
-
"../../node_modules/.pnpm/undici@7.
|
|
25408
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cookies/parse.js"(exports2, module3) {
|
|
24170
25409
|
"use strict";
|
|
24171
25410
|
var { collectASequenceOfCodePointsFast } = require_infra();
|
|
24172
25411
|
var { maxNameValuePairSize, maxAttributeValueSize } = require_constants5();
|
|
@@ -24305,9 +25544,9 @@ var require_parse3 = __commonJS({
|
|
|
24305
25544
|
}
|
|
24306
25545
|
});
|
|
24307
25546
|
|
|
24308
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
25547
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cookies/index.js
|
|
24309
25548
|
var require_cookies = __commonJS({
|
|
24310
|
-
"../../node_modules/.pnpm/undici@7.
|
|
25549
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/cookies/index.js"(exports2, module3) {
|
|
24311
25550
|
"use strict";
|
|
24312
25551
|
var { parseSetCookie } = require_parse3();
|
|
24313
25552
|
var { stringify: stringify5 } = require_util4();
|
|
@@ -24440,9 +25679,9 @@ var require_cookies = __commonJS({
|
|
|
24440
25679
|
}
|
|
24441
25680
|
});
|
|
24442
25681
|
|
|
24443
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
25682
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/events.js
|
|
24444
25683
|
var require_events = __commonJS({
|
|
24445
|
-
"../../node_modules/.pnpm/undici@7.
|
|
25684
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/events.js"(exports2, module3) {
|
|
24446
25685
|
"use strict";
|
|
24447
25686
|
var { webidl } = require_webidl();
|
|
24448
25687
|
var { kEnumerableProperty } = require_util();
|
|
@@ -24708,9 +25947,9 @@ var require_events = __commonJS({
|
|
|
24708
25947
|
}
|
|
24709
25948
|
});
|
|
24710
25949
|
|
|
24711
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
25950
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/constants.js
|
|
24712
25951
|
var require_constants6 = __commonJS({
|
|
24713
|
-
"../../node_modules/.pnpm/undici@7.
|
|
25952
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/constants.js"(exports2, module3) {
|
|
24714
25953
|
"use strict";
|
|
24715
25954
|
var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
|
|
24716
25955
|
var staticPropertyDescriptors = {
|
|
@@ -24764,9 +26003,9 @@ var require_constants6 = __commonJS({
|
|
|
24764
26003
|
}
|
|
24765
26004
|
});
|
|
24766
26005
|
|
|
24767
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
26006
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/util.js
|
|
24768
26007
|
var require_util5 = __commonJS({
|
|
24769
|
-
"../../node_modules/.pnpm/undici@7.
|
|
26008
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/util.js"(exports2, module3) {
|
|
24770
26009
|
"use strict";
|
|
24771
26010
|
var { states, opcodes } = require_constants6();
|
|
24772
26011
|
var { isUtf8 } = require("node:buffer");
|
|
@@ -24861,13 +26100,17 @@ var require_util5 = __commonJS({
|
|
|
24861
26100
|
return extensionList;
|
|
24862
26101
|
}
|
|
24863
26102
|
function isValidClientWindowBits(value) {
|
|
26103
|
+
if (value.length === 0) {
|
|
26104
|
+
return false;
|
|
26105
|
+
}
|
|
24864
26106
|
for (let i = 0; i < value.length; i++) {
|
|
24865
26107
|
const byte = value.charCodeAt(i);
|
|
24866
26108
|
if (byte < 48 || byte > 57) {
|
|
24867
26109
|
return false;
|
|
24868
26110
|
}
|
|
24869
26111
|
}
|
|
24870
|
-
|
|
26112
|
+
const num = Number.parseInt(value, 10);
|
|
26113
|
+
return num >= 8 && num <= 15;
|
|
24871
26114
|
}
|
|
24872
26115
|
function getURLRecord(url, baseURL) {
|
|
24873
26116
|
let urlRecord;
|
|
@@ -24937,9 +26180,9 @@ var require_util5 = __commonJS({
|
|
|
24937
26180
|
}
|
|
24938
26181
|
});
|
|
24939
26182
|
|
|
24940
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
26183
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/frame.js
|
|
24941
26184
|
var require_frame = __commonJS({
|
|
24942
|
-
"../../node_modules/.pnpm/undici@7.
|
|
26185
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/frame.js"(exports2, module3) {
|
|
24943
26186
|
"use strict";
|
|
24944
26187
|
var { runtimeFeatures } = require_runtime_features();
|
|
24945
26188
|
var { maxUnsigned16Bit, opcodes } = require_constants6();
|
|
@@ -25042,9 +26285,9 @@ var require_frame = __commonJS({
|
|
|
25042
26285
|
}
|
|
25043
26286
|
});
|
|
25044
26287
|
|
|
25045
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
26288
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/connection.js
|
|
25046
26289
|
var require_connection = __commonJS({
|
|
25047
|
-
"../../node_modules/.pnpm/undici@7.
|
|
26290
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/connection.js"(exports2, module3) {
|
|
25048
26291
|
"use strict";
|
|
25049
26292
|
var { uid, states, sentCloseFrameState, emptyBuffer, opcodes } = require_constants6();
|
|
25050
26293
|
var { parseExtensions, isClosed, isClosing, isEstablished, isConnecting, validateCloseCodeAndReason } = require_util5();
|
|
@@ -25068,7 +26311,8 @@ var require_connection = __commonJS({
|
|
|
25068
26311
|
mode: "websocket",
|
|
25069
26312
|
credentials: "include",
|
|
25070
26313
|
cache: "no-store",
|
|
25071
|
-
redirect: "error"
|
|
26314
|
+
redirect: "error",
|
|
26315
|
+
useURLCredentials: true
|
|
25072
26316
|
});
|
|
25073
26317
|
if (options.headers) {
|
|
25074
26318
|
const headersList = getHeadersList(new Headers(options.headers));
|
|
@@ -25197,24 +26441,37 @@ var require_connection = __commonJS({
|
|
|
25197
26441
|
}
|
|
25198
26442
|
});
|
|
25199
26443
|
|
|
25200
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
26444
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/permessage-deflate.js
|
|
25201
26445
|
var require_permessage_deflate = __commonJS({
|
|
25202
|
-
"../../node_modules/.pnpm/undici@7.
|
|
26446
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/permessage-deflate.js"(exports2, module3) {
|
|
25203
26447
|
"use strict";
|
|
25204
26448
|
var { createInflateRaw, Z_DEFAULT_WINDOWBITS } = require("node:zlib");
|
|
25205
26449
|
var { isValidClientWindowBits } = require_util5();
|
|
26450
|
+
var { MessageSizeExceededError } = require_errors();
|
|
25206
26451
|
var tail = Buffer.from([0, 0, 255, 255]);
|
|
25207
26452
|
var kBuffer = /* @__PURE__ */ Symbol("kBuffer");
|
|
25208
26453
|
var kLength = /* @__PURE__ */ Symbol("kLength");
|
|
26454
|
+
var kDefaultMaxDecompressedSize = 4 * 1024 * 1024;
|
|
25209
26455
|
var PerMessageDeflate = class {
|
|
25210
26456
|
/** @type {import('node:zlib').InflateRaw} */
|
|
25211
26457
|
#inflate;
|
|
25212
26458
|
#options = {};
|
|
26459
|
+
/** @type {boolean} */
|
|
26460
|
+
#aborted = false;
|
|
26461
|
+
/** @type {Function|null} */
|
|
26462
|
+
#currentCallback = null;
|
|
26463
|
+
/**
|
|
26464
|
+
* @param {Map<string, string>} extensions
|
|
26465
|
+
*/
|
|
25213
26466
|
constructor(extensions) {
|
|
25214
26467
|
this.#options.serverNoContextTakeover = extensions.has("server_no_context_takeover");
|
|
25215
26468
|
this.#options.serverMaxWindowBits = extensions.get("server_max_window_bits");
|
|
25216
26469
|
}
|
|
25217
26470
|
decompress(chunk, fin, callback) {
|
|
26471
|
+
if (this.#aborted) {
|
|
26472
|
+
callback(new MessageSizeExceededError());
|
|
26473
|
+
return;
|
|
26474
|
+
}
|
|
25218
26475
|
if (!this.#inflate) {
|
|
25219
26476
|
let windowBits = Z_DEFAULT_WINDOWBITS;
|
|
25220
26477
|
if (this.#options.serverMaxWindowBits) {
|
|
@@ -25224,26 +26481,51 @@ var require_permessage_deflate = __commonJS({
|
|
|
25224
26481
|
}
|
|
25225
26482
|
windowBits = Number.parseInt(this.#options.serverMaxWindowBits);
|
|
25226
26483
|
}
|
|
25227
|
-
|
|
26484
|
+
try {
|
|
26485
|
+
this.#inflate = createInflateRaw({ windowBits });
|
|
26486
|
+
} catch (err) {
|
|
26487
|
+
callback(err);
|
|
26488
|
+
return;
|
|
26489
|
+
}
|
|
25228
26490
|
this.#inflate[kBuffer] = [];
|
|
25229
26491
|
this.#inflate[kLength] = 0;
|
|
25230
26492
|
this.#inflate.on("data", (data) => {
|
|
25231
|
-
this.#
|
|
26493
|
+
if (this.#aborted) {
|
|
26494
|
+
return;
|
|
26495
|
+
}
|
|
25232
26496
|
this.#inflate[kLength] += data.length;
|
|
26497
|
+
if (this.#inflate[kLength] > kDefaultMaxDecompressedSize) {
|
|
26498
|
+
this.#aborted = true;
|
|
26499
|
+
this.#inflate.removeAllListeners();
|
|
26500
|
+
this.#inflate.destroy();
|
|
26501
|
+
this.#inflate = null;
|
|
26502
|
+
if (this.#currentCallback) {
|
|
26503
|
+
const cb = this.#currentCallback;
|
|
26504
|
+
this.#currentCallback = null;
|
|
26505
|
+
cb(new MessageSizeExceededError());
|
|
26506
|
+
}
|
|
26507
|
+
return;
|
|
26508
|
+
}
|
|
26509
|
+
this.#inflate[kBuffer].push(data);
|
|
25233
26510
|
});
|
|
25234
26511
|
this.#inflate.on("error", (err) => {
|
|
25235
26512
|
this.#inflate = null;
|
|
25236
26513
|
callback(err);
|
|
25237
26514
|
});
|
|
25238
26515
|
}
|
|
26516
|
+
this.#currentCallback = callback;
|
|
25239
26517
|
this.#inflate.write(chunk);
|
|
25240
26518
|
if (fin) {
|
|
25241
26519
|
this.#inflate.write(tail);
|
|
25242
26520
|
}
|
|
25243
26521
|
this.#inflate.flush(() => {
|
|
26522
|
+
if (this.#aborted || !this.#inflate) {
|
|
26523
|
+
return;
|
|
26524
|
+
}
|
|
25244
26525
|
const full = Buffer.concat(this.#inflate[kBuffer], this.#inflate[kLength]);
|
|
25245
26526
|
this.#inflate[kBuffer].length = 0;
|
|
25246
26527
|
this.#inflate[kLength] = 0;
|
|
26528
|
+
this.#currentCallback = null;
|
|
25247
26529
|
callback(null, full);
|
|
25248
26530
|
});
|
|
25249
26531
|
}
|
|
@@ -25252,9 +26534,9 @@ var require_permessage_deflate = __commonJS({
|
|
|
25252
26534
|
}
|
|
25253
26535
|
});
|
|
25254
26536
|
|
|
25255
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
26537
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/receiver.js
|
|
25256
26538
|
var require_receiver = __commonJS({
|
|
25257
|
-
"../../node_modules/.pnpm/undici@7.
|
|
26539
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/receiver.js"(exports2, module3) {
|
|
25258
26540
|
"use strict";
|
|
25259
26541
|
var { Writable } = require("node:stream");
|
|
25260
26542
|
var assert7 = require("node:assert");
|
|
@@ -25271,6 +26553,7 @@ var require_receiver = __commonJS({
|
|
|
25271
26553
|
var { failWebsocketConnection } = require_connection();
|
|
25272
26554
|
var { WebsocketFrameSend } = require_frame();
|
|
25273
26555
|
var { PerMessageDeflate } = require_permessage_deflate();
|
|
26556
|
+
var { MessageSizeExceededError } = require_errors();
|
|
25274
26557
|
var ByteParser = class extends Writable {
|
|
25275
26558
|
#buffers = [];
|
|
25276
26559
|
#fragmentsBytes = 0;
|
|
@@ -25283,6 +26566,10 @@ var require_receiver = __commonJS({
|
|
|
25283
26566
|
#extensions;
|
|
25284
26567
|
/** @type {import('./websocket').Handler} */
|
|
25285
26568
|
#handler;
|
|
26569
|
+
/**
|
|
26570
|
+
* @param {import('./websocket').Handler} handler
|
|
26571
|
+
* @param {Map<string, string>|null} extensions
|
|
26572
|
+
*/
|
|
25286
26573
|
constructor(handler, extensions) {
|
|
25287
26574
|
super();
|
|
25288
26575
|
this.#handler = handler;
|
|
@@ -25386,12 +26673,12 @@ var require_receiver = __commonJS({
|
|
|
25386
26673
|
}
|
|
25387
26674
|
const buffer = this.consume(8);
|
|
25388
26675
|
const upper = buffer.readUInt32BE(0);
|
|
25389
|
-
|
|
26676
|
+
const lower = buffer.readUInt32BE(4);
|
|
26677
|
+
if (upper !== 0 || lower > 2 ** 31 - 1) {
|
|
25390
26678
|
failWebsocketConnection(this.#handler, 1009, "Received payload length > 2^31 bytes.");
|
|
25391
26679
|
return;
|
|
25392
26680
|
}
|
|
25393
|
-
|
|
25394
|
-
this.#info.payloadLength = (upper << 8) + lower;
|
|
26681
|
+
this.#info.payloadLength = lower;
|
|
25395
26682
|
this.#state = parserStates.READ_DATA;
|
|
25396
26683
|
} else if (this.#state === parserStates.READ_DATA) {
|
|
25397
26684
|
if (this.#byteOffset < this.#info.payloadLength) {
|
|
@@ -25411,7 +26698,8 @@ var require_receiver = __commonJS({
|
|
|
25411
26698
|
} else {
|
|
25412
26699
|
this.#extensions.get("permessage-deflate").decompress(body, this.#info.fin, (error2, data) => {
|
|
25413
26700
|
if (error2) {
|
|
25414
|
-
|
|
26701
|
+
const code = error2 instanceof MessageSizeExceededError ? 1009 : 1007;
|
|
26702
|
+
failWebsocketConnection(this.#handler, code, error2.message);
|
|
25415
26703
|
return;
|
|
25416
26704
|
}
|
|
25417
26705
|
this.writeFragments(data);
|
|
@@ -25564,9 +26852,9 @@ var require_receiver = __commonJS({
|
|
|
25564
26852
|
}
|
|
25565
26853
|
});
|
|
25566
26854
|
|
|
25567
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
26855
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/sender.js
|
|
25568
26856
|
var require_sender = __commonJS({
|
|
25569
|
-
"../../node_modules/.pnpm/undici@7.
|
|
26857
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/sender.js"(exports2, module3) {
|
|
25570
26858
|
"use strict";
|
|
25571
26859
|
var { WebsocketFrameSend } = require_frame();
|
|
25572
26860
|
var { opcodes, sendHints } = require_constants6();
|
|
@@ -25651,9 +26939,9 @@ var require_sender = __commonJS({
|
|
|
25651
26939
|
}
|
|
25652
26940
|
});
|
|
25653
26941
|
|
|
25654
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
26942
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/websocket.js
|
|
25655
26943
|
var require_websocket = __commonJS({
|
|
25656
|
-
"../../node_modules/.pnpm/undici@7.
|
|
26944
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/websocket.js"(exports2, module3) {
|
|
25657
26945
|
"use strict";
|
|
25658
26946
|
var { isArrayBuffer } = require("node:util/types");
|
|
25659
26947
|
var { webidl } = require_webidl();
|
|
@@ -26126,9 +27414,9 @@ var require_websocket = __commonJS({
|
|
|
26126
27414
|
}
|
|
26127
27415
|
});
|
|
26128
27416
|
|
|
26129
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
27417
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/stream/websocketerror.js
|
|
26130
27418
|
var require_websocketerror = __commonJS({
|
|
26131
|
-
"../../node_modules/.pnpm/undici@7.
|
|
27419
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/stream/websocketerror.js"(exports2, module3) {
|
|
26132
27420
|
"use strict";
|
|
26133
27421
|
var { webidl } = require_webidl();
|
|
26134
27422
|
var { validateCloseCodeAndReason } = require_util5();
|
|
@@ -26206,9 +27494,9 @@ var require_websocketerror = __commonJS({
|
|
|
26206
27494
|
}
|
|
26207
27495
|
});
|
|
26208
27496
|
|
|
26209
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
27497
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/stream/websocketstream.js
|
|
26210
27498
|
var require_websocketstream = __commonJS({
|
|
26211
|
-
"../../node_modules/.pnpm/undici@7.
|
|
27499
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/websocket/stream/websocketstream.js"(exports2, module3) {
|
|
26212
27500
|
"use strict";
|
|
26213
27501
|
var { createDeferredPromise } = require_promise();
|
|
26214
27502
|
var { environmentSettingsObject } = require_util2();
|
|
@@ -26437,7 +27725,7 @@ var require_websocketstream = __commonJS({
|
|
|
26437
27725
|
if (!this.#handler.wasEverConnected) {
|
|
26438
27726
|
this.#openedPromise.reject(new WebSocketError("Socket never opened"));
|
|
26439
27727
|
}
|
|
26440
|
-
const result = this.#parser
|
|
27728
|
+
const result = this.#parser?.closingInfo;
|
|
26441
27729
|
let code = result?.code ?? 1005;
|
|
26442
27730
|
if (!this.#handler.closeState.has(sentCloseFrameState.SENT) && !this.#handler.closeState.has(sentCloseFrameState.RECEIVED)) {
|
|
26443
27731
|
code = 1006;
|
|
@@ -26454,8 +27742,8 @@ var require_websocketstream = __commonJS({
|
|
|
26454
27742
|
});
|
|
26455
27743
|
} else {
|
|
26456
27744
|
const error2 = createUnvalidatedWebSocketError("unclean close", code, reason);
|
|
26457
|
-
this.#readableStreamController
|
|
26458
|
-
this.#writableStream
|
|
27745
|
+
this.#readableStreamController?.error(error2);
|
|
27746
|
+
this.#writableStream?.abort(error2);
|
|
26459
27747
|
this.#closedPromise.reject(error2);
|
|
26460
27748
|
}
|
|
26461
27749
|
}
|
|
@@ -26518,9 +27806,9 @@ var require_websocketstream = __commonJS({
|
|
|
26518
27806
|
}
|
|
26519
27807
|
});
|
|
26520
27808
|
|
|
26521
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
27809
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/eventsource/util.js
|
|
26522
27810
|
var require_util6 = __commonJS({
|
|
26523
|
-
"../../node_modules/.pnpm/undici@7.
|
|
27811
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/eventsource/util.js"(exports2, module3) {
|
|
26524
27812
|
"use strict";
|
|
26525
27813
|
function isValidLastEventId(value) {
|
|
26526
27814
|
return value.indexOf("\0") === -1;
|
|
@@ -26539,9 +27827,9 @@ var require_util6 = __commonJS({
|
|
|
26539
27827
|
}
|
|
26540
27828
|
});
|
|
26541
27829
|
|
|
26542
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
27830
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/eventsource/eventsource-stream.js
|
|
26543
27831
|
var require_eventsource_stream = __commonJS({
|
|
26544
|
-
"../../node_modules/.pnpm/undici@7.
|
|
27832
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/eventsource/eventsource-stream.js"(exports2, module3) {
|
|
26545
27833
|
"use strict";
|
|
26546
27834
|
var { Transform } = require("node:stream");
|
|
26547
27835
|
var { isASCIINumber, isValidLastEventId } = require_util6();
|
|
@@ -26770,9 +28058,9 @@ ${value}`;
|
|
|
26770
28058
|
}
|
|
26771
28059
|
});
|
|
26772
28060
|
|
|
26773
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
28061
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/eventsource/eventsource.js
|
|
26774
28062
|
var require_eventsource = __commonJS({
|
|
26775
|
-
"../../node_modules/.pnpm/undici@7.
|
|
28063
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/lib/web/eventsource/eventsource.js"(exports2, module3) {
|
|
26776
28064
|
"use strict";
|
|
26777
28065
|
var { pipeline } = require("node:stream");
|
|
26778
28066
|
var { fetching } = require_fetch();
|
|
@@ -27087,9 +28375,9 @@ var require_eventsource = __commonJS({
|
|
|
27087
28375
|
}
|
|
27088
28376
|
});
|
|
27089
28377
|
|
|
27090
|
-
// ../../node_modules/.pnpm/undici@7.
|
|
28378
|
+
// ../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/index.js
|
|
27091
28379
|
var require_undici = __commonJS({
|
|
27092
|
-
"../../node_modules/.pnpm/undici@7.
|
|
28380
|
+
"../../node_modules/.pnpm/undici@7.24.4/node_modules/undici/index.js"(exports2, module3) {
|
|
27093
28381
|
"use strict";
|
|
27094
28382
|
var Client = require_client();
|
|
27095
28383
|
var Dispatcher = require_dispatcher();
|
|
@@ -27098,6 +28386,7 @@ var require_undici = __commonJS({
|
|
|
27098
28386
|
var RoundRobinPool = require_round_robin_pool();
|
|
27099
28387
|
var Agent = require_agent();
|
|
27100
28388
|
var ProxyAgent = require_proxy_agent();
|
|
28389
|
+
var Socks5ProxyAgent = require_socks5_proxy_agent();
|
|
27101
28390
|
var EnvHttpProxyAgent = require_env_http_proxy_agent();
|
|
27102
28391
|
var RetryAgent = require_retry_agent();
|
|
27103
28392
|
var H2CClient = require_h2c_client();
|
|
@@ -27124,6 +28413,7 @@ var require_undici = __commonJS({
|
|
|
27124
28413
|
module3.exports.RoundRobinPool = RoundRobinPool;
|
|
27125
28414
|
module3.exports.Agent = Agent;
|
|
27126
28415
|
module3.exports.ProxyAgent = ProxyAgent;
|
|
28416
|
+
module3.exports.Socks5ProxyAgent = Socks5ProxyAgent;
|
|
27127
28417
|
module3.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
|
|
27128
28418
|
module3.exports.RetryAgent = RetryAgent;
|
|
27129
28419
|
module3.exports.H2CClient = H2CClient;
|
|
@@ -27193,10 +28483,31 @@ var require_undici = __commonJS({
|
|
|
27193
28483
|
module3.exports.setGlobalDispatcher = setGlobalDispatcher;
|
|
27194
28484
|
module3.exports.getGlobalDispatcher = getGlobalDispatcher;
|
|
27195
28485
|
var fetchImpl = require_fetch().fetch;
|
|
28486
|
+
var currentFilename = typeof __filename !== "undefined" ? __filename : void 0;
|
|
28487
|
+
function appendFetchStackTrace(err, filename) {
|
|
28488
|
+
if (!err || typeof err !== "object") {
|
|
28489
|
+
return;
|
|
28490
|
+
}
|
|
28491
|
+
const stack = typeof err.stack === "string" ? err.stack : "";
|
|
28492
|
+
const normalizedFilename = filename.replace(/\\/g, "/");
|
|
28493
|
+
if (stack && (stack.includes(filename) || stack.includes(normalizedFilename))) {
|
|
28494
|
+
return;
|
|
28495
|
+
}
|
|
28496
|
+
const capture = {};
|
|
28497
|
+
Error.captureStackTrace(capture, appendFetchStackTrace);
|
|
28498
|
+
if (!capture.stack) {
|
|
28499
|
+
return;
|
|
28500
|
+
}
|
|
28501
|
+
const captureLines = capture.stack.split("\n").slice(1).join("\n");
|
|
28502
|
+
err.stack = stack ? `${stack}
|
|
28503
|
+
${captureLines}` : capture.stack;
|
|
28504
|
+
}
|
|
27196
28505
|
module3.exports.fetch = function fetch3(init, options = void 0) {
|
|
27197
28506
|
return fetchImpl(init, options).catch((err) => {
|
|
27198
|
-
if (
|
|
27199
|
-
|
|
28507
|
+
if (currentFilename) {
|
|
28508
|
+
appendFetchStackTrace(err, currentFilename);
|
|
28509
|
+
} else if (err && typeof err === "object") {
|
|
28510
|
+
Error.captureStackTrace(err, module3.exports.fetch);
|
|
27200
28511
|
}
|
|
27201
28512
|
throw err;
|
|
27202
28513
|
});
|
|
@@ -77412,6 +78723,9 @@ var getCfFetchPathFromEnv = getEnvironmentVariableFactory({
|
|
|
77412
78723
|
var getWranglerCacheDirFromEnv = getEnvironmentVariableFactory({
|
|
77413
78724
|
variableName: "WRANGLER_CACHE_DIR"
|
|
77414
78725
|
});
|
|
78726
|
+
var getCloudflaredPathFromEnv = getEnvironmentVariableFactory({
|
|
78727
|
+
variableName: "CLOUDFLARED_PATH"
|
|
78728
|
+
});
|
|
77415
78729
|
var Diagnostics = class {
|
|
77416
78730
|
/**
|
|
77417
78731
|
* Create a new Diagnostics object.
|
|
@@ -88632,7 +89946,7 @@ var Yargs = YargsFactory(esm_default2);
|
|
|
88632
89946
|
var yargs_default = Yargs;
|
|
88633
89947
|
|
|
88634
89948
|
// package.json
|
|
88635
|
-
var version = "2.64.
|
|
89949
|
+
var version = "2.64.9";
|
|
88636
89950
|
|
|
88637
89951
|
// src/metrics.ts
|
|
88638
89952
|
var import_node_async_hooks = require("node:async_hooks");
|
|
@@ -90239,13 +91553,13 @@ var package_default = {
|
|
|
90239
91553
|
"so that we can use dependabot to update these dependencies automatically."
|
|
90240
91554
|
],
|
|
90241
91555
|
dependencies: {
|
|
90242
|
-
"create-astro": "
|
|
91556
|
+
"create-astro": "5.0.0",
|
|
90243
91557
|
"create-analog": "2.3.1",
|
|
90244
|
-
"@angular/create": "21.2.
|
|
91558
|
+
"@angular/create": "21.2.2",
|
|
90245
91559
|
"create-docusaurus": "3.9.2",
|
|
90246
91560
|
"create-hono": "0.19.4",
|
|
90247
|
-
"create-next-app": "
|
|
90248
|
-
"create-qwik": "1.19.
|
|
91561
|
+
"create-next-app": "16.1.6",
|
|
91562
|
+
"create-qwik": "1.19.2",
|
|
90249
91563
|
"create-vite": "8.3.0",
|
|
90250
91564
|
"create-rwsdk": "3.1.3",
|
|
90251
91565
|
"create-react-router": "7.13.1",
|
|
@@ -90256,7 +91570,7 @@ var package_default = {
|
|
|
90256
91570
|
"@tanstack/create-start": "0.59.8",
|
|
90257
91571
|
gatsby: "5.16.1",
|
|
90258
91572
|
sv: "0.12.4",
|
|
90259
|
-
nuxi: "3.
|
|
91573
|
+
nuxi: "3.34.0"
|
|
90260
91574
|
}
|
|
90261
91575
|
};
|
|
90262
91576
|
|
|
@@ -92739,7 +94053,7 @@ Retrieve API references and limits from:
|
|
|
92739
94053
|
var import_node_assert6 = __toESM(require("node:assert"));
|
|
92740
94054
|
|
|
92741
94055
|
// ../wrangler/package.json
|
|
92742
|
-
var version2 = "4.
|
|
94056
|
+
var version2 = "4.75.0";
|
|
92743
94057
|
|
|
92744
94058
|
// src/git.ts
|
|
92745
94059
|
var offerGit = async (ctx) => {
|