diff --git a/.github/workflows/smoke-test-action.yml b/.github/workflows/smoke-test-action.yml index bbfece5..9673933 100644 --- a/.github/workflows/smoke-test-action.yml +++ b/.github/workflows/smoke-test-action.yml @@ -1,8 +1,8 @@ name: Smoke Test Action on: - push: - branches-ignore: + pull_request: + branches: - main workflow_dispatch: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d9e51f5..35e6081 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,8 +1,8 @@ name: Test on: workflow_call: - push: - branches-ignore: + pull_request: + branches: - main permissions: diff --git a/dist/action/index.cjs b/dist/action/index.cjs index 10c810a..82341ee 100644 --- a/dist/action/index.cjs +++ b/dist/action/index.cjs @@ -8,8 +8,8 @@ var __hasOwnProp = Object.prototype.hasOwnProperty; var __commonJS = (cb2, mod) => function __require() { try { return mod || (0, cb2[__getOwnPropNames(cb2)[0]])((mod = { exports: {} }).exports, mod), mod.exports; - } catch (e6) { - throw mod = 0, e6; + } catch (e7) { + throw mod = 0, e7; } }; var __copyProps = (to5, from, except, desc) => { @@ -65,29 +65,29 @@ var require_utils = __commonJS({ var require_command = __commonJS({ "node_modules/@actions/core/lib/command.js"(exports2) { "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - var desc = Object.getOwnPropertyDescriptor(m5, k8); - if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + var desc = Object.getOwnPropertyDescriptor(m7, k6); + if (!desc || ("get" in desc ? !m7.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m5[k8]; + return m7[k6]; } }; } - Object.defineProperty(o6, k22, desc); - }) : (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - o6[k22] = m5[k8]; + Object.defineProperty(o5, k22, desc); + }) : (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + o5[k22] = m7[k6]; })); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o6, v8) { - Object.defineProperty(o6, "default", { enumerable: true, value: v8 }); - }) : function(o6, v8) { - o6["default"] = v8; + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o5, v6) { + Object.defineProperty(o5, "default", { enumerable: true, value: v6 }); + }) : function(o5, v6) { + o5["default"] = v6; }); var __importStar = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k8 in mod) if (k8 !== "default" && Object.prototype.hasOwnProperty.call(mod, k8)) __createBinding(result, mod, k8); + for (var k6 in mod) if (k6 !== "default" && Object.prototype.hasOwnProperty.call(mod, k6)) __createBinding(result, mod, k6); } __setModuleDefault(result, mod); return result; @@ -138,11 +138,11 @@ var require_command = __commonJS({ return cmdStr; } }; - function escapeData(s9) { - return (0, utils_1.toCommandValue)(s9).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); + function escapeData(s8) { + return (0, utils_1.toCommandValue)(s8).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A"); } - function escapeProperty(s9) { - return (0, utils_1.toCommandValue)(s9).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); + function escapeProperty(s8) { + return (0, utils_1.toCommandValue)(s8).replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A").replace(/:/g, "%3A").replace(/,/g, "%2C"); } } }); @@ -151,29 +151,29 @@ var require_command = __commonJS({ var require_file_command = __commonJS({ "node_modules/@actions/core/lib/file-command.js"(exports2) { "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - var desc = Object.getOwnPropertyDescriptor(m5, k8); - if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + var desc = Object.getOwnPropertyDescriptor(m7, k6); + if (!desc || ("get" in desc ? !m7.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m5[k8]; + return m7[k6]; } }; } - Object.defineProperty(o6, k22, desc); - }) : (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - o6[k22] = m5[k8]; + Object.defineProperty(o5, k22, desc); + }) : (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + o5[k22] = m7[k6]; })); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o6, v8) { - Object.defineProperty(o6, "default", { enumerable: true, value: v8 }); - }) : function(o6, v8) { - o6["default"] = v8; + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o5, v6) { + Object.defineProperty(o5, "default", { enumerable: true, value: v6 }); + }) : function(o5, v6) { + o5["default"] = v6; }); var __importStar = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k8 in mod) if (k8 !== "default" && Object.prototype.hasOwnProperty.call(mod, k8)) __createBinding(result, mod, k8); + for (var k6 in mod) if (k6 !== "default" && Object.prototype.hasOwnProperty.call(mod, k6)) __createBinding(result, mod, k6); } __setModuleDefault(result, mod); return result; @@ -232,10 +232,10 @@ var require_proxy = __commonJS({ })(); if (proxyVar) { try { - return new DecodedURL(proxyVar); - } catch (_a3) { + return new URL(proxyVar); + } catch (_a2) { if (!proxyVar.startsWith("http://") && !proxyVar.startsWith("https://")) - return new DecodedURL(`http://${proxyVar}`); + return new URL(`http://${proxyVar}`); } } else { return void 0; @@ -266,8 +266,8 @@ var require_proxy = __commonJS({ if (typeof reqPort === "number") { upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`); } - for (const upperNoProxyItem of noProxy.split(",").map((x10) => x10.trim().toUpperCase()).filter((x10) => x10)) { - if (upperNoProxyItem === "*" || upperReqHosts.some((x10) => x10 === upperNoProxyItem || x10.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x10.endsWith(`${upperNoProxyItem}`))) { + for (const upperNoProxyItem of noProxy.split(",").map((x9) => x9.trim().toUpperCase()).filter((x9) => x9)) { + if (upperNoProxyItem === "*" || upperReqHosts.some((x9) => x9 === upperNoProxyItem || x9.endsWith(`.${upperNoProxyItem}`) || upperNoProxyItem.startsWith(".") && x9.endsWith(`${upperNoProxyItem}`))) { return true; } } @@ -278,19 +278,6 @@ var require_proxy = __commonJS({ const hostLower = host.toLowerCase(); return hostLower === "localhost" || hostLower.startsWith("127.") || hostLower.startsWith("[::1]") || hostLower.startsWith("[0:0:0:0:0:0:0:1]"); } - var DecodedURL = class extends URL { - constructor(url, base) { - super(url, base); - this._decodedUsername = decodeURIComponent(super.username); - this._decodedPassword = decodeURIComponent(super.password); - } - get username() { - return this._decodedUsername; - } - get password() { - return this._decodedPassword; - } - }; } }); @@ -342,10 +329,10 @@ var require_tunnel = __commonJS({ self.sockets = []; self.on("free", function onFree(socket, host, port, localAddress) { var options2 = toOptions(host, port, localAddress); - for (var i7 = 0, len = self.requests.length; i7 < len; ++i7) { - var pending = self.requests[i7]; + for (var i11 = 0, len = self.requests.length; i11 < len; ++i11) { + var pending = self.requests[i11]; if (pending.host === options2.host && pending.port === options2.port) { - self.requests.splice(i7, 1); + self.requests.splice(i11, 1); pending.request.onSocket(socket); return; } @@ -491,14 +478,14 @@ var require_tunnel = __commonJS({ return host; } function mergeOptions(target) { - for (var i7 = 1, len = arguments.length; i7 < len; ++i7) { - var overrides = arguments[i7]; + for (var i11 = 1, len = arguments.length; i11 < len; ++i11) { + var overrides = arguments[i11]; if (typeof overrides === "object") { var keys = Object.keys(overrides); for (var j9 = 0, keyLen = keys.length; j9 < keyLen; ++j9) { - var k8 = keys[j9]; - if (overrides[k8] !== void 0) { - target[k8] = overrides[k8]; + var k6 = keys[j9]; + if (overrides[k6] !== void 0) { + target[k6] = overrides[k6]; } } } @@ -531,17010 +518,248 @@ var require_tunnel2 = __commonJS({ } }); -// node_modules/@actions/http-client/node_modules/undici/lib/core/symbols.js -var require_symbols = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/core/symbols.js"(exports2, module2) { - module2.exports = { - kClose: /* @__PURE__ */ Symbol("close"), - kDestroy: /* @__PURE__ */ Symbol("destroy"), - kDispatch: /* @__PURE__ */ Symbol("dispatch"), - kUrl: /* @__PURE__ */ Symbol("url"), - kWriting: /* @__PURE__ */ Symbol("writing"), - kResuming: /* @__PURE__ */ Symbol("resuming"), - kQueue: /* @__PURE__ */ Symbol("queue"), - kConnect: /* @__PURE__ */ Symbol("connect"), - kConnecting: /* @__PURE__ */ Symbol("connecting"), - kHeadersList: /* @__PURE__ */ Symbol("headers list"), - kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"), - kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"), - kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"), - kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"), - kKeepAlive: /* @__PURE__ */ Symbol("keep alive"), - kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"), - kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"), - kServerName: /* @__PURE__ */ Symbol("server name"), - kLocalAddress: /* @__PURE__ */ Symbol("local address"), - kHost: /* @__PURE__ */ Symbol("host"), - kNoRef: /* @__PURE__ */ Symbol("no ref"), - kBodyUsed: /* @__PURE__ */ Symbol("used"), - kRunning: /* @__PURE__ */ Symbol("running"), - kBlocking: /* @__PURE__ */ Symbol("blocking"), - kPending: /* @__PURE__ */ Symbol("pending"), - kSize: /* @__PURE__ */ Symbol("size"), - kBusy: /* @__PURE__ */ Symbol("busy"), - kQueued: /* @__PURE__ */ Symbol("queued"), - kFree: /* @__PURE__ */ Symbol("free"), - kConnected: /* @__PURE__ */ Symbol("connected"), - kClosed: /* @__PURE__ */ Symbol("closed"), - kNeedDrain: /* @__PURE__ */ Symbol("need drain"), - kReset: /* @__PURE__ */ Symbol("reset"), - kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"), - kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"), - kRunningIdx: /* @__PURE__ */ Symbol("running index"), - kPendingIdx: /* @__PURE__ */ Symbol("pending index"), - kError: /* @__PURE__ */ Symbol("error"), - kClients: /* @__PURE__ */ Symbol("clients"), - kClient: /* @__PURE__ */ Symbol("client"), - kParser: /* @__PURE__ */ Symbol("parser"), - kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"), - kPipelining: /* @__PURE__ */ Symbol("pipelining"), - kSocket: /* @__PURE__ */ Symbol("socket"), - kHostHeader: /* @__PURE__ */ Symbol("host header"), - kConnector: /* @__PURE__ */ Symbol("connector"), - kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"), - kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"), - kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"), - kProxy: /* @__PURE__ */ Symbol("proxy agent options"), - kCounter: /* @__PURE__ */ Symbol("socket request counter"), - kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"), - kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"), - kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"), - kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"), - kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"), - kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"), - kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"), - kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"), - kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"), - kConstruct: /* @__PURE__ */ Symbol("constructable") - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/core/errors.js -var require_errors = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/core/errors.js"(exports2, module2) { +// node_modules/@actions/http-client/lib/index.js +var require_lib = __commonJS({ + "node_modules/@actions/http-client/lib/index.js"(exports2) { "use strict"; - var UndiciError = class extends Error { - constructor(message) { - super(message); - this.name = "UndiciError"; - this.code = "UND_ERR"; - } - }; - var ConnectTimeoutError = class _ConnectTimeoutError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _ConnectTimeoutError); - this.name = "ConnectTimeoutError"; - this.message = message || "Connect Timeout Error"; - this.code = "UND_ERR_CONNECT_TIMEOUT"; - } - }; - var HeadersTimeoutError = class _HeadersTimeoutError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _HeadersTimeoutError); - this.name = "HeadersTimeoutError"; - this.message = message || "Headers Timeout Error"; - this.code = "UND_ERR_HEADERS_TIMEOUT"; - } - }; - var HeadersOverflowError = class _HeadersOverflowError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _HeadersOverflowError); - this.name = "HeadersOverflowError"; - this.message = message || "Headers Overflow Error"; - this.code = "UND_ERR_HEADERS_OVERFLOW"; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + Object.defineProperty(o5, k22, { enumerable: true, get: function() { + return m7[k6]; + } }); + }) : (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + o5[k22] = m7[k6]; + })); + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o5, v6) { + Object.defineProperty(o5, "default", { enumerable: true, value: v6 }); + }) : function(o5, v6) { + o5["default"] = v6; + }); + var __importStar = exports2 && exports2.__importStar || function(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) { + for (var k6 in mod) if (k6 !== "default" && Object.hasOwnProperty.call(mod, k6)) __createBinding(result, mod, k6); } + __setModuleDefault(result, mod); + return result; }; - var BodyTimeoutError = class _BodyTimeoutError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _BodyTimeoutError); - this.name = "BodyTimeoutError"; - this.message = message || "Body Timeout Error"; - this.code = "UND_ERR_BODY_TIMEOUT"; + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P6, generator) { + function adopt(value) { + return value instanceof P6 ? value : new P6(function(resolve4) { + resolve4(value); + }); } + return new (P6 || (P6 = Promise))(function(resolve4, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e7) { + reject(e7); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e7) { + reject(e7); + } + } + function step(result) { + result.done ? resolve4(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); }; - var ResponseStatusCodeError = class _ResponseStatusCodeError extends UndiciError { - constructor(message, statusCode, headers, body) { + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.HttpClient = exports2.isHttps = exports2.HttpClientResponse = exports2.HttpClientError = exports2.getProxyUrl = exports2.MediaTypes = exports2.Headers = exports2.HttpCodes = void 0; + var http = __importStar(require("http")); + var https = __importStar(require("https")); + var pm4 = __importStar(require_proxy()); + var tunnel = __importStar(require_tunnel2()); + var HttpCodes; + (function(HttpCodes2) { + HttpCodes2[HttpCodes2["OK"] = 200] = "OK"; + HttpCodes2[HttpCodes2["MultipleChoices"] = 300] = "MultipleChoices"; + HttpCodes2[HttpCodes2["MovedPermanently"] = 301] = "MovedPermanently"; + HttpCodes2[HttpCodes2["ResourceMoved"] = 302] = "ResourceMoved"; + HttpCodes2[HttpCodes2["SeeOther"] = 303] = "SeeOther"; + HttpCodes2[HttpCodes2["NotModified"] = 304] = "NotModified"; + HttpCodes2[HttpCodes2["UseProxy"] = 305] = "UseProxy"; + HttpCodes2[HttpCodes2["SwitchProxy"] = 306] = "SwitchProxy"; + HttpCodes2[HttpCodes2["TemporaryRedirect"] = 307] = "TemporaryRedirect"; + HttpCodes2[HttpCodes2["PermanentRedirect"] = 308] = "PermanentRedirect"; + HttpCodes2[HttpCodes2["BadRequest"] = 400] = "BadRequest"; + HttpCodes2[HttpCodes2["Unauthorized"] = 401] = "Unauthorized"; + HttpCodes2[HttpCodes2["PaymentRequired"] = 402] = "PaymentRequired"; + HttpCodes2[HttpCodes2["Forbidden"] = 403] = "Forbidden"; + HttpCodes2[HttpCodes2["NotFound"] = 404] = "NotFound"; + HttpCodes2[HttpCodes2["MethodNotAllowed"] = 405] = "MethodNotAllowed"; + HttpCodes2[HttpCodes2["NotAcceptable"] = 406] = "NotAcceptable"; + HttpCodes2[HttpCodes2["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; + HttpCodes2[HttpCodes2["RequestTimeout"] = 408] = "RequestTimeout"; + HttpCodes2[HttpCodes2["Conflict"] = 409] = "Conflict"; + HttpCodes2[HttpCodes2["Gone"] = 410] = "Gone"; + HttpCodes2[HttpCodes2["TooManyRequests"] = 429] = "TooManyRequests"; + HttpCodes2[HttpCodes2["InternalServerError"] = 500] = "InternalServerError"; + HttpCodes2[HttpCodes2["NotImplemented"] = 501] = "NotImplemented"; + HttpCodes2[HttpCodes2["BadGateway"] = 502] = "BadGateway"; + HttpCodes2[HttpCodes2["ServiceUnavailable"] = 503] = "ServiceUnavailable"; + HttpCodes2[HttpCodes2["GatewayTimeout"] = 504] = "GatewayTimeout"; + })(HttpCodes = exports2.HttpCodes || (exports2.HttpCodes = {})); + var Headers; + (function(Headers2) { + Headers2["Accept"] = "accept"; + Headers2["ContentType"] = "content-type"; + })(Headers = exports2.Headers || (exports2.Headers = {})); + var MediaTypes; + (function(MediaTypes2) { + MediaTypes2["ApplicationJson"] = "application/json"; + })(MediaTypes = exports2.MediaTypes || (exports2.MediaTypes = {})); + function getProxyUrl(serverUrl) { + const proxyUrl = pm4.getProxyUrl(new URL(serverUrl)); + return proxyUrl ? proxyUrl.href : ""; + } + exports2.getProxyUrl = getProxyUrl; + var HttpRedirectCodes = [ + HttpCodes.MovedPermanently, + HttpCodes.ResourceMoved, + HttpCodes.SeeOther, + HttpCodes.TemporaryRedirect, + HttpCodes.PermanentRedirect + ]; + var HttpResponseRetryCodes = [ + HttpCodes.BadGateway, + HttpCodes.ServiceUnavailable, + HttpCodes.GatewayTimeout + ]; + var RetryableHttpVerbs = ["OPTIONS", "GET", "DELETE", "HEAD"]; + var ExponentialBackoffCeiling = 10; + var ExponentialBackoffTimeSlice = 5; + var HttpClientError = class _HttpClientError extends Error { + constructor(message, statusCode) { super(message); - Error.captureStackTrace(this, _ResponseStatusCodeError); - this.name = "ResponseStatusCodeError"; - this.message = message || "Response Status Code Error"; - this.code = "UND_ERR_RESPONSE_STATUS_CODE"; - this.body = body; - this.status = statusCode; + this.name = "HttpClientError"; this.statusCode = statusCode; - this.headers = headers; - } - }; - var InvalidArgumentError = class _InvalidArgumentError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _InvalidArgumentError); - this.name = "InvalidArgumentError"; - this.message = message || "Invalid Argument Error"; - this.code = "UND_ERR_INVALID_ARG"; + Object.setPrototypeOf(this, _HttpClientError.prototype); } }; - var InvalidReturnValueError = class _InvalidReturnValueError extends UndiciError { + exports2.HttpClientError = HttpClientError; + var HttpClientResponse = class { constructor(message) { - super(message); - Error.captureStackTrace(this, _InvalidReturnValueError); - this.name = "InvalidReturnValueError"; - this.message = message || "Invalid Return Value Error"; - this.code = "UND_ERR_INVALID_RETURN_VALUE"; + this.message = message; } - }; - var RequestAbortedError = class _RequestAbortedError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _RequestAbortedError); - this.name = "AbortError"; - this.message = message || "Request aborted"; - this.code = "UND_ERR_ABORTED"; + readBody() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve4) => __awaiter(this, void 0, void 0, function* () { + let output = Buffer.alloc(0); + this.message.on("data", (chunk) => { + output = Buffer.concat([output, chunk]); + }); + this.message.on("end", () => { + resolve4(output.toString()); + }); + })); + }); } - }; - var InformationalError = class _InformationalError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _InformationalError); - this.name = "InformationalError"; - this.message = message || "Request information"; - this.code = "UND_ERR_INFO"; + readBodyBuffer() { + return __awaiter(this, void 0, void 0, function* () { + return new Promise((resolve4) => __awaiter(this, void 0, void 0, function* () { + const chunks = []; + this.message.on("data", (chunk) => { + chunks.push(chunk); + }); + this.message.on("end", () => { + resolve4(Buffer.concat(chunks)); + }); + })); + }); } }; - var RequestContentLengthMismatchError = class _RequestContentLengthMismatchError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _RequestContentLengthMismatchError); - this.name = "RequestContentLengthMismatchError"; - this.message = message || "Request body length does not match content-length header"; - this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"; + exports2.HttpClientResponse = HttpClientResponse; + function isHttps(requestUrl) { + const parsedUrl = new URL(requestUrl); + return parsedUrl.protocol === "https:"; + } + exports2.isHttps = isHttps; + var HttpClient = class { + constructor(userAgent, handlers, requestOptions) { + this._ignoreSslError = false; + this._allowRedirects = true; + this._allowRedirectDowngrade = false; + this._maxRedirects = 50; + this._allowRetries = false; + this._maxRetries = 1; + this._keepAlive = false; + this._disposed = false; + this.userAgent = userAgent; + this.handlers = handlers || []; + this.requestOptions = requestOptions; + if (requestOptions) { + if (requestOptions.ignoreSslError != null) { + this._ignoreSslError = requestOptions.ignoreSslError; + } + this._socketTimeout = requestOptions.socketTimeout; + if (requestOptions.allowRedirects != null) { + this._allowRedirects = requestOptions.allowRedirects; + } + if (requestOptions.allowRedirectDowngrade != null) { + this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; + } + if (requestOptions.maxRedirects != null) { + this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); + } + if (requestOptions.keepAlive != null) { + this._keepAlive = requestOptions.keepAlive; + } + if (requestOptions.allowRetries != null) { + this._allowRetries = requestOptions.allowRetries; + } + if (requestOptions.maxRetries != null) { + this._maxRetries = requestOptions.maxRetries; + } + } } - }; - var ResponseContentLengthMismatchError = class _ResponseContentLengthMismatchError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _ResponseContentLengthMismatchError); - this.name = "ResponseContentLengthMismatchError"; - this.message = message || "Response body length does not match content-length header"; - this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH"; + options(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("OPTIONS", requestUrl, null, additionalHeaders || {}); + }); } - }; - var ClientDestroyedError = class _ClientDestroyedError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _ClientDestroyedError); - this.name = "ClientDestroyedError"; - this.message = message || "The client is destroyed"; - this.code = "UND_ERR_DESTROYED"; + get(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("GET", requestUrl, null, additionalHeaders || {}); + }); } - }; - var ClientClosedError = class _ClientClosedError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _ClientClosedError); - this.name = "ClientClosedError"; - this.message = message || "The client is closed"; - this.code = "UND_ERR_CLOSED"; + del(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("DELETE", requestUrl, null, additionalHeaders || {}); + }); } - }; - var SocketError = class _SocketError extends UndiciError { - constructor(message, socket) { - super(message); - Error.captureStackTrace(this, _SocketError); - this.name = "SocketError"; - this.message = message || "Socket error"; - this.code = "UND_ERR_SOCKET"; - this.socket = socket; + post(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("POST", requestUrl, data, additionalHeaders || {}); + }); } - }; - var NotSupportedError = class _NotSupportedError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _NotSupportedError); - this.name = "NotSupportedError"; - this.message = message || "Not supported error"; - this.code = "UND_ERR_NOT_SUPPORTED"; + patch(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("PATCH", requestUrl, data, additionalHeaders || {}); + }); } - }; - var BalancedPoolMissingUpstreamError = class extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, NotSupportedError); - this.name = "MissingUpstreamError"; - this.message = message || "No upstream has been added to the BalancedPool"; - this.code = "UND_ERR_BPL_MISSING_UPSTREAM"; + put(requestUrl, data, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("PUT", requestUrl, data, additionalHeaders || {}); + }); } - }; - var HTTPParserError = class _HTTPParserError extends Error { - constructor(message, code, data) { - super(message); - Error.captureStackTrace(this, _HTTPParserError); - this.name = "HTTPParserError"; - this.code = code ? `HPE_${code}` : void 0; - this.data = data ? data.toString() : void 0; + head(requestUrl, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request("HEAD", requestUrl, null, additionalHeaders || {}); + }); } - }; - var ResponseExceededMaxSizeError = class _ResponseExceededMaxSizeError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _ResponseExceededMaxSizeError); - this.name = "ResponseExceededMaxSizeError"; - this.message = message || "Response content exceeded max size"; - this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE"; - } - }; - var RequestRetryError = class _RequestRetryError extends UndiciError { - constructor(message, code, { headers, data }) { - super(message); - Error.captureStackTrace(this, _RequestRetryError); - this.name = "RequestRetryError"; - this.message = message || "Request retry error"; - this.code = "UND_ERR_REQ_RETRY"; - this.statusCode = code; - this.data = data; - this.headers = headers; - } - }; - module2.exports = { - HTTPParserError, - UndiciError, - HeadersTimeoutError, - HeadersOverflowError, - BodyTimeoutError, - RequestContentLengthMismatchError, - ConnectTimeoutError, - ResponseStatusCodeError, - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError, - ClientDestroyedError, - ClientClosedError, - InformationalError, - SocketError, - NotSupportedError, - ResponseContentLengthMismatchError, - BalancedPoolMissingUpstreamError, - ResponseExceededMaxSizeError, - RequestRetryError - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/core/constants.js -var require_constants = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/core/constants.js"(exports2, module2) { - "use strict"; - var headerNameLowerCasedRecord = {}; - var wellknownHeaderNames = [ - "Accept", - "Accept-Encoding", - "Accept-Language", - "Accept-Ranges", - "Access-Control-Allow-Credentials", - "Access-Control-Allow-Headers", - "Access-Control-Allow-Methods", - "Access-Control-Allow-Origin", - "Access-Control-Expose-Headers", - "Access-Control-Max-Age", - "Access-Control-Request-Headers", - "Access-Control-Request-Method", - "Age", - "Allow", - "Alt-Svc", - "Alt-Used", - "Authorization", - "Cache-Control", - "Clear-Site-Data", - "Connection", - "Content-Disposition", - "Content-Encoding", - "Content-Language", - "Content-Length", - "Content-Location", - "Content-Range", - "Content-Security-Policy", - "Content-Security-Policy-Report-Only", - "Content-Type", - "Cookie", - "Cross-Origin-Embedder-Policy", - "Cross-Origin-Opener-Policy", - "Cross-Origin-Resource-Policy", - "Date", - "Device-Memory", - "Downlink", - "ECT", - "ETag", - "Expect", - "Expect-CT", - "Expires", - "Forwarded", - "From", - "Host", - "If-Match", - "If-Modified-Since", - "If-None-Match", - "If-Range", - "If-Unmodified-Since", - "Keep-Alive", - "Last-Modified", - "Link", - "Location", - "Max-Forwards", - "Origin", - "Permissions-Policy", - "Pragma", - "Proxy-Authenticate", - "Proxy-Authorization", - "RTT", - "Range", - "Referer", - "Referrer-Policy", - "Refresh", - "Retry-After", - "Sec-WebSocket-Accept", - "Sec-WebSocket-Extensions", - "Sec-WebSocket-Key", - "Sec-WebSocket-Protocol", - "Sec-WebSocket-Version", - "Server", - "Server-Timing", - "Service-Worker-Allowed", - "Service-Worker-Navigation-Preload", - "Set-Cookie", - "SourceMap", - "Strict-Transport-Security", - "Supports-Loading-Mode", - "TE", - "Timing-Allow-Origin", - "Trailer", - "Transfer-Encoding", - "Upgrade", - "Upgrade-Insecure-Requests", - "User-Agent", - "Vary", - "Via", - "WWW-Authenticate", - "X-Content-Type-Options", - "X-DNS-Prefetch-Control", - "X-Frame-Options", - "X-Permitted-Cross-Domain-Policies", - "X-Powered-By", - "X-Requested-With", - "X-XSS-Protection" - ]; - for (let i7 = 0; i7 < wellknownHeaderNames.length; ++i7) { - const key = wellknownHeaderNames[i7]; - const lowerCasedKey = key.toLowerCase(); - headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey; - } - Object.setPrototypeOf(headerNameLowerCasedRecord, null); - module2.exports = { - wellknownHeaderNames, - headerNameLowerCasedRecord - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/core/util.js -var require_util = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/core/util.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var { kDestroyed, kBodyUsed } = require_symbols(); - var { IncomingMessage } = require("http"); - var stream = require("stream"); - var net = require("net"); - var { InvalidArgumentError } = require_errors(); - var { Blob: Blob2 } = require("buffer"); - var nodeUtil = require("util"); - var { stringify } = require("querystring"); - var { headerNameLowerCasedRecord } = require_constants(); - var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v8) => Number(v8)); - function nop() { - } - function isStream(obj) { - return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function"; - } - function isBlobLike(object) { - return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]); - } - function buildURL(url, queryParams) { - if (url.includes("?") || url.includes("#")) { - throw new Error('Query params cannot be passed when url already contains "?" or "#".'); - } - const stringified = stringify(queryParams); - if (stringified) { - url += "?" + stringified; - } - return url; - } - function parseURL(url) { - if (typeof url === "string") { - url = new URL(url); - if (!/^https?:/.test(url.origin || url.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); - } - return url; - } - if (!url || typeof url !== "object") { - throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object."); - } - if (!/^https?:/.test(url.origin || url.protocol)) { - throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`."); - } - if (!(url instanceof URL)) { - if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) { - throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer."); - } - if (url.path != null && typeof url.path !== "string") { - throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined."); - } - if (url.pathname != null && typeof url.pathname !== "string") { - throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined."); - } - if (url.hostname != null && typeof url.hostname !== "string") { - throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined."); - } - if (url.origin != null && typeof url.origin !== "string") { - throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined."); - } - const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80; - let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`; - let path = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`; - if (origin.endsWith("/")) { - origin = origin.substring(0, origin.length - 1); - } - if (path && !path.startsWith("/")) { - path = `/${path}`; - } - url = new URL(origin + path); - } - return url; - } - function parseOrigin(url) { - url = parseURL(url); - if (url.pathname !== "/" || url.search || url.hash) { - throw new InvalidArgumentError("invalid url"); - } - return url; - } - function getHostname(host) { - if (host[0] === "[") { - const idx2 = host.indexOf("]"); - assert(idx2 !== -1); - return host.substring(1, idx2); - } - const idx = host.indexOf(":"); - if (idx === -1) return host; - return host.substring(0, idx); - } - function getServerName(host) { - if (!host) { - return null; - } - assert.strictEqual(typeof host, "string"); - const servername = getHostname(host); - if (net.isIP(servername)) { - return ""; - } - return servername; - } - function deepClone(obj) { - return JSON.parse(JSON.stringify(obj)); - } - function isAsyncIterable(obj) { - return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function"); - } - function isIterable(obj) { - return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function")); - } - function bodyLength(body) { - if (body == null) { - return 0; - } else if (isStream(body)) { - const state = body._readableState; - return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null; - } else if (isBlobLike(body)) { - return body.size != null ? body.size : null; - } else if (isBuffer(body)) { - return body.byteLength; - } - return null; - } - function isDestroyed(stream2) { - return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]); - } - function isReadableAborted(stream2) { - const state = stream2 && stream2._readableState; - return isDestroyed(stream2) && state && !state.endEmitted; - } - function destroy(stream2, err) { - if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) { - return; - } - if (typeof stream2.destroy === "function") { - if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) { - stream2.socket = null; - } - stream2.destroy(err); - } else if (err) { - process.nextTick((stream3, err2) => { - stream3.emit("error", err2); - }, stream2, err); - } - if (stream2.destroyed !== true) { - stream2[kDestroyed] = true; - } - } - var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/; - function parseKeepAliveTimeout(val) { - const m5 = val.toString().match(KEEPALIVE_TIMEOUT_EXPR); - return m5 ? parseInt(m5[1], 10) * 1e3 : null; - } - function headerNameToString(value) { - return headerNameLowerCasedRecord[value] || value.toLowerCase(); - } - function parseHeaders(headers, obj = {}) { - if (!Array.isArray(headers)) return headers; - for (let i7 = 0; i7 < headers.length; i7 += 2) { - const key = headers[i7].toString().toLowerCase(); - let val = obj[key]; - if (!val) { - if (Array.isArray(headers[i7 + 1])) { - obj[key] = headers[i7 + 1].map((x10) => x10.toString("utf8")); - } else { - obj[key] = headers[i7 + 1].toString("utf8"); - } - } else { - if (!Array.isArray(val)) { - val = [val]; - obj[key] = val; - } - val.push(headers[i7 + 1].toString("utf8")); - } - } - if ("content-length" in obj && "content-disposition" in obj) { - obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1"); - } - return obj; - } - function parseRawHeaders(headers) { - const ret = []; - let hasContentLength = false; - let contentDispositionIdx = -1; - for (let n6 = 0; n6 < headers.length; n6 += 2) { - const key = headers[n6 + 0].toString(); - const val = headers[n6 + 1].toString("utf8"); - if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) { - ret.push(key, val); - hasContentLength = true; - } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) { - contentDispositionIdx = ret.push(key, val) - 1; - } else { - ret.push(key, val); - } - } - if (hasContentLength && contentDispositionIdx !== -1) { - ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1"); - } - return ret; - } - function isBuffer(buffer) { - return buffer instanceof Uint8Array || Buffer.isBuffer(buffer); - } - function validateHandler(handler, method, upgrade) { - if (!handler || typeof handler !== "object") { - throw new InvalidArgumentError("handler must be an object"); - } - if (typeof handler.onConnect !== "function") { - throw new InvalidArgumentError("invalid onConnect method"); - } - if (typeof handler.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); - } - if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) { - throw new InvalidArgumentError("invalid onBodySent method"); - } - if (upgrade || method === "CONNECT") { - if (typeof handler.onUpgrade !== "function") { - throw new InvalidArgumentError("invalid onUpgrade method"); - } - } else { - if (typeof handler.onHeaders !== "function") { - throw new InvalidArgumentError("invalid onHeaders method"); - } - if (typeof handler.onData !== "function") { - throw new InvalidArgumentError("invalid onData method"); - } - if (typeof handler.onComplete !== "function") { - throw new InvalidArgumentError("invalid onComplete method"); - } - } - } - function isDisturbed(body) { - return !!(body && (stream.isDisturbed ? stream.isDisturbed(body) || body[kBodyUsed] : body[kBodyUsed] || body.readableDidRead || body._readableState && body._readableState.dataEmitted || isReadableAborted(body))); - } - function isErrored(body) { - return !!(body && (stream.isErrored ? stream.isErrored(body) : /state: 'errored'/.test( - nodeUtil.inspect(body) - ))); - } - function isReadable(body) { - return !!(body && (stream.isReadable ? stream.isReadable(body) : /state: 'readable'/.test( - nodeUtil.inspect(body) - ))); - } - function getSocketInfo(socket) { - return { - localAddress: socket.localAddress, - localPort: socket.localPort, - remoteAddress: socket.remoteAddress, - remotePort: socket.remotePort, - remoteFamily: socket.remoteFamily, - timeout: socket.timeout, - bytesWritten: socket.bytesWritten, - bytesRead: socket.bytesRead - }; - } - async function* convertIterableToBuffer(iterable) { - for await (const chunk of iterable) { - yield Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); - } - } - var ReadableStream2; - function ReadableStreamFrom(iterable) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - if (ReadableStream2.from) { - return ReadableStream2.from(convertIterableToBuffer(iterable)); - } - let iterator; - return new ReadableStream2( - { - async start() { - iterator = iterable[Symbol.asyncIterator](); - }, - async pull(controller) { - const { done, value } = await iterator.next(); - if (done) { - queueMicrotask(() => { - controller.close(); - }); - } else { - const buf = Buffer.isBuffer(value) ? value : Buffer.from(value); - controller.enqueue(new Uint8Array(buf)); - } - return controller.desiredSize > 0; - }, - async cancel(reason) { - await iterator.return(); - } - }, - 0 - ); - } - function isFormDataLike(object) { - return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData"; - } - function throwIfAborted(signal) { - if (!signal) { - return; - } - if (typeof signal.throwIfAborted === "function") { - signal.throwIfAborted(); - } else { - if (signal.aborted) { - const err = new Error("The operation was aborted"); - err.name = "AbortError"; - throw err; - } - } - } - function addAbortListener(signal, listener) { - if ("addEventListener" in signal) { - signal.addEventListener("abort", listener, { once: true }); - return () => signal.removeEventListener("abort", listener); - } - signal.addListener("abort", listener); - return () => signal.removeListener("abort", listener); - } - var hasToWellFormed = !!String.prototype.toWellFormed; - function toUSVString(val) { - if (hasToWellFormed) { - return `${val}`.toWellFormed(); - } else if (nodeUtil.toUSVString) { - return nodeUtil.toUSVString(val); - } - return `${val}`; - } - function parseRangeHeader(range) { - if (range == null || range === "") return { start: 0, end: null, size: null }; - const m5 = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null; - return m5 ? { - start: parseInt(m5[1]), - end: m5[2] ? parseInt(m5[2]) : null, - size: m5[3] ? parseInt(m5[3]) : null - } : null; - } - var kEnumerableProperty = /* @__PURE__ */ Object.create(null); - kEnumerableProperty.enumerable = true; - module2.exports = { - kEnumerableProperty, - nop, - isDisturbed, - isErrored, - isReadable, - toUSVString, - isReadableAborted, - isBlobLike, - parseOrigin, - parseURL, - getServerName, - isStream, - isIterable, - isAsyncIterable, - isDestroyed, - headerNameToString, - parseRawHeaders, - parseHeaders, - parseKeepAliveTimeout, - destroy, - bodyLength, - deepClone, - ReadableStreamFrom, - isBuffer, - validateHandler, - getSocketInfo, - isFormDataLike, - buildURL, - throwIfAborted, - addAbortListener, - parseRangeHeader, - nodeMajor, - nodeMinor, - nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13, - safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"] - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/timers.js -var require_timers = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/timers.js"(exports2, module2) { - "use strict"; - var fastNow = Date.now(); - var fastNowTimeout; - var fastTimers = []; - function onTimeout() { - fastNow = Date.now(); - let len = fastTimers.length; - let idx = 0; - while (idx < len) { - const timer = fastTimers[idx]; - if (timer.state === 0) { - timer.state = fastNow + timer.delay; - } else if (timer.state > 0 && fastNow >= timer.state) { - timer.state = -1; - timer.callback(timer.opaque); - } - if (timer.state === -1) { - timer.state = -2; - if (idx !== len - 1) { - fastTimers[idx] = fastTimers.pop(); - } else { - fastTimers.pop(); - } - len -= 1; - } else { - idx += 1; - } - } - if (fastTimers.length > 0) { - refreshTimeout(); - } - } - function refreshTimeout() { - if (fastNowTimeout && fastNowTimeout.refresh) { - fastNowTimeout.refresh(); - } else { - clearTimeout(fastNowTimeout); - fastNowTimeout = setTimeout(onTimeout, 1e3); - if (fastNowTimeout.unref) { - fastNowTimeout.unref(); - } - } - } - var Timeout = class { - constructor(callback, delay, opaque) { - this.callback = callback; - this.delay = delay; - this.opaque = opaque; - this.state = -2; - this.refresh(); - } - refresh() { - if (this.state === -2) { - fastTimers.push(this); - if (!fastNowTimeout || fastTimers.length === 1) { - refreshTimeout(); - } - } - this.state = 0; - } - clear() { - this.state = -1; - } - }; - module2.exports = { - setTimeout(callback, delay, opaque) { - return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque); - }, - clearTimeout(timeout) { - if (timeout instanceof Timeout) { - timeout.clear(); - } else { - clearTimeout(timeout); - } - } - }; - } -}); - -// node_modules/@fastify/busboy/deps/streamsearch/sbmh.js -var require_sbmh = __commonJS({ - "node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports2, module2) { - "use strict"; - var EventEmitter = require("node:events").EventEmitter; - var inherits = require("node:util").inherits; - function SBMH(needle) { - if (typeof needle === "string") { - needle = Buffer.from(needle); - } - if (!Buffer.isBuffer(needle)) { - throw new TypeError("The needle has to be a String or a Buffer."); - } - const needleLength = needle.length; - if (needleLength === 0) { - throw new Error("The needle cannot be an empty String/Buffer."); - } - if (needleLength > 256) { - throw new Error("The needle cannot have a length bigger than 256."); - } - this.maxMatches = Infinity; - this.matches = 0; - this._occ = new Array(256).fill(needleLength); - this._lookbehind_size = 0; - this._needle = needle; - this._bufpos = 0; - this._lookbehind = Buffer.alloc(needleLength); - for (var i7 = 0; i7 < needleLength - 1; ++i7) { - this._occ[needle[i7]] = needleLength - 1 - i7; - } - } - inherits(SBMH, EventEmitter); - SBMH.prototype.reset = function() { - this._lookbehind_size = 0; - this.matches = 0; - this._bufpos = 0; - }; - SBMH.prototype.push = function(chunk, pos) { - if (!Buffer.isBuffer(chunk)) { - chunk = Buffer.from(chunk, "binary"); - } - const chlen = chunk.length; - this._bufpos = pos || 0; - let r6; - while (r6 !== chlen && this.matches < this.maxMatches) { - r6 = this._sbmh_feed(chunk); - } - return r6; - }; - SBMH.prototype._sbmh_feed = function(data) { - const len = data.length; - const needle = this._needle; - const needleLength = needle.length; - const lastNeedleChar = needle[needleLength - 1]; - let pos = -this._lookbehind_size; - let ch4; - if (pos < 0) { - while (pos < 0 && pos <= len - needleLength) { - ch4 = this._sbmh_lookup_char(data, pos + needleLength - 1); - if (ch4 === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) { - this._lookbehind_size = 0; - ++this.matches; - this.emit("info", true); - return this._bufpos = pos + needleLength; - } - pos += this._occ[ch4]; - } - if (pos < 0) { - while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) { - ++pos; - } - } - if (pos >= 0) { - this.emit("info", false, this._lookbehind, 0, this._lookbehind_size); - this._lookbehind_size = 0; - } else { - const bytesToCutOff = this._lookbehind_size + pos; - if (bytesToCutOff > 0) { - this.emit("info", false, this._lookbehind, 0, bytesToCutOff); - } - this._lookbehind.copy( - this._lookbehind, - 0, - bytesToCutOff, - this._lookbehind_size - bytesToCutOff - ); - this._lookbehind_size -= bytesToCutOff; - data.copy(this._lookbehind, this._lookbehind_size); - this._lookbehind_size += len; - this._bufpos = len; - return len; - } - } - pos += (pos >= 0) * this._bufpos; - if (data.indexOf(needle, pos) !== -1) { - pos = data.indexOf(needle, pos); - ++this.matches; - if (pos > 0) { - this.emit("info", true, data, this._bufpos, pos); - } else { - this.emit("info", true); - } - return this._bufpos = pos + needleLength; - } else { - pos = len - needleLength; - } - while (pos < len && (data[pos] !== needle[0] || Buffer.compare( - data.subarray(pos, pos + len - pos), - needle.subarray(0, len - pos) - ) !== 0)) { - ++pos; - } - if (pos < len) { - data.copy(this._lookbehind, 0, pos, pos + (len - pos)); - this._lookbehind_size = len - pos; - } - if (pos > 0) { - this.emit("info", false, data, this._bufpos, pos < len ? pos : len); - } - this._bufpos = len; - return len; - }; - SBMH.prototype._sbmh_lookup_char = function(data, pos) { - return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos]; - }; - SBMH.prototype._sbmh_memcmp = function(data, pos, len) { - for (var i7 = 0; i7 < len; ++i7) { - if (this._sbmh_lookup_char(data, pos + i7) !== this._needle[i7]) { - return false; - } - } - return true; - }; - module2.exports = SBMH; - } -}); - -// node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js -var require_PartStream = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports2, module2) { - "use strict"; - var inherits = require("node:util").inherits; - var ReadableStream2 = require("node:stream").Readable; - function PartStream(opts) { - ReadableStream2.call(this, opts); - } - inherits(PartStream, ReadableStream2); - PartStream.prototype._read = function(n6) { - }; - module2.exports = PartStream; - } -}); - -// node_modules/@fastify/busboy/lib/utils/getLimit.js -var require_getLimit = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports2, module2) { - "use strict"; - module2.exports = function getLimit(limits, name, defaultLimit) { - if (!limits || limits[name] === void 0 || limits[name] === null) { - return defaultLimit; - } - if (typeof limits[name] !== "number" || isNaN(limits[name])) { - throw new TypeError("Limit " + name + " is not a valid number"); - } - return limits[name]; - }; - } -}); - -// node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js -var require_HeaderParser = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports2, module2) { - "use strict"; - var EventEmitter = require("node:events").EventEmitter; - var inherits = require("node:util").inherits; - var getLimit = require_getLimit(); - var StreamSearch = require_sbmh(); - var B_DCRLF = Buffer.from("\r\n\r\n"); - var RE_CRLF = /\r\n/g; - var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/; - function HeaderParser(cfg) { - EventEmitter.call(this); - cfg = cfg || {}; - const self = this; - this.nread = 0; - this.maxed = false; - this.npairs = 0; - this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3); - this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024); - this.buffer = ""; - this.header = {}; - this.finished = false; - this.ss = new StreamSearch(B_DCRLF); - this.ss.on("info", function(isMatch, data, start, end) { - if (data && !self.maxed) { - if (self.nread + end - start >= self.maxHeaderSize) { - end = self.maxHeaderSize - self.nread + start; - self.nread = self.maxHeaderSize; - self.maxed = true; - } else { - self.nread += end - start; - } - self.buffer += data.toString("binary", start, end); - } - if (isMatch) { - self._finish(); - } - }); - } - inherits(HeaderParser, EventEmitter); - HeaderParser.prototype.push = function(data) { - const r6 = this.ss.push(data); - if (this.finished) { - return r6; - } - }; - HeaderParser.prototype.reset = function() { - this.finished = false; - this.buffer = ""; - this.header = {}; - this.ss.reset(); - }; - HeaderParser.prototype._finish = function() { - if (this.buffer) { - this._parseHeader(); - } - this.ss.matches = this.ss.maxMatches; - const header = this.header; - this.header = {}; - this.buffer = ""; - this.finished = true; - this.nread = this.npairs = 0; - this.maxed = false; - this.emit("header", header); - }; - HeaderParser.prototype._parseHeader = function() { - if (this.npairs === this.maxHeaderPairs) { - return; - } - const lines = this.buffer.split(RE_CRLF); - const len = lines.length; - let m5, h6; - for (var i7 = 0; i7 < len; ++i7) { - if (lines[i7].length === 0) { - continue; - } - if (lines[i7][0] === " " || lines[i7][0] === " ") { - if (h6) { - this.header[h6][this.header[h6].length - 1] += lines[i7]; - continue; - } - } - const posColon = lines[i7].indexOf(":"); - if (posColon === -1 || posColon === 0) { - return; - } - m5 = RE_HDR.exec(lines[i7]); - h6 = m5[1].toLowerCase(); - this.header[h6] = this.header[h6] || []; - this.header[h6].push(m5[2] || ""); - if (++this.npairs === this.maxHeaderPairs) { - break; - } - } - }; - module2.exports = HeaderParser; - } -}); - -// node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js -var require_Dicer = __commonJS({ - "node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports2, module2) { - "use strict"; - var WritableStream = require("node:stream").Writable; - var inherits = require("node:util").inherits; - var StreamSearch = require_sbmh(); - var PartStream = require_PartStream(); - var HeaderParser = require_HeaderParser(); - var DASH = 45; - var B_ONEDASH = Buffer.from("-"); - var B_CRLF = Buffer.from("\r\n"); - var EMPTY_FN = function() { - }; - function Dicer(cfg) { - if (!(this instanceof Dicer)) { - return new Dicer(cfg); - } - WritableStream.call(this, cfg); - if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") { - throw new TypeError("Boundary required"); - } - if (typeof cfg.boundary === "string") { - this.setBoundary(cfg.boundary); - } else { - this._bparser = void 0; - } - this._headerFirst = cfg.headerFirst; - this._dashes = 0; - this._parts = 0; - this._finished = false; - this._realFinish = false; - this._isPreamble = true; - this._justMatched = false; - this._firstWrite = true; - this._inHeader = true; - this._part = void 0; - this._cb = void 0; - this._ignoreData = false; - this._partOpts = { highWaterMark: cfg.partHwm }; - this._pause = false; - const self = this; - this._hparser = new HeaderParser(cfg); - this._hparser.on("header", function(header) { - self._inHeader = false; - self._part.emit("header", header); - }); - } - inherits(Dicer, WritableStream); - Dicer.prototype.emit = function(ev) { - if (ev === "finish" && !this._realFinish) { - if (!this._finished) { - const self = this; - process.nextTick(function() { - self.emit("error", new Error("Unexpected end of multipart data")); - if (self._part && !self._ignoreData) { - const type = self._isPreamble ? "Preamble" : "Part"; - self._part.emit("error", new Error(type + " terminated early due to unexpected end of multipart data")); - self._part.push(null); - process.nextTick(function() { - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; - }); - return; - } - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; - }); - } - } else { - WritableStream.prototype.emit.apply(this, arguments); - } - }; - Dicer.prototype._write = function(data, encoding, cb2) { - if (!this._hparser && !this._bparser) { - return cb2(); - } - if (this._headerFirst && this._isPreamble) { - if (!this._part) { - this._part = new PartStream(this._partOpts); - if (this.listenerCount("preamble") !== 0) { - this.emit("preamble", this._part); - } else { - this._ignore(); - } - } - const r6 = this._hparser.push(data); - if (!this._inHeader && r6 !== void 0 && r6 < data.length) { - data = data.slice(r6); - } else { - return cb2(); - } - } - if (this._firstWrite) { - this._bparser.push(B_CRLF); - this._firstWrite = false; - } - this._bparser.push(data); - if (this._pause) { - this._cb = cb2; - } else { - cb2(); - } - }; - Dicer.prototype.reset = function() { - this._part = void 0; - this._bparser = void 0; - this._hparser = void 0; - }; - Dicer.prototype.setBoundary = function(boundary) { - const self = this; - this._bparser = new StreamSearch("\r\n--" + boundary); - this._bparser.on("info", function(isMatch, data, start, end) { - self._oninfo(isMatch, data, start, end); - }); - }; - Dicer.prototype._ignore = function() { - if (this._part && !this._ignoreData) { - this._ignoreData = true; - this._part.on("error", EMPTY_FN); - this._part.resume(); - } - }; - Dicer.prototype._oninfo = function(isMatch, data, start, end) { - let buf; - const self = this; - let i7 = 0; - let r6; - let shouldWriteMore = true; - if (!this._part && this._justMatched && data) { - while (this._dashes < 2 && start + i7 < end) { - if (data[start + i7] === DASH) { - ++i7; - ++this._dashes; - } else { - if (this._dashes) { - buf = B_ONEDASH; - } - this._dashes = 0; - break; - } - } - if (this._dashes === 2) { - if (start + i7 < end && this.listenerCount("trailer") !== 0) { - this.emit("trailer", data.slice(start + i7, end)); - } - this.reset(); - this._finished = true; - if (self._parts === 0) { - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; - } - } - if (this._dashes) { - return; - } - } - if (this._justMatched) { - this._justMatched = false; - } - if (!this._part) { - this._part = new PartStream(this._partOpts); - this._part._read = function(n6) { - self._unpause(); - }; - if (this._isPreamble && this.listenerCount("preamble") !== 0) { - this.emit("preamble", this._part); - } else if (this._isPreamble !== true && this.listenerCount("part") !== 0) { - this.emit("part", this._part); - } else { - this._ignore(); - } - if (!this._isPreamble) { - this._inHeader = true; - } - } - if (data && start < end && !this._ignoreData) { - if (this._isPreamble || !this._inHeader) { - if (buf) { - shouldWriteMore = this._part.push(buf); - } - shouldWriteMore = this._part.push(data.slice(start, end)); - if (!shouldWriteMore) { - this._pause = true; - } - } else if (!this._isPreamble && this._inHeader) { - if (buf) { - this._hparser.push(buf); - } - r6 = this._hparser.push(data.slice(start, end)); - if (!this._inHeader && r6 !== void 0 && r6 < end) { - this._oninfo(false, data, start + r6, end); - } - } - } - if (isMatch) { - this._hparser.reset(); - if (this._isPreamble) { - this._isPreamble = false; - } else { - if (start !== end) { - ++this._parts; - this._part.on("end", function() { - if (--self._parts === 0) { - if (self._finished) { - self._realFinish = true; - self.emit("finish"); - self._realFinish = false; - } else { - self._unpause(); - } - } - }); - } - } - this._part.push(null); - this._part = void 0; - this._ignoreData = false; - this._justMatched = true; - this._dashes = 0; - } - }; - Dicer.prototype._unpause = function() { - if (!this._pause) { - return; - } - this._pause = false; - if (this._cb) { - const cb2 = this._cb; - this._cb = void 0; - cb2(); - } - }; - module2.exports = Dicer; - } -}); - -// node_modules/@fastify/busboy/lib/utils/decodeText.js -var require_decodeText = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports2, module2) { - "use strict"; - var utf8Decoder = new TextDecoder("utf-8"); - var textDecoders = /* @__PURE__ */ new Map([ - ["utf-8", utf8Decoder], - ["utf8", utf8Decoder] - ]); - function getDecoder(charset) { - let lc4; - while (true) { - switch (charset) { - case "utf-8": - case "utf8": - return decoders.utf8; - case "latin1": - case "ascii": - // TODO: Make these a separate, strict decoder? - case "us-ascii": - case "iso-8859-1": - case "iso8859-1": - case "iso88591": - case "iso_8859-1": - case "windows-1252": - case "iso_8859-1:1987": - case "cp1252": - case "x-cp1252": - return decoders.latin1; - case "utf16le": - case "utf-16le": - case "ucs2": - case "ucs-2": - return decoders.utf16le; - case "base64": - return decoders.base64; - default: - if (lc4 === void 0) { - lc4 = true; - charset = charset.toLowerCase(); - continue; - } - return decoders.other.bind(charset); - } - } - } - var decoders = { - utf8: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.utf8Slice(0, data.length); - }, - latin1: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - return data; - } - return data.latin1Slice(0, data.length); - }, - utf16le: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.ucs2Slice(0, data.length); - }, - base64: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - return data.base64Slice(0, data.length); - }, - other: (data, sourceEncoding) => { - if (data.length === 0) { - return ""; - } - if (typeof data === "string") { - data = Buffer.from(data, sourceEncoding); - } - if (textDecoders.has(exports2.toString())) { - try { - return textDecoders.get(exports2).decode(data); - } catch { - } - } - return typeof data === "string" ? data : data.toString(); - } - }; - function decodeText(text, sourceEncoding, destEncoding) { - if (text) { - return getDecoder(destEncoding)(text, sourceEncoding); - } - return text; - } - module2.exports = decodeText; - } -}); - -// node_modules/@fastify/busboy/lib/utils/parseParams.js -var require_parseParams = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports2, module2) { - "use strict"; - var decodeText = require_decodeText(); - var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g; - var EncodedLookup = { - "%00": "\0", - "%01": "", - "%02": "", - "%03": "", - "%04": "", - "%05": "", - "%06": "", - "%07": "\x07", - "%08": "\b", - "%09": " ", - "%0a": "\n", - "%0A": "\n", - "%0b": "\v", - "%0B": "\v", - "%0c": "\f", - "%0C": "\f", - "%0d": "\r", - "%0D": "\r", - "%0e": "", - "%0E": "", - "%0f": "", - "%0F": "", - "%10": "", - "%11": "", - "%12": "", - "%13": "", - "%14": "", - "%15": "", - "%16": "", - "%17": "", - "%18": "", - "%19": "", - "%1a": "", - "%1A": "", - "%1b": "\x1B", - "%1B": "\x1B", - "%1c": "", - "%1C": "", - "%1d": "", - "%1D": "", - "%1e": "", - "%1E": "", - "%1f": "", - "%1F": "", - "%20": " ", - "%21": "!", - "%22": '"', - "%23": "#", - "%24": "$", - "%25": "%", - "%26": "&", - "%27": "'", - "%28": "(", - "%29": ")", - "%2a": "*", - "%2A": "*", - "%2b": "+", - "%2B": "+", - "%2c": ",", - "%2C": ",", - "%2d": "-", - "%2D": "-", - "%2e": ".", - "%2E": ".", - "%2f": "/", - "%2F": "/", - "%30": "0", - "%31": "1", - "%32": "2", - "%33": "3", - "%34": "4", - "%35": "5", - "%36": "6", - "%37": "7", - "%38": "8", - "%39": "9", - "%3a": ":", - "%3A": ":", - "%3b": ";", - "%3B": ";", - "%3c": "<", - "%3C": "<", - "%3d": "=", - "%3D": "=", - "%3e": ">", - "%3E": ">", - "%3f": "?", - "%3F": "?", - "%40": "@", - "%41": "A", - "%42": "B", - "%43": "C", - "%44": "D", - "%45": "E", - "%46": "F", - "%47": "G", - "%48": "H", - "%49": "I", - "%4a": "J", - "%4A": "J", - "%4b": "K", - "%4B": "K", - "%4c": "L", - "%4C": "L", - "%4d": "M", - "%4D": "M", - "%4e": "N", - "%4E": "N", - "%4f": "O", - "%4F": "O", - "%50": "P", - "%51": "Q", - "%52": "R", - "%53": "S", - "%54": "T", - "%55": "U", - "%56": "V", - "%57": "W", - "%58": "X", - "%59": "Y", - "%5a": "Z", - "%5A": "Z", - "%5b": "[", - "%5B": "[", - "%5c": "\\", - "%5C": "\\", - "%5d": "]", - "%5D": "]", - "%5e": "^", - "%5E": "^", - "%5f": "_", - "%5F": "_", - "%60": "`", - "%61": "a", - "%62": "b", - "%63": "c", - "%64": "d", - "%65": "e", - "%66": "f", - "%67": "g", - "%68": "h", - "%69": "i", - "%6a": "j", - "%6A": "j", - "%6b": "k", - "%6B": "k", - "%6c": "l", - "%6C": "l", - "%6d": "m", - "%6D": "m", - "%6e": "n", - "%6E": "n", - "%6f": "o", - "%6F": "o", - "%70": "p", - "%71": "q", - "%72": "r", - "%73": "s", - "%74": "t", - "%75": "u", - "%76": "v", - "%77": "w", - "%78": "x", - "%79": "y", - "%7a": "z", - "%7A": "z", - "%7b": "{", - "%7B": "{", - "%7c": "|", - "%7C": "|", - "%7d": "}", - "%7D": "}", - "%7e": "~", - "%7E": "~", - "%7f": "\x7F", - "%7F": "\x7F", - "%80": "\x80", - "%81": "\x81", - "%82": "\x82", - "%83": "\x83", - "%84": "\x84", - "%85": "\x85", - "%86": "\x86", - "%87": "\x87", - "%88": "\x88", - "%89": "\x89", - "%8a": "\x8A", - "%8A": "\x8A", - "%8b": "\x8B", - "%8B": "\x8B", - "%8c": "\x8C", - "%8C": "\x8C", - "%8d": "\x8D", - "%8D": "\x8D", - "%8e": "\x8E", - "%8E": "\x8E", - "%8f": "\x8F", - "%8F": "\x8F", - "%90": "\x90", - "%91": "\x91", - "%92": "\x92", - "%93": "\x93", - "%94": "\x94", - "%95": "\x95", - "%96": "\x96", - "%97": "\x97", - "%98": "\x98", - "%99": "\x99", - "%9a": "\x9A", - "%9A": "\x9A", - "%9b": "\x9B", - "%9B": "\x9B", - "%9c": "\x9C", - "%9C": "\x9C", - "%9d": "\x9D", - "%9D": "\x9D", - "%9e": "\x9E", - "%9E": "\x9E", - "%9f": "\x9F", - "%9F": "\x9F", - "%a0": "\xA0", - "%A0": "\xA0", - "%a1": "\xA1", - "%A1": "\xA1", - "%a2": "\xA2", - "%A2": "\xA2", - "%a3": "\xA3", - "%A3": "\xA3", - "%a4": "\xA4", - "%A4": "\xA4", - "%a5": "\xA5", - "%A5": "\xA5", - "%a6": "\xA6", - "%A6": "\xA6", - "%a7": "\xA7", - "%A7": "\xA7", - "%a8": "\xA8", - "%A8": "\xA8", - "%a9": "\xA9", - "%A9": "\xA9", - "%aa": "\xAA", - "%Aa": "\xAA", - "%aA": "\xAA", - "%AA": "\xAA", - "%ab": "\xAB", - "%Ab": "\xAB", - "%aB": "\xAB", - "%AB": "\xAB", - "%ac": "\xAC", - "%Ac": "\xAC", - "%aC": "\xAC", - "%AC": "\xAC", - "%ad": "\xAD", - "%Ad": "\xAD", - "%aD": "\xAD", - "%AD": "\xAD", - "%ae": "\xAE", - "%Ae": "\xAE", - "%aE": "\xAE", - "%AE": "\xAE", - "%af": "\xAF", - "%Af": "\xAF", - "%aF": "\xAF", - "%AF": "\xAF", - "%b0": "\xB0", - "%B0": "\xB0", - "%b1": "\xB1", - "%B1": "\xB1", - "%b2": "\xB2", - "%B2": "\xB2", - "%b3": "\xB3", - "%B3": "\xB3", - "%b4": "\xB4", - "%B4": "\xB4", - "%b5": "\xB5", - "%B5": "\xB5", - "%b6": "\xB6", - "%B6": "\xB6", - "%b7": "\xB7", - "%B7": "\xB7", - "%b8": "\xB8", - "%B8": "\xB8", - "%b9": "\xB9", - "%B9": "\xB9", - "%ba": "\xBA", - "%Ba": "\xBA", - "%bA": "\xBA", - "%BA": "\xBA", - "%bb": "\xBB", - "%Bb": "\xBB", - "%bB": "\xBB", - "%BB": "\xBB", - "%bc": "\xBC", - "%Bc": "\xBC", - "%bC": "\xBC", - "%BC": "\xBC", - "%bd": "\xBD", - "%Bd": "\xBD", - "%bD": "\xBD", - "%BD": "\xBD", - "%be": "\xBE", - "%Be": "\xBE", - "%bE": "\xBE", - "%BE": "\xBE", - "%bf": "\xBF", - "%Bf": "\xBF", - "%bF": "\xBF", - "%BF": "\xBF", - "%c0": "\xC0", - "%C0": "\xC0", - "%c1": "\xC1", - "%C1": "\xC1", - "%c2": "\xC2", - "%C2": "\xC2", - "%c3": "\xC3", - "%C3": "\xC3", - "%c4": "\xC4", - "%C4": "\xC4", - "%c5": "\xC5", - "%C5": "\xC5", - "%c6": "\xC6", - "%C6": "\xC6", - "%c7": "\xC7", - "%C7": "\xC7", - "%c8": "\xC8", - "%C8": "\xC8", - "%c9": "\xC9", - "%C9": "\xC9", - "%ca": "\xCA", - "%Ca": "\xCA", - "%cA": "\xCA", - "%CA": "\xCA", - "%cb": "\xCB", - "%Cb": "\xCB", - "%cB": "\xCB", - "%CB": "\xCB", - "%cc": "\xCC", - "%Cc": "\xCC", - "%cC": "\xCC", - "%CC": "\xCC", - "%cd": "\xCD", - "%Cd": "\xCD", - "%cD": "\xCD", - "%CD": "\xCD", - "%ce": "\xCE", - "%Ce": "\xCE", - "%cE": "\xCE", - "%CE": "\xCE", - "%cf": "\xCF", - "%Cf": "\xCF", - "%cF": "\xCF", - "%CF": "\xCF", - "%d0": "\xD0", - "%D0": "\xD0", - "%d1": "\xD1", - "%D1": "\xD1", - "%d2": "\xD2", - "%D2": "\xD2", - "%d3": "\xD3", - "%D3": "\xD3", - "%d4": "\xD4", - "%D4": "\xD4", - "%d5": "\xD5", - "%D5": "\xD5", - "%d6": "\xD6", - "%D6": "\xD6", - "%d7": "\xD7", - "%D7": "\xD7", - "%d8": "\xD8", - "%D8": "\xD8", - "%d9": "\xD9", - "%D9": "\xD9", - "%da": "\xDA", - "%Da": "\xDA", - "%dA": "\xDA", - "%DA": "\xDA", - "%db": "\xDB", - "%Db": "\xDB", - "%dB": "\xDB", - "%DB": "\xDB", - "%dc": "\xDC", - "%Dc": "\xDC", - "%dC": "\xDC", - "%DC": "\xDC", - "%dd": "\xDD", - "%Dd": "\xDD", - "%dD": "\xDD", - "%DD": "\xDD", - "%de": "\xDE", - "%De": "\xDE", - "%dE": "\xDE", - "%DE": "\xDE", - "%df": "\xDF", - "%Df": "\xDF", - "%dF": "\xDF", - "%DF": "\xDF", - "%e0": "\xE0", - "%E0": "\xE0", - "%e1": "\xE1", - "%E1": "\xE1", - "%e2": "\xE2", - "%E2": "\xE2", - "%e3": "\xE3", - "%E3": "\xE3", - "%e4": "\xE4", - "%E4": "\xE4", - "%e5": "\xE5", - "%E5": "\xE5", - "%e6": "\xE6", - "%E6": "\xE6", - "%e7": "\xE7", - "%E7": "\xE7", - "%e8": "\xE8", - "%E8": "\xE8", - "%e9": "\xE9", - "%E9": "\xE9", - "%ea": "\xEA", - "%Ea": "\xEA", - "%eA": "\xEA", - "%EA": "\xEA", - "%eb": "\xEB", - "%Eb": "\xEB", - "%eB": "\xEB", - "%EB": "\xEB", - "%ec": "\xEC", - "%Ec": "\xEC", - "%eC": "\xEC", - "%EC": "\xEC", - "%ed": "\xED", - "%Ed": "\xED", - "%eD": "\xED", - "%ED": "\xED", - "%ee": "\xEE", - "%Ee": "\xEE", - "%eE": "\xEE", - "%EE": "\xEE", - "%ef": "\xEF", - "%Ef": "\xEF", - "%eF": "\xEF", - "%EF": "\xEF", - "%f0": "\xF0", - "%F0": "\xF0", - "%f1": "\xF1", - "%F1": "\xF1", - "%f2": "\xF2", - "%F2": "\xF2", - "%f3": "\xF3", - "%F3": "\xF3", - "%f4": "\xF4", - "%F4": "\xF4", - "%f5": "\xF5", - "%F5": "\xF5", - "%f6": "\xF6", - "%F6": "\xF6", - "%f7": "\xF7", - "%F7": "\xF7", - "%f8": "\xF8", - "%F8": "\xF8", - "%f9": "\xF9", - "%F9": "\xF9", - "%fa": "\xFA", - "%Fa": "\xFA", - "%fA": "\xFA", - "%FA": "\xFA", - "%fb": "\xFB", - "%Fb": "\xFB", - "%fB": "\xFB", - "%FB": "\xFB", - "%fc": "\xFC", - "%Fc": "\xFC", - "%fC": "\xFC", - "%FC": "\xFC", - "%fd": "\xFD", - "%Fd": "\xFD", - "%fD": "\xFD", - "%FD": "\xFD", - "%fe": "\xFE", - "%Fe": "\xFE", - "%fE": "\xFE", - "%FE": "\xFE", - "%ff": "\xFF", - "%Ff": "\xFF", - "%fF": "\xFF", - "%FF": "\xFF" - }; - function encodedReplacer(match) { - return EncodedLookup[match]; - } - var STATE_KEY = 0; - var STATE_VALUE = 1; - var STATE_CHARSET = 2; - var STATE_LANG = 3; - function parseParams(str) { - const res = []; - let state = STATE_KEY; - let charset = ""; - let inquote = false; - let escaping = false; - let p5 = 0; - let tmp = ""; - const len = str.length; - for (var i7 = 0; i7 < len; ++i7) { - const char = str[i7]; - if (char === "\\" && inquote) { - if (escaping) { - escaping = false; - } else { - escaping = true; - continue; - } - } else if (char === '"') { - if (!escaping) { - if (inquote) { - inquote = false; - state = STATE_KEY; - } else { - inquote = true; - } - continue; - } else { - escaping = false; - } - } else { - if (escaping && inquote) { - tmp += "\\"; - } - escaping = false; - if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") { - if (state === STATE_CHARSET) { - state = STATE_LANG; - charset = tmp.substring(1); - } else { - state = STATE_VALUE; - } - tmp = ""; - continue; - } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) { - state = char === "*" ? STATE_CHARSET : STATE_VALUE; - res[p5] = [tmp, void 0]; - tmp = ""; - continue; - } else if (!inquote && char === ";") { - state = STATE_KEY; - if (charset) { - if (tmp.length) { - tmp = decodeText( - tmp.replace(RE_ENCODED, encodedReplacer), - "binary", - charset - ); - } - charset = ""; - } else if (tmp.length) { - tmp = decodeText(tmp, "binary", "utf8"); - } - if (res[p5] === void 0) { - res[p5] = tmp; - } else { - res[p5][1] = tmp; - } - tmp = ""; - ++p5; - continue; - } else if (!inquote && (char === " " || char === " ")) { - continue; - } - } - tmp += char; - } - if (charset && tmp.length) { - tmp = decodeText( - tmp.replace(RE_ENCODED, encodedReplacer), - "binary", - charset - ); - } else if (tmp) { - tmp = decodeText(tmp, "binary", "utf8"); - } - if (res[p5] === void 0) { - if (tmp) { - res[p5] = tmp; - } - } else { - res[p5][1] = tmp; - } - return res; - } - module2.exports = parseParams; - } -}); - -// node_modules/@fastify/busboy/lib/utils/basename.js -var require_basename = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/basename.js"(exports2, module2) { - "use strict"; - module2.exports = function basename(path) { - if (typeof path !== "string") { - return ""; - } - for (var i7 = path.length - 1; i7 >= 0; --i7) { - switch (path.charCodeAt(i7)) { - case 47: - // '/' - case 92: - path = path.slice(i7 + 1); - return path === ".." || path === "." ? "" : path; - } - } - return path === ".." || path === "." ? "" : path; - }; - } -}); - -// node_modules/@fastify/busboy/lib/types/multipart.js -var require_multipart = __commonJS({ - "node_modules/@fastify/busboy/lib/types/multipart.js"(exports2, module2) { - "use strict"; - var { Readable } = require("node:stream"); - var { inherits } = require("node:util"); - var Dicer = require_Dicer(); - var parseParams = require_parseParams(); - var decodeText = require_decodeText(); - var basename = require_basename(); - var getLimit = require_getLimit(); - var RE_BOUNDARY = /^boundary$/i; - var RE_FIELD = /^form-data$/i; - var RE_CHARSET = /^charset$/i; - var RE_FILENAME = /^filename$/i; - var RE_NAME = /^name$/i; - Multipart.detect = /^multipart\/form-data/i; - function Multipart(boy, cfg) { - let i7; - let len; - const self = this; - let boundary; - const limits = cfg.limits; - const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0); - const parsedConType = cfg.parsedConType || []; - const defCharset = cfg.defCharset || "utf8"; - const preservePath = cfg.preservePath; - const fileOpts = { highWaterMark: cfg.fileHwm }; - for (i7 = 0, len = parsedConType.length; i7 < len; ++i7) { - if (Array.isArray(parsedConType[i7]) && RE_BOUNDARY.test(parsedConType[i7][0])) { - boundary = parsedConType[i7][1]; - break; - } - } - function checkFinished() { - if (nends === 0 && finished && !boy._done) { - finished = false; - self.end(); - } - } - if (typeof boundary !== "string") { - throw new Error("Multipart: Boundary not found"); - } - const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - const fileSizeLimit = getLimit(limits, "fileSize", Infinity); - const filesLimit = getLimit(limits, "files", Infinity); - const fieldsLimit = getLimit(limits, "fields", Infinity); - const partsLimit = getLimit(limits, "parts", Infinity); - const headerPairsLimit = getLimit(limits, "headerPairs", 2e3); - const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024); - let nfiles = 0; - let nfields = 0; - let nends = 0; - let curFile; - let curField; - let finished = false; - this._needDrain = false; - this._pause = false; - this._cb = void 0; - this._nparts = 0; - this._boy = boy; - const parserCfg = { - boundary, - maxHeaderPairs: headerPairsLimit, - maxHeaderSize: headerSizeLimit, - partHwm: fileOpts.highWaterMark, - highWaterMark: cfg.highWaterMark - }; - this.parser = new Dicer(parserCfg); - this.parser.on("drain", function() { - self._needDrain = false; - if (self._cb && !self._pause) { - const cb2 = self._cb; - self._cb = void 0; - cb2(); - } - }).on("part", function onPart(part) { - if (++self._nparts > partsLimit) { - self.parser.removeListener("part", onPart); - self.parser.on("part", skipPart); - boy.hitPartsLimit = true; - boy.emit("partsLimit"); - return skipPart(part); - } - if (curField) { - const field = curField; - field.emit("end"); - field.removeAllListeners("end"); - } - part.on("header", function(header) { - let contype; - let fieldname; - let parsed; - let charset; - let encoding; - let filename; - let nsize = 0; - if (header["content-type"]) { - parsed = parseParams(header["content-type"][0]); - if (parsed[0]) { - contype = parsed[0].toLowerCase(); - for (i7 = 0, len = parsed.length; i7 < len; ++i7) { - if (RE_CHARSET.test(parsed[i7][0])) { - charset = parsed[i7][1].toLowerCase(); - break; - } - } - } - } - if (contype === void 0) { - contype = "text/plain"; - } - if (charset === void 0) { - charset = defCharset; - } - if (header["content-disposition"]) { - parsed = parseParams(header["content-disposition"][0]); - if (!RE_FIELD.test(parsed[0])) { - return skipPart(part); - } - for (i7 = 0, len = parsed.length; i7 < len; ++i7) { - if (RE_NAME.test(parsed[i7][0])) { - fieldname = parsed[i7][1]; - } else if (RE_FILENAME.test(parsed[i7][0])) { - filename = parsed[i7][1]; - if (!preservePath) { - filename = basename(filename); - } - } - } - } else { - return skipPart(part); - } - if (header["content-transfer-encoding"]) { - encoding = header["content-transfer-encoding"][0].toLowerCase(); - } else { - encoding = "7bit"; - } - let onData, onEnd; - if (isPartAFile(fieldname, contype, filename)) { - if (nfiles === filesLimit) { - if (!boy.hitFilesLimit) { - boy.hitFilesLimit = true; - boy.emit("filesLimit"); - } - return skipPart(part); - } - ++nfiles; - if (boy.listenerCount("file") === 0) { - self.parser._ignore(); - return; - } - ++nends; - const file = new FileStream(fileOpts); - curFile = file; - file.on("end", function() { - --nends; - self._pause = false; - checkFinished(); - if (self._cb && !self._needDrain) { - const cb2 = self._cb; - self._cb = void 0; - cb2(); - } - }); - file._read = function(n6) { - if (!self._pause) { - return; - } - self._pause = false; - if (self._cb && !self._needDrain) { - const cb2 = self._cb; - self._cb = void 0; - cb2(); - } - }; - boy.emit("file", fieldname, file, filename, encoding, contype); - onData = function(data) { - if ((nsize += data.length) > fileSizeLimit) { - const extralen = fileSizeLimit - nsize + data.length; - if (extralen > 0) { - file.push(data.slice(0, extralen)); - } - file.truncated = true; - file.bytesRead = fileSizeLimit; - part.removeAllListeners("data"); - file.emit("limit"); - return; - } else if (!file.push(data)) { - self._pause = true; - } - file.bytesRead = nsize; - }; - onEnd = function() { - curFile = void 0; - file.push(null); - }; - } else { - if (nfields === fieldsLimit) { - if (!boy.hitFieldsLimit) { - boy.hitFieldsLimit = true; - boy.emit("fieldsLimit"); - } - return skipPart(part); - } - ++nfields; - ++nends; - let buffer = ""; - let truncated = false; - curField = part; - onData = function(data) { - if ((nsize += data.length) > fieldSizeLimit) { - const extralen = fieldSizeLimit - (nsize - data.length); - buffer += data.toString("binary", 0, extralen); - truncated = true; - part.removeAllListeners("data"); - } else { - buffer += data.toString("binary"); - } - }; - onEnd = function() { - curField = void 0; - if (buffer.length) { - buffer = decodeText(buffer, "binary", charset); - } - boy.emit("field", fieldname, buffer, false, truncated, encoding, contype); - --nends; - checkFinished(); - }; - } - part._readableState.sync = false; - part.on("data", onData); - part.on("end", onEnd); - }).on("error", function(err) { - if (curFile) { - curFile.emit("error", err); - } - }); - }).on("error", function(err) { - boy.emit("error", err); - }).on("finish", function() { - finished = true; - checkFinished(); - }); - } - Multipart.prototype.write = function(chunk, cb2) { - const r6 = this.parser.write(chunk); - if (r6 && !this._pause) { - cb2(); - } else { - this._needDrain = !r6; - this._cb = cb2; - } - }; - Multipart.prototype.end = function() { - const self = this; - if (self.parser.writable) { - self.parser.end(); - } else if (!self._boy._done) { - process.nextTick(function() { - self._boy._done = true; - self._boy.emit("finish"); - }); - } - }; - function skipPart(part) { - part.resume(); - } - function FileStream(opts) { - Readable.call(this, opts); - this.bytesRead = 0; - this.truncated = false; - } - inherits(FileStream, Readable); - FileStream.prototype._read = function(n6) { - }; - module2.exports = Multipart; - } -}); - -// node_modules/@fastify/busboy/lib/utils/Decoder.js -var require_Decoder = __commonJS({ - "node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports2, module2) { - "use strict"; - var RE_PLUS = /\+/g; - var HEX = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]; - function Decoder() { - this.buffer = void 0; - } - Decoder.prototype.write = function(str) { - str = str.replace(RE_PLUS, " "); - let res = ""; - let i7 = 0; - let p5 = 0; - const len = str.length; - for (; i7 < len; ++i7) { - if (this.buffer !== void 0) { - if (!HEX[str.charCodeAt(i7)]) { - res += "%" + this.buffer; - this.buffer = void 0; - --i7; - } else { - this.buffer += str[i7]; - ++p5; - if (this.buffer.length === 2) { - res += String.fromCharCode(parseInt(this.buffer, 16)); - this.buffer = void 0; - } - } - } else if (str[i7] === "%") { - if (i7 > p5) { - res += str.substring(p5, i7); - p5 = i7; - } - this.buffer = ""; - ++p5; - } - } - if (p5 < len && this.buffer === void 0) { - res += str.substring(p5); - } - return res; - }; - Decoder.prototype.reset = function() { - this.buffer = void 0; - }; - module2.exports = Decoder; - } -}); - -// node_modules/@fastify/busboy/lib/types/urlencoded.js -var require_urlencoded = __commonJS({ - "node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports2, module2) { - "use strict"; - var Decoder = require_Decoder(); - var decodeText = require_decodeText(); - var getLimit = require_getLimit(); - var RE_CHARSET = /^charset$/i; - UrlEncoded.detect = /^application\/x-www-form-urlencoded/i; - function UrlEncoded(boy, cfg) { - const limits = cfg.limits; - const parsedConType = cfg.parsedConType; - this.boy = boy; - this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024); - this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100); - this.fieldsLimit = getLimit(limits, "fields", Infinity); - let charset; - for (var i7 = 0, len = parsedConType.length; i7 < len; ++i7) { - if (Array.isArray(parsedConType[i7]) && RE_CHARSET.test(parsedConType[i7][0])) { - charset = parsedConType[i7][1].toLowerCase(); - break; - } - } - if (charset === void 0) { - charset = cfg.defCharset || "utf8"; - } - this.decoder = new Decoder(); - this.charset = charset; - this._fields = 0; - this._state = "key"; - this._checkingBytes = true; - this._bytesKey = 0; - this._bytesVal = 0; - this._key = ""; - this._val = ""; - this._keyTrunc = false; - this._valTrunc = false; - this._hitLimit = false; - } - UrlEncoded.prototype.write = function(data, cb2) { - if (this._fields === this.fieldsLimit) { - if (!this.boy.hitFieldsLimit) { - this.boy.hitFieldsLimit = true; - this.boy.emit("fieldsLimit"); - } - return cb2(); - } - let idxeq; - let idxamp; - let i7; - let p5 = 0; - const len = data.length; - while (p5 < len) { - if (this._state === "key") { - idxeq = idxamp = void 0; - for (i7 = p5; i7 < len; ++i7) { - if (!this._checkingBytes) { - ++p5; - } - if (data[i7] === 61) { - idxeq = i7; - break; - } else if (data[i7] === 38) { - idxamp = i7; - break; - } - if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) { - this._hitLimit = true; - break; - } else if (this._checkingBytes) { - ++this._bytesKey; - } - } - if (idxeq !== void 0) { - if (idxeq > p5) { - this._key += this.decoder.write(data.toString("binary", p5, idxeq)); - } - this._state = "val"; - this._hitLimit = false; - this._checkingBytes = true; - this._val = ""; - this._bytesVal = 0; - this._valTrunc = false; - this.decoder.reset(); - p5 = idxeq + 1; - } else if (idxamp !== void 0) { - ++this._fields; - let key; - const keyTrunc = this._keyTrunc; - if (idxamp > p5) { - key = this._key += this.decoder.write(data.toString("binary", p5, idxamp)); - } else { - key = this._key; - } - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); - if (key.length) { - this.boy.emit( - "field", - decodeText(key, "binary", this.charset), - "", - keyTrunc, - false - ); - } - p5 = idxamp + 1; - if (this._fields === this.fieldsLimit) { - return cb2(); - } - } else if (this._hitLimit) { - if (i7 > p5) { - this._key += this.decoder.write(data.toString("binary", p5, i7)); - } - p5 = i7; - if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) { - this._checkingBytes = false; - this._keyTrunc = true; - } - } else { - if (p5 < len) { - this._key += this.decoder.write(data.toString("binary", p5)); - } - p5 = len; - } - } else { - idxamp = void 0; - for (i7 = p5; i7 < len; ++i7) { - if (!this._checkingBytes) { - ++p5; - } - if (data[i7] === 38) { - idxamp = i7; - break; - } - if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) { - this._hitLimit = true; - break; - } else if (this._checkingBytes) { - ++this._bytesVal; - } - } - if (idxamp !== void 0) { - ++this._fields; - if (idxamp > p5) { - this._val += this.decoder.write(data.toString("binary", p5, idxamp)); - } - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), - this._keyTrunc, - this._valTrunc - ); - this._state = "key"; - this._hitLimit = false; - this._checkingBytes = true; - this._key = ""; - this._bytesKey = 0; - this._keyTrunc = false; - this.decoder.reset(); - p5 = idxamp + 1; - if (this._fields === this.fieldsLimit) { - return cb2(); - } - } else if (this._hitLimit) { - if (i7 > p5) { - this._val += this.decoder.write(data.toString("binary", p5, i7)); - } - p5 = i7; - if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) { - this._checkingBytes = false; - this._valTrunc = true; - } - } else { - if (p5 < len) { - this._val += this.decoder.write(data.toString("binary", p5)); - } - p5 = len; - } - } - } - cb2(); - }; - UrlEncoded.prototype.end = function() { - if (this.boy._done) { - return; - } - if (this._state === "key" && this._key.length > 0) { - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - "", - this._keyTrunc, - false - ); - } else if (this._state === "val") { - this.boy.emit( - "field", - decodeText(this._key, "binary", this.charset), - decodeText(this._val, "binary", this.charset), - this._keyTrunc, - this._valTrunc - ); - } - this.boy._done = true; - this.boy.emit("finish"); - }; - module2.exports = UrlEncoded; - } -}); - -// node_modules/@fastify/busboy/lib/main.js -var require_main = __commonJS({ - "node_modules/@fastify/busboy/lib/main.js"(exports2, module2) { - "use strict"; - var WritableStream = require("node:stream").Writable; - var { inherits } = require("node:util"); - var Dicer = require_Dicer(); - var MultipartParser = require_multipart(); - var UrlencodedParser = require_urlencoded(); - var parseParams = require_parseParams(); - function Busboy(opts) { - if (!(this instanceof Busboy)) { - return new Busboy(opts); - } - if (typeof opts !== "object") { - throw new TypeError("Busboy expected an options-Object."); - } - if (typeof opts.headers !== "object") { - throw new TypeError("Busboy expected an options-Object with headers-attribute."); - } - if (typeof opts.headers["content-type"] !== "string") { - throw new TypeError("Missing Content-Type-header."); - } - const { - headers, - ...streamOptions - } = opts; - this.opts = { - autoDestroy: false, - ...streamOptions - }; - WritableStream.call(this, this.opts); - this._done = false; - this._parser = this.getParserByHeaders(headers); - this._finished = false; - } - inherits(Busboy, WritableStream); - Busboy.prototype.emit = function(ev) { - if (ev === "finish") { - if (!this._done) { - this._parser?.end(); - return; - } else if (this._finished) { - return; - } - this._finished = true; - } - WritableStream.prototype.emit.apply(this, arguments); - }; - Busboy.prototype.getParserByHeaders = function(headers) { - const parsed = parseParams(headers["content-type"]); - const cfg = { - defCharset: this.opts.defCharset, - fileHwm: this.opts.fileHwm, - headers, - highWaterMark: this.opts.highWaterMark, - isPartAFile: this.opts.isPartAFile, - limits: this.opts.limits, - parsedConType: parsed, - preservePath: this.opts.preservePath - }; - if (MultipartParser.detect.test(parsed[0])) { - return new MultipartParser(this, cfg); - } - if (UrlencodedParser.detect.test(parsed[0])) { - return new UrlencodedParser(this, cfg); - } - throw new Error("Unsupported Content-Type."); - }; - Busboy.prototype._write = function(chunk, encoding, cb2) { - this._parser.write(chunk, cb2); - }; - module2.exports = Busboy; - module2.exports.default = Busboy; - module2.exports.Busboy = Busboy; - module2.exports.Dicer = Dicer; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/constants.js -var require_constants2 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/constants.js"(exports2, module2) { - "use strict"; - var { MessageChannel, receiveMessageOnPort } = require("worker_threads"); - var corsSafeListedMethods = ["GET", "HEAD", "POST"]; - var corsSafeListedMethodsSet = new Set(corsSafeListedMethods); - var nullBodyStatus = [101, 204, 205, 304]; - var redirectStatus = [301, 302, 303, 307, 308]; - var redirectStatusSet = new Set(redirectStatus); - var badPorts = [ - "1", - "7", - "9", - "11", - "13", - "15", - "17", - "19", - "20", - "21", - "22", - "23", - "25", - "37", - "42", - "43", - "53", - "69", - "77", - "79", - "87", - "95", - "101", - "102", - "103", - "104", - "109", - "110", - "111", - "113", - "115", - "117", - "119", - "123", - "135", - "137", - "139", - "143", - "161", - "179", - "389", - "427", - "465", - "512", - "513", - "514", - "515", - "526", - "530", - "531", - "532", - "540", - "548", - "554", - "556", - "563", - "587", - "601", - "636", - "989", - "990", - "993", - "995", - "1719", - "1720", - "1723", - "2049", - "3659", - "4045", - "5060", - "5061", - "6000", - "6566", - "6665", - "6666", - "6667", - "6668", - "6669", - "6697", - "10080" - ]; - var badPortsSet = new Set(badPorts); - var referrerPolicy = [ - "", - "no-referrer", - "no-referrer-when-downgrade", - "same-origin", - "origin", - "strict-origin", - "origin-when-cross-origin", - "strict-origin-when-cross-origin", - "unsafe-url" - ]; - var referrerPolicySet = new Set(referrerPolicy); - var requestRedirect = ["follow", "manual", "error"]; - var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"]; - var safeMethodsSet = new Set(safeMethods); - var requestMode = ["navigate", "same-origin", "no-cors", "cors"]; - var requestCredentials = ["omit", "same-origin", "include"]; - var requestCache = [ - "default", - "no-store", - "reload", - "no-cache", - "force-cache", - "only-if-cached" - ]; - var requestBodyHeader = [ - "content-encoding", - "content-language", - "content-location", - "content-type", - // See https://github.com/nodejs/undici/issues/2021 - // 'Content-Length' is a forbidden header name, which is typically - // removed in the Headers implementation. However, undici doesn't - // filter out headers, so we add it here. - "content-length" - ]; - var requestDuplex = [ - "half" - ]; - var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"]; - var forbiddenMethodsSet = new Set(forbiddenMethods); - var subresource = [ - "audio", - "audioworklet", - "font", - "image", - "manifest", - "paintworklet", - "script", - "style", - "track", - "video", - "xslt", - "" - ]; - var subresourceSet = new Set(subresource); - var DOMException2 = globalThis.DOMException ?? (() => { - try { - atob("~"); - } catch (err) { - return Object.getPrototypeOf(err).constructor; - } - })(); - var channel; - var structuredClone = globalThis.structuredClone ?? // https://github.com/nodejs/node/blob/b27ae24dcc4251bad726d9d84baf678d1f707fed/lib/internal/structured_clone.js - // structuredClone was added in v17.0.0, but fetch supports v16.8 - function structuredClone2(value, options = void 0) { - if (arguments.length === 0) { - throw new TypeError("missing argument"); - } - if (!channel) { - channel = new MessageChannel(); - } - channel.port1.unref(); - channel.port2.unref(); - channel.port1.postMessage(value, options?.transfer); - return receiveMessageOnPort(channel.port2).message; - }; - module2.exports = { - DOMException: DOMException2, - structuredClone, - subresource, - forbiddenMethods, - requestBodyHeader, - referrerPolicy, - requestRedirect, - requestMode, - requestCredentials, - requestCache, - redirectStatus, - corsSafeListedMethods, - nullBodyStatus, - safeMethods, - badPorts, - requestDuplex, - subresourceSet, - badPortsSet, - redirectStatusSet, - corsSafeListedMethodsSet, - safeMethodsSet, - forbiddenMethodsSet, - referrerPolicySet - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/global.js -var require_global = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/global.js"(exports2, module2) { - "use strict"; - var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1"); - function getGlobalOrigin() { - return globalThis[globalOrigin]; - } - function setGlobalOrigin(newOrigin) { - if (newOrigin === void 0) { - Object.defineProperty(globalThis, globalOrigin, { - value: void 0, - writable: true, - enumerable: false, - configurable: false - }); - return; - } - const parsedURL = new URL(newOrigin); - if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") { - throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`); - } - Object.defineProperty(globalThis, globalOrigin, { - value: parsedURL, - writable: true, - enumerable: false, - configurable: false - }); - } - module2.exports = { - getGlobalOrigin, - setGlobalOrigin - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/util.js -var require_util2 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/util.js"(exports2, module2) { - "use strict"; - var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants2(); - var { getGlobalOrigin } = require_global(); - var { performance: performance2 } = require("perf_hooks"); - var { isBlobLike, toUSVString, ReadableStreamFrom } = require_util(); - var assert = require("assert"); - var { isUint8Array } = require("util/types"); - var supportedHashes = []; - var crypto2; - try { - crypto2 = require("crypto"); - const possibleRelevantHashes = ["sha256", "sha384", "sha512"]; - supportedHashes = crypto2.getHashes().filter((hash) => possibleRelevantHashes.includes(hash)); - } catch { - } - function responseURL(response) { - const urlList = response.urlList; - const length = urlList.length; - return length === 0 ? null : urlList[length - 1].toString(); - } - function responseLocationURL(response, requestFragment) { - if (!redirectStatusSet.has(response.status)) { - return null; - } - let location = response.headersList.get("location"); - if (location !== null && isValidHeaderValue(location)) { - location = new URL(location, responseURL(response)); - } - if (location && !location.hash) { - location.hash = requestFragment; - } - return location; - } - function requestCurrentURL(request) { - return request.urlList[request.urlList.length - 1]; - } - function requestBadPort(request) { - const url = requestCurrentURL(request); - if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) { - return "blocked"; - } - return "allowed"; - } - function isErrorLike(object) { - return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException"); - } - function isValidReasonPhrase(statusText) { - for (let i7 = 0; i7 < statusText.length; ++i7) { - const c6 = statusText.charCodeAt(i7); - if (!(c6 === 9 || // HTAB - c6 >= 32 && c6 <= 126 || // SP / VCHAR - c6 >= 128 && c6 <= 255)) { - return false; - } - } - return true; - } - function isTokenCharCode(c6) { - switch (c6) { - case 34: - case 40: - case 41: - case 44: - case 47: - case 58: - case 59: - case 60: - case 61: - case 62: - case 63: - case 64: - case 91: - case 92: - case 93: - case 123: - case 125: - return false; - default: - return c6 >= 33 && c6 <= 126; - } - } - function isValidHTTPToken(characters) { - if (characters.length === 0) { - return false; - } - for (let i7 = 0; i7 < characters.length; ++i7) { - if (!isTokenCharCode(characters.charCodeAt(i7))) { - return false; - } - } - return true; - } - function isValidHeaderName(potentialValue) { - return isValidHTTPToken(potentialValue); - } - function isValidHeaderValue(potentialValue) { - if (potentialValue.startsWith(" ") || potentialValue.startsWith(" ") || potentialValue.endsWith(" ") || potentialValue.endsWith(" ")) { - return false; - } - if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) { - return false; - } - return true; - } - function setRequestReferrerPolicyOnRedirect(request, actualResponse) { - const { headersList } = actualResponse; - const policyHeader = (headersList.get("referrer-policy") ?? "").split(","); - let policy = ""; - if (policyHeader.length > 0) { - for (let i7 = policyHeader.length; i7 !== 0; i7--) { - const token = policyHeader[i7 - 1].trim(); - if (referrerPolicyTokens.has(token)) { - policy = token; - break; - } - } - } - if (policy !== "") { - request.referrerPolicy = policy; - } - } - function crossOriginResourcePolicyCheck() { - return "allowed"; - } - function corsCheck() { - return "success"; - } - function TAOCheck() { - return "success"; - } - function appendFetchMetadata(httpRequest) { - let header = null; - header = httpRequest.mode; - httpRequest.headersList.set("sec-fetch-mode", header); - } - function appendRequestOriginHeader(request) { - let serializedOrigin = request.origin; - if (request.responseTainting === "cors" || request.mode === "websocket") { - if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin); - } - } else if (request.method !== "GET" && request.method !== "HEAD") { - switch (request.referrerPolicy) { - case "no-referrer": - serializedOrigin = null; - break; - case "no-referrer-when-downgrade": - case "strict-origin": - case "strict-origin-when-cross-origin": - if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) { - serializedOrigin = null; - } - break; - case "same-origin": - if (!sameOrigin(request, requestCurrentURL(request))) { - serializedOrigin = null; - } - break; - default: - } - if (serializedOrigin) { - request.headersList.append("origin", serializedOrigin); - } - } - } - function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) { - return performance2.now(); - } - function createOpaqueTimingInfo(timingInfo) { - return { - startTime: timingInfo.startTime ?? 0, - redirectStartTime: 0, - redirectEndTime: 0, - postRedirectStartTime: timingInfo.startTime ?? 0, - finalServiceWorkerStartTime: 0, - finalNetworkResponseStartTime: 0, - finalNetworkRequestStartTime: 0, - endTime: 0, - encodedBodySize: 0, - decodedBodySize: 0, - finalConnectionTimingInfo: null - }; - } - function makePolicyContainer() { - return { - referrerPolicy: "strict-origin-when-cross-origin" - }; - } - function clonePolicyContainer(policyContainer) { - return { - referrerPolicy: policyContainer.referrerPolicy - }; - } - function determineRequestsReferrer(request) { - const policy = request.referrerPolicy; - assert(policy); - let referrerSource = null; - if (request.referrer === "client") { - const globalOrigin = getGlobalOrigin(); - if (!globalOrigin || globalOrigin.origin === "null") { - return "no-referrer"; - } - referrerSource = new URL(globalOrigin); - } else if (request.referrer instanceof URL) { - referrerSource = request.referrer; - } - let referrerURL = stripURLForReferrer(referrerSource); - const referrerOrigin = stripURLForReferrer(referrerSource, true); - if (referrerURL.toString().length > 4096) { - referrerURL = referrerOrigin; - } - const areSameOrigin = sameOrigin(request, referrerURL); - const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request.url); - switch (policy) { - case "origin": - return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true); - case "unsafe-url": - return referrerURL; - case "same-origin": - return areSameOrigin ? referrerOrigin : "no-referrer"; - case "origin-when-cross-origin": - return areSameOrigin ? referrerURL : referrerOrigin; - case "strict-origin-when-cross-origin": { - const currentURL = requestCurrentURL(request); - if (sameOrigin(referrerURL, currentURL)) { - return referrerURL; - } - if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) { - return "no-referrer"; - } - return referrerOrigin; - } - case "strict-origin": - // eslint-disable-line - /** - * 1. If referrerURL is a potentially trustworthy URL and - * request’s current URL is not a potentially trustworthy URL, - * then return no referrer. - * 2. Return referrerOrigin - */ - case "no-referrer-when-downgrade": - // eslint-disable-line - /** - * 1. If referrerURL is a potentially trustworthy URL and - * request’s current URL is not a potentially trustworthy URL, - * then return no referrer. - * 2. Return referrerOrigin - */ - default: - return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin; - } - } - function stripURLForReferrer(url, originOnly) { - assert(url instanceof URL); - if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") { - return "no-referrer"; - } - url.username = ""; - url.password = ""; - url.hash = ""; - if (originOnly) { - url.pathname = ""; - url.search = ""; - } - return url; - } - function isURLPotentiallyTrustworthy(url) { - if (!(url instanceof URL)) { - return false; - } - if (url.href === "about:blank" || url.href === "about:srcdoc") { - return true; - } - if (url.protocol === "data:") return true; - if (url.protocol === "file:") return true; - return isOriginPotentiallyTrustworthy(url.origin); - function isOriginPotentiallyTrustworthy(origin) { - if (origin == null || origin === "null") return false; - const originAsURL = new URL(origin); - if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") { - return true; - } - if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) { - return true; - } - return false; - } - } - function bytesMatch(bytes, metadataList) { - if (crypto2 === void 0) { - return true; - } - const parsedMetadata = parseMetadata(metadataList); - if (parsedMetadata === "no metadata") { - return true; - } - if (parsedMetadata.length === 0) { - return true; - } - const strongest = getStrongestMetadata(parsedMetadata); - const metadata = filterMetadataListByAlgorithm(parsedMetadata, strongest); - for (const item of metadata) { - const algorithm = item.algo; - const expectedValue = item.hash; - let actualValue = crypto2.createHash(algorithm).update(bytes).digest("base64"); - if (actualValue[actualValue.length - 1] === "=") { - if (actualValue[actualValue.length - 2] === "=") { - actualValue = actualValue.slice(0, -2); - } else { - actualValue = actualValue.slice(0, -1); - } - } - if (compareBase64Mixed(actualValue, expectedValue)) { - return true; - } - } - return false; - } - var parseHashWithOptions = /(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i; - function parseMetadata(metadata) { - const result = []; - let empty = true; - for (const token of metadata.split(" ")) { - empty = false; - const parsedToken = parseHashWithOptions.exec(token); - if (parsedToken === null || parsedToken.groups === void 0 || parsedToken.groups.algo === void 0) { - continue; - } - const algorithm = parsedToken.groups.algo.toLowerCase(); - if (supportedHashes.includes(algorithm)) { - result.push(parsedToken.groups); - } - } - if (empty === true) { - return "no metadata"; - } - return result; - } - function getStrongestMetadata(metadataList) { - let algorithm = metadataList[0].algo; - if (algorithm[3] === "5") { - return algorithm; - } - for (let i7 = 1; i7 < metadataList.length; ++i7) { - const metadata = metadataList[i7]; - if (metadata.algo[3] === "5") { - algorithm = "sha512"; - break; - } else if (algorithm[3] === "3") { - continue; - } else if (metadata.algo[3] === "3") { - algorithm = "sha384"; - } - } - return algorithm; - } - function filterMetadataListByAlgorithm(metadataList, algorithm) { - if (metadataList.length === 1) { - return metadataList; - } - let pos = 0; - for (let i7 = 0; i7 < metadataList.length; ++i7) { - if (metadataList[i7].algo === algorithm) { - metadataList[pos++] = metadataList[i7]; - } - } - metadataList.length = pos; - return metadataList; - } - function compareBase64Mixed(actualValue, expectedValue) { - if (actualValue.length !== expectedValue.length) { - return false; - } - for (let i7 = 0; i7 < actualValue.length; ++i7) { - if (actualValue[i7] !== expectedValue[i7]) { - if (actualValue[i7] === "+" && expectedValue[i7] === "-" || actualValue[i7] === "/" && expectedValue[i7] === "_") { - continue; - } - return false; - } - } - return true; - } - function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) { - } - function sameOrigin(A10, B6) { - if (A10.origin === B6.origin && A10.origin === "null") { - return true; - } - if (A10.protocol === B6.protocol && A10.hostname === B6.hostname && A10.port === B6.port) { - return true; - } - return false; - } - function createDeferredPromise() { - let res; - let rej; - const promise = new Promise((resolve4, reject) => { - res = resolve4; - rej = reject; - }); - return { promise, resolve: res, reject: rej }; - } - function isAborted(fetchParams) { - return fetchParams.controller.state === "aborted"; - } - function isCancelled(fetchParams) { - return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated"; - } - var normalizeMethodRecord = { - delete: "DELETE", - DELETE: "DELETE", - get: "GET", - GET: "GET", - head: "HEAD", - HEAD: "HEAD", - options: "OPTIONS", - OPTIONS: "OPTIONS", - post: "POST", - POST: "POST", - put: "PUT", - PUT: "PUT" - }; - Object.setPrototypeOf(normalizeMethodRecord, null); - function normalizeMethod(method) { - return normalizeMethodRecord[method.toLowerCase()] ?? method; - } - function serializeJavascriptValueToJSONString(value) { - const result = JSON.stringify(value); - if (result === void 0) { - throw new TypeError("Value is not JSON serializable"); - } - assert(typeof result === "string"); - return result; - } - var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())); - function makeIterator(iterator, name, kind) { - const object = { - index: 0, - kind, - target: iterator - }; - const i7 = { - next() { - if (Object.getPrototypeOf(this) !== i7) { - throw new TypeError( - `'next' called on an object that does not implement interface ${name} Iterator.` - ); - } - const { index, kind: kind2, target } = object; - const values = target(); - const len = values.length; - if (index >= len) { - return { value: void 0, done: true }; - } - const pair = values[index]; - object.index = index + 1; - return iteratorResult(pair, kind2); - }, - // The class string of an iterator prototype object for a given interface is the - // result of concatenating the identifier of the interface and the string " Iterator". - [Symbol.toStringTag]: `${name} Iterator` - }; - Object.setPrototypeOf(i7, esIteratorPrototype); - return Object.setPrototypeOf({}, i7); - } - function iteratorResult(pair, kind) { - let result; - switch (kind) { - case "key": { - result = pair[0]; - break; - } - case "value": { - result = pair[1]; - break; - } - case "key+value": { - result = pair; - break; - } - } - return { value: result, done: false }; - } - async function fullyReadBody(body, processBody, processBodyError) { - const successSteps = processBody; - const errorSteps = processBodyError; - let reader; - try { - reader = body.stream.getReader(); - } catch (e6) { - errorSteps(e6); - return; - } - try { - const result = await readAllBytes(reader); - successSteps(result); - } catch (e6) { - errorSteps(e6); - } - } - var ReadableStream2 = globalThis.ReadableStream; - function isReadableStreamLike(stream) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - return stream instanceof ReadableStream2 || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function"; - } - var MAXIMUM_ARGUMENT_LENGTH = 65535; - function isomorphicDecode(input) { - if (input.length < MAXIMUM_ARGUMENT_LENGTH) { - return String.fromCharCode(...input); - } - return input.reduce((previous, current) => previous + String.fromCharCode(current), ""); - } - function readableStreamClose(controller) { - try { - controller.close(); - } catch (err) { - if (!err.message.includes("Controller is already closed")) { - throw err; - } - } - } - function isomorphicEncode(input) { - for (let i7 = 0; i7 < input.length; i7++) { - assert(input.charCodeAt(i7) <= 255); - } - return input; - } - async function readAllBytes(reader) { - const bytes = []; - let byteLength = 0; - while (true) { - const { done, value: chunk } = await reader.read(); - if (done) { - return Buffer.concat(bytes, byteLength); - } - if (!isUint8Array(chunk)) { - throw new TypeError("Received non-Uint8Array chunk"); - } - bytes.push(chunk); - byteLength += chunk.length; - } - } - function urlIsLocal(url) { - assert("protocol" in url); - const protocol = url.protocol; - return protocol === "about:" || protocol === "blob:" || protocol === "data:"; - } - function urlHasHttpsScheme(url) { - if (typeof url === "string") { - return url.startsWith("https:"); - } - return url.protocol === "https:"; - } - function urlIsHttpHttpsScheme(url) { - assert("protocol" in url); - const protocol = url.protocol; - return protocol === "http:" || protocol === "https:"; - } - var hasOwn = Object.hasOwn || ((dict, key) => Object.prototype.hasOwnProperty.call(dict, key)); - module2.exports = { - isAborted, - isCancelled, - createDeferredPromise, - ReadableStreamFrom, - toUSVString, - tryUpgradeRequestToAPotentiallyTrustworthyURL, - coarsenedSharedCurrentTime, - determineRequestsReferrer, - makePolicyContainer, - clonePolicyContainer, - appendFetchMetadata, - appendRequestOriginHeader, - TAOCheck, - corsCheck, - crossOriginResourcePolicyCheck, - createOpaqueTimingInfo, - setRequestReferrerPolicyOnRedirect, - isValidHTTPToken, - requestBadPort, - requestCurrentURL, - responseURL, - responseLocationURL, - isBlobLike, - isURLPotentiallyTrustworthy, - isValidReasonPhrase, - sameOrigin, - normalizeMethod, - serializeJavascriptValueToJSONString, - makeIterator, - isValidHeaderName, - isValidHeaderValue, - hasOwn, - isErrorLike, - fullyReadBody, - bytesMatch, - isReadableStreamLike, - readableStreamClose, - isomorphicEncode, - isomorphicDecode, - urlIsLocal, - urlHasHttpsScheme, - urlIsHttpHttpsScheme, - readAllBytes, - normalizeMethodRecord, - parseMetadata - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/symbols.js -var require_symbols2 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kUrl: /* @__PURE__ */ Symbol("url"), - kHeaders: /* @__PURE__ */ Symbol("headers"), - kSignal: /* @__PURE__ */ Symbol("signal"), - kState: /* @__PURE__ */ Symbol("state"), - kGuard: /* @__PURE__ */ Symbol("guard"), - kRealm: /* @__PURE__ */ Symbol("realm") - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/webidl.js -var require_webidl = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/webidl.js"(exports2, module2) { - "use strict"; - var { types } = require("util"); - var { hasOwn, toUSVString } = require_util2(); - var webidl = {}; - webidl.converters = {}; - webidl.util = {}; - webidl.errors = {}; - webidl.errors.exception = function(message) { - return new TypeError(`${message.header}: ${message.message}`); - }; - webidl.errors.conversionFailed = function(context) { - const plural = context.types.length === 1 ? "" : " one of"; - const message = `${context.argument} could not be converted to${plural}: ${context.types.join(", ")}.`; - return webidl.errors.exception({ - header: context.prefix, - message - }); - }; - webidl.errors.invalidArgument = function(context) { - return webidl.errors.exception({ - header: context.prefix, - message: `"${context.value}" is an invalid ${context.type}.` - }); - }; - webidl.brandCheck = function(V4, I10, opts = void 0) { - if (opts?.strict !== false && !(V4 instanceof I10)) { - throw new TypeError("Illegal invocation"); - } else { - return V4?.[Symbol.toStringTag] === I10.prototype[Symbol.toStringTag]; - } - }; - webidl.argumentLengthCheck = function({ length }, min, ctx) { - if (length < min) { - throw webidl.errors.exception({ - message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`, - ...ctx - }); - } - }; - webidl.illegalConstructor = function() { - throw webidl.errors.exception({ - header: "TypeError", - message: "Illegal constructor" - }); - }; - webidl.util.Type = function(V4) { - switch (typeof V4) { - case "undefined": - return "Undefined"; - case "boolean": - return "Boolean"; - case "string": - return "String"; - case "symbol": - return "Symbol"; - case "number": - return "Number"; - case "bigint": - return "BigInt"; - case "function": - case "object": { - if (V4 === null) { - return "Null"; - } - return "Object"; - } - } - }; - webidl.util.ConvertToInt = function(V4, bitLength, signedness, opts = {}) { - let upperBound; - let lowerBound; - if (bitLength === 64) { - upperBound = Math.pow(2, 53) - 1; - if (signedness === "unsigned") { - lowerBound = 0; - } else { - lowerBound = Math.pow(-2, 53) + 1; - } - } else if (signedness === "unsigned") { - lowerBound = 0; - upperBound = Math.pow(2, bitLength) - 1; - } else { - lowerBound = Math.pow(-2, bitLength) - 1; - upperBound = Math.pow(2, bitLength - 1) - 1; - } - let x10 = Number(V4); - if (x10 === 0) { - x10 = 0; - } - if (opts.enforceRange === true) { - if (Number.isNaN(x10) || x10 === Number.POSITIVE_INFINITY || x10 === Number.NEGATIVE_INFINITY) { - throw webidl.errors.exception({ - header: "Integer conversion", - message: `Could not convert ${V4} to an integer.` - }); - } - x10 = webidl.util.IntegerPart(x10); - if (x10 < lowerBound || x10 > upperBound) { - throw webidl.errors.exception({ - header: "Integer conversion", - message: `Value must be between ${lowerBound}-${upperBound}, got ${x10}.` - }); - } - return x10; - } - if (!Number.isNaN(x10) && opts.clamp === true) { - x10 = Math.min(Math.max(x10, lowerBound), upperBound); - if (Math.floor(x10) % 2 === 0) { - x10 = Math.floor(x10); - } else { - x10 = Math.ceil(x10); - } - return x10; - } - if (Number.isNaN(x10) || x10 === 0 && Object.is(0, x10) || x10 === Number.POSITIVE_INFINITY || x10 === Number.NEGATIVE_INFINITY) { - return 0; - } - x10 = webidl.util.IntegerPart(x10); - x10 = x10 % Math.pow(2, bitLength); - if (signedness === "signed" && x10 >= Math.pow(2, bitLength) - 1) { - return x10 - Math.pow(2, bitLength); - } - return x10; - }; - webidl.util.IntegerPart = function(n6) { - const r6 = Math.floor(Math.abs(n6)); - if (n6 < 0) { - return -1 * r6; - } - return r6; - }; - webidl.sequenceConverter = function(converter) { - return (V4) => { - if (webidl.util.Type(V4) !== "Object") { - throw webidl.errors.exception({ - header: "Sequence", - message: `Value of type ${webidl.util.Type(V4)} is not an Object.` - }); - } - const method = V4?.[Symbol.iterator]?.(); - const seq = []; - if (method === void 0 || typeof method.next !== "function") { - throw webidl.errors.exception({ - header: "Sequence", - message: "Object is not an iterator." - }); - } - while (true) { - const { done, value } = method.next(); - if (done) { - break; - } - seq.push(converter(value)); - } - return seq; - }; - }; - webidl.recordConverter = function(keyConverter, valueConverter) { - return (O8) => { - if (webidl.util.Type(O8) !== "Object") { - throw webidl.errors.exception({ - header: "Record", - message: `Value of type ${webidl.util.Type(O8)} is not an Object.` - }); - } - const result = {}; - if (!types.isProxy(O8)) { - const keys2 = Object.keys(O8); - for (const key of keys2) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O8[key]); - result[typedKey] = typedValue; - } - return result; - } - const keys = Reflect.ownKeys(O8); - for (const key of keys) { - const desc = Reflect.getOwnPropertyDescriptor(O8, key); - if (desc?.enumerable) { - const typedKey = keyConverter(key); - const typedValue = valueConverter(O8[key]); - result[typedKey] = typedValue; - } - } - return result; - }; - }; - webidl.interfaceConverter = function(i7) { - return (V4, opts = {}) => { - if (opts.strict !== false && !(V4 instanceof i7)) { - throw webidl.errors.exception({ - header: i7.name, - message: `Expected ${V4} to be an instance of ${i7.name}.` - }); - } - return V4; - }; - }; - webidl.dictionaryConverter = function(converters) { - return (dictionary) => { - const type = webidl.util.Type(dictionary); - const dict = {}; - if (type === "Null" || type === "Undefined") { - return dict; - } else if (type !== "Object") { - throw webidl.errors.exception({ - header: "Dictionary", - message: `Expected ${dictionary} to be one of: Null, Undefined, Object.` - }); - } - for (const options of converters) { - const { key, defaultValue, required, converter } = options; - if (required === true) { - if (!hasOwn(dictionary, key)) { - throw webidl.errors.exception({ - header: "Dictionary", - message: `Missing required key "${key}".` - }); - } - } - let value = dictionary[key]; - const hasDefault = hasOwn(options, "defaultValue"); - if (hasDefault && value !== null) { - value = value ?? defaultValue; - } - if (required || hasDefault || value !== void 0) { - value = converter(value); - if (options.allowedValues && !options.allowedValues.includes(value)) { - throw webidl.errors.exception({ - header: "Dictionary", - message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.` - }); - } - dict[key] = value; - } - } - return dict; - }; - }; - webidl.nullableConverter = function(converter) { - return (V4) => { - if (V4 === null) { - return V4; - } - return converter(V4); - }; - }; - webidl.converters.DOMString = function(V4, opts = {}) { - if (V4 === null && opts.legacyNullToEmptyString) { - return ""; - } - if (typeof V4 === "symbol") { - throw new TypeError("Could not convert argument of type symbol to string."); - } - return String(V4); - }; - webidl.converters.ByteString = function(V4) { - const x10 = webidl.converters.DOMString(V4); - for (let index = 0; index < x10.length; index++) { - if (x10.charCodeAt(index) > 255) { - throw new TypeError( - `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x10.charCodeAt(index)} which is greater than 255.` - ); - } - } - return x10; - }; - webidl.converters.USVString = toUSVString; - webidl.converters.boolean = function(V4) { - const x10 = Boolean(V4); - return x10; - }; - webidl.converters.any = function(V4) { - return V4; - }; - webidl.converters["long long"] = function(V4) { - const x10 = webidl.util.ConvertToInt(V4, 64, "signed"); - return x10; - }; - webidl.converters["unsigned long long"] = function(V4) { - const x10 = webidl.util.ConvertToInt(V4, 64, "unsigned"); - return x10; - }; - webidl.converters["unsigned long"] = function(V4) { - const x10 = webidl.util.ConvertToInt(V4, 32, "unsigned"); - return x10; - }; - webidl.converters["unsigned short"] = function(V4, opts) { - const x10 = webidl.util.ConvertToInt(V4, 16, "unsigned", opts); - return x10; - }; - webidl.converters.ArrayBuffer = function(V4, opts = {}) { - if (webidl.util.Type(V4) !== "Object" || !types.isAnyArrayBuffer(V4)) { - throw webidl.errors.conversionFailed({ - prefix: `${V4}`, - argument: `${V4}`, - types: ["ArrayBuffer"] - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V4)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V4; - }; - webidl.converters.TypedArray = function(V4, T7, opts = {}) { - if (webidl.util.Type(V4) !== "Object" || !types.isTypedArray(V4) || V4.constructor.name !== T7.name) { - throw webidl.errors.conversionFailed({ - prefix: `${T7.name}`, - argument: `${V4}`, - types: [T7.name] - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V4.buffer)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V4; - }; - webidl.converters.DataView = function(V4, opts = {}) { - if (webidl.util.Type(V4) !== "Object" || !types.isDataView(V4)) { - throw webidl.errors.exception({ - header: "DataView", - message: "Object is not a DataView." - }); - } - if (opts.allowShared === false && types.isSharedArrayBuffer(V4.buffer)) { - throw webidl.errors.exception({ - header: "ArrayBuffer", - message: "SharedArrayBuffer is not allowed." - }); - } - return V4; - }; - webidl.converters.BufferSource = function(V4, opts = {}) { - if (types.isAnyArrayBuffer(V4)) { - return webidl.converters.ArrayBuffer(V4, opts); - } - if (types.isTypedArray(V4)) { - return webidl.converters.TypedArray(V4, V4.constructor); - } - if (types.isDataView(V4)) { - return webidl.converters.DataView(V4, opts); - } - throw new TypeError(`Could not convert ${V4} to a BufferSource.`); - }; - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.ByteString - ); - webidl.converters["sequence>"] = webidl.sequenceConverter( - webidl.converters["sequence"] - ); - webidl.converters["record"] = webidl.recordConverter( - webidl.converters.ByteString, - webidl.converters.ByteString - ); - module2.exports = { - webidl - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/dataURL.js -var require_dataURL = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/dataURL.js"(exports2, module2) { - var assert = require("assert"); - var { atob: atob2 } = require("buffer"); - var { isomorphicDecode } = require_util2(); - var encoder = new TextEncoder(); - var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/; - var HTTP_WHITESPACE_REGEX = /(\u000A|\u000D|\u0009|\u0020)/; - var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/; - function dataURLProcessor(dataURL) { - assert(dataURL.protocol === "data:"); - let input = URLSerializer(dataURL, true); - input = input.slice(5); - const position = { position: 0 }; - let mimeType = collectASequenceOfCodePointsFast( - ",", - input, - position - ); - const mimeTypeLength = mimeType.length; - mimeType = removeASCIIWhitespace(mimeType, true, true); - if (position.position >= input.length) { - return "failure"; - } - position.position++; - const encodedBody = input.slice(mimeTypeLength + 1); - let body = stringPercentDecode(encodedBody); - if (/;(\u0020){0,}base64$/i.test(mimeType)) { - const stringBody = isomorphicDecode(body); - body = forgivingBase64(stringBody); - if (body === "failure") { - return "failure"; - } - mimeType = mimeType.slice(0, -6); - mimeType = mimeType.replace(/(\u0020)+$/, ""); - mimeType = mimeType.slice(0, -1); - } - if (mimeType.startsWith(";")) { - mimeType = "text/plain" + mimeType; - } - let mimeTypeRecord = parseMIMEType(mimeType); - if (mimeTypeRecord === "failure") { - mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII"); - } - return { mimeType: mimeTypeRecord, body }; - } - function URLSerializer(url, excludeFragment = false) { - if (!excludeFragment) { - return url.href; - } - const href = url.href; - const hashLength = url.hash.length; - return hashLength === 0 ? href : href.substring(0, href.length - hashLength); - } - function collectASequenceOfCodePoints(condition, input, position) { - let result = ""; - while (position.position < input.length && condition(input[position.position])) { - result += input[position.position]; - position.position++; - } - return result; - } - function collectASequenceOfCodePointsFast(char, input, position) { - const idx = input.indexOf(char, position.position); - const start = position.position; - if (idx === -1) { - position.position = input.length; - return input.slice(start); - } - position.position = idx; - return input.slice(start, position.position); - } - function stringPercentDecode(input) { - const bytes = encoder.encode(input); - return percentDecode(bytes); - } - function percentDecode(input) { - const output = []; - for (let i7 = 0; i7 < input.length; i7++) { - const byte = input[i7]; - if (byte !== 37) { - output.push(byte); - } else if (byte === 37 && !/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(input[i7 + 1], input[i7 + 2]))) { - output.push(37); - } else { - const nextTwoBytes = String.fromCharCode(input[i7 + 1], input[i7 + 2]); - const bytePoint = Number.parseInt(nextTwoBytes, 16); - output.push(bytePoint); - i7 += 2; - } - } - return Uint8Array.from(output); - } - function parseMIMEType(input) { - input = removeHTTPWhitespace(input, true, true); - const position = { position: 0 }; - const type = collectASequenceOfCodePointsFast( - "/", - input, - position - ); - if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) { - return "failure"; - } - if (position.position > input.length) { - return "failure"; - } - position.position++; - let subtype = collectASequenceOfCodePointsFast( - ";", - input, - position - ); - subtype = removeHTTPWhitespace(subtype, false, true); - if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) { - return "failure"; - } - const typeLowercase = type.toLowerCase(); - const subtypeLowercase = subtype.toLowerCase(); - const mimeType = { - type: typeLowercase, - subtype: subtypeLowercase, - /** @type {Map} */ - parameters: /* @__PURE__ */ new Map(), - // https://mimesniff.spec.whatwg.org/#mime-type-essence - essence: `${typeLowercase}/${subtypeLowercase}` - }; - while (position.position < input.length) { - position.position++; - collectASequenceOfCodePoints( - // https://fetch.spec.whatwg.org/#http-whitespace - (char) => HTTP_WHITESPACE_REGEX.test(char), - input, - position - ); - let parameterName = collectASequenceOfCodePoints( - (char) => char !== ";" && char !== "=", - input, - position - ); - parameterName = parameterName.toLowerCase(); - if (position.position < input.length) { - if (input[position.position] === ";") { - continue; - } - position.position++; - } - if (position.position > input.length) { - break; - } - let parameterValue = null; - if (input[position.position] === '"') { - parameterValue = collectAnHTTPQuotedString(input, position, true); - collectASequenceOfCodePointsFast( - ";", - input, - position - ); - } else { - parameterValue = collectASequenceOfCodePointsFast( - ";", - input, - position - ); - parameterValue = removeHTTPWhitespace(parameterValue, false, true); - if (parameterValue.length === 0) { - continue; - } - } - if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) { - mimeType.parameters.set(parameterName, parameterValue); - } - } - return mimeType; - } - function forgivingBase64(data) { - data = data.replace(/[\u0009\u000A\u000C\u000D\u0020]/g, ""); - if (data.length % 4 === 0) { - data = data.replace(/=?=$/, ""); - } - if (data.length % 4 === 1) { - return "failure"; - } - if (/[^+/0-9A-Za-z]/.test(data)) { - return "failure"; - } - const binary = atob2(data); - const bytes = new Uint8Array(binary.length); - for (let byte = 0; byte < binary.length; byte++) { - bytes[byte] = binary.charCodeAt(byte); - } - return bytes; - } - function collectAnHTTPQuotedString(input, position, extractValue) { - const positionStart = position.position; - let value = ""; - assert(input[position.position] === '"'); - position.position++; - while (true) { - value += collectASequenceOfCodePoints( - (char) => char !== '"' && char !== "\\", - input, - position - ); - if (position.position >= input.length) { - break; - } - const quoteOrBackslash = input[position.position]; - position.position++; - if (quoteOrBackslash === "\\") { - if (position.position >= input.length) { - value += "\\"; - break; - } - value += input[position.position]; - position.position++; - } else { - assert(quoteOrBackslash === '"'); - break; - } - } - if (extractValue) { - return value; - } - return input.slice(positionStart, position.position); - } - function serializeAMimeType(mimeType) { - assert(mimeType !== "failure"); - const { parameters, essence } = mimeType; - let serialization = essence; - for (let [name, value] of parameters.entries()) { - serialization += ";"; - serialization += name; - serialization += "="; - if (!HTTP_TOKEN_CODEPOINTS.test(value)) { - value = value.replace(/(\\|")/g, "\\$1"); - value = '"' + value; - value += '"'; - } - serialization += value; - } - return serialization; - } - function isHTTPWhiteSpace(char) { - return char === "\r" || char === "\n" || char === " " || char === " "; - } - function removeHTTPWhitespace(str, leading = true, trailing = true) { - let lead = 0; - let trail = str.length - 1; - if (leading) { - for (; lead < str.length && isHTTPWhiteSpace(str[lead]); lead++) ; - } - if (trailing) { - for (; trail > 0 && isHTTPWhiteSpace(str[trail]); trail--) ; - } - return str.slice(lead, trail + 1); - } - function isASCIIWhitespace(char) { - return char === "\r" || char === "\n" || char === " " || char === "\f" || char === " "; - } - function removeASCIIWhitespace(str, leading = true, trailing = true) { - let lead = 0; - let trail = str.length - 1; - if (leading) { - for (; lead < str.length && isASCIIWhitespace(str[lead]); lead++) ; - } - if (trailing) { - for (; trail > 0 && isASCIIWhitespace(str[trail]); trail--) ; - } - return str.slice(lead, trail + 1); - } - module2.exports = { - dataURLProcessor, - URLSerializer, - collectASequenceOfCodePoints, - collectASequenceOfCodePointsFast, - stringPercentDecode, - parseMIMEType, - collectAnHTTPQuotedString, - serializeAMimeType - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/file.js -var require_file = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/file.js"(exports2, module2) { - "use strict"; - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { types } = require("util"); - var { kState } = require_symbols2(); - var { isBlobLike } = require_util2(); - var { webidl } = require_webidl(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var { kEnumerableProperty } = require_util(); - var encoder = new TextEncoder(); - var File = class _File extends Blob2 { - constructor(fileBits, fileName, options = {}) { - webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" }); - fileBits = webidl.converters["sequence"](fileBits); - fileName = webidl.converters.USVString(fileName); - options = webidl.converters.FilePropertyBag(options); - const n6 = fileName; - let t5 = options.type; - let d5; - substep: { - if (t5) { - t5 = parseMIMEType(t5); - if (t5 === "failure") { - t5 = ""; - break substep; - } - t5 = serializeAMimeType(t5).toLowerCase(); - } - d5 = options.lastModified; - } - super(processBlobParts(fileBits, options), { type: t5 }); - this[kState] = { - name: n6, - lastModified: d5, - type: t5 - }; - } - get name() { - webidl.brandCheck(this, _File); - return this[kState].name; - } - get lastModified() { - webidl.brandCheck(this, _File); - return this[kState].lastModified; - } - get type() { - webidl.brandCheck(this, _File); - return this[kState].type; - } - }; - var FileLike = class _FileLike { - constructor(blobLike, fileName, options = {}) { - const n6 = fileName; - const t5 = options.type; - const d5 = options.lastModified ?? Date.now(); - this[kState] = { - blobLike, - name: n6, - type: t5, - lastModified: d5 - }; - } - stream(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.stream(...args); - } - arrayBuffer(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.arrayBuffer(...args); - } - slice(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.slice(...args); - } - text(...args) { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.text(...args); - } - get size() { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.size; - } - get type() { - webidl.brandCheck(this, _FileLike); - return this[kState].blobLike.type; - } - get name() { - webidl.brandCheck(this, _FileLike); - return this[kState].name; - } - get lastModified() { - webidl.brandCheck(this, _FileLike); - return this[kState].lastModified; - } - get [Symbol.toStringTag]() { - return "File"; - } - }; - Object.defineProperties(File.prototype, { - [Symbol.toStringTag]: { - value: "File", - configurable: true - }, - name: kEnumerableProperty, - lastModified: kEnumerableProperty - }); - webidl.converters.Blob = webidl.interfaceConverter(Blob2); - webidl.converters.BlobPart = function(V4, opts) { - if (webidl.util.Type(V4) === "Object") { - if (isBlobLike(V4)) { - return webidl.converters.Blob(V4, { strict: false }); - } - if (ArrayBuffer.isView(V4) || types.isAnyArrayBuffer(V4)) { - return webidl.converters.BufferSource(V4, opts); - } - } - return webidl.converters.USVString(V4, opts); - }; - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.BlobPart - ); - webidl.converters.FilePropertyBag = webidl.dictionaryConverter([ - { - key: "lastModified", - converter: webidl.converters["long long"], - get defaultValue() { - return Date.now(); - } - }, - { - key: "type", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "endings", - converter: (value) => { - value = webidl.converters.DOMString(value); - value = value.toLowerCase(); - if (value !== "native") { - value = "transparent"; - } - return value; - }, - defaultValue: "transparent" - } - ]); - function processBlobParts(parts, options) { - const bytes = []; - for (const element of parts) { - if (typeof element === "string") { - let s9 = element; - if (options.endings === "native") { - s9 = convertLineEndingsNative(s9); - } - bytes.push(encoder.encode(s9)); - } else if (types.isAnyArrayBuffer(element) || types.isTypedArray(element)) { - if (!element.buffer) { - bytes.push(new Uint8Array(element)); - } else { - bytes.push( - new Uint8Array(element.buffer, element.byteOffset, element.byteLength) - ); - } - } else if (isBlobLike(element)) { - bytes.push(element); - } - } - return bytes; - } - function convertLineEndingsNative(s9) { - let nativeLineEnding = "\n"; - if (process.platform === "win32") { - nativeLineEnding = "\r\n"; - } - return s9.replace(/\r?\n/g, nativeLineEnding); - } - function isFileLike(object) { - return NativeFile && object instanceof NativeFile || object instanceof File || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File"; - } - module2.exports = { File, FileLike, isFileLike }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/formdata.js -var require_formdata = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/formdata.js"(exports2, module2) { - "use strict"; - var { isBlobLike, toUSVString, makeIterator } = require_util2(); - var { kState } = require_symbols2(); - var { File: UndiciFile, FileLike, isFileLike } = require_file(); - var { webidl } = require_webidl(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var File = NativeFile ?? UndiciFile; - var FormData = class _FormData { - constructor(form) { - if (form !== void 0) { - throw webidl.errors.conversionFailed({ - prefix: "FormData constructor", - argument: "Argument 1", - types: ["undefined"] - }); - } - this[kState] = []; - } - append(name, value, filename = void 0) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" }); - if (arguments.length === 3 && !isBlobLike(value)) { - throw new TypeError( - "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'" - ); - } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0; - const entry = makeEntry(name, value, filename); - this[kState].push(entry); - } - delete(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" }); - name = webidl.converters.USVString(name); - this[kState] = this[kState].filter((entry) => entry.name !== name); - } - get(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" }); - name = webidl.converters.USVString(name); - const idx = this[kState].findIndex((entry) => entry.name === name); - if (idx === -1) { - return null; - } - return this[kState][idx].value; - } - getAll(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" }); - name = webidl.converters.USVString(name); - return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value); - } - has(name) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" }); - name = webidl.converters.USVString(name); - return this[kState].findIndex((entry) => entry.name === name) !== -1; - } - set(name, value, filename = void 0) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" }); - if (arguments.length === 3 && !isBlobLike(value)) { - throw new TypeError( - "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'" - ); - } - name = webidl.converters.USVString(name); - value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value); - filename = arguments.length === 3 ? toUSVString(filename) : void 0; - const entry = makeEntry(name, value, filename); - const idx = this[kState].findIndex((entry2) => entry2.name === name); - if (idx !== -1) { - this[kState] = [ - ...this[kState].slice(0, idx), - entry, - ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name) - ]; - } else { - this[kState].push(entry); - } - } - entries() { - webidl.brandCheck(this, _FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key+value" - ); - } - keys() { - webidl.brandCheck(this, _FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "key" - ); - } - values() { - webidl.brandCheck(this, _FormData); - return makeIterator( - () => this[kState].map((pair) => [pair.name, pair.value]), - "FormData", - "value" - ); - } - /** - * @param {(value: string, key: string, self: FormData) => void} callbackFn - * @param {unknown} thisArg - */ - forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, _FormData); - webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" }); - if (typeof callbackFn !== "function") { - throw new TypeError( - "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'." - ); - } - for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); - } - } - }; - FormData.prototype[Symbol.iterator] = FormData.prototype.entries; - Object.defineProperties(FormData.prototype, { - [Symbol.toStringTag]: { - value: "FormData", - configurable: true - } - }); - function makeEntry(name, value, filename) { - name = Buffer.from(name).toString("utf8"); - if (typeof value === "string") { - value = Buffer.from(value).toString("utf8"); - } else { - if (!isFileLike(value)) { - value = value instanceof Blob2 ? new File([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type }); - } - if (filename !== void 0) { - const options = { - type: value.type, - lastModified: value.lastModified - }; - value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File([value], filename, options) : new FileLike(value, filename, options); - } - } - return { name, value }; - } - module2.exports = { FormData }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/body.js -var require_body = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/body.js"(exports2, module2) { - "use strict"; - var Busboy = require_main(); - var util = require_util(); - var { - ReadableStreamFrom, - isBlobLike, - isReadableStreamLike, - readableStreamClose, - createDeferredPromise, - fullyReadBody - } = require_util2(); - var { FormData } = require_formdata(); - var { kState } = require_symbols2(); - var { webidl } = require_webidl(); - var { DOMException: DOMException2, structuredClone } = require_constants2(); - var { Blob: Blob2, File: NativeFile } = require("buffer"); - var { kBodyUsed } = require_symbols(); - var assert = require("assert"); - var { isErrored } = require_util(); - var { isUint8Array, isArrayBuffer } = require("util/types"); - var { File: UndiciFile } = require_file(); - var { parseMIMEType, serializeAMimeType } = require_dataURL(); - var random; - try { - const crypto2 = require("node:crypto"); - random = (max) => crypto2.randomInt(0, max); - } catch { - random = (max) => Math.floor(Math.random(max)); - } - var ReadableStream2 = globalThis.ReadableStream; - var File = NativeFile ?? UndiciFile; - var textEncoder = new TextEncoder(); - var textDecoder2 = new TextDecoder(); - function extractBody(object, keepalive = false) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - let stream = null; - if (object instanceof ReadableStream2) { - stream = object; - } else if (isBlobLike(object)) { - stream = object.stream(); - } else { - stream = new ReadableStream2({ - async pull(controller) { - controller.enqueue( - typeof source === "string" ? textEncoder.encode(source) : source - ); - queueMicrotask(() => readableStreamClose(controller)); - }, - start() { - }, - type: void 0 - }); - } - assert(isReadableStreamLike(stream)); - let action = null; - let source = null; - let length = null; - let type = null; - if (typeof object === "string") { - source = object; - type = "text/plain;charset=UTF-8"; - } else if (object instanceof URLSearchParams) { - source = object.toString(); - type = "application/x-www-form-urlencoded;charset=UTF-8"; - } else if (isArrayBuffer(object)) { - source = new Uint8Array(object.slice()); - } else if (ArrayBuffer.isView(object)) { - source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength)); - } else if (util.isFormDataLike(object)) { - const boundary = `----formdata-undici-0${`${random(1e11)}`.padStart(11, "0")}`; - const prefix = `--${boundary}\r -Content-Disposition: form-data`; - const escape = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22"); - const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n"); - const blobParts = []; - const rn2 = new Uint8Array([13, 10]); - length = 0; - let hasUnknownSizeValue = false; - for (const [name, value] of object) { - if (typeof value === "string") { - const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r -\r -${normalizeLinefeeds(value)}\r -`); - blobParts.push(chunk2); - length += chunk2.byteLength; - } else { - const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r -Content-Type: ${value.type || "application/octet-stream"}\r -\r -`); - blobParts.push(chunk2, value, rn2); - if (typeof value.size === "number") { - length += chunk2.byteLength + value.size + rn2.byteLength; - } else { - hasUnknownSizeValue = true; - } - } - } - const chunk = textEncoder.encode(`--${boundary}--`); - blobParts.push(chunk); - length += chunk.byteLength; - if (hasUnknownSizeValue) { - length = null; - } - source = object; - action = async function* () { - for (const part of blobParts) { - if (part.stream) { - yield* part.stream(); - } else { - yield part; - } - } - }; - type = "multipart/form-data; boundary=" + boundary; - } else if (isBlobLike(object)) { - source = object; - length = object.size; - if (object.type) { - type = object.type; - } - } else if (typeof object[Symbol.asyncIterator] === "function") { - if (keepalive) { - throw new TypeError("keepalive"); - } - if (util.isDisturbed(object) || object.locked) { - throw new TypeError( - "Response body object should not be disturbed or locked" - ); - } - stream = object instanceof ReadableStream2 ? object : ReadableStreamFrom(object); - } - if (typeof source === "string" || util.isBuffer(source)) { - length = Buffer.byteLength(source); - } - if (action != null) { - let iterator; - stream = new ReadableStream2({ - async start() { - iterator = action(object)[Symbol.asyncIterator](); - }, - async pull(controller) { - const { value, done } = await iterator.next(); - if (done) { - queueMicrotask(() => { - controller.close(); - }); - } else { - if (!isErrored(stream)) { - controller.enqueue(new Uint8Array(value)); - } - } - return controller.desiredSize > 0; - }, - async cancel(reason) { - await iterator.return(); - }, - type: void 0 - }); - } - const body = { stream, source, length }; - return [body, type]; - } - function safelyExtractBody(object, keepalive = false) { - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - if (object instanceof ReadableStream2) { - assert(!util.isDisturbed(object), "The body has already been consumed."); - assert(!object.locked, "The stream is locked."); - } - return extractBody(object, keepalive); - } - function cloneBody(body) { - const [out1, out2] = body.stream.tee(); - const out2Clone = structuredClone(out2, { transfer: [out2] }); - const [, finalClone] = out2Clone.tee(); - body.stream = out1; - return { - stream: finalClone, - length: body.length, - source: body.source - }; - } - async function* consumeBody(body) { - if (body) { - if (isUint8Array(body)) { - yield body; - } else { - const stream = body.stream; - if (util.isDisturbed(stream)) { - throw new TypeError("The body has already been consumed."); - } - if (stream.locked) { - throw new TypeError("The stream is locked."); - } - stream[kBodyUsed] = true; - yield* stream; - } - } - } - function throwIfAborted(state) { - if (state.aborted) { - throw new DOMException2("The operation was aborted.", "AbortError"); - } - } - function bodyMixinMethods(instance) { - const methods = { - blob() { - return specConsumeBody(this, (bytes) => { - let mimeType = bodyMimeType(this); - if (mimeType === "failure") { - mimeType = ""; - } else if (mimeType) { - mimeType = serializeAMimeType(mimeType); - } - return new Blob2([bytes], { type: mimeType }); - }, instance); - }, - arrayBuffer() { - return specConsumeBody(this, (bytes) => { - return new Uint8Array(bytes).buffer; - }, instance); - }, - text() { - return specConsumeBody(this, utf8DecodeBytes, instance); - }, - json() { - return specConsumeBody(this, parseJSONFromBytes, instance); - }, - async formData() { - webidl.brandCheck(this, instance); - throwIfAborted(this[kState]); - const contentType = this.headers.get("Content-Type"); - if (/multipart\/form-data/.test(contentType)) { - const headers = {}; - for (const [key, value] of this.headers) headers[key.toLowerCase()] = value; - const responseFormData = new FormData(); - let busboy; - try { - busboy = new Busboy({ - headers, - preservePath: true - }); - } catch (err) { - throw new DOMException2(`${err}`, "AbortError"); - } - busboy.on("field", (name, value) => { - responseFormData.append(name, value); - }); - busboy.on("file", (name, value, filename, encoding, mimeType) => { - const chunks = []; - if (encoding === "base64" || encoding.toLowerCase() === "base64") { - let base64chunk = ""; - value.on("data", (chunk) => { - base64chunk += chunk.toString().replace(/[\r\n]/gm, ""); - const end = base64chunk.length - base64chunk.length % 4; - chunks.push(Buffer.from(base64chunk.slice(0, end), "base64")); - base64chunk = base64chunk.slice(end); - }); - value.on("end", () => { - chunks.push(Buffer.from(base64chunk, "base64")); - responseFormData.append(name, new File(chunks, filename, { type: mimeType })); - }); - } else { - value.on("data", (chunk) => { - chunks.push(chunk); - }); - value.on("end", () => { - responseFormData.append(name, new File(chunks, filename, { type: mimeType })); - }); - } - }); - const busboyResolve = new Promise((resolve4, reject) => { - busboy.on("finish", resolve4); - busboy.on("error", (err) => reject(new TypeError(err))); - }); - if (this.body !== null) for await (const chunk of consumeBody(this[kState].body)) busboy.write(chunk); - busboy.end(); - await busboyResolve; - return responseFormData; - } else if (/application\/x-www-form-urlencoded/.test(contentType)) { - let entries; - try { - let text = ""; - const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true }); - for await (const chunk of consumeBody(this[kState].body)) { - if (!isUint8Array(chunk)) { - throw new TypeError("Expected Uint8Array chunk"); - } - text += streamingDecoder.decode(chunk, { stream: true }); - } - text += streamingDecoder.decode(); - entries = new URLSearchParams(text); - } catch (err) { - throw Object.assign(new TypeError(), { cause: err }); - } - const formData = new FormData(); - for (const [name, value] of entries) { - formData.append(name, value); - } - return formData; - } else { - await Promise.resolve(); - throwIfAborted(this[kState]); - throw webidl.errors.exception({ - header: `${instance.name}.formData`, - message: "Could not parse content as FormData." - }); - } - } - }; - return methods; - } - function mixinBody(prototype) { - Object.assign(prototype.prototype, bodyMixinMethods(prototype)); - } - async function specConsumeBody(object, convertBytesToJSValue, instance) { - webidl.brandCheck(object, instance); - throwIfAborted(object[kState]); - if (bodyUnusable(object[kState].body)) { - throw new TypeError("Body is unusable"); - } - const promise = createDeferredPromise(); - const errorSteps = (error) => promise.reject(error); - const successSteps = (data) => { - try { - promise.resolve(convertBytesToJSValue(data)); - } catch (e6) { - errorSteps(e6); - } - }; - if (object[kState].body == null) { - successSteps(new Uint8Array()); - return promise.promise; - } - await fullyReadBody(object[kState].body, successSteps, errorSteps); - return promise.promise; - } - function bodyUnusable(body) { - return body != null && (body.stream.locked || util.isDisturbed(body.stream)); - } - function utf8DecodeBytes(buffer) { - if (buffer.length === 0) { - return ""; - } - if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) { - buffer = buffer.subarray(3); - } - const output = textDecoder2.decode(buffer); - return output; - } - function parseJSONFromBytes(bytes) { - return JSON.parse(utf8DecodeBytes(bytes)); - } - function bodyMimeType(object) { - const { headersList } = object[kState]; - const contentType = headersList.get("content-type"); - if (contentType === null) { - return "failure"; - } - return parseMIMEType(contentType); - } - module2.exports = { - extractBody, - safelyExtractBody, - cloneBody, - mixinBody - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/core/request.js -var require_request = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/core/request.js"(exports2, module2) { - "use strict"; - var { - InvalidArgumentError, - NotSupportedError - } = require_errors(); - var assert = require("assert"); - var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols(); - var util = require_util(); - var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/; - var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; - var invalidPathRegex = /[^\u0021-\u00ff]/; - var kHandler = /* @__PURE__ */ Symbol("handler"); - var channels = {}; - var extractBody; - try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.create = diagnosticsChannel.channel("undici:request:create"); - channels.bodySent = diagnosticsChannel.channel("undici:request:bodySent"); - channels.headers = diagnosticsChannel.channel("undici:request:headers"); - channels.trailers = diagnosticsChannel.channel("undici:request:trailers"); - channels.error = diagnosticsChannel.channel("undici:request:error"); - } catch { - channels.create = { hasSubscribers: false }; - channels.bodySent = { hasSubscribers: false }; - channels.headers = { hasSubscribers: false }; - channels.trailers = { hasSubscribers: false }; - channels.error = { hasSubscribers: false }; - } - var Request = class _Request { - constructor(origin, { - path, - method, - body, - headers, - query, - idempotent, - blocking, - upgrade, - headersTimeout, - bodyTimeout, - reset, - throwOnError, - expectContinue - }, handler) { - if (typeof path !== "string") { - throw new InvalidArgumentError("path must be a string"); - } else if (path[0] !== "/" && !(path.startsWith("http://") || path.startsWith("https://")) && method !== "CONNECT") { - throw new InvalidArgumentError("path must be an absolute URL or start with a slash"); - } else if (invalidPathRegex.exec(path) !== null) { - throw new InvalidArgumentError("invalid request path"); - } - if (typeof method !== "string") { - throw new InvalidArgumentError("method must be a string"); - } else if (tokenRegExp.exec(method) === null) { - throw new InvalidArgumentError("invalid request method"); - } - if (upgrade && typeof upgrade !== "string") { - throw new InvalidArgumentError("upgrade must be a string"); - } - if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("invalid headersTimeout"); - } - if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("invalid bodyTimeout"); - } - if (reset != null && typeof reset !== "boolean") { - throw new InvalidArgumentError("invalid reset"); - } - if (expectContinue != null && typeof expectContinue !== "boolean") { - throw new InvalidArgumentError("invalid expectContinue"); - } - this.headersTimeout = headersTimeout; - this.bodyTimeout = bodyTimeout; - this.throwOnError = throwOnError === true; - this.method = method; - this.abort = null; - if (body == null) { - this.body = null; - } else if (util.isStream(body)) { - this.body = body; - const rState = this.body._readableState; - if (!rState || !rState.autoDestroy) { - this.endHandler = function autoDestroy() { - util.destroy(this); - }; - this.body.on("end", this.endHandler); - } - this.errorHandler = (err) => { - if (this.abort) { - this.abort(err); - } else { - this.error = err; - } - }; - this.body.on("error", this.errorHandler); - } else if (util.isBuffer(body)) { - this.body = body.byteLength ? body : null; - } else if (ArrayBuffer.isView(body)) { - this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null; - } else if (body instanceof ArrayBuffer) { - this.body = body.byteLength ? Buffer.from(body) : null; - } else if (typeof body === "string") { - this.body = body.length ? Buffer.from(body) : null; - } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) { - this.body = body; - } else { - throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable"); - } - this.completed = false; - this.aborted = false; - this.upgrade = upgrade || null; - this.path = query ? util.buildURL(path, query) : path; - this.origin = origin; - this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent; - this.blocking = blocking == null ? false : blocking; - this.reset = reset == null ? null : reset; - this.host = null; - this.contentLength = null; - this.contentType = null; - this.headers = ""; - this.expectContinue = expectContinue != null ? expectContinue : false; - if (Array.isArray(headers)) { - if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); - } - for (let i7 = 0; i7 < headers.length; i7 += 2) { - processHeader(this, headers[i7], headers[i7 + 1]); - } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); - for (let i7 = 0; i7 < keys.length; i7++) { - const key = keys[i7]; - processHeader(this, key, headers[key]); - } - } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); - } - if (util.isFormDataLike(this.body)) { - if (util.nodeMajor < 16 || util.nodeMajor === 16 && util.nodeMinor < 8) { - throw new InvalidArgumentError("Form-Data bodies are only supported in node v16.8 and newer."); - } - if (!extractBody) { - extractBody = require_body().extractBody; - } - const [bodyStream, contentType] = extractBody(body); - if (this.contentType == null) { - this.contentType = contentType; - this.headers += `content-type: ${contentType}\r -`; - } - this.body = bodyStream.stream; - this.contentLength = bodyStream.length; - } else if (util.isBlobLike(body) && this.contentType == null && body.type) { - this.contentType = body.type; - this.headers += `content-type: ${body.type}\r -`; - } - util.validateHandler(handler, method, upgrade); - this.servername = util.getServerName(this.host); - this[kHandler] = handler; - if (channels.create.hasSubscribers) { - channels.create.publish({ request: this }); - } - } - onBodySent(chunk) { - if (this[kHandler].onBodySent) { - try { - return this[kHandler].onBodySent(chunk); - } catch (err) { - this.abort(err); - } - } - } - onRequestSent() { - if (channels.bodySent.hasSubscribers) { - channels.bodySent.publish({ request: this }); - } - if (this[kHandler].onRequestSent) { - try { - return this[kHandler].onRequestSent(); - } catch (err) { - this.abort(err); - } - } - } - onConnect(abort) { - assert(!this.aborted); - assert(!this.completed); - if (this.error) { - abort(this.error); - } else { - this.abort = abort; - return this[kHandler].onConnect(abort); - } - } - onHeaders(statusCode, headers, resume, statusText) { - assert(!this.aborted); - assert(!this.completed); - if (channels.headers.hasSubscribers) { - channels.headers.publish({ request: this, response: { statusCode, headers, statusText } }); - } - try { - return this[kHandler].onHeaders(statusCode, headers, resume, statusText); - } catch (err) { - this.abort(err); - } - } - onData(chunk) { - assert(!this.aborted); - assert(!this.completed); - try { - return this[kHandler].onData(chunk); - } catch (err) { - this.abort(err); - return false; - } - } - onUpgrade(statusCode, headers, socket) { - assert(!this.aborted); - assert(!this.completed); - return this[kHandler].onUpgrade(statusCode, headers, socket); - } - onComplete(trailers) { - this.onFinally(); - assert(!this.aborted); - this.completed = true; - if (channels.trailers.hasSubscribers) { - channels.trailers.publish({ request: this, trailers }); - } - try { - return this[kHandler].onComplete(trailers); - } catch (err) { - this.onError(err); - } - } - onError(error) { - this.onFinally(); - if (channels.error.hasSubscribers) { - channels.error.publish({ request: this, error }); - } - if (this.aborted) { - return; - } - this.aborted = true; - return this[kHandler].onError(error); - } - onFinally() { - if (this.errorHandler) { - this.body.off("error", this.errorHandler); - this.errorHandler = null; - } - if (this.endHandler) { - this.body.off("end", this.endHandler); - this.endHandler = null; - } - } - // TODO: adjust to support H2 - addHeader(key, value) { - processHeader(this, key, value); - return this; - } - static [kHTTP1BuildRequest](origin, opts, handler) { - return new _Request(origin, opts, handler); - } - static [kHTTP2BuildRequest](origin, opts, handler) { - const headers = opts.headers; - opts = { ...opts, headers: null }; - const request = new _Request(origin, opts, handler); - request.headers = {}; - if (Array.isArray(headers)) { - if (headers.length % 2 !== 0) { - throw new InvalidArgumentError("headers array must be even"); - } - for (let i7 = 0; i7 < headers.length; i7 += 2) { - processHeader(request, headers[i7], headers[i7 + 1], true); - } - } else if (headers && typeof headers === "object") { - const keys = Object.keys(headers); - for (let i7 = 0; i7 < keys.length; i7++) { - const key = keys[i7]; - processHeader(request, key, headers[key], true); - } - } else if (headers != null) { - throw new InvalidArgumentError("headers must be an object or an array"); - } - return request; - } - static [kHTTP2CopyHeaders](raw) { - const rawHeaders = raw.split("\r\n"); - const headers = {}; - for (const header of rawHeaders) { - const [key, value] = header.split(": "); - if (value == null || value.length === 0) continue; - if (headers[key]) headers[key] += `,${value}`; - else headers[key] = value; - } - return headers; - } - }; - function processHeaderValue(key, val, skipAppend) { - if (val && typeof val === "object") { - throw new InvalidArgumentError(`invalid ${key} header`); - } - val = val != null ? `${val}` : ""; - if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); - } - return skipAppend ? val : `${key}: ${val}\r -`; - } - function processHeader(request, key, val, skipAppend = false) { - if (val && (typeof val === "object" && !Array.isArray(val))) { - throw new InvalidArgumentError(`invalid ${key} header`); - } else if (val === void 0) { - return; - } - if (request.host === null && key.length === 4 && key.toLowerCase() === "host") { - if (headerCharRegex.exec(val) !== null) { - throw new InvalidArgumentError(`invalid ${key} header`); - } - request.host = val; - } else if (request.contentLength === null && key.length === 14 && key.toLowerCase() === "content-length") { - request.contentLength = parseInt(val, 10); - if (!Number.isFinite(request.contentLength)) { - throw new InvalidArgumentError("invalid content-length header"); - } - } else if (request.contentType === null && key.length === 12 && key.toLowerCase() === "content-type") { - request.contentType = val; - if (skipAppend) request.headers[key] = processHeaderValue(key, val, skipAppend); - else request.headers += processHeaderValue(key, val); - } else if (key.length === 17 && key.toLowerCase() === "transfer-encoding") { - throw new InvalidArgumentError("invalid transfer-encoding header"); - } else if (key.length === 10 && key.toLowerCase() === "connection") { - const value = typeof val === "string" ? val.toLowerCase() : null; - if (value !== "close" && value !== "keep-alive") { - throw new InvalidArgumentError("invalid connection header"); - } else if (value === "close") { - request.reset = true; - } - } else if (key.length === 10 && key.toLowerCase() === "keep-alive") { - throw new InvalidArgumentError("invalid keep-alive header"); - } else if (key.length === 7 && key.toLowerCase() === "upgrade") { - throw new InvalidArgumentError("invalid upgrade header"); - } else if (key.length === 6 && key.toLowerCase() === "expect") { - throw new NotSupportedError("expect header not supported"); - } else if (tokenRegExp.exec(key) === null) { - throw new InvalidArgumentError("invalid header key"); - } else { - if (Array.isArray(val)) { - for (let i7 = 0; i7 < val.length; i7++) { - if (skipAppend) { - if (request.headers[key]) request.headers[key] += `,${processHeaderValue(key, val[i7], skipAppend)}`; - else request.headers[key] = processHeaderValue(key, val[i7], skipAppend); - } else { - request.headers += processHeaderValue(key, val[i7]); - } - } - } else { - if (skipAppend) request.headers[key] = processHeaderValue(key, val, skipAppend); - else request.headers += processHeaderValue(key, val); - } - } - } - module2.exports = Request; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/dispatcher.js -var require_dispatcher = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/dispatcher.js"(exports2, module2) { - "use strict"; - var EventEmitter = require("events"); - var Dispatcher = class extends EventEmitter { - dispatch() { - throw new Error("not implemented"); - } - close() { - throw new Error("not implemented"); - } - destroy() { - throw new Error("not implemented"); - } - }; - module2.exports = Dispatcher; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/dispatcher-base.js -var require_dispatcher_base = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/dispatcher-base.js"(exports2, module2) { - "use strict"; - var Dispatcher = require_dispatcher(); - var { - ClientDestroyedError, - ClientClosedError, - InvalidArgumentError - } = require_errors(); - var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols(); - var kDestroyed = /* @__PURE__ */ Symbol("destroyed"); - var kClosed = /* @__PURE__ */ Symbol("closed"); - var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed"); - var kOnClosed = /* @__PURE__ */ Symbol("onClosed"); - var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch"); - var DispatcherBase = class extends Dispatcher { - constructor() { - super(); - this[kDestroyed] = false; - this[kOnDestroyed] = null; - this[kClosed] = false; - this[kOnClosed] = []; - } - get destroyed() { - return this[kDestroyed]; - } - get closed() { - return this[kClosed]; - } - get interceptors() { - return this[kInterceptors]; - } - set interceptors(newInterceptors) { - if (newInterceptors) { - for (let i7 = newInterceptors.length - 1; i7 >= 0; i7--) { - const interceptor = this[kInterceptors][i7]; - if (typeof interceptor !== "function") { - throw new InvalidArgumentError("interceptor must be an function"); - } - } - } - this[kInterceptors] = newInterceptors; - } - close(callback) { - if (callback === void 0) { - return new Promise((resolve4, reject) => { - this.close((err, data) => { - return err ? reject(err) : resolve4(data); - }); - }); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (this[kDestroyed]) { - queueMicrotask(() => callback(new ClientDestroyedError(), null)); - return; - } - if (this[kClosed]) { - if (this[kOnClosed]) { - this[kOnClosed].push(callback); - } else { - queueMicrotask(() => callback(null, null)); - } - return; - } - this[kClosed] = true; - this[kOnClosed].push(callback); - const onClosed = () => { - const callbacks = this[kOnClosed]; - this[kOnClosed] = null; - for (let i7 = 0; i7 < callbacks.length; i7++) { - callbacks[i7](null, null); - } - }; - this[kClose]().then(() => this.destroy()).then(() => { - queueMicrotask(onClosed); - }); - } - destroy(err, callback) { - if (typeof err === "function") { - callback = err; - err = null; - } - if (callback === void 0) { - return new Promise((resolve4, reject) => { - this.destroy(err, (err2, data) => { - return err2 ? ( - /* istanbul ignore next: should never error */ - reject(err2) - ) : resolve4(data); - }); - }); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (this[kDestroyed]) { - if (this[kOnDestroyed]) { - this[kOnDestroyed].push(callback); - } else { - queueMicrotask(() => callback(null, null)); - } - return; - } - if (!err) { - err = new ClientDestroyedError(); - } - this[kDestroyed] = true; - this[kOnDestroyed] = this[kOnDestroyed] || []; - this[kOnDestroyed].push(callback); - const onDestroyed = () => { - const callbacks = this[kOnDestroyed]; - this[kOnDestroyed] = null; - for (let i7 = 0; i7 < callbacks.length; i7++) { - callbacks[i7](null, null); - } - }; - this[kDestroy](err).then(() => { - queueMicrotask(onDestroyed); - }); - } - [kInterceptedDispatch](opts, handler) { - if (!this[kInterceptors] || this[kInterceptors].length === 0) { - this[kInterceptedDispatch] = this[kDispatch]; - return this[kDispatch](opts, handler); - } - let dispatch = this[kDispatch].bind(this); - for (let i7 = this[kInterceptors].length - 1; i7 >= 0; i7--) { - dispatch = this[kInterceptors][i7](dispatch); - } - this[kInterceptedDispatch] = dispatch; - return dispatch(opts, handler); - } - dispatch(opts, handler) { - if (!handler || typeof handler !== "object") { - throw new InvalidArgumentError("handler must be an object"); - } - try { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("opts must be an object."); - } - if (this[kDestroyed] || this[kOnDestroyed]) { - throw new ClientDestroyedError(); - } - if (this[kClosed]) { - throw new ClientClosedError(); - } - return this[kInterceptedDispatch](opts, handler); - } catch (err) { - if (typeof handler.onError !== "function") { - throw new InvalidArgumentError("invalid onError method"); - } - handler.onError(err); - return false; - } - } - }; - module2.exports = DispatcherBase; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/core/connect.js -var require_connect = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/core/connect.js"(exports2, module2) { - "use strict"; - var net = require("net"); - var assert = require("assert"); - var util = require_util(); - var { InvalidArgumentError, ConnectTimeoutError } = require_errors(); - var tls; - var SessionCache; - if (global.FinalizationRegistry && !process.env.NODE_V8_COVERAGE) { - SessionCache = class WeakSessionCache { - constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); - this._sessionRegistry = new global.FinalizationRegistry((key) => { - if (this._sessionCache.size < this._maxCachedSessions) { - return; - } - const ref = this._sessionCache.get(key); - if (ref !== void 0 && ref.deref() === void 0) { - this._sessionCache.delete(key); - } - }); - } - get(sessionKey) { - const ref = this._sessionCache.get(sessionKey); - return ref ? ref.deref() : null; - } - set(sessionKey, session) { - if (this._maxCachedSessions === 0) { - return; - } - this._sessionCache.set(sessionKey, new WeakRef(session)); - this._sessionRegistry.register(session, sessionKey); - } - }; - } else { - SessionCache = class SimpleSessionCache { - constructor(maxCachedSessions) { - this._maxCachedSessions = maxCachedSessions; - this._sessionCache = /* @__PURE__ */ new Map(); - } - get(sessionKey) { - return this._sessionCache.get(sessionKey); - } - set(sessionKey, session) { - if (this._maxCachedSessions === 0) { - return; - } - if (this._sessionCache.size >= this._maxCachedSessions) { - const { value: oldestKey } = this._sessionCache.keys().next(); - this._sessionCache.delete(oldestKey); - } - this._sessionCache.set(sessionKey, session); - } - }; - } - function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) { - if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) { - throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero"); - } - const options = { path: socketPath, ...opts }; - const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions); - timeout = timeout == null ? 1e4 : timeout; - allowH2 = allowH2 != null ? allowH2 : false; - return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) { - let socket; - if (protocol === "https:") { - if (!tls) { - tls = require("tls"); - } - servername = servername || options.servername || util.getServerName(host) || null; - const sessionKey = servername || hostname; - const session = sessionCache.get(sessionKey) || null; - assert(sessionKey); - socket = tls.connect({ - highWaterMark: 16384, - // TLS in node can't have bigger HWM anyway... - ...options, - servername, - session, - localAddress, - // TODO(HTTP/2): Add support for h2c - ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"], - socket: httpSocket, - // upgrade socket connection - port: port || 443, - host: hostname - }); - socket.on("session", function(session2) { - sessionCache.set(sessionKey, session2); - }); - } else { - assert(!httpSocket, "httpSocket can only be sent on TLS update"); - socket = net.connect({ - highWaterMark: 64 * 1024, - // Same as nodejs fs streams. - ...options, - localAddress, - port: port || 80, - host: hostname - }); - } - if (options.keepAlive == null || options.keepAlive) { - const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay; - socket.setKeepAlive(true, keepAliveInitialDelay); - } - const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout); - socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() { - cancelTimeout(); - if (callback) { - const cb2 = callback; - callback = null; - cb2(null, this); - } - }).on("error", function(err) { - cancelTimeout(); - if (callback) { - const cb2 = callback; - callback = null; - cb2(err); - } - }); - return socket; - }; - } - function setupTimeout(onConnectTimeout2, timeout) { - if (!timeout) { - return () => { - }; - } - let s1 = null; - let s22 = null; - const timeoutId = setTimeout(() => { - s1 = setImmediate(() => { - if (process.platform === "win32") { - s22 = setImmediate(() => onConnectTimeout2()); - } else { - onConnectTimeout2(); - } - }); - }, timeout); - return () => { - clearTimeout(timeoutId); - clearImmediate(s1); - clearImmediate(s22); - }; - } - function onConnectTimeout(socket) { - util.destroy(socket, new ConnectTimeoutError()); - } - module2.exports = buildConnector; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/llhttp/utils.js -var require_utils2 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/llhttp/utils.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.enumToMap = void 0; - function enumToMap(obj) { - const res = {}; - Object.keys(obj).forEach((key) => { - const value = obj[key]; - if (typeof value === "number") { - res[key] = value; - } - }); - return res; - } - exports2.enumToMap = enumToMap; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/llhttp/constants.js -var require_constants3 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/llhttp/constants.js"(exports2) { - "use strict"; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0; - var utils_1 = require_utils2(); - var ERROR; - (function(ERROR2) { - ERROR2[ERROR2["OK"] = 0] = "OK"; - ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL"; - ERROR2[ERROR2["STRICT"] = 2] = "STRICT"; - ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED"; - ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH"; - ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION"; - ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD"; - ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL"; - ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT"; - ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION"; - ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN"; - ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH"; - ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE"; - ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS"; - ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE"; - ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING"; - ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN"; - ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE"; - ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE"; - ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER"; - ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE"; - ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED"; - ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE"; - ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE"; - ERROR2[ERROR2["USER"] = 24] = "USER"; - })(ERROR = exports2.ERROR || (exports2.ERROR = {})); - var TYPE; - (function(TYPE2) { - TYPE2[TYPE2["BOTH"] = 0] = "BOTH"; - TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST"; - TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE"; - })(TYPE = exports2.TYPE || (exports2.TYPE = {})); - var FLAGS; - (function(FLAGS2) { - FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE"; - FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE"; - FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE"; - FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED"; - FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE"; - FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH"; - FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY"; - FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING"; - FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING"; - })(FLAGS = exports2.FLAGS || (exports2.FLAGS = {})); - var LENIENT_FLAGS; - (function(LENIENT_FLAGS2) { - LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS"; - LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH"; - LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE"; - })(LENIENT_FLAGS = exports2.LENIENT_FLAGS || (exports2.LENIENT_FLAGS = {})); - var METHODS; - (function(METHODS2) { - METHODS2[METHODS2["DELETE"] = 0] = "DELETE"; - METHODS2[METHODS2["GET"] = 1] = "GET"; - METHODS2[METHODS2["HEAD"] = 2] = "HEAD"; - METHODS2[METHODS2["POST"] = 3] = "POST"; - METHODS2[METHODS2["PUT"] = 4] = "PUT"; - METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT"; - METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS"; - METHODS2[METHODS2["TRACE"] = 7] = "TRACE"; - METHODS2[METHODS2["COPY"] = 8] = "COPY"; - METHODS2[METHODS2["LOCK"] = 9] = "LOCK"; - METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL"; - METHODS2[METHODS2["MOVE"] = 11] = "MOVE"; - METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND"; - METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH"; - METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH"; - METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK"; - METHODS2[METHODS2["BIND"] = 16] = "BIND"; - METHODS2[METHODS2["REBIND"] = 17] = "REBIND"; - METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND"; - METHODS2[METHODS2["ACL"] = 19] = "ACL"; - METHODS2[METHODS2["REPORT"] = 20] = "REPORT"; - METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY"; - METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT"; - METHODS2[METHODS2["MERGE"] = 23] = "MERGE"; - METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH"; - METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY"; - METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE"; - METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE"; - METHODS2[METHODS2["PATCH"] = 28] = "PATCH"; - METHODS2[METHODS2["PURGE"] = 29] = "PURGE"; - METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR"; - METHODS2[METHODS2["LINK"] = 31] = "LINK"; - METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK"; - METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE"; - METHODS2[METHODS2["PRI"] = 34] = "PRI"; - METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE"; - METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE"; - METHODS2[METHODS2["SETUP"] = 37] = "SETUP"; - METHODS2[METHODS2["PLAY"] = 38] = "PLAY"; - METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE"; - METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN"; - METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER"; - METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER"; - METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT"; - METHODS2[METHODS2["RECORD"] = 44] = "RECORD"; - METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH"; - })(METHODS = exports2.METHODS || (exports2.METHODS = {})); - exports2.METHODS_HTTP = [ - METHODS.DELETE, - METHODS.GET, - METHODS.HEAD, - METHODS.POST, - METHODS.PUT, - METHODS.CONNECT, - METHODS.OPTIONS, - METHODS.TRACE, - METHODS.COPY, - METHODS.LOCK, - METHODS.MKCOL, - METHODS.MOVE, - METHODS.PROPFIND, - METHODS.PROPPATCH, - METHODS.SEARCH, - METHODS.UNLOCK, - METHODS.BIND, - METHODS.REBIND, - METHODS.UNBIND, - METHODS.ACL, - METHODS.REPORT, - METHODS.MKACTIVITY, - METHODS.CHECKOUT, - METHODS.MERGE, - METHODS["M-SEARCH"], - METHODS.NOTIFY, - METHODS.SUBSCRIBE, - METHODS.UNSUBSCRIBE, - METHODS.PATCH, - METHODS.PURGE, - METHODS.MKCALENDAR, - METHODS.LINK, - METHODS.UNLINK, - METHODS.PRI, - // TODO(indutny): should we allow it with HTTP? - METHODS.SOURCE - ]; - exports2.METHODS_ICE = [ - METHODS.SOURCE - ]; - exports2.METHODS_RTSP = [ - METHODS.OPTIONS, - METHODS.DESCRIBE, - METHODS.ANNOUNCE, - METHODS.SETUP, - METHODS.PLAY, - METHODS.PAUSE, - METHODS.TEARDOWN, - METHODS.GET_PARAMETER, - METHODS.SET_PARAMETER, - METHODS.REDIRECT, - METHODS.RECORD, - METHODS.FLUSH, - // For AirPlay - METHODS.GET, - METHODS.POST - ]; - exports2.METHOD_MAP = utils_1.enumToMap(METHODS); - exports2.H_METHOD_MAP = {}; - Object.keys(exports2.METHOD_MAP).forEach((key) => { - if (/^H/.test(key)) { - exports2.H_METHOD_MAP[key] = exports2.METHOD_MAP[key]; - } - }); - var FINISH; - (function(FINISH2) { - FINISH2[FINISH2["SAFE"] = 0] = "SAFE"; - FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB"; - FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE"; - })(FINISH = exports2.FINISH || (exports2.FINISH = {})); - exports2.ALPHA = []; - for (let i7 = "A".charCodeAt(0); i7 <= "Z".charCodeAt(0); i7++) { - exports2.ALPHA.push(String.fromCharCode(i7)); - exports2.ALPHA.push(String.fromCharCode(i7 + 32)); - } - exports2.NUM_MAP = { - 0: 0, - 1: 1, - 2: 2, - 3: 3, - 4: 4, - 5: 5, - 6: 6, - 7: 7, - 8: 8, - 9: 9 - }; - exports2.HEX_MAP = { - 0: 0, - 1: 1, - 2: 2, - 3: 3, - 4: 4, - 5: 5, - 6: 6, - 7: 7, - 8: 8, - 9: 9, - A: 10, - B: 11, - C: 12, - D: 13, - E: 14, - F: 15, - a: 10, - b: 11, - c: 12, - d: 13, - e: 14, - f: 15 - }; - exports2.NUM = [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9" - ]; - exports2.ALPHANUM = exports2.ALPHA.concat(exports2.NUM); - exports2.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"]; - exports2.USERINFO_CHARS = exports2.ALPHANUM.concat(exports2.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]); - exports2.STRICT_URL_CHAR = [ - "!", - '"', - "$", - "%", - "&", - "'", - "(", - ")", - "*", - "+", - ",", - "-", - ".", - "/", - ":", - ";", - "<", - "=", - ">", - "@", - "[", - "\\", - "]", - "^", - "_", - "`", - "{", - "|", - "}", - "~" - ].concat(exports2.ALPHANUM); - exports2.URL_CHAR = exports2.STRICT_URL_CHAR.concat([" ", "\f"]); - for (let i7 = 128; i7 <= 255; i7++) { - exports2.URL_CHAR.push(i7); - } - exports2.HEX = exports2.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); - exports2.STRICT_TOKEN = [ - "!", - "#", - "$", - "%", - "&", - "'", - "*", - "+", - "-", - ".", - "^", - "_", - "`", - "|", - "~" - ].concat(exports2.ALPHANUM); - exports2.TOKEN = exports2.STRICT_TOKEN.concat([" "]); - exports2.HEADER_CHARS = [" "]; - for (let i7 = 32; i7 <= 255; i7++) { - if (i7 !== 127) { - exports2.HEADER_CHARS.push(i7); - } - } - exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS.filter((c6) => c6 !== 44); - exports2.MAJOR = exports2.NUM_MAP; - exports2.MINOR = exports2.MAJOR; - var HEADER_STATE; - (function(HEADER_STATE2) { - HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL"; - HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION"; - HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING"; - HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE"; - HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE"; - HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED"; - })(HEADER_STATE = exports2.HEADER_STATE || (exports2.HEADER_STATE = {})); - exports2.SPECIAL_HEADERS = { - "connection": HEADER_STATE.CONNECTION, - "content-length": HEADER_STATE.CONTENT_LENGTH, - "proxy-connection": HEADER_STATE.CONNECTION, - "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING, - "upgrade": HEADER_STATE.UPGRADE - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/handler/RedirectHandler.js -var require_RedirectHandler = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/handler/RedirectHandler.js"(exports2, module2) { - "use strict"; - var util = require_util(); - var { kBodyUsed } = require_symbols(); - var assert = require("assert"); - var { InvalidArgumentError } = require_errors(); - var EE2 = require("events"); - var redirectableStatusCodes = [300, 301, 302, 303, 307, 308]; - var kBody = /* @__PURE__ */ Symbol("body"); - var BodyAsyncIterable = class { - constructor(body) { - this[kBody] = body; - this[kBodyUsed] = false; - } - async *[Symbol.asyncIterator]() { - assert(!this[kBodyUsed], "disturbed"); - this[kBodyUsed] = true; - yield* this[kBody]; - } - }; - var RedirectHandler = class { - constructor(dispatch, maxRedirections, opts, handler) { - if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - util.validateHandler(handler, opts.method, opts.upgrade); - this.dispatch = dispatch; - this.location = null; - this.abort = null; - this.opts = { ...opts, maxRedirections: 0 }; - this.maxRedirections = maxRedirections; - this.handler = handler; - this.history = []; - if (util.isStream(this.opts.body)) { - if (util.bodyLength(this.opts.body) === 0) { - this.opts.body.on("data", function() { - assert(false); - }); - } - if (typeof this.opts.body.readableDidRead !== "boolean") { - this.opts.body[kBodyUsed] = false; - EE2.prototype.on.call(this.opts.body, "data", function() { - this[kBodyUsed] = true; - }); - } - } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") { - this.opts.body = new BodyAsyncIterable(this.opts.body); - } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) { - this.opts.body = new BodyAsyncIterable(this.opts.body); - } - } - onConnect(abort) { - this.abort = abort; - this.handler.onConnect(abort, { history: this.history }); - } - onUpgrade(statusCode, headers, socket) { - this.handler.onUpgrade(statusCode, headers, socket); - } - onError(error) { - this.handler.onError(error); - } - onHeaders(statusCode, headers, resume, statusText) { - this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers); - if (this.opts.origin) { - this.history.push(new URL(this.opts.path, this.opts.origin)); - } - if (!this.location) { - return this.handler.onHeaders(statusCode, headers, resume, statusText); - } - const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin))); - const path = search ? `${pathname}${search}` : pathname; - this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin); - this.opts.path = path; - this.opts.origin = origin; - this.opts.maxRedirections = 0; - this.opts.query = null; - if (statusCode === 303 && this.opts.method !== "HEAD") { - this.opts.method = "GET"; - this.opts.body = null; - } - } - onData(chunk) { - if (this.location) { - } else { - return this.handler.onData(chunk); - } - } - onComplete(trailers) { - if (this.location) { - this.location = null; - this.abort = null; - this.dispatch(this.opts, this); - } else { - this.handler.onComplete(trailers); - } - } - onBodySent(chunk) { - if (this.handler.onBodySent) { - this.handler.onBodySent(chunk); - } - } - }; - function parseLocation(statusCode, headers) { - if (redirectableStatusCodes.indexOf(statusCode) === -1) { - return null; - } - for (let i7 = 0; i7 < headers.length; i7 += 2) { - if (headers[i7].toString().toLowerCase() === "location") { - return headers[i7 + 1]; - } - } - } - function shouldRemoveHeader(header, removeContent, unknownOrigin) { - if (header.length === 4) { - return util.headerNameToString(header) === "host"; - } - if (removeContent && util.headerNameToString(header).startsWith("content-")) { - return true; - } - if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) { - const name = util.headerNameToString(header); - return name === "authorization" || name === "cookie" || name === "proxy-authorization"; - } - return false; - } - function cleanRequestHeaders(headers, removeContent, unknownOrigin) { - const ret = []; - if (Array.isArray(headers)) { - for (let i7 = 0; i7 < headers.length; i7 += 2) { - if (!shouldRemoveHeader(headers[i7], removeContent, unknownOrigin)) { - ret.push(headers[i7], headers[i7 + 1]); - } - } - } else if (headers && typeof headers === "object") { - for (const key of Object.keys(headers)) { - if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) { - ret.push(key, headers[key]); - } - } - } else { - assert(headers == null, "headers must be an object or an array"); - } - return ret; - } - module2.exports = RedirectHandler; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/interceptor/redirectInterceptor.js -var require_redirectInterceptor = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports2, module2) { - "use strict"; - var RedirectHandler = require_RedirectHandler(); - function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) { - return (dispatch) => { - return function Intercept(opts, handler) { - const { maxRedirections = defaultMaxRedirections } = opts; - if (!maxRedirections) { - return dispatch(opts, handler); - } - const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler); - opts = { ...opts, maxRedirections: 0 }; - return dispatch(opts, redirectHandler); - }; - }; - } - module2.exports = createRedirectInterceptor; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/llhttp/llhttp-wasm.js -var require_llhttp_wasm = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js -var require_llhttp_simd_wasm = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) { - module2.exports = "AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/client.js -var require_client = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/client.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var net = require("net"); - var http = require("http"); - var { pipeline } = require("stream"); - var util = require_util(); - var timers = require_timers(); - var Request = require_request(); - var DispatcherBase = require_dispatcher_base(); - var { - RequestContentLengthMismatchError, - ResponseContentLengthMismatchError, - InvalidArgumentError, - RequestAbortedError, - HeadersTimeoutError, - HeadersOverflowError, - SocketError, - InformationalError, - BodyTimeoutError, - HTTPParserError, - ResponseExceededMaxSizeError, - ClientDestroyedError - } = require_errors(); - var buildConnector = require_connect(); - var { - kUrl, - kReset, - kServerName, - kClient, - kBusy, - kParser, - kConnect, - kBlocking, - kResuming, - kRunning, - kPending, - kSize, - kWriting, - kQueue, - kConnected, - kConnecting, - kNeedDrain, - kNoRef, - kKeepAliveDefaultTimeout, - kHostHeader, - kPendingIdx, - kRunningIdx, - kError, - kPipelining, - kSocket, - kKeepAliveTimeoutValue, - kMaxHeadersSize, - kKeepAliveMaxTimeout, - kKeepAliveTimeoutThreshold, - kHeadersTimeout, - kBodyTimeout, - kStrictContentLength, - kConnector, - kMaxRedirections, - kMaxRequests, - kCounter, - kClose, - kDestroy, - kDispatch, - kInterceptors, - kLocalAddress, - kMaxResponseSize, - kHTTPConnVersion, - // HTTP2 - kHost, - kHTTP2Session, - kHTTP2SessionState, - kHTTP2BuildRequest, - kHTTP2CopyHeaders, - kHTTP1BuildRequest - } = require_symbols(); - var http2; - try { - http2 = require("http2"); - } catch { - http2 = { constants: {} }; - } - var { - constants: { - HTTP2_HEADER_AUTHORITY, - HTTP2_HEADER_METHOD, - HTTP2_HEADER_PATH, - HTTP2_HEADER_SCHEME, - HTTP2_HEADER_CONTENT_LENGTH, - HTTP2_HEADER_EXPECT, - HTTP2_HEADER_STATUS - } - } = http2; - var h2ExperimentalWarned = false; - var FastBuffer = Buffer[Symbol.species]; - var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve"); - var channels = {}; - try { - const diagnosticsChannel = require("diagnostics_channel"); - channels.sendHeaders = diagnosticsChannel.channel("undici:client:sendHeaders"); - channels.beforeConnect = diagnosticsChannel.channel("undici:client:beforeConnect"); - channels.connectError = diagnosticsChannel.channel("undici:client:connectError"); - channels.connected = diagnosticsChannel.channel("undici:client:connected"); - } catch { - channels.sendHeaders = { hasSubscribers: false }; - channels.beforeConnect = { hasSubscribers: false }; - channels.connectError = { hasSubscribers: false }; - channels.connected = { hasSubscribers: false }; - } - var Client = class extends DispatcherBase { - /** - * - * @param {string|URL} url - * @param {import('../types/client').Client.Options} options - */ - constructor(url, { - interceptors, - maxHeaderSize, - headersTimeout, - socketTimeout, - requestTimeout, - connectTimeout, - bodyTimeout, - idleTimeout, - keepAlive, - keepAliveTimeout, - maxKeepAliveTimeout, - keepAliveMaxTimeout, - keepAliveTimeoutThreshold, - socketPath, - pipelining, - tls, - strictContentLength, - maxCachedSessions, - maxRedirections, - connect: connect2, - maxRequestsPerClient, - localAddress, - maxResponseSize, - autoSelectFamily, - autoSelectFamilyAttemptTimeout, - // h2 - allowH2, - maxConcurrentStreams - } = {}) { - super(); - if (keepAlive !== void 0) { - throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead"); - } - if (socketTimeout !== void 0) { - throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead"); - } - if (requestTimeout !== void 0) { - throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead"); - } - if (idleTimeout !== void 0) { - throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead"); - } - if (maxKeepAliveTimeout !== void 0) { - throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead"); - } - if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) { - throw new InvalidArgumentError("invalid maxHeaderSize"); - } - if (socketPath != null && typeof socketPath !== "string") { - throw new InvalidArgumentError("invalid socketPath"); - } - if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) { - throw new InvalidArgumentError("invalid connectTimeout"); - } - if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveTimeout"); - } - if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) { - throw new InvalidArgumentError("invalid keepAliveMaxTimeout"); - } - if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) { - throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold"); - } - if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) { - throw new InvalidArgumentError("headersTimeout must be a positive integer or zero"); - } - if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) { - throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero"); - } - if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); - } - if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) { - throw new InvalidArgumentError("maxRequestsPerClient must be a positive number"); - } - if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) { - throw new InvalidArgumentError("localAddress must be valid string IP address"); - } - if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) { - throw new InvalidArgumentError("maxResponseSize must be a positive number"); - } - if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) { - throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number"); - } - if (allowH2 != null && typeof allowH2 !== "boolean") { - throw new InvalidArgumentError("allowH2 must be a valid boolean value"); - } - if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) { - throw new InvalidArgumentError("maxConcurrentStreams must be a possitive integer, greater than 0"); - } - if (typeof connect2 !== "function") { - connect2 = buildConnector({ - ...tls, - maxCachedSessions, - allowH2, - socketPath, - timeout: connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, - ...connect2 - }); - } - this[kInterceptors] = interceptors && interceptors.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })]; - this[kUrl] = util.parseOrigin(url); - this[kConnector] = connect2; - this[kSocket] = null; - this[kPipelining] = pipelining != null ? pipelining : 1; - this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize; - this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout; - this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout; - this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold; - this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]; - this[kServerName] = null; - this[kLocalAddress] = localAddress != null ? localAddress : null; - this[kResuming] = 0; - this[kNeedDrain] = 0; - this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r -`; - this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5; - this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5; - this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength; - this[kMaxRedirections] = maxRedirections; - this[kMaxRequests] = maxRequestsPerClient; - this[kClosedResolve] = null; - this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1; - this[kHTTPConnVersion] = "h1"; - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = !allowH2 ? null : { - // streams: null, // Fixed queue of streams - For future support of `push` - openStreams: 0, - // Keep track of them to decide wether or not unref the session - maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100 - // Max peerConcurrentStreams for a Node h2 server - }; - this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`; - this[kQueue] = []; - this[kRunningIdx] = 0; - this[kPendingIdx] = 0; - } - get pipelining() { - return this[kPipelining]; - } - set pipelining(value) { - this[kPipelining] = value; - resume(this, true); - } - get [kPending]() { - return this[kQueue].length - this[kPendingIdx]; - } - get [kRunning]() { - return this[kPendingIdx] - this[kRunningIdx]; - } - get [kSize]() { - return this[kQueue].length - this[kRunningIdx]; - } - get [kConnected]() { - return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed; - } - get [kBusy]() { - const socket = this[kSocket]; - return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0; - } - /* istanbul ignore: only used for test */ - [kConnect](cb2) { - connect(this); - this.once("connect", cb2); - } - [kDispatch](opts, handler) { - const origin = opts.origin || this[kUrl].origin; - const request = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler) : Request[kHTTP1BuildRequest](origin, opts, handler); - this[kQueue].push(request); - if (this[kResuming]) { - } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) { - this[kResuming] = 1; - process.nextTick(resume, this); - } else { - resume(this, true); - } - if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) { - this[kNeedDrain] = 2; - } - return this[kNeedDrain] < 2; - } - async [kClose]() { - return new Promise((resolve4) => { - if (!this[kSize]) { - resolve4(null); - } else { - this[kClosedResolve] = resolve4; - } - }); - } - async [kDestroy](err) { - return new Promise((resolve4) => { - const requests = this[kQueue].splice(this[kPendingIdx]); - for (let i7 = 0; i7 < requests.length; i7++) { - const request = requests[i7]; - errorRequest(this, request, err); - } - const callback = () => { - if (this[kClosedResolve]) { - this[kClosedResolve](); - this[kClosedResolve] = null; - } - resolve4(); - }; - if (this[kHTTP2Session] != null) { - util.destroy(this[kHTTP2Session], err); - this[kHTTP2Session] = null; - this[kHTTP2SessionState] = null; - } - if (!this[kSocket]) { - queueMicrotask(callback); - } else { - util.destroy(this[kSocket].on("close", callback), err); - } - resume(this); - }); - } - }; - function onHttp2SessionError(err) { - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - this[kSocket][kError] = err; - onError(this[kClient], err); - } - function onHttp2FrameError(type, code, id4) { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); - if (id4 === 0) { - this[kSocket][kError] = err; - onError(this[kClient], err); - } - } - function onHttp2SessionEnd() { - util.destroy(this, new SocketError("other side closed")); - util.destroy(this[kSocket], new SocketError("other side closed")); - } - function onHTTP2GoAway(code) { - const client = this[kClient]; - const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`); - client[kSocket] = null; - client[kHTTP2Session] = null; - if (client.destroyed) { - assert(this[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i7 = 0; i7 < requests.length; i7++) { - const request = requests[i7]; - errorRequest(this, request, err); - } - } else if (client[kRunning] > 0) { - const request = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest(client, request, err); - } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit( - "disconnect", - client[kUrl], - [client], - err - ); - resume(client); - } - var constants2 = require_constants3(); - var createRedirectInterceptor = require_redirectInterceptor(); - var EMPTY_BUF = Buffer.alloc(0); - async function lazyllhttp() { - const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0; - let mod; - try { - mod = await WebAssembly.compile(Buffer.from(require_llhttp_simd_wasm(), "base64")); - } catch (e6) { - mod = await WebAssembly.compile(Buffer.from(llhttpWasmData || require_llhttp_wasm(), "base64")); - } - return await WebAssembly.instantiate(mod, { - env: { - /* eslint-disable camelcase */ - wasm_on_url: (p5, at3, len) => { - return 0; - }, - wasm_on_status: (p5, at3, len) => { - assert.strictEqual(currentParser.ptr, p5); - const start = at3 - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_message_begin: (p5) => { - assert.strictEqual(currentParser.ptr, p5); - return currentParser.onMessageBegin() || 0; - }, - wasm_on_header_field: (p5, at3, len) => { - assert.strictEqual(currentParser.ptr, p5); - const start = at3 - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_header_value: (p5, at3, len) => { - assert.strictEqual(currentParser.ptr, p5); - const start = at3 - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_headers_complete: (p5, statusCode, upgrade, shouldKeepAlive) => { - assert.strictEqual(currentParser.ptr, p5); - return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0; - }, - wasm_on_body: (p5, at3, len) => { - assert.strictEqual(currentParser.ptr, p5); - const start = at3 - currentBufferPtr + currentBufferRef.byteOffset; - return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0; - }, - wasm_on_message_complete: (p5) => { - assert.strictEqual(currentParser.ptr, p5); - return currentParser.onMessageComplete() || 0; - } - /* eslint-enable camelcase */ - } - }); - } - var llhttpInstance = null; - var llhttpPromise = lazyllhttp(); - llhttpPromise.catch(); - var currentParser = null; - var currentBufferRef = null; - var currentBufferSize = 0; - var currentBufferPtr = null; - var TIMEOUT_HEADERS = 1; - var TIMEOUT_BODY = 2; - var TIMEOUT_IDLE = 3; - var Parser = class { - constructor(client, socket, { exports: exports3 }) { - assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0); - this.llhttp = exports3; - this.ptr = this.llhttp.llhttp_alloc(constants2.TYPE.RESPONSE); - this.client = client; - this.socket = socket; - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.statusCode = null; - this.statusText = ""; - this.upgrade = false; - this.headers = []; - this.headersSize = 0; - this.headersMaxSize = client[kMaxHeadersSize]; - this.shouldKeepAlive = false; - this.paused = false; - this.resume = this.resume.bind(this); - this.bytesRead = 0; - this.keepAlive = ""; - this.contentLength = ""; - this.connection = ""; - this.maxResponseSize = client[kMaxResponseSize]; - } - setTimeout(value, type) { - this.timeoutType = type; - if (value !== this.timeoutValue) { - timers.clearTimeout(this.timeout); - if (value) { - this.timeout = timers.setTimeout(onParserTimeout, value, this); - if (this.timeout.unref) { - this.timeout.unref(); - } - } else { - this.timeout = null; - } - this.timeoutValue = value; - } else if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - } - resume() { - if (this.socket.destroyed || !this.paused) { - return; - } - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_resume(this.ptr); - assert(this.timeoutType === TIMEOUT_BODY); - if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - this.paused = false; - this.execute(this.socket.read() || EMPTY_BUF); - this.readMore(); - } - readMore() { - while (!this.paused && this.ptr) { - const chunk = this.socket.read(); - if (chunk === null) { - break; - } - this.execute(chunk); - } - } - execute(data) { - assert(this.ptr != null); - assert(currentParser == null); - assert(!this.paused); - const { socket, llhttp } = this; - if (data.length > currentBufferSize) { - if (currentBufferPtr) { - llhttp.free(currentBufferPtr); - } - currentBufferSize = Math.ceil(data.length / 4096) * 4096; - currentBufferPtr = llhttp.malloc(currentBufferSize); - } - new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data); - try { - let ret; - try { - currentBufferRef = data; - currentParser = this; - ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length); - } catch (err) { - throw err; - } finally { - currentParser = null; - currentBufferRef = null; - } - const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr; - if (ret === constants2.ERROR.PAUSED_UPGRADE) { - this.onUpgrade(data.slice(offset)); - } else if (ret === constants2.ERROR.PAUSED) { - this.paused = true; - socket.unshift(data.slice(offset)); - } else if (ret !== constants2.ERROR.OK) { - const ptr = llhttp.llhttp_get_error_reason(this.ptr); - let message = ""; - if (ptr) { - const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0); - message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")"; - } - throw new HTTPParserError(message, constants2.ERROR[ret], data.slice(offset)); - } - } catch (err) { - util.destroy(socket, err); - } - } - destroy() { - assert(this.ptr != null); - assert(currentParser == null); - this.llhttp.llhttp_free(this.ptr); - this.ptr = null; - timers.clearTimeout(this.timeout); - this.timeout = null; - this.timeoutValue = null; - this.timeoutType = null; - this.paused = false; - } - onStatus(buf) { - this.statusText = buf.toString(); - } - onMessageBegin() { - const { socket, client } = this; - if (socket.destroyed) { - return -1; - } - const request = client[kQueue][client[kRunningIdx]]; - if (!request) { - return -1; - } - } - onHeaderField(buf) { - const len = this.headers.length; - if ((len & 1) === 0) { - this.headers.push(buf); - } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); - } - this.trackHeader(buf.length); - } - onHeaderValue(buf) { - let len = this.headers.length; - if ((len & 1) === 1) { - this.headers.push(buf); - len += 1; - } else { - this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]); - } - const key = this.headers[len - 2]; - if (key.length === 10 && key.toString().toLowerCase() === "keep-alive") { - this.keepAlive += buf.toString(); - } else if (key.length === 10 && key.toString().toLowerCase() === "connection") { - this.connection += buf.toString(); - } else if (key.length === 14 && key.toString().toLowerCase() === "content-length") { - this.contentLength += buf.toString(); - } - this.trackHeader(buf.length); - } - trackHeader(len) { - this.headersSize += len; - if (this.headersSize >= this.headersMaxSize) { - util.destroy(this.socket, new HeadersOverflowError()); - } - } - onUpgrade(head) { - const { upgrade, client, socket, headers, statusCode } = this; - assert(upgrade); - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert(!socket.destroyed); - assert(socket === client[kSocket]); - assert(!this.paused); - assert(request.upgrade || request.method === "CONNECT"); - this.statusCode = null; - this.statusText = ""; - this.shouldKeepAlive = null; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - socket.unshift(head); - socket[kParser].destroy(); - socket[kParser] = null; - socket[kClient] = null; - socket[kError] = null; - socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose); - client[kSocket] = null; - client[kQueue][client[kRunningIdx]++] = null; - client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade")); - try { - request.onUpgrade(statusCode, headers, socket); - } catch (err) { - util.destroy(socket, err); - } - resume(client); - } - onHeadersComplete(statusCode, upgrade, shouldKeepAlive) { - const { client, socket, headers, statusText } = this; - if (socket.destroyed) { - return -1; - } - const request = client[kQueue][client[kRunningIdx]]; - if (!request) { - return -1; - } - assert(!this.upgrade); - assert(this.statusCode < 200); - if (statusCode === 100) { - util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket))); - return -1; - } - if (upgrade && !request.upgrade) { - util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket))); - return -1; - } - assert.strictEqual(this.timeoutType, TIMEOUT_HEADERS); - this.statusCode = statusCode; - this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD. - request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive"; - if (this.statusCode >= 200) { - const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout]; - this.setTimeout(bodyTimeout, TIMEOUT_BODY); - } else if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - if (request.method === "CONNECT") { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; - } - if (upgrade) { - assert(client[kRunning] === 1); - this.upgrade = true; - return 2; - } - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - if (this.shouldKeepAlive && client[kPipelining]) { - const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null; - if (keepAliveTimeout != null) { - const timeout = Math.min( - keepAliveTimeout - client[kKeepAliveTimeoutThreshold], - client[kKeepAliveMaxTimeout] - ); - if (timeout <= 0) { - socket[kReset] = true; - } else { - client[kKeepAliveTimeoutValue] = timeout; - } - } else { - client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]; - } - } else { - socket[kReset] = true; - } - const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false; - if (request.aborted) { - return -1; - } - if (request.method === "HEAD") { - return 1; - } - if (statusCode < 200) { - return 1; - } - if (socket[kBlocking]) { - socket[kBlocking] = false; - resume(client); - } - return pause ? constants2.ERROR.PAUSED : 0; - } - onBody(buf) { - const { client, socket, statusCode, maxResponseSize } = this; - if (socket.destroyed) { - return -1; - } - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert.strictEqual(this.timeoutType, TIMEOUT_BODY); - if (this.timeout) { - if (this.timeout.refresh) { - this.timeout.refresh(); - } - } - assert(statusCode >= 200); - if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) { - util.destroy(socket, new ResponseExceededMaxSizeError()); - return -1; - } - this.bytesRead += buf.length; - if (request.onData(buf) === false) { - return constants2.ERROR.PAUSED; - } - } - onMessageComplete() { - const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this; - if (socket.destroyed && (!statusCode || shouldKeepAlive)) { - return -1; - } - if (upgrade) { - return; - } - const request = client[kQueue][client[kRunningIdx]]; - assert(request); - assert(statusCode >= 100); - this.statusCode = null; - this.statusText = ""; - this.bytesRead = 0; - this.contentLength = ""; - this.keepAlive = ""; - this.connection = ""; - assert(this.headers.length % 2 === 0); - this.headers = []; - this.headersSize = 0; - if (statusCode < 200) { - return; - } - if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) { - util.destroy(socket, new ResponseContentLengthMismatchError()); - return -1; - } - request.onComplete(headers); - client[kQueue][client[kRunningIdx]++] = null; - if (socket[kWriting]) { - assert.strictEqual(client[kRunning], 0); - util.destroy(socket, new InformationalError("reset")); - return constants2.ERROR.PAUSED; - } else if (!shouldKeepAlive) { - util.destroy(socket, new InformationalError("reset")); - return constants2.ERROR.PAUSED; - } else if (socket[kReset] && client[kRunning] === 0) { - util.destroy(socket, new InformationalError("reset")); - return constants2.ERROR.PAUSED; - } else if (client[kPipelining] === 1) { - setImmediate(resume, client); - } else { - resume(client); - } - } - }; - function onParserTimeout(parser) { - const { socket, timeoutType, client } = parser; - if (timeoutType === TIMEOUT_HEADERS) { - if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) { - assert(!parser.paused, "cannot be paused while waiting for headers"); - util.destroy(socket, new HeadersTimeoutError()); - } - } else if (timeoutType === TIMEOUT_BODY) { - if (!parser.paused) { - util.destroy(socket, new BodyTimeoutError()); - } - } else if (timeoutType === TIMEOUT_IDLE) { - assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]); - util.destroy(socket, new InformationalError("socket idle timeout")); - } - } - function onSocketReadable() { - const { [kParser]: parser } = this; - if (parser) { - parser.readMore(); - } - } - function onSocketError(err) { - const { [kClient]: client, [kParser]: parser } = this; - assert(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID"); - if (client[kHTTPConnVersion] !== "h2") { - if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; - } - } - this[kError] = err; - onError(this[kClient], err); - } - function onError(client, err) { - if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") { - assert(client[kPendingIdx] === client[kRunningIdx]); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i7 = 0; i7 < requests.length; i7++) { - const request = requests[i7]; - errorRequest(client, request, err); - } - assert(client[kSize] === 0); - } - } - function onSocketEnd() { - const { [kParser]: parser, [kClient]: client } = this; - if (client[kHTTPConnVersion] !== "h2") { - if (parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - return; - } - } - util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this))); - } - function onSocketClose() { - const { [kClient]: client, [kParser]: parser } = this; - if (client[kHTTPConnVersion] === "h1" && parser) { - if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) { - parser.onMessageComplete(); - } - this[kParser].destroy(); - this[kParser] = null; - } - const err = this[kError] || new SocketError("closed", util.getSocketInfo(this)); - client[kSocket] = null; - if (client.destroyed) { - assert(client[kPending] === 0); - const requests = client[kQueue].splice(client[kRunningIdx]); - for (let i7 = 0; i7 < requests.length; i7++) { - const request = requests[i7]; - errorRequest(client, request, err); - } - } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") { - const request = client[kQueue][client[kRunningIdx]]; - client[kQueue][client[kRunningIdx]++] = null; - errorRequest(client, request, err); - } - client[kPendingIdx] = client[kRunningIdx]; - assert(client[kRunning] === 0); - client.emit("disconnect", client[kUrl], [client], err); - resume(client); - } - async function connect(client) { - assert(!client[kConnecting]); - assert(!client[kSocket]); - let { host, hostname, protocol, port } = client[kUrl]; - if (hostname[0] === "[") { - const idx = hostname.indexOf("]"); - assert(idx !== -1); - const ip3 = hostname.substring(1, idx); - assert(net.isIP(ip3)); - hostname = ip3; - } - client[kConnecting] = true; - if (channels.beforeConnect.hasSubscribers) { - channels.beforeConnect.publish({ - connectParams: { - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, - connector: client[kConnector] - }); - } - try { - const socket = await new Promise((resolve4, reject) => { - client[kConnector]({ - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, (err, socket2) => { - if (err) { - reject(err); - } else { - resolve4(socket2); - } - }); - }); - if (client.destroyed) { - util.destroy(socket.on("error", () => { - }), new ClientDestroyedError()); - return; - } - client[kConnecting] = false; - assert(socket); - const isH2 = socket.alpnProtocol === "h2"; - if (isH2) { - if (!h2ExperimentalWarned) { - h2ExperimentalWarned = true; - process.emitWarning("H2 support is experimental, expect them to change at any time.", { - code: "UNDICI-H2" - }); - } - const session = http2.connect(client[kUrl], { - createConnection: () => socket, - peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams - }); - client[kHTTPConnVersion] = "h2"; - session[kClient] = client; - session[kSocket] = socket; - session.on("error", onHttp2SessionError); - session.on("frameError", onHttp2FrameError); - session.on("end", onHttp2SessionEnd); - session.on("goaway", onHTTP2GoAway); - session.on("close", onSocketClose); - session.unref(); - client[kHTTP2Session] = session; - socket[kHTTP2Session] = session; - } else { - if (!llhttpInstance) { - llhttpInstance = await llhttpPromise; - llhttpPromise = null; - } - socket[kNoRef] = false; - socket[kWriting] = false; - socket[kReset] = false; - socket[kBlocking] = false; - socket[kParser] = new Parser(client, socket, llhttpInstance); - } - socket[kCounter] = 0; - socket[kMaxRequests] = client[kMaxRequests]; - socket[kClient] = client; - socket[kError] = null; - socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose); - client[kSocket] = socket; - if (channels.connected.hasSubscribers) { - channels.connected.publish({ - connectParams: { - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, - connector: client[kConnector], - socket - }); - } - client.emit("connect", client[kUrl], [client]); - } catch (err) { - if (client.destroyed) { - return; - } - client[kConnecting] = false; - if (channels.connectError.hasSubscribers) { - channels.connectError.publish({ - connectParams: { - host, - hostname, - protocol, - port, - servername: client[kServerName], - localAddress: client[kLocalAddress] - }, - connector: client[kConnector], - error: err - }); - } - if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") { - assert(client[kRunning] === 0); - while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) { - const request = client[kQueue][client[kPendingIdx]++]; - errorRequest(client, request, err); - } - } else { - onError(client, err); - } - client.emit("connectionError", client[kUrl], [client], err); - } - resume(client); - } - function emitDrain(client) { - client[kNeedDrain] = 0; - client.emit("drain", client[kUrl], [client]); - } - function resume(client, sync) { - if (client[kResuming] === 2) { - return; - } - client[kResuming] = 2; - _resume(client, sync); - client[kResuming] = 0; - if (client[kRunningIdx] > 256) { - client[kQueue].splice(0, client[kRunningIdx]); - client[kPendingIdx] -= client[kRunningIdx]; - client[kRunningIdx] = 0; - } - } - function _resume(client, sync) { - while (true) { - if (client.destroyed) { - assert(client[kPending] === 0); - return; - } - if (client[kClosedResolve] && !client[kSize]) { - client[kClosedResolve](); - client[kClosedResolve] = null; - return; - } - const socket = client[kSocket]; - if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") { - if (client[kSize] === 0) { - if (!socket[kNoRef] && socket.unref) { - socket.unref(); - socket[kNoRef] = true; - } - } else if (socket[kNoRef] && socket.ref) { - socket.ref(); - socket[kNoRef] = false; - } - if (client[kSize] === 0) { - if (socket[kParser].timeoutType !== TIMEOUT_IDLE) { - socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE); - } - } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) { - if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) { - const request2 = client[kQueue][client[kRunningIdx]]; - const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout]; - socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS); - } - } - } - if (client[kBusy]) { - client[kNeedDrain] = 2; - } else if (client[kNeedDrain] === 2) { - if (sync) { - client[kNeedDrain] = 1; - process.nextTick(emitDrain, client); - } else { - emitDrain(client); - } - continue; - } - if (client[kPending] === 0) { - return; - } - if (client[kRunning] >= (client[kPipelining] || 1)) { - return; - } - const request = client[kQueue][client[kPendingIdx]]; - if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) { - if (client[kRunning] > 0) { - return; - } - client[kServerName] = request.servername; - if (socket && socket.servername !== request.servername) { - util.destroy(socket, new InformationalError("servername changed")); - return; - } - } - if (client[kConnecting]) { - return; - } - if (!socket && !client[kHTTP2Session]) { - connect(client); - return; - } - if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) { - return; - } - if (client[kRunning] > 0 && !request.idempotent) { - return; - } - if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) { - return; - } - if (client[kRunning] > 0 && util.bodyLength(request.body) !== 0 && (util.isStream(request.body) || util.isAsyncIterable(request.body))) { - return; - } - if (!request.aborted && write(client, request)) { - client[kPendingIdx]++; - } else { - client[kQueue].splice(client[kPendingIdx], 1); - } - } - } - function shouldSendContentLength(method) { - return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT"; - } - function write(client, request) { - if (client[kHTTPConnVersion] === "h2") { - writeH2(client, client[kHTTP2Session], request); - return; - } - const { body, method, path, host, upgrade, headers, blocking, reset } = request; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - const bodyLength = util.bodyLength(body); - let contentLength = bodyLength; - if (contentLength === null) { - contentLength = request.contentLength; - } - if (contentLength === 0 && !expectsPayload) { - contentLength = null; - } - if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) { - if (client[kStrictContentLength]) { - errorRequest(client, request, new RequestContentLengthMismatchError()); - return false; - } - process.emitWarning(new RequestContentLengthMismatchError()); - } - const socket = client[kSocket]; - try { - request.onConnect((err) => { - if (request.aborted || request.completed) { - return; - } - errorRequest(client, request, err || new RequestAbortedError()); - util.destroy(socket, new InformationalError("aborted")); - }); - } catch (err) { - errorRequest(client, request, err); - } - if (request.aborted) { - return false; - } - if (method === "HEAD") { - socket[kReset] = true; - } - if (upgrade || method === "CONNECT") { - socket[kReset] = true; - } - if (reset != null) { - socket[kReset] = reset; - } - if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) { - socket[kReset] = true; - } - if (blocking) { - socket[kBlocking] = true; - } - let header = `${method} ${path} HTTP/1.1\r -`; - if (typeof host === "string") { - header += `host: ${host}\r -`; - } else { - header += client[kHostHeader]; - } - if (upgrade) { - header += `connection: upgrade\r -upgrade: ${upgrade}\r -`; - } else if (client[kPipelining] && !socket[kReset]) { - header += "connection: keep-alive\r\n"; - } else { - header += "connection: close\r\n"; - } - if (headers) { - header += headers; - } - if (channels.sendHeaders.hasSubscribers) { - channels.sendHeaders.publish({ request, headers: header, socket }); - } - if (!body || bodyLength === 0) { - if (contentLength === 0) { - socket.write(`${header}content-length: 0\r -\r -`, "latin1"); - } else { - assert(contentLength === null, "no body must not have content length"); - socket.write(`${header}\r -`, "latin1"); - } - request.onRequestSent(); - } else if (util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - socket.write(body); - socket.uncork(); - request.onBodySent(body); - request.onRequestSent(); - if (!expectsPayload) { - socket[kReset] = true; - } - } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload }); - } else { - writeBlob({ body, client, request, socket, contentLength, header, expectsPayload }); - } - } else if (util.isStream(body)) { - writeStream({ body, client, request, socket, contentLength, header, expectsPayload }); - } else if (util.isIterable(body)) { - writeIterable({ body, client, request, socket, contentLength, header, expectsPayload }); - } else { - assert(false); - } - return true; - } - function writeH2(client, session, request) { - const { body, method, path, host, upgrade, expectContinue, signal, headers: reqHeaders } = request; - let headers; - if (typeof reqHeaders === "string") headers = Request[kHTTP2CopyHeaders](reqHeaders.trim()); - else headers = reqHeaders; - if (upgrade) { - errorRequest(client, request, new Error("Upgrade not supported for H2")); - return false; - } - try { - request.onConnect((err) => { - if (request.aborted || request.completed) { - return; - } - errorRequest(client, request, err || new RequestAbortedError()); - }); - } catch (err) { - errorRequest(client, request, err); - } - if (request.aborted) { - return false; - } - let stream; - const h2State = client[kHTTP2SessionState]; - headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost]; - headers[HTTP2_HEADER_METHOD] = method; - if (method === "CONNECT") { - session.ref(); - stream = session.request(headers, { endStream: false, signal }); - if (stream.id && !stream.pending) { - request.onUpgrade(null, null, stream); - ++h2State.openStreams; - } else { - stream.once("ready", () => { - request.onUpgrade(null, null, stream); - ++h2State.openStreams; - }); - } - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) session.unref(); - }); - return true; - } - headers[HTTP2_HEADER_PATH] = path; - headers[HTTP2_HEADER_SCHEME] = "https"; - const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH"; - if (body && typeof body.read === "function") { - body.read(0); - } - let contentLength = util.bodyLength(body); - if (contentLength == null) { - contentLength = request.contentLength; - } - if (contentLength === 0 || !expectsPayload) { - contentLength = null; - } - if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) { - if (client[kStrictContentLength]) { - errorRequest(client, request, new RequestContentLengthMismatchError()); - return false; - } - process.emitWarning(new RequestContentLengthMismatchError()); - } - if (contentLength != null) { - assert(body, "no body must not have content length"); - headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`; - } - session.ref(); - const shouldEndStream = method === "GET" || method === "HEAD"; - if (expectContinue) { - headers[HTTP2_HEADER_EXPECT] = "100-continue"; - stream = session.request(headers, { endStream: shouldEndStream, signal }); - stream.once("continue", writeBodyH2); - } else { - stream = session.request(headers, { - endStream: shouldEndStream, - signal - }); - writeBodyH2(); - } - ++h2State.openStreams; - stream.once("response", (headers2) => { - const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2; - if (request.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) { - stream.pause(); - } - }); - stream.once("end", () => { - request.onComplete([]); - }); - stream.on("data", (chunk) => { - if (request.onData(chunk) === false) { - stream.pause(); - } - }); - stream.once("close", () => { - h2State.openStreams -= 1; - if (h2State.openStreams === 0) { - session.unref(); - } - }); - stream.once("error", function(err) { - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util.destroy(stream, err); - } - }); - stream.once("frameError", (type, code) => { - const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`); - errorRequest(client, request, err); - if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) { - h2State.streams -= 1; - util.destroy(stream, err); - } - }); - return true; - function writeBodyH2() { - if (!body) { - request.onRequestSent(); - } else if (util.isBuffer(body)) { - assert(contentLength === body.byteLength, "buffer body must have content length"); - stream.cork(); - stream.write(body); - stream.uncork(); - stream.end(); - request.onBodySent(body); - request.onRequestSent(); - } else if (util.isBlobLike(body)) { - if (typeof body.stream === "function") { - writeIterable({ - client, - request, - contentLength, - h2stream: stream, - expectsPayload, - body: body.stream(), - socket: client[kSocket], - header: "" - }); - } else { - writeBlob({ - body, - client, - request, - contentLength, - expectsPayload, - h2stream: stream, - header: "", - socket: client[kSocket] - }); - } - } else if (util.isStream(body)) { - writeStream({ - body, - client, - request, - contentLength, - expectsPayload, - socket: client[kSocket], - h2stream: stream, - header: "" - }); - } else if (util.isIterable(body)) { - writeIterable({ - body, - client, - request, - contentLength, - expectsPayload, - header: "", - h2stream: stream, - socket: client[kSocket] - }); - } else { - assert(false); - } - } - } - function writeStream({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined"); - if (client[kHTTPConnVersion] === "h2") { - let onPipeData = function(chunk) { - request.onBodySent(chunk); - }; - const pipe = pipeline( - body, - h2stream, - (err) => { - if (err) { - util.destroy(body, err); - util.destroy(h2stream, err); - } else { - request.onRequestSent(); - } - } - ); - pipe.on("data", onPipeData); - pipe.once("end", () => { - pipe.removeListener("data", onPipeData); - util.destroy(pipe); - }); - return; - } - let finished = false; - const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); - const onData = function(chunk) { - if (finished) { - return; - } - try { - if (!writer.write(chunk) && this.pause) { - this.pause(); - } - } catch (err) { - util.destroy(this, err); - } - }; - const onDrain = function() { - if (finished) { - return; - } - if (body.resume) { - body.resume(); - } - }; - const onAbort = function() { - if (finished) { - return; - } - const err = new RequestAbortedError(); - queueMicrotask(() => onFinished(err)); - }; - const onFinished = function(err) { - if (finished) { - return; - } - finished = true; - assert(socket.destroyed || socket[kWriting] && client[kRunning] <= 1); - socket.off("drain", onDrain).off("error", onFinished); - body.removeListener("data", onData).removeListener("end", onFinished).removeListener("error", onFinished).removeListener("close", onAbort); - if (!err) { - try { - writer.end(); - } catch (er5) { - err = er5; - } - } - writer.destroy(err); - if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) { - util.destroy(body, err); - } else { - util.destroy(body); - } - }; - body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onAbort); - if (body.resume) { - body.resume(); - } - socket.on("drain", onDrain).on("error", onFinished); - } - async function writeBlob({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength === body.size, "blob body must have content length"); - const isH2 = client[kHTTPConnVersion] === "h2"; - try { - if (contentLength != null && contentLength !== body.size) { - throw new RequestContentLengthMismatchError(); - } - const buffer = Buffer.from(await body.arrayBuffer()); - if (isH2) { - h2stream.cork(); - h2stream.write(buffer); - h2stream.uncork(); - } else { - socket.cork(); - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - socket.write(buffer); - socket.uncork(); - } - request.onBodySent(buffer); - request.onRequestSent(); - if (!expectsPayload) { - socket[kReset] = true; - } - resume(client); - } catch (err) { - util.destroy(isH2 ? h2stream : socket, err); - } - } - async function writeIterable({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) { - assert(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined"); - let callback = null; - function onDrain() { - if (callback) { - const cb2 = callback; - callback = null; - cb2(); - } - } - const waitForDrain = () => new Promise((resolve4, reject) => { - assert(callback === null); - if (socket[kError]) { - reject(socket[kError]); - } else { - callback = resolve4; - } - }); - if (client[kHTTPConnVersion] === "h2") { - h2stream.on("close", onDrain).on("drain", onDrain); - try { - for await (const chunk of body) { - if (socket[kError]) { - throw socket[kError]; - } - const res = h2stream.write(chunk); - request.onBodySent(chunk); - if (!res) { - await waitForDrain(); - } - } - } catch (err) { - h2stream.destroy(err); - } finally { - request.onRequestSent(); - h2stream.end(); - h2stream.off("close", onDrain).off("drain", onDrain); - } - return; - } - socket.on("close", onDrain).on("drain", onDrain); - const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header }); - try { - for await (const chunk of body) { - if (socket[kError]) { - throw socket[kError]; - } - if (!writer.write(chunk)) { - await waitForDrain(); - } - } - writer.end(); - } catch (err) { - writer.destroy(err); - } finally { - socket.off("close", onDrain).off("drain", onDrain); - } - } - var AsyncWriter = class { - constructor({ socket, request, contentLength, client, expectsPayload, header }) { - this.socket = socket; - this.request = request; - this.contentLength = contentLength; - this.client = client; - this.bytesWritten = 0; - this.expectsPayload = expectsPayload; - this.header = header; - socket[kWriting] = true; - } - write(chunk) { - const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this; - if (socket[kError]) { - throw socket[kError]; - } - if (socket.destroyed) { - return false; - } - const len = Buffer.byteLength(chunk); - if (!len) { - return true; - } - if (contentLength !== null && bytesWritten + len > contentLength) { - if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); - } - process.emitWarning(new RequestContentLengthMismatchError()); - } - socket.cork(); - if (bytesWritten === 0) { - if (!expectsPayload) { - socket[kReset] = true; - } - if (contentLength === null) { - socket.write(`${header}transfer-encoding: chunked\r -`, "latin1"); - } else { - socket.write(`${header}content-length: ${contentLength}\r -\r -`, "latin1"); - } - } - if (contentLength === null) { - socket.write(`\r -${len.toString(16)}\r -`, "latin1"); - } - this.bytesWritten += len; - const ret = socket.write(chunk); - socket.uncork(); - request.onBodySent(chunk); - if (!ret) { - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { - if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); - } - } - } - return ret; - } - end() { - const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this; - request.onRequestSent(); - socket[kWriting] = false; - if (socket[kError]) { - throw socket[kError]; - } - if (socket.destroyed) { - return; - } - if (bytesWritten === 0) { - if (expectsPayload) { - socket.write(`${header}content-length: 0\r -\r -`, "latin1"); - } else { - socket.write(`${header}\r -`, "latin1"); - } - } else if (contentLength === null) { - socket.write("\r\n0\r\n\r\n", "latin1"); - } - if (contentLength !== null && bytesWritten !== contentLength) { - if (client[kStrictContentLength]) { - throw new RequestContentLengthMismatchError(); - } else { - process.emitWarning(new RequestContentLengthMismatchError()); - } - } - if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) { - if (socket[kParser].timeout.refresh) { - socket[kParser].timeout.refresh(); - } - } - resume(client); - } - destroy(err) { - const { socket, client } = this; - socket[kWriting] = false; - if (err) { - assert(client[kRunning] <= 1, "pipeline should only contain this request"); - util.destroy(socket, err); - } - } - }; - function errorRequest(client, request, err) { - try { - request.onError(err); - assert(request.aborted); - } catch (err2) { - client.emit("error", err2); - } - } - module2.exports = Client; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/node/fixed-queue.js -var require_fixed_queue = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/node/fixed-queue.js"(exports2, module2) { - "use strict"; - var kSize = 2048; - var kMask = kSize - 1; - var FixedCircularBuffer = class { - constructor() { - this.bottom = 0; - this.top = 0; - this.list = new Array(kSize); - this.next = null; - } - isEmpty() { - return this.top === this.bottom; - } - isFull() { - return (this.top + 1 & kMask) === this.bottom; - } - push(data) { - this.list[this.top] = data; - this.top = this.top + 1 & kMask; - } - shift() { - const nextItem = this.list[this.bottom]; - if (nextItem === void 0) - return null; - this.list[this.bottom] = void 0; - this.bottom = this.bottom + 1 & kMask; - return nextItem; - } - }; - module2.exports = class FixedQueue { - constructor() { - this.head = this.tail = new FixedCircularBuffer(); - } - isEmpty() { - return this.head.isEmpty(); - } - push(data) { - if (this.head.isFull()) { - this.head = this.head.next = new FixedCircularBuffer(); - } - this.head.push(data); - } - shift() { - const tail = this.tail; - const next = tail.shift(); - if (tail.isEmpty() && tail.next !== null) { - this.tail = tail.next; - } - return next; - } - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/pool-stats.js -var require_pool_stats = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/pool-stats.js"(exports2, module2) { - var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols(); - var kPool = /* @__PURE__ */ Symbol("pool"); - var PoolStats = class { - constructor(pool) { - this[kPool] = pool; - } - get connected() { - return this[kPool][kConnected]; - } - get free() { - return this[kPool][kFree]; - } - get pending() { - return this[kPool][kPending]; - } - get queued() { - return this[kPool][kQueued]; - } - get running() { - return this[kPool][kRunning]; - } - get size() { - return this[kPool][kSize]; - } - }; - module2.exports = PoolStats; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/pool-base.js -var require_pool_base = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/pool-base.js"(exports2, module2) { - "use strict"; - var DispatcherBase = require_dispatcher_base(); - var FixedQueue = require_fixed_queue(); - var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols(); - var PoolStats = require_pool_stats(); - var kClients = /* @__PURE__ */ Symbol("clients"); - var kNeedDrain = /* @__PURE__ */ Symbol("needDrain"); - var kQueue = /* @__PURE__ */ Symbol("queue"); - var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve"); - var kOnDrain = /* @__PURE__ */ Symbol("onDrain"); - var kOnConnect = /* @__PURE__ */ Symbol("onConnect"); - var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect"); - var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError"); - var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher"); - var kAddClient = /* @__PURE__ */ Symbol("add client"); - var kRemoveClient = /* @__PURE__ */ Symbol("remove client"); - var kStats = /* @__PURE__ */ Symbol("stats"); - var PoolBase = class extends DispatcherBase { - constructor() { - super(); - this[kQueue] = new FixedQueue(); - this[kClients] = []; - this[kQueued] = 0; - const pool = this; - this[kOnDrain] = function onDrain(origin, targets) { - const queue = pool[kQueue]; - let needDrain = false; - while (!needDrain) { - const item = queue.shift(); - if (!item) { - break; - } - pool[kQueued]--; - needDrain = !this.dispatch(item.opts, item.handler); - } - this[kNeedDrain] = needDrain; - if (!this[kNeedDrain] && pool[kNeedDrain]) { - pool[kNeedDrain] = false; - pool.emit("drain", origin, [pool, ...targets]); - } - if (pool[kClosedResolve] && queue.isEmpty()) { - Promise.all(pool[kClients].map((c6) => c6.close())).then(pool[kClosedResolve]); - } - }; - this[kOnConnect] = (origin, targets) => { - pool.emit("connect", origin, [pool, ...targets]); - }; - this[kOnDisconnect] = (origin, targets, err) => { - pool.emit("disconnect", origin, [pool, ...targets], err); - }; - this[kOnConnectionError] = (origin, targets, err) => { - pool.emit("connectionError", origin, [pool, ...targets], err); - }; - this[kStats] = new PoolStats(this); - } - get [kBusy]() { - return this[kNeedDrain]; - } - get [kConnected]() { - return this[kClients].filter((client) => client[kConnected]).length; - } - get [kFree]() { - return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length; - } - get [kPending]() { - let ret = this[kQueued]; - for (const { [kPending]: pending } of this[kClients]) { - ret += pending; - } - return ret; - } - get [kRunning]() { - let ret = 0; - for (const { [kRunning]: running } of this[kClients]) { - ret += running; - } - return ret; - } - get [kSize]() { - let ret = this[kQueued]; - for (const { [kSize]: size } of this[kClients]) { - ret += size; - } - return ret; - } - get stats() { - return this[kStats]; - } - async [kClose]() { - if (this[kQueue].isEmpty()) { - return Promise.all(this[kClients].map((c6) => c6.close())); - } else { - return new Promise((resolve4) => { - this[kClosedResolve] = resolve4; - }); - } - } - async [kDestroy](err) { - while (true) { - const item = this[kQueue].shift(); - if (!item) { - break; - } - item.handler.onError(err); - } - return Promise.all(this[kClients].map((c6) => c6.destroy(err))); - } - [kDispatch](opts, handler) { - const dispatcher = this[kGetDispatcher](); - if (!dispatcher) { - this[kNeedDrain] = true; - this[kQueue].push({ opts, handler }); - this[kQueued]++; - } else if (!dispatcher.dispatch(opts, handler)) { - dispatcher[kNeedDrain] = true; - this[kNeedDrain] = !this[kGetDispatcher](); - } - return !this[kNeedDrain]; - } - [kAddClient](client) { - client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].push(client); - if (this[kNeedDrain]) { - process.nextTick(() => { - if (this[kNeedDrain]) { - this[kOnDrain](client[kUrl], [this, client]); - } - }); - } - return this; - } - [kRemoveClient](client) { - client.close(() => { - const idx = this[kClients].indexOf(client); - if (idx !== -1) { - this[kClients].splice(idx, 1); - } - }); - this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true); - } - }; - module2.exports = { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kRemoveClient, - kGetDispatcher - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/pool.js -var require_pool = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/pool.js"(exports2, module2) { - "use strict"; - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kGetDispatcher - } = require_pool_base(); - var Client = require_client(); - var { - InvalidArgumentError - } = require_errors(); - var util = require_util(); - var { kUrl, kInterceptors } = require_symbols(); - var buildConnector = require_connect(); - var kOptions = /* @__PURE__ */ Symbol("options"); - var kConnections = /* @__PURE__ */ Symbol("connections"); - var kFactory = /* @__PURE__ */ Symbol("factory"); - function defaultFactory(origin, opts) { - return new Client(origin, opts); - } - var Pool = class extends PoolBase { - constructor(origin, { - connections, - factory = defaultFactory, - connect, - connectTimeout, - tls, - maxCachedSessions, - socketPath, - autoSelectFamily, - autoSelectFamilyAttemptTimeout, - allowH2, - ...options - } = {}) { - super(); - if (connections != null && (!Number.isFinite(connections) || connections < 0)) { - throw new InvalidArgumentError("invalid connections"); - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - if (connect != null && typeof connect !== "function" && typeof connect !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); - } - if (typeof connect !== "function") { - connect = buildConnector({ - ...tls, - maxCachedSessions, - allowH2, - socketPath, - timeout: connectTimeout, - ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0, - ...connect - }); - } - this[kInterceptors] = options.interceptors && options.interceptors.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : []; - this[kConnections] = connections || null; - this[kUrl] = util.parseOrigin(origin); - this[kOptions] = { ...util.deepClone(options), connect, allowH2 }; - this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; - this[kFactory] = factory; - this.on("connectionError", (origin2, targets, error) => { - for (const target of targets) { - const idx = this[kClients].indexOf(target); - if (idx !== -1) { - this[kClients].splice(idx, 1); - } - } - }); - } - [kGetDispatcher]() { - let dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain]); - if (dispatcher) { - return dispatcher; - } - if (!this[kConnections] || this[kClients].length < this[kConnections]) { - dispatcher = this[kFactory](this[kUrl], this[kOptions]); - this[kAddClient](dispatcher); - } - return dispatcher; - } - }; - module2.exports = Pool; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/balanced-pool.js -var require_balanced_pool = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/balanced-pool.js"(exports2, module2) { - "use strict"; - var { - BalancedPoolMissingUpstreamError, - InvalidArgumentError - } = require_errors(); - var { - PoolBase, - kClients, - kNeedDrain, - kAddClient, - kRemoveClient, - kGetDispatcher - } = require_pool_base(); - var Pool = require_pool(); - var { kUrl, kInterceptors } = require_symbols(); - var { parseOrigin } = require_util(); - var kFactory = /* @__PURE__ */ Symbol("factory"); - var kOptions = /* @__PURE__ */ Symbol("options"); - var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor"); - var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight"); - var kIndex = /* @__PURE__ */ Symbol("kIndex"); - var kWeight = /* @__PURE__ */ Symbol("kWeight"); - var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer"); - var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty"); - function getGreatestCommonDivisor(a6, b5) { - if (b5 === 0) return a6; - return getGreatestCommonDivisor(b5, a6 % b5); - } - function defaultFactory(origin, opts) { - return new Pool(origin, opts); - } - var BalancedPool = class extends PoolBase { - constructor(upstreams = [], { factory = defaultFactory, ...opts } = {}) { - super(); - this[kOptions] = opts; - this[kIndex] = -1; - this[kCurrentWeight] = 0; - this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100; - this[kErrorPenalty] = this[kOptions].errorPenalty || 15; - if (!Array.isArray(upstreams)) { - upstreams = [upstreams]; - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - this[kInterceptors] = opts.interceptors && opts.interceptors.BalancedPool && Array.isArray(opts.interceptors.BalancedPool) ? opts.interceptors.BalancedPool : []; - this[kFactory] = factory; - for (const upstream of upstreams) { - this.addUpstream(upstream); - } - this._updateBalancedPoolStats(); - } - addUpstream(upstream) { - const upstreamOrigin = parseOrigin(upstream).origin; - if (this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true)) { - return this; - } - const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions])); - this[kAddClient](pool); - pool.on("connect", () => { - pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty]); - }); - pool.on("connectionError", () => { - pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); - this._updateBalancedPoolStats(); - }); - pool.on("disconnect", (...args) => { - const err = args[2]; - if (err && err.code === "UND_ERR_SOCKET") { - pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty]); - this._updateBalancedPoolStats(); - } - }); - for (const client of this[kClients]) { - client[kWeight] = this[kMaxWeightPerServer]; - } - this._updateBalancedPoolStats(); - return this; - } - _updateBalancedPoolStats() { - this[kGreatestCommonDivisor] = this[kClients].map((p5) => p5[kWeight]).reduce(getGreatestCommonDivisor, 0); - } - removeUpstream(upstream) { - const upstreamOrigin = parseOrigin(upstream).origin; - const pool = this[kClients].find((pool2) => pool2[kUrl].origin === upstreamOrigin && pool2.closed !== true && pool2.destroyed !== true); - if (pool) { - this[kRemoveClient](pool); - } - return this; - } - get upstreams() { - return this[kClients].filter((dispatcher) => dispatcher.closed !== true && dispatcher.destroyed !== true).map((p5) => p5[kUrl].origin); - } - [kGetDispatcher]() { - if (this[kClients].length === 0) { - throw new BalancedPoolMissingUpstreamError(); - } - const dispatcher = this[kClients].find((dispatcher2) => !dispatcher2[kNeedDrain] && dispatcher2.closed !== true && dispatcher2.destroyed !== true); - if (!dispatcher) { - return; - } - const allClientsBusy = this[kClients].map((pool) => pool[kNeedDrain]).reduce((a6, b5) => a6 && b5, true); - if (allClientsBusy) { - return; - } - let counter = 0; - let maxWeightIndex = this[kClients].findIndex((pool) => !pool[kNeedDrain]); - while (counter++ < this[kClients].length) { - this[kIndex] = (this[kIndex] + 1) % this[kClients].length; - const pool = this[kClients][this[kIndex]]; - if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) { - maxWeightIndex = this[kIndex]; - } - if (this[kIndex] === 0) { - this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]; - if (this[kCurrentWeight] <= 0) { - this[kCurrentWeight] = this[kMaxWeightPerServer]; - } - } - if (pool[kWeight] >= this[kCurrentWeight] && !pool[kNeedDrain]) { - return pool; - } - } - this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]; - this[kIndex] = maxWeightIndex; - return this[kClients][maxWeightIndex]; - } - }; - module2.exports = BalancedPool; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/compat/dispatcher-weakref.js -var require_dispatcher_weakref = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/compat/dispatcher-weakref.js"(exports2, module2) { - "use strict"; - var { kConnected, kSize } = require_symbols(); - var CompatWeakRef = class { - constructor(value) { - this.value = value; - } - deref() { - return this.value[kConnected] === 0 && this.value[kSize] === 0 ? void 0 : this.value; - } - }; - var CompatFinalizer = class { - constructor(finalizer) { - this.finalizer = finalizer; - } - register(dispatcher, key) { - if (dispatcher.on) { - dispatcher.on("disconnect", () => { - if (dispatcher[kConnected] === 0 && dispatcher[kSize] === 0) { - this.finalizer(key); - } - }); - } - } - }; - module2.exports = function() { - if (process.env.NODE_V8_COVERAGE) { - return { - WeakRef: CompatWeakRef, - FinalizationRegistry: CompatFinalizer - }; - } - return { - WeakRef: global.WeakRef || CompatWeakRef, - FinalizationRegistry: global.FinalizationRegistry || CompatFinalizer - }; - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/agent.js -var require_agent = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/agent.js"(exports2, module2) { - "use strict"; - var { InvalidArgumentError } = require_errors(); - var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols(); - var DispatcherBase = require_dispatcher_base(); - var Pool = require_pool(); - var Client = require_client(); - var util = require_util(); - var createRedirectInterceptor = require_redirectInterceptor(); - var { WeakRef: WeakRef2, FinalizationRegistry } = require_dispatcher_weakref()(); - var kOnConnect = /* @__PURE__ */ Symbol("onConnect"); - var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect"); - var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError"); - var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections"); - var kOnDrain = /* @__PURE__ */ Symbol("onDrain"); - var kFactory = /* @__PURE__ */ Symbol("factory"); - var kFinalizer = /* @__PURE__ */ Symbol("finalizer"); - var kOptions = /* @__PURE__ */ Symbol("options"); - function defaultFactory(origin, opts) { - return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts); - } - var Agent = class extends DispatcherBase { - constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) { - super(); - if (typeof factory !== "function") { - throw new InvalidArgumentError("factory must be a function."); - } - if (connect != null && typeof connect !== "function" && typeof connect !== "object") { - throw new InvalidArgumentError("connect must be a function or an object"); - } - if (!Number.isInteger(maxRedirections) || maxRedirections < 0) { - throw new InvalidArgumentError("maxRedirections must be a positive number"); - } - if (connect && typeof connect !== "function") { - connect = { ...connect }; - } - this[kInterceptors] = options.interceptors && options.interceptors.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })]; - this[kOptions] = { ...util.deepClone(options), connect }; - this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0; - this[kMaxRedirections] = maxRedirections; - this[kFactory] = factory; - this[kClients] = /* @__PURE__ */ new Map(); - this[kFinalizer] = new FinalizationRegistry( - /* istanbul ignore next: gc is undeterministic */ - (key) => { - const ref = this[kClients].get(key); - if (ref !== void 0 && ref.deref() === void 0) { - this[kClients].delete(key); - } - } - ); - const agent = this; - this[kOnDrain] = (origin, targets) => { - agent.emit("drain", origin, [agent, ...targets]); - }; - this[kOnConnect] = (origin, targets) => { - agent.emit("connect", origin, [agent, ...targets]); - }; - this[kOnDisconnect] = (origin, targets, err) => { - agent.emit("disconnect", origin, [agent, ...targets], err); - }; - this[kOnConnectionError] = (origin, targets, err) => { - agent.emit("connectionError", origin, [agent, ...targets], err); - }; - } - get [kRunning]() { - let ret = 0; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - ret += client[kRunning]; - } - } - return ret; - } - [kDispatch](opts, handler) { - let key; - if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) { - key = String(opts.origin); - } else { - throw new InvalidArgumentError("opts.origin must be a non-empty string or URL."); - } - const ref = this[kClients].get(key); - let dispatcher = ref ? ref.deref() : null; - if (!dispatcher) { - dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]); - this[kClients].set(key, new WeakRef2(dispatcher)); - this[kFinalizer].register(dispatcher, key); - } - return dispatcher.dispatch(opts, handler); - } - async [kClose]() { - const closePromises = []; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - closePromises.push(client.close()); - } - } - await Promise.all(closePromises); - } - async [kDestroy](err) { - const destroyPromises = []; - for (const ref of this[kClients].values()) { - const client = ref.deref(); - if (client) { - destroyPromises.push(client.destroy(err)); - } - } - await Promise.all(destroyPromises); - } - }; - module2.exports = Agent; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/api/readable.js -var require_readable = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/api/readable.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var { Readable } = require("stream"); - var { RequestAbortedError, NotSupportedError, InvalidArgumentError } = require_errors(); - var util = require_util(); - var { ReadableStreamFrom, toUSVString } = require_util(); - var Blob2; - var kConsume = /* @__PURE__ */ Symbol("kConsume"); - var kReading = /* @__PURE__ */ Symbol("kReading"); - var kBody = /* @__PURE__ */ Symbol("kBody"); - var kAbort = /* @__PURE__ */ Symbol("abort"); - var kContentType = /* @__PURE__ */ Symbol("kContentType"); - var noop = () => { - }; - module2.exports = class BodyReadable extends Readable { - constructor({ - resume, - abort, - contentType = "", - highWaterMark = 64 * 1024 - // Same as nodejs fs streams. - }) { - super({ - autoDestroy: true, - read: resume, - highWaterMark - }); - this._readableState.dataEmitted = false; - this[kAbort] = abort; - this[kConsume] = null; - this[kBody] = null; - this[kContentType] = contentType; - this[kReading] = false; - } - destroy(err) { - if (this.destroyed) { - return this; - } - if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); - } - if (err) { - this[kAbort](); - } - return super.destroy(err); - } - emit(ev, ...args) { - if (ev === "data") { - this._readableState.dataEmitted = true; - } else if (ev === "error") { - this._readableState.errorEmitted = true; - } - return super.emit(ev, ...args); - } - on(ev, ...args) { - if (ev === "data" || ev === "readable") { - this[kReading] = true; - } - return super.on(ev, ...args); - } - addListener(ev, ...args) { - return this.on(ev, ...args); - } - off(ev, ...args) { - const ret = super.off(ev, ...args); - if (ev === "data" || ev === "readable") { - this[kReading] = this.listenerCount("data") > 0 || this.listenerCount("readable") > 0; - } - return ret; - } - removeListener(ev, ...args) { - return this.off(ev, ...args); - } - push(chunk) { - if (this[kConsume] && chunk !== null && this.readableLength === 0) { - consumePush(this[kConsume], chunk); - return this[kReading] ? super.push(chunk) : true; - } - return super.push(chunk); - } - // https://fetch.spec.whatwg.org/#dom-body-text - async text() { - return consume(this, "text"); - } - // https://fetch.spec.whatwg.org/#dom-body-json - async json() { - return consume(this, "json"); - } - // https://fetch.spec.whatwg.org/#dom-body-blob - async blob() { - return consume(this, "blob"); - } - // https://fetch.spec.whatwg.org/#dom-body-arraybuffer - async arrayBuffer() { - return consume(this, "arrayBuffer"); - } - // https://fetch.spec.whatwg.org/#dom-body-formdata - async formData() { - throw new NotSupportedError(); - } - // https://fetch.spec.whatwg.org/#dom-body-bodyused - get bodyUsed() { - return util.isDisturbed(this); - } - // https://fetch.spec.whatwg.org/#dom-body-body - get body() { - if (!this[kBody]) { - this[kBody] = ReadableStreamFrom(this); - if (this[kConsume]) { - this[kBody].getReader(); - assert(this[kBody].locked); - } - } - return this[kBody]; - } - dump(opts) { - let limit = opts && Number.isFinite(opts.limit) ? opts.limit : 262144; - const signal = opts && opts.signal; - if (signal) { - try { - if (typeof signal !== "object" || !("aborted" in signal)) { - throw new InvalidArgumentError("signal must be an AbortSignal"); - } - util.throwIfAborted(signal); - } catch (err) { - return Promise.reject(err); - } - } - if (this.closed) { - return Promise.resolve(null); - } - return new Promise((resolve4, reject) => { - const signalListenerCleanup = signal ? util.addAbortListener(signal, () => { - this.destroy(); - }) : noop; - this.on("close", function() { - signalListenerCleanup(); - if (signal && signal.aborted) { - reject(signal.reason || Object.assign(new Error("The operation was aborted"), { name: "AbortError" })); - } else { - resolve4(null); - } - }).on("error", noop).on("data", function(chunk) { - limit -= chunk.length; - if (limit <= 0) { - this.destroy(); - } - }).resume(); - }); - } - }; - function isLocked(self) { - return self[kBody] && self[kBody].locked === true || self[kConsume]; - } - function isUnusable(self) { - return util.isDisturbed(self) || isLocked(self); - } - async function consume(stream, type) { - if (isUnusable(stream)) { - throw new TypeError("unusable"); - } - assert(!stream[kConsume]); - return new Promise((resolve4, reject) => { - stream[kConsume] = { - type, - stream, - resolve: resolve4, - reject, - length: 0, - body: [] - }; - stream.on("error", function(err) { - consumeFinish(this[kConsume], err); - }).on("close", function() { - if (this[kConsume].body !== null) { - consumeFinish(this[kConsume], new RequestAbortedError()); - } - }); - process.nextTick(consumeStart, stream[kConsume]); - }); - } - function consumeStart(consume2) { - if (consume2.body === null) { - return; - } - const { _readableState: state } = consume2.stream; - for (const chunk of state.buffer) { - consumePush(consume2, chunk); - } - if (state.endEmitted) { - consumeEnd(this[kConsume]); - } else { - consume2.stream.on("end", function() { - consumeEnd(this[kConsume]); - }); - } - consume2.stream.resume(); - while (consume2.stream.read() != null) { - } - } - function consumeEnd(consume2) { - const { type, body, resolve: resolve4, stream, length } = consume2; - try { - if (type === "text") { - resolve4(toUSVString(Buffer.concat(body))); - } else if (type === "json") { - resolve4(JSON.parse(Buffer.concat(body))); - } else if (type === "arrayBuffer") { - const dst = new Uint8Array(length); - let pos = 0; - for (const buf of body) { - dst.set(buf, pos); - pos += buf.byteLength; - } - resolve4(dst.buffer); - } else if (type === "blob") { - if (!Blob2) { - Blob2 = require("buffer").Blob; - } - resolve4(new Blob2(body, { type: stream[kContentType] })); - } - consumeFinish(consume2); - } catch (err) { - stream.destroy(err); - } - } - function consumePush(consume2, chunk) { - consume2.length += chunk.length; - consume2.body.push(chunk); - } - function consumeFinish(consume2, err) { - if (consume2.body === null) { - return; - } - if (err) { - consume2.reject(err); - } else { - consume2.resolve(); - } - consume2.type = null; - consume2.stream = null; - consume2.resolve = null; - consume2.reject = null; - consume2.length = 0; - consume2.body = null; - } - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/api/util.js -var require_util3 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/api/util.js"(exports2, module2) { - var assert = require("assert"); - var { - ResponseStatusCodeError - } = require_errors(); - var { toUSVString } = require_util(); - async function getResolveErrorBodyCallback({ callback, body, contentType, statusCode, statusMessage, headers }) { - assert(body); - let chunks = []; - let limit = 0; - for await (const chunk of body) { - chunks.push(chunk); - limit += chunk.length; - if (limit > 128 * 1024) { - chunks = null; - break; - } - } - if (statusCode === 204 || !contentType || !chunks) { - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); - return; - } - try { - if (contentType.startsWith("application/json")) { - const payload = JSON.parse(toUSVString(Buffer.concat(chunks))); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - if (contentType.startsWith("text/")) { - const payload = toUSVString(Buffer.concat(chunks)); - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers, payload)); - return; - } - } catch (err) { - } - process.nextTick(callback, new ResponseStatusCodeError(`Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ""}`, statusCode, headers)); - } - module2.exports = { getResolveErrorBodyCallback }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/api/abort-signal.js -var require_abort_signal = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) { - var { addAbortListener } = require_util(); - var { RequestAbortedError } = require_errors(); - var kListener = /* @__PURE__ */ Symbol("kListener"); - var kSignal = /* @__PURE__ */ Symbol("kSignal"); - function abort(self) { - if (self.abort) { - self.abort(); - } else { - self.onError(new RequestAbortedError()); - } - } - function addSignal(self, signal) { - self[kSignal] = null; - self[kListener] = null; - if (!signal) { - return; - } - if (signal.aborted) { - abort(self); - return; - } - self[kSignal] = signal; - self[kListener] = () => { - abort(self); - }; - addAbortListener(self[kSignal], self[kListener]); - } - function removeSignal(self) { - if (!self[kSignal]) { - return; - } - if ("removeEventListener" in self[kSignal]) { - self[kSignal].removeEventListener("abort", self[kListener]); - } else { - self[kSignal].removeListener("abort", self[kListener]); - } - self[kSignal] = null; - self[kListener] = null; - } - module2.exports = { - addSignal, - removeSignal - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/api/api-request.js -var require_api_request = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/api/api-request.js"(exports2, module2) { - "use strict"; - var Readable = require_readable(); - var { - InvalidArgumentError, - RequestAbortedError - } = require_errors(); - var util = require_util(); - var { getResolveErrorBodyCallback } = require_util3(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); - var RequestHandler = class extends AsyncResource { - constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts; - try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (highWaterMark && (typeof highWaterMark !== "number" || highWaterMark < 0)) { - throw new InvalidArgumentError("invalid highWaterMark"); - } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); - } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); - } - super("UNDICI_REQUEST"); - } catch (err) { - if (util.isStream(body)) { - util.destroy(body.on("error", util.nop), err); - } - throw err; - } - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.callback = callback; - this.res = null; - this.abort = null; - this.body = body; - this.trailers = {}; - this.context = null; - this.onInfo = onInfo || null; - this.throwOnError = throwOnError; - this.highWaterMark = highWaterMark; - if (util.isStream(body)) { - body.on("error", (err) => { - this.onError(err); - }); - } - addSignal(this, signal); - } - onConnect(abort, context) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context; - } - onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this; - const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); - if (statusCode < 200) { - if (this.onInfo) { - this.onInfo({ statusCode, headers }); - } - return; - } - const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; - const body = new Readable({ resume, abort, contentType, highWaterMark }); - this.callback = null; - this.res = body; - if (callback !== null) { - if (this.throwOnError && statusCode >= 400) { - this.runInAsyncScope( - getResolveErrorBodyCallback, - null, - { callback, body, contentType, statusCode, statusMessage, headers } - ); - } else { - this.runInAsyncScope(callback, null, null, { - statusCode, - headers, - trailers: this.trailers, - opaque, - body, - context - }); - } - } - } - onData(chunk) { - const { res } = this; - return res.push(chunk); - } - onComplete(trailers) { - const { res } = this; - removeSignal(this); - util.parseHeaders(trailers, this.trailers); - res.push(null); - } - onError(err) { - const { res, callback, body, opaque } = this; - removeSignal(this); - if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - if (res) { - this.res = null; - queueMicrotask(() => { - util.destroy(res, err); - }); - } - if (body) { - this.body = null; - util.destroy(body, err); - } - } - }; - function request(opts, callback) { - if (callback === void 0) { - return new Promise((resolve4, reject) => { - request.call(this, opts, (err, data) => { - return err ? reject(err) : resolve4(data); - }); - }); - } - try { - this.dispatch(opts, new RequestHandler(opts, callback)); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = request; - module2.exports.RequestHandler = RequestHandler; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/api/api-stream.js -var require_api_stream = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/api/api-stream.js"(exports2, module2) { - "use strict"; - var { finished, PassThrough } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors(); - var util = require_util(); - var { getResolveErrorBodyCallback } = require_util3(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); - var StreamHandler = class extends AsyncResource { - constructor(opts, factory, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts; - try { - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - if (typeof factory !== "function") { - throw new InvalidArgumentError("invalid factory"); - } - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); - } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); - } - super("UNDICI_STREAM"); - } catch (err) { - if (util.isStream(body)) { - util.destroy(body.on("error", util.nop), err); - } - throw err; - } - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.factory = factory; - this.callback = callback; - this.res = null; - this.abort = null; - this.context = null; - this.trailers = null; - this.body = body; - this.onInfo = onInfo || null; - this.throwOnError = throwOnError || false; - if (util.isStream(body)) { - body.on("error", (err) => { - this.onError(err); - }); - } - addSignal(this, signal); - } - onConnect(abort, context) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context; - } - onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const { factory, opaque, context, callback, responseHeaders } = this; - const headers = responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); - if (statusCode < 200) { - if (this.onInfo) { - this.onInfo({ statusCode, headers }); - } - return; - } - this.factory = null; - let res; - if (this.throwOnError && statusCode >= 400) { - const parsedHeaders = responseHeaders === "raw" ? util.parseHeaders(rawHeaders) : headers; - const contentType = parsedHeaders["content-type"]; - res = new PassThrough(); - this.callback = null; - this.runInAsyncScope( - getResolveErrorBodyCallback, - null, - { callback, body: res, contentType, statusCode, statusMessage, headers } - ); - } else { - if (factory === null) { - return; - } - res = this.runInAsyncScope(factory, null, { - statusCode, - headers, - opaque, - context - }); - if (!res || typeof res.write !== "function" || typeof res.end !== "function" || typeof res.on !== "function") { - throw new InvalidReturnValueError("expected Writable"); - } - finished(res, { readable: false }, (err) => { - const { callback: callback2, res: res2, opaque: opaque2, trailers, abort } = this; - this.res = null; - if (err || !res2.readable) { - util.destroy(res2, err); - } - this.callback = null; - this.runInAsyncScope(callback2, null, err || null, { opaque: opaque2, trailers }); - if (err) { - abort(); - } - }); - } - res.on("drain", resume); - this.res = res; - const needDrain = res.writableNeedDrain !== void 0 ? res.writableNeedDrain : res._writableState && res._writableState.needDrain; - return needDrain !== true; - } - onData(chunk) { - const { res } = this; - return res ? res.write(chunk) : true; - } - onComplete(trailers) { - const { res } = this; - removeSignal(this); - if (!res) { - return; - } - this.trailers = util.parseHeaders(trailers); - res.end(); - } - onError(err) { - const { res, callback, opaque, body } = this; - removeSignal(this); - this.factory = null; - if (res) { - this.res = null; - util.destroy(res, err); - } else if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - if (body) { - this.body = null; - util.destroy(body, err); - } - } - }; - function stream(opts, factory, callback) { - if (callback === void 0) { - return new Promise((resolve4, reject) => { - stream.call(this, opts, factory, (err, data) => { - return err ? reject(err) : resolve4(data); - }); - }); - } - try { - this.dispatch(opts, new StreamHandler(opts, factory, callback)); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = stream; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/api/api-pipeline.js -var require_api_pipeline = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) { - "use strict"; - var { - Readable, - Duplex, - PassThrough - } = require("stream"); - var { - InvalidArgumentError, - InvalidReturnValueError, - RequestAbortedError - } = require_errors(); - var util = require_util(); - var { AsyncResource } = require("async_hooks"); - var { addSignal, removeSignal } = require_abort_signal(); - var assert = require("assert"); - var kResume = /* @__PURE__ */ Symbol("resume"); - var PipelineRequest = class extends Readable { - constructor() { - super({ autoDestroy: true }); - this[kResume] = null; - } - _read() { - const { [kResume]: resume } = this; - if (resume) { - this[kResume] = null; - resume(); - } - } - _destroy(err, callback) { - this._read(); - callback(err); - } - }; - var PipelineResponse = class extends Readable { - constructor(resume) { - super({ autoDestroy: true }); - this[kResume] = resume; - } - _read() { - this[kResume](); - } - _destroy(err, callback) { - if (!err && !this._readableState.endEmitted) { - err = new RequestAbortedError(); - } - callback(err); - } - }; - var PipelineHandler = class extends AsyncResource { - constructor(opts, handler) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof handler !== "function") { - throw new InvalidArgumentError("invalid handler"); - } - const { signal, method, opaque, onInfo, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - if (method === "CONNECT") { - throw new InvalidArgumentError("invalid method"); - } - if (onInfo && typeof onInfo !== "function") { - throw new InvalidArgumentError("invalid onInfo callback"); - } - super("UNDICI_PIPELINE"); - this.opaque = opaque || null; - this.responseHeaders = responseHeaders || null; - this.handler = handler; - this.abort = null; - this.context = null; - this.onInfo = onInfo || null; - this.req = new PipelineRequest().on("error", util.nop); - this.ret = new Duplex({ - readableObjectMode: opts.objectMode, - autoDestroy: true, - read: () => { - const { body } = this; - if (body && body.resume) { - body.resume(); - } - }, - write: (chunk, encoding, callback) => { - const { req } = this; - if (req.push(chunk, encoding) || req._readableState.destroyed) { - callback(); - } else { - req[kResume] = callback; - } - }, - destroy: (err, callback) => { - const { body, req, res, ret, abort } = this; - if (!err && !ret._readableState.endEmitted) { - err = new RequestAbortedError(); - } - if (abort && err) { - abort(); - } - util.destroy(body, err); - util.destroy(req, err); - util.destroy(res, err); - removeSignal(this); - callback(err); - } - }).on("prefinish", () => { - const { req } = this; - req.push(null); - }); - this.res = null; - addSignal(this, signal); - } - onConnect(abort, context) { - const { ret, res } = this; - assert(!res, "pipeline cannot be retried"); - if (ret.destroyed) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context; - } - onHeaders(statusCode, rawHeaders, resume) { - const { opaque, handler, context } = this; - if (statusCode < 200) { - if (this.onInfo) { - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); - this.onInfo({ statusCode, headers }); - } - return; - } - this.res = new PipelineResponse(resume); - let body; - try { - this.handler = null; - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); - body = this.runInAsyncScope(handler, null, { - statusCode, - headers, - opaque, - body: this.res, - context - }); - } catch (err) { - this.res.on("error", util.nop); - throw err; - } - if (!body || typeof body.on !== "function") { - throw new InvalidReturnValueError("expected Readable"); - } - body.on("data", (chunk) => { - const { ret, body: body2 } = this; - if (!ret.push(chunk) && body2.pause) { - body2.pause(); - } - }).on("error", (err) => { - const { ret } = this; - util.destroy(ret, err); - }).on("end", () => { - const { ret } = this; - ret.push(null); - }).on("close", () => { - const { ret } = this; - if (!ret._readableState.ended) { - util.destroy(ret, new RequestAbortedError()); - } - }); - this.body = body; - } - onData(chunk) { - const { res } = this; - return res.push(chunk); - } - onComplete(trailers) { - const { res } = this; - res.push(null); - } - onError(err) { - const { ret } = this; - this.handler = null; - util.destroy(ret, err); - } - }; - function pipeline(opts, handler) { - try { - const pipelineHandler = new PipelineHandler(opts, handler); - this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler); - return pipelineHandler.ret; - } catch (err) { - return new PassThrough().destroy(err); - } - } - module2.exports = pipeline; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/api/api-upgrade.js -var require_api_upgrade = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) { - "use strict"; - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); - var { AsyncResource } = require("async_hooks"); - var util = require_util(); - var { addSignal, removeSignal } = require_abort_signal(); - var assert = require("assert"); - var UpgradeHandler = class extends AsyncResource { - constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - const { signal, opaque, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - super("UNDICI_UPGRADE"); - this.responseHeaders = responseHeaders || null; - this.opaque = opaque || null; - this.callback = callback; - this.abort = null; - this.context = null; - addSignal(this, signal); - } - onConnect(abort, context) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = null; - } - onHeaders() { - throw new SocketError("bad upgrade", null); - } - onUpgrade(statusCode, rawHeaders, socket) { - const { callback, opaque, context } = this; - assert.strictEqual(statusCode, 101); - removeSignal(this); - this.callback = null; - const headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); - this.runInAsyncScope(callback, null, null, { - headers, - socket, - opaque, - context - }); - } - onError(err) { - const { callback, opaque } = this; - removeSignal(this); - if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - } - }; - function upgrade(opts, callback) { - if (callback === void 0) { - return new Promise((resolve4, reject) => { - upgrade.call(this, opts, (err, data) => { - return err ? reject(err) : resolve4(data); - }); - }); - } - try { - const upgradeHandler = new UpgradeHandler(opts, callback); - this.dispatch({ - ...opts, - method: opts.method || "GET", - upgrade: opts.protocol || "Websocket" - }, upgradeHandler); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = upgrade; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/api/api-connect.js -var require_api_connect = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/api/api-connect.js"(exports2, module2) { - "use strict"; - var { AsyncResource } = require("async_hooks"); - var { InvalidArgumentError, RequestAbortedError, SocketError } = require_errors(); - var util = require_util(); - var { addSignal, removeSignal } = require_abort_signal(); - var ConnectHandler = class extends AsyncResource { - constructor(opts, callback) { - if (!opts || typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (typeof callback !== "function") { - throw new InvalidArgumentError("invalid callback"); - } - const { signal, opaque, responseHeaders } = opts; - if (signal && typeof signal.on !== "function" && typeof signal.addEventListener !== "function") { - throw new InvalidArgumentError("signal must be an EventEmitter or EventTarget"); - } - super("UNDICI_CONNECT"); - this.opaque = opaque || null; - this.responseHeaders = responseHeaders || null; - this.callback = callback; - this.abort = null; - addSignal(this, signal); - } - onConnect(abort, context) { - if (!this.callback) { - throw new RequestAbortedError(); - } - this.abort = abort; - this.context = context; - } - onHeaders() { - throw new SocketError("bad connect", null); - } - onUpgrade(statusCode, rawHeaders, socket) { - const { callback, opaque, context } = this; - removeSignal(this); - this.callback = null; - let headers = rawHeaders; - if (headers != null) { - headers = this.responseHeaders === "raw" ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders); - } - this.runInAsyncScope(callback, null, null, { - statusCode, - headers, - socket, - opaque, - context - }); - } - onError(err) { - const { callback, opaque } = this; - removeSignal(this); - if (callback) { - this.callback = null; - queueMicrotask(() => { - this.runInAsyncScope(callback, null, err, { opaque }); - }); - } - } - }; - function connect(opts, callback) { - if (callback === void 0) { - return new Promise((resolve4, reject) => { - connect.call(this, opts, (err, data) => { - return err ? reject(err) : resolve4(data); - }); - }); - } - try { - const connectHandler = new ConnectHandler(opts, callback); - this.dispatch({ ...opts, method: "CONNECT" }, connectHandler); - } catch (err) { - if (typeof callback !== "function") { - throw err; - } - const opaque = opts && opts.opaque; - queueMicrotask(() => callback(err, { opaque })); - } - } - module2.exports = connect; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/api/index.js -var require_api = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/api/index.js"(exports2, module2) { - "use strict"; - module2.exports.request = require_api_request(); - module2.exports.stream = require_api_stream(); - module2.exports.pipeline = require_api_pipeline(); - module2.exports.upgrade = require_api_upgrade(); - module2.exports.connect = require_api_connect(); - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-errors.js -var require_mock_errors = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-errors.js"(exports2, module2) { - "use strict"; - var { UndiciError } = require_errors(); - var MockNotMatchedError = class _MockNotMatchedError extends UndiciError { - constructor(message) { - super(message); - Error.captureStackTrace(this, _MockNotMatchedError); - this.name = "MockNotMatchedError"; - this.message = message || "The request does not match any registered mock dispatches"; - this.code = "UND_MOCK_ERR_MOCK_NOT_MATCHED"; - } - }; - module2.exports = { - MockNotMatchedError - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-symbols.js -var require_mock_symbols = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kAgent: /* @__PURE__ */ Symbol("agent"), - kOptions: /* @__PURE__ */ Symbol("options"), - kFactory: /* @__PURE__ */ Symbol("factory"), - kDispatches: /* @__PURE__ */ Symbol("dispatches"), - kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"), - kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"), - kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"), - kContentLength: /* @__PURE__ */ Symbol("content length"), - kMockAgent: /* @__PURE__ */ Symbol("mock agent"), - kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"), - kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"), - kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"), - kClose: /* @__PURE__ */ Symbol("close"), - kOriginalClose: /* @__PURE__ */ Symbol("original agent close"), - kOrigin: /* @__PURE__ */ Symbol("origin"), - kIsMockActive: /* @__PURE__ */ Symbol("is mock active"), - kNetConnect: /* @__PURE__ */ Symbol("net connect"), - kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"), - kConnected: /* @__PURE__ */ Symbol("connected") - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-utils.js -var require_mock_utils = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-utils.js"(exports2, module2) { - "use strict"; - var { MockNotMatchedError } = require_mock_errors(); - var { - kDispatches, - kMockAgent, - kOriginalDispatch, - kOrigin, - kGetNetConnect - } = require_mock_symbols(); - var { buildURL, nop } = require_util(); - var { STATUS_CODES } = require("http"); - var { - types: { - isPromise - } - } = require("util"); - function matchValue(match, value) { - if (typeof match === "string") { - return match === value; - } - if (match instanceof RegExp) { - return match.test(value); - } - if (typeof match === "function") { - return match(value) === true; - } - return false; - } - function lowerCaseEntries(headers) { - return Object.fromEntries( - Object.entries(headers).map(([headerName, headerValue]) => { - return [headerName.toLocaleLowerCase(), headerValue]; - }) - ); - } - function getHeaderByName(headers, key) { - if (Array.isArray(headers)) { - for (let i7 = 0; i7 < headers.length; i7 += 2) { - if (headers[i7].toLocaleLowerCase() === key.toLocaleLowerCase()) { - return headers[i7 + 1]; - } - } - return void 0; - } else if (typeof headers.get === "function") { - return headers.get(key); - } else { - return lowerCaseEntries(headers)[key.toLocaleLowerCase()]; - } - } - function buildHeadersFromArray(headers) { - const clone = headers.slice(); - const entries = []; - for (let index = 0; index < clone.length; index += 2) { - entries.push([clone[index], clone[index + 1]]); - } - return Object.fromEntries(entries); - } - function matchHeaders(mockDispatch2, headers) { - if (typeof mockDispatch2.headers === "function") { - if (Array.isArray(headers)) { - headers = buildHeadersFromArray(headers); - } - return mockDispatch2.headers(headers ? lowerCaseEntries(headers) : {}); - } - if (typeof mockDispatch2.headers === "undefined") { - return true; - } - if (typeof headers !== "object" || typeof mockDispatch2.headers !== "object") { - return false; - } - for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch2.headers)) { - const headerValue = getHeaderByName(headers, matchHeaderName); - if (!matchValue(matchHeaderValue, headerValue)) { - return false; - } - } - return true; - } - function safeUrl(path) { - if (typeof path !== "string") { - return path; - } - const pathSegments = path.split("?"); - if (pathSegments.length !== 2) { - return path; - } - const qp2 = new URLSearchParams(pathSegments.pop()); - qp2.sort(); - return [...pathSegments, qp2.toString()].join("?"); - } - function matchKey(mockDispatch2, { path, method, body, headers }) { - const pathMatch = matchValue(mockDispatch2.path, path); - const methodMatch = matchValue(mockDispatch2.method, method); - const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true; - const headersMatch = matchHeaders(mockDispatch2, headers); - return pathMatch && methodMatch && bodyMatch && headersMatch; - } - function getResponseData(data) { - if (Buffer.isBuffer(data)) { - return data; - } else if (typeof data === "object") { - return JSON.stringify(data); - } else { - return data.toString(); - } - } - function getMockDispatch(mockDispatches, key) { - const basePath = key.query ? buildURL(key.path, key.query) : key.path; - const resolvedPath = typeof basePath === "string" ? safeUrl(basePath) : basePath; - let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path }) => matchValue(safeUrl(path), resolvedPath)); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`); - } - matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method)); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}'`); - } - matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== "undefined" ? matchValue(body, key.body) : true); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}'`); - } - matchedMockDispatches = matchedMockDispatches.filter((mockDispatch2) => matchHeaders(mockDispatch2, key.headers)); - if (matchedMockDispatches.length === 0) { - throw new MockNotMatchedError(`Mock dispatch not matched for headers '${typeof key.headers === "object" ? JSON.stringify(key.headers) : key.headers}'`); - } - return matchedMockDispatches[0]; - } - function addMockDispatch(mockDispatches, key, data) { - const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false }; - const replyData = typeof data === "function" ? { callback: data } : { ...data }; - const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } }; - mockDispatches.push(newMockDispatch); - return newMockDispatch; - } - function deleteMockDispatch(mockDispatches, key) { - const index = mockDispatches.findIndex((dispatch) => { - if (!dispatch.consumed) { - return false; - } - return matchKey(dispatch, key); - }); - if (index !== -1) { - mockDispatches.splice(index, 1); - } - } - function buildKey(opts) { - const { path, method, body, headers, query } = opts; - return { - path, - method, - body, - headers, - query - }; - } - function generateKeyValues(data) { - return Object.entries(data).reduce((keyValuePairs, [key, value]) => [ - ...keyValuePairs, - Buffer.from(`${key}`), - Array.isArray(value) ? value.map((x10) => Buffer.from(`${x10}`)) : Buffer.from(`${value}`) - ], []); - } - function getStatusText(statusCode) { - return STATUS_CODES[statusCode] || "unknown"; - } - async function getResponse(body) { - const buffers = []; - for await (const data of body) { - buffers.push(data); - } - return Buffer.concat(buffers).toString("utf8"); - } - function mockDispatch(opts, handler) { - const key = buildKey(opts); - const mockDispatch2 = getMockDispatch(this[kDispatches], key); - mockDispatch2.timesInvoked++; - if (mockDispatch2.data.callback) { - mockDispatch2.data = { ...mockDispatch2.data, ...mockDispatch2.data.callback(opts) }; - } - const { data: { statusCode, data, headers, trailers, error }, delay, persist } = mockDispatch2; - const { timesInvoked, times } = mockDispatch2; - mockDispatch2.consumed = !persist && timesInvoked >= times; - mockDispatch2.pending = timesInvoked < times; - if (error !== null) { - deleteMockDispatch(this[kDispatches], key); - handler.onError(error); - return true; - } - if (typeof delay === "number" && delay > 0) { - setTimeout(() => { - handleReply(this[kDispatches]); - }, delay); - } else { - handleReply(this[kDispatches]); - } - function handleReply(mockDispatches, _data = data) { - const optsHeaders = Array.isArray(opts.headers) ? buildHeadersFromArray(opts.headers) : opts.headers; - const body = typeof _data === "function" ? _data({ ...opts, headers: optsHeaders }) : _data; - if (isPromise(body)) { - body.then((newData) => handleReply(mockDispatches, newData)); - return; - } - const responseData = getResponseData(body); - const responseHeaders = generateKeyValues(headers); - const responseTrailers = generateKeyValues(trailers); - handler.abort = nop; - handler.onHeaders(statusCode, responseHeaders, resume, getStatusText(statusCode)); - handler.onData(Buffer.from(responseData)); - handler.onComplete(responseTrailers); - deleteMockDispatch(mockDispatches, key); - } - function resume() { - } - return true; - } - function buildMockDispatch() { - const agent = this[kMockAgent]; - const origin = this[kOrigin]; - const originalDispatch = this[kOriginalDispatch]; - return function dispatch(opts, handler) { - if (agent.isMockActive) { - try { - mockDispatch.call(this, opts, handler); - } catch (error) { - if (error instanceof MockNotMatchedError) { - const netConnect = agent[kGetNetConnect](); - if (netConnect === false) { - throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`); - } - if (checkNetConnect(netConnect, origin)) { - originalDispatch.call(this, opts, handler); - } else { - throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`); - } - } else { - throw error; - } - } - } else { - originalDispatch.call(this, opts, handler); - } - }; - } - function checkNetConnect(netConnect, origin) { - const url = new URL(origin); - if (netConnect === true) { - return true; - } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) { - return true; - } - return false; - } - function buildMockOptions(opts) { - if (opts) { - const { agent, ...mockOptions } = opts; - return mockOptions; - } - } - module2.exports = { - getResponseData, - getMockDispatch, - addMockDispatch, - deleteMockDispatch, - buildKey, - generateKeyValues, - matchValue, - getResponse, - getStatusText, - mockDispatch, - buildMockDispatch, - checkNetConnect, - buildMockOptions, - getHeaderByName - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-interceptor.js -var require_mock_interceptor = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-interceptor.js"(exports2, module2) { - "use strict"; - var { getResponseData, buildKey, addMockDispatch } = require_mock_utils(); - var { - kDispatches, - kDispatchKey, - kDefaultHeaders, - kDefaultTrailers, - kContentLength, - kMockDispatch - } = require_mock_symbols(); - var { InvalidArgumentError } = require_errors(); - var { buildURL } = require_util(); - var MockScope = class { - constructor(mockDispatch) { - this[kMockDispatch] = mockDispatch; - } - /** - * Delay a reply by a set amount in ms. - */ - delay(waitInMs) { - if (typeof waitInMs !== "number" || !Number.isInteger(waitInMs) || waitInMs <= 0) { - throw new InvalidArgumentError("waitInMs must be a valid integer > 0"); - } - this[kMockDispatch].delay = waitInMs; - return this; - } - /** - * For a defined reply, never mark as consumed. - */ - persist() { - this[kMockDispatch].persist = true; - return this; - } - /** - * Allow one to define a reply for a set amount of matching requests. - */ - times(repeatTimes) { - if (typeof repeatTimes !== "number" || !Number.isInteger(repeatTimes) || repeatTimes <= 0) { - throw new InvalidArgumentError("repeatTimes must be a valid integer > 0"); - } - this[kMockDispatch].times = repeatTimes; - return this; - } - }; - var MockInterceptor = class { - constructor(opts, mockDispatches) { - if (typeof opts !== "object") { - throw new InvalidArgumentError("opts must be an object"); - } - if (typeof opts.path === "undefined") { - throw new InvalidArgumentError("opts.path must be defined"); - } - if (typeof opts.method === "undefined") { - opts.method = "GET"; - } - if (typeof opts.path === "string") { - if (opts.query) { - opts.path = buildURL(opts.path, opts.query); - } else { - const parsedURL = new URL(opts.path, "data://"); - opts.path = parsedURL.pathname + parsedURL.search; - } - } - if (typeof opts.method === "string") { - opts.method = opts.method.toUpperCase(); - } - this[kDispatchKey] = buildKey(opts); - this[kDispatches] = mockDispatches; - this[kDefaultHeaders] = {}; - this[kDefaultTrailers] = {}; - this[kContentLength] = false; - } - createMockScopeDispatchData(statusCode, data, responseOptions = {}) { - const responseData = getResponseData(data); - const contentLength = this[kContentLength] ? { "content-length": responseData.length } : {}; - const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }; - const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }; - return { statusCode, data, headers, trailers }; - } - validateReplyParameters(statusCode, data, responseOptions) { - if (typeof statusCode === "undefined") { - throw new InvalidArgumentError("statusCode must be defined"); - } - if (typeof data === "undefined") { - throw new InvalidArgumentError("data must be defined"); - } - if (typeof responseOptions !== "object") { - throw new InvalidArgumentError("responseOptions must be an object"); - } - } - /** - * Mock an undici request with a defined reply. - */ - reply(replyData) { - if (typeof replyData === "function") { - const wrappedDefaultsCallback = (opts) => { - const resolvedData = replyData(opts); - if (typeof resolvedData !== "object") { - throw new InvalidArgumentError("reply options callback must return an object"); - } - const { statusCode: statusCode2, data: data2 = "", responseOptions: responseOptions2 = {} } = resolvedData; - this.validateReplyParameters(statusCode2, data2, responseOptions2); - return { - ...this.createMockScopeDispatchData(statusCode2, data2, responseOptions2) - }; - }; - const newMockDispatch2 = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback); - return new MockScope(newMockDispatch2); - } - const [statusCode, data = "", responseOptions = {}] = [...arguments]; - this.validateReplyParameters(statusCode, data, responseOptions); - const dispatchData = this.createMockScopeDispatchData(statusCode, data, responseOptions); - const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData); - return new MockScope(newMockDispatch); - } - /** - * Mock an undici request with a defined error. - */ - replyWithError(error) { - if (typeof error === "undefined") { - throw new InvalidArgumentError("error must be defined"); - } - const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error }); - return new MockScope(newMockDispatch); - } - /** - * Set default reply headers on the interceptor for subsequent replies - */ - defaultReplyHeaders(headers) { - if (typeof headers === "undefined") { - throw new InvalidArgumentError("headers must be defined"); - } - this[kDefaultHeaders] = headers; - return this; - } - /** - * Set default reply trailers on the interceptor for subsequent replies - */ - defaultReplyTrailers(trailers) { - if (typeof trailers === "undefined") { - throw new InvalidArgumentError("trailers must be defined"); - } - this[kDefaultTrailers] = trailers; - return this; - } - /** - * Set reply content length header for replies on the interceptor - */ - replyContentLength() { - this[kContentLength] = true; - return this; - } - }; - module2.exports.MockInterceptor = MockInterceptor; - module2.exports.MockScope = MockScope; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-client.js -var require_mock_client = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-client.js"(exports2, module2) { - "use strict"; - var { promisify } = require("util"); - var Client = require_client(); - var { buildMockDispatch } = require_mock_utils(); - var { - kDispatches, - kMockAgent, - kClose, - kOriginalClose, - kOrigin, - kOriginalDispatch, - kConnected - } = require_mock_symbols(); - var { MockInterceptor } = require_mock_interceptor(); - var Symbols = require_symbols(); - var { InvalidArgumentError } = require_errors(); - var MockClient = class extends Client { - constructor(origin, opts) { - super(origin, opts); - if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - this[kMockAgent] = opts.agent; - this[kOrigin] = origin; - this[kDispatches] = []; - this[kConnected] = 1; - this[kOriginalDispatch] = this.dispatch; - this[kOriginalClose] = this.close.bind(this); - this.dispatch = buildMockDispatch.call(this); - this.close = this[kClose]; - } - get [Symbols.kConnected]() { - return this[kConnected]; - } - /** - * Sets up the base interceptor for mocking replies from undici. - */ - intercept(opts) { - return new MockInterceptor(opts, this[kDispatches]); - } - async [kClose]() { - await promisify(this[kOriginalClose])(); - this[kConnected] = 0; - this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); - } - }; - module2.exports = MockClient; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-pool.js -var require_mock_pool = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-pool.js"(exports2, module2) { - "use strict"; - var { promisify } = require("util"); - var Pool = require_pool(); - var { buildMockDispatch } = require_mock_utils(); - var { - kDispatches, - kMockAgent, - kClose, - kOriginalClose, - kOrigin, - kOriginalDispatch, - kConnected - } = require_mock_symbols(); - var { MockInterceptor } = require_mock_interceptor(); - var Symbols = require_symbols(); - var { InvalidArgumentError } = require_errors(); - var MockPool = class extends Pool { - constructor(origin, opts) { - super(origin, opts); - if (!opts || !opts.agent || typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - this[kMockAgent] = opts.agent; - this[kOrigin] = origin; - this[kDispatches] = []; - this[kConnected] = 1; - this[kOriginalDispatch] = this.dispatch; - this[kOriginalClose] = this.close.bind(this); - this.dispatch = buildMockDispatch.call(this); - this.close = this[kClose]; - } - get [Symbols.kConnected]() { - return this[kConnected]; - } - /** - * Sets up the base interceptor for mocking replies from undici. - */ - intercept(opts) { - return new MockInterceptor(opts, this[kDispatches]); - } - async [kClose]() { - await promisify(this[kOriginalClose])(); - this[kConnected] = 0; - this[kMockAgent][Symbols.kClients].delete(this[kOrigin]); - } - }; - module2.exports = MockPool; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/mock/pluralizer.js -var require_pluralizer = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/mock/pluralizer.js"(exports2, module2) { - "use strict"; - var singulars = { - pronoun: "it", - is: "is", - was: "was", - this: "this" - }; - var plurals = { - pronoun: "they", - is: "are", - was: "were", - this: "these" - }; - module2.exports = class Pluralizer { - constructor(singular, plural) { - this.singular = singular; - this.plural = plural; - } - pluralize(count) { - const one = count === 1; - const keys = one ? singulars : plurals; - const noun = one ? this.singular : this.plural; - return { ...keys, count, noun }; - } - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/mock/pending-interceptors-formatter.js -var require_pending_interceptors_formatter = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/mock/pending-interceptors-formatter.js"(exports2, module2) { - "use strict"; - var { Transform } = require("stream"); - var { Console } = require("console"); - module2.exports = class PendingInterceptorsFormatter { - constructor({ disableColors } = {}) { - this.transform = new Transform({ - transform(chunk, _enc, cb2) { - cb2(null, chunk); - } - }); - this.logger = new Console({ - stdout: this.transform, - inspectOptions: { - colors: !disableColors && !process.env.CI - } - }); - } - format(pendingInterceptors) { - const withPrettyHeaders = pendingInterceptors.map( - ({ method, path, data: { statusCode }, persist, times, timesInvoked, origin }) => ({ - Method: method, - Origin: origin, - Path: path, - "Status code": statusCode, - Persistent: persist ? "\u2705" : "\u274C", - Invocations: timesInvoked, - Remaining: persist ? Infinity : times - timesInvoked - }) - ); - this.logger.table(withPrettyHeaders); - return this.transform.read().toString(); - } - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-agent.js -var require_mock_agent = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/mock/mock-agent.js"(exports2, module2) { - "use strict"; - var { kClients } = require_symbols(); - var Agent = require_agent(); - var { - kAgent, - kMockAgentSet, - kMockAgentGet, - kDispatches, - kIsMockActive, - kNetConnect, - kGetNetConnect, - kOptions, - kFactory - } = require_mock_symbols(); - var MockClient = require_mock_client(); - var MockPool = require_mock_pool(); - var { matchValue, buildMockOptions } = require_mock_utils(); - var { InvalidArgumentError, UndiciError } = require_errors(); - var Dispatcher = require_dispatcher(); - var Pluralizer = require_pluralizer(); - var PendingInterceptorsFormatter = require_pending_interceptors_formatter(); - var FakeWeakRef = class { - constructor(value) { - this.value = value; - } - deref() { - return this.value; - } - }; - var MockAgent = class extends Dispatcher { - constructor(opts) { - super(opts); - this[kNetConnect] = true; - this[kIsMockActive] = true; - if (opts && opts.agent && typeof opts.agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument opts.agent must implement Agent"); - } - const agent = opts && opts.agent ? opts.agent : new Agent(opts); - this[kAgent] = agent; - this[kClients] = agent[kClients]; - this[kOptions] = buildMockOptions(opts); - } - get(origin) { - let dispatcher = this[kMockAgentGet](origin); - if (!dispatcher) { - dispatcher = this[kFactory](origin); - this[kMockAgentSet](origin, dispatcher); - } - return dispatcher; - } - dispatch(opts, handler) { - this.get(opts.origin); - return this[kAgent].dispatch(opts, handler); - } - async close() { - await this[kAgent].close(); - this[kClients].clear(); - } - deactivate() { - this[kIsMockActive] = false; - } - activate() { - this[kIsMockActive] = true; - } - enableNetConnect(matcher) { - if (typeof matcher === "string" || typeof matcher === "function" || matcher instanceof RegExp) { - if (Array.isArray(this[kNetConnect])) { - this[kNetConnect].push(matcher); - } else { - this[kNetConnect] = [matcher]; - } - } else if (typeof matcher === "undefined") { - this[kNetConnect] = true; - } else { - throw new InvalidArgumentError("Unsupported matcher. Must be one of String|Function|RegExp."); - } - } - disableNetConnect() { - this[kNetConnect] = false; - } - // This is required to bypass issues caused by using global symbols - see: - // https://github.com/nodejs/undici/issues/1447 - get isMockActive() { - return this[kIsMockActive]; - } - [kMockAgentSet](origin, dispatcher) { - this[kClients].set(origin, new FakeWeakRef(dispatcher)); - } - [kFactory](origin) { - const mockOptions = Object.assign({ agent: this }, this[kOptions]); - return this[kOptions] && this[kOptions].connections === 1 ? new MockClient(origin, mockOptions) : new MockPool(origin, mockOptions); - } - [kMockAgentGet](origin) { - const ref = this[kClients].get(origin); - if (ref) { - return ref.deref(); - } - if (typeof origin !== "string") { - const dispatcher = this[kFactory]("http://localhost:9999"); - this[kMockAgentSet](origin, dispatcher); - return dispatcher; - } - for (const [keyMatcher, nonExplicitRef] of Array.from(this[kClients])) { - const nonExplicitDispatcher = nonExplicitRef.deref(); - if (nonExplicitDispatcher && typeof keyMatcher !== "string" && matchValue(keyMatcher, origin)) { - const dispatcher = this[kFactory](origin); - this[kMockAgentSet](origin, dispatcher); - dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]; - return dispatcher; - } - } - } - [kGetNetConnect]() { - return this[kNetConnect]; - } - pendingInterceptors() { - const mockAgentClients = this[kClients]; - return Array.from(mockAgentClients.entries()).flatMap(([origin, scope]) => scope.deref()[kDispatches].map((dispatch) => ({ ...dispatch, origin }))).filter(({ pending }) => pending); - } - assertNoPendingInterceptors({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) { - const pending = this.pendingInterceptors(); - if (pending.length === 0) { - return; - } - const pluralizer = new Pluralizer("interceptor", "interceptors").pluralize(pending.length); - throw new UndiciError(` -${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending: - -${pendingInterceptorsFormatter.format(pending)} -`.trim()); - } - }; - module2.exports = MockAgent; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/proxy-agent.js -var require_proxy_agent = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/proxy-agent.js"(exports2, module2) { - "use strict"; - var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols(); - var { URL: URL2 } = require("url"); - var Agent = require_agent(); - var Pool = require_pool(); - var DispatcherBase = require_dispatcher_base(); - var { InvalidArgumentError, RequestAbortedError } = require_errors(); - var buildConnector = require_connect(); - var kAgent = /* @__PURE__ */ Symbol("proxy agent"); - var kClient = /* @__PURE__ */ Symbol("proxy client"); - var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers"); - var kRequestTls = /* @__PURE__ */ Symbol("request tls settings"); - var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings"); - var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function"); - function defaultProtocolPort(protocol) { - return protocol === "https:" ? 443 : 80; - } - function buildProxyOptions(opts) { - if (typeof opts === "string") { - opts = { uri: opts }; - } - if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); - } - return { - uri: opts.uri, - protocol: opts.protocol || "https" - }; - } - function defaultFactory(origin, opts) { - return new Pool(origin, opts); - } - var ProxyAgent = class extends DispatcherBase { - constructor(opts) { - super(opts); - this[kProxy] = buildProxyOptions(opts); - this[kAgent] = new Agent(opts); - this[kInterceptors] = opts.interceptors && opts.interceptors.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : []; - if (typeof opts === "string") { - opts = { uri: opts }; - } - if (!opts || !opts.uri) { - throw new InvalidArgumentError("Proxy opts.uri is mandatory"); - } - const { clientFactory = defaultFactory } = opts; - if (typeof clientFactory !== "function") { - throw new InvalidArgumentError("Proxy opts.clientFactory must be a function."); - } - this[kRequestTls] = opts.requestTls; - this[kProxyTls] = opts.proxyTls; - this[kProxyHeaders] = opts.headers || {}; - const resolvedUrl = new URL2(opts.uri); - const { origin, port, host, username, password } = resolvedUrl; - if (opts.auth && opts.token) { - throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token"); - } else if (opts.auth) { - this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`; - } else if (opts.token) { - this[kProxyHeaders]["proxy-authorization"] = opts.token; - } else if (username && password) { - this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`; - } - const connect = buildConnector({ ...opts.proxyTls }); - this[kConnectEndpoint] = buildConnector({ ...opts.requestTls }); - this[kClient] = clientFactory(resolvedUrl, { connect }); - this[kAgent] = new Agent({ - ...opts, - connect: async (opts2, callback) => { - let requestedHost = opts2.host; - if (!opts2.port) { - requestedHost += `:${defaultProtocolPort(opts2.protocol)}`; - } - try { - const { socket, statusCode } = await this[kClient].connect({ - origin, - port, - path: requestedHost, - signal: opts2.signal, - headers: { - ...this[kProxyHeaders], - host - } - }); - if (statusCode !== 200) { - socket.on("error", () => { - }).destroy(); - callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`)); - } - if (opts2.protocol !== "https:") { - callback(null, socket); - return; - } - let servername; - if (this[kRequestTls]) { - servername = this[kRequestTls].servername; - } else { - servername = opts2.servername; - } - this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback); - } catch (err) { - callback(err); - } - } - }); - } - dispatch(opts, handler) { - const { host } = new URL2(opts.origin); - const headers = buildHeaders(opts.headers); - throwIfProxyAuthIsSent(headers); - return this[kAgent].dispatch( - { - ...opts, - headers: { - ...headers, - host - } - }, - handler - ); - } - async [kClose]() { - await this[kAgent].close(); - await this[kClient].close(); - } - async [kDestroy]() { - await this[kAgent].destroy(); - await this[kClient].destroy(); - } - }; - function buildHeaders(headers) { - if (Array.isArray(headers)) { - const headersPair = {}; - for (let i7 = 0; i7 < headers.length; i7 += 2) { - headersPair[headers[i7]] = headers[i7 + 1]; - } - return headersPair; - } - return headers; - } - function throwIfProxyAuthIsSent(headers) { - const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization"); - if (existProxyAuth) { - throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor"); - } - } - module2.exports = ProxyAgent; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/handler/RetryHandler.js -var require_RetryHandler = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/handler/RetryHandler.js"(exports2, module2) { - var assert = require("assert"); - var { kRetryHandlerDefaultRetry } = require_symbols(); - var { RequestRetryError } = require_errors(); - var { isDisturbed, parseHeaders, parseRangeHeader } = require_util(); - function calculateRetryAfterHeader(retryAfter) { - const current = Date.now(); - const diff = new Date(retryAfter).getTime() - current; - return diff; - } - var RetryHandler = class _RetryHandler { - constructor(opts, handlers) { - const { retryOptions, ...dispatchOpts } = opts; - const { - // Retry scoped - retry: retryFn, - maxRetries, - maxTimeout, - minTimeout, - timeoutFactor, - // Response scoped - methods, - errorCodes, - retryAfter, - statusCodes - } = retryOptions ?? {}; - this.dispatch = handlers.dispatch; - this.handler = handlers.handler; - this.opts = dispatchOpts; - this.abort = null; - this.aborted = false; - this.retryOpts = { - retry: retryFn ?? _RetryHandler[kRetryHandlerDefaultRetry], - retryAfter: retryAfter ?? true, - maxTimeout: maxTimeout ?? 30 * 1e3, - // 30s, - timeout: minTimeout ?? 500, - // .5s - timeoutFactor: timeoutFactor ?? 2, - maxRetries: maxRetries ?? 5, - // What errors we should retry - methods: methods ?? ["GET", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE"], - // Indicates which errors to retry - statusCodes: statusCodes ?? [500, 502, 503, 504, 429], - // List of errors to retry - errorCodes: errorCodes ?? [ - "ECONNRESET", - "ECONNREFUSED", - "ENOTFOUND", - "ENETDOWN", - "ENETUNREACH", - "EHOSTDOWN", - "EHOSTUNREACH", - "EPIPE" - ] - }; - this.retryCount = 0; - this.start = 0; - this.end = null; - this.etag = null; - this.resume = null; - this.handler.onConnect((reason) => { - this.aborted = true; - if (this.abort) { - this.abort(reason); - } else { - this.reason = reason; - } - }); - } - onRequestSent() { - if (this.handler.onRequestSent) { - this.handler.onRequestSent(); - } - } - onUpgrade(statusCode, headers, socket) { - if (this.handler.onUpgrade) { - this.handler.onUpgrade(statusCode, headers, socket); - } - } - onConnect(abort) { - if (this.aborted) { - abort(this.reason); - } else { - this.abort = abort; - } - } - onBodySent(chunk) { - if (this.handler.onBodySent) return this.handler.onBodySent(chunk); - } - static [kRetryHandlerDefaultRetry](err, { state, opts }, cb2) { - const { statusCode, code, headers } = err; - const { method, retryOptions } = opts; - const { - maxRetries, - timeout, - maxTimeout, - timeoutFactor, - statusCodes, - errorCodes, - methods - } = retryOptions; - let { counter, currentTimeout } = state; - currentTimeout = currentTimeout != null && currentTimeout > 0 ? currentTimeout : timeout; - if (code && code !== "UND_ERR_REQ_RETRY" && code !== "UND_ERR_SOCKET" && !errorCodes.includes(code)) { - cb2(err); - return; - } - if (Array.isArray(methods) && !methods.includes(method)) { - cb2(err); - return; - } - if (statusCode != null && Array.isArray(statusCodes) && !statusCodes.includes(statusCode)) { - cb2(err); - return; - } - if (counter > maxRetries) { - cb2(err); - return; - } - let retryAfterHeader = headers != null && headers["retry-after"]; - if (retryAfterHeader) { - retryAfterHeader = Number(retryAfterHeader); - retryAfterHeader = isNaN(retryAfterHeader) ? calculateRetryAfterHeader(retryAfterHeader) : retryAfterHeader * 1e3; - } - const retryTimeout = retryAfterHeader > 0 ? Math.min(retryAfterHeader, maxTimeout) : Math.min(currentTimeout * timeoutFactor ** counter, maxTimeout); - state.currentTimeout = retryTimeout; - setTimeout(() => cb2(null), retryTimeout); - } - onHeaders(statusCode, rawHeaders, resume, statusMessage) { - const headers = parseHeaders(rawHeaders); - this.retryCount += 1; - if (statusCode >= 300) { - this.abort( - new RequestRetryError("Request failed", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - if (this.resume != null) { - this.resume = null; - if (statusCode !== 206) { - return true; - } - const contentRange = parseRangeHeader(headers["content-range"]); - if (!contentRange) { - this.abort( - new RequestRetryError("Content-Range mismatch", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - if (this.etag != null && this.etag !== headers.etag) { - this.abort( - new RequestRetryError("ETag mismatch", statusCode, { - headers, - count: this.retryCount - }) - ); - return false; - } - const { start, size, end = size } = contentRange; - assert(this.start === start, "content-range mismatch"); - assert(this.end == null || this.end === end, "content-range mismatch"); - this.resume = resume; - return true; - } - if (this.end == null) { - if (statusCode === 206) { - const range = parseRangeHeader(headers["content-range"]); - if (range == null) { - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage - ); - } - const { start, size, end = size } = range; - assert( - start != null && Number.isFinite(start) && this.start !== start, - "content-range mismatch" - ); - assert(Number.isFinite(start)); - assert( - end != null && Number.isFinite(end) && this.end !== end, - "invalid content-length" - ); - this.start = start; - this.end = end; - } - if (this.end == null) { - const contentLength = headers["content-length"]; - this.end = contentLength != null ? Number(contentLength) : null; - } - assert(Number.isFinite(this.start)); - assert( - this.end == null || Number.isFinite(this.end), - "invalid content-length" - ); - this.resume = resume; - this.etag = headers.etag != null ? headers.etag : null; - return this.handler.onHeaders( - statusCode, - rawHeaders, - resume, - statusMessage - ); - } - const err = new RequestRetryError("Request failed", statusCode, { - headers, - count: this.retryCount - }); - this.abort(err); - return false; - } - onData(chunk) { - this.start += chunk.length; - return this.handler.onData(chunk); - } - onComplete(rawTrailers) { - this.retryCount = 0; - return this.handler.onComplete(rawTrailers); - } - onError(err) { - if (this.aborted || isDisturbed(this.opts.body)) { - return this.handler.onError(err); - } - this.retryOpts.retry( - err, - { - state: { counter: this.retryCount++, currentTimeout: this.retryAfter }, - opts: { retryOptions: this.retryOpts, ...this.opts } - }, - onRetry.bind(this) - ); - function onRetry(err2) { - if (err2 != null || this.aborted || isDisturbed(this.opts.body)) { - return this.handler.onError(err2); - } - if (this.start !== 0) { - this.opts = { - ...this.opts, - headers: { - ...this.opts.headers, - range: `bytes=${this.start}-${this.end ?? ""}` - } - }; - } - try { - this.dispatch(this.opts, this); - } catch (err3) { - this.handler.onError(err3); - } - } - } - }; - module2.exports = RetryHandler; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/global.js -var require_global2 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/global.js"(exports2, module2) { - "use strict"; - var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1"); - var { InvalidArgumentError } = require_errors(); - var Agent = require_agent(); - if (getGlobalDispatcher() === void 0) { - setGlobalDispatcher(new Agent()); - } - function setGlobalDispatcher(agent) { - if (!agent || typeof agent.dispatch !== "function") { - throw new InvalidArgumentError("Argument agent must implement Agent"); - } - Object.defineProperty(globalThis, globalDispatcher, { - value: agent, - writable: true, - enumerable: false, - configurable: false - }); - } - function getGlobalDispatcher() { - return globalThis[globalDispatcher]; - } - module2.exports = { - setGlobalDispatcher, - getGlobalDispatcher - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/handler/DecoratorHandler.js -var require_DecoratorHandler = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/handler/DecoratorHandler.js"(exports2, module2) { - "use strict"; - module2.exports = class DecoratorHandler { - constructor(handler) { - this.handler = handler; - } - onConnect(...args) { - return this.handler.onConnect(...args); - } - onError(...args) { - return this.handler.onError(...args); - } - onUpgrade(...args) { - return this.handler.onUpgrade(...args); - } - onHeaders(...args) { - return this.handler.onHeaders(...args); - } - onData(...args) { - return this.handler.onData(...args); - } - onComplete(...args) { - return this.handler.onComplete(...args); - } - onBodySent(...args) { - return this.handler.onBodySent(...args); - } - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/headers.js -var require_headers = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/headers.js"(exports2, module2) { - "use strict"; - var { kHeadersList, kConstruct } = require_symbols(); - var { kGuard } = require_symbols2(); - var { kEnumerableProperty } = require_util(); - var { - makeIterator, - isValidHeaderName, - isValidHeaderValue - } = require_util2(); - var util = require("util"); - var { webidl } = require_webidl(); - var assert = require("assert"); - var kHeadersMap = /* @__PURE__ */ Symbol("headers map"); - var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted"); - function isHTTPWhiteSpaceCharCode(code) { - return code === 10 || code === 13 || code === 9 || code === 32; - } - function headerValueNormalize(potentialValue) { - let i7 = 0; - let j9 = potentialValue.length; - while (j9 > i7 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(j9 - 1))) --j9; - while (j9 > i7 && isHTTPWhiteSpaceCharCode(potentialValue.charCodeAt(i7))) ++i7; - return i7 === 0 && j9 === potentialValue.length ? potentialValue : potentialValue.substring(i7, j9); - } - function fill(headers, object) { - if (Array.isArray(object)) { - for (let i7 = 0; i7 < object.length; ++i7) { - const header = object[i7]; - if (header.length !== 2) { - throw webidl.errors.exception({ - header: "Headers constructor", - message: `expected name/value pair to be length 2, found ${header.length}.` - }); - } - appendHeader(headers, header[0], header[1]); - } - } else if (typeof object === "object" && object !== null) { - const keys = Object.keys(object); - for (let i7 = 0; i7 < keys.length; ++i7) { - appendHeader(headers, keys[i7], object[keys[i7]]); - } - } else { - throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence>", "record"] - }); - } - } - function appendHeader(headers, name, value) { - value = headerValueNormalize(value); - if (!isValidHeaderName(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.append", - value: name, - type: "header name" - }); - } else if (!isValidHeaderValue(value)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.append", - value, - type: "header value" - }); - } - if (headers[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (headers[kGuard] === "request-no-cors") { - } - return headers[kHeadersList].append(name, value); - } - var HeadersList = class _HeadersList { - /** @type {[string, string][]|null} */ - cookies = null; - constructor(init) { - if (init instanceof _HeadersList) { - this[kHeadersMap] = new Map(init[kHeadersMap]); - this[kHeadersSortedMap] = init[kHeadersSortedMap]; - this.cookies = init.cookies === null ? null : [...init.cookies]; - } else { - this[kHeadersMap] = new Map(init); - this[kHeadersSortedMap] = null; - } - } - // https://fetch.spec.whatwg.org/#header-list-contains - contains(name) { - name = name.toLowerCase(); - return this[kHeadersMap].has(name); - } - clear() { - this[kHeadersMap].clear(); - this[kHeadersSortedMap] = null; - this.cookies = null; - } - // https://fetch.spec.whatwg.org/#concept-header-list-append - append(name, value) { - this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); - const exists = this[kHeadersMap].get(lowercaseName); - if (exists) { - const delimiter = lowercaseName === "cookie" ? "; " : ", "; - this[kHeadersMap].set(lowercaseName, { - name: exists.name, - value: `${exists.value}${delimiter}${value}` - }); - } else { - this[kHeadersMap].set(lowercaseName, { name, value }); - } - if (lowercaseName === "set-cookie") { - this.cookies ??= []; - this.cookies.push(value); - } - } - // https://fetch.spec.whatwg.org/#concept-header-list-set - set(name, value) { - this[kHeadersSortedMap] = null; - const lowercaseName = name.toLowerCase(); - if (lowercaseName === "set-cookie") { - this.cookies = [value]; - } - this[kHeadersMap].set(lowercaseName, { name, value }); - } - // https://fetch.spec.whatwg.org/#concept-header-list-delete - delete(name) { - this[kHeadersSortedMap] = null; - name = name.toLowerCase(); - if (name === "set-cookie") { - this.cookies = null; - } - this[kHeadersMap].delete(name); - } - // https://fetch.spec.whatwg.org/#concept-header-list-get - get(name) { - const value = this[kHeadersMap].get(name.toLowerCase()); - return value === void 0 ? null : value.value; - } - *[Symbol.iterator]() { - for (const [name, { value }] of this[kHeadersMap]) { - yield [name, value]; - } - } - get entries() { - const headers = {}; - if (this[kHeadersMap].size) { - for (const { name, value } of this[kHeadersMap].values()) { - headers[name] = value; - } - } - return headers; - } - }; - var Headers = class _Headers { - constructor(init = void 0) { - if (init === kConstruct) { - return; - } - this[kHeadersList] = new HeadersList(); - this[kGuard] = "none"; - if (init !== void 0) { - init = webidl.converters.HeadersInit(init); - fill(this, init); - } - } - // https://fetch.spec.whatwg.org/#dom-headers-append - append(name, value) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.append" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); - return appendHeader(this, name, value); - } - // https://fetch.spec.whatwg.org/#dom-headers-delete - delete(name) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.delete" }); - name = webidl.converters.ByteString(name); - if (!isValidHeaderName(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.delete", - value: name, - type: "header name" - }); - } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { - } - if (!this[kHeadersList].contains(name)) { - return; - } - this[kHeadersList].delete(name); - } - // https://fetch.spec.whatwg.org/#dom-headers-get - get(name) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.get" }); - name = webidl.converters.ByteString(name); - if (!isValidHeaderName(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.get", - value: name, - type: "header name" - }); - } - return this[kHeadersList].get(name); - } - // https://fetch.spec.whatwg.org/#dom-headers-has - has(name) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.has" }); - name = webidl.converters.ByteString(name); - if (!isValidHeaderName(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.has", - value: name, - type: "header name" - }); - } - return this[kHeadersList].contains(name); - } - // https://fetch.spec.whatwg.org/#dom-headers-set - set(name, value) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 2, { header: "Headers.set" }); - name = webidl.converters.ByteString(name); - value = webidl.converters.ByteString(value); - value = headerValueNormalize(value); - if (!isValidHeaderName(name)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.set", - value: name, - type: "header name" - }); - } else if (!isValidHeaderValue(value)) { - throw webidl.errors.invalidArgument({ - prefix: "Headers.set", - value, - type: "header value" - }); - } - if (this[kGuard] === "immutable") { - throw new TypeError("immutable"); - } else if (this[kGuard] === "request-no-cors") { - } - this[kHeadersList].set(name, value); - } - // https://fetch.spec.whatwg.org/#dom-headers-getsetcookie - getSetCookie() { - webidl.brandCheck(this, _Headers); - const list = this[kHeadersList].cookies; - if (list) { - return [...list]; - } - return []; - } - // https://fetch.spec.whatwg.org/#concept-header-list-sort-and-combine - get [kHeadersSortedMap]() { - if (this[kHeadersList][kHeadersSortedMap]) { - return this[kHeadersList][kHeadersSortedMap]; - } - const headers = []; - const names = [...this[kHeadersList]].sort((a6, b5) => a6[0] < b5[0] ? -1 : 1); - const cookies = this[kHeadersList].cookies; - for (let i7 = 0; i7 < names.length; ++i7) { - const [name, value] = names[i7]; - if (name === "set-cookie") { - for (let j9 = 0; j9 < cookies.length; ++j9) { - headers.push([name, cookies[j9]]); - } - } else { - assert(value !== null); - headers.push([name, value]); - } - } - this[kHeadersList][kHeadersSortedMap] = headers; - return headers; - } - keys() { - webidl.brandCheck(this, _Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "key" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "key" - ); - } - values() { - webidl.brandCheck(this, _Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "value" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "value" - ); - } - entries() { - webidl.brandCheck(this, _Headers); - if (this[kGuard] === "immutable") { - const value = this[kHeadersSortedMap]; - return makeIterator( - () => value, - "Headers", - "key+value" - ); - } - return makeIterator( - () => [...this[kHeadersSortedMap].values()], - "Headers", - "key+value" - ); - } - /** - * @param {(value: string, key: string, self: Headers) => void} callbackFn - * @param {unknown} thisArg - */ - forEach(callbackFn, thisArg = globalThis) { - webidl.brandCheck(this, _Headers); - webidl.argumentLengthCheck(arguments, 1, { header: "Headers.forEach" }); - if (typeof callbackFn !== "function") { - throw new TypeError( - "Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'." - ); - } - for (const [key, value] of this) { - callbackFn.apply(thisArg, [value, key, this]); - } - } - [/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() { - webidl.brandCheck(this, _Headers); - return this[kHeadersList]; - } - }; - Headers.prototype[Symbol.iterator] = Headers.prototype.entries; - Object.defineProperties(Headers.prototype, { - append: kEnumerableProperty, - delete: kEnumerableProperty, - get: kEnumerableProperty, - has: kEnumerableProperty, - set: kEnumerableProperty, - getSetCookie: kEnumerableProperty, - keys: kEnumerableProperty, - values: kEnumerableProperty, - entries: kEnumerableProperty, - forEach: kEnumerableProperty, - [Symbol.iterator]: { enumerable: false }, - [Symbol.toStringTag]: { - value: "Headers", - configurable: true - }, - [util.inspect.custom]: { - enumerable: false - } - }); - webidl.converters.HeadersInit = function(V4) { - if (webidl.util.Type(V4) === "Object") { - if (V4[Symbol.iterator]) { - return webidl.converters["sequence>"](V4); - } - return webidl.converters["record"](V4); - } - throw webidl.errors.conversionFailed({ - prefix: "Headers constructor", - argument: "Argument 1", - types: ["sequence>", "record"] - }); - }; - module2.exports = { - fill, - Headers, - HeadersList - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/response.js -var require_response = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/response.js"(exports2, module2) { - "use strict"; - var { Headers, HeadersList, fill } = require_headers(); - var { extractBody, cloneBody, mixinBody } = require_body(); - var util = require_util(); - var { kEnumerableProperty } = util; - var { - isValidReasonPhrase, - isCancelled, - isAborted, - isBlobLike, - serializeJavascriptValueToJSONString, - isErrorLike, - isomorphicEncode - } = require_util2(); - var { - redirectStatusSet, - nullBodyStatus, - DOMException: DOMException2 - } = require_constants2(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var { webidl } = require_webidl(); - var { FormData } = require_formdata(); - var { getGlobalOrigin } = require_global(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList, kConstruct } = require_symbols(); - var assert = require("assert"); - var { types } = require("util"); - var ReadableStream2 = globalThis.ReadableStream || require("stream/web").ReadableStream; - var textEncoder = new TextEncoder("utf-8"); - var Response2 = class _Response { - // Creates network error Response. - static error() { - const relevantRealm = { settingsObject: {} }; - const responseObject = new _Response(); - responseObject[kState] = makeNetworkError(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = responseObject[kState].headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - return responseObject; - } - // https://fetch.spec.whatwg.org/#dom-response-json - static json(data, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "Response.json" }); - if (init !== null) { - init = webidl.converters.ResponseInit(init); - } - const bytes = textEncoder.encode( - serializeJavascriptValueToJSONString(data) - ); - const body = extractBody(bytes); - const relevantRealm = { settingsObject: {} }; - const responseObject = new _Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "response"; - responseObject[kHeaders][kRealm] = relevantRealm; - initializeResponse(responseObject, init, { body: body[0], type: "application/json" }); - return responseObject; - } - // Creates a redirect Response that redirects to url with status status. - static redirect(url, status = 302) { - const relevantRealm = { settingsObject: {} }; - webidl.argumentLengthCheck(arguments, 1, { header: "Response.redirect" }); - url = webidl.converters.USVString(url); - status = webidl.converters["unsigned short"](status); - let parsedURL; - try { - parsedURL = new URL(url, getGlobalOrigin()); - } catch (err) { - throw Object.assign(new TypeError("Failed to parse URL from " + url), { - cause: err - }); - } - if (!redirectStatusSet.has(status)) { - throw new RangeError("Invalid status code " + status); - } - const responseObject = new _Response(); - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - responseObject[kState].status = status; - const value = isomorphicEncode(URLSerializer(parsedURL)); - responseObject[kState].headersList.append("location", value); - return responseObject; - } - // https://fetch.spec.whatwg.org/#dom-response - constructor(body = null, init = {}) { - if (body !== null) { - body = webidl.converters.BodyInit(body); - } - init = webidl.converters.ResponseInit(init); - this[kRealm] = { settingsObject: {} }; - this[kState] = makeResponse({}); - this[kHeaders] = new Headers(kConstruct); - this[kHeaders][kGuard] = "response"; - this[kHeaders][kHeadersList] = this[kState].headersList; - this[kHeaders][kRealm] = this[kRealm]; - let bodyWithType = null; - if (body != null) { - const [extractedBody, type] = extractBody(body); - bodyWithType = { body: extractedBody, type }; - } - initializeResponse(this, init, bodyWithType); - } - // Returns response’s type, e.g., "cors". - get type() { - webidl.brandCheck(this, _Response); - return this[kState].type; - } - // Returns response’s URL, if it has one; otherwise the empty string. - get url() { - webidl.brandCheck(this, _Response); - const urlList = this[kState].urlList; - const url = urlList[urlList.length - 1] ?? null; - if (url === null) { - return ""; - } - return URLSerializer(url, true); - } - // Returns whether response was obtained through a redirect. - get redirected() { - webidl.brandCheck(this, _Response); - return this[kState].urlList.length > 1; - } - // Returns response’s status. - get status() { - webidl.brandCheck(this, _Response); - return this[kState].status; - } - // Returns whether response’s status is an ok status. - get ok() { - webidl.brandCheck(this, _Response); - return this[kState].status >= 200 && this[kState].status <= 299; - } - // Returns response’s status message. - get statusText() { - webidl.brandCheck(this, _Response); - return this[kState].statusText; - } - // Returns response’s headers as Headers. - get headers() { - webidl.brandCheck(this, _Response); - return this[kHeaders]; - } - get body() { - webidl.brandCheck(this, _Response); - return this[kState].body ? this[kState].body.stream : null; - } - get bodyUsed() { - webidl.brandCheck(this, _Response); - return !!this[kState].body && util.isDisturbed(this[kState].body.stream); - } - // Returns a clone of response. - clone() { - webidl.brandCheck(this, _Response); - if (this.bodyUsed || this.body && this.body.locked) { - throw webidl.errors.exception({ - header: "Response.clone", - message: "Body has already been consumed." - }); - } - const clonedResponse = cloneResponse(this[kState]); - const clonedResponseObject = new _Response(); - clonedResponseObject[kState] = clonedResponse; - clonedResponseObject[kRealm] = this[kRealm]; - clonedResponseObject[kHeaders][kHeadersList] = clonedResponse.headersList; - clonedResponseObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedResponseObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - return clonedResponseObject; - } - }; - mixinBody(Response2); - Object.defineProperties(Response2.prototype, { - type: kEnumerableProperty, - url: kEnumerableProperty, - status: kEnumerableProperty, - ok: kEnumerableProperty, - redirected: kEnumerableProperty, - statusText: kEnumerableProperty, - headers: kEnumerableProperty, - clone: kEnumerableProperty, - body: kEnumerableProperty, - bodyUsed: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "Response", - configurable: true - } - }); - Object.defineProperties(Response2, { - json: kEnumerableProperty, - redirect: kEnumerableProperty, - error: kEnumerableProperty - }); - function cloneResponse(response) { - if (response.internalResponse) { - return filterResponse( - cloneResponse(response.internalResponse), - response.type - ); - } - const newResponse = makeResponse({ ...response, body: null }); - if (response.body != null) { - newResponse.body = cloneBody(response.body); - } - return newResponse; - } - function makeResponse(init) { - return { - aborted: false, - rangeRequested: false, - timingAllowPassed: false, - requestIncludesCredentials: false, - type: "default", - status: 200, - timingInfo: null, - cacheState: "", - statusText: "", - ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList(), - urlList: init.urlList ? [...init.urlList] : [] - }; - } - function makeNetworkError(reason) { - const isError = isErrorLike(reason); - return makeResponse({ - type: "error", - status: 0, - error: isError ? reason : new Error(reason ? String(reason) : reason), - aborted: reason && reason.name === "AbortError" - }); - } - function makeFilteredResponse(response, state) { - state = { - internalResponse: response, - ...state - }; - return new Proxy(response, { - get(target, p5) { - return p5 in state ? state[p5] : target[p5]; - }, - set(target, p5, value) { - assert(!(p5 in state)); - target[p5] = value; - return true; - } - }); - } - function filterResponse(response, type) { - if (type === "basic") { - return makeFilteredResponse(response, { - type: "basic", - headersList: response.headersList - }); - } else if (type === "cors") { - return makeFilteredResponse(response, { - type: "cors", - headersList: response.headersList - }); - } else if (type === "opaque") { - return makeFilteredResponse(response, { - type: "opaque", - urlList: Object.freeze([]), - status: 0, - statusText: "", - body: null - }); - } else if (type === "opaqueredirect") { - return makeFilteredResponse(response, { - type: "opaqueredirect", - status: 0, - statusText: "", - headersList: [], - body: null - }); - } else { - assert(false); - } - } - function makeAppropriateNetworkError(fetchParams, err = null) { - assert(isCancelled(fetchParams)); - return isAborted(fetchParams) ? makeNetworkError(Object.assign(new DOMException2("The operation was aborted.", "AbortError"), { cause: err })) : makeNetworkError(Object.assign(new DOMException2("Request was cancelled."), { cause: err })); - } - function initializeResponse(response, init, body) { - if (init.status !== null && (init.status < 200 || init.status > 599)) { - throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.'); - } - if ("statusText" in init && init.statusText != null) { - if (!isValidReasonPhrase(String(init.statusText))) { - throw new TypeError("Invalid statusText"); - } - } - if ("status" in init && init.status != null) { - response[kState].status = init.status; - } - if ("statusText" in init && init.statusText != null) { - response[kState].statusText = init.statusText; - } - if ("headers" in init && init.headers != null) { - fill(response[kHeaders], init.headers); - } - if (body) { - if (nullBodyStatus.includes(response.status)) { - throw webidl.errors.exception({ - header: "Response constructor", - message: "Invalid response status code " + response.status - }); - } - response[kState].body = body.body; - if (body.type != null && !response[kState].headersList.contains("Content-Type")) { - response[kState].headersList.append("content-type", body.type); - } - } - } - webidl.converters.ReadableStream = webidl.interfaceConverter( - ReadableStream2 - ); - webidl.converters.FormData = webidl.interfaceConverter( - FormData - ); - webidl.converters.URLSearchParams = webidl.interfaceConverter( - URLSearchParams - ); - webidl.converters.XMLHttpRequestBodyInit = function(V4) { - if (typeof V4 === "string") { - return webidl.converters.USVString(V4); - } - if (isBlobLike(V4)) { - return webidl.converters.Blob(V4, { strict: false }); - } - if (types.isArrayBuffer(V4) || types.isTypedArray(V4) || types.isDataView(V4)) { - return webidl.converters.BufferSource(V4); - } - if (util.isFormDataLike(V4)) { - return webidl.converters.FormData(V4, { strict: false }); - } - if (V4 instanceof URLSearchParams) { - return webidl.converters.URLSearchParams(V4); - } - return webidl.converters.DOMString(V4); - }; - webidl.converters.BodyInit = function(V4) { - if (V4 instanceof ReadableStream2) { - return webidl.converters.ReadableStream(V4); - } - if (V4?.[Symbol.asyncIterator]) { - return V4; - } - return webidl.converters.XMLHttpRequestBodyInit(V4); - }; - webidl.converters.ResponseInit = webidl.dictionaryConverter([ - { - key: "status", - converter: webidl.converters["unsigned short"], - defaultValue: 200 - }, - { - key: "statusText", - converter: webidl.converters.ByteString, - defaultValue: "" - }, - { - key: "headers", - converter: webidl.converters.HeadersInit - } - ]); - module2.exports = { - makeNetworkError, - makeResponse, - makeAppropriateNetworkError, - filterResponse, - Response: Response2, - cloneResponse - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/request.js -var require_request2 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/request.js"(exports2, module2) { - "use strict"; - var { extractBody, mixinBody, cloneBody } = require_body(); - var { Headers, fill: fillHeaders, HeadersList } = require_headers(); - var { FinalizationRegistry } = require_dispatcher_weakref()(); - var util = require_util(); - var { - isValidHTTPToken, - sameOrigin, - normalizeMethod, - makePolicyContainer, - normalizeMethodRecord - } = require_util2(); - var { - forbiddenMethodsSet, - corsSafeListedMethodsSet, - referrerPolicy, - requestRedirect, - requestMode, - requestCredentials, - requestCache, - requestDuplex - } = require_constants2(); - var { kEnumerableProperty } = util; - var { kHeaders, kSignal, kState, kGuard, kRealm } = require_symbols2(); - var { webidl } = require_webidl(); - var { getGlobalOrigin } = require_global(); - var { URLSerializer } = require_dataURL(); - var { kHeadersList, kConstruct } = require_symbols(); - var assert = require("assert"); - var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events"); - var TransformStream2 = globalThis.TransformStream; - var kAbortController = /* @__PURE__ */ Symbol("abortController"); - var requestFinalizer = new FinalizationRegistry(({ signal, abort }) => { - signal.removeEventListener("abort", abort); - }); - var Request = class _Request { - // https://fetch.spec.whatwg.org/#dom-request - constructor(input, init = {}) { - if (input === kConstruct) { - return; - } - webidl.argumentLengthCheck(arguments, 1, { header: "Request constructor" }); - input = webidl.converters.RequestInfo(input); - init = webidl.converters.RequestInit(init); - this[kRealm] = { - settingsObject: { - baseUrl: getGlobalOrigin(), - get origin() { - return this.baseUrl?.origin; - }, - policyContainer: makePolicyContainer() - } - }; - let request = null; - let fallbackMode = null; - const baseUrl = this[kRealm].settingsObject.baseUrl; - let signal = null; - if (typeof input === "string") { - let parsedURL; - try { - parsedURL = new URL(input, baseUrl); - } catch (err) { - throw new TypeError("Failed to parse URL from " + input, { cause: err }); - } - if (parsedURL.username || parsedURL.password) { - throw new TypeError( - "Request cannot be constructed from a URL that includes credentials: " + input - ); - } - request = makeRequest({ urlList: [parsedURL] }); - fallbackMode = "cors"; - } else { - assert(input instanceof _Request); - request = input[kState]; - signal = input[kSignal]; - } - const origin = this[kRealm].settingsObject.origin; - let window2 = "client"; - if (request.window?.constructor?.name === "EnvironmentSettingsObject" && sameOrigin(request.window, origin)) { - window2 = request.window; - } - if (init.window != null) { - throw new TypeError(`'window' option '${window2}' must be null`); - } - if ("window" in init) { - window2 = "no-window"; - } - request = makeRequest({ - // URL request’s URL. - // undici implementation note: this is set as the first item in request's urlList in makeRequest - // method request’s method. - method: request.method, - // header list A copy of request’s header list. - // undici implementation note: headersList is cloned in makeRequest - headersList: request.headersList, - // unsafe-request flag Set. - unsafeRequest: request.unsafeRequest, - // client This’s relevant settings object. - client: this[kRealm].settingsObject, - // window window. - window: window2, - // priority request’s priority. - priority: request.priority, - // origin request’s origin. The propagation of the origin is only significant for navigation requests - // being handled by a service worker. In this scenario a request can have an origin that is different - // from the current client. - origin: request.origin, - // referrer request’s referrer. - referrer: request.referrer, - // referrer policy request’s referrer policy. - referrerPolicy: request.referrerPolicy, - // mode request’s mode. - mode: request.mode, - // credentials mode request’s credentials mode. - credentials: request.credentials, - // cache mode request’s cache mode. - cache: request.cache, - // redirect mode request’s redirect mode. - redirect: request.redirect, - // integrity metadata request’s integrity metadata. - integrity: request.integrity, - // keepalive request’s keepalive. - keepalive: request.keepalive, - // reload-navigation flag request’s reload-navigation flag. - reloadNavigation: request.reloadNavigation, - // history-navigation flag request’s history-navigation flag. - historyNavigation: request.historyNavigation, - // URL list A clone of request’s URL list. - urlList: [...request.urlList] - }); - const initHasKey = Object.keys(init).length !== 0; - if (initHasKey) { - if (request.mode === "navigate") { - request.mode = "same-origin"; - } - request.reloadNavigation = false; - request.historyNavigation = false; - request.origin = "client"; - request.referrer = "client"; - request.referrerPolicy = ""; - request.url = request.urlList[request.urlList.length - 1]; - request.urlList = [request.url]; - } - if (init.referrer !== void 0) { - const referrer = init.referrer; - if (referrer === "") { - request.referrer = "no-referrer"; - } else { - let parsedReferrer; - try { - parsedReferrer = new URL(referrer, baseUrl); - } catch (err) { - throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err }); - } - if (parsedReferrer.protocol === "about:" && parsedReferrer.hostname === "client" || origin && !sameOrigin(parsedReferrer, this[kRealm].settingsObject.baseUrl)) { - request.referrer = "client"; - } else { - request.referrer = parsedReferrer; - } - } - } - if (init.referrerPolicy !== void 0) { - request.referrerPolicy = init.referrerPolicy; - } - let mode; - if (init.mode !== void 0) { - mode = init.mode; - } else { - mode = fallbackMode; - } - if (mode === "navigate") { - throw webidl.errors.exception({ - header: "Request constructor", - message: "invalid request mode navigate." - }); - } - if (mode != null) { - request.mode = mode; - } - if (init.credentials !== void 0) { - request.credentials = init.credentials; - } - if (init.cache !== void 0) { - request.cache = init.cache; - } - if (request.cache === "only-if-cached" && request.mode !== "same-origin") { - throw new TypeError( - "'only-if-cached' can be set only with 'same-origin' mode" - ); - } - if (init.redirect !== void 0) { - request.redirect = init.redirect; - } - if (init.integrity != null) { - request.integrity = String(init.integrity); - } - if (init.keepalive !== void 0) { - request.keepalive = Boolean(init.keepalive); - } - if (init.method !== void 0) { - let method = init.method; - if (!isValidHTTPToken(method)) { - throw new TypeError(`'${method}' is not a valid HTTP method.`); - } - if (forbiddenMethodsSet.has(method.toUpperCase())) { - throw new TypeError(`'${method}' HTTP method is unsupported.`); - } - method = normalizeMethodRecord[method] ?? normalizeMethod(method); - request.method = method; - } - if (init.signal !== void 0) { - signal = init.signal; - } - this[kState] = request; - const ac4 = new AbortController(); - this[kSignal] = ac4.signal; - this[kSignal][kRealm] = this[kRealm]; - if (signal != null) { - if (!signal || typeof signal.aborted !== "boolean" || typeof signal.addEventListener !== "function") { - throw new TypeError( - "Failed to construct 'Request': member signal is not of type AbortSignal." - ); - } - if (signal.aborted) { - ac4.abort(signal.reason); - } else { - this[kAbortController] = ac4; - const acRef = new WeakRef(ac4); - const abort = function() { - const ac5 = acRef.deref(); - if (ac5 !== void 0) { - ac5.abort(this.reason); - } - }; - try { - if (typeof getMaxListeners === "function" && getMaxListeners(signal) === defaultMaxListeners) { - setMaxListeners(100, signal); - } else if (getEventListeners(signal, "abort").length >= defaultMaxListeners) { - setMaxListeners(100, signal); - } - } catch { - } - util.addAbortListener(signal, abort); - requestFinalizer.register(ac4, { signal, abort }); - } - } - this[kHeaders] = new Headers(kConstruct); - this[kHeaders][kHeadersList] = request.headersList; - this[kHeaders][kGuard] = "request"; - this[kHeaders][kRealm] = this[kRealm]; - if (mode === "no-cors") { - if (!corsSafeListedMethodsSet.has(request.method)) { - throw new TypeError( - `'${request.method} is unsupported in no-cors mode.` - ); - } - this[kHeaders][kGuard] = "request-no-cors"; - } - if (initHasKey) { - const headersList = this[kHeaders][kHeadersList]; - const headers = init.headers !== void 0 ? init.headers : new HeadersList(headersList); - headersList.clear(); - if (headers instanceof HeadersList) { - for (const [key, val] of headers) { - headersList.append(key, val); - } - headersList.cookies = headers.cookies; - } else { - fillHeaders(this[kHeaders], headers); - } - } - const inputBody = input instanceof _Request ? input[kState].body : null; - if ((init.body != null || inputBody != null) && (request.method === "GET" || request.method === "HEAD")) { - throw new TypeError("Request with GET/HEAD method cannot have body."); - } - let initBody = null; - if (init.body != null) { - const [extractedBody, contentType] = extractBody( - init.body, - request.keepalive - ); - initBody = extractedBody; - if (contentType && !this[kHeaders][kHeadersList].contains("content-type")) { - this[kHeaders].append("content-type", contentType); - } - } - const inputOrInitBody = initBody ?? inputBody; - if (inputOrInitBody != null && inputOrInitBody.source == null) { - if (initBody != null && init.duplex == null) { - throw new TypeError("RequestInit: duplex option is required when sending a body."); - } - if (request.mode !== "same-origin" && request.mode !== "cors") { - throw new TypeError( - 'If request is made from ReadableStream, mode should be "same-origin" or "cors"' - ); - } - request.useCORSPreflightFlag = true; - } - let finalBody = inputOrInitBody; - if (initBody == null && inputBody != null) { - if (util.isDisturbed(inputBody.stream) || inputBody.stream.locked) { - throw new TypeError( - "Cannot construct a Request with a Request object that has already been used." - ); - } - if (!TransformStream2) { - TransformStream2 = require("stream/web").TransformStream; - } - const identityTransform = new TransformStream2(); - inputBody.stream.pipeThrough(identityTransform); - finalBody = { - source: inputBody.source, - length: inputBody.length, - stream: identityTransform.readable - }; - } - this[kState].body = finalBody; - } - // Returns request’s HTTP method, which is "GET" by default. - get method() { - webidl.brandCheck(this, _Request); - return this[kState].method; - } - // Returns the URL of request as a string. - get url() { - webidl.brandCheck(this, _Request); - return URLSerializer(this[kState].url); - } - // Returns a Headers object consisting of the headers associated with request. - // Note that headers added in the network layer by the user agent will not - // be accounted for in this object, e.g., the "Host" header. - get headers() { - webidl.brandCheck(this, _Request); - return this[kHeaders]; - } - // Returns the kind of resource requested by request, e.g., "document" - // or "script". - get destination() { - webidl.brandCheck(this, _Request); - return this[kState].destination; - } - // Returns the referrer of request. Its value can be a same-origin URL if - // explicitly set in init, the empty string to indicate no referrer, and - // "about:client" when defaulting to the global’s default. This is used - // during fetching to determine the value of the `Referer` header of the - // request being made. - get referrer() { - webidl.brandCheck(this, _Request); - if (this[kState].referrer === "no-referrer") { - return ""; - } - if (this[kState].referrer === "client") { - return "about:client"; - } - return this[kState].referrer.toString(); - } - // Returns the referrer policy associated with request. - // This is used during fetching to compute the value of the request’s - // referrer. - get referrerPolicy() { - webidl.brandCheck(this, _Request); - return this[kState].referrerPolicy; - } - // Returns the mode associated with request, which is a string indicating - // whether the request will use CORS, or will be restricted to same-origin - // URLs. - get mode() { - webidl.brandCheck(this, _Request); - return this[kState].mode; - } - // Returns the credentials mode associated with request, - // which is a string indicating whether credentials will be sent with the - // request always, never, or only when sent to a same-origin URL. - get credentials() { - return this[kState].credentials; - } - // Returns the cache mode associated with request, - // which is a string indicating how the request will - // interact with the browser’s cache when fetching. - get cache() { - webidl.brandCheck(this, _Request); - return this[kState].cache; - } - // Returns the redirect mode associated with request, - // which is a string indicating how redirects for the - // request will be handled during fetching. A request - // will follow redirects by default. - get redirect() { - webidl.brandCheck(this, _Request); - return this[kState].redirect; - } - // Returns request’s subresource integrity metadata, which is a - // cryptographic hash of the resource being fetched. Its value - // consists of multiple hashes separated by whitespace. [SRI] - get integrity() { - webidl.brandCheck(this, _Request); - return this[kState].integrity; - } - // Returns a boolean indicating whether or not request can outlive the - // global in which it was created. - get keepalive() { - webidl.brandCheck(this, _Request); - return this[kState].keepalive; - } - // Returns a boolean indicating whether or not request is for a reload - // navigation. - get isReloadNavigation() { - webidl.brandCheck(this, _Request); - return this[kState].reloadNavigation; - } - // Returns a boolean indicating whether or not request is for a history - // navigation (a.k.a. back-foward navigation). - get isHistoryNavigation() { - webidl.brandCheck(this, _Request); - return this[kState].historyNavigation; - } - // Returns the signal associated with request, which is an AbortSignal - // object indicating whether or not request has been aborted, and its - // abort event handler. - get signal() { - webidl.brandCheck(this, _Request); - return this[kSignal]; - } - get body() { - webidl.brandCheck(this, _Request); - return this[kState].body ? this[kState].body.stream : null; - } - get bodyUsed() { - webidl.brandCheck(this, _Request); - return !!this[kState].body && util.isDisturbed(this[kState].body.stream); - } - get duplex() { - webidl.brandCheck(this, _Request); - return "half"; - } - // Returns a clone of request. - clone() { - webidl.brandCheck(this, _Request); - if (this.bodyUsed || this.body?.locked) { - throw new TypeError("unusable"); - } - const clonedRequest = cloneRequest(this[kState]); - const clonedRequestObject = new _Request(kConstruct); - clonedRequestObject[kState] = clonedRequest; - clonedRequestObject[kRealm] = this[kRealm]; - clonedRequestObject[kHeaders] = new Headers(kConstruct); - clonedRequestObject[kHeaders][kHeadersList] = clonedRequest.headersList; - clonedRequestObject[kHeaders][kGuard] = this[kHeaders][kGuard]; - clonedRequestObject[kHeaders][kRealm] = this[kHeaders][kRealm]; - const ac4 = new AbortController(); - if (this.signal.aborted) { - ac4.abort(this.signal.reason); - } else { - util.addAbortListener( - this.signal, - () => { - ac4.abort(this.signal.reason); - } - ); - } - clonedRequestObject[kSignal] = ac4.signal; - return clonedRequestObject; - } - }; - mixinBody(Request); - function makeRequest(init) { - const request = { - method: "GET", - localURLsOnly: false, - unsafeRequest: false, - body: null, - client: null, - reservedClient: null, - replacesClientId: "", - window: "client", - keepalive: false, - serviceWorkers: "all", - initiator: "", - destination: "", - priority: null, - origin: "client", - policyContainer: "client", - referrer: "client", - referrerPolicy: "", - mode: "no-cors", - useCORSPreflightFlag: false, - credentials: "same-origin", - useCredentials: false, - cache: "default", - redirect: "follow", - integrity: "", - cryptoGraphicsNonceMetadata: "", - parserMetadata: "", - reloadNavigation: false, - historyNavigation: false, - userActivation: false, - taintedOrigin: false, - redirectCount: 0, - responseTainting: "basic", - preventNoCacheCacheControlHeaderModification: false, - done: false, - timingAllowFailed: false, - ...init, - headersList: init.headersList ? new HeadersList(init.headersList) : new HeadersList() - }; - request.url = request.urlList[0]; - return request; - } - function cloneRequest(request) { - const newRequest = makeRequest({ ...request, body: null }); - if (request.body != null) { - newRequest.body = cloneBody(request.body); - } - return newRequest; - } - Object.defineProperties(Request.prototype, { - method: kEnumerableProperty, - url: kEnumerableProperty, - headers: kEnumerableProperty, - redirect: kEnumerableProperty, - clone: kEnumerableProperty, - signal: kEnumerableProperty, - duplex: kEnumerableProperty, - destination: kEnumerableProperty, - body: kEnumerableProperty, - bodyUsed: kEnumerableProperty, - isHistoryNavigation: kEnumerableProperty, - isReloadNavigation: kEnumerableProperty, - keepalive: kEnumerableProperty, - integrity: kEnumerableProperty, - cache: kEnumerableProperty, - credentials: kEnumerableProperty, - attribute: kEnumerableProperty, - referrerPolicy: kEnumerableProperty, - referrer: kEnumerableProperty, - mode: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "Request", - configurable: true - } - }); - webidl.converters.Request = webidl.interfaceConverter( - Request - ); - webidl.converters.RequestInfo = function(V4) { - if (typeof V4 === "string") { - return webidl.converters.USVString(V4); - } - if (V4 instanceof Request) { - return webidl.converters.Request(V4); - } - return webidl.converters.USVString(V4); - }; - webidl.converters.AbortSignal = webidl.interfaceConverter( - AbortSignal - ); - webidl.converters.RequestInit = webidl.dictionaryConverter([ - { - key: "method", - converter: webidl.converters.ByteString - }, - { - key: "headers", - converter: webidl.converters.HeadersInit - }, - { - key: "body", - converter: webidl.nullableConverter( - webidl.converters.BodyInit - ) - }, - { - key: "referrer", - converter: webidl.converters.USVString - }, - { - key: "referrerPolicy", - converter: webidl.converters.DOMString, - // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy - allowedValues: referrerPolicy - }, - { - key: "mode", - converter: webidl.converters.DOMString, - // https://fetch.spec.whatwg.org/#concept-request-mode - allowedValues: requestMode - }, - { - key: "credentials", - converter: webidl.converters.DOMString, - // https://fetch.spec.whatwg.org/#requestcredentials - allowedValues: requestCredentials - }, - { - key: "cache", - converter: webidl.converters.DOMString, - // https://fetch.spec.whatwg.org/#requestcache - allowedValues: requestCache - }, - { - key: "redirect", - converter: webidl.converters.DOMString, - // https://fetch.spec.whatwg.org/#requestredirect - allowedValues: requestRedirect - }, - { - key: "integrity", - converter: webidl.converters.DOMString - }, - { - key: "keepalive", - converter: webidl.converters.boolean - }, - { - key: "signal", - converter: webidl.nullableConverter( - (signal) => webidl.converters.AbortSignal( - signal, - { strict: false } - ) - ) - }, - { - key: "window", - converter: webidl.converters.any - }, - { - key: "duplex", - converter: webidl.converters.DOMString, - allowedValues: requestDuplex - } - ]); - module2.exports = { Request, makeRequest }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fetch/index.js -var require_fetch = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fetch/index.js"(exports2, module2) { - "use strict"; - var { - Response: Response2, - makeNetworkError, - makeAppropriateNetworkError, - filterResponse, - makeResponse - } = require_response(); - var { Headers } = require_headers(); - var { Request, makeRequest } = require_request2(); - var zlib = require("zlib"); - var { - bytesMatch, - makePolicyContainer, - clonePolicyContainer, - requestBadPort, - TAOCheck, - appendRequestOriginHeader, - responseLocationURL, - requestCurrentURL, - setRequestReferrerPolicyOnRedirect, - tryUpgradeRequestToAPotentiallyTrustworthyURL, - createOpaqueTimingInfo, - appendFetchMetadata, - corsCheck, - crossOriginResourcePolicyCheck, - determineRequestsReferrer, - coarsenedSharedCurrentTime, - createDeferredPromise, - isBlobLike, - sameOrigin, - isCancelled, - isAborted, - isErrorLike, - fullyReadBody, - readableStreamClose, - isomorphicEncode, - urlIsLocal, - urlIsHttpHttpsScheme, - urlHasHttpsScheme - } = require_util2(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var assert = require("assert"); - var { safelyExtractBody } = require_body(); - var { - redirectStatusSet, - nullBodyStatus, - safeMethodsSet, - requestBodyHeader, - subresourceSet, - DOMException: DOMException2 - } = require_constants2(); - var { kHeadersList } = require_symbols(); - var EE2 = require("events"); - var { Readable, pipeline } = require("stream"); - var { addAbortListener, isErrored, isReadable, nodeMajor, nodeMinor } = require_util(); - var { dataURLProcessor, serializeAMimeType } = require_dataURL(); - var { TransformStream: TransformStream2 } = require("stream/web"); - var { getGlobalDispatcher } = require_global2(); - var { webidl } = require_webidl(); - var { STATUS_CODES } = require("http"); - var GET_OR_HEAD = ["GET", "HEAD"]; - var resolveObjectURL; - var ReadableStream2 = globalThis.ReadableStream; - var Fetch = class extends EE2 { - constructor(dispatcher) { - super(); - this.dispatcher = dispatcher; - this.connection = null; - this.dump = false; - this.state = "ongoing"; - this.setMaxListeners(21); - } - terminate(reason) { - if (this.state !== "ongoing") { - return; - } - this.state = "terminated"; - this.connection?.destroy(reason); - this.emit("terminated", reason); - } - // https://fetch.spec.whatwg.org/#fetch-controller-abort - abort(error) { - if (this.state !== "ongoing") { - return; - } - this.state = "aborted"; - if (!error) { - error = new DOMException2("The operation was aborted.", "AbortError"); - } - this.serializedAbortReason = error; - this.connection?.destroy(error); - this.emit("terminated", error); - } - }; - function fetch2(input, init = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "globalThis.fetch" }); - const p5 = createDeferredPromise(); - let requestObject; - try { - requestObject = new Request(input, init); - } catch (e6) { - p5.reject(e6); - return p5.promise; - } - const request = requestObject[kState]; - if (requestObject.signal.aborted) { - abortFetch(p5, request, null, requestObject.signal.reason); - return p5.promise; - } - const globalObject = request.client.globalObject; - if (globalObject?.constructor?.name === "ServiceWorkerGlobalScope") { - request.serviceWorkers = "none"; - } - let responseObject = null; - const relevantRealm = null; - let locallyAborted = false; - let controller = null; - addAbortListener( - requestObject.signal, - () => { - locallyAborted = true; - assert(controller != null); - controller.abort(requestObject.signal.reason); - abortFetch(p5, request, responseObject, requestObject.signal.reason); - } - ); - const handleFetchDone = (response) => finalizeAndReportTiming(response, "fetch"); - const processResponse = (response) => { - if (locallyAborted) { - return Promise.resolve(); - } - if (response.aborted) { - abortFetch(p5, request, responseObject, controller.serializedAbortReason); - return Promise.resolve(); - } - if (response.type === "error") { - p5.reject( - Object.assign(new TypeError("fetch failed"), { cause: response.error }) - ); - return Promise.resolve(); - } - responseObject = new Response2(); - responseObject[kState] = response; - responseObject[kRealm] = relevantRealm; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseObject[kHeaders][kRealm] = relevantRealm; - p5.resolve(responseObject); - }; - controller = fetching({ - request, - processResponseEndOfBody: handleFetchDone, - processResponse, - dispatcher: init.dispatcher ?? getGlobalDispatcher() - // undici - }); - return p5.promise; - } - function finalizeAndReportTiming(response, initiatorType = "other") { - if (response.type === "error" && response.aborted) { - return; - } - if (!response.urlList?.length) { - return; - } - const originalURL = response.urlList[0]; - let timingInfo = response.timingInfo; - let cacheState = response.cacheState; - if (!urlIsHttpHttpsScheme(originalURL)) { - return; - } - if (timingInfo === null) { - return; - } - if (!response.timingAllowPassed) { - timingInfo = createOpaqueTimingInfo({ - startTime: timingInfo.startTime - }); - cacheState = ""; - } - timingInfo.endTime = coarsenedSharedCurrentTime(); - response.timingInfo = timingInfo; - markResourceTiming( - timingInfo, - originalURL, - initiatorType, - globalThis, - cacheState - ); - } - function markResourceTiming(timingInfo, originalURL, initiatorType, globalThis2, cacheState) { - if (nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 2) { - performance.markResourceTiming(timingInfo, originalURL.href, initiatorType, globalThis2, cacheState); - } - } - function abortFetch(p5, request, responseObject, error) { - if (!error) { - error = new DOMException2("The operation was aborted.", "AbortError"); - } - p5.reject(error); - if (request.body != null && isReadable(request.body?.stream)) { - request.body.stream.cancel(error).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { - return; - } - throw err; - }); - } - if (responseObject == null) { - return; - } - const response = responseObject[kState]; - if (response.body != null && isReadable(response.body?.stream)) { - response.body.stream.cancel(error).catch((err) => { - if (err.code === "ERR_INVALID_STATE") { - return; - } - throw err; - }); - } - } - function fetching({ - request, - processRequestBodyChunkLength, - processRequestEndOfBody, - processResponse, - processResponseEndOfBody, - processResponseConsumeBody, - useParallelQueue = false, - dispatcher - // undici - }) { - let taskDestination = null; - let crossOriginIsolatedCapability = false; - if (request.client != null) { - taskDestination = request.client.globalObject; - crossOriginIsolatedCapability = request.client.crossOriginIsolatedCapability; - } - const currenTime = coarsenedSharedCurrentTime(crossOriginIsolatedCapability); - const timingInfo = createOpaqueTimingInfo({ - startTime: currenTime - }); - const fetchParams = { - controller: new Fetch(dispatcher), - request, - timingInfo, - processRequestBodyChunkLength, - processRequestEndOfBody, - processResponse, - processResponseConsumeBody, - processResponseEndOfBody, - taskDestination, - crossOriginIsolatedCapability - }; - assert(!request.body || request.body.stream); - if (request.window === "client") { - request.window = request.client?.globalObject?.constructor?.name === "Window" ? request.client : "no-window"; - } - if (request.origin === "client") { - request.origin = request.client?.origin; - } - if (request.policyContainer === "client") { - if (request.client != null) { - request.policyContainer = clonePolicyContainer( - request.client.policyContainer - ); - } else { - request.policyContainer = makePolicyContainer(); - } - } - if (!request.headersList.contains("accept")) { - const value = "*/*"; - request.headersList.append("accept", value); - } - if (!request.headersList.contains("accept-language")) { - request.headersList.append("accept-language", "*"); - } - if (request.priority === null) { - } - if (subresourceSet.has(request.destination)) { - } - mainFetch(fetchParams).catch((err) => { - fetchParams.controller.terminate(err); - }); - return fetchParams.controller; - } - async function mainFetch(fetchParams, recursive = false) { - const request = fetchParams.request; - let response = null; - if (request.localURLsOnly && !urlIsLocal(requestCurrentURL(request))) { - response = makeNetworkError("local URLs only"); - } - tryUpgradeRequestToAPotentiallyTrustworthyURL(request); - if (requestBadPort(request) === "blocked") { - response = makeNetworkError("bad port"); - } - if (request.referrerPolicy === "") { - request.referrerPolicy = request.policyContainer.referrerPolicy; - } - if (request.referrer !== "no-referrer") { - request.referrer = determineRequestsReferrer(request); - } - if (response === null) { - response = await (async () => { - const currentURL = requestCurrentURL(request); - if ( - // - request’s current URL’s origin is same origin with request’s origin, - // and request’s response tainting is "basic" - sameOrigin(currentURL, request.url) && request.responseTainting === "basic" || // request’s current URL’s scheme is "data" - currentURL.protocol === "data:" || // - request’s mode is "navigate" or "websocket" - (request.mode === "navigate" || request.mode === "websocket") - ) { - request.responseTainting = "basic"; - return await schemeFetch(fetchParams); - } - if (request.mode === "same-origin") { - return makeNetworkError('request mode cannot be "same-origin"'); - } - if (request.mode === "no-cors") { - if (request.redirect !== "follow") { - return makeNetworkError( - 'redirect mode cannot be "follow" for "no-cors" request' - ); - } - request.responseTainting = "opaque"; - return await schemeFetch(fetchParams); - } - if (!urlIsHttpHttpsScheme(requestCurrentURL(request))) { - return makeNetworkError("URL scheme must be a HTTP(S) scheme"); - } - request.responseTainting = "cors"; - return await httpFetch(fetchParams); - })(); - } - if (recursive) { - return response; - } - if (response.status !== 0 && !response.internalResponse) { - if (request.responseTainting === "cors") { - } - if (request.responseTainting === "basic") { - response = filterResponse(response, "basic"); - } else if (request.responseTainting === "cors") { - response = filterResponse(response, "cors"); - } else if (request.responseTainting === "opaque") { - response = filterResponse(response, "opaque"); - } else { - assert(false); - } - } - let internalResponse = response.status === 0 ? response : response.internalResponse; - if (internalResponse.urlList.length === 0) { - internalResponse.urlList.push(...request.urlList); - } - if (!request.timingAllowFailed) { - response.timingAllowPassed = true; - } - if (response.type === "opaque" && internalResponse.status === 206 && internalResponse.rangeRequested && !request.headers.contains("range")) { - response = internalResponse = makeNetworkError(); - } - if (response.status !== 0 && (request.method === "HEAD" || request.method === "CONNECT" || nullBodyStatus.includes(internalResponse.status))) { - internalResponse.body = null; - fetchParams.controller.dump = true; - } - if (request.integrity) { - const processBodyError = (reason) => fetchFinale(fetchParams, makeNetworkError(reason)); - if (request.responseTainting === "opaque" || response.body == null) { - processBodyError(response.error); - return; - } - const processBody = (bytes) => { - if (!bytesMatch(bytes, request.integrity)) { - processBodyError("integrity mismatch"); - return; - } - response.body = safelyExtractBody(bytes)[0]; - fetchFinale(fetchParams, response); - }; - await fullyReadBody(response.body, processBody, processBodyError); - } else { - fetchFinale(fetchParams, response); - } - } - function schemeFetch(fetchParams) { - if (isCancelled(fetchParams) && fetchParams.request.redirectCount === 0) { - return Promise.resolve(makeAppropriateNetworkError(fetchParams)); - } - const { request } = fetchParams; - const { protocol: scheme } = requestCurrentURL(request); - switch (scheme) { - case "about:": { - return Promise.resolve(makeNetworkError("about scheme is not supported")); - } - case "blob:": { - if (!resolveObjectURL) { - resolveObjectURL = require("buffer").resolveObjectURL; - } - const blobURLEntry = requestCurrentURL(request); - if (blobURLEntry.search.length !== 0) { - return Promise.resolve(makeNetworkError("NetworkError when attempting to fetch resource.")); - } - const blobURLEntryObject = resolveObjectURL(blobURLEntry.toString()); - if (request.method !== "GET" || !isBlobLike(blobURLEntryObject)) { - return Promise.resolve(makeNetworkError("invalid method")); - } - const bodyWithType = safelyExtractBody(blobURLEntryObject); - const body = bodyWithType[0]; - const length = isomorphicEncode(`${body.length}`); - const type = bodyWithType[1] ?? ""; - const response = makeResponse({ - statusText: "OK", - headersList: [ - ["content-length", { name: "Content-Length", value: length }], - ["content-type", { name: "Content-Type", value: type }] - ] - }); - response.body = body; - return Promise.resolve(response); - } - case "data:": { - const currentURL = requestCurrentURL(request); - const dataURLStruct = dataURLProcessor(currentURL); - if (dataURLStruct === "failure") { - return Promise.resolve(makeNetworkError("failed to fetch the data URL")); - } - const mimeType = serializeAMimeType(dataURLStruct.mimeType); - return Promise.resolve(makeResponse({ - statusText: "OK", - headersList: [ - ["content-type", { name: "Content-Type", value: mimeType }] - ], - body: safelyExtractBody(dataURLStruct.body)[0] - })); - } - case "file:": { - return Promise.resolve(makeNetworkError("not implemented... yet...")); - } - case "http:": - case "https:": { - return httpFetch(fetchParams).catch((err) => makeNetworkError(err)); - } - default: { - return Promise.resolve(makeNetworkError("unknown scheme")); - } - } - } - function finalizeResponse(fetchParams, response) { - fetchParams.request.done = true; - if (fetchParams.processResponseDone != null) { - queueMicrotask(() => fetchParams.processResponseDone(response)); - } - } - function fetchFinale(fetchParams, response) { - if (response.type === "error") { - response.urlList = [fetchParams.request.urlList[0]]; - response.timingInfo = createOpaqueTimingInfo({ - startTime: fetchParams.timingInfo.startTime - }); - } - const processResponseEndOfBody = () => { - fetchParams.request.done = true; - if (fetchParams.processResponseEndOfBody != null) { - queueMicrotask(() => fetchParams.processResponseEndOfBody(response)); - } - }; - if (fetchParams.processResponse != null) { - queueMicrotask(() => fetchParams.processResponse(response)); - } - if (response.body == null) { - processResponseEndOfBody(); - } else { - const identityTransformAlgorithm = (chunk, controller) => { - controller.enqueue(chunk); - }; - const transformStream = new TransformStream2({ - start() { - }, - transform: identityTransformAlgorithm, - flush: processResponseEndOfBody - }, { - size() { - return 1; - } - }, { - size() { - return 1; - } - }); - response.body = { stream: response.body.stream.pipeThrough(transformStream) }; - } - if (fetchParams.processResponseConsumeBody != null) { - const processBody = (nullOrBytes) => fetchParams.processResponseConsumeBody(response, nullOrBytes); - const processBodyError = (failure) => fetchParams.processResponseConsumeBody(response, failure); - if (response.body == null) { - queueMicrotask(() => processBody(null)); - } else { - return fullyReadBody(response.body, processBody, processBodyError); - } - return Promise.resolve(); - } - } - async function httpFetch(fetchParams) { - const request = fetchParams.request; - let response = null; - let actualResponse = null; - const timingInfo = fetchParams.timingInfo; - if (request.serviceWorkers === "all") { - } - if (response === null) { - if (request.redirect === "follow") { - request.serviceWorkers = "none"; - } - actualResponse = response = await httpNetworkOrCacheFetch(fetchParams); - if (request.responseTainting === "cors" && corsCheck(request, response) === "failure") { - return makeNetworkError("cors failure"); - } - if (TAOCheck(request, response) === "failure") { - request.timingAllowFailed = true; - } - } - if ((request.responseTainting === "opaque" || response.type === "opaque") && crossOriginResourcePolicyCheck( - request.origin, - request.client, - request.destination, - actualResponse - ) === "blocked") { - return makeNetworkError("blocked"); - } - if (redirectStatusSet.has(actualResponse.status)) { - if (request.redirect !== "manual") { - fetchParams.controller.connection.destroy(); - } - if (request.redirect === "error") { - response = makeNetworkError("unexpected redirect"); - } else if (request.redirect === "manual") { - response = actualResponse; - } else if (request.redirect === "follow") { - response = await httpRedirectFetch(fetchParams, response); - } else { - assert(false); - } - } - response.timingInfo = timingInfo; - return response; - } - function httpRedirectFetch(fetchParams, response) { - const request = fetchParams.request; - const actualResponse = response.internalResponse ? response.internalResponse : response; - let locationURL; - try { - locationURL = responseLocationURL( - actualResponse, - requestCurrentURL(request).hash - ); - if (locationURL == null) { - return response; - } - } catch (err) { - return Promise.resolve(makeNetworkError(err)); - } - if (!urlIsHttpHttpsScheme(locationURL)) { - return Promise.resolve(makeNetworkError("URL scheme must be a HTTP(S) scheme")); - } - if (request.redirectCount === 20) { - return Promise.resolve(makeNetworkError("redirect count exceeded")); - } - request.redirectCount += 1; - if (request.mode === "cors" && (locationURL.username || locationURL.password) && !sameOrigin(request, locationURL)) { - return Promise.resolve(makeNetworkError('cross origin not allowed for request mode "cors"')); - } - if (request.responseTainting === "cors" && (locationURL.username || locationURL.password)) { - return Promise.resolve(makeNetworkError( - 'URL cannot contain credentials for request mode "cors"' - )); - } - if (actualResponse.status !== 303 && request.body != null && request.body.source == null) { - return Promise.resolve(makeNetworkError()); - } - if ([301, 302].includes(actualResponse.status) && request.method === "POST" || actualResponse.status === 303 && !GET_OR_HEAD.includes(request.method)) { - request.method = "GET"; - request.body = null; - for (const headerName of requestBodyHeader) { - request.headersList.delete(headerName); - } - } - if (!sameOrigin(requestCurrentURL(request), locationURL)) { - request.headersList.delete("authorization"); - request.headersList.delete("proxy-authorization", true); - request.headersList.delete("cookie"); - request.headersList.delete("host"); - } - if (request.body != null) { - assert(request.body.source != null); - request.body = safelyExtractBody(request.body.source)[0]; - } - const timingInfo = fetchParams.timingInfo; - timingInfo.redirectEndTime = timingInfo.postRedirectStartTime = coarsenedSharedCurrentTime(fetchParams.crossOriginIsolatedCapability); - if (timingInfo.redirectStartTime === 0) { - timingInfo.redirectStartTime = timingInfo.startTime; - } - request.urlList.push(locationURL); - setRequestReferrerPolicyOnRedirect(request, actualResponse); - return mainFetch(fetchParams, true); - } - async function httpNetworkOrCacheFetch(fetchParams, isAuthenticationFetch = false, isNewConnectionFetch = false) { - const request = fetchParams.request; - let httpFetchParams = null; - let httpRequest = null; - let response = null; - const httpCache = null; - const revalidatingFlag = false; - if (request.window === "no-window" && request.redirect === "error") { - httpFetchParams = fetchParams; - httpRequest = request; - } else { - httpRequest = makeRequest(request); - httpFetchParams = { ...fetchParams }; - httpFetchParams.request = httpRequest; - } - const includeCredentials = request.credentials === "include" || request.credentials === "same-origin" && request.responseTainting === "basic"; - const contentLength = httpRequest.body ? httpRequest.body.length : null; - let contentLengthHeaderValue = null; - if (httpRequest.body == null && ["POST", "PUT"].includes(httpRequest.method)) { - contentLengthHeaderValue = "0"; - } - if (contentLength != null) { - contentLengthHeaderValue = isomorphicEncode(`${contentLength}`); - } - if (contentLengthHeaderValue != null) { - httpRequest.headersList.append("content-length", contentLengthHeaderValue); - } - if (contentLength != null && httpRequest.keepalive) { - } - if (httpRequest.referrer instanceof URL) { - httpRequest.headersList.append("referer", isomorphicEncode(httpRequest.referrer.href)); - } - appendRequestOriginHeader(httpRequest); - appendFetchMetadata(httpRequest); - if (!httpRequest.headersList.contains("user-agent")) { - httpRequest.headersList.append("user-agent", typeof esbuildDetection === "undefined" ? "undici" : "node"); - } - if (httpRequest.cache === "default" && (httpRequest.headersList.contains("if-modified-since") || httpRequest.headersList.contains("if-none-match") || httpRequest.headersList.contains("if-unmodified-since") || httpRequest.headersList.contains("if-match") || httpRequest.headersList.contains("if-range"))) { - httpRequest.cache = "no-store"; - } - if (httpRequest.cache === "no-cache" && !httpRequest.preventNoCacheCacheControlHeaderModification && !httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "max-age=0"); - } - if (httpRequest.cache === "no-store" || httpRequest.cache === "reload") { - if (!httpRequest.headersList.contains("pragma")) { - httpRequest.headersList.append("pragma", "no-cache"); - } - if (!httpRequest.headersList.contains("cache-control")) { - httpRequest.headersList.append("cache-control", "no-cache"); - } - } - if (httpRequest.headersList.contains("range")) { - httpRequest.headersList.append("accept-encoding", "identity"); - } - if (!httpRequest.headersList.contains("accept-encoding")) { - if (urlHasHttpsScheme(requestCurrentURL(httpRequest))) { - httpRequest.headersList.append("accept-encoding", "br, gzip, deflate"); - } else { - httpRequest.headersList.append("accept-encoding", "gzip, deflate"); - } - } - httpRequest.headersList.delete("host"); - if (includeCredentials) { - } - if (httpCache == null) { - httpRequest.cache = "no-store"; - } - if (httpRequest.mode !== "no-store" && httpRequest.mode !== "reload") { - } - if (response == null) { - if (httpRequest.mode === "only-if-cached") { - return makeNetworkError("only if cached"); - } - const forwardResponse = await httpNetworkFetch( - httpFetchParams, - includeCredentials, - isNewConnectionFetch - ); - if (!safeMethodsSet.has(httpRequest.method) && forwardResponse.status >= 200 && forwardResponse.status <= 399) { - } - if (revalidatingFlag && forwardResponse.status === 304) { - } - if (response == null) { - response = forwardResponse; - } - } - response.urlList = [...httpRequest.urlList]; - if (httpRequest.headersList.contains("range")) { - response.rangeRequested = true; - } - response.requestIncludesCredentials = includeCredentials; - if (response.status === 407) { - if (request.window === "no-window") { - return makeNetworkError(); - } - if (isCancelled(fetchParams)) { - return makeAppropriateNetworkError(fetchParams); - } - return makeNetworkError("proxy authentication required"); - } - if ( - // response’s status is 421 - response.status === 421 && // isNewConnectionFetch is false - !isNewConnectionFetch && // request’s body is null, or request’s body is non-null and request’s body’s source is non-null - (request.body == null || request.body.source != null) - ) { - if (isCancelled(fetchParams)) { - return makeAppropriateNetworkError(fetchParams); - } - fetchParams.controller.connection.destroy(); - response = await httpNetworkOrCacheFetch( - fetchParams, - isAuthenticationFetch, - true - ); - } - if (isAuthenticationFetch) { - } - return response; - } - async function httpNetworkFetch(fetchParams, includeCredentials = false, forceNewConnection = false) { - assert(!fetchParams.controller.connection || fetchParams.controller.connection.destroyed); - fetchParams.controller.connection = { - abort: null, - destroyed: false, - destroy(err) { - if (!this.destroyed) { - this.destroyed = true; - this.abort?.(err ?? new DOMException2("The operation was aborted.", "AbortError")); - } - } - }; - const request = fetchParams.request; - let response = null; - const timingInfo = fetchParams.timingInfo; - const httpCache = null; - if (httpCache == null) { - request.cache = "no-store"; - } - const newConnection = forceNewConnection ? "yes" : "no"; - if (request.mode === "websocket") { - } else { - } - let requestBody = null; - if (request.body == null && fetchParams.processRequestEndOfBody) { - queueMicrotask(() => fetchParams.processRequestEndOfBody()); - } else if (request.body != null) { - const processBodyChunk = async function* (bytes) { - if (isCancelled(fetchParams)) { - return; - } - yield bytes; - fetchParams.processRequestBodyChunkLength?.(bytes.byteLength); - }; - const processEndOfBody = () => { - if (isCancelled(fetchParams)) { - return; - } - if (fetchParams.processRequestEndOfBody) { - fetchParams.processRequestEndOfBody(); - } - }; - const processBodyError = (e6) => { - if (isCancelled(fetchParams)) { - return; - } - if (e6.name === "AbortError") { - fetchParams.controller.abort(); - } else { - fetchParams.controller.terminate(e6); - } - }; - requestBody = (async function* () { - try { - for await (const bytes of request.body.stream) { - yield* processBodyChunk(bytes); - } - processEndOfBody(); - } catch (err) { - processBodyError(err); - } - })(); - } - try { - const { body, status, statusText, headersList, socket } = await dispatch({ body: requestBody }); - if (socket) { - response = makeResponse({ status, statusText, headersList, socket }); - } else { - const iterator = body[Symbol.asyncIterator](); - fetchParams.controller.next = () => iterator.next(); - response = makeResponse({ status, statusText, headersList }); - } - } catch (err) { - if (err.name === "AbortError") { - fetchParams.controller.connection.destroy(); - return makeAppropriateNetworkError(fetchParams, err); - } - return makeNetworkError(err); - } - const pullAlgorithm = () => { - fetchParams.controller.resume(); - }; - const cancelAlgorithm = (reason) => { - fetchParams.controller.abort(reason); - }; - if (!ReadableStream2) { - ReadableStream2 = require("stream/web").ReadableStream; - } - const stream = new ReadableStream2( - { - async start(controller) { - fetchParams.controller.controller = controller; - }, - async pull(controller) { - await pullAlgorithm(controller); - }, - async cancel(reason) { - await cancelAlgorithm(reason); - } - }, - { - highWaterMark: 0, - size() { - return 1; - } - } - ); - response.body = { stream }; - fetchParams.controller.on("terminated", onAborted); - fetchParams.controller.resume = async () => { - while (true) { - let bytes; - let isFailure; - try { - const { done, value } = await fetchParams.controller.next(); - if (isAborted(fetchParams)) { - break; - } - bytes = done ? void 0 : value; - } catch (err) { - if (fetchParams.controller.ended && !timingInfo.encodedBodySize) { - bytes = void 0; - } else { - bytes = err; - isFailure = true; - } - } - if (bytes === void 0) { - readableStreamClose(fetchParams.controller.controller); - finalizeResponse(fetchParams, response); - return; - } - timingInfo.decodedBodySize += bytes?.byteLength ?? 0; - if (isFailure) { - fetchParams.controller.terminate(bytes); - return; - } - fetchParams.controller.controller.enqueue(new Uint8Array(bytes)); - if (isErrored(stream)) { - fetchParams.controller.terminate(); - return; - } - if (!fetchParams.controller.controller.desiredSize) { - return; - } - } - }; - function onAborted(reason) { - if (isAborted(fetchParams)) { - response.aborted = true; - if (isReadable(stream)) { - fetchParams.controller.controller.error( - fetchParams.controller.serializedAbortReason - ); - } - } else { - if (isReadable(stream)) { - fetchParams.controller.controller.error(new TypeError("terminated", { - cause: isErrorLike(reason) ? reason : void 0 - })); - } - } - fetchParams.controller.connection.destroy(); - } - return response; - async function dispatch({ body }) { - const url = requestCurrentURL(request); - const agent = fetchParams.controller.dispatcher; - return new Promise((resolve4, reject) => agent.dispatch( - { - path: url.pathname + url.search, - origin: url.origin, - method: request.method, - body: fetchParams.controller.dispatcher.isMockActive ? request.body && (request.body.source || request.body.stream) : body, - headers: request.headersList.entries, - maxRedirections: 0, - upgrade: request.mode === "websocket" ? "websocket" : void 0 - }, - { - body: null, - abort: null, - onConnect(abort) { - const { connection } = fetchParams.controller; - if (connection.destroyed) { - abort(new DOMException2("The operation was aborted.", "AbortError")); - } else { - fetchParams.controller.on("terminated", abort); - this.abort = connection.abort = abort; - } - }, - onHeaders(status, headersList, resume, statusText) { - if (status < 200) { - return; - } - let codings = []; - let location = ""; - const headers = new Headers(); - if (Array.isArray(headersList)) { - for (let n6 = 0; n6 < headersList.length; n6 += 2) { - const key = headersList[n6 + 0].toString("latin1"); - const val = headersList[n6 + 1].toString("latin1"); - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x10) => x10.trim()); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers[kHeadersList].append(key, val); - } - } else { - const keys = Object.keys(headersList); - for (const key of keys) { - const val = headersList[key]; - if (key.toLowerCase() === "content-encoding") { - codings = val.toLowerCase().split(",").map((x10) => x10.trim()).reverse(); - } else if (key.toLowerCase() === "location") { - location = val; - } - headers[kHeadersList].append(key, val); - } - } - this.body = new Readable({ read: resume }); - const decoders = []; - const willFollow = request.redirect === "follow" && location && redirectStatusSet.has(status); - if (request.method !== "HEAD" && request.method !== "CONNECT" && !nullBodyStatus.includes(status) && !willFollow) { - for (const coding of codings) { - if (coding === "x-gzip" || coding === "gzip") { - decoders.push(zlib.createGunzip({ - // Be less strict when decoding compressed responses, since sometimes - // servers send slightly invalid responses that are still accepted - // by common browsers. - // Always using Z_SYNC_FLUSH is what cURL does. - flush: zlib.constants.Z_SYNC_FLUSH, - finishFlush: zlib.constants.Z_SYNC_FLUSH - })); - } else if (coding === "deflate") { - decoders.push(zlib.createInflate()); - } else if (coding === "br") { - decoders.push(zlib.createBrotliDecompress()); - } else { - decoders.length = 0; - break; - } - } - } - resolve4({ - status, - statusText, - headersList: headers[kHeadersList], - body: decoders.length ? pipeline(this.body, ...decoders, () => { - }) : this.body.on("error", () => { - }) - }); - return true; - }, - onData(chunk) { - if (fetchParams.controller.dump) { - return; - } - const bytes = chunk; - timingInfo.encodedBodySize += bytes.byteLength; - return this.body.push(bytes); - }, - onComplete() { - if (this.abort) { - fetchParams.controller.off("terminated", this.abort); - } - fetchParams.controller.ended = true; - this.body.push(null); - }, - onError(error) { - if (this.abort) { - fetchParams.controller.off("terminated", this.abort); - } - this.body?.destroy(error); - fetchParams.controller.terminate(error); - reject(error); - }, - onUpgrade(status, headersList, socket) { - if (status !== 101) { - return; - } - const headers = new Headers(); - for (let n6 = 0; n6 < headersList.length; n6 += 2) { - const key = headersList[n6 + 0].toString("latin1"); - const val = headersList[n6 + 1].toString("latin1"); - headers[kHeadersList].append(key, val); - } - resolve4({ - status, - statusText: STATUS_CODES[status], - headersList: headers[kHeadersList], - socket - }); - return true; - } - } - )); - } - } - module2.exports = { - fetch: fetch2, - Fetch, - fetching, - finalizeAndReportTiming - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fileapi/symbols.js -var require_symbols3 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kState: /* @__PURE__ */ Symbol("FileReader state"), - kResult: /* @__PURE__ */ Symbol("FileReader result"), - kError: /* @__PURE__ */ Symbol("FileReader error"), - kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"), - kEvents: /* @__PURE__ */ Symbol("FileReader events"), - kAborted: /* @__PURE__ */ Symbol("FileReader aborted") - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fileapi/progressevent.js -var require_progressevent = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) { - "use strict"; - var { webidl } = require_webidl(); - var kState = /* @__PURE__ */ Symbol("ProgressEvent state"); - var ProgressEvent = class _ProgressEvent extends Event { - constructor(type, eventInitDict = {}) { - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.ProgressEventInit(eventInitDict ?? {}); - super(type, eventInitDict); - this[kState] = { - lengthComputable: eventInitDict.lengthComputable, - loaded: eventInitDict.loaded, - total: eventInitDict.total - }; - } - get lengthComputable() { - webidl.brandCheck(this, _ProgressEvent); - return this[kState].lengthComputable; - } - get loaded() { - webidl.brandCheck(this, _ProgressEvent); - return this[kState].loaded; - } - get total() { - webidl.brandCheck(this, _ProgressEvent); - return this[kState].total; - } - }; - webidl.converters.ProgressEventInit = webidl.dictionaryConverter([ - { - key: "lengthComputable", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "loaded", - converter: webidl.converters["unsigned long long"], - defaultValue: 0 - }, - { - key: "total", - converter: webidl.converters["unsigned long long"], - defaultValue: 0 - }, - { - key: "bubbles", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "cancelable", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "composed", - converter: webidl.converters.boolean, - defaultValue: false - } - ]); - module2.exports = { - ProgressEvent - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fileapi/encoding.js -var require_encoding = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fileapi/encoding.js"(exports2, module2) { - "use strict"; - function getEncoding(label) { - if (!label) { - return "failure"; - } - switch (label.trim().toLowerCase()) { - case "unicode-1-1-utf-8": - case "unicode11utf8": - case "unicode20utf8": - case "utf-8": - case "utf8": - case "x-unicode20utf8": - return "UTF-8"; - case "866": - case "cp866": - case "csibm866": - case "ibm866": - return "IBM866"; - case "csisolatin2": - case "iso-8859-2": - case "iso-ir-101": - case "iso8859-2": - case "iso88592": - case "iso_8859-2": - case "iso_8859-2:1987": - case "l2": - case "latin2": - return "ISO-8859-2"; - case "csisolatin3": - case "iso-8859-3": - case "iso-ir-109": - case "iso8859-3": - case "iso88593": - case "iso_8859-3": - case "iso_8859-3:1988": - case "l3": - case "latin3": - return "ISO-8859-3"; - case "csisolatin4": - case "iso-8859-4": - case "iso-ir-110": - case "iso8859-4": - case "iso88594": - case "iso_8859-4": - case "iso_8859-4:1988": - case "l4": - case "latin4": - return "ISO-8859-4"; - case "csisolatincyrillic": - case "cyrillic": - case "iso-8859-5": - case "iso-ir-144": - case "iso8859-5": - case "iso88595": - case "iso_8859-5": - case "iso_8859-5:1988": - return "ISO-8859-5"; - case "arabic": - case "asmo-708": - case "csiso88596e": - case "csiso88596i": - case "csisolatinarabic": - case "ecma-114": - case "iso-8859-6": - case "iso-8859-6-e": - case "iso-8859-6-i": - case "iso-ir-127": - case "iso8859-6": - case "iso88596": - case "iso_8859-6": - case "iso_8859-6:1987": - return "ISO-8859-6"; - case "csisolatingreek": - case "ecma-118": - case "elot_928": - case "greek": - case "greek8": - case "iso-8859-7": - case "iso-ir-126": - case "iso8859-7": - case "iso88597": - case "iso_8859-7": - case "iso_8859-7:1987": - case "sun_eu_greek": - return "ISO-8859-7"; - case "csiso88598e": - case "csisolatinhebrew": - case "hebrew": - case "iso-8859-8": - case "iso-8859-8-e": - case "iso-ir-138": - case "iso8859-8": - case "iso88598": - case "iso_8859-8": - case "iso_8859-8:1988": - case "visual": - return "ISO-8859-8"; - case "csiso88598i": - case "iso-8859-8-i": - case "logical": - return "ISO-8859-8-I"; - case "csisolatin6": - case "iso-8859-10": - case "iso-ir-157": - case "iso8859-10": - case "iso885910": - case "l6": - case "latin6": - return "ISO-8859-10"; - case "iso-8859-13": - case "iso8859-13": - case "iso885913": - return "ISO-8859-13"; - case "iso-8859-14": - case "iso8859-14": - case "iso885914": - return "ISO-8859-14"; - case "csisolatin9": - case "iso-8859-15": - case "iso8859-15": - case "iso885915": - case "iso_8859-15": - case "l9": - return "ISO-8859-15"; - case "iso-8859-16": - return "ISO-8859-16"; - case "cskoi8r": - case "koi": - case "koi8": - case "koi8-r": - case "koi8_r": - return "KOI8-R"; - case "koi8-ru": - case "koi8-u": - return "KOI8-U"; - case "csmacintosh": - case "mac": - case "macintosh": - case "x-mac-roman": - return "macintosh"; - case "iso-8859-11": - case "iso8859-11": - case "iso885911": - case "tis-620": - case "windows-874": - return "windows-874"; - case "cp1250": - case "windows-1250": - case "x-cp1250": - return "windows-1250"; - case "cp1251": - case "windows-1251": - case "x-cp1251": - return "windows-1251"; - case "ansi_x3.4-1968": - case "ascii": - case "cp1252": - case "cp819": - case "csisolatin1": - case "ibm819": - case "iso-8859-1": - case "iso-ir-100": - case "iso8859-1": - case "iso88591": - case "iso_8859-1": - case "iso_8859-1:1987": - case "l1": - case "latin1": - case "us-ascii": - case "windows-1252": - case "x-cp1252": - return "windows-1252"; - case "cp1253": - case "windows-1253": - case "x-cp1253": - return "windows-1253"; - case "cp1254": - case "csisolatin5": - case "iso-8859-9": - case "iso-ir-148": - case "iso8859-9": - case "iso88599": - case "iso_8859-9": - case "iso_8859-9:1989": - case "l5": - case "latin5": - case "windows-1254": - case "x-cp1254": - return "windows-1254"; - case "cp1255": - case "windows-1255": - case "x-cp1255": - return "windows-1255"; - case "cp1256": - case "windows-1256": - case "x-cp1256": - return "windows-1256"; - case "cp1257": - case "windows-1257": - case "x-cp1257": - return "windows-1257"; - case "cp1258": - case "windows-1258": - case "x-cp1258": - return "windows-1258"; - case "x-mac-cyrillic": - case "x-mac-ukrainian": - return "x-mac-cyrillic"; - case "chinese": - case "csgb2312": - case "csiso58gb231280": - case "gb2312": - case "gb_2312": - case "gb_2312-80": - case "gbk": - case "iso-ir-58": - case "x-gbk": - return "GBK"; - case "gb18030": - return "gb18030"; - case "big5": - case "big5-hkscs": - case "cn-big5": - case "csbig5": - case "x-x-big5": - return "Big5"; - case "cseucpkdfmtjapanese": - case "euc-jp": - case "x-euc-jp": - return "EUC-JP"; - case "csiso2022jp": - case "iso-2022-jp": - return "ISO-2022-JP"; - case "csshiftjis": - case "ms932": - case "ms_kanji": - case "shift-jis": - case "shift_jis": - case "sjis": - case "windows-31j": - case "x-sjis": - return "Shift_JIS"; - case "cseuckr": - case "csksc56011987": - case "euc-kr": - case "iso-ir-149": - case "korean": - case "ks_c_5601-1987": - case "ks_c_5601-1989": - case "ksc5601": - case "ksc_5601": - case "windows-949": - return "EUC-KR"; - case "csiso2022kr": - case "hz-gb-2312": - case "iso-2022-cn": - case "iso-2022-cn-ext": - case "iso-2022-kr": - case "replacement": - return "replacement"; - case "unicodefffe": - case "utf-16be": - return "UTF-16BE"; - case "csunicode": - case "iso-10646-ucs-2": - case "ucs-2": - case "unicode": - case "unicodefeff": - case "utf-16": - case "utf-16le": - return "UTF-16LE"; - case "x-user-defined": - return "x-user-defined"; - default: - return "failure"; - } - } - module2.exports = { - getEncoding - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fileapi/util.js -var require_util4 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fileapi/util.js"(exports2, module2) { - "use strict"; - var { - kState, - kError, - kResult, - kAborted, - kLastProgressEventFired - } = require_symbols3(); - var { ProgressEvent } = require_progressevent(); - var { getEncoding } = require_encoding(); - var { DOMException: DOMException2 } = require_constants2(); - var { serializeAMimeType, parseMIMEType } = require_dataURL(); - var { types } = require("util"); - var { StringDecoder } = require("string_decoder"); - var { btoa: btoa2 } = require("buffer"); - var staticPropertyDescriptors = { - enumerable: true, - writable: false, - configurable: false - }; - function readOperation(fr5, blob, type, encodingName) { - if (fr5[kState] === "loading") { - throw new DOMException2("Invalid state", "InvalidStateError"); - } - fr5[kState] = "loading"; - fr5[kResult] = null; - fr5[kError] = null; - const stream = blob.stream(); - const reader = stream.getReader(); - const bytes = []; - let chunkPromise = reader.read(); - let isFirstChunk = true; - (async () => { - while (!fr5[kAborted]) { - try { - const { done, value } = await chunkPromise; - if (isFirstChunk && !fr5[kAborted]) { - queueMicrotask(() => { - fireAProgressEvent("loadstart", fr5); - }); - } - isFirstChunk = false; - if (!done && types.isUint8Array(value)) { - bytes.push(value); - if ((fr5[kLastProgressEventFired] === void 0 || Date.now() - fr5[kLastProgressEventFired] >= 50) && !fr5[kAborted]) { - fr5[kLastProgressEventFired] = Date.now(); - queueMicrotask(() => { - fireAProgressEvent("progress", fr5); - }); - } - chunkPromise = reader.read(); - } else if (done) { - queueMicrotask(() => { - fr5[kState] = "done"; - try { - const result = packageData(bytes, type, blob.type, encodingName); - if (fr5[kAborted]) { - return; - } - fr5[kResult] = result; - fireAProgressEvent("load", fr5); - } catch (error) { - fr5[kError] = error; - fireAProgressEvent("error", fr5); - } - if (fr5[kState] !== "loading") { - fireAProgressEvent("loadend", fr5); - } - }); - break; - } - } catch (error) { - if (fr5[kAborted]) { - return; - } - queueMicrotask(() => { - fr5[kState] = "done"; - fr5[kError] = error; - fireAProgressEvent("error", fr5); - if (fr5[kState] !== "loading") { - fireAProgressEvent("loadend", fr5); - } - }); - break; - } - } - })(); - } - function fireAProgressEvent(e6, reader) { - const event = new ProgressEvent(e6, { - bubbles: false, - cancelable: false - }); - reader.dispatchEvent(event); - } - function packageData(bytes, type, mimeType, encodingName) { - switch (type) { - case "DataURL": { - let dataURL = "data:"; - const parsed = parseMIMEType(mimeType || "application/octet-stream"); - if (parsed !== "failure") { - dataURL += serializeAMimeType(parsed); - } - dataURL += ";base64,"; - const decoder = new StringDecoder("latin1"); - for (const chunk of bytes) { - dataURL += btoa2(decoder.write(chunk)); - } - dataURL += btoa2(decoder.end()); - return dataURL; - } - case "Text": { - let encoding = "failure"; - if (encodingName) { - encoding = getEncoding(encodingName); - } - if (encoding === "failure" && mimeType) { - const type2 = parseMIMEType(mimeType); - if (type2 !== "failure") { - encoding = getEncoding(type2.parameters.get("charset")); - } - } - if (encoding === "failure") { - encoding = "UTF-8"; - } - return decode(bytes, encoding); - } - case "ArrayBuffer": { - const sequence = combineByteSequences(bytes); - return sequence.buffer; - } - case "BinaryString": { - let binaryString = ""; - const decoder = new StringDecoder("latin1"); - for (const chunk of bytes) { - binaryString += decoder.write(chunk); - } - binaryString += decoder.end(); - return binaryString; - } - } - } - function decode(ioQueue, encoding) { - const bytes = combineByteSequences(ioQueue); - const BOMEncoding = BOMSniffing(bytes); - let slice = 0; - if (BOMEncoding !== null) { - encoding = BOMEncoding; - slice = BOMEncoding === "UTF-8" ? 3 : 2; - } - const sliced = bytes.slice(slice); - return new TextDecoder(encoding).decode(sliced); - } - function BOMSniffing(ioQueue) { - const [a6, b5, c6] = ioQueue; - if (a6 === 239 && b5 === 187 && c6 === 191) { - return "UTF-8"; - } else if (a6 === 254 && b5 === 255) { - return "UTF-16BE"; - } else if (a6 === 255 && b5 === 254) { - return "UTF-16LE"; - } - return null; - } - function combineByteSequences(sequences) { - const size = sequences.reduce((a6, b5) => { - return a6 + b5.byteLength; - }, 0); - let offset = 0; - return sequences.reduce((a6, b5) => { - a6.set(b5, offset); - offset += b5.byteLength; - return a6; - }, new Uint8Array(size)); - } - module2.exports = { - staticPropertyDescriptors, - readOperation, - fireAProgressEvent - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/fileapi/filereader.js -var require_filereader = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/fileapi/filereader.js"(exports2, module2) { - "use strict"; - var { - staticPropertyDescriptors, - readOperation, - fireAProgressEvent - } = require_util4(); - var { - kState, - kError, - kResult, - kEvents, - kAborted - } = require_symbols3(); - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); - var FileReader = class _FileReader extends EventTarget { - constructor() { - super(); - this[kState] = "empty"; - this[kResult] = null; - this[kError] = null; - this[kEvents] = { - loadend: null, - error: null, - abort: null, - load: null, - progress: null, - loadstart: null - }; - } - /** - * @see https://w3c.github.io/FileAPI/#dfn-readAsArrayBuffer - * @param {import('buffer').Blob} blob - */ - readAsArrayBuffer(blob) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsArrayBuffer" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "ArrayBuffer"); - } - /** - * @see https://w3c.github.io/FileAPI/#readAsBinaryString - * @param {import('buffer').Blob} blob - */ - readAsBinaryString(blob) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsBinaryString" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "BinaryString"); - } - /** - * @see https://w3c.github.io/FileAPI/#readAsDataText - * @param {import('buffer').Blob} blob - * @param {string?} encoding - */ - readAsText(blob, encoding = void 0) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsText" }); - blob = webidl.converters.Blob(blob, { strict: false }); - if (encoding !== void 0) { - encoding = webidl.converters.DOMString(encoding); - } - readOperation(this, blob, "Text", encoding); - } - /** - * @see https://w3c.github.io/FileAPI/#dfn-readAsDataURL - * @param {import('buffer').Blob} blob - */ - readAsDataURL(blob) { - webidl.brandCheck(this, _FileReader); - webidl.argumentLengthCheck(arguments, 1, { header: "FileReader.readAsDataURL" }); - blob = webidl.converters.Blob(blob, { strict: false }); - readOperation(this, blob, "DataURL"); - } - /** - * @see https://w3c.github.io/FileAPI/#dfn-abort - */ - abort() { - if (this[kState] === "empty" || this[kState] === "done") { - this[kResult] = null; - return; - } - if (this[kState] === "loading") { - this[kState] = "done"; - this[kResult] = null; - } - this[kAborted] = true; - fireAProgressEvent("abort", this); - if (this[kState] !== "loading") { - fireAProgressEvent("loadend", this); - } - } - /** - * @see https://w3c.github.io/FileAPI/#dom-filereader-readystate - */ - get readyState() { - webidl.brandCheck(this, _FileReader); - switch (this[kState]) { - case "empty": - return this.EMPTY; - case "loading": - return this.LOADING; - case "done": - return this.DONE; - } - } - /** - * @see https://w3c.github.io/FileAPI/#dom-filereader-result - */ - get result() { - webidl.brandCheck(this, _FileReader); - return this[kResult]; - } - /** - * @see https://w3c.github.io/FileAPI/#dom-filereader-error - */ - get error() { - webidl.brandCheck(this, _FileReader); - return this[kError]; - } - get onloadend() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].loadend; - } - set onloadend(fn) { - webidl.brandCheck(this, _FileReader); - if (this[kEvents].loadend) { - this.removeEventListener("loadend", this[kEvents].loadend); - } - if (typeof fn === "function") { - this[kEvents].loadend = fn; - this.addEventListener("loadend", fn); - } else { - this[kEvents].loadend = null; - } - } - get onerror() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].error; - } - set onerror(fn) { - webidl.brandCheck(this, _FileReader); - if (this[kEvents].error) { - this.removeEventListener("error", this[kEvents].error); - } - if (typeof fn === "function") { - this[kEvents].error = fn; - this.addEventListener("error", fn); - } else { - this[kEvents].error = null; - } - } - get onloadstart() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].loadstart; - } - set onloadstart(fn) { - webidl.brandCheck(this, _FileReader); - if (this[kEvents].loadstart) { - this.removeEventListener("loadstart", this[kEvents].loadstart); - } - if (typeof fn === "function") { - this[kEvents].loadstart = fn; - this.addEventListener("loadstart", fn); - } else { - this[kEvents].loadstart = null; - } - } - get onprogress() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].progress; - } - set onprogress(fn) { - webidl.brandCheck(this, _FileReader); - if (this[kEvents].progress) { - this.removeEventListener("progress", this[kEvents].progress); - } - if (typeof fn === "function") { - this[kEvents].progress = fn; - this.addEventListener("progress", fn); - } else { - this[kEvents].progress = null; - } - } - get onload() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].load; - } - set onload(fn) { - webidl.brandCheck(this, _FileReader); - if (this[kEvents].load) { - this.removeEventListener("load", this[kEvents].load); - } - if (typeof fn === "function") { - this[kEvents].load = fn; - this.addEventListener("load", fn); - } else { - this[kEvents].load = null; - } - } - get onabort() { - webidl.brandCheck(this, _FileReader); - return this[kEvents].abort; - } - set onabort(fn) { - webidl.brandCheck(this, _FileReader); - if (this[kEvents].abort) { - this.removeEventListener("abort", this[kEvents].abort); - } - if (typeof fn === "function") { - this[kEvents].abort = fn; - this.addEventListener("abort", fn); - } else { - this[kEvents].abort = null; - } - } - }; - FileReader.EMPTY = FileReader.prototype.EMPTY = 0; - FileReader.LOADING = FileReader.prototype.LOADING = 1; - FileReader.DONE = FileReader.prototype.DONE = 2; - Object.defineProperties(FileReader.prototype, { - EMPTY: staticPropertyDescriptors, - LOADING: staticPropertyDescriptors, - DONE: staticPropertyDescriptors, - readAsArrayBuffer: kEnumerableProperty, - readAsBinaryString: kEnumerableProperty, - readAsText: kEnumerableProperty, - readAsDataURL: kEnumerableProperty, - abort: kEnumerableProperty, - readyState: kEnumerableProperty, - result: kEnumerableProperty, - error: kEnumerableProperty, - onloadstart: kEnumerableProperty, - onprogress: kEnumerableProperty, - onload: kEnumerableProperty, - onabort: kEnumerableProperty, - onerror: kEnumerableProperty, - onloadend: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "FileReader", - writable: false, - enumerable: false, - configurable: true - } - }); - Object.defineProperties(FileReader, { - EMPTY: staticPropertyDescriptors, - LOADING: staticPropertyDescriptors, - DONE: staticPropertyDescriptors - }); - module2.exports = { - FileReader - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/cache/symbols.js -var require_symbols4 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/cache/symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kConstruct: require_symbols().kConstruct - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/cache/util.js -var require_util5 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/cache/util.js"(exports2, module2) { - "use strict"; - var assert = require("assert"); - var { URLSerializer } = require_dataURL(); - var { isValidHeaderName } = require_util2(); - function urlEquals(A10, B6, excludeFragment = false) { - const serializedA = URLSerializer(A10, excludeFragment); - const serializedB = URLSerializer(B6, excludeFragment); - return serializedA === serializedB; - } - function fieldValues(header) { - assert(header !== null); - const values = []; - for (let value of header.split(",")) { - value = value.trim(); - if (!value.length) { - continue; - } else if (!isValidHeaderName(value)) { - continue; - } - values.push(value); - } - return values; - } - module2.exports = { - urlEquals, - fieldValues - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/cache/cache.js -var require_cache = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/cache/cache.js"(exports2, module2) { - "use strict"; - var { kConstruct } = require_symbols4(); - var { urlEquals, fieldValues: getFieldValues } = require_util5(); - var { kEnumerableProperty, isDisturbed } = require_util(); - var { kHeadersList } = require_symbols(); - var { webidl } = require_webidl(); - var { Response: Response2, cloneResponse } = require_response(); - var { Request } = require_request2(); - var { kState, kHeaders, kGuard, kRealm } = require_symbols2(); - var { fetching } = require_fetch(); - var { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require_util2(); - var assert = require("assert"); - var { getGlobalDispatcher } = require_global2(); - var Cache = class _Cache { - /** - * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list - * @type {requestResponseList} - */ - #relevantRequestResponseList; - constructor() { - if (arguments[0] !== kConstruct) { - webidl.illegalConstructor(); - } - this.#relevantRequestResponseList = arguments[1]; - } - async match(request, options = {}) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.match" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - const p5 = await this.matchAll(request, options); - if (p5.length === 0) { - return; - } - return p5[0]; - } - async matchAll(request = void 0, options = {}) { - webidl.brandCheck(this, _Cache); - if (request !== void 0) request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r6 = null; - if (request !== void 0) { - if (request instanceof Request) { - r6 = request[kState]; - if (r6.method !== "GET" && !options.ignoreMethod) { - return []; - } - } else if (typeof request === "string") { - r6 = new Request(request)[kState]; - } - } - const responses = []; - if (request === void 0) { - for (const requestResponse of this.#relevantRequestResponseList) { - responses.push(requestResponse[1]); - } - } else { - const requestResponses = this.#queryCache(r6, options); - for (const requestResponse of requestResponses) { - responses.push(requestResponse[1]); - } - } - const responseList = []; - for (const response of responses) { - const responseObject = new Response2(response.body?.source ?? null); - const body = responseObject[kState].body; - responseObject[kState] = response; - responseObject[kState].body = body; - responseObject[kHeaders][kHeadersList] = response.headersList; - responseObject[kHeaders][kGuard] = "immutable"; - responseList.push(responseObject); - } - return Object.freeze(responseList); - } - async add(request) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.add" }); - request = webidl.converters.RequestInfo(request); - const requests = [request]; - const responseArrayPromise = this.addAll(requests); - return await responseArrayPromise; - } - async addAll(requests) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.addAll" }); - requests = webidl.converters["sequence"](requests); - const responsePromises = []; - const requestList = []; - for (const request of requests) { - if (typeof request === "string") { - continue; - } - const r6 = request[kState]; - if (!urlIsHttpHttpsScheme(r6.url) || r6.method !== "GET") { - throw webidl.errors.exception({ - header: "Cache.addAll", - message: "Expected http/s scheme when method is not GET." - }); - } - } - const fetchControllers = []; - for (const request of requests) { - const r6 = new Request(request)[kState]; - if (!urlIsHttpHttpsScheme(r6.url)) { - throw webidl.errors.exception({ - header: "Cache.addAll", - message: "Expected http/s scheme." - }); - } - r6.initiator = "fetch"; - r6.destination = "subresource"; - requestList.push(r6); - const responsePromise = createDeferredPromise(); - fetchControllers.push(fetching({ - request: r6, - dispatcher: getGlobalDispatcher(), - processResponse(response) { - if (response.type === "error" || response.status === 206 || response.status < 200 || response.status > 299) { - responsePromise.reject(webidl.errors.exception({ - header: "Cache.addAll", - message: "Received an invalid status code or the request failed." - })); - } else if (response.headersList.contains("vary")) { - const fieldValues = getFieldValues(response.headersList.get("vary")); - for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - responsePromise.reject(webidl.errors.exception({ - header: "Cache.addAll", - message: "invalid vary field value" - })); - for (const controller of fetchControllers) { - controller.abort(); - } - return; - } - } - } - }, - processResponseEndOfBody(response) { - if (response.aborted) { - responsePromise.reject(new DOMException("aborted", "AbortError")); - return; - } - responsePromise.resolve(response); - } - })); - responsePromises.push(responsePromise.promise); - } - const p5 = Promise.all(responsePromises); - const responses = await p5; - const operations = []; - let index = 0; - for (const response of responses) { - const operation = { - type: "put", - // 7.3.2 - request: requestList[index], - // 7.3.3 - response - // 7.3.4 - }; - operations.push(operation); - index++; - } - const cacheJobPromise = createDeferredPromise(); - let errorData = null; - try { - this.#batchCacheOperations(operations); - } catch (e6) { - errorData = e6; - } - queueMicrotask(() => { - if (errorData === null) { - cacheJobPromise.resolve(void 0); - } else { - cacheJobPromise.reject(errorData); - } - }); - return cacheJobPromise.promise; - } - async put(request, response) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 2, { header: "Cache.put" }); - request = webidl.converters.RequestInfo(request); - response = webidl.converters.Response(response); - let innerRequest = null; - if (request instanceof Request) { - innerRequest = request[kState]; - } else { - innerRequest = new Request(request)[kState]; - } - if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== "GET") { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Expected an http/s scheme when method is not GET" - }); - } - const innerResponse = response[kState]; - if (innerResponse.status === 206) { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Got 206 status" - }); - } - if (innerResponse.headersList.contains("vary")) { - const fieldValues = getFieldValues(innerResponse.headersList.get("vary")); - for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Got * vary field value" - }); - } - } - } - if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) { - throw webidl.errors.exception({ - header: "Cache.put", - message: "Response body is locked or disturbed" - }); - } - const clonedResponse = cloneResponse(innerResponse); - const bodyReadPromise = createDeferredPromise(); - if (innerResponse.body != null) { - const stream = innerResponse.body.stream; - const reader = stream.getReader(); - readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject); - } else { - bodyReadPromise.resolve(void 0); - } - const operations = []; - const operation = { - type: "put", - // 14. - request: innerRequest, - // 15. - response: clonedResponse - // 16. - }; - operations.push(operation); - const bytes = await bodyReadPromise.promise; - if (clonedResponse.body != null) { - clonedResponse.body.source = bytes; - } - const cacheJobPromise = createDeferredPromise(); - let errorData = null; - try { - this.#batchCacheOperations(operations); - } catch (e6) { - errorData = e6; - } - queueMicrotask(() => { - if (errorData === null) { - cacheJobPromise.resolve(); - } else { - cacheJobPromise.reject(errorData); - } - }); - return cacheJobPromise.promise; - } - async delete(request, options = {}) { - webidl.brandCheck(this, _Cache); - webidl.argumentLengthCheck(arguments, 1, { header: "Cache.delete" }); - request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r6 = null; - if (request instanceof Request) { - r6 = request[kState]; - if (r6.method !== "GET" && !options.ignoreMethod) { - return false; - } - } else { - assert(typeof request === "string"); - r6 = new Request(request)[kState]; - } - const operations = []; - const operation = { - type: "delete", - request: r6, - options - }; - operations.push(operation); - const cacheJobPromise = createDeferredPromise(); - let errorData = null; - let requestResponses; - try { - requestResponses = this.#batchCacheOperations(operations); - } catch (e6) { - errorData = e6; - } - queueMicrotask(() => { - if (errorData === null) { - cacheJobPromise.resolve(!!requestResponses?.length); - } else { - cacheJobPromise.reject(errorData); - } - }); - return cacheJobPromise.promise; - } - /** - * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys - * @param {any} request - * @param {import('../../types/cache').CacheQueryOptions} options - * @returns {readonly Request[]} - */ - async keys(request = void 0, options = {}) { - webidl.brandCheck(this, _Cache); - if (request !== void 0) request = webidl.converters.RequestInfo(request); - options = webidl.converters.CacheQueryOptions(options); - let r6 = null; - if (request !== void 0) { - if (request instanceof Request) { - r6 = request[kState]; - if (r6.method !== "GET" && !options.ignoreMethod) { - return []; - } - } else if (typeof request === "string") { - r6 = new Request(request)[kState]; - } - } - const promise = createDeferredPromise(); - const requests = []; - if (request === void 0) { - for (const requestResponse of this.#relevantRequestResponseList) { - requests.push(requestResponse[0]); - } - } else { - const requestResponses = this.#queryCache(r6, options); - for (const requestResponse of requestResponses) { - requests.push(requestResponse[0]); - } - } - queueMicrotask(() => { - const requestList = []; - for (const request2 of requests) { - const requestObject = new Request("https://a"); - requestObject[kState] = request2; - requestObject[kHeaders][kHeadersList] = request2.headersList; - requestObject[kHeaders][kGuard] = "immutable"; - requestObject[kRealm] = request2.client; - requestList.push(requestObject); - } - promise.resolve(Object.freeze(requestList)); - }); - return promise.promise; - } - /** - * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm - * @param {CacheBatchOperation[]} operations - * @returns {requestResponseList} - */ - #batchCacheOperations(operations) { - const cache = this.#relevantRequestResponseList; - const backupCache = [...cache]; - const addedItems = []; - const resultList = []; - try { - for (const operation of operations) { - if (operation.type !== "delete" && operation.type !== "put") { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: 'operation type does not match "delete" or "put"' - }); - } - if (operation.type === "delete" && operation.response != null) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "delete operation should not have an associated response" - }); - } - if (this.#queryCache(operation.request, operation.options, addedItems).length) { - throw new DOMException("???", "InvalidStateError"); - } - let requestResponses; - if (operation.type === "delete") { - requestResponses = this.#queryCache(operation.request, operation.options); - if (requestResponses.length === 0) { - return []; - } - for (const requestResponse of requestResponses) { - const idx = cache.indexOf(requestResponse); - assert(idx !== -1); - cache.splice(idx, 1); - } - } else if (operation.type === "put") { - if (operation.response == null) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "put operation should have an associated response" - }); - } - const r6 = operation.request; - if (!urlIsHttpHttpsScheme(r6.url)) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "expected http or https scheme" - }); - } - if (r6.method !== "GET") { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "not get method" - }); - } - if (operation.options != null) { - throw webidl.errors.exception({ - header: "Cache.#batchCacheOperations", - message: "options must not be defined" - }); - } - requestResponses = this.#queryCache(operation.request); - for (const requestResponse of requestResponses) { - const idx = cache.indexOf(requestResponse); - assert(idx !== -1); - cache.splice(idx, 1); - } - cache.push([operation.request, operation.response]); - addedItems.push([operation.request, operation.response]); - } - resultList.push([operation.request, operation.response]); - } - return resultList; - } catch (e6) { - this.#relevantRequestResponseList.length = 0; - this.#relevantRequestResponseList = backupCache; - throw e6; - } - } - /** - * @see https://w3c.github.io/ServiceWorker/#query-cache - * @param {any} requestQuery - * @param {import('../../types/cache').CacheQueryOptions} options - * @param {requestResponseList} targetStorage - * @returns {requestResponseList} - */ - #queryCache(requestQuery, options, targetStorage) { - const resultList = []; - const storage = targetStorage ?? this.#relevantRequestResponseList; - for (const requestResponse of storage) { - const [cachedRequest, cachedResponse] = requestResponse; - if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) { - resultList.push(requestResponse); - } - } - return resultList; - } - /** - * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm - * @param {any} requestQuery - * @param {any} request - * @param {any | null} response - * @param {import('../../types/cache').CacheQueryOptions | undefined} options - * @returns {boolean} - */ - #requestMatchesCachedItem(requestQuery, request, response = null, options) { - const queryURL = new URL(requestQuery.url); - const cachedURL = new URL(request.url); - if (options?.ignoreSearch) { - cachedURL.search = ""; - queryURL.search = ""; - } - if (!urlEquals(queryURL, cachedURL, true)) { - return false; - } - if (response == null || options?.ignoreVary || !response.headersList.contains("vary")) { - return true; - } - const fieldValues = getFieldValues(response.headersList.get("vary")); - for (const fieldValue of fieldValues) { - if (fieldValue === "*") { - return false; - } - const requestValue = request.headersList.get(fieldValue); - const queryValue = requestQuery.headersList.get(fieldValue); - if (requestValue !== queryValue) { - return false; - } - } - return true; - } - }; - Object.defineProperties(Cache.prototype, { - [Symbol.toStringTag]: { - value: "Cache", - configurable: true - }, - match: kEnumerableProperty, - matchAll: kEnumerableProperty, - add: kEnumerableProperty, - addAll: kEnumerableProperty, - put: kEnumerableProperty, - delete: kEnumerableProperty, - keys: kEnumerableProperty - }); - var cacheQueryOptionConverters = [ - { - key: "ignoreSearch", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "ignoreMethod", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "ignoreVary", - converter: webidl.converters.boolean, - defaultValue: false - } - ]; - webidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters); - webidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([ - ...cacheQueryOptionConverters, - { - key: "cacheName", - converter: webidl.converters.DOMString - } - ]); - webidl.converters.Response = webidl.interfaceConverter(Response2); - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.RequestInfo - ); - module2.exports = { - Cache - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/cache/cachestorage.js -var require_cachestorage = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/cache/cachestorage.js"(exports2, module2) { - "use strict"; - var { kConstruct } = require_symbols4(); - var { Cache } = require_cache(); - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); - var CacheStorage = class _CacheStorage { - /** - * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map - * @type {Map} - */ - async has(cacheName) { - webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.has" }); - cacheName = webidl.converters.DOMString(cacheName); - return this.#caches.has(cacheName); - } - /** - * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open - * @param {string} cacheName - * @returns {Promise} - */ - async open(cacheName) { - webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.open" }); - cacheName = webidl.converters.DOMString(cacheName); - if (this.#caches.has(cacheName)) { - const cache2 = this.#caches.get(cacheName); - return new Cache(kConstruct, cache2); - } - const cache = []; - this.#caches.set(cacheName, cache); - return new Cache(kConstruct, cache); - } - /** - * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete - * @param {string} cacheName - * @returns {Promise} - */ - async delete(cacheName) { - webidl.brandCheck(this, _CacheStorage); - webidl.argumentLengthCheck(arguments, 1, { header: "CacheStorage.delete" }); - cacheName = webidl.converters.DOMString(cacheName); - return this.#caches.delete(cacheName); - } - /** - * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys - * @returns {string[]} - */ - async keys() { - webidl.brandCheck(this, _CacheStorage); - const keys = this.#caches.keys(); - return [...keys]; - } - }; - Object.defineProperties(CacheStorage.prototype, { - [Symbol.toStringTag]: { - value: "CacheStorage", - configurable: true - }, - match: kEnumerableProperty, - has: kEnumerableProperty, - open: kEnumerableProperty, - delete: kEnumerableProperty, - keys: kEnumerableProperty - }); - module2.exports = { - CacheStorage - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/cookies/constants.js -var require_constants4 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/cookies/constants.js"(exports2, module2) { - "use strict"; - var maxAttributeValueSize = 1024; - var maxNameValuePairSize = 4096; - module2.exports = { - maxAttributeValueSize, - maxNameValuePairSize - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/cookies/util.js -var require_util6 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/cookies/util.js"(exports2, module2) { - "use strict"; - function isCTLExcludingHtab(value) { - if (value.length === 0) { - return false; - } - for (const char of value) { - const code = char.charCodeAt(0); - if (code >= 0 || code <= 8 || (code >= 10 || code <= 31) || code === 127) { - return false; - } - } - } - function validateCookieName(name) { - for (const char of name) { - const code = char.charCodeAt(0); - if (code <= 32 || code > 127 || char === "(" || char === ")" || char === ">" || char === "<" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}") { - throw new Error("Invalid cookie name"); - } - } - } - function validateCookieValue(value) { - for (const char of value) { - const code = char.charCodeAt(0); - if (code < 33 || // exclude CTLs (0-31) - code === 34 || code === 44 || code === 59 || code === 92 || code > 126) { - throw new Error("Invalid header value"); - } - } - } - function validateCookiePath(path) { - for (const char of path) { - const code = char.charCodeAt(0); - if (code < 33 || char === ";") { - throw new Error("Invalid cookie path"); - } - } - } - function validateCookieDomain(domain) { - if (domain.startsWith("-") || domain.endsWith(".") || domain.endsWith("-")) { - throw new Error("Invalid cookie domain"); - } - } - function toIMFDate(date) { - if (typeof date === "number") { - date = new Date(date); - } - const days = [ - "Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat" - ]; - const months = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec" - ]; - const dayName = days[date.getUTCDay()]; - const day = date.getUTCDate().toString().padStart(2, "0"); - const month = months[date.getUTCMonth()]; - const year = date.getUTCFullYear(); - const hour = date.getUTCHours().toString().padStart(2, "0"); - const minute = date.getUTCMinutes().toString().padStart(2, "0"); - const second = date.getUTCSeconds().toString().padStart(2, "0"); - return `${dayName}, ${day} ${month} ${year} ${hour}:${minute}:${second} GMT`; - } - function validateCookieMaxAge(maxAge) { - if (maxAge < 0) { - throw new Error("Invalid cookie max-age"); - } - } - function stringify(cookie) { - if (cookie.name.length === 0) { - return null; - } - validateCookieName(cookie.name); - validateCookieValue(cookie.value); - const out = [`${cookie.name}=${cookie.value}`]; - if (cookie.name.startsWith("__Secure-")) { - cookie.secure = true; - } - if (cookie.name.startsWith("__Host-")) { - cookie.secure = true; - cookie.domain = null; - cookie.path = "/"; - } - if (cookie.secure) { - out.push("Secure"); - } - if (cookie.httpOnly) { - out.push("HttpOnly"); - } - if (typeof cookie.maxAge === "number") { - validateCookieMaxAge(cookie.maxAge); - out.push(`Max-Age=${cookie.maxAge}`); - } - if (cookie.domain) { - validateCookieDomain(cookie.domain); - out.push(`Domain=${cookie.domain}`); - } - if (cookie.path) { - validateCookiePath(cookie.path); - out.push(`Path=${cookie.path}`); - } - if (cookie.expires && cookie.expires.toString() !== "Invalid Date") { - out.push(`Expires=${toIMFDate(cookie.expires)}`); - } - if (cookie.sameSite) { - out.push(`SameSite=${cookie.sameSite}`); - } - for (const part of cookie.unparsed) { - if (!part.includes("=")) { - throw new Error("Invalid unparsed"); - } - const [key, ...value] = part.split("="); - out.push(`${key.trim()}=${value.join("=")}`); - } - return out.join("; "); - } - module2.exports = { - isCTLExcludingHtab, - validateCookieName, - validateCookiePath, - validateCookieValue, - toIMFDate, - stringify - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/cookies/parse.js -var require_parse = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/cookies/parse.js"(exports2, module2) { - "use strict"; - var { maxNameValuePairSize, maxAttributeValueSize } = require_constants4(); - var { isCTLExcludingHtab } = require_util6(); - var { collectASequenceOfCodePointsFast } = require_dataURL(); - var assert = require("assert"); - function parseSetCookie(header) { - if (isCTLExcludingHtab(header)) { - return null; - } - let nameValuePair = ""; - let unparsedAttributes = ""; - let name = ""; - let value = ""; - if (header.includes(";")) { - const position = { position: 0 }; - nameValuePair = collectASequenceOfCodePointsFast(";", header, position); - unparsedAttributes = header.slice(position.position); - } else { - nameValuePair = header; - } - if (!nameValuePair.includes("=")) { - value = nameValuePair; - } else { - const position = { position: 0 }; - name = collectASequenceOfCodePointsFast( - "=", - nameValuePair, - position - ); - value = nameValuePair.slice(position.position + 1); - } - name = name.trim(); - value = value.trim(); - if (name.length + value.length > maxNameValuePairSize) { - return null; - } - return { - name, - value, - ...parseUnparsedAttributes(unparsedAttributes) - }; - } - function parseUnparsedAttributes(unparsedAttributes, cookieAttributeList = {}) { - if (unparsedAttributes.length === 0) { - return cookieAttributeList; - } - assert(unparsedAttributes[0] === ";"); - unparsedAttributes = unparsedAttributes.slice(1); - let cookieAv = ""; - if (unparsedAttributes.includes(";")) { - cookieAv = collectASequenceOfCodePointsFast( - ";", - unparsedAttributes, - { position: 0 } - ); - unparsedAttributes = unparsedAttributes.slice(cookieAv.length); - } else { - cookieAv = unparsedAttributes; - unparsedAttributes = ""; - } - let attributeName = ""; - let attributeValue = ""; - if (cookieAv.includes("=")) { - const position = { position: 0 }; - attributeName = collectASequenceOfCodePointsFast( - "=", - cookieAv, - position - ); - attributeValue = cookieAv.slice(position.position + 1); - } else { - attributeName = cookieAv; - } - attributeName = attributeName.trim(); - attributeValue = attributeValue.trim(); - if (attributeValue.length > maxAttributeValueSize) { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - const attributeNameLowercase = attributeName.toLowerCase(); - if (attributeNameLowercase === "expires") { - const expiryTime = new Date(attributeValue); - cookieAttributeList.expires = expiryTime; - } else if (attributeNameLowercase === "max-age") { - const charCode = attributeValue.charCodeAt(0); - if ((charCode < 48 || charCode > 57) && attributeValue[0] !== "-") { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - if (!/^\d+$/.test(attributeValue)) { - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - const deltaSeconds = Number(attributeValue); - cookieAttributeList.maxAge = deltaSeconds; - } else if (attributeNameLowercase === "domain") { - let cookieDomain = attributeValue; - if (cookieDomain[0] === ".") { - cookieDomain = cookieDomain.slice(1); - } - cookieDomain = cookieDomain.toLowerCase(); - cookieAttributeList.domain = cookieDomain; - } else if (attributeNameLowercase === "path") { - let cookiePath = ""; - if (attributeValue.length === 0 || attributeValue[0] !== "/") { - cookiePath = "/"; - } else { - cookiePath = attributeValue; - } - cookieAttributeList.path = cookiePath; - } else if (attributeNameLowercase === "secure") { - cookieAttributeList.secure = true; - } else if (attributeNameLowercase === "httponly") { - cookieAttributeList.httpOnly = true; - } else if (attributeNameLowercase === "samesite") { - let enforcement = "Default"; - const attributeValueLowercase = attributeValue.toLowerCase(); - if (attributeValueLowercase.includes("none")) { - enforcement = "None"; - } - if (attributeValueLowercase.includes("strict")) { - enforcement = "Strict"; - } - if (attributeValueLowercase.includes("lax")) { - enforcement = "Lax"; - } - cookieAttributeList.sameSite = enforcement; - } else { - cookieAttributeList.unparsed ??= []; - cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`); - } - return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList); - } - module2.exports = { - parseSetCookie, - parseUnparsedAttributes - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/cookies/index.js -var require_cookies = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/cookies/index.js"(exports2, module2) { - "use strict"; - var { parseSetCookie } = require_parse(); - var { stringify } = require_util6(); - var { webidl } = require_webidl(); - var { Headers } = require_headers(); - function getCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getCookies" }); - webidl.brandCheck(headers, Headers, { strict: false }); - const cookie = headers.get("cookie"); - const out = {}; - if (!cookie) { - return out; - } - for (const piece of cookie.split(";")) { - const [name, ...value] = piece.split("="); - out[name.trim()] = value.join("="); - } - return out; - } - function deleteCookie(headers, name, attributes) { - webidl.argumentLengthCheck(arguments, 2, { header: "deleteCookie" }); - webidl.brandCheck(headers, Headers, { strict: false }); - name = webidl.converters.DOMString(name); - attributes = webidl.converters.DeleteCookieAttributes(attributes); - setCookie(headers, { - name, - value: "", - expires: /* @__PURE__ */ new Date(0), - ...attributes - }); - } - function getSetCookies(headers) { - webidl.argumentLengthCheck(arguments, 1, { header: "getSetCookies" }); - webidl.brandCheck(headers, Headers, { strict: false }); - const cookies = headers.getSetCookie(); - if (!cookies) { - return []; - } - return cookies.map((pair) => parseSetCookie(pair)); - } - function setCookie(headers, cookie) { - webidl.argumentLengthCheck(arguments, 2, { header: "setCookie" }); - webidl.brandCheck(headers, Headers, { strict: false }); - cookie = webidl.converters.Cookie(cookie); - const str = stringify(cookie); - if (str) { - headers.append("Set-Cookie", stringify(cookie)); - } - } - webidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([ - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "path", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "domain", - defaultValue: null - } - ]); - webidl.converters.Cookie = webidl.dictionaryConverter([ - { - converter: webidl.converters.DOMString, - key: "name" - }, - { - converter: webidl.converters.DOMString, - key: "value" - }, - { - converter: webidl.nullableConverter((value) => { - if (typeof value === "number") { - return webidl.converters["unsigned long long"](value); - } - return new Date(value); - }), - key: "expires", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters["long long"]), - key: "maxAge", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "domain", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.DOMString), - key: "path", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.boolean), - key: "secure", - defaultValue: null - }, - { - converter: webidl.nullableConverter(webidl.converters.boolean), - key: "httpOnly", - defaultValue: null - }, - { - converter: webidl.converters.USVString, - key: "sameSite", - allowedValues: ["Strict", "Lax", "None"] - }, - { - converter: webidl.sequenceConverter(webidl.converters.DOMString), - key: "unparsed", - defaultValue: [] - } - ]); - module2.exports = { - getCookies, - deleteCookie, - getSetCookies, - setCookie - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/websocket/constants.js -var require_constants5 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/websocket/constants.js"(exports2, module2) { - "use strict"; - var uid = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"; - var staticPropertyDescriptors = { - enumerable: true, - writable: false, - configurable: false - }; - var states = { - CONNECTING: 0, - OPEN: 1, - CLOSING: 2, - CLOSED: 3 - }; - var opcodes = { - CONTINUATION: 0, - TEXT: 1, - BINARY: 2, - CLOSE: 8, - PING: 9, - PONG: 10 - }; - var maxUnsigned16Bit = 2 ** 16 - 1; - var parserStates = { - INFO: 0, - PAYLOADLENGTH_16: 2, - PAYLOADLENGTH_64: 3, - READ_DATA: 4 - }; - var emptyBuffer = Buffer.allocUnsafe(0); - module2.exports = { - uid, - staticPropertyDescriptors, - states, - opcodes, - maxUnsigned16Bit, - parserStates, - emptyBuffer - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/websocket/symbols.js -var require_symbols5 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/websocket/symbols.js"(exports2, module2) { - "use strict"; - module2.exports = { - kWebSocketURL: /* @__PURE__ */ Symbol("url"), - kReadyState: /* @__PURE__ */ Symbol("ready state"), - kController: /* @__PURE__ */ Symbol("controller"), - kResponse: /* @__PURE__ */ Symbol("response"), - kBinaryType: /* @__PURE__ */ Symbol("binary type"), - kSentClose: /* @__PURE__ */ Symbol("sent close"), - kReceivedClose: /* @__PURE__ */ Symbol("received close"), - kByteParser: /* @__PURE__ */ Symbol("byte parser") - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/websocket/events.js -var require_events = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/websocket/events.js"(exports2, module2) { - "use strict"; - var { webidl } = require_webidl(); - var { kEnumerableProperty } = require_util(); - var { MessagePort } = require("worker_threads"); - var MessageEvent = class _MessageEvent extends Event { - #eventInit; - constructor(type, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent constructor" }); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.MessageEventInit(eventInitDict); - super(type, eventInitDict); - this.#eventInit = eventInitDict; - } - get data() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.data; - } - get origin() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.origin; - } - get lastEventId() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.lastEventId; - } - get source() { - webidl.brandCheck(this, _MessageEvent); - return this.#eventInit.source; - } - get ports() { - webidl.brandCheck(this, _MessageEvent); - if (!Object.isFrozen(this.#eventInit.ports)) { - Object.freeze(this.#eventInit.ports); - } - return this.#eventInit.ports; - } - initMessageEvent(type, bubbles = false, cancelable = false, data = null, origin = "", lastEventId = "", source = null, ports = []) { - webidl.brandCheck(this, _MessageEvent); - webidl.argumentLengthCheck(arguments, 1, { header: "MessageEvent.initMessageEvent" }); - return new _MessageEvent(type, { - bubbles, - cancelable, - data, - origin, - lastEventId, - source, - ports - }); - } - }; - var CloseEvent = class _CloseEvent extends Event { - #eventInit; - constructor(type, eventInitDict = {}) { - webidl.argumentLengthCheck(arguments, 1, { header: "CloseEvent constructor" }); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.CloseEventInit(eventInitDict); - super(type, eventInitDict); - this.#eventInit = eventInitDict; - } - get wasClean() { - webidl.brandCheck(this, _CloseEvent); - return this.#eventInit.wasClean; - } - get code() { - webidl.brandCheck(this, _CloseEvent); - return this.#eventInit.code; - } - get reason() { - webidl.brandCheck(this, _CloseEvent); - return this.#eventInit.reason; - } - }; - var ErrorEvent = class _ErrorEvent extends Event { - #eventInit; - constructor(type, eventInitDict) { - webidl.argumentLengthCheck(arguments, 1, { header: "ErrorEvent constructor" }); - super(type, eventInitDict); - type = webidl.converters.DOMString(type); - eventInitDict = webidl.converters.ErrorEventInit(eventInitDict ?? {}); - this.#eventInit = eventInitDict; - } - get message() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.message; - } - get filename() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.filename; - } - get lineno() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.lineno; - } - get colno() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.colno; - } - get error() { - webidl.brandCheck(this, _ErrorEvent); - return this.#eventInit.error; - } - }; - Object.defineProperties(MessageEvent.prototype, { - [Symbol.toStringTag]: { - value: "MessageEvent", - configurable: true - }, - data: kEnumerableProperty, - origin: kEnumerableProperty, - lastEventId: kEnumerableProperty, - source: kEnumerableProperty, - ports: kEnumerableProperty, - initMessageEvent: kEnumerableProperty - }); - Object.defineProperties(CloseEvent.prototype, { - [Symbol.toStringTag]: { - value: "CloseEvent", - configurable: true - }, - reason: kEnumerableProperty, - code: kEnumerableProperty, - wasClean: kEnumerableProperty - }); - Object.defineProperties(ErrorEvent.prototype, { - [Symbol.toStringTag]: { - value: "ErrorEvent", - configurable: true - }, - message: kEnumerableProperty, - filename: kEnumerableProperty, - lineno: kEnumerableProperty, - colno: kEnumerableProperty, - error: kEnumerableProperty - }); - webidl.converters.MessagePort = webidl.interfaceConverter(MessagePort); - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.MessagePort - ); - var eventInit = [ - { - key: "bubbles", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "cancelable", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "composed", - converter: webidl.converters.boolean, - defaultValue: false - } - ]; - webidl.converters.MessageEventInit = webidl.dictionaryConverter([ - ...eventInit, - { - key: "data", - converter: webidl.converters.any, - defaultValue: null - }, - { - key: "origin", - converter: webidl.converters.USVString, - defaultValue: "" - }, - { - key: "lastEventId", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "source", - // Node doesn't implement WindowProxy or ServiceWorker, so the only - // valid value for source is a MessagePort. - converter: webidl.nullableConverter(webidl.converters.MessagePort), - defaultValue: null - }, - { - key: "ports", - converter: webidl.converters["sequence"], - get defaultValue() { - return []; - } - } - ]); - webidl.converters.CloseEventInit = webidl.dictionaryConverter([ - ...eventInit, - { - key: "wasClean", - converter: webidl.converters.boolean, - defaultValue: false - }, - { - key: "code", - converter: webidl.converters["unsigned short"], - defaultValue: 0 - }, - { - key: "reason", - converter: webidl.converters.USVString, - defaultValue: "" - } - ]); - webidl.converters.ErrorEventInit = webidl.dictionaryConverter([ - ...eventInit, - { - key: "message", - converter: webidl.converters.DOMString, - defaultValue: "" - }, - { - key: "filename", - converter: webidl.converters.USVString, - defaultValue: "" - }, - { - key: "lineno", - converter: webidl.converters["unsigned long"], - defaultValue: 0 - }, - { - key: "colno", - converter: webidl.converters["unsigned long"], - defaultValue: 0 - }, - { - key: "error", - converter: webidl.converters.any - } - ]); - module2.exports = { - MessageEvent, - CloseEvent, - ErrorEvent - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/websocket/util.js -var require_util7 = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/websocket/util.js"(exports2, module2) { - "use strict"; - var { kReadyState, kController, kResponse, kBinaryType, kWebSocketURL } = require_symbols5(); - var { states, opcodes } = require_constants5(); - var { MessageEvent, ErrorEvent } = require_events(); - function isEstablished(ws3) { - return ws3[kReadyState] === states.OPEN; - } - function isClosing(ws3) { - return ws3[kReadyState] === states.CLOSING; - } - function isClosed(ws3) { - return ws3[kReadyState] === states.CLOSED; - } - function fireEvent(e6, target, eventConstructor = Event, eventInitDict) { - const event = new eventConstructor(e6, eventInitDict); - target.dispatchEvent(event); - } - function websocketMessageReceived(ws3, type, data) { - if (ws3[kReadyState] !== states.OPEN) { - return; - } - let dataForEvent; - if (type === opcodes.TEXT) { - try { - dataForEvent = new TextDecoder("utf-8", { fatal: true }).decode(data); - } catch { - failWebsocketConnection(ws3, "Received invalid UTF-8 in text frame."); - return; - } - } else if (type === opcodes.BINARY) { - if (ws3[kBinaryType] === "blob") { - dataForEvent = new Blob([data]); - } else { - dataForEvent = new Uint8Array(data).buffer; - } - } - fireEvent("message", ws3, MessageEvent, { - origin: ws3[kWebSocketURL].origin, - data: dataForEvent - }); - } - function isValidSubprotocol(protocol) { - if (protocol.length === 0) { - return false; - } - for (const char of protocol) { - const code = char.charCodeAt(0); - if (code < 33 || code > 126 || char === "(" || char === ")" || char === "<" || char === ">" || char === "@" || char === "," || char === ";" || char === ":" || char === "\\" || char === '"' || char === "/" || char === "[" || char === "]" || char === "?" || char === "=" || char === "{" || char === "}" || code === 32 || // SP - code === 9) { - return false; - } - } - return true; - } - function isValidStatusCode(code) { - if (code >= 1e3 && code < 1015) { - return code !== 1004 && // reserved - code !== 1005 && // "MUST NOT be set as a status code" - code !== 1006; - } - return code >= 3e3 && code <= 4999; - } - function failWebsocketConnection(ws3, reason) { - const { [kController]: controller, [kResponse]: response } = ws3; - controller.abort(); - if (response?.socket && !response.socket.destroyed) { - response.socket.destroy(); - } - if (reason) { - fireEvent("error", ws3, ErrorEvent, { - error: new Error(reason) - }); - } - } - module2.exports = { - isEstablished, - isClosing, - isClosed, - fireEvent, - isValidSubprotocol, - isValidStatusCode, - failWebsocketConnection, - websocketMessageReceived - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/websocket/connection.js -var require_connection = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/websocket/connection.js"(exports2, module2) { - "use strict"; - var diagnosticsChannel = require("diagnostics_channel"); - var { uid, states } = require_constants5(); - var { - kReadyState, - kSentClose, - kByteParser, - kReceivedClose - } = require_symbols5(); - var { fireEvent, failWebsocketConnection } = require_util7(); - var { CloseEvent } = require_events(); - var { makeRequest } = require_request2(); - var { fetching } = require_fetch(); - var { Headers } = require_headers(); - var { getGlobalDispatcher } = require_global2(); - var { kHeadersList } = require_symbols(); - var channels = {}; - channels.open = diagnosticsChannel.channel("undici:websocket:open"); - channels.close = diagnosticsChannel.channel("undici:websocket:close"); - channels.socketError = diagnosticsChannel.channel("undici:websocket:socket_error"); - var crypto2; - try { - crypto2 = require("crypto"); - } catch { - } - function establishWebSocketConnection(url, protocols, ws3, onEstablish, options) { - const requestURL = url; - requestURL.protocol = url.protocol === "ws:" ? "http:" : "https:"; - const request = makeRequest({ - urlList: [requestURL], - serviceWorkers: "none", - referrer: "no-referrer", - mode: "websocket", - credentials: "include", - cache: "no-store", - redirect: "error" - }); - if (options.headers) { - const headersList = new Headers(options.headers)[kHeadersList]; - request.headersList = headersList; - } - const keyValue = crypto2.randomBytes(16).toString("base64"); - request.headersList.append("sec-websocket-key", keyValue); - request.headersList.append("sec-websocket-version", "13"); - for (const protocol of protocols) { - request.headersList.append("sec-websocket-protocol", protocol); - } - const permessageDeflate = ""; - const controller = fetching({ - request, - useParallelQueue: true, - dispatcher: options.dispatcher ?? getGlobalDispatcher(), - processResponse(response) { - if (response.type === "error" || response.status !== 101) { - failWebsocketConnection(ws3, "Received network error or non-101 status code."); - return; - } - if (protocols.length !== 0 && !response.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws3, "Server did not respond with sent protocols."); - return; - } - if (response.headersList.get("Upgrade")?.toLowerCase() !== "websocket") { - failWebsocketConnection(ws3, 'Server did not set Upgrade header to "websocket".'); - return; - } - if (response.headersList.get("Connection")?.toLowerCase() !== "upgrade") { - failWebsocketConnection(ws3, 'Server did not set Connection header to "upgrade".'); - return; - } - const secWSAccept = response.headersList.get("Sec-WebSocket-Accept"); - const digest = crypto2.createHash("sha1").update(keyValue + uid).digest("base64"); - if (secWSAccept !== digest) { - failWebsocketConnection(ws3, "Incorrect hash received in Sec-WebSocket-Accept header."); - return; - } - const secExtension = response.headersList.get("Sec-WebSocket-Extensions"); - if (secExtension !== null && secExtension !== permessageDeflate) { - failWebsocketConnection(ws3, "Received different permessage-deflate than the one set."); - return; - } - const secProtocol = response.headersList.get("Sec-WebSocket-Protocol"); - if (secProtocol !== null && secProtocol !== request.headersList.get("Sec-WebSocket-Protocol")) { - failWebsocketConnection(ws3, "Protocol was not set in the opening handshake."); - return; - } - response.socket.on("data", onSocketData); - response.socket.on("close", onSocketClose); - response.socket.on("error", onSocketError); - if (channels.open.hasSubscribers) { - channels.open.publish({ - address: response.socket.address(), - protocol: secProtocol, - extensions: secExtension - }); - } - onEstablish(response); - } - }); - return controller; - } - function onSocketData(chunk) { - if (!this.ws[kByteParser].write(chunk)) { - this.pause(); - } - } - function onSocketClose() { - const { ws: ws3 } = this; - const wasClean = ws3[kSentClose] && ws3[kReceivedClose]; - let code = 1005; - let reason = ""; - const result = ws3[kByteParser].closingInfo; - if (result) { - code = result.code ?? 1005; - reason = result.reason; - } else if (!ws3[kSentClose]) { - code = 1006; - } - ws3[kReadyState] = states.CLOSED; - fireEvent("close", ws3, CloseEvent, { - wasClean, - code, - reason - }); - if (channels.close.hasSubscribers) { - channels.close.publish({ - websocket: ws3, - code, - reason - }); - } - } - function onSocketError(error) { - const { ws: ws3 } = this; - ws3[kReadyState] = states.CLOSING; - if (channels.socketError.hasSubscribers) { - channels.socketError.publish(error); - } - this.destroy(); - } - module2.exports = { - establishWebSocketConnection - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/websocket/frame.js -var require_frame = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/websocket/frame.js"(exports2, module2) { - "use strict"; - var { maxUnsigned16Bit } = require_constants5(); - var crypto2; - try { - crypto2 = require("crypto"); - } catch { - } - var WebsocketFrameSend = class { - /** - * @param {Buffer|undefined} data - */ - constructor(data) { - this.frameData = data; - this.maskKey = crypto2.randomBytes(4); - } - createFrame(opcode) { - const bodyLength = this.frameData?.byteLength ?? 0; - let payloadLength = bodyLength; - let offset = 6; - if (bodyLength > maxUnsigned16Bit) { - offset += 8; - payloadLength = 127; - } else if (bodyLength > 125) { - offset += 2; - payloadLength = 126; - } - const buffer = Buffer.allocUnsafe(bodyLength + offset); - buffer[0] = buffer[1] = 0; - buffer[0] |= 128; - buffer[0] = (buffer[0] & 240) + opcode; - buffer[offset - 4] = this.maskKey[0]; - buffer[offset - 3] = this.maskKey[1]; - buffer[offset - 2] = this.maskKey[2]; - buffer[offset - 1] = this.maskKey[3]; - buffer[1] = payloadLength; - if (payloadLength === 126) { - buffer.writeUInt16BE(bodyLength, 2); - } else if (payloadLength === 127) { - buffer[2] = buffer[3] = 0; - buffer.writeUIntBE(bodyLength, 4, 6); - } - buffer[1] |= 128; - for (let i7 = 0; i7 < bodyLength; i7++) { - buffer[offset + i7] = this.frameData[i7] ^ this.maskKey[i7 % 4]; - } - return buffer; - } - }; - module2.exports = { - WebsocketFrameSend - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/websocket/receiver.js -var require_receiver = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/websocket/receiver.js"(exports2, module2) { - "use strict"; - var { Writable } = require("stream"); - var diagnosticsChannel = require("diagnostics_channel"); - var { parserStates, opcodes, states, emptyBuffer } = require_constants5(); - var { kReadyState, kSentClose, kResponse, kReceivedClose } = require_symbols5(); - var { isValidStatusCode, failWebsocketConnection, websocketMessageReceived } = require_util7(); - var { WebsocketFrameSend } = require_frame(); - var channels = {}; - channels.ping = diagnosticsChannel.channel("undici:websocket:ping"); - channels.pong = diagnosticsChannel.channel("undici:websocket:pong"); - var ByteParser = class extends Writable { - #buffers = []; - #byteOffset = 0; - #state = parserStates.INFO; - #info = {}; - #fragments = []; - constructor(ws3) { - super(); - this.ws = ws3; - } - /** - * @param {Buffer} chunk - * @param {() => void} callback - */ - _write(chunk, _5, callback) { - this.#buffers.push(chunk); - this.#byteOffset += chunk.length; - this.run(callback); - } - /** - * Runs whenever a new chunk is received. - * Callback is called whenever there are no more chunks buffering, - * or not enough bytes are buffered to parse. - */ - run(callback) { - while (true) { - if (this.#state === parserStates.INFO) { - if (this.#byteOffset < 2) { - return callback(); - } - const buffer = this.consume(2); - this.#info.fin = (buffer[0] & 128) !== 0; - this.#info.opcode = buffer[0] & 15; - this.#info.originalOpcode ??= this.#info.opcode; - this.#info.fragmented = !this.#info.fin && this.#info.opcode !== opcodes.CONTINUATION; - if (this.#info.fragmented && this.#info.opcode !== opcodes.BINARY && this.#info.opcode !== opcodes.TEXT) { - failWebsocketConnection(this.ws, "Invalid frame type was fragmented."); - return; - } - const payloadLength = buffer[1] & 127; - if (payloadLength <= 125) { - this.#info.payloadLength = payloadLength; - this.#state = parserStates.READ_DATA; - } else if (payloadLength === 126) { - this.#state = parserStates.PAYLOADLENGTH_16; - } else if (payloadLength === 127) { - this.#state = parserStates.PAYLOADLENGTH_64; - } - if (this.#info.fragmented && payloadLength > 125) { - failWebsocketConnection(this.ws, "Fragmented frame exceeded 125 bytes."); - return; - } else if ((this.#info.opcode === opcodes.PING || this.#info.opcode === opcodes.PONG || this.#info.opcode === opcodes.CLOSE) && payloadLength > 125) { - failWebsocketConnection(this.ws, "Payload length for control frame exceeded 125 bytes."); - return; - } else if (this.#info.opcode === opcodes.CLOSE) { - if (payloadLength === 1) { - failWebsocketConnection(this.ws, "Received close frame with a 1-byte body."); - return; - } - const body = this.consume(payloadLength); - this.#info.closeInfo = this.parseCloseBody(false, body); - if (!this.ws[kSentClose]) { - const body2 = Buffer.allocUnsafe(2); - body2.writeUInt16BE(this.#info.closeInfo.code, 0); - const closeFrame = new WebsocketFrameSend(body2); - this.ws[kResponse].socket.write( - closeFrame.createFrame(opcodes.CLOSE), - (err) => { - if (!err) { - this.ws[kSentClose] = true; - } - } - ); - } - this.ws[kReadyState] = states.CLOSING; - this.ws[kReceivedClose] = true; - this.end(); - return; - } else if (this.#info.opcode === opcodes.PING) { - const body = this.consume(payloadLength); - if (!this.ws[kReceivedClose]) { - const frame = new WebsocketFrameSend(body); - this.ws[kResponse].socket.write(frame.createFrame(opcodes.PONG)); - if (channels.ping.hasSubscribers) { - channels.ping.publish({ - payload: body - }); - } - } - this.#state = parserStates.INFO; - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - return; - } - } else if (this.#info.opcode === opcodes.PONG) { - const body = this.consume(payloadLength); - if (channels.pong.hasSubscribers) { - channels.pong.publish({ - payload: body - }); - } - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - return; - } - } - } else if (this.#state === parserStates.PAYLOADLENGTH_16) { - if (this.#byteOffset < 2) { - return callback(); - } - const buffer = this.consume(2); - this.#info.payloadLength = buffer.readUInt16BE(0); - this.#state = parserStates.READ_DATA; - } else if (this.#state === parserStates.PAYLOADLENGTH_64) { - if (this.#byteOffset < 8) { - return callback(); - } - const buffer = this.consume(8); - const upper = buffer.readUInt32BE(0); - if (upper > 2 ** 31 - 1) { - failWebsocketConnection(this.ws, "Received payload length > 2^31 bytes."); - return; - } - const lower = buffer.readUInt32BE(4); - this.#info.payloadLength = (upper << 8) + lower; - this.#state = parserStates.READ_DATA; - } else if (this.#state === parserStates.READ_DATA) { - if (this.#byteOffset < this.#info.payloadLength) { - return callback(); - } else if (this.#byteOffset >= this.#info.payloadLength) { - const body = this.consume(this.#info.payloadLength); - this.#fragments.push(body); - if (!this.#info.fragmented || this.#info.fin && this.#info.opcode === opcodes.CONTINUATION) { - const fullMessage = Buffer.concat(this.#fragments); - websocketMessageReceived(this.ws, this.#info.originalOpcode, fullMessage); - this.#info = {}; - this.#fragments.length = 0; - } - this.#state = parserStates.INFO; - } - } - if (this.#byteOffset > 0) { - continue; - } else { - callback(); - break; - } - } - } - /** - * Take n bytes from the buffered Buffers - * @param {number} n - * @returns {Buffer|null} - */ - consume(n6) { - if (n6 > this.#byteOffset) { - return null; - } else if (n6 === 0) { - return emptyBuffer; - } - if (this.#buffers[0].length === n6) { - this.#byteOffset -= this.#buffers[0].length; - return this.#buffers.shift(); - } - const buffer = Buffer.allocUnsafe(n6); - let offset = 0; - while (offset !== n6) { - const next = this.#buffers[0]; - const { length } = next; - if (length + offset === n6) { - buffer.set(this.#buffers.shift(), offset); - break; - } else if (length + offset > n6) { - buffer.set(next.subarray(0, n6 - offset), offset); - this.#buffers[0] = next.subarray(n6 - offset); - break; - } else { - buffer.set(this.#buffers.shift(), offset); - offset += next.length; - } - } - this.#byteOffset -= n6; - return buffer; - } - parseCloseBody(onlyCode, data) { - let code; - if (data.length >= 2) { - code = data.readUInt16BE(0); - } - if (onlyCode) { - if (!isValidStatusCode(code)) { - return null; - } - return { code }; - } - let reason = data.subarray(2); - if (reason[0] === 239 && reason[1] === 187 && reason[2] === 191) { - reason = reason.subarray(3); - } - if (code !== void 0 && !isValidStatusCode(code)) { - return null; - } - try { - reason = new TextDecoder("utf-8", { fatal: true }).decode(reason); - } catch { - return null; - } - return { code, reason }; - } - get closingInfo() { - return this.#info.closeInfo; - } - }; - module2.exports = { - ByteParser - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/lib/websocket/websocket.js -var require_websocket = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/lib/websocket/websocket.js"(exports2, module2) { - "use strict"; - var { webidl } = require_webidl(); - var { DOMException: DOMException2 } = require_constants2(); - var { URLSerializer } = require_dataURL(); - var { getGlobalOrigin } = require_global(); - var { staticPropertyDescriptors, states, opcodes, emptyBuffer } = require_constants5(); - var { - kWebSocketURL, - kReadyState, - kController, - kBinaryType, - kResponse, - kSentClose, - kByteParser - } = require_symbols5(); - var { isEstablished, isClosing, isValidSubprotocol, failWebsocketConnection, fireEvent } = require_util7(); - var { establishWebSocketConnection } = require_connection(); - var { WebsocketFrameSend } = require_frame(); - var { ByteParser } = require_receiver(); - var { kEnumerableProperty, isBlobLike } = require_util(); - var { getGlobalDispatcher } = require_global2(); - var { types } = require("util"); - var experimentalWarned = false; - var WebSocket = class _WebSocket extends EventTarget { - #events = { - open: null, - error: null, - close: null, - message: null - }; - #bufferedAmount = 0; - #protocol = ""; - #extensions = ""; - /** - * @param {string} url - * @param {string|string[]} protocols - */ - constructor(url, protocols = []) { - super(); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket constructor" }); - if (!experimentalWarned) { - experimentalWarned = true; - process.emitWarning("WebSockets are experimental, expect them to change at any time.", { - code: "UNDICI-WS" - }); - } - const options = webidl.converters["DOMString or sequence or WebSocketInit"](protocols); - url = webidl.converters.USVString(url); - protocols = options.protocols; - const baseURL = getGlobalOrigin(); - let urlRecord; - try { - urlRecord = new URL(url, baseURL); - } catch (e6) { - throw new DOMException2(e6, "SyntaxError"); - } - if (urlRecord.protocol === "http:") { - urlRecord.protocol = "ws:"; - } else if (urlRecord.protocol === "https:") { - urlRecord.protocol = "wss:"; - } - if (urlRecord.protocol !== "ws:" && urlRecord.protocol !== "wss:") { - throw new DOMException2( - `Expected a ws: or wss: protocol, got ${urlRecord.protocol}`, - "SyntaxError" - ); - } - if (urlRecord.hash || urlRecord.href.endsWith("#")) { - throw new DOMException2("Got fragment", "SyntaxError"); - } - if (typeof protocols === "string") { - protocols = [protocols]; - } - if (protocols.length !== new Set(protocols.map((p5) => p5.toLowerCase())).size) { - throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); - } - if (protocols.length > 0 && !protocols.every((p5) => isValidSubprotocol(p5))) { - throw new DOMException2("Invalid Sec-WebSocket-Protocol value", "SyntaxError"); - } - this[kWebSocketURL] = new URL(urlRecord.href); - this[kController] = establishWebSocketConnection( - urlRecord, - protocols, - this, - (response) => this.#onConnectionEstablished(response), - options - ); - this[kReadyState] = _WebSocket.CONNECTING; - this[kBinaryType] = "blob"; - } - /** - * @see https://websockets.spec.whatwg.org/#dom-websocket-close - * @param {number|undefined} code - * @param {string|undefined} reason - */ - close(code = void 0, reason = void 0) { - webidl.brandCheck(this, _WebSocket); - if (code !== void 0) { - code = webidl.converters["unsigned short"](code, { clamp: true }); - } - if (reason !== void 0) { - reason = webidl.converters.USVString(reason); - } - if (code !== void 0) { - if (code !== 1e3 && (code < 3e3 || code > 4999)) { - throw new DOMException2("invalid code", "InvalidAccessError"); - } - } - let reasonByteLength = 0; - if (reason !== void 0) { - reasonByteLength = Buffer.byteLength(reason); - if (reasonByteLength > 123) { - throw new DOMException2( - `Reason must be less than 123 bytes; received ${reasonByteLength}`, - "SyntaxError" - ); - } - } - if (this[kReadyState] === _WebSocket.CLOSING || this[kReadyState] === _WebSocket.CLOSED) { - } else if (!isEstablished(this)) { - failWebsocketConnection(this, "Connection was closed before it was established."); - this[kReadyState] = _WebSocket.CLOSING; - } else if (!isClosing(this)) { - const frame = new WebsocketFrameSend(); - if (code !== void 0 && reason === void 0) { - frame.frameData = Buffer.allocUnsafe(2); - frame.frameData.writeUInt16BE(code, 0); - } else if (code !== void 0 && reason !== void 0) { - frame.frameData = Buffer.allocUnsafe(2 + reasonByteLength); - frame.frameData.writeUInt16BE(code, 0); - frame.frameData.write(reason, 2, "utf-8"); - } else { - frame.frameData = emptyBuffer; - } - const socket = this[kResponse].socket; - socket.write(frame.createFrame(opcodes.CLOSE), (err) => { - if (!err) { - this[kSentClose] = true; - } - }); - this[kReadyState] = states.CLOSING; - } else { - this[kReadyState] = _WebSocket.CLOSING; - } - } - /** - * @see https://websockets.spec.whatwg.org/#dom-websocket-send - * @param {NodeJS.TypedArray|ArrayBuffer|Blob|string} data - */ - send(data) { - webidl.brandCheck(this, _WebSocket); - webidl.argumentLengthCheck(arguments, 1, { header: "WebSocket.send" }); - data = webidl.converters.WebSocketSendData(data); - if (this[kReadyState] === _WebSocket.CONNECTING) { - throw new DOMException2("Sent before connected.", "InvalidStateError"); - } - if (!isEstablished(this) || isClosing(this)) { - return; - } - const socket = this[kResponse].socket; - if (typeof data === "string") { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.TEXT); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - } else if (types.isArrayBuffer(data)) { - const value = Buffer.from(data); - const frame = new WebsocketFrameSend(value); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - } else if (ArrayBuffer.isView(data)) { - const ab2 = Buffer.from(data, data.byteOffset, data.byteLength); - const frame = new WebsocketFrameSend(ab2); - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += ab2.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= ab2.byteLength; - }); - } else if (isBlobLike(data)) { - const frame = new WebsocketFrameSend(); - data.arrayBuffer().then((ab2) => { - const value = Buffer.from(ab2); - frame.frameData = value; - const buffer = frame.createFrame(opcodes.BINARY); - this.#bufferedAmount += value.byteLength; - socket.write(buffer, () => { - this.#bufferedAmount -= value.byteLength; - }); - }); - } - } - get readyState() { - webidl.brandCheck(this, _WebSocket); - return this[kReadyState]; - } - get bufferedAmount() { - webidl.brandCheck(this, _WebSocket); - return this.#bufferedAmount; - } - get url() { - webidl.brandCheck(this, _WebSocket); - return URLSerializer(this[kWebSocketURL]); - } - get extensions() { - webidl.brandCheck(this, _WebSocket); - return this.#extensions; - } - get protocol() { - webidl.brandCheck(this, _WebSocket); - return this.#protocol; - } - get onopen() { - webidl.brandCheck(this, _WebSocket); - return this.#events.open; - } - set onopen(fn) { - webidl.brandCheck(this, _WebSocket); - if (this.#events.open) { - this.removeEventListener("open", this.#events.open); - } - if (typeof fn === "function") { - this.#events.open = fn; - this.addEventListener("open", fn); - } else { - this.#events.open = null; - } - } - get onerror() { - webidl.brandCheck(this, _WebSocket); - return this.#events.error; - } - set onerror(fn) { - webidl.brandCheck(this, _WebSocket); - if (this.#events.error) { - this.removeEventListener("error", this.#events.error); - } - if (typeof fn === "function") { - this.#events.error = fn; - this.addEventListener("error", fn); - } else { - this.#events.error = null; - } - } - get onclose() { - webidl.brandCheck(this, _WebSocket); - return this.#events.close; - } - set onclose(fn) { - webidl.brandCheck(this, _WebSocket); - if (this.#events.close) { - this.removeEventListener("close", this.#events.close); - } - if (typeof fn === "function") { - this.#events.close = fn; - this.addEventListener("close", fn); - } else { - this.#events.close = null; - } - } - get onmessage() { - webidl.brandCheck(this, _WebSocket); - return this.#events.message; - } - set onmessage(fn) { - webidl.brandCheck(this, _WebSocket); - if (this.#events.message) { - this.removeEventListener("message", this.#events.message); - } - if (typeof fn === "function") { - this.#events.message = fn; - this.addEventListener("message", fn); - } else { - this.#events.message = null; - } - } - get binaryType() { - webidl.brandCheck(this, _WebSocket); - return this[kBinaryType]; - } - set binaryType(type) { - webidl.brandCheck(this, _WebSocket); - if (type !== "blob" && type !== "arraybuffer") { - this[kBinaryType] = "blob"; - } else { - this[kBinaryType] = type; - } - } - /** - * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol - */ - #onConnectionEstablished(response) { - this[kResponse] = response; - const parser = new ByteParser(this); - parser.on("drain", function onParserDrain() { - this.ws[kResponse].socket.resume(); - }); - response.socket.ws = this; - this[kByteParser] = parser; - this[kReadyState] = states.OPEN; - const extensions = response.headersList.get("sec-websocket-extensions"); - if (extensions !== null) { - this.#extensions = extensions; - } - const protocol = response.headersList.get("sec-websocket-protocol"); - if (protocol !== null) { - this.#protocol = protocol; - } - fireEvent("open", this); - } - }; - WebSocket.CONNECTING = WebSocket.prototype.CONNECTING = states.CONNECTING; - WebSocket.OPEN = WebSocket.prototype.OPEN = states.OPEN; - WebSocket.CLOSING = WebSocket.prototype.CLOSING = states.CLOSING; - WebSocket.CLOSED = WebSocket.prototype.CLOSED = states.CLOSED; - Object.defineProperties(WebSocket.prototype, { - CONNECTING: staticPropertyDescriptors, - OPEN: staticPropertyDescriptors, - CLOSING: staticPropertyDescriptors, - CLOSED: staticPropertyDescriptors, - url: kEnumerableProperty, - readyState: kEnumerableProperty, - bufferedAmount: kEnumerableProperty, - onopen: kEnumerableProperty, - onerror: kEnumerableProperty, - onclose: kEnumerableProperty, - close: kEnumerableProperty, - onmessage: kEnumerableProperty, - binaryType: kEnumerableProperty, - send: kEnumerableProperty, - extensions: kEnumerableProperty, - protocol: kEnumerableProperty, - [Symbol.toStringTag]: { - value: "WebSocket", - writable: false, - enumerable: false, - configurable: true - } - }); - Object.defineProperties(WebSocket, { - CONNECTING: staticPropertyDescriptors, - OPEN: staticPropertyDescriptors, - CLOSING: staticPropertyDescriptors, - CLOSED: staticPropertyDescriptors - }); - webidl.converters["sequence"] = webidl.sequenceConverter( - webidl.converters.DOMString - ); - webidl.converters["DOMString or sequence"] = function(V4) { - if (webidl.util.Type(V4) === "Object" && Symbol.iterator in V4) { - return webidl.converters["sequence"](V4); - } - return webidl.converters.DOMString(V4); - }; - webidl.converters.WebSocketInit = webidl.dictionaryConverter([ - { - key: "protocols", - converter: webidl.converters["DOMString or sequence"], - get defaultValue() { - return []; - } - }, - { - key: "dispatcher", - converter: (V4) => V4, - get defaultValue() { - return getGlobalDispatcher(); - } - }, - { - key: "headers", - converter: webidl.nullableConverter(webidl.converters.HeadersInit) - } - ]); - webidl.converters["DOMString or sequence or WebSocketInit"] = function(V4) { - if (webidl.util.Type(V4) === "Object" && !(Symbol.iterator in V4)) { - return webidl.converters.WebSocketInit(V4); - } - return { protocols: webidl.converters["DOMString or sequence"](V4) }; - }; - webidl.converters.WebSocketSendData = function(V4) { - if (webidl.util.Type(V4) === "Object") { - if (isBlobLike(V4)) { - return webidl.converters.Blob(V4, { strict: false }); - } - if (ArrayBuffer.isView(V4) || types.isAnyArrayBuffer(V4)) { - return webidl.converters.BufferSource(V4); - } - } - return webidl.converters.USVString(V4); - }; - module2.exports = { - WebSocket - }; - } -}); - -// node_modules/@actions/http-client/node_modules/undici/index.js -var require_undici = __commonJS({ - "node_modules/@actions/http-client/node_modules/undici/index.js"(exports2, module2) { - "use strict"; - var Client = require_client(); - var Dispatcher = require_dispatcher(); - var errors = require_errors(); - var Pool = require_pool(); - var BalancedPool = require_balanced_pool(); - var Agent = require_agent(); - var util = require_util(); - var { InvalidArgumentError } = errors; - var api = require_api(); - var buildConnector = require_connect(); - var MockClient = require_mock_client(); - var MockAgent = require_mock_agent(); - var MockPool = require_mock_pool(); - var mockErrors = require_mock_errors(); - var ProxyAgent = require_proxy_agent(); - var RetryHandler = require_RetryHandler(); - var { getGlobalDispatcher, setGlobalDispatcher } = require_global2(); - var DecoratorHandler = require_DecoratorHandler(); - var RedirectHandler = require_RedirectHandler(); - var createRedirectInterceptor = require_redirectInterceptor(); - var hasCrypto; - try { - require("crypto"); - hasCrypto = true; - } catch { - hasCrypto = false; - } - Object.assign(Dispatcher.prototype, api); - module2.exports.Dispatcher = Dispatcher; - module2.exports.Client = Client; - module2.exports.Pool = Pool; - module2.exports.BalancedPool = BalancedPool; - module2.exports.Agent = Agent; - module2.exports.ProxyAgent = ProxyAgent; - module2.exports.RetryHandler = RetryHandler; - module2.exports.DecoratorHandler = DecoratorHandler; - module2.exports.RedirectHandler = RedirectHandler; - module2.exports.createRedirectInterceptor = createRedirectInterceptor; - module2.exports.buildConnector = buildConnector; - module2.exports.errors = errors; - function makeDispatcher(fn) { - return (url, opts, handler) => { - if (typeof opts === "function") { - handler = opts; - opts = null; - } - if (!url || typeof url !== "string" && typeof url !== "object" && !(url instanceof URL)) { - throw new InvalidArgumentError("invalid url"); - } - if (opts != null && typeof opts !== "object") { - throw new InvalidArgumentError("invalid opts"); - } - if (opts && opts.path != null) { - if (typeof opts.path !== "string") { - throw new InvalidArgumentError("invalid opts.path"); - } - let path = opts.path; - if (!opts.path.startsWith("/")) { - path = `/${path}`; - } - url = new URL(util.parseOrigin(url).origin + path); - } else { - if (!opts) { - opts = typeof url === "object" ? url : {}; - } - url = util.parseURL(url); - } - const { agent, dispatcher = getGlobalDispatcher() } = opts; - if (agent) { - throw new InvalidArgumentError("unsupported opts.agent. Did you mean opts.client?"); - } - return fn.call(dispatcher, { - ...opts, - origin: url.origin, - path: url.search ? `${url.pathname}${url.search}` : url.pathname, - method: opts.method || (opts.body ? "PUT" : "GET") - }, handler); - }; - } - module2.exports.setGlobalDispatcher = setGlobalDispatcher; - module2.exports.getGlobalDispatcher = getGlobalDispatcher; - if (util.nodeMajor > 16 || util.nodeMajor === 16 && util.nodeMinor >= 8) { - let fetchImpl = null; - module2.exports.fetch = async function fetch2(resource) { - if (!fetchImpl) { - fetchImpl = require_fetch().fetch; - } - try { - return await fetchImpl(...arguments); - } catch (err) { - if (typeof err === "object") { - Error.captureStackTrace(err, this); - } - throw err; - } - }; - module2.exports.Headers = require_headers().Headers; - module2.exports.Response = require_response().Response; - module2.exports.Request = require_request2().Request; - module2.exports.FormData = require_formdata().FormData; - module2.exports.File = require_file().File; - module2.exports.FileReader = require_filereader().FileReader; - const { setGlobalOrigin, getGlobalOrigin } = require_global(); - module2.exports.setGlobalOrigin = setGlobalOrigin; - module2.exports.getGlobalOrigin = getGlobalOrigin; - const { CacheStorage } = require_cachestorage(); - const { kConstruct } = require_symbols4(); - module2.exports.caches = new CacheStorage(kConstruct); - } - if (util.nodeMajor >= 16) { - const { deleteCookie, getCookies, getSetCookies, setCookie } = require_cookies(); - module2.exports.deleteCookie = deleteCookie; - module2.exports.getCookies = getCookies; - module2.exports.getSetCookies = getSetCookies; - module2.exports.setCookie = setCookie; - const { parseMIMEType, serializeAMimeType } = require_dataURL(); - module2.exports.parseMIMEType = parseMIMEType; - module2.exports.serializeAMimeType = serializeAMimeType; - } - if (util.nodeMajor >= 18 && hasCrypto) { - const { WebSocket } = require_websocket(); - module2.exports.WebSocket = WebSocket; - } - module2.exports.request = makeDispatcher(api.request); - module2.exports.stream = makeDispatcher(api.stream); - module2.exports.pipeline = makeDispatcher(api.pipeline); - module2.exports.connect = makeDispatcher(api.connect); - module2.exports.upgrade = makeDispatcher(api.upgrade); - module2.exports.MockClient = MockClient; - module2.exports.MockPool = MockPool; - module2.exports.MockAgent = MockAgent; - module2.exports.mockErrors = mockErrors; - } -}); - -// node_modules/@actions/http-client/lib/index.js -var require_lib = __commonJS({ - "node_modules/@actions/http-client/lib/index.js"(exports2) { - "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - var desc = Object.getOwnPropertyDescriptor(m5, k8); - if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { - return m5[k8]; - } }; - } - Object.defineProperty(o6, k22, desc); - }) : (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - o6[k22] = m5[k8]; - })); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o6, v8) { - Object.defineProperty(o6, "default", { enumerable: true, value: v8 }); - }) : function(o6, v8) { - o6["default"] = v8; - }); - var __importStar = exports2 && exports2.__importStar || function(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) { - for (var k8 in mod) if (k8 !== "default" && Object.prototype.hasOwnProperty.call(mod, k8)) __createBinding(result, mod, k8); - } - __setModuleDefault(result, mod); - return result; - }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P5, generator) { - function adopt(value) { - return value instanceof P5 ? value : new P5(function(resolve4) { - resolve4(value); - }); - } - return new (P5 || (P5 = Promise))(function(resolve4, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e6) { - reject(e6); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e6) { - reject(e6); - } - } - function step(result) { - result.done ? resolve4(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - Object.defineProperty(exports2, "__esModule", { value: true }); - exports2.HttpClient = exports2.isHttps = exports2.HttpClientResponse = exports2.HttpClientError = exports2.getProxyUrl = exports2.MediaTypes = exports2.Headers = exports2.HttpCodes = void 0; - var http = __importStar(require("http")); - var https = __importStar(require("https")); - var pm3 = __importStar(require_proxy()); - var tunnel = __importStar(require_tunnel2()); - var undici_1 = require_undici(); - var HttpCodes; - (function(HttpCodes2) { - HttpCodes2[HttpCodes2["OK"] = 200] = "OK"; - HttpCodes2[HttpCodes2["MultipleChoices"] = 300] = "MultipleChoices"; - HttpCodes2[HttpCodes2["MovedPermanently"] = 301] = "MovedPermanently"; - HttpCodes2[HttpCodes2["ResourceMoved"] = 302] = "ResourceMoved"; - HttpCodes2[HttpCodes2["SeeOther"] = 303] = "SeeOther"; - HttpCodes2[HttpCodes2["NotModified"] = 304] = "NotModified"; - HttpCodes2[HttpCodes2["UseProxy"] = 305] = "UseProxy"; - HttpCodes2[HttpCodes2["SwitchProxy"] = 306] = "SwitchProxy"; - HttpCodes2[HttpCodes2["TemporaryRedirect"] = 307] = "TemporaryRedirect"; - HttpCodes2[HttpCodes2["PermanentRedirect"] = 308] = "PermanentRedirect"; - HttpCodes2[HttpCodes2["BadRequest"] = 400] = "BadRequest"; - HttpCodes2[HttpCodes2["Unauthorized"] = 401] = "Unauthorized"; - HttpCodes2[HttpCodes2["PaymentRequired"] = 402] = "PaymentRequired"; - HttpCodes2[HttpCodes2["Forbidden"] = 403] = "Forbidden"; - HttpCodes2[HttpCodes2["NotFound"] = 404] = "NotFound"; - HttpCodes2[HttpCodes2["MethodNotAllowed"] = 405] = "MethodNotAllowed"; - HttpCodes2[HttpCodes2["NotAcceptable"] = 406] = "NotAcceptable"; - HttpCodes2[HttpCodes2["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; - HttpCodes2[HttpCodes2["RequestTimeout"] = 408] = "RequestTimeout"; - HttpCodes2[HttpCodes2["Conflict"] = 409] = "Conflict"; - HttpCodes2[HttpCodes2["Gone"] = 410] = "Gone"; - HttpCodes2[HttpCodes2["TooManyRequests"] = 429] = "TooManyRequests"; - HttpCodes2[HttpCodes2["InternalServerError"] = 500] = "InternalServerError"; - HttpCodes2[HttpCodes2["NotImplemented"] = 501] = "NotImplemented"; - HttpCodes2[HttpCodes2["BadGateway"] = 502] = "BadGateway"; - HttpCodes2[HttpCodes2["ServiceUnavailable"] = 503] = "ServiceUnavailable"; - HttpCodes2[HttpCodes2["GatewayTimeout"] = 504] = "GatewayTimeout"; - })(HttpCodes || (exports2.HttpCodes = HttpCodes = {})); - var Headers; - (function(Headers2) { - Headers2["Accept"] = "accept"; - Headers2["ContentType"] = "content-type"; - })(Headers || (exports2.Headers = Headers = {})); - var MediaTypes; - (function(MediaTypes2) { - MediaTypes2["ApplicationJson"] = "application/json"; - })(MediaTypes || (exports2.MediaTypes = MediaTypes = {})); - function getProxyUrl(serverUrl) { - const proxyUrl = pm3.getProxyUrl(new URL(serverUrl)); - return proxyUrl ? proxyUrl.href : ""; - } - exports2.getProxyUrl = getProxyUrl; - var HttpRedirectCodes = [ - HttpCodes.MovedPermanently, - HttpCodes.ResourceMoved, - HttpCodes.SeeOther, - HttpCodes.TemporaryRedirect, - HttpCodes.PermanentRedirect - ]; - var HttpResponseRetryCodes = [ - HttpCodes.BadGateway, - HttpCodes.ServiceUnavailable, - HttpCodes.GatewayTimeout - ]; - var RetryableHttpVerbs = ["OPTIONS", "GET", "DELETE", "HEAD"]; - var ExponentialBackoffCeiling = 10; - var ExponentialBackoffTimeSlice = 5; - var HttpClientError = class _HttpClientError extends Error { - constructor(message, statusCode) { - super(message); - this.name = "HttpClientError"; - this.statusCode = statusCode; - Object.setPrototypeOf(this, _HttpClientError.prototype); - } - }; - exports2.HttpClientError = HttpClientError; - var HttpClientResponse = class { - constructor(message) { - this.message = message; - } - readBody() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve4) => __awaiter(this, void 0, void 0, function* () { - let output = Buffer.alloc(0); - this.message.on("data", (chunk) => { - output = Buffer.concat([output, chunk]); - }); - this.message.on("end", () => { - resolve4(output.toString()); - }); - })); - }); - } - readBodyBuffer() { - return __awaiter(this, void 0, void 0, function* () { - return new Promise((resolve4) => __awaiter(this, void 0, void 0, function* () { - const chunks = []; - this.message.on("data", (chunk) => { - chunks.push(chunk); - }); - this.message.on("end", () => { - resolve4(Buffer.concat(chunks)); - }); - })); - }); - } - }; - exports2.HttpClientResponse = HttpClientResponse; - function isHttps(requestUrl) { - const parsedUrl = new URL(requestUrl); - return parsedUrl.protocol === "https:"; - } - exports2.isHttps = isHttps; - var HttpClient = class { - constructor(userAgent, handlers, requestOptions) { - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; - if (requestOptions) { - if (requestOptions.ignoreSslError != null) { - this._ignoreSslError = requestOptions.ignoreSslError; - } - this._socketTimeout = requestOptions.socketTimeout; - if (requestOptions.allowRedirects != null) { - this._allowRedirects = requestOptions.allowRedirects; - } - if (requestOptions.allowRedirectDowngrade != null) { - this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; - } - if (requestOptions.maxRedirects != null) { - this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); - } - if (requestOptions.keepAlive != null) { - this._keepAlive = requestOptions.keepAlive; - } - if (requestOptions.allowRetries != null) { - this._allowRetries = requestOptions.allowRetries; - } - if (requestOptions.maxRetries != null) { - this._maxRetries = requestOptions.maxRetries; - } - } - } - options(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("OPTIONS", requestUrl, null, additionalHeaders || {}); - }); - } - get(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("GET", requestUrl, null, additionalHeaders || {}); - }); - } - del(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("DELETE", requestUrl, null, additionalHeaders || {}); - }); - } - post(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("POST", requestUrl, data, additionalHeaders || {}); - }); - } - patch(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("PATCH", requestUrl, data, additionalHeaders || {}); - }); - } - put(requestUrl, data, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("PUT", requestUrl, data, additionalHeaders || {}); - }); - } - head(requestUrl, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request("HEAD", requestUrl, null, additionalHeaders || {}); - }); - } - sendStream(verb, requestUrl, stream, additionalHeaders) { - return __awaiter(this, void 0, void 0, function* () { - return this.request(verb, requestUrl, stream, additionalHeaders); - }); + sendStream(verb, requestUrl, stream, additionalHeaders) { + return __awaiter(this, void 0, void 0, function* () { + return this.request(verb, requestUrl, stream, additionalHeaders); + }); } /** * Gets a typed object from an endpoint @@ -17727,15 +952,6 @@ var require_lib = __commonJS({ const parsedUrl = new URL(serverUrl); return this._getAgent(parsedUrl); } - getAgentDispatcher(serverUrl) { - const parsedUrl = new URL(serverUrl); - const proxyUrl = pm3.getProxyUrl(parsedUrl); - const useProxy = proxyUrl && proxyUrl.hostname; - if (!useProxy) { - return; - } - return this._getProxyAgentDispatcher(parsedUrl, proxyUrl); - } _prepareRequest(method, requestUrl, headers) { const info = {}; info.parsedUrl = requestUrl; @@ -17774,12 +990,12 @@ var require_lib = __commonJS({ } _getAgent(parsedUrl) { let agent; - const proxyUrl = pm3.getProxyUrl(parsedUrl); + const proxyUrl = pm4.getProxyUrl(parsedUrl); const useProxy = proxyUrl && proxyUrl.hostname; if (this._keepAlive && useProxy) { agent = this._proxyAgent; } - if (!useProxy) { + if (this._keepAlive && !useProxy) { agent = this._agent; } if (agent) { @@ -17808,11 +1024,14 @@ var require_lib = __commonJS({ agent = tunnelAgent(agentOptions); this._proxyAgent = agent; } - if (!agent) { + if (this._keepAlive && !agent) { const options = { keepAlive: this._keepAlive, maxSockets }; agent = usingSsl ? new https.Agent(options) : new http.Agent(options); this._agent = agent; } + if (!agent) { + agent = usingSsl ? https.globalAgent : http.globalAgent; + } if (usingSsl && this._ignoreSslError) { agent.options = Object.assign(agent.options || {}, { rejectUnauthorized: false @@ -17820,26 +1039,6 @@ var require_lib = __commonJS({ } return agent; } - _getProxyAgentDispatcher(parsedUrl, proxyUrl) { - let proxyAgent; - if (this._keepAlive) { - proxyAgent = this._proxyAgentDispatcher; - } - if (proxyAgent) { - return proxyAgent; - } - const usingSsl = parsedUrl.protocol === "https:"; - proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, (proxyUrl.username || proxyUrl.password) && { - token: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString("base64")}` - })); - this._proxyAgentDispatcher = proxyAgent; - if (usingSsl && this._ignoreSslError) { - proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, { - rejectUnauthorized: false - }); - } - return proxyAgent; - } _performExponentialBackoff(retryNumber) { return __awaiter(this, void 0, void 0, function* () { retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); @@ -17861,9 +1060,9 @@ var require_lib = __commonJS({ } function dateTimeDeserializer(key, value) { if (typeof value === "string") { - const a6 = new Date(value); - if (!isNaN(a6.valueOf())) { - return a6; + const a4 = new Date(value); + if (!isNaN(a4.valueOf())) { + return a4; } } return value; @@ -17903,7 +1102,7 @@ var require_lib = __commonJS({ } }; exports2.HttpClient = HttpClient; - var lowercaseKeys = (obj) => Object.keys(obj).reduce((c6, k8) => (c6[k8.toLowerCase()] = obj[k8], c6), {}); + var lowercaseKeys = (obj) => Object.keys(obj).reduce((c5, k6) => (c5[k6.toLowerCase()] = obj[k6], c5), {}); } }); @@ -17911,25 +1110,25 @@ var require_lib = __commonJS({ var require_auth = __commonJS({ "node_modules/@actions/http-client/lib/auth.js"(exports2) { "use strict"; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P5, generator) { + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P6, generator) { function adopt(value) { - return value instanceof P5 ? value : new P5(function(resolve4) { + return value instanceof P6 ? value : new P6(function(resolve4) { resolve4(value); }); } - return new (P5 || (P5 = Promise))(function(resolve4, reject) { + return new (P6 || (P6 = Promise))(function(resolve4, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function step(result) { @@ -18015,25 +1214,25 @@ var require_auth = __commonJS({ var require_oidc_utils = __commonJS({ "node_modules/@actions/core/lib/oidc-utils.js"(exports2) { "use strict"; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P5, generator) { + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P6, generator) { function adopt(value) { - return value instanceof P5 ? value : new P5(function(resolve4) { + return value instanceof P6 ? value : new P6(function(resolve4) { resolve4(value); }); } - return new (P5 || (P5 = Promise))(function(resolve4, reject) { + return new (P6 || (P6 = Promise))(function(resolve4, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function step(result) { @@ -18070,7 +1269,7 @@ var require_oidc_utils = __commonJS({ return runtimeUrl; } static getCall(id_token_url) { - var _a3; + var _a2; return __awaiter(this, void 0, void 0, function* () { const httpclient = _OidcClient.createHttpClient(); const res = yield httpclient.getJson(id_token_url).catch((error) => { @@ -18080,7 +1279,7 @@ var require_oidc_utils = __commonJS({ Error Message: ${error.message}`); }); - const id_token = (_a3 = res.result) === null || _a3 === void 0 ? void 0 : _a3.value; + const id_token = (_a2 = res.result) === null || _a2 === void 0 ? void 0 : _a2.value; if (!id_token) { throw new Error("Response json body do not have ID Token field"); } @@ -18113,25 +1312,25 @@ var require_oidc_utils = __commonJS({ var require_summary = __commonJS({ "node_modules/@actions/core/lib/summary.js"(exports2) { "use strict"; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P5, generator) { + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P6, generator) { function adopt(value) { - return value instanceof P5 ? value : new P5(function(resolve4) { + return value instanceof P6 ? value : new P6(function(resolve4) { resolve4(value); }); } - return new (P5 || (P5 = Promise))(function(resolve4, reject) { + return new (P6 || (P6 = Promise))(function(resolve4, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function step(result) { @@ -18168,7 +1367,7 @@ var require_summary = __commonJS({ } try { yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK); - } catch (_a3) { + } catch (_a2) { throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`); } this._filePath = pathFromEnv; @@ -18407,29 +1606,29 @@ var require_summary = __commonJS({ var require_path_utils = __commonJS({ "node_modules/@actions/core/lib/path-utils.js"(exports2) { "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - var desc = Object.getOwnPropertyDescriptor(m5, k8); - if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + var desc = Object.getOwnPropertyDescriptor(m7, k6); + if (!desc || ("get" in desc ? !m7.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m5[k8]; + return m7[k6]; } }; } - Object.defineProperty(o6, k22, desc); - }) : (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - o6[k22] = m5[k8]; + Object.defineProperty(o5, k22, desc); + }) : (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + o5[k22] = m7[k6]; })); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o6, v8) { - Object.defineProperty(o6, "default", { enumerable: true, value: v8 }); - }) : function(o6, v8) { - o6["default"] = v8; + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o5, v6) { + Object.defineProperty(o5, "default", { enumerable: true, value: v6 }); + }) : function(o5, v6) { + o5["default"] = v6; }); var __importStar = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k8 in mod) if (k8 !== "default" && Object.prototype.hasOwnProperty.call(mod, k8)) __createBinding(result, mod, k8); + for (var k6 in mod) if (k6 !== "default" && Object.prototype.hasOwnProperty.call(mod, k6)) __createBinding(result, mod, k6); } __setModuleDefault(result, mod); return result; @@ -18456,48 +1655,48 @@ var require_path_utils = __commonJS({ var require_io_util = __commonJS({ "node_modules/@actions/io/lib/io-util.js"(exports2) { "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - Object.defineProperty(o6, k22, { enumerable: true, get: function() { - return m5[k8]; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + Object.defineProperty(o5, k22, { enumerable: true, get: function() { + return m7[k6]; } }); - }) : (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - o6[k22] = m5[k8]; + }) : (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + o5[k22] = m7[k6]; })); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o6, v8) { - Object.defineProperty(o6, "default", { enumerable: true, value: v8 }); - }) : function(o6, v8) { - o6["default"] = v8; + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o5, v6) { + Object.defineProperty(o5, "default", { enumerable: true, value: v6 }); + }) : function(o5, v6) { + o5["default"] = v6; }); var __importStar = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k8 in mod) if (k8 !== "default" && Object.hasOwnProperty.call(mod, k8)) __createBinding(result, mod, k8); + for (var k6 in mod) if (k6 !== "default" && Object.hasOwnProperty.call(mod, k6)) __createBinding(result, mod, k6); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P5, generator) { + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P6, generator) { function adopt(value) { - return value instanceof P5 ? value : new P5(function(resolve4) { + return value instanceof P6 ? value : new P6(function(resolve4) { resolve4(value); }); } - return new (P5 || (P5 = Promise))(function(resolve4, reject) { + return new (P6 || (P6 = Promise))(function(resolve4, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function step(result) { @@ -18506,12 +1705,12 @@ var require_io_util = __commonJS({ step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; - var _a3; + var _a2; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getCmdPath = exports2.tryGetExecutablePath = exports2.isRooted = exports2.isDirectory = exports2.exists = exports2.READONLY = exports2.UV_FS_O_EXLOCK = exports2.IS_WINDOWS = exports2.unlink = exports2.symlink = exports2.stat = exports2.rmdir = exports2.rm = exports2.rename = exports2.readlink = exports2.readdir = exports2.open = exports2.mkdir = exports2.lstat = exports2.copyFile = exports2.chmod = void 0; var fs3 = __importStar(require("fs")); var path = __importStar(require("path")); - _a3 = fs3.promises, exports2.chmod = _a3.chmod, exports2.copyFile = _a3.copyFile, exports2.lstat = _a3.lstat, exports2.mkdir = _a3.mkdir, exports2.open = _a3.open, exports2.readdir = _a3.readdir, exports2.readlink = _a3.readlink, exports2.rename = _a3.rename, exports2.rm = _a3.rm, exports2.rmdir = _a3.rmdir, exports2.stat = _a3.stat, exports2.symlink = _a3.symlink, exports2.unlink = _a3.unlink; + _a2 = fs3.promises, exports2.chmod = _a2.chmod, exports2.copyFile = _a2.copyFile, exports2.lstat = _a2.lstat, exports2.mkdir = _a2.mkdir, exports2.open = _a2.open, exports2.readdir = _a2.readdir, exports2.readlink = _a2.readlink, exports2.rename = _a2.rename, exports2.rm = _a2.rm, exports2.rmdir = _a2.rmdir, exports2.stat = _a2.stat, exports2.symlink = _a2.symlink, exports2.unlink = _a2.unlink; exports2.IS_WINDOWS = process.platform === "win32"; exports2.UV_FS_O_EXLOCK = 268435456; exports2.READONLY = fs3.constants.O_RDONLY; @@ -18536,15 +1735,15 @@ var require_io_util = __commonJS({ }); } exports2.isDirectory = isDirectory; - function isRooted(p5) { - p5 = normalizeSeparators(p5); - if (!p5) { + function isRooted(p6) { + p6 = normalizeSeparators(p6); + if (!p6) { throw new Error('isRooted() parameter "p" cannot be empty'); } if (exports2.IS_WINDOWS) { - return p5.startsWith("\\") || /^[A-Z]:/i.test(p5); + return p6.startsWith("\\") || /^[A-Z]:/i.test(p6); } - return p5.startsWith("/"); + return p6.startsWith("/"); } exports2.isRooted = isRooted; function tryGetExecutablePath(filePath, extensions) { @@ -18606,20 +1805,20 @@ var require_io_util = __commonJS({ }); } exports2.tryGetExecutablePath = tryGetExecutablePath; - function normalizeSeparators(p5) { - p5 = p5 || ""; + function normalizeSeparators(p6) { + p6 = p6 || ""; if (exports2.IS_WINDOWS) { - p5 = p5.replace(/\//g, "\\"); - return p5.replace(/\\\\+/g, "\\"); + p6 = p6.replace(/\//g, "\\"); + return p6.replace(/\\\\+/g, "\\"); } - return p5.replace(/\/\/+/g, "/"); + return p6.replace(/\/\/+/g, "/"); } function isUnixExecutable(stats) { return (stats.mode & 1) > 0 || (stats.mode & 8) > 0 && stats.gid === process.getgid() || (stats.mode & 64) > 0 && stats.uid === process.getuid(); } function getCmdPath() { - var _a4; - return (_a4 = process.env["COMSPEC"]) !== null && _a4 !== void 0 ? _a4 : `cmd.exe`; + var _a3; + return (_a3 = process.env["COMSPEC"]) !== null && _a3 !== void 0 ? _a3 : `cmd.exe`; } exports2.getCmdPath = getCmdPath; } @@ -18629,48 +1828,48 @@ var require_io_util = __commonJS({ var require_io = __commonJS({ "node_modules/@actions/io/lib/io.js"(exports2) { "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - Object.defineProperty(o6, k22, { enumerable: true, get: function() { - return m5[k8]; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + Object.defineProperty(o5, k22, { enumerable: true, get: function() { + return m7[k6]; } }); - }) : (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - o6[k22] = m5[k8]; + }) : (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + o5[k22] = m7[k6]; })); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o6, v8) { - Object.defineProperty(o6, "default", { enumerable: true, value: v8 }); - }) : function(o6, v8) { - o6["default"] = v8; + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o5, v6) { + Object.defineProperty(o5, "default", { enumerable: true, value: v6 }); + }) : function(o5, v6) { + o5["default"] = v6; }); var __importStar = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k8 in mod) if (k8 !== "default" && Object.hasOwnProperty.call(mod, k8)) __createBinding(result, mod, k8); + for (var k6 in mod) if (k6 !== "default" && Object.hasOwnProperty.call(mod, k6)) __createBinding(result, mod, k6); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P5, generator) { + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P6, generator) { function adopt(value) { - return value instanceof P5 ? value : new P5(function(resolve4) { + return value instanceof P6 ? value : new P6(function(resolve4) { resolve4(value); }); } - return new (P5 || (P5 = Promise))(function(resolve4, reject) { + return new (P6 || (P6 = Promise))(function(resolve4, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function step(result) { @@ -18808,9 +2007,9 @@ var require_io = __commonJS({ } const directories = []; if (process.env.PATH) { - for (const p5 of process.env.PATH.split(path.delimiter)) { - if (p5) { - directories.push(p5); + for (const p6 of process.env.PATH.split(path.delimiter)) { + if (p6) { + directories.push(p6); } } } @@ -18857,8 +2056,8 @@ var require_io = __commonJS({ try { yield ioUtil.lstat(destFile); yield ioUtil.unlink(destFile); - } catch (e6) { - if (e6.code === "EPERM") { + } catch (e7) { + if (e7.code === "EPERM") { yield ioUtil.chmod(destFile, "0666"); yield ioUtil.unlink(destFile); } @@ -18877,48 +2076,48 @@ var require_io = __commonJS({ var require_toolrunner = __commonJS({ "node_modules/@actions/exec/lib/toolrunner.js"(exports2) { "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - Object.defineProperty(o6, k22, { enumerable: true, get: function() { - return m5[k8]; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + Object.defineProperty(o5, k22, { enumerable: true, get: function() { + return m7[k6]; } }); - }) : (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - o6[k22] = m5[k8]; + }) : (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + o5[k22] = m7[k6]; })); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o6, v8) { - Object.defineProperty(o6, "default", { enumerable: true, value: v8 }); - }) : function(o6, v8) { - o6["default"] = v8; + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o5, v6) { + Object.defineProperty(o5, "default", { enumerable: true, value: v6 }); + }) : function(o5, v6) { + o5["default"] = v6; }); var __importStar = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k8 in mod) if (k8 !== "default" && Object.hasOwnProperty.call(mod, k8)) __createBinding(result, mod, k8); + for (var k6 in mod) if (k6 !== "default" && Object.hasOwnProperty.call(mod, k6)) __createBinding(result, mod, k6); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P5, generator) { + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P6, generator) { function adopt(value) { - return value instanceof P5 ? value : new P5(function(resolve4) { + return value instanceof P6 ? value : new P6(function(resolve4) { resolve4(value); }); } - return new (P5 || (P5 = Promise))(function(resolve4, reject) { + return new (P6 || (P6 = Promise))(function(resolve4, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function step(result) { @@ -18959,39 +2158,39 @@ var require_toolrunner = __commonJS({ if (IS_WINDOWS) { if (this._isCmdFile()) { cmd += toolPath; - for (const a6 of args) { - cmd += ` ${a6}`; + for (const a4 of args) { + cmd += ` ${a4}`; } } else if (options.windowsVerbatimArguments) { cmd += `"${toolPath}"`; - for (const a6 of args) { - cmd += ` ${a6}`; + for (const a4 of args) { + cmd += ` ${a4}`; } } else { cmd += this._windowsQuoteCmdArg(toolPath); - for (const a6 of args) { - cmd += ` ${this._windowsQuoteCmdArg(a6)}`; + for (const a4 of args) { + cmd += ` ${this._windowsQuoteCmdArg(a4)}`; } } } else { cmd += toolPath; - for (const a6 of args) { - cmd += ` ${a6}`; + for (const a4 of args) { + cmd += ` ${a4}`; } } return cmd; } _processLineBuffer(data, strBuffer, onLine) { try { - let s9 = strBuffer + data.toString(); - let n6 = s9.indexOf(os3.EOL); - while (n6 > -1) { - const line = s9.substring(0, n6); + let s8 = strBuffer + data.toString(); + let n7 = s8.indexOf(os3.EOL); + while (n7 > -1) { + const line = s8.substring(0, n7); onLine(line); - s9 = s9.substring(n6 + os3.EOL.length); - n6 = s9.indexOf(os3.EOL); + s8 = s8.substring(n7 + os3.EOL.length); + n7 = s8.indexOf(os3.EOL); } - return s9; + return s8; } catch (err) { this._debug(`error processing line. Failed with error ${err}`); return ""; @@ -19009,9 +2208,9 @@ var require_toolrunner = __commonJS({ if (IS_WINDOWS) { if (this._isCmdFile()) { let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`; - for (const a6 of this.args) { + for (const a4 of this.args) { argline += " "; - argline += options.windowsVerbatimArguments ? a6 : this._windowsQuoteCmdArg(a6); + argline += options.windowsVerbatimArguments ? a4 : this._windowsQuoteCmdArg(a4); } argline += '"'; return [argline]; @@ -19059,7 +2258,7 @@ var require_toolrunner = __commonJS({ ]; let needsQuotes = false; for (const char of arg) { - if (cmdSpecialChars.some((x10) => x10 === char)) { + if (cmdSpecialChars.some((x9) => x9 === char)) { needsQuotes = true; break; } @@ -19069,11 +2268,11 @@ var require_toolrunner = __commonJS({ } let reverse = '"'; let quoteHit = true; - for (let i7 = arg.length; i7 > 0; i7--) { - reverse += arg[i7 - 1]; - if (quoteHit && arg[i7 - 1] === "\\") { + for (let i11 = arg.length; i11 > 0; i11--) { + reverse += arg[i11 - 1]; + if (quoteHit && arg[i11 - 1] === "\\") { reverse += "\\"; - } else if (arg[i7 - 1] === '"') { + } else if (arg[i11 - 1] === '"') { quoteHit = true; reverse += '"'; } else { @@ -19095,11 +2294,11 @@ var require_toolrunner = __commonJS({ } let reverse = '"'; let quoteHit = true; - for (let i7 = arg.length; i7 > 0; i7--) { - reverse += arg[i7 - 1]; - if (quoteHit && arg[i7 - 1] === "\\") { + for (let i11 = arg.length; i11 > 0; i11--) { + reverse += arg[i11 - 1]; + if (quoteHit && arg[i11 - 1] === "\\") { reverse += "\\"; - } else if (arg[i7 - 1] === '"') { + } else if (arg[i11 - 1] === '"') { quoteHit = true; reverse += "\\"; } else { @@ -19193,8 +2392,8 @@ var require_toolrunner = __commonJS({ this.options.listeners.stderr(data); } if (!optionsNonNull.silent && optionsNonNull.errStream && optionsNonNull.outStream) { - const s9 = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; - s9.write(data); + const s8 = optionsNonNull.failOnStdErr ? optionsNonNull.errStream : optionsNonNull.outStream; + s8.write(data); } errbuffer = this._processLineBuffer(data, errbuffer, (line) => { if (this.options.listeners && this.options.listeners.errline) { @@ -19252,39 +2451,39 @@ var require_toolrunner = __commonJS({ let inQuotes = false; let escaped = false; let arg = ""; - function append(c6) { - if (escaped && c6 !== '"') { + function append(c5) { + if (escaped && c5 !== '"') { arg += "\\"; } - arg += c6; + arg += c5; escaped = false; } - for (let i7 = 0; i7 < argString.length; i7++) { - const c6 = argString.charAt(i7); - if (c6 === '"') { + for (let i11 = 0; i11 < argString.length; i11++) { + const c5 = argString.charAt(i11); + if (c5 === '"') { if (!escaped) { inQuotes = !inQuotes; } else { - append(c6); + append(c5); } continue; } - if (c6 === "\\" && escaped) { - append(c6); + if (c5 === "\\" && escaped) { + append(c5); continue; } - if (c6 === "\\" && inQuotes) { + if (c5 === "\\" && inQuotes) { escaped = true; continue; } - if (c6 === " " && !inQuotes) { + if (c5 === " " && !inQuotes) { if (arg.length > 0) { args.push(arg); arg = ""; } continue; } - append(c6); + append(c5); } if (arg.length > 0) { args.push(arg.trim()); @@ -19361,48 +2560,48 @@ var require_toolrunner = __commonJS({ var require_exec = __commonJS({ "node_modules/@actions/exec/lib/exec.js"(exports2) { "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - Object.defineProperty(o6, k22, { enumerable: true, get: function() { - return m5[k8]; + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + Object.defineProperty(o5, k22, { enumerable: true, get: function() { + return m7[k6]; } }); - }) : (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - o6[k22] = m5[k8]; + }) : (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + o5[k22] = m7[k6]; })); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o6, v8) { - Object.defineProperty(o6, "default", { enumerable: true, value: v8 }); - }) : function(o6, v8) { - o6["default"] = v8; + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o5, v6) { + Object.defineProperty(o5, "default", { enumerable: true, value: v6 }); + }) : function(o5, v6) { + o5["default"] = v6; }); var __importStar = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k8 in mod) if (k8 !== "default" && Object.hasOwnProperty.call(mod, k8)) __createBinding(result, mod, k8); + for (var k6 in mod) if (k6 !== "default" && Object.hasOwnProperty.call(mod, k6)) __createBinding(result, mod, k6); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P5, generator) { + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P6, generator) { function adopt(value) { - return value instanceof P5 ? value : new P5(function(resolve4) { + return value instanceof P6 ? value : new P6(function(resolve4) { resolve4(value); }); } - return new (P5 || (P5 = Promise))(function(resolve4, reject) { + return new (P6 || (P6 = Promise))(function(resolve4, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function step(result) { @@ -19414,28 +2613,28 @@ var require_exec = __commonJS({ Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getExecOutput = exports2.exec = void 0; var string_decoder_1 = require("string_decoder"); - var tr5 = __importStar(require_toolrunner()); + var tr4 = __importStar(require_toolrunner()); function exec(commandLine, args, options) { return __awaiter(this, void 0, void 0, function* () { - const commandArgs = tr5.argStringToArray(commandLine); + const commandArgs = tr4.argStringToArray(commandLine); if (commandArgs.length === 0) { throw new Error(`Parameter 'commandLine' cannot be null or empty.`); } const toolPath = commandArgs[0]; args = commandArgs.slice(1).concat(args || []); - const runner = new tr5.ToolRunner(toolPath, args, options); + const runner = new tr4.ToolRunner(toolPath, args, options); return runner.exec(); }); } exports2.exec = exec; function getExecOutput(commandLine, args, options) { - var _a3, _b2; + var _a2, _b2; return __awaiter(this, void 0, void 0, function* () { let stdout = ""; let stderr = ""; const stdoutDecoder = new string_decoder_1.StringDecoder("utf8"); const stderrDecoder = new string_decoder_1.StringDecoder("utf8"); - const originalStdoutListener = (_a3 = options === null || options === void 0 ? void 0 : options.listeners) === null || _a3 === void 0 ? void 0 : _a3.stdout; + const originalStdoutListener = (_a2 = options === null || options === void 0 ? void 0 : options.listeners) === null || _a2 === void 0 ? void 0 : _a2.stdout; const originalStdErrListener = (_b2 = options === null || options === void 0 ? void 0 : options.listeners) === null || _b2 === void 0 ? void 0 : _b2.stderr; const stdErrListener = (data) => { stderr += stderrDecoder.write(data); @@ -19468,52 +2667,52 @@ var require_exec = __commonJS({ var require_platform = __commonJS({ "node_modules/@actions/core/lib/platform.js"(exports2) { "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - var desc = Object.getOwnPropertyDescriptor(m5, k8); - if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + var desc = Object.getOwnPropertyDescriptor(m7, k6); + if (!desc || ("get" in desc ? !m7.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m5[k8]; + return m7[k6]; } }; } - Object.defineProperty(o6, k22, desc); - }) : (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - o6[k22] = m5[k8]; + Object.defineProperty(o5, k22, desc); + }) : (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + o5[k22] = m7[k6]; })); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o6, v8) { - Object.defineProperty(o6, "default", { enumerable: true, value: v8 }); - }) : function(o6, v8) { - o6["default"] = v8; + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o5, v6) { + Object.defineProperty(o5, "default", { enumerable: true, value: v6 }); + }) : function(o5, v6) { + o5["default"] = v6; }); var __importStar = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k8 in mod) if (k8 !== "default" && Object.prototype.hasOwnProperty.call(mod, k8)) __createBinding(result, mod, k8); + for (var k6 in mod) if (k6 !== "default" && Object.prototype.hasOwnProperty.call(mod, k6)) __createBinding(result, mod, k6); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P5, generator) { + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P6, generator) { function adopt(value) { - return value instanceof P5 ? value : new P5(function(resolve4) { + return value instanceof P6 ? value : new P6(function(resolve4) { resolve4(value); }); } - return new (P5 || (P5 = Promise))(function(resolve4, reject) { + return new (P6 || (P6 = Promise))(function(resolve4, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function step(result) { @@ -19542,11 +2741,11 @@ var require_platform = __commonJS({ }; }); var getMacOsInfo = () => __awaiter(void 0, void 0, void 0, function* () { - var _a3, _b2, _c4, _d4; + var _a2, _b2, _c4, _d4; const { stdout } = yield exec.getExecOutput("sw_vers", void 0, { silent: true }); - const version = (_b2 = (_a3 = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a3 === void 0 ? void 0 : _a3[1]) !== null && _b2 !== void 0 ? _b2 : ""; + const version = (_b2 = (_a2 = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a2 === void 0 ? void 0 : _a2[1]) !== null && _b2 !== void 0 ? _b2 : ""; const name = (_d4 = (_c4 = stdout.match(/ProductName:\s*(.+)/)) === null || _c4 === void 0 ? void 0 : _c4[1]) !== null && _d4 !== void 0 ? _d4 : ""; return { name, @@ -19587,52 +2786,52 @@ var require_platform = __commonJS({ var require_core = __commonJS({ "node_modules/@actions/core/lib/core.js"(exports2) { "use strict"; - var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - var desc = Object.getOwnPropertyDescriptor(m5, k8); - if (!desc || ("get" in desc ? !m5.__esModule : desc.writable || desc.configurable)) { + var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + var desc = Object.getOwnPropertyDescriptor(m7, k6); + if (!desc || ("get" in desc ? !m7.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { - return m5[k8]; + return m7[k6]; } }; } - Object.defineProperty(o6, k22, desc); - }) : (function(o6, m5, k8, k22) { - if (k22 === void 0) k22 = k8; - o6[k22] = m5[k8]; + Object.defineProperty(o5, k22, desc); + }) : (function(o5, m7, k6, k22) { + if (k22 === void 0) k22 = k6; + o5[k22] = m7[k6]; })); - var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o6, v8) { - Object.defineProperty(o6, "default", { enumerable: true, value: v8 }); - }) : function(o6, v8) { - o6["default"] = v8; + var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o5, v6) { + Object.defineProperty(o5, "default", { enumerable: true, value: v6 }); + }) : function(o5, v6) { + o5["default"] = v6; }); var __importStar = exports2 && exports2.__importStar || function(mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) { - for (var k8 in mod) if (k8 !== "default" && Object.prototype.hasOwnProperty.call(mod, k8)) __createBinding(result, mod, k8); + for (var k6 in mod) if (k6 !== "default" && Object.prototype.hasOwnProperty.call(mod, k6)) __createBinding(result, mod, k6); } __setModuleDefault(result, mod); return result; }; - var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P5, generator) { + var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P6, generator) { function adopt(value) { - return value instanceof P5 ? value : new P5(function(resolve4) { + return value instanceof P6 ? value : new P6(function(resolve4) { resolve4(value); }); } - return new (P5 || (P5 = Promise))(function(resolve4, reject) { + return new (P6 || (P6 = Promise))(function(resolve4, reject) { function fulfilled(value) { try { step(generator.next(value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function rejected(value) { try { step(generator["throw"](value)); - } catch (e6) { - reject(e6); + } catch (e7) { + reject(e7); } } function step(result) { @@ -19690,7 +2889,7 @@ var require_core = __commonJS({ } exports2.getInput = getInput2; function getMultilineInput2(name, options) { - const inputs = getInput2(name, options).split("\n").filter((x10) => x10 !== ""); + const inputs = getInput2(name, options).split("\n").filter((x9) => x9 !== ""); if (options && options.trimWhitespace === false) { return inputs; } @@ -19759,12 +2958,12 @@ Support boolean input list: \`true | True | TRUE | false | False | FALSE\``); (0, command_1.issue)("endgroup"); } exports2.endGroup = endGroup; - function group(name, fn) { + function group(name, fn2) { return __awaiter(this, void 0, void 0, function* () { startGroup(name); let result; try { - result = yield fn(); + result = yield fn2(); } finally { endGroup(); } @@ -20065,7 +3264,7 @@ function signRequest(options) { headers["x-amz-security-token"] = options.credentials.sessionToken; } const sortedHeaderKeys = Object.keys(headers).sort( - (a6, b5) => a6.toLowerCase().localeCompare(b5.toLowerCase()) + (a4, b5) => a4.toLowerCase().localeCompare(b5.toLowerCase()) ); const canonicalHeaders = sortedHeaderKeys.map((key) => `${key.toLowerCase()}:${headers[key].trim()} `).join(""); @@ -20608,9 +3807,9 @@ async function generateSummaryMapReduce(diffText, fileNames, commits, flags, dif const chunks = splitUnifiedDiffIntoFileChunks(diffText); const batches = groupDiffChunksByBudget(chunks, maxDiffChars); const batchSummaries = []; - for (const [i7, batch] of batches.entries()) { + for (const [i11, batch] of batches.entries()) { const batchForLlm = truncateUnifiedDiffForLlm(batch, maxDiffChars); - const mapUserContent = `=== Diff batch ${i7 + 1} of ${batches.length} === + const mapUserContent = `=== Diff batch ${i11 + 1} of ${batches.length} === ${batchForLlm}`; batchSummaries.push( @@ -20645,11 +3844,11 @@ ${batchForLlm}`; return markdownMapReduceNotice(batches.length) + finalSummary; } function formatRegexFilterLines(flags) { - const includes = (flags.commitMessageIncludeRegexes ?? []).map((s9) => s9.trim()).filter(Boolean); - const excludes = (flags.commitMessageExcludeRegexes ?? []).map((s9) => s9.trim()).filter(Boolean); - const incLine = includes.length > 0 ? `Commit message include regexes (OR): ${includes.map((r6) => JSON.stringify(r6)).join(", ")} + const includes = (flags.commitMessageIncludeRegexes ?? []).map((s8) => s8.trim()).filter(Boolean); + const excludes = (flags.commitMessageExcludeRegexes ?? []).map((s8) => s8.trim()).filter(Boolean); + const incLine = includes.length > 0 ? `Commit message include regexes (OR): ${includes.map((r8) => JSON.stringify(r8)).join(", ")} ` : ""; - const excLine = excludes.length > 0 ? `Commit message exclude regexes: ${excludes.map((r6) => JSON.stringify(r6)).join(", ")} + const excLine = excludes.length > 0 ? `Commit message exclude regexes: ${excludes.map((r8) => JSON.stringify(r8)).join(", ")} ` : ""; if (!incLine && !excLine) { return "Commit message filters: none.\nGit context shape: single unified diff for the full ref range.\n"; @@ -20666,7 +3865,7 @@ function buildContextHeader(flags, commits, fileNames, diffSummary) { ` : ""; const filterBlock = formatRegexFilterLines(flags); const commitBlock = commits.length > 0 ? commits.map( - (c6) => `- ${c6.hash.slice(0, 7)} ${c6.message.replace(/\r?\n/g, " ")}` + (c5) => `- ${c5.hash.slice(0, 7)} ${c5.message.replace(/\r?\n/g, " ")}` ).join("\n") : "- (no commits in range after filtering)"; const pathsBlock = fileNames.length > 0 ? fileNames.join("\n") : "(no paths in diff scope)"; const structuredDiffSection = diffSummary ? `=== Structured git context (JSON summary) === @@ -20689,8 +3888,8 @@ function buildUserContent(flags, commits, fileNames, diffText, diffSummary) { return buildContextHeader(flags, commits, fileNames, diffSummary) + "=== Git context (unified diff(s); patches may be truncated with an explicit marker) ===\n" + diffText; } function buildReduceUserContent(flags, commits, fileNames, diffSummary, batchSummaries) { - const batchesBlock = batchSummaries.map((s9, i7) => `--- Batch ${i7 + 1} of ${batchSummaries.length} --- -${s9}`).join("\n\n"); + const batchesBlock = batchSummaries.map((s8, i11) => `--- Batch ${i11 + 1} of ${batchSummaries.length} --- +${s8}`).join("\n\n"); return buildContextHeader(flags, commits, fileNames, diffSummary) + "=== Per-batch summaries (synthesize into one cohesive report; do not just concatenate) ===\n" + batchesBlock; } async function callLlm(userContent, systemPrompt, maxOutputTokens, maxRetries, llmModelProvider, flags, usage) { @@ -20725,28 +3924,28 @@ function commitMessagePassesFilters(message, includeRes, excludeRes) { for (const ex of excludeRes) { if (ex.test(message)) return false; } - if (includeRes.length > 0 && !includeRes.some((r6) => r6.test(message))) + if (includeRes.length > 0 && !includeRes.some((r8) => r8.test(message))) return false; return true; } function filterCommitsByMessageRegexes(commits, includePatterns, excludePatterns) { - const includes = (includePatterns ?? []).map((p5) => p5.trim()).filter((p5) => p5.length > 0); - const excludes = (excludePatterns ?? []).map((p5) => p5.trim()).filter((p5) => p5.length > 0); + const includes = (includePatterns ?? []).map((p6) => p6.trim()).filter((p6) => p6.length > 0); + const excludes = (excludePatterns ?? []).map((p6) => p6.trim()).filter((p6) => p6.length > 0); const includeRes = includes.map( - (p5, i7) => compileRegex(p5, `commit message include pattern[${i7}]`) + (p6, i11) => compileRegex(p6, `commit message include pattern[${i11}]`) ); const excludeRes = excludes.map( - (p5, i7) => compileRegex(p5, `commit message exclude pattern[${i7}]`) + (p6, i11) => compileRegex(p6, `commit message exclude pattern[${i11}]`) ); return commits.filter( - (c6) => commitMessagePassesFilters(c6.message, includeRes, excludeRes) + (c5) => commitMessagePassesFilters(c5.message, includeRes, excludeRes) ); } // src/git/diffPathFilter.ts var import_node_path2 = require("node:path"); -function normalizeRepoRelativePath(p5) { - const trimmed = p5.trim().replace(/\\/g, "/"); +function normalizeRepoRelativePath(p6) { + const trimmed = p6.trim().replace(/\\/g, "/"); const noLeading = trimmed.replace(/^\/+/, ""); const noTrailingSlash = noLeading.replace(/\/+$/, ""); return noTrailingSlash.length > 0 ? noTrailingSlash : "."; @@ -20764,10 +3963,10 @@ function isUnderOrEqual(path, folder) { return path === folder || path.startsWith(`${folder}/`); } function buildPathFilterPredicate(repoRoot, pathFilter) { - const includeRaw = pathFilter?.includeFolders?.filter((p5) => p5.trim().length > 0) ?? []; - const excludeRaw = pathFilter?.excludeFolders?.filter((p5) => p5.trim().length > 0) ?? []; - const includes = includeRaw.map(normalizeRepoRelativePath).filter((p5) => p5 !== "." && p5 !== ""); - const excludes = excludeRaw.map(normalizeRepoRelativePath).filter((p5) => p5 !== "." && p5 !== ""); + const includeRaw = pathFilter?.includeFolders?.filter((p6) => p6.trim().length > 0) ?? []; + const excludeRaw = pathFilter?.excludeFolders?.filter((p6) => p6.trim().length > 0) ?? []; + const includes = includeRaw.map(normalizeRepoRelativePath).filter((p6) => p6 !== "." && p6 !== ""); + const excludes = excludeRaw.map(normalizeRepoRelativePath).filter((p6) => p6 !== "." && p6 !== ""); const toValidate = includes.length > 0 ? includes : ["."]; for (const inc of toValidate) { assertPathUnderRepo(repoRoot, inc); @@ -20782,7 +3981,7 @@ function buildPathFilterPredicate(repoRoot, pathFilter) { }; } function matchesAnyPath(predicate, paths) { - return paths.some((p5) => p5 !== void 0 && predicate(p5)); + return paths.some((p6) => p6 !== void 0 && predicate(p6)); } // src/git/diffRedaction.ts @@ -20848,65 +4047,72 @@ function redactSecrets(text, patterns = DEFAULT_SECRET_PATTERNS) { // node_modules/@scolladon/tsgit/dist/esm/index.node.js var import_promises3 = require("node:fs/promises"); -var r5 = __toESM(require("node:path"), 1); +var r7 = __toESM(require("node:path"), 1); -// node_modules/@scolladon/tsgit/dist/esm/chunks/adapter-node-DxFJdJAh.js +// node_modules/@scolladon/tsgit/dist/esm/chunks/adapter-node-BQbKSbA5.js var t3 = __toESM(require("node:os"), 1); -var s2 = __toESM(require("node:path"), 1); +var import_node_os2 = require("node:os"); +var i3 = __toESM(require("node:path"), 1); -// node_modules/@scolladon/tsgit/dist/esm/chunks/domain-BHuL_Xn3.js -var e = Object.freeze({ algorithm: "sha1", digestLength: 20, hexLength: 40 }); -var t = Object.freeze({ algorithm: "sha256", digestLength: 32, hexLength: 64 }); -var n = (n6) => "sha256" === n6 ? t : e; -function r(e6, t5 = Number.POSITIVE_INFINITY) { - const n6 = /* @__PURE__ */ new Map(); - let r6 = null, o6 = null, s9 = 0; - function i7(e7) { - null !== e7.prev ? e7.prev.next = e7.next : r6 = e7.next, null !== e7.next ? e7.next.prev = e7.prev : o6 = e7.prev, e7.prev = null, e7.next = null; - } - function a6(e7) { - e7.next = r6, e7.prev = null, null !== r6 && (r6.prev = e7), r6 = e7, null === o6 && (o6 = e7); +// node_modules/@scolladon/tsgit/dist/esm/chunks/domain-DcnKYRHR.js +var e = (e7, t5, n7) => Math.min(Math.max(t5, e7), n7); +var t = (t5) => void 0 === t5.cores || void 0 === t5.threadpoolWidth ? 1 : e(1, Math.min(t5.cores, t5.threadpoolWidth), 32); +var n = (t5) => void 0 === t5.threadpoolWidth ? 4 : e(4, 8 * t5.threadpoolWidth, 32); +function r(e7) { + return { cpuBound: t(e7), ioBound: n(e7) }; +} +var o = Object.freeze({ algorithm: "sha1", digestLength: 20, hexLength: 40 }); +var s = Object.freeze({ algorithm: "sha256", digestLength: 32, hexLength: 64 }); +var i = (e7) => "sha256" === e7 ? s : o; +function a(e7, t5 = Number.POSITIVE_INFINITY) { + const n7 = /* @__PURE__ */ new Map(); + let r8 = null, o5 = null, s8 = 0; + function i11(e8) { + null !== e8.prev ? e8.prev.next = e8.next : r8 = e8.next, null !== e8.next ? e8.next.prev = e8.prev : o5 = e8.prev, e8.prev = null, e8.next = null; + } + function a4(e8) { + e8.next = r8, e8.prev = null, null !== r8 && (r8.prev = e8), r8 = e8, null === o5 && (o5 = e8); } return { get maxSize() { - return e6; + return e7; }, get currentSize() { - return s9; + return s8; }, get entryCount() { - return n6.size; - }, get(e7) { - const t6 = n6.get(e7); - if (void 0 !== t6) return i7(t6), a6(t6), t6.value; - }, set(r7, c6, d5) { - if (d5 <= 0) throw new Error("byteSize must be positive"); - if (d5 > e6) return; - const u6 = n6.get(r7); - if (void 0 !== u6) s9 -= u6.byteSize, u6.value = c6, u6.byteSize = d5, s9 += d5, i7(u6), a6(u6); + return n7.size; + }, get(e8) { + const t6 = n7.get(e8); + if (void 0 !== t6) return t6 !== r8 && (i11(t6), a4(t6)), t6.value; + }, set(c5, d6, u6) { + if (u6 <= 0) throw new Error("byteSize must be positive"); + if (u6 > e7) return; + const l4 = n7.get(c5); + if (void 0 !== l4) s8 -= l4.byteSize, l4.value = d6, l4.byteSize = u6, s8 += u6, l4 !== r8 && (i11(l4), a4(l4)); else { - const e7 = { key: r7, value: c6, byteSize: d5, prev: null, next: null }; - n6.set(r7, e7), a6(e7), s9 += d5; + const e8 = { key: c5, value: d6, byteSize: u6, prev: null, next: null }; + n7.set(c5, e8), a4(e8), s8 += u6; } !(function() { - for (; (s9 > e6 || n6.size > t5) && null !== o6; ) { - const e7 = o6; - i7(e7), n6.delete(e7.key), s9 -= e7.byteSize; + for (; (s8 > e7 || n7.size > t5) && null !== o5; ) { + const e8 = o5; + i11(e8), n7.delete(e8.key), s8 -= e8.byteSize; } })(); - }, has: (e7) => n6.has(e7), delete(e7) { - const t6 = n6.get(e7); - return void 0 !== t6 && (i7(t6), n6.delete(e7), s9 -= t6.byteSize, true); + }, has: (e8) => n7.has(e8), delete(e8) { + const t6 = n7.get(e8); + return void 0 !== t6 && (i11(t6), n7.delete(e8), s8 -= t6.byteSize, true); }, clear() { - n6.clear(), r6 = null, o6 = null, s9 = 0; + n7.clear(), r8 = null, o5 = null, s8 = 0; } }; } -var o = class extends Error { +var c = class extends Error { data; name = "TsgitError"; - constructor(e6) { - super(`${e6.code}: ${(function(e7) { - switch (e7.code) { + constructor(e7) { + super(`${e7.code}: ${(function(e8) { + switch (e8.code) { case "INVALID_OBJECT_ID": case "INVALID_FILE_MODE": - return e7.value; + return e8.value; case "INVALID_OBJECT_HEADER": case "INVALID_TREE_ENTRY": case "INVALID_COMMIT": @@ -20919,6 +4125,8 @@ var o = class extends Error { case "INVALID_MULTI_PACK_INDEX": case "INVALID_PACK_REV_INDEX": case "INVALID_PACK_BITMAP": + case "INVALID_CRUFT_MTIMES": + case "INVALID_PACK_INPUT": case "INVALID_REF": case "INVALID_PACKED_REFS": case "INVALID_REFTABLE": @@ -20926,136 +4134,138 @@ var o = class extends Error { case "INVALID_INDEX_ENTRY": case "INVALID_COMMIT_GRAPH_HEADER": case "INVALID_COMMIT_GRAPH_CHUNK": - return e7.reason; + return e8.reason; case "FILE_NOT_FOUND": - return `file not found: ${s(e7.path)}`; + return `file not found: ${d(e8.path)}`; case "FILE_EXISTS": - return `file already exists: ${s(e7.path)}`; + return `file already exists: ${d(e8.path)}`; case "NOT_A_DIRECTORY": - return `not a directory: ${s(e7.path)}`; + return `not a directory: ${d(e8.path)}`; case "DIRECTORY_NOT_EMPTY": - return `directory not empty: ${s(e7.path)}`; + return `directory not empty: ${d(e8.path)}`; case "PERMISSION_DENIED": - return `permission denied: ${s(e7.path)}`; + return `permission denied: ${d(e8.path)}`; case "UNSUPPORTED_OPERATION": - return `unsupported operation: ${e7.operation}: ${e7.reason}`; + return `unsupported operation: ${e8.operation}: ${e8.reason}`; case "HASH_FAILED": - return `hash computation failed: ${e7.reason}`; + return `hash computation failed: ${e8.reason}`; case "COMPRESS_FAILED": - return `compression failed: ${e7.reason}`; + return `compression failed: ${e8.reason}`; case "DECOMPRESS_FAILED": - return `decompression failed: ${e7.reason}`; + return `decompression failed: ${e8.reason}`; case "HTTP_ERROR": - return `HTTP ${e7.statusCode}: ${e7.reason}`; + return `HTTP ${e8.statusCode}: ${e8.reason}`; case "NETWORK_ERROR": - return `network error: ${e7.reason}`; + return `network error: ${e8.reason}`; case "INVALID_TREE_FOR_DIFF": - return `invalid tree for diff: ${e7.reason}`; + return `invalid tree for diff: ${e8.reason}`; case "INVALID_DIFF_INPUT": - return `invalid diff input: ${e7.reason}`; + return `invalid diff input: ${e8.reason}`; case "INVALID_MERGE_TREE": - return `invalid merge tree: ${e7.reason}`; + return `invalid merge tree: ${e8.reason}`; case "INVALID_MERGE_INPUT": - return `invalid merge input: ${e7.reason}`; + return `invalid merge input: ${e8.reason}`; case "OBJECT_NOT_FOUND": - return `object not found: ${e7.id}`; + return `object not found: ${e8.id}`; case "OBJECT_HASH_MISMATCH": - return `object hash mismatch: expected=${e7.expected} actual=${e7.actual}`; + return `object hash mismatch: expected=${e8.expected} actual=${e8.actual}`; case "UNEXPECTED_OBJECT_TYPE": - return `unexpected object type: expected=${e7.expected} actual=${e7.actual} id=${e7.id}`; + return `unexpected object type: expected=${e8.expected} actual=${e8.actual} id=${e8.id}`; case "TREE_CYCLE_DETECTED": - return `tree cycle detected: ${e7.id}`; + return `tree cycle detected: ${e8.id}`; case "TREE_DEPTH_EXCEEDED": - return `tree depth exceeded: ${e7.depth}`; + return `tree depth exceeded: ${e8.depth}`; case "TREE_ENTRY_LIMIT_EXCEEDED": - return `tree entry limit exceeded: count=${e7.count} limit=${e7.limit}`; + return `tree entry limit exceeded: count=${e8.count} limit=${e8.limit}`; case "OBJECT_TOO_LARGE": - return `object too large: id=${e7.id} size=${e7.actualSize} limit=${e7.limit}`; + return `object too large: id=${e8.id} size=${e8.actualSize} limit=${e8.limit}`; case "DELTA_CHAIN_TOO_DEEP": - return `delta chain too deep: ${e7.depth}`; + return `delta chain too deep: ${e8.depth}`; case "REF_NOT_FOUND": - return `ref not found: ${e7.name}`; + return `ref not found: ${e8.name}`; case "REF_CHAIN_TOO_DEEP": - return `ref chain too deep: depth=${e7.depth} chain=${e7.chain.join("->")}`; + return `ref chain too deep: depth=${e8.depth} chain=${e8.chain.join("->")}`; case "REF_CYCLE_DETECTED": - return `ref cycle detected: ${e7.chain.join("->")}`; + return `ref cycle detected: ${e8.chain.join("->")}`; case "REF_LOCKED": - return `ref locked: ${e7.name}`; + return `ref locked: ${e8.name}`; case "REF_UPDATE_CONFLICT": - return `ref update conflict: name=${e7.name} expected=${e7.expected} actual=${e7.actual}`; + return `ref update conflict: name=${e8.name} expected=${e8.expected} actual=${e8.actual}`; case "REFTABLE_LOCKED": - return `reftable stack locked: stack=${e7.stack} ${e7.reason}`; + return `reftable stack locked: stack=${e8.stack} ${e8.reason}`; case "INVALID_WALK_INPUT": - return `invalid walk input: ${e7.reason}`; + return `invalid walk input: ${e8.reason}`; case "OPERATION_ABORTED": return "operation aborted"; case "INVALID_PKT_LENGTH": - return `invalid pkt-line length: ${e7.value}`; + return `invalid pkt-line length: ${e8.value}`; case "PKT_LENGTH_RESERVED": - return `reserved pkt-line length: ${e7.value}`; + return `reserved pkt-line length: ${e8.value}`; case "PKT_TOO_LARGE": - return `pkt-line too large: ${e7.value} bytes (max 65520)`; + return `pkt-line too large: ${e8.value} bytes (max 65520)`; case "PKT_TRUNCATED": - return `pkt-line truncated: ${e7.remaining} bytes remaining`; + return `pkt-line truncated: ${e8.remaining} bytes remaining`; case "INVALID_BASE_URL": - return `invalid base URL: ${e7.reason}`; + return `invalid base URL: ${e8.reason}`; case "MISSING_SERVICE_HEADER": - return `missing service header: expected=${e7.expected} actual=${e7.actual}`; + return `missing service header: expected=${e8.expected} actual=${e8.actual}`; case "MISSING_CAPABILITIES": return "missing capabilities in advertisement"; case "INVALID_REF_LINE": - return `invalid ref line: ${e7.line}`; + return `invalid ref line: ${e8.line}`; case "DUPLICATE_REF": - return `duplicate ref: ${e7.name}`; + return `duplicate ref: ${e8.name}`; case "INVALID_SIDEBAND_CHANNEL": - return `invalid sideband channel: ${e7.channel}`; + return `invalid sideband channel: ${e8.channel}`; case "SIDEBAND_FATAL": - return `sideband fatal: ${e7.message}`; + return `sideband fatal: ${e8.message}`; case "UNKNOWN_ACK_STATUS": - return `unknown ack status: ${e7.value}`; + return `unknown ack status: ${e8.value}`; case "INVALID_REPORT_STATUS": - return `invalid report-status line: ${e7.line}`; + return `invalid report-status line: ${e8.line}`; case "EMPTY_WANTS": return "upload-pack request has no wants"; case "EMPTY_RECEIVE_UPDATES": return "receive-pack request has no updates"; case "TOO_MANY_ADVERTISED_REFS": - return `advertised refs (${e7.count}) exceed limit ${e7.limit}`; + return `advertised refs (${e8.count}) exceed limit ${e8.limit}`; case "RESOURCE_LOCKED": - return `${e7.resource} locked: ${s(e7.path)}`; + return `${e8.resource} locked: ${d(e8.path)}`; case "PACK_TOO_LARGE": - return `pack contains ${e7.objectCount} objects, exceeds limit ${e7.limit}`; + return `pack contains ${e8.objectCount} objects, exceeds limit ${e8.limit}`; + case "PACK_ARTIFACT_MISMATCH": + return `existing pack artefact differs in contents: ${d(e8.path)}`; case "SHALLOW_FILE_MALFORMED": - return `bad shallow file at line ${e7.lineNumber}: ${e7.reason}`; + return `bad shallow file at line ${e8.lineNumber}: ${e8.reason}`; case "NOT_A_REPOSITORY": - return `not a git repository: ${s(e7.path)}`; + return `not a git repository: ${d(e8.path)}`; case "DUBIOUS_OWNERSHIP": - return void 0 === e7.foreignPath ? `dubious ownership in repository at ${s(e7.path)}` : `dubious ownership in repository at ${s(e7.path)} (first foreign path: ${s(e7.foreignPath)})`; + return void 0 === e8.foreignPath ? `dubious ownership in repository at ${d(e8.path)}` : `dubious ownership in repository at ${d(e8.path)} (first foreign path: ${d(e8.foreignPath)})`; case "IMPLICIT_BARE_REPOSITORY": - return `cannot use implicit git directory: ${s(e7.gitDir)}`; + return `cannot use implicit git directory: ${d(e8.gitDir)}`; case "BARE_REPOSITORY": case "WORK_TREE_REQUIRED": - return `operation requires a working tree: ${e7.operation}`; + return `operation requires a working tree: ${e8.operation}`; case "WORK_TREE_CONFIG_INVALID": - return `unable to set up work tree using invalid config: ${e7.gitDir}`; + return `unable to set up work tree using invalid config: ${e8.gitDir}`; case "WORK_TREE_UNRESOLVABLE": - return `cannot resolve work tree '${e7.value}' from ${s(e7.gitDir)}`; + return `cannot resolve work tree '${e8.value}' from ${d(e8.gitDir)}`; case "ALREADY_INITIALIZED": - return `repository already exists: ${s(e7.path)}`; + return `repository already exists: ${d(e8.path)}`; case "REPOSITORY_FORMAT_VERSION_UNSUPPORTED": - return `unsupported repository format version: ${e7.version}`; + return `unsupported repository format version: ${e8.version}`; case "REPOSITORY_EXTENSIONS_UNSUPPORTED": - return `unsupported repository extensions at format version ${e7.version}: ${e7.extensions.length} (first: ${e7.extensions[0]})`; + return `unsupported repository extensions at format version ${e8.version}: ${e8.extensions.length} (first: ${e8.extensions[0]})`; case "REPOSITORY_EXTENSION_UNSUPPORTED": - return `repository extension not supported: ${e7.extension} = ${e7.value}`; + return `repository extension not supported: ${e8.extension} = ${e8.value}`; case "WORKING_TREE_DIRTY": - return `working tree has uncommitted changes: ${e7.localChanges.length + e7.untracked.length} files`; + return `working tree has uncommitted changes: ${e8.localChanges.length + e8.untracked.length} files`; case "PATHSPEC_NO_MATCH": - return `pathspec did not match any files: ${e7.pattern}`; + return `pathspec did not match any files: ${e8.pattern}`; case "PATHSPEC_OUTSIDE_REPO": - return `pathspec resolves outside repository: ${s(e7.path)}`; + return `pathspec resolves outside repository: ${d(e8.path)}`; case "PATHSPEC_BEYOND_SYMLINK": - return `pathspec is beyond a symbolic link: ${s(e7.path)}`; + return `pathspec is beyond a symbolic link: ${d(e8.path)}`; case "NOTHING_TO_COMMIT": return "nothing to commit (use allowEmpty: true to commit anyway)"; case "EMPTY_COMMIT_MESSAGE": @@ -21063,239 +4273,241 @@ var o = class extends Error { case "AUTHOR_UNCONFIGURED": return "author identity not configured (set ctx.config.user or pass author/committer)"; case "BRANCH_EXISTS": - return `branch already exists: ${e7.name}`; + return `branch already exists: ${e8.name}`; case "BRANCH_NOT_FOUND": - return `branch not found: ${e7.name}`; + return `branch not found: ${e8.name}`; case "TAG_EXISTS": - return `tag already exists: ${e7.name}`; + return `tag already exists: ${e8.name}`; case "TAG_NOT_FOUND": - return `tag not found: ${e7.name}`; + return `tag not found: ${e8.name}`; case "CANNOT_DELETE_CHECKED_OUT_BRANCH": - return `cannot delete branch currently checked out: ${e7.name}`; + return `cannot delete branch currently checked out: ${e8.name}`; case "INVALID_URL": - return `invalid URL: ${e7.reason}`; + return `invalid URL: ${e8.reason}`; case "BLOCKED_HOST": - return `host blocked: ${e7.host} (${e7.reason})`; + return `host blocked: ${e8.host} (${e8.reason})`; case "TOO_MANY_REDIRECTS": - return `too many redirects: ${e7.count}`; + return `too many redirects: ${e8.count}`; case "UNSUPPORTED_SCHEME": - return `unsupported URL scheme: ${e7.scheme}`; + return `unsupported URL scheme: ${e8.scheme}`; case "TARGET_DIRECTORY_NOT_EMPTY": - return `target directory is not empty: ${s(e7.path)}`; + return `target directory is not empty: ${d(e8.path)}`; case "REMOTE_ADVERTISES_NO_REFS": return "remote advertised no refs"; case "NON_FAST_FORWARD": - return `non-fast-forward update for ${e7.ref}: local=${e7.local} remote=${e7.remote}`; + return `non-fast-forward update for ${e8.ref}: local=${e8.local} remote=${e8.remote}`; case "PUSH_REJECTED": - return `push rejected for ${e7.ref}: ${e7.reason}`; + return `push rejected for ${e8.ref}: ${e8.reason}`; case "MERGE_HAS_CONFLICTS": - return `merge has unresolved conflicts: ${e7.count} files`; + return `merge has unresolved conflicts: ${e8.count} files`; case "CHECKOUT_OVERWRITE_DIRTY": - return `checkout would overwrite uncommitted changes: ${e7.localChanges.length + e7.untracked.length} files`; + return `checkout would overwrite uncommitted changes: ${e8.localChanges.length + e8.untracked.length} files`; case "REVPARSE_AMBIGUOUS": - return `revision expression "${e7.expression}" is ambiguous (${e7.candidates.length} candidates)`; + return `revision expression "${e8.expression}" is ambiguous (${e8.candidates.length} candidates)`; case "REVPARSE_UNRESOLVED": - return `cannot resolve revision: ${e7.expression}`; + return `cannot resolve revision: ${e8.expression}`; case "PATH_NOT_IN_TREE": - return `path '${e7.path}' does not exist in '${e7.rev}'`; + return `path '${e8.path}' does not exist in '${e8.rev}'`; case "WORKTREE_FILE_ABSENT": - return `cannot read working-tree file '${e7.path}'`; + return `cannot read working-tree file '${e8.path}'`; case "EMPTY_PATHSPEC": return 'pathspec is empty (use "." to mean "all paths")'; case "OPERATION_IN_PROGRESS": - return `${e7.operation} in progress; complete or abort it before running this command`; + return `${e8.operation} in progress; complete or abort it before running this command`; case "NO_OPERATION_IN_PROGRESS": - return `no ${e7.operation} in progress`; + return `no ${e8.operation} in progress`; case "MAX_REFSPECS_EXCEEDED": - return `${e7.count} refspecs exceeds limit ${e7.limit}`; + return `${e8.count} refspecs exceeds limit ${e8.limit}`; case "REMOTE_NOT_CONFIGURED": - return `remote not configured: ${e7.remote}`; + return `remote not configured: ${e8.remote}`; case "NO_UPSTREAM_CONFIGURED": - return `no upstream configured for ${e7.branch}`; + return `no upstream configured for ${e8.branch}`; case "REMOTE_EXISTS": - return `remote already exists: ${e7.remote}`; + return `remote already exists: ${e8.remote}`; case "REMOTE_NAME_INVALID": - return `invalid remote name "${e7.name}": ${e7.reason}`; + return `invalid remote name "${e8.name}": ${e8.reason}`; case "NO_PROMISOR_REMOTE": return "no promisor remote configured; this repository is not a partial clone"; case "REFSPEC_INVALID": - return `invalid refspec "${e7.raw}": ${e7.reason}`; + return `invalid refspec "${e8.raw}": ${e8.reason}`; case "INVALID_OPTION": - return `invalid option: ${e7.option} \u2014 ${e7.reason}`; + return `invalid option: ${e8.option} \u2014 ${e8.reason}`; case "REPOSITORY_DISPOSED": return "repository has been disposed; create a new one with openRepository()"; case "ADAPTER_UNAVAILABLE": - return `adapter unavailable for runtime ${e7.runtime}: ${e7.reason}`; + return `adapter unavailable for runtime ${e8.runtime}: ${e8.reason}`; case "OBJECT_FORMAT_CONFLICT": - return `object format conflict: ${e7.source} requested ${e7.requested} but ${e7.declared} was declared`; + return `object format conflict: ${e8.source} requested ${e8.requested} but ${e8.declared} was declared`; case "WORKING_TREE_FILE_TOO_LARGE": - return `working-tree file too large: ${s(e7.path)} size=${e7.size} limit=${e7.limit}`; + return `working-tree file too large: ${d(e8.path)} size=${e8.size} limit=${e8.limit}`; case "GITIGNORE_FILE_TOO_LARGE": - return `.gitignore too large: ${s(e7.path)} size=${e7.size} limit=${e7.limit}`; + return `.gitignore too large: ${d(e8.path)} size=${e8.size} limit=${e8.limit}`; case "GITATTRIBUTES_FILE_TOO_LARGE": - return `.gitattributes too large: ${s(e7.path)} size=${e7.size} limit=${e7.limit}`; + return `.gitattributes too large: ${d(e8.path)} size=${e8.size} limit=${e8.limit}`; case "SPARSE_PATTERN_FILE_TOO_LARGE": - return `sparse-checkout file too large: ${s(e7.path)} size=${e7.size} limit=${e7.limit}`; + return `sparse-checkout file too large: ${d(e8.path)} size=${e8.size} limit=${e8.limit}`; case "INVALID_REFLOG_ENTRY": - return `invalid reflog entry: ${e7.reason}`; + return `invalid reflog entry: ${e8.reason}`; case "REFLOG_NOT_FOUND": - return `reflog not found: ${e7.ref}`; + return `reflog not found: ${e8.ref}`; case "REFLOG_ENTRY_OUT_OF_RANGE": - return `reflog entry out of range: ref=${e7.ref} requested=${e7.requested} available=${e7.available}`; + return `reflog entry out of range: ref=${e8.ref} requested=${e8.requested} available=${e8.available}`; case "HOOK_FAILED": - return `hook ${e7.hook} failed with exit code ${e7.exitCode}`; + return `hook ${e8.hook} failed with exit code ${e8.exitCode}`; case "CLEAN_FILTER_FAILED": - return `clean filter '${e7.filter}' failed for ${s(e7.path)} (exit ${e7.exitCode})`; + return `clean filter '${e8.filter}' failed for ${d(e8.path)} (exit ${e8.exitCode})`; case "SMUDGE_FILTER_FAILED": - return `smudge filter '${e7.filter}' failed for ${s(e7.path)} (exit ${e7.exitCode})`; + return `smudge filter '${e8.filter}' failed for ${d(e8.path)} (exit ${e8.exitCode})`; case "INVALID_FILTER_SPEC": - return `invalid object filter "${e7.spec}": ${e7.reason}`; + return `invalid object filter "${e8.spec}": ${e8.reason}`; case "REMOTE_FILTER_UNSUPPORTED": return "remote does not support partial-clone object filtering"; case "UNEXPECTED_V2_SECTION": - return `unexpected v2 section: ${e7.section}`; + return `unexpected v2 section: ${e8.section}`; case "V2_COMMAND_UNSUPPORTED": - return `unsupported v2 command or capability: ${e7.command}`; + return `unsupported v2 command or capability: ${e8.command}`; case "TOO_MANY_SECTION_ENTRIES": - return `v2 section "${e7.section}" entries (${e7.count}) exceed limit ${e7.limit}`; + return `v2 section "${e8.section}" entries (${e8.count}) exceed limit ${e8.limit}`; case "UNSUPPORTED_OBJECT_FORMAT": - return void 0 === e7.local ? `unsupported object format: ${e7.format}` : `mismatched algorithms: client ${e7.local}; server ${e7.format}`; + return void 0 === e8.local ? `unsupported object format: ${e8.format}` : `mismatched algorithms: client ${e8.local}; server ${e8.format}`; case "PUSH_OBJECT_FORMAT_UNSUPPORTED": - return `the receiving end does not support this repository's hash algorithm: local ${e7.local}, remote ${e7.remote}`; + return `the receiving end does not support this repository's hash algorithm: local ${e8.local}, remote ${e8.remote}`; case "SNAPSHOT_REQUIRED": - return `snapshot required: ${e7.reason}`; + return `snapshot required: ${e8.reason}`; case "WORKDIR_RACE": - return `working-tree changed under us at ${s(e7.path)} (observed mtime=${e7.observed.mtimeMs} size=${e7.observed.size}, current mtime=${e7.current.mtimeMs} size=${e7.current.size})`; + return `working-tree changed under us at ${d(e8.path)} (observed mtime=${e8.observed.mtimeMs} size=${e8.observed.size}, current mtime=${e8.current.mtimeMs} size=${e8.current.size})`; case "ORDER_INVARIANT_VIOLATION": - return `row order broken: ${e7.previous} followed by ${e7.current}`; + return `row order broken: ${e8.previous} followed by ${e8.current}`; case "CONFIG_KEY_INVALID": - return void 0 === e7.position ? `invalid config key "${e7.key}": ${e7.reason}` : `invalid config key "${e7.key}": ${e7.reason} at position ${e7.position}`; + return void 0 === e8.position ? `invalid config key "${e8.key}": ${e8.reason}` : `invalid config key "${e8.key}": ${e8.reason} at position ${e8.position}`; case "CONFIG_VALUE_INVALID": - return `invalid config value for "${e7.key}": ${e7.reason} at position ${e7.position}`; + return `invalid config value for "${e8.key}": ${e8.reason} at position ${e8.position}`; case "CONFIG_PARSE_ERROR": - return void 0 === e7.source ? `bad config line ${e7.line}` : `bad config line ${e7.line} in file ${e7.source}`; + return void 0 === e8.source ? `bad config line ${e8.line}` : `bad config line ${e8.line} in file ${e8.source}`; case "CONFIG_MISSING_VALUE": - return `missing value for '${e7.key}' in file '${e7.source}' at line ${e7.line}`; + return `missing value for '${e8.key}' in file '${e8.source}' at line ${e8.line}`; case "MERGE_DRIVER_MISSING_COMMAND": - return `custom merge driver ${e7.name} lacks command line.`; + return `custom merge driver ${e8.name} lacks command line.`; case "CONFIG_BAD_NUMERIC_VALUE": - return `bad numeric config value '${e7.value}' for '${e7.key}' in file ${e7.source}: ${e7.reason}`; + return `bad numeric config value '${e8.value}' for '${e8.key}' in file ${e8.source}: ${e8.reason}`; case "CONFIG_BAD_BOOLEAN_VALUE": - return `bad boolean config value '${e7.value}' for '${e7.key}' in file ${e7.source}`; + return `bad boolean config value '${e8.value}' for '${e8.key}' in file ${e8.source}`; case "CONFIG_BAD_BOOLEAN_LITERAL": - return `invalid value for '${e7.key}' in file ${e7.source}`; + return `invalid value for '${e8.key}' in file ${e8.source}`; + case "CONFIG_BAD_DATE_VALUE": + return `bad date config value '${e8.value}'`; case "CONFIG_INVALID_ENUM_VALUE": - return `invalid value for '${e7.key}': '${e7.value}' in file ${e7.source} at line ${e7.line}`; + return `invalid value for '${e8.key}': '${e8.value}' in file ${e8.source} at line ${e8.line}`; case "CONFIG_BAD_ZLIB_LEVEL": - return `bad zlib compression level ${e7.level}`; + return `bad zlib compression level ${e8.level}`; case "CONFIG_INVALID_FILE": - return `invalid section name '${e7.sectionName}' in config file ${e7.source}`; + return `invalid section name '${e8.sectionName}' in config file ${e8.source}`; case "CONFIG_MULTIPLE_VALUES": - return void 0 === e7.scope ? `config key "${e7.key}" has ${e7.count} values (${e7.requested} requires single)` : `config key "${e7.key}" has ${e7.count} values in scope ${e7.scope} (${e7.requested} requires single)`; + return void 0 === e8.scope ? `config key "${e8.key}" has ${e8.count} values (${e8.requested} requires single)` : `config key "${e8.key}" has ${e8.count} values in scope ${e8.scope} (${e8.requested} requires single)`; case "CONFIG_SECTION_NOT_FOUND": - return `config section not found in scope ${e7.scope}: ${e7.name}`; + return `config section not found in scope ${e8.scope}: ${e8.name}`; case "CONFIG_SCOPE_NOT_AVAILABLE": - return `config scope not available: ${e7.scope} (${e7.reason})`; + return `config scope not available: ${e8.scope} (${e8.reason})`; case "CONFIG_SYSTEM_PATH_UNRESOLVED": return "config system path could not be resolved on this platform"; case "MV_SOURCE_NOT_TRACKED": - return `not under version control, source=${e7.source}, destination=${e7.destination}`; + return `not under version control, source=${e8.source}, destination=${e8.destination}`; case "MV_BAD_SOURCE": - return `bad source, source=${e7.source}, destination=${e7.destination}`; + return `bad source, source=${e8.source}, destination=${e8.destination}`; case "MV_DESTINATION_EXISTS": - return `destination exists, source=${e7.source}, destination=${e7.destination}`; + return `destination exists, source=${e8.source}, destination=${e8.destination}`; case "MV_INTO_SELF": - return `can not move directory into itself, source=${e7.source}, destination=${e7.destination}`; + return `can not move directory into itself, source=${e8.source}, destination=${e8.destination}`; case "MV_DESTINATION_NOT_DIRECTORY": - return `destination '${e7.destination}' is not a directory, source=${e7.source}`; + return `destination '${e8.destination}' is not a directory, source=${e8.source}`; case "MV_DESTINATION_DIRECTORY_MISSING": - return `destination directory does not exist, source=${e7.source}, destination=${e7.destination}`; + return `destination directory does not exist, source=${e8.source}, destination=${e8.destination}`; case "MV_MULTIPLE_SOURCES_SAME_TARGET": - return `multiple sources for the same target, source=${e7.source}, destination=${e7.destination}`; + return `multiple sources for the same target, source=${e8.source}, destination=${e8.destination}`; case "MV_OVERLAPPING_SOURCES": - return `cannot move both '${e7.child}' and its parent directory '${e7.parent}'`; + return `cannot move both '${e8.child}' and its parent directory '${e8.parent}'`; case "RM_STAGED_CHANGES": - return `cannot remove ${e7.paths.length} file(s) with changes staged in the index (use --cached to keep the file, or -f to force removal)`; + return `cannot remove ${e8.paths.length} file(s) with changes staged in the index (use --cached to keep the file, or -f to force removal)`; case "RM_LOCAL_MODIFICATIONS": - return `cannot remove ${e7.paths.length} file(s) with local modifications (use --cached to keep the file, or -f to force removal)`; + return `cannot remove ${e8.paths.length} file(s) with local modifications (use --cached to keep the file, or -f to force removal)`; case "RM_STAGED_AND_LOCAL_CHANGES": - return `cannot remove ${e7.paths.length} file(s) with staged content different from both the file and HEAD (use -f to force removal)`; + return `cannot remove ${e8.paths.length} file(s) with staged content different from both the file and HEAD (use -f to force removal)`; case "NO_INITIAL_COMMIT": return "you do not have the initial commit yet"; case "STASH_NOT_FOUND": - return `stash@{${e7.index}} is not a valid stash reference (stack size ${e7.stackSize})`; + return `stash@{${e8.index}} is not a valid stash reference (stack size ${e8.stackSize})`; case "STASH_APPLY_WOULD_OVERWRITE": - return `cannot apply stash: ${e7.paths.length} local change(s) would be overwritten`; + return `cannot apply stash: ${e8.paths.length} local change(s) would be overwritten`; case "AMBIGUOUS_OID_PREFIX": - return `short object id ${e7.prefix} is ambiguous (${e7.candidates.length} candidates)`; + return `short object id ${e8.prefix} is ambiguous (${e8.candidates.length} candidates)`; case "INVALID_SEQUENCER_TODO": - return `invalid sequencer todo: ${e7.reason}`; + return `invalid sequencer todo: ${e8.reason}`; case "CHERRY_PICK_MERGE_NO_MAINLINE": case "REVERT_MERGE_NO_MAINLINE": - return `commit ${e7.commit} is a merge but no -m option was given`; + return `commit ${e8.commit} is a merge but no -m option was given`; case "NO_NAMES": - return `no names found, cannot describe ${e7.oid}`; + return `no names found, cannot describe ${e8.oid}`; case "NO_ANNOTATED_NAMES": - return `no annotated tags can describe ${e7.oid}; try tags: true`; + return `no annotated tags can describe ${e8.oid}; try tags: true`; case "NO_REACHABLE_NAMES": - return `no tags can describe ${e7.oid}`; + return `no tags can describe ${e8.oid}`; case "NO_EXACT_MATCH": - return `no tag exactly matches ${e7.oid}`; + return `no tag exactly matches ${e8.oid}`; case "CANNOT_DESCRIBE": - return `cannot describe ${e7.oid}`; + return `cannot describe ${e8.oid}`; case "RELATIVE_URL_UNRESOLVABLE": - return `cannot strip one component off url '${e7.url}'`; + return `cannot strip one component off url '${e8.url}'`; case "SUBMODULE_HAS_MODIFICATIONS": - return `submodule work tree '${e7.path}' contains local modifications`; + return `submodule work tree '${e8.path}' contains local modifications`; case "SUBMODULE_PATH_EXISTS": - return `'${e7.path}' already exists in the index`; + return `'${e8.path}' already exists in the index`; case "SUBMODULE_OBJECT_FORMAT_MISMATCH": - return `cannot add a submodule of a different hash algorithm: local ${e7.local}, remote ${e7.remote}`; + return `cannot add a submodule of a different hash algorithm: local ${e8.local}, remote ${e8.remote}`; case "WORKTREE_PATH_EXISTS": - return `'${e7.path}' already exists`; + return `'${e8.path}' already exists`; case "BRANCH_CHECKED_OUT": - return `'${e7.branch}' is already used by worktree at '${e7.path}'`; + return `'${e8.branch}' is already used by worktree at '${e8.path}'`; case "WORKTREE_LOCKED": - return `working tree '${e7.path}' is locked`; + return `working tree '${e8.path}' is locked`; case "WORKTREE_DIRTY": - return `'${e7.path}' contains modified or untracked files, use --force to delete it`; + return `'${e8.path}' contains modified or untracked files, use --force to delete it`; case "NOT_A_WORKTREE": - return `'${e7.path}' is not a working tree`; + return `'${e8.path}' is not a working tree`; case "GITFILE_INVALID_FORMAT": - return `invalid gitfile format: ${e7.path}`; + return `invalid gitfile format: ${e8.path}`; case "GITFILE_NO_PATH": - return `no path in gitfile: ${e7.path}`; + return `no path in gitfile: ${e8.path}`; case "BUNDLE_EMPTY": - return `refusing to create empty bundle: ${e7.reason}`; + return `refusing to create empty bundle: ${e8.reason}`; case "BUNDLE_READ_FAILED": - return `could not open '${e7.path}'`; + return `could not open '${e8.path}'`; case "BUNDLE_BAD_HEADER": - return (function(e8) { - switch (e8.reason) { + return (function(e9) { + switch (e9.reason) { case "not-a-bundle": - return `'${e8.path}' does not look like a v2 or v3 bundle file`; + return `'${e9.path}' does not look like a v2 or v3 bundle file`; case "malformed-header": - return `unrecognized header: ${e8.line} (${e8.length})`; + return `unrecognized header: ${e9.line} (${e9.length})`; case "unknown-capability": - return `unknown capability '${e8.capability}'`; + return `unknown capability '${e9.capability}'`; case "unknown-hash-algorithm": - return `unrecognized bundle hash algorithm: ${e8.algorithm}`; + return `unrecognized bundle hash algorithm: ${e9.algorithm}`; } - })(e7); + })(e8); case "BUNDLE_UNSUPPORTED_VERSION": - return `unsupported bundle version ${e7.version} for serialization`; + return `unsupported bundle version ${e8.version} for serialization`; case "BUNDLE_PREREQUISITE_NOT_COMMIT": - return `boundary object ${e7.oid} is not a commit (got ${e7.objectType})`; + return `boundary object ${e8.oid} is not a commit (got ${e8.objectType})`; case "BUNDLE_PREREQUISITE_ALGORITHM_MISMATCH": - return `missing mapping of ${e7.oid} to ${e7.localAlgorithm}`; + return `missing mapping of ${e8.oid} to ${e8.localAlgorithm}`; case "NOTES_ALREADY_EXIST": - return `Cannot add notes. Found existing notes for object ${e7.object}. Use '-f' to overwrite existing notes`; + return `Cannot add notes. Found existing notes for object ${e8.object}. Use '-f' to overwrite existing notes`; case "NOTES_OBJECT_HAS_NONE": - return `Object ${e7.object} has no note`; + return `Object ${e8.object} has no note`; case "NOTES_REF_OUTSIDE": - return `refusing to use notes ref ${e7.ref} (outside of refs/notes/)`; + return `refusing to use notes ref ${e8.ref} (outside of refs/notes/)`; case "SIGNING_FAILED": - return `gpg failed to sign the data (${e7.reason}${void 0 !== e7.format ? `, format=${e7.format}` : ""})`; + return `gpg failed to sign the data (${e8.reason}${void 0 !== e8.format ? `, format=${e8.format}` : ""})`; case "SIGNED_PUSH_UNSUPPORTED": return "the receiving end does not support --signed push"; case "PUSH_DETACHED_NO_REFSPEC": @@ -21303,1868 +4515,1978 @@ var o = class extends Error { case "PUSH_DEFAULT_NOTHING": return `you didn't specify any refspecs to push, and push.default is "nothing"`; case "PUSH_REMOTE_NOT_UPSTREAM": - return `you are pushing to remote '${e7.remote}', which is not the upstream of your current branch '${e7.branch}'`; + return `you are pushing to remote '${e8.remote}', which is not the upstream of your current branch '${e8.branch}'`; case "PUSH_UPSTREAM_NAME_MISMATCH": return "the upstream branch of your current branch does not match the name of your current branch"; case "INVALID_PUSH_DEFAULT": - return `bad config variable 'push.default' in file '${e7.source}' at line ${e7.line}`; + return `bad config variable 'push.default' in file '${e8.source}' at line ${e8.line}`; case "GREP_LINE_TOO_LONG": - return `grep line too long to decode: ${e7.length} bytes exceeds the ${e7.limit}-byte limit`; + return `grep line too long to decode: ${e8.length} bytes exceeds the ${e8.limit}-byte limit`; default: - return String(e7); + return String(e8); } - })(e6)}`), this.data = e6; + })(e7)}`), this.data = e7; } }; -function s(e6) { - const t5 = e6.split(/[/\\]/); - for (let e7 = t5.length - 1; e7 >= 0; e7--) { - const n6 = t5[e7]; - if (void 0 !== n6 && "" !== n6) return n6; +function d(e7) { + const t5 = e7.split(/[/\\]/); + for (let e8 = t5.length - 1; e8 >= 0; e8--) { + const n7 = t5[e8]; + if (void 0 !== n7 && "" !== n7) return n7; } - return e6; + return e7; } -function i(e6) { - const t5 = e6.lastIndexOf("/"); - return -1 === t5 ? "" : e6.slice(0, t5); +function u(e7) { + const t5 = e7.lastIndexOf("/"); + return -1 === t5 ? "" : e7.slice(0, t5); } -var a = (e6) => { +var l = (e7) => { let t5 = ""; - for (let n6 = 0; n6 < e6.length; n6 += 1) { - const r6 = e6.charCodeAt(n6); - t5 += 9 === r6 || 10 === r6 || r6 >= 32 && r6 <= 126 ? e6[n6] : `\\x${r6.toString(16).toUpperCase().padStart(2, "0")}`; + for (let n7 = 0; n7 < e7.length; n7 += 1) { + const r8 = e7.charCodeAt(n7); + t5 += 9 === r8 || 10 === r8 || r8 >= 32 && r8 <= 126 ? e7[n7] : `\\x${r8.toString(16).toUpperCase().padStart(2, "0")}`; } return t5; }; -var c = (e6) => new o({ code: "FILE_NOT_FOUND", path: e6 }); -var d = (e6) => new o({ code: "FILE_EXISTS", path: e6 }); -var u = (e6) => new o({ code: "NOT_A_DIRECTORY", path: e6 }); -var l = (e6) => new o({ code: "DIRECTORY_NOT_EMPTY", path: e6 }); -var f = (e6) => new o({ code: "PERMISSION_DENIED", path: e6 }); -var h = (e6, t5) => new o({ code: "UNSUPPORTED_OPERATION", operation: e6, reason: t5 }); -var g = (e6) => new o({ code: "HASH_FAILED", reason: e6 }); -var m = (e6) => new o({ code: "COMPRESS_FAILED", reason: e6 }); -var p = (e6) => new o({ code: "DECOMPRESS_FAILED", reason: e6 }); -var w = (e6, t5) => new o({ code: "HTTP_ERROR", statusCode: e6, reason: t5 }); -var y = (e6) => new o({ code: "NETWORK_ERROR", reason: e6 }); -var E = (e6) => new o({ code: "INVALID_WALK_INPUT", reason: e6 }); -var b = (e6, t5) => new o({ code: "SHALLOW_FILE_MALFORMED", reason: e6, lineNumber: t5 }); -var I = () => new o({ code: "OPERATION_ABORTED" }); -var v = (e6, t5, n6) => new o({ code: "WORKDIR_RACE", path: e6, observed: t5, current: n6 }); -var O = a; -var $ = ({ localChanges: e6, untracked: t5 }) => new o({ code: "WORKING_TREE_DIRTY", localChanges: e6, untracked: t5 }); -var A = (e6) => new o({ code: "PATHSPEC_NO_MATCH", pattern: e6 }); -var N = (e6) => new o({ code: "PATHSPEC_OUTSIDE_REPO", path: e6 }); -var S = (e6) => new o({ code: "PATHSPEC_BEYOND_SYMLINK", path: e6 }); -var x = () => new o({ code: "NOTHING_TO_COMMIT" }); -var L = () => new o({ code: "EMPTY_COMMIT_MESSAGE" }); -var R = () => new o({ code: "AUTHOR_UNCONFIGURED" }); -var k = (e6) => new o({ code: "BRANCH_EXISTS", name: e6 }); -var D = (e6) => new o({ code: "BRANCH_NOT_FOUND", name: e6 }); -var U = (e6) => new o({ code: "TAG_EXISTS", name: e6 }); -var C = (e6) => new o({ code: "TAG_NOT_FOUND", name: e6 }); -var M = (e6) => new o({ code: "CANNOT_DELETE_CHECKED_OUT_BRANCH", name: e6 }); -var P = (e6) => new o({ code: "INVALID_URL", reason: e6 }); -var B = (e6, t5) => new o({ code: "BLOCKED_HOST", host: a(e6), reason: a(t5) }); -var F = (e6) => new o({ code: "UNSUPPORTED_SCHEME", scheme: e6 }); -var H = (e6) => new o({ code: "TARGET_DIRECTORY_NOT_EMPTY", path: e6 }); -var V = () => new o({ code: "REMOTE_ADVERTISES_NO_REFS" }); -var G = () => new o({ code: "NO_PROMISOR_REMOTE" }); -var W = (e6, t5, n6) => new o({ code: "NON_FAST_FORWARD", ref: e6, local: t5, remote: n6 }); -var j = (e6, t5, n6) => new o({ code: "PUSH_REJECTED", ref: e6, reason: t5, reportStatus: n6 }); -var z = (e6, t5 = []) => { - const n6 = t5.length > 100, r6 = n6 ? t5.slice(0, 100) : t5; - return new o(n6 ? { code: "MERGE_HAS_CONFLICTS", count: e6, paths: r6, truncated: true } : { code: "MERGE_HAS_CONFLICTS", count: e6, paths: r6 }); -}; -var K = ({ localChanges: e6, untracked: t5 }) => new o({ code: "CHECKOUT_OVERWRITE_DIRTY", localChanges: e6, untracked: t5 }); -var Y = (e6) => new o({ code: "REVPARSE_UNRESOLVED", expression: e6 }); -var X = (e6, t5) => new o({ code: "PATH_NOT_IN_TREE", rev: a(e6), path: a(t5) }); -var q = (e6) => new o({ code: "WORKTREE_FILE_ABSENT", path: a(e6) }); -var J = () => new o({ code: "EMPTY_PATHSPEC" }); -var Q = (e6) => new o({ code: "OPERATION_IN_PROGRESS", operation: e6 }); -var Z = (e6) => new o({ code: "NO_OPERATION_IN_PROGRESS", operation: e6 }); -var ee = (e6) => new o({ code: "REMOTE_NOT_CONFIGURED", remote: e6 }); -var te = (e6) => new o({ code: "NO_UPSTREAM_CONFIGURED", branch: e6 }); -var ne = (e6) => new o({ code: "REMOTE_EXISTS", remote: e6 }); -var re = (e6, t5) => new o({ code: "REMOTE_NAME_INVALID", name: a(e6), reason: a(t5) }); -var oe = (e6, t5) => new o({ code: "INVALID_OPTION", option: e6, reason: a(t5) }); -var se = () => new o({ code: "REPOSITORY_DISPOSED" }); -var ie = (e6, t5) => new o({ code: "ADAPTER_UNAVAILABLE", runtime: e6, reason: a(t5) }); -var ae = (e6, t5, n6) => new o({ code: "OBJECT_FORMAT_CONFLICT", requested: e6, declared: t5, source: n6 }); -var ce = (e6, t5, n6) => new o({ code: "WORKING_TREE_FILE_TOO_LARGE", path: e6, size: t5, limit: n6 }); -var de = (e6, t5, n6) => new o({ code: "GITIGNORE_FILE_TOO_LARGE", path: e6, size: t5, limit: n6 }); -var ue = (e6, t5, n6) => new o({ code: "GITATTRIBUTES_FILE_TOO_LARGE", path: e6, size: t5, limit: n6 }); -var le = (e6, t5, n6) => new o({ code: "SPARSE_PATTERN_FILE_TOO_LARGE", path: e6, size: t5, limit: n6 }); -var fe = (e6, t5, n6) => new o({ code: "HOOK_FAILED", hook: e6, exitCode: t5, stderr: a(n6).slice(0, 4096) }); -var he = (e6, t5, n6) => new o({ code: "CLEAN_FILTER_FAILED", path: e6, filter: t5, exitCode: n6 }); -var ge = (e6, t5, n6) => new o({ code: "SMUDGE_FILTER_FAILED", path: e6, filter: t5, exitCode: n6 }); -var me = (e6, t5, n6) => new o(void 0 === n6 ? { code: "CONFIG_KEY_INVALID", key: a(e6), reason: t5 } : { code: "CONFIG_KEY_INVALID", key: a(e6), reason: t5, position: n6 }); -var pe = (e6, t5) => new o({ code: "CONFIG_VALUE_INVALID", key: a(e6), reason: "control-character", position: t5 }); -var we = (e6, t5, n6) => new o({ code: "CONFIG_PARSE_ERROR", line: e6, ...void 0 !== t5 ? { source: t5 } : {}, ...void 0 !== n6 ? { partialSectionName: n6 } : {} }); -var ye = (e6, t5, n6) => new o({ code: "CONFIG_MISSING_VALUE", key: a(e6), source: t5, line: n6 }); -var Ee = (e6) => new o({ code: "MERGE_DRIVER_MISSING_COMMAND", name: e6 }); -var be = (e6, t5, n6, r6) => new o({ code: "CONFIG_BAD_NUMERIC_VALUE", key: a(e6), source: t5, value: a(n6), reason: r6 }); -var Ie = (e6, t5, n6) => new o({ code: "CONFIG_BAD_BOOLEAN_VALUE", key: a(e6), source: t5, value: a(n6) }); -var _e = (e6, t5, n6) => new o({ code: "CONFIG_BAD_BOOLEAN_LITERAL", key: a(e6), source: t5, value: a(n6) }); -var ve = (e6, t5, n6, r6) => new o({ code: "CONFIG_INVALID_ENUM_VALUE", key: a(e6), source: t5, value: a(n6), line: r6 }); -var Te = (e6) => new o({ code: "CONFIG_BAD_ZLIB_LEVEL", level: e6 }); -var Oe = (e6, t5) => new o({ code: "CONFIG_INVALID_FILE", sectionName: e6, source: t5 }); -var $e = (e6, t5, n6, r6) => new o(void 0 === r6 ? { code: "CONFIG_MULTIPLE_VALUES", key: a(e6), count: t5, requested: n6 } : { code: "CONFIG_MULTIPLE_VALUES", key: a(e6), count: t5, requested: n6, scope: r6 }); -var Ae = (e6, t5) => new o({ code: "CONFIG_SECTION_NOT_FOUND", name: a(e6), scope: t5 }); -var Ne = (e6, t5) => new o({ code: "CONFIG_SCOPE_NOT_AVAILABLE", scope: e6, reason: t5 }); -var Se = () => new o({ code: "CONFIG_SYSTEM_PATH_UNRESOLVED" }); -var xe = (e6, t5) => new o({ code: "MV_SOURCE_NOT_TRACKED", source: e6, destination: t5 }); -var Le = (e6, t5) => new o({ code: "MV_BAD_SOURCE", source: e6, destination: t5 }); -var Re = (e6, t5) => new o({ code: "MV_DESTINATION_EXISTS", source: e6, destination: t5 }); -var ke = (e6, t5) => new o({ code: "MV_INTO_SELF", source: e6, destination: t5 }); -var De = (e6, t5) => new o({ code: "MV_DESTINATION_NOT_DIRECTORY", source: e6, destination: t5 }); -var Ue = (e6, t5) => new o({ code: "MV_DESTINATION_DIRECTORY_MISSING", source: e6, destination: t5 }); -var Ce = (e6, t5) => new o({ code: "MV_MULTIPLE_SOURCES_SAME_TARGET", source: e6, destination: t5 }); -var Me = (e6, t5) => new o({ code: "MV_OVERLAPPING_SOURCES", child: e6, parent: t5 }); -var Pe = (e6) => new o({ code: "RM_STAGED_CHANGES", paths: e6 }); -var Be = (e6) => new o({ code: "RM_LOCAL_MODIFICATIONS", paths: e6 }); -var Fe = (e6) => new o({ code: "RM_STAGED_AND_LOCAL_CHANGES", paths: e6 }); -var He = () => new o({ code: "NO_INITIAL_COMMIT" }); -var Ve = (e6, t5) => new o({ code: "STASH_NOT_FOUND", index: e6, stackSize: t5 }); -var Ge = (e6) => new o({ code: "STASH_APPLY_WOULD_OVERWRITE", paths: e6 }); -var We = (e6, t5) => new o({ code: "AMBIGUOUS_OID_PREFIX", prefix: e6, candidates: t5 }); -var je = (e6) => new o({ code: "INVALID_SEQUENCER_TODO", reason: a(e6) }); -var ze = (e6) => new o({ code: "CHERRY_PICK_MERGE_NO_MAINLINE", commit: e6 }); -var Ke = (e6) => new o({ code: "REVERT_MERGE_NO_MAINLINE", commit: e6 }); -var Ye = (e6) => new o({ code: "NO_NAMES", oid: e6 }); -var Xe = (e6) => new o({ code: "NO_ANNOTATED_NAMES", oid: e6 }); -var qe = (e6) => new o({ code: "NO_REACHABLE_NAMES", oid: e6 }); -var Je = (e6) => new o({ code: "NO_EXACT_MATCH", oid: e6 }); -var Qe = (e6) => new o({ code: "CANNOT_DESCRIBE", oid: e6 }); -var Ze = (e6) => new o({ code: "BUNDLE_EMPTY", reason: e6 }); -var et = (e6) => new o({ code: "BUNDLE_READ_FAILED", path: a(e6) }); -var tt = (e6) => { - switch (e6.reason) { +var f = (e7) => new c({ code: "FILE_NOT_FOUND", path: e7 }); +var h = (e7) => new c({ code: "FILE_EXISTS", path: e7 }); +var g = (e7) => new c({ code: "NOT_A_DIRECTORY", path: e7 }); +var m = (e7) => new c({ code: "DIRECTORY_NOT_EMPTY", path: e7 }); +var p = (e7) => new c({ code: "PERMISSION_DENIED", path: e7 }); +var w = (e7, t5) => new c({ code: "UNSUPPORTED_OPERATION", operation: e7, reason: t5 }); +var y = (e7) => new c({ code: "HASH_FAILED", reason: e7 }); +var E = (e7) => new c({ code: "COMPRESS_FAILED", reason: e7 }); +var b = (e7) => new c({ code: "DECOMPRESS_FAILED", reason: e7 }); +var I = (e7, t5) => new c({ code: "HTTP_ERROR", statusCode: e7, reason: t5 }); +var _ = (e7) => new c({ code: "NETWORK_ERROR", reason: e7 }); +var v = (e7) => new c({ code: "INVALID_WALK_INPUT", reason: e7 }); +var O = (e7) => new c({ code: "PACK_ARTIFACT_MISMATCH", path: e7 }); +var T = (e7, t5) => new c({ code: "SHALLOW_FILE_MALFORMED", reason: e7, lineNumber: t5 }); +var A = () => new c({ code: "OPERATION_ABORTED" }); +var x = (e7, t5, n7) => new c({ code: "WORKDIR_RACE", path: e7, observed: t5, current: n7 }); +var N = l; +var L = ({ localChanges: e7, untracked: t5 }) => new c({ code: "WORKING_TREE_DIRTY", localChanges: e7, untracked: t5 }); +var R = (e7) => new c({ code: "PATHSPEC_NO_MATCH", pattern: e7 }); +var k = (e7) => new c({ code: "PATHSPEC_OUTSIDE_REPO", path: e7 }); +var D = (e7) => new c({ code: "PATHSPEC_BEYOND_SYMLINK", path: e7 }); +var U = () => new c({ code: "NOTHING_TO_COMMIT" }); +var C = () => new c({ code: "EMPTY_COMMIT_MESSAGE" }); +var M = () => new c({ code: "AUTHOR_UNCONFIGURED" }); +var P = (e7) => new c({ code: "BRANCH_EXISTS", name: e7 }); +var B = (e7) => new c({ code: "BRANCH_NOT_FOUND", name: e7 }); +var F = (e7) => new c({ code: "TAG_EXISTS", name: e7 }); +var H = (e7) => new c({ code: "TAG_NOT_FOUND", name: e7 }); +var V = (e7) => new c({ code: "CANNOT_DELETE_CHECKED_OUT_BRANCH", name: e7 }); +var G = (e7) => new c({ code: "INVALID_URL", reason: e7 }); +var W = (e7, t5) => new c({ code: "BLOCKED_HOST", host: l(e7), reason: l(t5) }); +var z = (e7) => new c({ code: "UNSUPPORTED_SCHEME", scheme: e7 }); +var j = (e7) => new c({ code: "TARGET_DIRECTORY_NOT_EMPTY", path: e7 }); +var K = () => new c({ code: "REMOTE_ADVERTISES_NO_REFS" }); +var Y = () => new c({ code: "NO_PROMISOR_REMOTE" }); +var X = (e7, t5, n7) => new c({ code: "NON_FAST_FORWARD", ref: e7, local: t5, remote: n7 }); +var q = (e7, t5, n7) => new c({ code: "PUSH_REJECTED", ref: e7, reason: t5, reportStatus: n7 }); +var J = (e7, t5 = []) => { + const n7 = t5.length > 100, r8 = n7 ? t5.slice(0, 100) : t5; + return new c(n7 ? { code: "MERGE_HAS_CONFLICTS", count: e7, paths: r8, truncated: true } : { code: "MERGE_HAS_CONFLICTS", count: e7, paths: r8 }); +}; +var Q = ({ localChanges: e7, untracked: t5 }) => new c({ code: "CHECKOUT_OVERWRITE_DIRTY", localChanges: e7, untracked: t5 }); +var Z = (e7) => new c({ code: "REVPARSE_UNRESOLVED", expression: e7 }); +var ee = (e7, t5) => new c({ code: "PATH_NOT_IN_TREE", rev: l(e7), path: l(t5) }); +var te = (e7) => new c({ code: "WORKTREE_FILE_ABSENT", path: l(e7) }); +var ne = () => new c({ code: "EMPTY_PATHSPEC" }); +var re = (e7) => new c({ code: "OPERATION_IN_PROGRESS", operation: e7 }); +var oe = (e7) => new c({ code: "NO_OPERATION_IN_PROGRESS", operation: e7 }); +var se = (e7) => new c({ code: "REMOTE_NOT_CONFIGURED", remote: e7 }); +var ie = (e7) => new c({ code: "NO_UPSTREAM_CONFIGURED", branch: e7 }); +var ae = (e7) => new c({ code: "REMOTE_EXISTS", remote: e7 }); +var ce = (e7, t5) => new c({ code: "REMOTE_NAME_INVALID", name: l(e7), reason: l(t5) }); +var de = (e7, t5) => new c({ code: "INVALID_OPTION", option: e7, reason: l(t5) }); +var ue = () => new c({ code: "REPOSITORY_DISPOSED" }); +var le = (e7, t5) => new c({ code: "ADAPTER_UNAVAILABLE", runtime: e7, reason: l(t5) }); +var fe = (e7, t5, n7) => new c({ code: "OBJECT_FORMAT_CONFLICT", requested: e7, declared: t5, source: n7 }); +var he = (e7, t5, n7) => new c({ code: "WORKING_TREE_FILE_TOO_LARGE", path: e7, size: t5, limit: n7 }); +var ge = (e7, t5, n7) => new c({ code: "GITIGNORE_FILE_TOO_LARGE", path: e7, size: t5, limit: n7 }); +var me = (e7, t5, n7) => new c({ code: "GITATTRIBUTES_FILE_TOO_LARGE", path: e7, size: t5, limit: n7 }); +var pe = (e7, t5, n7) => new c({ code: "SPARSE_PATTERN_FILE_TOO_LARGE", path: e7, size: t5, limit: n7 }); +var we = (e7, t5, n7) => new c({ code: "HOOK_FAILED", hook: e7, exitCode: t5, stderr: l(n7).slice(0, 4096) }); +var ye = (e7, t5, n7) => new c({ code: "CLEAN_FILTER_FAILED", path: e7, filter: t5, exitCode: n7 }); +var Ee = (e7, t5, n7) => new c({ code: "SMUDGE_FILTER_FAILED", path: e7, filter: t5, exitCode: n7 }); +var be = (e7, t5, n7) => new c(void 0 === n7 ? { code: "CONFIG_KEY_INVALID", key: l(e7), reason: t5 } : { code: "CONFIG_KEY_INVALID", key: l(e7), reason: t5, position: n7 }); +var Ie = (e7, t5) => new c({ code: "CONFIG_VALUE_INVALID", key: l(e7), reason: "control-character", position: t5 }); +var _e = (e7, t5, n7) => new c({ code: "CONFIG_PARSE_ERROR", line: e7, ...void 0 !== t5 ? { source: t5 } : {}, ...void 0 !== n7 ? { partialSectionName: n7 } : {} }); +var ve = (e7, t5, n7) => new c({ code: "CONFIG_MISSING_VALUE", key: l(e7), source: t5, line: n7 }); +var Oe = (e7) => new c({ code: "MERGE_DRIVER_MISSING_COMMAND", name: e7 }); +var Te = (e7, t5, n7, r8) => new c({ code: "CONFIG_BAD_NUMERIC_VALUE", key: l(e7), source: t5, value: l(n7), reason: r8 }); +var Ae = (e7, t5, n7) => new c({ code: "CONFIG_BAD_BOOLEAN_VALUE", key: l(e7), source: t5, value: l(n7) }); +var $e = (e7, t5, n7) => new c({ code: "CONFIG_BAD_BOOLEAN_LITERAL", key: l(e7), source: t5, value: l(n7) }); +var xe = (e7) => new c({ code: "CONFIG_BAD_DATE_VALUE", value: l(e7) }); +var Se = (e7, t5, n7, r8) => new c({ code: "CONFIG_INVALID_ENUM_VALUE", key: l(e7), source: t5, value: l(n7), line: r8 }); +var Ne = (e7) => new c({ code: "CONFIG_BAD_ZLIB_LEVEL", level: e7 }); +var Le = (e7, t5) => new c({ code: "CONFIG_INVALID_FILE", sectionName: e7, source: t5 }); +var Re = (e7, t5, n7, r8) => new c(void 0 === r8 ? { code: "CONFIG_MULTIPLE_VALUES", key: l(e7), count: t5, requested: n7 } : { code: "CONFIG_MULTIPLE_VALUES", key: l(e7), count: t5, requested: n7, scope: r8 }); +var ke = (e7, t5) => new c({ code: "CONFIG_SECTION_NOT_FOUND", name: l(e7), scope: t5 }); +var De = (e7, t5) => new c({ code: "CONFIG_SCOPE_NOT_AVAILABLE", scope: e7, reason: t5 }); +var Ue = () => new c({ code: "CONFIG_SYSTEM_PATH_UNRESOLVED" }); +var Ce = (e7, t5) => new c({ code: "MV_SOURCE_NOT_TRACKED", source: e7, destination: t5 }); +var Me = (e7, t5) => new c({ code: "MV_BAD_SOURCE", source: e7, destination: t5 }); +var Pe = (e7, t5) => new c({ code: "MV_DESTINATION_EXISTS", source: e7, destination: t5 }); +var Be = (e7, t5) => new c({ code: "MV_INTO_SELF", source: e7, destination: t5 }); +var Fe = (e7, t5) => new c({ code: "MV_DESTINATION_NOT_DIRECTORY", source: e7, destination: t5 }); +var He = (e7, t5) => new c({ code: "MV_DESTINATION_DIRECTORY_MISSING", source: e7, destination: t5 }); +var Ve = (e7, t5) => new c({ code: "MV_MULTIPLE_SOURCES_SAME_TARGET", source: e7, destination: t5 }); +var Ge = (e7, t5) => new c({ code: "MV_OVERLAPPING_SOURCES", child: e7, parent: t5 }); +var We = (e7) => new c({ code: "RM_STAGED_CHANGES", paths: e7 }); +var ze = (e7) => new c({ code: "RM_LOCAL_MODIFICATIONS", paths: e7 }); +var je = (e7) => new c({ code: "RM_STAGED_AND_LOCAL_CHANGES", paths: e7 }); +var Ke = () => new c({ code: "NO_INITIAL_COMMIT" }); +var Ye = (e7, t5) => new c({ code: "STASH_NOT_FOUND", index: e7, stackSize: t5 }); +var Xe = (e7) => new c({ code: "STASH_APPLY_WOULD_OVERWRITE", paths: e7 }); +var qe = (e7, t5) => new c({ code: "AMBIGUOUS_OID_PREFIX", prefix: e7, candidates: t5 }); +var Je = (e7) => new c({ code: "INVALID_SEQUENCER_TODO", reason: l(e7) }); +var Qe = (e7) => new c({ code: "CHERRY_PICK_MERGE_NO_MAINLINE", commit: e7 }); +var Ze = (e7) => new c({ code: "REVERT_MERGE_NO_MAINLINE", commit: e7 }); +var et = (e7) => new c({ code: "NO_NAMES", oid: e7 }); +var tt = (e7) => new c({ code: "NO_ANNOTATED_NAMES", oid: e7 }); +var nt = (e7) => new c({ code: "NO_REACHABLE_NAMES", oid: e7 }); +var rt = (e7) => new c({ code: "NO_EXACT_MATCH", oid: e7 }); +var ot = (e7) => new c({ code: "CANNOT_DESCRIBE", oid: e7 }); +var st = (e7) => new c({ code: "BUNDLE_EMPTY", reason: e7 }); +var it = (e7) => new c({ code: "BUNDLE_READ_FAILED", path: l(e7) }); +var at = (e7) => { + switch (e7.reason) { case "malformed-header": - return { ...e6, line: a(e6.line).slice(0, 256) }; + return { ...e7, line: l(e7.line).slice(0, 256) }; case "unknown-capability": - return { ...e6, capability: a(e6.capability).slice(0, 256) }; + return { ...e7, capability: l(e7.capability).slice(0, 256) }; case "unknown-hash-algorithm": - return { ...e6, algorithm: a(e6.algorithm).slice(0, 256) }; + return { ...e7, algorithm: l(e7.algorithm).slice(0, 256) }; case "not-a-bundle": - return e6; - } -}; -var nt = (e6, t5) => new o({ code: "BUNDLE_BAD_HEADER", path: a(e6), ...tt(t5) }); -var rt = (e6) => new o({ code: "BUNDLE_UNSUPPORTED_VERSION", version: e6 }); -var ot = (e6, t5) => new o({ code: "BUNDLE_PREREQUISITE_NOT_COMMIT", oid: e6, objectType: t5 }); -var st = (e6, t5, n6) => new o({ code: "BUNDLE_PREREQUISITE_ALGORITHM_MISMATCH", oid: e6, bundleAlgorithm: t5, localAlgorithm: n6 }); -var it = (e6) => new o({ code: "NOTES_ALREADY_EXIST", object: e6 }); -var at = (e6) => new o({ code: "NOTES_OBJECT_HAS_NONE", object: e6 }); -var ct = (e6) => new o({ code: "NOTES_REF_OUTSIDE", ref: e6 }); -var dt = (e6, t5) => new o(void 0 === t5 ? { code: "SIGNING_FAILED", reason: e6 } : { code: "SIGNING_FAILED", reason: e6, format: t5 }); -var ut = (e6) => new o({ code: "SIGNED_PUSH_UNSUPPORTED", remote: e6 }); -var lt = () => new o({ code: "PUSH_DETACHED_NO_REFSPEC" }); -var ft = () => new o({ code: "PUSH_DEFAULT_NOTHING" }); -var ht = (e6, t5) => new o({ code: "PUSH_REMOTE_NOT_UPSTREAM", remote: e6, branch: t5 }); -var gt = (e6, t5) => new o({ code: "PUSH_UPSTREAM_NAME_MISMATCH", branch: e6, upstream: t5 }); -var mt = (e6, t5, n6) => new o({ code: "INVALID_PUSH_DEFAULT", value: e6, source: t5, line: n6 }); -var pt = Array.from({ length: 256 }, (e6, t5) => t5.toString(16).padStart(2, "0")); -function wt(e6) { - const t5 = new Array(e6.length); - for (let n6 = 0; n6 < e6.length; n6++) t5[n6] = pt[e6[n6]]; + return e7; + } +}; +var ct = (e7, t5) => new c({ code: "BUNDLE_BAD_HEADER", path: l(e7), ...at(t5) }); +var dt = (e7) => new c({ code: "BUNDLE_UNSUPPORTED_VERSION", version: e7 }); +var ut = (e7, t5) => new c({ code: "BUNDLE_PREREQUISITE_NOT_COMMIT", oid: e7, objectType: t5 }); +var lt = (e7, t5, n7) => new c({ code: "BUNDLE_PREREQUISITE_ALGORITHM_MISMATCH", oid: e7, bundleAlgorithm: t5, localAlgorithm: n7 }); +var ft = (e7) => new c({ code: "NOTES_ALREADY_EXIST", object: e7 }); +var ht = (e7) => new c({ code: "NOTES_OBJECT_HAS_NONE", object: e7 }); +var gt = (e7) => new c({ code: "NOTES_REF_OUTSIDE", ref: e7 }); +var mt = (e7, t5) => new c(void 0 === t5 ? { code: "SIGNING_FAILED", reason: e7 } : { code: "SIGNING_FAILED", reason: e7, format: t5 }); +var pt = (e7) => new c({ code: "SIGNED_PUSH_UNSUPPORTED", remote: e7 }); +var wt = () => new c({ code: "PUSH_DETACHED_NO_REFSPEC" }); +var yt = () => new c({ code: "PUSH_DEFAULT_NOTHING" }); +var Et = (e7, t5) => new c({ code: "PUSH_REMOTE_NOT_UPSTREAM", remote: e7, branch: t5 }); +var bt = (e7, t5) => new c({ code: "PUSH_UPSTREAM_NAME_MISMATCH", branch: e7, upstream: t5 }); +var It = (e7, t5, n7) => new c({ code: "INVALID_PUSH_DEFAULT", value: e7, source: t5, line: n7 }); +var _t = Array.from({ length: 256 }, (e7, t5) => t5.toString(16).padStart(2, "0")); +function vt(e7) { + const t5 = new Array(e7.length); + for (let n7 = 0; n7 < e7.length; n7++) t5[n7] = _t[e7[n7]]; return t5.join(""); } -function yt(e6) { - if (e6.length % 2 != 0) throw new Error("Hex string must have even length"); - const t5 = new Uint8Array(e6.length / 2); - for (let n6 = 0; n6 < e6.length; n6 += 2) { - const r6 = Et(e6.charCodeAt(n6)), o6 = Et(e6.charCodeAt(n6 + 1)); - if (-1 === r6 || -1 === o6) throw new Error(`Invalid hex character at position ${n6}`); - t5[n6 / 2] = r6 << 4 | o6; +function Ot(e7) { + if (e7.length % 2 != 0) throw new Error("Hex string must have even length"); + const t5 = new Uint8Array(e7.length / 2); + for (let n7 = 0; n7 < e7.length; n7 += 2) { + const r8 = Tt(e7.charCodeAt(n7)), o5 = Tt(e7.charCodeAt(n7 + 1)); + if (-1 === r8 || -1 === o5) throw new Error(`Invalid hex character at position ${n7}`); + t5[n7 / 2] = r8 << 4 | o5; } return t5; } -function Et(e6) { - return e6 >= 48 && e6 <= 57 ? e6 - 48 : e6 >= 97 && e6 <= 102 ? e6 - 87 : -1; +function Tt(e7) { + return e7 >= 48 && e7 <= 57 ? e7 - 48 : e7 >= 97 && e7 <= 102 ? e7 - 87 : -1; } -function bt(e6, t5) { - const n6 = Math.min(e6.length, t5.length); - for (let r6 = 0; r6 < n6; r6++) if (e6[r6] !== t5[r6]) return e6[r6] - t5[r6]; - return e6.length - t5.length; +function At(e7, t5) { + const n7 = Math.min(e7.length, t5.length); + for (let r8 = 0; r8 < n7; r8++) if (e7[r8] !== t5[r8]) return e7[r8] - t5[r8]; + return e7.length - t5.length; } -function It(e6, t5) { - if (e6.length !== t5.length) return false; - for (let n6 = 0; n6 < e6.length; n6++) if (e6[n6] !== t5[n6]) return false; +function $t(e7) { + let t5 = 0; + for (const n8 of e7) t5 += n8.length; + const n7 = new Uint8Array(t5); + let r8 = 0; + for (const t6 of e7) n7.set(t6, r8), r8 += t6.length; + return n7; +} +function xt(e7, t5) { + if (e7.length !== t5.length) return false; + for (let n7 = 0; n7 < e7.length; n7++) if (e7[n7] !== t5[n7]) return false; return true; } -function _t(e6, t5, n6) { - for (let r6 = n6; r6 < e6.length; r6++) if (e6[r6] === t5) return r6; +function St(e7, t5, n7) { + for (let r8 = n7; r8 < e7.length; r8++) if (e7[r8] === t5) return r8; return -1; } -var vt = new TextEncoder(); -var Tt = new TextDecoder(); -function Ot(e6) { - return vt.encode(e6); -} -function $t(e6) { - return Tt.decode(e6); -} -function At(e6) { - const t5 = e6.indexOf("\n\n"); - return -1 === t5 ? { headerPart: e6, message: "" } : { headerPart: e6.slice(0, t5), message: e6.slice(t5 + 2) }; -} -function Nt(e6, t5) { - if (e6.includes("\n") || e6.includes(" ") || "" === e6) throw new Error(`invalid header key: ${e6}`); - const n6 = t5.split("\n"); - return [`${e6} ${n6[0]}`, ...n6.slice(1).map((e7) => ` ${e7}`)].join("\n"); -} -function St(e6) { - const t5 = e6.indexOf(" "); - return -1 === t5 ? { key: e6, value: "" } : { key: e6.slice(0, t5), value: e6.slice(t5 + 1) }; -} -var xt = (e6) => new o({ code: "INVALID_OBJECT_ID", value: e6 }); -var Lt = (e6) => new o({ code: "INVALID_OBJECT_HEADER", reason: e6 }); -var Rt = (e6, t5) => new o({ code: "INVALID_TREE_ENTRY", offset: e6, reason: t5 }); -var kt = (e6) => new o({ code: "INVALID_COMMIT", reason: e6 }); -var Dt = (e6) => new o({ code: "INVALID_TAG", reason: e6 }); -var Ut = (e6) => new o({ code: "INVALID_FILE_MODE", value: e6 }); -var Ct = (e6, t5) => new o({ code: "INVALID_IDENTITY", line: e6, reason: t5 }); -var Mt = (e6) => new o({ code: "OBJECT_NOT_FOUND", id: e6 }); -var Pt = (e6, t5) => new o({ code: "OBJECT_HASH_MISMATCH", expected: e6, actual: t5 }); -var Bt = (e6, t5, n6) => new o({ code: "UNEXPECTED_OBJECT_TYPE", expected: e6, actual: t5, id: n6 }); -var Ft = (e6) => new o({ code: "TREE_CYCLE_DETECTED", id: e6 }); -var Ht = (e6) => new o({ code: "TREE_DEPTH_EXCEEDED", depth: e6 }); -var Vt = (e6, t5) => new o({ code: "TREE_ENTRY_LIMIT_EXCEEDED", count: e6, limit: t5 }); -var Gt = (e6, t5, n6) => new o({ code: "OBJECT_TOO_LARGE", id: e6, actualSize: t5, limit: n6 }); -var Wt = { REGULAR: "100644", EXECUTABLE: "100755", SYMLINK: "120000", DIRECTORY: "40000", GITLINK: "160000" }; -var jt = new Set(Object.values(Wt)); -var zt = /* @__PURE__ */ new Map([["040000", Wt.DIRECTORY]]); -function Kt(e6) { - return (function(e7) { - if (!jt.has(e7)) throw Ut(e7); - return e7; - })(zt.get(e6) ?? e6); -} -function Yt(e6) { - return e6 === Wt.DIRECTORY; -} -var Xt = Ot(Wt.DIRECTORY); -var qt = Ot("040000"); -var Jt = Ot(Wt.REGULAR); -var Qt = Ot(Wt.EXECUTABLE); -var Zt = Ot(Wt.SYMLINK); -var en = Ot(Wt.GITLINK); -function tn(e6, t5, n6) { - for (let r6 = 0; r6 < n6.length; r6++) if (e6[t5 + r6] !== n6[r6]) return false; +var Nt = new TextEncoder(); +var Lt = new TextDecoder(); +function Rt(e7) { + return Nt.encode(e7); +} +function kt(e7) { + return Lt.decode(e7); +} +var Dt = new TextDecoder("utf-8", { ignoreBOM: true }); +function Ut(e7) { + return Dt.decode(e7); +} +function Ct(e7, t5) { + if (e7.includes("\n") || e7.includes(" ") || "" === e7) throw new Error(`invalid header key: ${e7}`); + const n7 = t5.split("\n"); + return [`${e7} ${n7[0]}`, ...n7.slice(1).map((e8) => ` ${e8}`)].join("\n"); +} +function Mt(e7) { + const t5 = e7.indexOf(" "); + return -1 === t5 ? { key: e7, value: "" } : { key: e7.slice(0, t5), value: e7.slice(t5 + 1) }; +} +var Pt = (e7) => new c({ code: "INVALID_OBJECT_ID", value: e7 }); +var Bt = (e7) => new c({ code: "INVALID_OBJECT_HEADER", reason: e7 }); +var Ft = (e7, t5) => new c({ code: "INVALID_TREE_ENTRY", offset: e7, reason: t5 }); +var Ht = (e7) => new c({ code: "INVALID_COMMIT", reason: e7 }); +var Vt = (e7) => new c({ code: "INVALID_TAG", reason: e7 }); +var Gt = (e7) => new c({ code: "INVALID_FILE_MODE", value: e7 }); +var Wt = (e7, t5) => new c({ code: "INVALID_IDENTITY", line: e7, reason: t5 }); +var zt = (e7) => new c({ code: "OBJECT_NOT_FOUND", id: e7 }); +var jt = (e7, t5) => new c({ code: "OBJECT_HASH_MISMATCH", expected: e7, actual: t5 }); +var Kt = (e7, t5, n7) => new c({ code: "UNEXPECTED_OBJECT_TYPE", expected: e7, actual: t5, id: n7 }); +var Yt = (e7) => new c({ code: "TREE_CYCLE_DETECTED", id: e7 }); +var Xt = (e7) => new c({ code: "TREE_DEPTH_EXCEEDED", depth: e7 }); +var qt = (e7, t5) => new c({ code: "TREE_ENTRY_LIMIT_EXCEEDED", count: e7, limit: t5 }); +var Jt = (e7, t5, n7) => new c({ code: "OBJECT_TOO_LARGE", id: e7, actualSize: t5, limit: n7 }); +var Qt = { REGULAR: "100644", EXECUTABLE: "100755", SYMLINK: "120000", DIRECTORY: "40000", GITLINK: "160000" }; +var Zt = new Set(Object.values(Qt)); +function en(e7) { + return (function(e8) { + if (!Zt.has(e8)) throw Gt(e8); + return e8; + })((function(e8) { + let t5 = 0; + for (; t5 < e8.length - 1 && "0" === e8[t5]; ) t5 += 1; + return e8.slice(t5); + })(e7)); +} +function tn(e7) { + return e7 === Qt.DIRECTORY; +} +var nn = Rt(Qt.DIRECTORY); +var rn = Rt(Qt.REGULAR); +var on = Rt(Qt.EXECUTABLE); +var sn = Rt(Qt.SYMLINK); +var an = Rt(Qt.GITLINK); +function cn(e7, t5, n7) { + for (let r8 = 0; r8 < n7.length; r8++) if (e7[t5 + r8] !== n7[r8]) return false; return true; } -function nn(e6) { - return e6.isSymbolicLink ? Wt.SYMLINK : 73 & e6.mode ? Wt.EXECUTABLE : Wt.REGULAR; +function dn(e7) { + return e7.isSymbolicLink ? Qt.SYMLINK : 73 & e7.mode ? Qt.EXECUTABLE : Qt.REGULAR; } -var rn = new TextEncoder(); -var sn = new Uint8Array([117, 115, 116, 97, 114, 0]); -var an = new Uint8Array([48, 48]); -var vn = (function() { - const e6 = new Uint32Array(256); +var un = new TextEncoder(); +var fn = new Uint8Array([117, 115, 116, 97, 114, 0]); +var hn = new Uint8Array([48, 48]); +var Sn = (function() { + const e7 = new Uint32Array(256); for (let t5 = 0; t5 < 256; t5++) { - let n6 = t5; - for (let e7 = 0; e7 < 8; e7++) n6 = 1 & n6 ? 3988292384 ^ n6 >>> 1 : n6 >>> 1; - e6[t5] = n6; + let n7 = t5; + for (let e8 = 0; e8 < 8; e8++) n7 = 1 & n7 ? 3988292384 ^ n7 >>> 1 : n7 >>> 1; + e7[t5] = n7; } - return e6; + return e7; })(); -function Tn(e6) { +function Nn(e7) { let t5 = 4294967295; - for (let n6 = 0; n6 < e6.length; n6++) t5 = vn[255 & (t5 ^ e6[n6])] ^ t5 >>> 8; + for (let n7 = 0; n7 < e7.length; n7++) t5 = Sn[255 & (t5 ^ e7[n7])] ^ t5 >>> 8; return (4294967295 ^ t5) >>> 0; } -var On = new Uint8Array([80, 75, 3, 4]); -var $n = new Uint8Array([80, 75, 1, 2]); -var An = new Uint8Array([80, 75, 5, 6]); -var xn = new TextEncoder(); -var Vn = (e6) => /[a-zA-Z0-9-]/.test(e6); -var Gn = (e6) => { - if (!/[a-zA-Z]/.test(e6[0])) return 0; - for (let t5 = 1; t5 < e6.length; t5 += 1) if (!Vn(e6[t5])) return t5; -}; -var Wn = /[\n\0]/; -var jn = (e6) => { - const t5 = e6.indexOf("."); - if (-1 === t5) throw me(e6, "missing-name"); - const n6 = e6.slice(0, t5), r6 = e6.lastIndexOf("."), o6 = e6.slice(r6 + 1), s9 = t5 === r6 ? void 0 : e6.slice(t5 + 1, r6); - if (0 === n6.length && void 0 === s9) throw me(e6, "empty-section"); - if (0 === o6.length) throw me(e6, "missing-name"); - if (n6.length > 0) { - const t6 = Gn(n6); - if (void 0 !== t6) throw me(e6, "bad-character", t6); - } - const i7 = Gn(o6); - if (void 0 !== i7) throw me(e6, "bad-character", r6 + 1 + i7); - if (void 0 !== s9 && Wn.test(s9)) { - const n7 = s9.search(Wn); - throw me(e6, "bad-character", t5 + 1 + n7); - } - return { section: n6.toLowerCase(), subsection: s9, name: o6.toLowerCase() }; -}; -var zn = (e6) => { - const t5 = void 0 !== e6.stage1, n6 = void 0 !== e6.stage2, r6 = void 0 !== e6.stage3; - return t5 && n6 && r6 ? "both-modified" : n6 && r6 ? "both-added" : t5 && n6 ? "deleted-by-them" : t5 && r6 ? "deleted-by-us" : t5 ? "both-deleted" : n6 ? "added-by-us" : "added-by-them"; -}; -var Kn = (e6) => new o({ code: "INVALID_TREE_FOR_DIFF", reason: e6 }); -var Yn = (e6) => new o({ code: "INVALID_DIFF_INPUT", reason: e6 }); -var Xn = 1e6; -var qn = 2048; -var Jn = (e6) => new o({ code: "INVALID_INDEX_HEADER", reason: e6 }); -var Qn = (e6, t5) => new o({ code: "INVALID_INDEX_ENTRY", offset: e6, reason: t5 }); -var Zn = { assumeValid: false, stage: 0, skipWorktree: false, intentToAdd: false }; -var er = (e6) => ({ ctimeSeconds: 0, ctimeNanoseconds: 0, mtimeSeconds: 0, mtimeNanoseconds: 0, dev: 0, ino: 0, mode: e6.mode, uid: 0, gid: 0, fileSize: 0, id: e6.id, flags: { ...Zn, skipWorktree: true }, path: e6.path }); -function tr(e6) { - const t5 = e6.lastIndexOf(">"); - if (-1 === t5) throw Ct(e6, "missing closing angle bracket"); - const n6 = e6.lastIndexOf("<", t5); - if (-1 === n6) throw Ct(e6, "missing opening angle bracket"); - const r6 = e6.slice(0, n6), o6 = r6.endsWith(" ") ? r6.slice(0, -1) : r6, s9 = e6.slice(n6 + 1, t5), i7 = e6.slice(t5 + 1).trim().split(/\s+/); - if (i7.length < 2) throw Ct(e6, "missing timestamp or timezone"); - const a6 = Number(i7[0]); - if (!Number.isSafeInteger(a6)) throw Ct(e6, "invalid timestamp"); - const c6 = i7[1]; - if (!/^[+-]\d{4}$/.test(c6)) throw Ct(e6, "invalid timezone offset"); - return { name: o6, email: s9, timestamp: a6, timezoneOffset: c6 }; -} -var nr = /[\n\r\0]/; -function rr(e6) { - const t5 = `${e6.name} <${e6.email}>`; - if (nr.test(e6.name)) throw Ct(t5, "name contains forbidden control character"); - if (nr.test(e6.email)) throw Ct(t5, "email contains forbidden control character"); - if (nr.test(e6.timezoneOffset)) throw Ct(t5, "timezoneOffset contains forbidden control character"); - if (e6.name.includes("<") || e6.name.includes(">")) throw Ct(t5, "invalid identity fields"); - if (e6.email.includes("<") || e6.email.includes(">")) throw Ct(t5, "invalid identity fields"); - if (!/^[+-]\d{4}$/.test(e6.timezoneOffset)) throw Ct(t5, "invalid identity fields"); - return `${e6.name} <${e6.email}> ${e6.timestamp} ${e6.timezoneOffset}`; -} -function or(e6) { - return e6 >= 48 && e6 <= 57 || e6 >= 97 && e6 <= 102; -} -var sr = { from(e6) { - if (!(function(e7) { - if (40 !== e7.length && 64 !== e7.length) return false; - for (let t5 = 0; t5 < e7.length; t5 += 1) if (!or(e7.charCodeAt(t5))) return false; +var Ln = new Uint8Array([80, 75, 3, 4]); +var Rn = new Uint8Array([80, 75, 1, 2]); +var kn = new Uint8Array([80, 75, 5, 6]); +var Cn = new TextEncoder(); +var Yn = (e7) => /[a-zA-Z0-9-]/.test(e7); +var Xn = (e7) => { + if (!/[a-zA-Z]/.test(e7[0])) return 0; + for (let t5 = 1; t5 < e7.length; t5 += 1) if (!Yn(e7[t5])) return t5; +}; +var qn = /[\n\0]/; +var Jn = (e7) => { + const t5 = e7.indexOf("."); + if (-1 === t5) throw be(e7, "missing-name"); + const n7 = e7.slice(0, t5), r8 = e7.lastIndexOf("."), o5 = e7.slice(r8 + 1), s8 = t5 === r8 ? void 0 : e7.slice(t5 + 1, r8); + if (0 === n7.length && void 0 === s8) throw be(e7, "empty-section"); + if (0 === o5.length) throw be(e7, "missing-name"); + if (n7.length > 0) { + const t6 = Xn(n7); + if (void 0 !== t6) throw be(e7, "bad-character", t6); + } + const i11 = Xn(o5); + if (void 0 !== i11) throw be(e7, "bad-character", r8 + 1 + i11); + if (void 0 !== s8 && qn.test(s8)) { + const n8 = s8.search(qn); + throw be(e7, "bad-character", t5 + 1 + n8); + } + return { section: n7.toLowerCase(), subsection: s8, name: o5.toLowerCase() }; +}; +var Qn = (e7) => { + const t5 = void 0 !== e7.stage1, n7 = void 0 !== e7.stage2, r8 = void 0 !== e7.stage3; + return t5 && n7 && r8 ? "both-modified" : n7 && r8 ? "both-added" : t5 && n7 ? "deleted-by-them" : t5 && r8 ? "deleted-by-us" : t5 ? "both-deleted" : n7 ? "added-by-us" : "added-by-them"; +}; +var Zn = (e7) => new c({ code: "INVALID_TREE_FOR_DIFF", reason: e7 }); +var er = (e7) => new c({ code: "INVALID_DIFF_INPUT", reason: e7 }); +var tr = 1e6; +var nr = 2048; +var rr = (e7) => new c({ code: "INVALID_INDEX_HEADER", reason: e7 }); +var or = (e7, t5) => new c({ code: "INVALID_INDEX_ENTRY", offset: e7, reason: t5 }); +var sr = { assumeValid: false, stage: 0, skipWorktree: false, intentToAdd: false }; +var ir = (e7) => ({ ctimeSeconds: 0, ctimeNanoseconds: 0, mtimeSeconds: 0, mtimeNanoseconds: 0, dev: 0, ino: 0, mode: e7.mode, uid: 0, gid: 0, fileSize: 0, id: e7.id, flags: { ...sr, skipWorktree: true }, path: e7.path }); +function ar(e7) { + const t5 = e7.lastIndexOf(">"); + if (-1 === t5) throw Wt(e7, "missing closing angle bracket"); + const n7 = e7.lastIndexOf("<", t5); + if (-1 === n7) throw Wt(e7, "missing opening angle bracket"); + const r8 = e7.slice(0, n7), o5 = r8.endsWith(" ") ? r8.slice(0, -1) : r8, s8 = e7.slice(n7 + 1, t5), i11 = e7.slice(t5 + 1).trim().split(/\s+/); + if (i11.length < 2) throw Wt(e7, "missing timestamp or timezone"); + const a4 = Number(i11[0]); + if (!Number.isSafeInteger(a4)) throw Wt(e7, "invalid timestamp"); + const c5 = i11[1]; + if (!/^[+-]\d{4}$/.test(c5)) throw Wt(e7, "invalid timezone offset"); + return { name: o5, email: s8, timestamp: a4, timezoneOffset: c5 }; +} +var cr = /[\n\r\0]/; +function dr(e7) { + const t5 = `${e7.name} <${e7.email}>`; + if (cr.test(e7.name)) throw Wt(t5, "name contains forbidden control character"); + if (cr.test(e7.email)) throw Wt(t5, "email contains forbidden control character"); + if (cr.test(e7.timezoneOffset)) throw Wt(t5, "timezoneOffset contains forbidden control character"); + if (e7.name.includes("<") || e7.name.includes(">")) throw Wt(t5, "invalid identity fields"); + if (e7.email.includes("<") || e7.email.includes(">")) throw Wt(t5, "invalid identity fields"); + if (!/^[+-]\d{4}$/.test(e7.timezoneOffset)) throw Wt(t5, "invalid identity fields"); + return `${e7.name} <${e7.email}> ${e7.timestamp} ${e7.timezoneOffset}`; +} +function ur(e7) { + return e7 >= 48 && e7 <= 57 || e7 >= 97 && e7 <= 102; +} +var lr = { from(e7) { + if (!(function(e8) { + if (40 !== e8.length && 64 !== e8.length) return false; + for (let t5 = 0; t5 < e8.length; t5 += 1) if (!ur(e8.charCodeAt(t5))) return false; return true; - })(e6)) throw xt(e6); - return e6; -}, fromRaw(e6) { - if (20 !== e6.length && 32 !== e6.length) throw xt(`raw bytes length ${e6.length} is not 20 or 32`); - return wt(e6); + })(e7)) throw Pt(e7); + return e7; +}, fromTrustedHex(e7) { + if (40 !== e7.length && 64 !== e7.length) throw Pt(e7); + return e7; +}, fromRaw(e7) { + if (20 !== e7.length && 32 !== e7.length) throw Pt(`raw bytes length ${e7.length} is not 20 or 32`); + return vt(e7); } }; -var ir = sr.from("0000000000000000000000000000000000000000"); -var ar = sr.from("0000000000000000000000000000000000000000000000000000000000000000"); -function cr(e6) { - return "sha256" === e6.algorithm ? ar : ir; -} -var dr = sr.from("4b825dc642cb6eb9a060e54bf8d69288fbee4904"); -var ur = sr.from("6ef19b41225c5369f1c104d45d8d85efa9b057b53b14b4b9b939dd74decc5321"); -function lr(e6) { - return "sha256" === e6.algorithm ? ur : dr; -} -var fr = { from(e6) { - if ("" === e6) throw new Error("RefName must not be empty"); - return e6; +var fr = lr.from("0000000000000000000000000000000000000000"); +var hr = lr.from("0000000000000000000000000000000000000000000000000000000000000000"); +function gr(e7) { + return "sha256" === e7.algorithm ? hr : fr; +} +var mr = lr.from("4b825dc642cb6eb9a060e54bf8d69288fbee4904"); +var pr = lr.from("6ef19b41225c5369f1c104d45d8d85efa9b057b53b14b4b9b939dd74decc5321"); +function wr(e7) { + return "sha256" === e7.algorithm ? pr : mr; +} +var yr = { from(e7) { + if ("" === e7) throw new Error("RefName must not be empty"); + return e7; } }; -var hr = { from(e6) { - if ("" === e6) throw new Error("FilePath must not be empty"); - return e6; +var Er = { from(e7) { + if ("" === e7) throw new Error("FilePath must not be empty"); + return e7; } }; -function gr(e6, t5) { - const { headerPart: n6, message: r6 } = At($t(t5)), o6 = n6.split("\n"), { tree: s9, parents: i7, author: a6, committer: c6, nextIndex: d5 } = (function(e7) { - if (!e7[0].startsWith("tree ")) throw kt("first line must be tree"); - const t6 = sr.from(e7[0].slice(5)), n7 = []; - let r7 = 1; - for (; r7 < e7.length && e7[r7].startsWith("parent "); ) n7.push(sr.from(e7[r7].slice(7))), r7++; - if (r7 >= e7.length || !e7[r7].startsWith("author ")) throw kt("missing author"); - const o7 = tr(e7[r7].slice(7)); - if (r7++, r7 >= e7.length || !e7[r7].startsWith("committer ")) throw kt("missing committer"); - const s10 = tr(e7[r7].slice(10)); - return r7++, { tree: t6, parents: n7, author: o7, committer: s10, nextIndex: r7 }; - })(o6), { gpgSignature: u6, extraHeaders: l4 } = (function(e7, t6) { - return (function(e8, t7, n7, r7) { - let o7; - const s10 = []; - let i8 = t7; - for (; i8 < e8.length; ) { - const { key: t8, value: a7 } = St(e8[i8]); - "" === t8 && n7("unexpected continuation line without preceding header"); - const c7 = [a7]; - let d6 = i8; - for (let t9 = i8 + 1; t9 < e8.length; t9++) { - const n8 = e8[t9]; - if (!n8.startsWith(" ")) break; - c7.push(n8.slice(1)), d6 = t9; - } - i8 = d6 + 1; - const u7 = c7.join("\n"); - "gpgsig" === t8 ? (void 0 !== o7 && r7("duplicate gpgsig header"), o7 = u7) : s10.push({ key: t8, value: u7 }); - } - return { gpgSignature: o7, extraHeaders: s10 }; - })(e7, t6, (e8) => { - throw kt(e8); - }, (e8) => { - throw kt(e8); +function br(e7, [t5, n7], r8) { + if (n7 - t5 < r8.length) return false; + for (let n8 = 0; n8 < r8.length; n8++) if (e7[t5 + n8] !== r8.charCodeAt(n8)) return false; + return true; +} +function Ir(e7, [t5, n7], r8) { + return Ut(e7.subarray(t5 + r8, n7)); +} +function _r(e7, t5) { + const n7 = (function(e8) { + let t6 = 0; + for (; ; ) { + const n8 = St(e8, 10, t6); + if (-1 === n8) return -1; + if (10 === e8[n8 + 1]) return n8; + t6 = n8 + 1; + } + })(t5), r8 = -1 === n7 ? t5 : t5.subarray(0, n7), o5 = -1 === n7 ? "" : Ut(t5.subarray(n7 + 2)), s8 = (function(e8) { + const t6 = []; + let n8 = 0; + for (; ; ) { + const r9 = St(e8, 10, n8); + if (-1 === r9) return t6.push([n8, e8.length]), t6; + t6.push([n8, r9]), n8 = r9 + 1; + } + })(r8), { tree: i11, parents: a4, author: c5, committer: d6, nextIndex: u6 } = (function(e8, t6) { + if (!br(e8, t6[0], "tree ")) throw Ht("first line must be tree"); + const n8 = lr.from(Ir(e8, t6[0], 5)), r9 = []; + let o6 = 1; + for (; o6 < t6.length && br(e8, t6[o6], "parent "); ) r9.push(lr.from(Ir(e8, t6[o6], 7))), o6++; + if (o6 >= t6.length || !br(e8, t6[o6], "author ")) throw Ht("missing author"); + const s9 = ar(Ir(e8, t6[o6], 7)); + if (o6++, o6 >= t6.length || !br(e8, t6[o6], "committer ")) throw Ht("missing committer"); + const i12 = ar(Ir(e8, t6[o6], 10)); + return o6++, { tree: n8, parents: r9, author: s9, committer: i12, nextIndex: o6 }; + })(r8, s8), { gpgSignature: l4, extraHeaders: f2 } = (function(e8, t6, n8) { + return (function(e9, t7, n9, r9) { + let o6; + const s9 = []; + let i12 = 0; + for (; i12 < e9.length; ) { + const { key: t8, value: a5 } = Mt(e9[i12]); + "" === t8 && n9("unexpected continuation line without preceding header"); + const c6 = [a5]; + let d7 = i12; + for (let t9 = i12 + 1; t9 < e9.length; t9++) { + const n10 = e9[t9]; + if (!n10.startsWith(" ")) break; + c6.push(n10.slice(1)), d7 = t9; + } + i12 = d7 + 1; + const u7 = c6.join("\n"); + "gpgsig" === t8 ? (void 0 !== o6 && r9("duplicate gpgsig header"), o6 = u7) : s9.push({ key: t8, value: u7 }); + } + return { gpgSignature: o6, extraHeaders: s9 }; + })(t6.slice(n8).map(([t7, n9]) => Ut(e8.subarray(t7, n9))), 0, (e9) => { + throw Ht(e9); + }, (e9) => { + throw Ht(e9); }); - })(o6, d5); - return { type: "commit", id: e6, data: { tree: s9, parents: i7, author: a6, committer: c6, message: r6, ...void 0 !== u6 ? { gpgSignature: u6 } : {}, extraHeaders: l4 } }; -} -function mr(e6) { - const t5 = [], { data: n6 } = e6; - t5.push(`tree ${n6.tree}`); - for (const e7 of n6.parents) t5.push(`parent ${e7}`); - t5.push(`author ${rr(n6.author)}`), t5.push(`committer ${rr(n6.committer)}`), void 0 !== n6.gpgSignature && t5.push(Nt("gpgsig", n6.gpgSignature)); - for (const e7 of n6.extraHeaders) t5.push(Nt(e7.key, e7.value)); - return Ot(`${t5.join("\n")} + })(r8, s8, u6); + return { type: "commit", id: e7, data: Object.freeze({ tree: i11, parents: Object.freeze(a4), author: c5, committer: d6, message: o5, ...void 0 !== l4 ? { gpgSignature: l4 } : {}, extraHeaders: Object.freeze(f2) }) }; +} +function vr(e7) { + const t5 = [], { data: n7 } = e7; + t5.push(`tree ${n7.tree}`); + for (const e8 of n7.parents) t5.push(`parent ${e8}`); + t5.push(`author ${dr(n7.author)}`), t5.push(`committer ${dr(n7.committer)}`), void 0 !== n7.gpgSignature && t5.push(Ct("gpgsig", n7.gpgSignature)); + for (const e8 of n7.extraHeaders) t5.push(Ct(e8.key, e8.value)); + return Rt(`${t5.join("\n")} -${n6.message}`); +${n7.message}`); } -var pr = /[ \t\v\f\r]+$/; -var wr = (e6) => { - const t5 = e6.indexOf("\n"); - return -1 === t5 ? e6 : e6.slice(0, t5); +var Or = /[ \t\v\f\r]+$/; +var Tr = (e7) => { + const t5 = e7.indexOf("\n"); + return -1 === t5 ? e7 : e7.slice(0, t5); }; -var yr = (e6) => { +var Ar = (e7) => { const t5 = []; - for (const n6 of e6.split("\n")) { - const e7 = n6.replace(pr, ""); - if ("" !== e7) t5.push(e7); + for (const n7 of e7.split("\n")) { + const e8 = n7.replace(Or, ""); + if ("" !== e8) t5.push(e8); else if (t5.length > 0) break; } return t5.join(" "); }; -var Er = (e6) => { +var $r = (e7) => { const t5 = []; - for (const n6 of e6.split("\n")) { - const e7 = n6.replace(pr, ""); - ("" !== e7 || 0 !== t5.length && "" !== t5[t5.length - 1]) && t5.push(e7); + for (const n7 of e7.split("\n")) { + const e8 = n7.replace(Or, ""); + ("" !== e8 || 0 !== t5.length && "" !== t5[t5.length - 1]) && t5.push(e8); } return "" === t5[t5.length - 1] && t5.pop(), 0 === t5.length ? "" : `${t5.join("\n")} `; }; -var br = /* @__PURE__ */ new Set(["blob", "tree", "commit", "tag"]); -function Ir(e6) { - const t5 = _t(e6, 0, 0); - if (-1 === t5) throw Lt("missing null terminator"); - const n6 = $t(e6.subarray(0, t5)), r6 = n6.indexOf(" "); - if (-1 === r6) throw Lt("missing space between type and size"); - const o6 = n6.slice(0, r6); - if (!br.has(o6)) throw Lt(`unknown object type: ${o6}`); - const s9 = n6.slice(r6 + 1), i7 = Number(s9); - if (!Number.isFinite(i7) || i7 < 0 || s9 !== String(i7)) throw Lt(`invalid size: ${s9}`); - return { type: o6, size: i7, contentOffset: t5 + 1 }; -} -var _r = /* @__PURE__ */ new Set(["blob", "tree", "commit", "tag"]); -var vr = /-----BEGIN (?:PGP|SSH) SIGNATURE-----[\s\S]*-----END (?:PGP|SSH) SIGNATURE-----\n?$/; -function Tr(e6, t5) { - const { headerPart: n6, message: r6 } = At($t(t5)), o6 = n6.split("\n"), { object: s9, objectType: i7, tagName: a6, nextIndex: c6 } = (function(e7) { - if (!e7[0].startsWith("object ")) throw Dt("first line must be object"); - const t6 = sr.from(e7[0].slice(7)); - if (e7.length < 2 || !e7[1].startsWith("type ")) throw Dt("second line must be type"); - const n7 = e7[1].slice(5); - if (!_r.has(n7)) throw Dt(`invalid object type: ${n7}`); - if (e7.length < 3 || !e7[2].startsWith("tag ")) throw Dt("third line must be tag name"); - const r7 = e7[2].slice(4); - if ("" === r7 || r7.includes("\0") || r7.includes("\n")) throw Dt(`invalid tag name: ${r7}`); - return { object: t6, objectType: n7, tagName: r7, nextIndex: 3 }; - })(o6), { tagger: d5, nextIndex: u6 } = (function(e7, t6) { - return t6 < e7.length && e7[t6].startsWith("tagger ") ? { tagger: tr(e7[t6].slice(7)), nextIndex: t6 + 1 } : { tagger: void 0, nextIndex: t6 }; - })(o6, c6), { extraHeaders: l4 } = (function(e7, t6) { - const n7 = []; - let r7 = t6; - for (; r7 < e7.length; ) { - const { key: t7, value: o7 } = St(e7[r7]); - if ("" === t7) throw Dt("unexpected continuation line without preceding header"); - const s10 = [o7]; - let i8 = r7; - for (let t8 = r7 + 1; t8 < e7.length; t8++) { - const n8 = e7[t8]; - if (!n8.startsWith(" ")) break; - s10.push(n8.slice(1)), i8 = t8; - } - r7 = i8 + 1, n7.push({ key: t7, value: s10.join("\n") }); - } - return { extraHeaders: n7 }; - })(o6, u6), { message: f2, gpgSignature: h6 } = (function(e7) { - const t6 = vr.exec(e7); - return null === t6 ? { message: e7, gpgSignature: void 0 } : { message: e7.slice(0, t6.index), gpgSignature: t6[0] }; - })(r6); - return { type: "tag", id: e6, data: { object: s9, objectType: i7, tagName: a6, ...void 0 !== d5 ? { tagger: d5 } : {}, message: f2, ...void 0 !== h6 ? { gpgSignature: h6 } : {}, extraHeaders: l4 } }; -} -function Or(e6) { - const t5 = [], { data: n6 } = e6; - if (t5.push(`object ${n6.object}`), t5.push(`type ${n6.objectType}`), "" === n6.tagName || n6.tagName.includes("\n") || n6.tagName.includes("\0")) throw Dt(`invalid tag name: ${n6.tagName}`); - t5.push(`tag ${n6.tagName}`), void 0 !== n6.tagger && t5.push(`tagger ${rr(n6.tagger)}`); - for (const e7 of n6.extraHeaders) t5.push(Nt(e7.key, e7.value)); - return Ot(`${t5.join("\n")} +var xr = /* @__PURE__ */ new Set(["blob", "tree", "commit", "tag"]); +function Sr(e7) { + const t5 = St(e7, 0, 0); + if (-1 === t5) throw Bt("missing null terminator"); + const n7 = kt(e7.subarray(0, t5)), r8 = n7.indexOf(" "); + if (-1 === r8) throw Bt("missing space between type and size"); + const o5 = n7.slice(0, r8); + if (!xr.has(o5)) throw Bt(`unknown object type: ${o5}`); + const s8 = n7.slice(r8 + 1), i11 = Number(s8); + if (!Number.isFinite(i11) || i11 < 0 || s8 !== String(i11)) throw Bt(`invalid size: ${s8}`); + return { type: o5, size: i11, contentOffset: t5 + 1 }; +} +var Nr = /* @__PURE__ */ new Set(["blob", "tree", "commit", "tag"]); +var Lr = /-----BEGIN (?:PGP|SSH) SIGNATURE-----[\s\S]*-----END (?:PGP|SSH) SIGNATURE-----\n?$/; +function Rr(e7, t5) { + const { headerPart: n7, message: r8 } = (function(e8) { + const t6 = e8.indexOf("\n\n"); + return -1 === t6 ? { headerPart: e8, message: "" } : { headerPart: e8.slice(0, t6), message: e8.slice(t6 + 2) }; + })(Ut(t5)), o5 = n7.split("\n"), { object: s8, objectType: i11, tagName: a4, nextIndex: c5 } = (function(e8) { + if (!e8[0].startsWith("object ")) throw Vt("first line must be object"); + const t6 = lr.from(e8[0].slice(7)); + if (e8.length < 2 || !e8[1].startsWith("type ")) throw Vt("second line must be type"); + const n8 = e8[1].slice(5); + if (!Nr.has(n8)) throw Vt(`invalid object type: ${n8}`); + if (e8.length < 3 || !e8[2].startsWith("tag ")) throw Vt("third line must be tag name"); + const r9 = e8[2].slice(4); + if ("" === r9 || r9.includes("\0") || r9.includes("\n")) throw Vt(`invalid tag name: ${r9}`); + return { object: t6, objectType: n8, tagName: r9, nextIndex: 3 }; + })(o5), { tagger: d6, nextIndex: u6 } = (function(e8, t6) { + return t6 < e8.length && e8[t6].startsWith("tagger ") ? { tagger: ar(e8[t6].slice(7)), nextIndex: t6 + 1 } : { tagger: void 0, nextIndex: t6 }; + })(o5, c5), { extraHeaders: l4 } = (function(e8, t6) { + const n8 = []; + let r9 = t6; + for (; r9 < e8.length; ) { + const { key: t7, value: o6 } = Mt(e8[r9]); + if ("" === t7) throw Vt("unexpected continuation line without preceding header"); + const s9 = [o6]; + let i12 = r9; + for (let t8 = r9 + 1; t8 < e8.length; t8++) { + const n9 = e8[t8]; + if (!n9.startsWith(" ")) break; + s9.push(n9.slice(1)), i12 = t8; + } + r9 = i12 + 1, n8.push({ key: t7, value: s9.join("\n") }); + } + return { extraHeaders: n8 }; + })(o5, u6), { message: f2, gpgSignature: h5 } = (function(e8) { + const t6 = Lr.exec(e8); + return null === t6 ? { message: e8, gpgSignature: void 0 } : { message: e8.slice(0, t6.index), gpgSignature: t6[0] }; + })(r8); + return { type: "tag", id: e7, data: Object.freeze({ object: s8, objectType: i11, tagName: a4, ...void 0 !== d6 ? { tagger: d6 } : {}, message: f2, ...void 0 !== h5 ? { gpgSignature: h5 } : {}, extraHeaders: Object.freeze(l4) }) }; +} +function kr(e7) { + const t5 = [], { data: n7 } = e7; + if (t5.push(`object ${n7.object}`), t5.push(`type ${n7.objectType}`), "" === n7.tagName || n7.tagName.includes("\n") || n7.tagName.includes("\0")) throw Vt(`invalid tag name: ${n7.tagName}`); + t5.push(`tag ${n7.tagName}`), void 0 !== n7.tagger && t5.push(`tagger ${dr(n7.tagger)}`); + for (const e8 of n7.extraHeaders) t5.push(Ct(e8.key, e8.value)); + return Rt(`${t5.join("\n")} -${void 0 !== n6.gpgSignature ? `${n6.message}${n6.gpgSignature}` : n6.message}`); -} -function $r(e6, t5) { - const n6 = Ar(e6.entries).map((e7) => ({ mode: Ot(e7.mode), name: Ot(e7.name), hash: yt(e7.id) })), r6 = n6.reduce((e7, n7) => e7 + n7.mode.length + 1 + n7.name.length + 1 + t5.digestLength, 0), o6 = new Uint8Array(r6); - let s9 = 0; - for (const e7 of n6) o6.set(e7.mode, s9), s9 += e7.mode.length, o6[s9++] = 32, o6.set(e7.name, s9), s9 += e7.name.length, o6[s9++] = 0, o6.set(e7.hash, s9), s9 += e7.hash.length; - return o6; -} -function Ar(e6) { - const t5 = e6.map((e7) => ({ entry: e7, sortKey: Nr(e7.name, Yt(e7.mode)) })); - return t5.sort((e7, t6) => bt(e7.sortKey, t6.sortKey)), t5.map((e7) => e7.entry); -} -function Nr(e6, t5) { - const n6 = Ot(e6); - if (!t5) return n6; - const r6 = new Uint8Array(n6.length + 1); - return r6.set(n6), r6[n6.length] = 47, r6; -} -function Sr(e6) { - const { type: t5, size: n6, contentOffset: r6 } = Ir(e6), o6 = e6.subarray(r6); - if (o6.length !== n6) throw Lt(`size mismatch: header says ${n6}, actual content is ${o6.length}`); - return { type: t5, content: o6, bytes: e6 }; -} -function xr(e6, t5, n6) { - const { type: r6, content: o6 } = Sr(t5); - switch (r6) { +${void 0 !== n7.gpgSignature ? `${n7.message}${n7.gpgSignature}` : n7.message}`); +} +function Dr(e7, t5, n7) { + for (let r8 = t5; r8 < n7; r8++) { + const t6 = e7[r8]; + if (t6 < 48 || t6 > 55) return true; + } + return false; +} +function Ur(e7, t5, n7) { + let r8 = ""; + for (let o5 = t5; o5 < n7; o5 += 1024) { + const t6 = Math.min(o5 + 1024, n7); + r8 += Reflect.apply(String.fromCharCode, null, e7.subarray(o5, t6)); + } + return r8; +} +var Cr = /* @__PURE__ */ new Set([8204, 8205, 8206, 8207, 8234, 8235, 8236, 8237, 8238, 8298, 8299, 8300, 8301, 8302, 8303, 65279]); +var Mr = new TextDecoder("utf-8", { ignoreBOM: true }); +function Pr(e7) { + return e7 >= 65 && e7 <= 90 ? e7 + 32 : e7; +} +function Br(e7, t5, n7) { + for (let r8 = t5; r8 < n7; r8++) { + const t6 = e7[r8]; + if (46 !== t6 && 32 !== t6) return false; + } + return true; +} +function Fr(e7, t5, n7) { + for (let r8 = 0; r8 < n7.length; r8++) if (Pr(e7[t5 + r8]) !== n7.charCodeAt(r8)) return false; + return true; +} +function Hr(e7, t5, n7, r8) { + return (function(e8, t6, n8, r9) { + const o5 = Mr.decode(e8.subarray(t6, n8)), s8 = r9.length + 1; + let i11 = 0; + for (const e9 of o5) { + const t7 = e9.codePointAt(0); + if (Cr.has(t7)) continue; + if (i11 >= s8) return false; + const n9 = 0 === i11 ? 46 : r9.charCodeAt(i11 - 1); + if (Pr(t7) !== n9) return false; + i11++; + } + return i11 === s8; + })(e7, t5, n7, r8) || (function(e8, t6, n8, r9) { + const o5 = n8 - t6, s8 = `.${r9}`; + if (o5 >= s8.length && Fr(e8, t6, s8) && Br(e8, t6 + s8.length, n8)) return true; + if ("git" === r9) { + const r10 = "git~1"; + return o5 >= r10.length && Fr(e8, t6, r10) && Br(e8, t6 + r10.length, n8); + } + const i11 = r9.slice(0, 6), a4 = t6 + i11.length + 1; + return o5 >= i11.length + 2 && Fr(e8, t6, i11) && 126 === e8[t6 + i11.length] && e8[a4] >= 49 && e8[a4] <= 52 && Br(e8, a4 + 1, n8); + })(e7, t5, n7, r8); +} +function Vr(e7, t5, n7) { + const r8 = "string" == typeof t5 ? Rt(t5) : new Uint8Array(t5); + return { mode: e7, name: Ut(r8), nameBytes: r8, id: n7 }; +} +function Gr(e7, t5, n7) { + return { mode: e7, name: Ut(t5), nameBytes: t5, id: n7 }; +} +function Wr(e7, t5) { + const n7 = zr(e7.entries).map((e8) => ({ mode: Rt(e8.mode), name: e8.nameBytes, hash: Ot(e8.id) })), r8 = n7.reduce((e8, n8) => e8 + n8.mode.length + 1 + n8.name.length + 1 + t5.digestLength, 0), o5 = new Uint8Array(r8); + let s8 = 0; + for (const e8 of n7) o5.set(e8.mode, s8), s8 += e8.mode.length, o5[s8++] = 32, o5.set(e8.name, s8), s8 += e8.name.length, o5[s8++] = 0, o5.set(e8.hash, s8), s8 += e8.hash.length; + return o5; +} +function zr(e7) { + const t5 = e7.map((e8) => ({ entry: e8, sortKey: jr(e8.nameBytes, tn(e8.mode)) })); + return t5.sort((e8, t6) => At(e8.sortKey, t6.sortKey)), t5.map((e8) => e8.entry); +} +function jr(e7, t5) { + if (!t5) return e7; + const n7 = new Uint8Array(e7.length + 1); + return n7.set(e7), n7[e7.length] = 47, n7; +} +function Kr(e7) { + const { type: t5, size: n7, contentOffset: r8 } = Sr(e7), o5 = e7.subarray(r8); + if (o5.length !== n7) throw Bt(`size mismatch: header says ${n7}, actual content is ${o5.length}`); + return { type: t5, content: o5, bytes: e7 }; +} +function Yr(e7, t5, n7) { + const { type: r8, content: o5 } = Kr(t5); + switch (r8) { case "blob": - return /* @__PURE__ */ (function(e7, t6) { - return { type: "blob", id: e7, content: t6 }; - })(e6, o6); + return /* @__PURE__ */ (function(e8, t6) { + return { type: "blob", id: e8, content: t6 }; + })(e7, o5); case "tree": - return (function(e7, t6, n7) { - const r7 = [], o7 = /* @__PURE__ */ new Set(); - let s9 = 0; - for (; s9 < t6.length; ) { - const e8 = _t(t6, 32, s9); - if (-1 === e8) throw Rt(s9, "missing space after mode"); - const i7 = $t(t6.subarray(s9, e8)), a6 = _t(t6, 0, e8 + 1); - if (-1 === a6) throw Rt(s9, "missing null after name"); - const c6 = $t(t6.subarray(e8 + 1, a6)); - if ("" === c6 || "." === c6 || ".." === c6 || c6.includes("/")) throw Rt(s9, `invalid entry name: ${c6}`); - const d5 = a6 + 1, u6 = d5 + n7.digestLength; - if (u6 > t6.length) throw Rt(s9, "truncated hash"); - const l4 = t6.subarray(d5, u6), f2 = sr.fromRaw(l4), h6 = Kt(i7); - if (o7.has(c6)) throw Rt(s9, `duplicate entry name: ${c6}`); - o7.add(c6), r7.push({ mode: h6, name: c6, id: f2 }), s9 = u6; - } - return { type: "tree", id: e7, entries: r7 }; - })(e6, o6, n6); + return (function(e8, t6, n8) { + const r9 = [], o6 = new Uint8Array(t6); + let s8 = 0; + for (; s8 < o6.length; ) { + const e9 = St(o6, 32, s8); + if (-1 === e9) throw Ft(s8, "missing space after mode"); + if (e9 === s8 || Dr(o6, s8, e9)) throw Ft(s8, "malformed mode"); + const t7 = St(o6, 0, e9 + 1); + if (-1 === t7) throw Ft(s8, "missing null after name"); + if (t7 === e9 + 1) throw Ft(s8, "empty filename"); + const i11 = t7 + 1, a4 = i11 + n8.digestLength; + if (a4 > o6.length) throw Ft(s8, "truncated hash"); + const c5 = o6.subarray(e9 + 1, t7), d6 = o6.subarray(i11, a4), u6 = lr.fromRaw(d6), l4 = en(kt(o6.subarray(s8, e9))); + r9.push(Gr(l4, c5, u6)), s8 = a4; + } + return { type: "tree", id: e8, entries: r9 }; + })(e7, o5, n7); case "commit": - return gr(e6, o6); + return _r(e7, o5); case "tag": - return Tr(e6, o6); + return Rr(e7, o5); } } -function Lr(e6, t5) { - let n6; - switch (e6.type) { +function Xr(e7, t5) { + let n7; + switch (e7.type) { case "blob": - n6 = e6.content; + n7 = e7.content; break; case "tree": - n6 = $r(e6, t5); + n7 = Wr(e7, t5); break; case "commit": - n6 = mr(e6); + n7 = vr(e7); break; case "tag": - n6 = Or(e6); + n7 = kr(e7); } - const r6 = Ot(`${e6.type} ${n6.length}\0`), o6 = new Uint8Array(r6.length + n6.length); - return o6.set(r6, 0), o6.set(n6, r6.length), o6; + const r8 = Rt(`${e7.type} ${n7.length}\0`), o5 = new Uint8Array(r8.length + n7.length); + return o5.set(r8, 0), o5.set(n7, r8.length), o5; } -var Rr = /^[0-9a-f]{40}$/; -var kr = /^[0-9a-f]{64}$/; -function Dr(e6, t5) { - return (function(e7) { - return "sha256" === e7.algorithm ? kr : Rr; - })(t5).test(e6); +var qr = /^[0-9a-f]{40}$/; +var Jr = /^[0-9a-f]{64}$/; +function Qr(e7, t5) { + return (function(e8) { + return "sha256" === e8.algorithm ? Jr : qr; + })(t5).test(e7); } -var Ur = (e6, t5) => { - switch (e6.type) { +var Zr = (e7, t5) => { + switch (e7.type) { case "blob": - return e6.content.byteLength; + return e7.content.byteLength; case "tree": - return $r(e6, t5).byteLength; + return Wr(e7, t5).byteLength; case "commit": - return mr(e6).byteLength; + return vr(e7).byteLength; case "tag": - return Or(e6).byteLength; - } -}; -var Cr = ".git"; -var Mr = ".gitmodules"; -var Pr = /[. ]+$/; -var Br = (e6, t5) => Array.from({ length: t5 - e6 + 1 }, (t6, n6) => e6 + n6); -var Fr = /* @__PURE__ */ new Set([...Br(8204, 8207), ...Br(8234, 8238), ...Br(8298, 8303), 65279]); -var Hr = (e6) => e6.replace(Pr, "").toLowerCase(); -var Vr = (e6) => e6.split("").filter((e7) => !Fr.has(e7.charCodeAt(0))).join(""); -var Gr = (e6) => { - for (let t5 = 0; t5 < e6.length; t5 += 1) if (Fr.has(e6.charCodeAt(t5))) return true; + return kr(e7).byteLength; + } +}; +var eo = ".git"; +var to = ".gitmodules"; +var no = /[. ]+$/; +var ro = (e7, t5) => Array.from({ length: t5 - e7 + 1 }, (t6, n7) => e7 + n7); +var oo = /* @__PURE__ */ new Set([...ro(8204, 8207), ...ro(8234, 8238), ...ro(8298, 8303), 65279]); +var so = (e7) => e7.replace(no, "").toLowerCase(); +var io = (e7) => e7.split("").filter((e8) => !oo.has(e8.charCodeAt(0))).join(""); +var ao = (e7) => { + for (let t5 = 0; t5 < e7.length; t5 += 1) if (oo.has(e7.charCodeAt(t5))) return true; return false; }; -var Wr = (e6) => { - const t5 = e6.indexOf(":"); - return -1 === t5 ? { candidate: e6, hasStream: false } : { candidate: e6.slice(0, t5), hasStream: true }; -}; -var jr = (e6) => { - const { candidate: t5, hasStream: n6 } = Wr(e6), r6 = Hr(t5); - return r6 === Cr ? n6 ? "dotgit-ntfs-stream" : "dotgit-alias" : "git~1" === r6 ? n6 ? "dotgit-ntfs-stream" : "dotgit-ntfs-alias" : Gr(e6) && Hr(Vr(e6)) === Cr ? "dotgit-hfs-alias" : void 0; +var co = (e7) => { + const t5 = e7.indexOf(":"); + return -1 === t5 ? { candidate: e7, hasStream: false } : { candidate: e7.slice(0, t5), hasStream: true }; }; -var zr = (e6) => { - if (-1 === e6.indexOf("\\")) return jr(e6); - for (const t5 of e6.split("\\")) { - const e7 = jr(t5); - if (void 0 !== e7) return e7; - } +var uo = (e7) => { + const { candidate: t5, hasStream: n7 } = co(e7), r8 = so(t5); + return r8 === eo ? n7 ? "dotgit-ntfs-stream" : "dotgit-alias" : "git~1" === r8 ? n7 ? "dotgit-ntfs-stream" : "dotgit-ntfs-alias" : ao(e7) && so(io(e7)) === eo ? "dotgit-hfs-alias" : void 0; }; -var Kr = (e6) => e6.toLowerCase() === Cr; -var Yr = (e6) => "" === e6 ? "empty-segment" : "." === e6 ? "dot-segment" : ".." === e6 ? "dotdot-segment" : void 0; -var Xr = /^gitmod~[1-4]$/; -var qr = /^gi7eba~[1-9]$/; -var Jr = (e6) => { - const { candidate: t5 } = Wr(e6), n6 = Hr(t5); - return n6 === Mr || !!Xr.test(n6) || !!qr.test(n6) || !!Gr(e6) && Hr(Vr(e6)) === Mr; -}; -var Qr = -1; -var Zr = (e6) => "" === e6 ? "empty segment rejected" : "." === e6 ? "'.' segment rejected" : "'..' segment rejected"; -var eo = { "absolute-path": "absolute path rejected", "empty-segment": Zr(""), "dot-segment": Zr("."), "dotdot-segment": Zr(".."), "dotgit-alias": "'.git' component rejected", "dotgit-ntfs-alias": "'git~1' NTFS short name rejected", "dotgit-ntfs-stream": "'.git' NTFS alternate data stream rejected", "dotgit-hfs-alias": "'.git' HFS+ ignorable-codepoint alias rejected", "gitmodules-not-regular": "'.gitmodules' must not be a symlink" }; -var to = (e6, t5, n6) => { - const r6 = ((e7) => e7.includes("\0") ? "NUL byte rejected" : void 0)(e6); - if (void 0 !== r6) throw Qn(t5, r6); - const o6 = ((e7, t6) => { - if (e7.startsWith("/")) return "absolute-path"; - const n7 = e7.split("/"), r7 = ((e8) => { - for (const t7 of e8) { - const e9 = Yr(t7) ?? zr(t7); - if (void 0 !== e9) return e9; - } - })(n7); - return void 0 !== r7 ? r7 : ((e8, t7) => t7 === Wt.SYMLINK && e8.some(Jr))(n7, t6) ? "gitmodules-not-regular" : void 0; - })(e6, n6); - if (void 0 !== o6) throw Qn(t5, eo[o6]); -}; -function no(e6) { - return 40 + e6 + 2; -} -function ro(e6) { - return 40 + e6; -} -function oo(e6, t5) { - if (e6.length < 12) throw Jn("truncated header"); - const n6 = new DataView(e6.buffer, e6.byteOffset, e6.byteLength); - if (1145655875 !== n6.getUint32(0)) throw Jn("invalid signature: expected DIRC"); - const r6 = n6.getUint32(4); - if (2 !== r6 && 3 !== r6) throw Jn(`unsupported version: ${r6}`); - const o6 = t5, s9 = no(t5), i7 = n6.getUint32(8); - if (i7 * s9 > e6.length - 12 - o6) throw Jn(`entry count ${i7} exceeds file capacity`); - let a6 = 12; - const c6 = []; - for (let d6 = 0; d6 < i7; d6++) { - const i8 = a6; - if (a6 + s9 > e6.length - o6) throw Qn(a6, "truncated entry"); - const d7 = n6.getUint32(a6), u6 = n6.getUint32(a6 + 4), l4 = n6.getUint32(a6 + 8), f2 = n6.getUint32(a6 + 12), h6 = n6.getUint32(a6 + 16), g7 = n6.getUint32(a6 + 20), m5 = n6.getUint32(a6 + 24), p5 = n6.getUint32(a6 + 28), w4 = n6.getUint32(a6 + 32), y6 = n6.getUint32(a6 + 36), E7 = wt(e6.subarray(a6 + 40, a6 + 40 + t5)), b5 = n6.getUint16(a6 + ro(t5)), { flags: I10, extendedSize: _5 } = so(n6, a6, r6, e6.length, t5), v8 = Kt(m5.toString(8)); - a6 += s9 + _5; - const T7 = io(e6, a6); - if (-1 === T7) throw Qn(i8, "missing NUL terminator"); - const O8 = 4095 & b5, $6 = $t(e6.subarray(a6, 4095 === O8 ? T7 : a6 + O8)); - to($6, i8, v8), a6 = T7 + 1, a6 = i8 + (a6 - i8 + 7 & -8), c6.push({ ctimeSeconds: d7, ctimeNanoseconds: u6, mtimeSeconds: l4, mtimeNanoseconds: f2, dev: h6, ino: g7, mode: v8, uid: p5, gid: w4, fileSize: y6, id: E7, flags: I10, path: hr.from($6) }); - } - const d5 = (function(e7, t6, n7, r7) { - const o7 = [], s10 = e7.length - r7; - for (; t6 + 8 <= s10; ) { - const r8 = $t(e7.subarray(t6, t6 + 4)), i8 = n7.getUint32(t6 + 4); - if (t6 + 8 + i8 > s10) throw Qn(t6, "extension size exceeds remaining bytes"); - const a7 = r8.charCodeAt(0); - if (a7 >= 97 && a7 <= 122) { - const e8 = r8.replace(/[^\x20-\x7e]/g, "?"); - throw Qn(t6, `mandatory extension '${e8}' not supported`); - } - const c7 = e7.slice(t6 + 8, t6 + 8 + i8); - o7.push({ signature: r8, data: c7 }), t6 += 8 + i8; - } - return o7; - })(e6, a6, n6, o6); - return { version: r6, entries: c6, extensions: d5, trailerSha: e6.slice(e6.length - o6) }; -} -function so(e6, t5, n6, r6, o6) { - const s9 = no(o6), i7 = e6.getUint16(t5 + ro(o6)), a6 = !!(16384 & i7); - if (a6 && 3 !== n6) throw Qn(t5, "extended flag requires index v3"); - const c6 = a6 ? 2 : 0; - if (t5 + s9 + c6 > r6 - o6) throw Qn(t5, "truncated extended flags"); - return { flags: (d5 = i7, u6 = a6 ? e6.getUint16(t5 + s9) : 0, { assumeValid: !!(32768 & d5), stage: d5 >>> 12 & 3, skipWorktree: !!(16384 & u6), intentToAdd: !!(8192 & u6) }), extendedSize: c6 }; - var d5, u6; -} -function io(e6, t5) { - for (let n6 = t5; n6 < e6.length; n6++) if (0 === e6[n6]) return n6; +var lo = (e7) => { + if (!((e8) => { + if (0 === e8.length) return false; + const t5 = e8.charCodeAt(0); + if (46 === t5 || 71 === t5 || 103 === t5) return false; + for (let t6 = 0; t6 < e8.length; t6 += 1) { + const n7 = e8.charCodeAt(t6); + if (n7 > 127 || 92 === n7) return false; + } + return true; + })(e7)) { + if (-1 === e7.indexOf("\\")) return uo(e7); + for (const t5 of e7.split("\\")) { + const e8 = uo(t5); + if (void 0 !== e8) return e8; + } + } +}; +var fo = (e7) => e7.toLowerCase() === eo; +var ho = (e7) => "" === e7 ? "empty-segment" : "." === e7 ? "dot-segment" : ".." === e7 ? "dotdot-segment" : void 0; +var go = /^gitmod~[1-4]$/; +var mo = /^gi7eba~[1-9]$/; +var po = (e7) => { + const { candidate: t5 } = co(e7), n7 = so(t5); + return n7 === to || !!go.test(n7) || !!mo.test(n7) || !!ao(e7) && so(io(e7)) === to; +}; +var wo = -1; +var yo = (e7) => "" === e7 ? "empty segment rejected" : "." === e7 ? "'.' segment rejected" : "'..' segment rejected"; +var Eo = { "absolute-path": "absolute path rejected", "empty-segment": yo(""), "dot-segment": yo("."), "dotdot-segment": yo(".."), "dotgit-alias": "'.git' component rejected", "dotgit-ntfs-alias": "'git~1' NTFS short name rejected", "dotgit-ntfs-stream": "'.git' NTFS alternate data stream rejected", "dotgit-hfs-alias": "'.git' HFS+ ignorable-codepoint alias rejected", "gitmodules-not-regular": "'.gitmodules' must not be a symlink" }; +var bo = (e7, t5, n7) => { + const r8 = ((e8) => e8.includes("\0") ? "NUL byte rejected" : void 0)(e7); + if (void 0 !== r8) throw or(t5, r8); + const o5 = ((e8, t6) => { + if (e8.startsWith("/")) return "absolute-path"; + const n8 = e8.split("/"), r9 = ((e9) => { + for (const t7 of e9) { + const e10 = ho(t7) ?? lo(t7); + if (void 0 !== e10) return e10; + } + })(n8); + return void 0 !== r9 ? r9 : ((e9, t7) => t7 === Qt.SYMLINK && e9.some(po))(n8, t6) ? "gitmodules-not-regular" : void 0; + })(e7, n7); + if (void 0 !== o5) throw or(t5, Eo[o5]); +}; +function Io(e7) { + return 40 + e7 + 2; +} +function _o(e7) { + return 40 + e7; +} +function vo(e7, t5) { + if (e7.length < 12) throw rr("truncated header"); + const n7 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength); + if (1145655875 !== n7.getUint32(0)) throw rr("invalid signature: expected DIRC"); + const r8 = n7.getUint32(4); + if (2 !== r8 && 3 !== r8) throw rr(`unsupported version: ${r8}`); + const o5 = t5, s8 = Io(t5), i11 = n7.getUint32(8); + if (i11 * s8 > e7.length - 12 - o5) throw rr(`entry count ${i11} exceeds file capacity`); + let a4 = 12; + const c5 = []; + for (let d7 = 0; d7 < i11; d7++) { + const i12 = a4; + if (a4 + s8 > e7.length - o5) throw or(a4, "truncated entry"); + const d8 = n7.getUint32(a4), u6 = n7.getUint32(a4 + 4), l4 = n7.getUint32(a4 + 8), f2 = n7.getUint32(a4 + 12), h5 = n7.getUint32(a4 + 16), g7 = n7.getUint32(a4 + 20), m7 = n7.getUint32(a4 + 24), p6 = n7.getUint32(a4 + 28), w6 = n7.getUint32(a4 + 32), y5 = n7.getUint32(a4 + 36), E7 = vt(e7.subarray(a4 + 40, a4 + 40 + t5)), b5 = n7.getUint16(a4 + _o(t5)), { flags: I10, extendedSize: _6 } = Oo(n7, a4, r8, e7.length, t5), v6 = en(m7.toString(8)); + a4 += s8 + _6; + const O6 = To(e7, a4); + if (-1 === O6) throw or(i12, "missing NUL terminator"); + const T7 = 4095 & b5, A10 = kt(e7.subarray(a4, 4095 === T7 ? O6 : a4 + T7)); + bo(A10, i12, v6), a4 = O6 + 1, a4 = i12 + (a4 - i12 + 7 & -8), c5.push({ ctimeSeconds: d8, ctimeNanoseconds: u6, mtimeSeconds: l4, mtimeNanoseconds: f2, dev: h5, ino: g7, mode: v6, uid: p6, gid: w6, fileSize: y5, id: E7, flags: I10, path: Er.from(A10) }); + } + const d6 = (function(e8, t6, n8, r9) { + const o6 = [], s9 = e8.length - r9; + for (; t6 + 8 <= s9; ) { + const r10 = kt(e8.subarray(t6, t6 + 4)), i12 = n8.getUint32(t6 + 4); + if (t6 + 8 + i12 > s9) throw or(t6, "extension size exceeds remaining bytes"); + const a5 = r10.charCodeAt(0); + if (a5 >= 97 && a5 <= 122) { + const e9 = r10.replace(/[^\x20-\x7e]/g, "?"); + throw or(t6, `mandatory extension '${e9}' not supported`); + } + const c6 = e8.slice(t6 + 8, t6 + 8 + i12); + o6.push({ signature: r10, data: c6 }), t6 += 8 + i12; + } + return o6; + })(e7, a4, n7, o5); + return { version: r8, entries: c5, extensions: d6, trailerSha: e7.slice(e7.length - o5) }; +} +function Oo(e7, t5, n7, r8, o5) { + const s8 = Io(o5), i11 = e7.getUint16(t5 + _o(o5)), a4 = !!(16384 & i11); + if (a4 && 3 !== n7) throw or(t5, "extended flag requires index v3"); + const c5 = a4 ? 2 : 0; + if (t5 + s8 + c5 > r8 - o5) throw or(t5, "truncated extended flags"); + return { flags: (d6 = i11, u6 = a4 ? e7.getUint16(t5 + s8) : 0, { assumeValid: !!(32768 & d6), stage: d6 >>> 12 & 3, skipWorktree: !!(16384 & u6), intentToAdd: !!(8192 & u6) }), extendedSize: c5 }; + var d6, u6; +} +function To(e7, t5) { + for (let n7 = t5; n7 < e7.length; n7++) if (0 === e7[n7]) return n7; return -1; } -function ao(e6, t5) { - const { entry: n6, offset: r6 } = co(e6, 0, 0, t5); - if (r6 !== e6.length) throw Qn(r6, "cache-tree data has trailing bytes"); - return n6; -} -function co(e6, t5, n6, r6) { - if (n6 > 1024) throw Qn(t5, "cache-tree nesting exceeds the maximum depth"); - const o6 = io(e6, t5); - if (-1 === o6) throw Qn(t5, "cache-tree entry missing NUL-terminated path"); - const s9 = $t(e6.subarray(t5, o6)), i7 = _t(e6, 32, o6 + 1); - if (-1 === i7) throw Qn(t5, "cache-tree entry missing entry-count separator"); - const a6 = (function(e7, t6) { - if (!/^-?\d+$/.test(e7)) throw Qn(t6, "cache-tree entry has a malformed entry count"); - return Number.parseInt(e7, 10); - })($t(e6.subarray(o6 + 1, i7)), t5), c6 = _t(e6, 10, i7 + 1); - if (-1 === c6) throw Qn(t5, "cache-tree entry missing subtree-count terminator"); - const d5 = (function(e7, t6) { - if (!/^\d+$/.test(e7)) throw Qn(t6, "cache-tree entry has a malformed subtree count"); - return Number.parseInt(e7, 10); - })($t(e6.subarray(i7 + 1, c6)), t5), { id: u6, offset: l4 } = (function(e7, t6, n7, r7, o7) { - if (n7 < 0) return { id: void 0, offset: t6 }; - if (t6 + o7 > e7.length) throw Qn(r7, "cache-tree entry truncated oid"); - return { id: wt(e7.subarray(t6, t6 + o7)), offset: t6 + o7 }; - })(e6, c6 + 1, a6, t5, r6); - return (function(e7, t6, n7, r7, o7, s10) { - const i8 = []; - let a7 = t6; - for (let t7 = 0; t7 < n7; t7++) { - const t8 = co(e7, a7, r7 + 1, o7); - i8.push(t8.entry), a7 = t8.offset; - } - return { entry: void 0 === s10.id ? { path: s10.path, entryCount: s10.entryCount, subtreeCount: s10.subtreeCount, children: i8 } : { path: s10.path, entryCount: s10.entryCount, subtreeCount: s10.subtreeCount, id: s10.id, children: i8 }, offset: a7 }; - })(e6, l4, d5, n6, r6, { path: s9, entryCount: a6, subtreeCount: d5, id: u6 }); -} -function uo(e6) { - return 40 + e6 + 2; -} -function lo(e6, t5) { - const n6 = e6.path, r6 = t5.path; - return n6 < r6 ? -1 : n6 > r6 ? 1 : 0; -} -function fo(e6, t5) { - const n6 = uo(t5), r6 = [...e6.entries].sort(lo), o6 = r6.map((e7) => { - const t6 = Ot(e7.path), r7 = e7.flags.skipWorktree || e7.flags.intentToAdd; - return { entry: e7, pathBytes: t6, extended: r7, paddedLength: n6 + (r7 ? 2 : 0) + t6.length + 8 & -8 }; - }), s9 = e6.extensions.map((e7) => ({ ext: e7, sigBytes: Ot(e7.signature), totalLength: 8 + e7.data.length })), i7 = 12 + o6.reduce((e7, t6) => e7 + t6.paddedLength, 0) + s9.reduce((e7, t6) => e7 + t6.totalLength, 0), a6 = new Uint8Array(i7), c6 = new DataView(a6.buffer), d5 = o6.some((e7) => e7.extended) ? 3 : 2; - c6.setUint32(0, 1145655875), c6.setUint32(4, d5), c6.setUint32(8, r6.length); +function Ao(e7, t5) { + const { entry: n7, offset: r8 } = $o(e7, 0, 0, t5); + if (r8 !== e7.length) throw or(r8, "cache-tree data has trailing bytes"); + return n7; +} +function $o(e7, t5, n7, r8) { + if (n7 > 1024) throw or(t5, "cache-tree nesting exceeds the maximum depth"); + const o5 = To(e7, t5); + if (-1 === o5) throw or(t5, "cache-tree entry missing NUL-terminated path"); + const s8 = kt(e7.subarray(t5, o5)), i11 = St(e7, 32, o5 + 1); + if (-1 === i11) throw or(t5, "cache-tree entry missing entry-count separator"); + const a4 = (function(e8, t6) { + if (!/^-?\d+$/.test(e8)) throw or(t6, "cache-tree entry has a malformed entry count"); + return Number.parseInt(e8, 10); + })(kt(e7.subarray(o5 + 1, i11)), t5), c5 = St(e7, 10, i11 + 1); + if (-1 === c5) throw or(t5, "cache-tree entry missing subtree-count terminator"); + const d6 = (function(e8, t6) { + if (!/^\d+$/.test(e8)) throw or(t6, "cache-tree entry has a malformed subtree count"); + return Number.parseInt(e8, 10); + })(kt(e7.subarray(i11 + 1, c5)), t5), { id: u6, offset: l4 } = (function(e8, t6, n8, r9, o6) { + if (n8 < 0) return { id: void 0, offset: t6 }; + if (t6 + o6 > e8.length) throw or(r9, "cache-tree entry truncated oid"); + return { id: vt(e8.subarray(t6, t6 + o6)), offset: t6 + o6 }; + })(e7, c5 + 1, a4, t5, r8); + return (function(e8, t6, n8, r9, o6, s9) { + const i12 = []; + let a5 = t6; + for (let t7 = 0; t7 < n8; t7++) { + const t8 = $o(e8, a5, r9 + 1, o6); + i12.push(t8.entry), a5 = t8.offset; + } + return { entry: void 0 === s9.id ? { path: s9.path, entryCount: s9.entryCount, subtreeCount: s9.subtreeCount, children: i12 } : { path: s9.path, entryCount: s9.entryCount, subtreeCount: s9.subtreeCount, id: s9.id, children: i12 }, offset: a5 }; + })(e7, l4, d6, n7, r8, { path: s8, entryCount: a4, subtreeCount: d6, id: u6 }); +} +function xo(e7) { + return 40 + e7 + 2; +} +function So(e7, t5) { + const n7 = e7.path, r8 = t5.path; + return n7 < r8 ? -1 : n7 > r8 ? 1 : 0; +} +function No(e7, t5) { + const n7 = xo(t5), r8 = [...e7.entries].sort(So), o5 = r8.map((e8) => { + const t6 = Rt(e8.path), r9 = e8.flags.skipWorktree || e8.flags.intentToAdd; + return { entry: e8, pathBytes: t6, extended: r9, paddedLength: n7 + (r9 ? 2 : 0) + t6.length + 8 & -8 }; + }), s8 = e7.extensions.map((e8) => ({ ext: e8, sigBytes: Rt(e8.signature), totalLength: 8 + e8.data.length })), i11 = 12 + o5.reduce((e8, t6) => e8 + t6.paddedLength, 0) + s8.reduce((e8, t6) => e8 + t6.totalLength, 0), a4 = new Uint8Array(i11), c5 = new DataView(a4.buffer), d6 = o5.some((e8) => e8.extended) ? 3 : 2; + c5.setUint32(0, 1145655875), c5.setUint32(4, d6), c5.setUint32(8, r8.length); let u6 = 12; - for (const { entry: e7, pathBytes: n7, extended: r7, paddedLength: s10 } of o6) ho(a6, c6, u6, e7, n7, r7, t5), u6 += s10; - for (const { ext: e7, sigBytes: t6, totalLength: n7 } of s9) a6.set(t6, u6), c6.setUint32(u6 + 4, e7.data.length), a6.set(e7.data, u6 + 8), u6 += n7; - return a6; -} -function ho(e6, t5, n6, r6, o6, s9, i7) { - t5.setUint32(n6, r6.ctimeSeconds), t5.setUint32(n6 + 4, r6.ctimeNanoseconds), t5.setUint32(n6 + 8, r6.mtimeSeconds), t5.setUint32(n6 + 12, r6.mtimeNanoseconds), t5.setUint32(n6 + 16, r6.dev), t5.setUint32(n6 + 20, r6.ino), t5.setUint32(n6 + 24, Number.parseInt(r6.mode, 8)), t5.setUint32(n6 + 28, r6.uid), t5.setUint32(n6 + 32, r6.gid), t5.setUint32(n6 + 36, r6.fileSize); - const a6 = yt(r6.id); - e6.set(a6, n6 + 40); - const c6 = Math.min(o6.length, 4095), d5 = (r6.flags.assumeValid ? 32768 : 0) | (s9 ? 16384 : 0) | r6.flags.stage << 12 | c6; - t5.setUint16(n6 + (function(e7) { - return 40 + e7; - })(i7), d5); - const u6 = uo(i7); - s9 && t5.setUint16(n6 + u6, (r6.flags.skipWorktree ? 16384 : 0) | (r6.flags.intentToAdd ? 8192 : 0)), e6.set(o6, n6 + u6 + (s9 ? 2 : 0)); -} -function go(e6) { - switch (e6.type) { + for (const { entry: e8, pathBytes: n8, extended: r9, paddedLength: s9 } of o5) Lo(a4, c5, u6, e8, n8, r9, t5), u6 += s9; + for (const { ext: e8, sigBytes: t6, totalLength: n8 } of s8) a4.set(t6, u6), c5.setUint32(u6 + 4, e8.data.length), a4.set(e8.data, u6 + 8), u6 += n8; + return a4; +} +function Lo(e7, t5, n7, r8, o5, s8, i11) { + t5.setUint32(n7, r8.ctimeSeconds), t5.setUint32(n7 + 4, r8.ctimeNanoseconds), t5.setUint32(n7 + 8, r8.mtimeSeconds), t5.setUint32(n7 + 12, r8.mtimeNanoseconds), t5.setUint32(n7 + 16, r8.dev), t5.setUint32(n7 + 20, r8.ino), t5.setUint32(n7 + 24, Number.parseInt(r8.mode, 8)), t5.setUint32(n7 + 28, r8.uid), t5.setUint32(n7 + 32, r8.gid), t5.setUint32(n7 + 36, r8.fileSize); + const a4 = Ot(r8.id); + e7.set(a4, n7 + 40); + const c5 = Math.min(o5.length, 4095), d6 = (r8.flags.assumeValid ? 32768 : 0) | (s8 ? 16384 : 0) | r8.flags.stage << 12 | c5; + t5.setUint16(n7 + (function(e8) { + return 40 + e8; + })(i11), d6); + const u6 = xo(i11); + s8 && t5.setUint16(n7 + u6, (r8.flags.skipWorktree ? 16384 : 0) | (r8.flags.intentToAdd ? 8192 : 0)), e7.set(o5, n7 + u6 + (s8 ? 2 : 0)); +} +function Ro(e7) { + switch (e7.type) { case "add": case "rename": case "copy": - return e6.newPath; + return e7.newPath; case "delete": - return e6.oldPath; + return e7.oldPath; case "modify": case "type-change": - return e6.path; + return e7.path; } } -function mo(e6) { - return e6 === Wt.REGULAR || e6 === Wt.EXECUTABLE ? "file" : e6 === Wt.SYMLINK ? "symlink" : e6 === Wt.DIRECTORY ? "directory" : "gitlink"; +function ko(e7) { + return e7 === Qt.REGULAR || e7 === Qt.EXECUTABLE ? "file" : e7 === Qt.SYMLINK ? "symlink" : e7 === Qt.DIRECTORY ? "directory" : "gitlink"; } -function po(e6, t5) { - return mo(e6) === mo(t5); +function Do(e7, t5) { + return ko(e7) === ko(t5); } -function wo(e6) { - return "gitlink" === mo(e6); +function Uo(e7) { + return "gitlink" === ko(e7); } -var yo = new TextEncoder(); -function Eo(e6, t5) { - return bt(yo.encode(e6), yo.encode(t5)); +var Co = new TextEncoder(); +function Mo(e7, t5) { + return At(Co.encode(e7), Co.encode(t5)); } -function bo(e6, t5) { - const n6 = e6.map((e7) => ({ item: e7, key: yo.encode(t5(e7)) })); - return n6.sort((e7, t6) => bt(e7.key, t6.key)), n6.map((e7) => e7.item); +function Po(e7, t5) { + const n7 = e7.map((e8) => ({ item: e8, key: Co.encode(t5(e8)) })); + return n7.sort((e8, t6) => At(e8.key, t6.key)), n7.map((e8) => e8.item); } -function Io(e6, t5, n6) { - return void 0 !== t5 && void 0 !== n6 ? (function(e7, t6, n7) { - if (t6.id !== n7.id || t6.mode !== n7.mode) return po(t6.mode, n7.mode) ? { type: "modify", path: e7, oldId: n7.id, newId: t6.id, oldMode: n7.mode, newMode: t6.mode } : { type: "type-change", path: e7, oldId: n7.id, newId: t6.id, oldMode: n7.mode, newMode: t6.mode }; - })(e6, t5, n6) : void 0 !== t5 ? { type: "add", newPath: (r6 = t5).path, newId: r6.id, newMode: r6.mode } : (function(e7, t6) { - return { type: "delete", oldPath: e7, oldId: t6.id, oldMode: t6.mode }; - })(e6, n6); - var r6; +function Bo(e7, t5, n7) { + return void 0 !== t5 && void 0 !== n7 ? (function(e8, t6, n8) { + if (t6.id !== n8.id || t6.mode !== n8.mode) return Do(t6.mode, n8.mode) ? { type: "modify", path: e8, oldId: n8.id, newId: t6.id, oldMode: n8.mode, newMode: t6.mode } : { type: "type-change", path: e8, oldId: n8.id, newId: t6.id, oldMode: n8.mode, newMode: t6.mode }; + })(e7, t5, n7) : void 0 !== t5 ? { type: "add", newPath: (r8 = t5).path, newId: r8.id, newMode: r8.mode } : (function(e8, t6) { + return { type: "delete", oldPath: e8, oldId: t6.id, oldMode: t6.mode }; + })(e7, n7); + var r8; } -function _o(e6, t5) { - !(function(e7) { - if (void 0 !== e7 && e7.entries.size > Xn) throw Kn("FlatTree exceeds MAX_FLAT_TREE_ENTRIES"); +function Fo(e7, t5) { + !(function(e8) { + if (void 0 !== e8 && e8.entries.size > tr) throw Zn("FlatTree exceeds MAX_FLAT_TREE_ENTRIES"); })(t5); - const n6 = (function(e7) { + const n7 = (function(e8) { const t6 = /* @__PURE__ */ new Map(); - for (const n7 of e7.entries) 0 === n7.flags.stage && t6.set(n7.path, n7); + for (const n8 of e8.entries) 0 === n8.flags.stage && t6.set(n8.path, n8); return t6; - })(e6), r6 = (function(e7, t6) { - const n7 = /* @__PURE__ */ new Set(); - for (const t7 of e7.keys()) n7.add(t7); - if (void 0 !== t6) for (const e8 of t6.entries.keys()) n7.add(e8); - return n7; - })(n6, t5), o6 = []; - for (const e7 of r6) { - const r7 = Io(e7, n6.get(e7), t5?.entries.get(e7)); - void 0 !== r7 && o6.push(r7); - } - return { changes: bo(o6, go) }; -} -function vo(e6, t5) { - const n6 = t5.flags.stage; - return 1 === n6 ? { ...e6, stage1: t5 } : 2 === n6 ? { ...e6, stage2: t5 } : { ...e6, stage3: t5 }; -} -function To(e6) { - const t5 = [], n6 = /* @__PURE__ */ new Map(); - for (const r6 of e6.entries) if (0 === r6.flags.stage) t5.push(r6); + })(e7), r8 = (function(e8, t6) { + const n8 = /* @__PURE__ */ new Set(); + for (const t7 of e8.keys()) n8.add(t7); + if (void 0 !== t6) for (const e9 of t6.entries.keys()) n8.add(e9); + return n8; + })(n7, t5), o5 = []; + for (const e8 of r8) { + const r9 = Bo(e8, n7.get(e8), t5?.entries.get(e8)); + void 0 !== r9 && o5.push(r9); + } + return { changes: Po(o5, Ro) }; +} +function Ho(e7, t5) { + const n7 = t5.flags.stage; + return 1 === n7 ? { ...e7, stage1: t5 } : 2 === n7 ? { ...e7, stage2: t5 } : { ...e7, stage3: t5 }; +} +function Vo(e7) { + const t5 = [], n7 = /* @__PURE__ */ new Map(); + for (const r8 of e7.entries) if (0 === r8.flags.stage) t5.push(r8); else { - const e7 = n6.get(r6.path) ?? {}; - n6.set(r6.path, vo(e7, r6)); + const e8 = n7.get(r8.path) ?? {}; + n7.set(r8.path, Ho(e8, r8)); } - return { staged: t5, unmerged: n6 }; + return { staged: t5, unmerged: n7 }; } -function Oo(e6) { - return "distinct-types" === e6.type ? (function(e7) { +function Go(e7) { + return "distinct-types" === e7.type ? (function(e8) { const t5 = []; - return void 0 !== e7.ourId && void 0 !== e7.ourMode && void 0 !== e7.ourPath && t5.push({ id: e7.ourId, mode: e7.ourMode, stage: 2, path: e7.ourPath }), void 0 !== e7.theirId && void 0 !== e7.theirMode && void 0 !== e7.theirPath && t5.push({ id: e7.theirId, mode: e7.theirMode, stage: 3, path: e7.theirPath }), void 0 !== e7.baseId && void 0 !== e7.baseMode && void 0 !== e7.basePath && t5.push({ id: e7.baseId, mode: e7.baseMode, stage: 1, path: e7.basePath }), t5; - })(e6) : (function(e7) { + return void 0 !== e8.ourId && void 0 !== e8.ourMode && void 0 !== e8.ourPath && t5.push({ id: e8.ourId, mode: e8.ourMode, stage: 2, path: e8.ourPath }), void 0 !== e8.theirId && void 0 !== e8.theirMode && void 0 !== e8.theirPath && t5.push({ id: e8.theirId, mode: e8.theirMode, stage: 3, path: e8.theirPath }), void 0 !== e8.baseId && void 0 !== e8.baseMode && void 0 !== e8.basePath && t5.push({ id: e8.baseId, mode: e8.baseMode, stage: 1, path: e8.basePath }), t5; + })(e7) : (function(e8) { const t5 = []; - return void 0 !== e7.baseId && void 0 !== e7.baseMode && t5.push({ id: e7.baseId, mode: e7.baseMode, stage: 1, path: e7.path }), void 0 !== e7.ourId && void 0 !== e7.ourMode && t5.push({ id: e7.ourId, mode: e7.ourMode, stage: 2, path: e7.path }), void 0 !== e7.theirId && void 0 !== e7.theirMode && t5.push({ id: e7.theirId, mode: e7.theirMode, stage: 3, path: e7.path }), t5; - })(e6); + return void 0 !== e8.baseId && void 0 !== e8.baseMode && t5.push({ id: e8.baseId, mode: e8.baseMode, stage: 1, path: e8.path }), void 0 !== e8.ourId && void 0 !== e8.ourMode && t5.push({ id: e8.ourId, mode: e8.ourMode, stage: 2, path: e8.path }), void 0 !== e8.theirId && void 0 !== e8.theirMode && t5.push({ id: e8.theirId, mode: e8.theirMode, stage: 3, path: e8.path }), t5; + })(e7); } -function $o(e6) { - if ("distinct-types" === e6.type) { +function Wo(e7) { + if ("distinct-types" === e7.type) { const t5 = []; - return void 0 !== e6.ourPath && t5.push(e6.ourPath), void 0 !== e6.theirPath && t5.push(e6.theirPath), t5; + return void 0 !== e7.ourPath && t5.push(e7.ourPath), void 0 !== e7.theirPath && t5.push(e7.theirPath), t5; } - return [e6.path]; + return [e7.path]; } -function Ao(e6) { - return e6.flatMap((e7) => $o(e7)).sort(Eo); +function zo(e7) { + return e7.flatMap((e8) => Wo(e8)).sort(Mo); } -function No(e6, t5) { - const n6 = t5(e6.mode); - return { ctimeSeconds: n6.ctimeSeconds, ctimeNanoseconds: n6.ctimeNanoseconds, mtimeSeconds: n6.mtimeSeconds, mtimeNanoseconds: n6.mtimeNanoseconds, dev: n6.dev, ino: n6.ino, mode: e6.mode, uid: n6.uid, gid: n6.gid, fileSize: n6.fileSize, id: e6.id, flags: { ...Zn, stage: e6.stage }, path: e6.path }; +function jo(e7, t5) { + const n7 = t5(e7.mode); + return { ctimeSeconds: n7.ctimeSeconds, ctimeNanoseconds: n7.ctimeNanoseconds, mtimeSeconds: n7.mtimeSeconds, mtimeNanoseconds: n7.mtimeNanoseconds, dev: n7.dev, ino: n7.ino, mode: e7.mode, uid: n7.uid, gid: n7.gid, fileSize: n7.fileSize, id: e7.id, flags: { ...sr, stage: e7.stage }, path: e7.path }; } -function So(e6, t5) { - const n6 = /* @__PURE__ */ new Set(); - for (const t6 of e6) for (const e7 of $o(t6)) { - if (n6.has(e7)) throw Yn("duplicate conflict path"); - n6.add(e7); +function Ko(e7, t5) { + const n7 = /* @__PURE__ */ new Set(); + for (const t6 of e7) for (const e8 of Wo(t6)) { + if (n7.has(e8)) throw er("duplicate conflict path"); + n7.add(e8); } - const r6 = []; - for (const n7 of e6) for (const e7 of Oo(n7)) r6.push(No(e7, t5)); - return r6.sort((e7, t6) => { - const n7 = Eo(e7.path, t6.path); - return 0 !== n7 ? n7 : e7.flags.stage - t6.flags.stage; - }), r6; + const r8 = []; + for (const n8 of e7) for (const e8 of Go(n8)) r8.push(jo(e8, t5)); + return r8.sort((e8, t6) => { + const n8 = Mo(e8.path, t6.path); + return 0 !== n8 ? n8 : e8.flags.stage - t6.flags.stage; + }), r8; } -var xo = 10; -function Lo(e6) { - return 32 === e6 || 9 === e6; +var Yo = 10; +function Xo(e7) { + return 32 === e7 || 9 === e7; } -function Ro(e6) { - const t5 = e6.length - 1; - return t5 >= 0 && e6[t5] === xo ? t5 : e6.length; +function qo(e7) { + const t5 = e7.length - 1; + return t5 >= 0 && e7[t5] === Yo ? t5 : e7.length; } -function ko(e6, t5) { - const n6 = (function(e7, t6) { +function Jo(e7, t5) { + const n7 = (function(e8, t6) { switch (t6.mode) { case "all": - return (function(e8) { - const t7 = Ro(e8), n7 = new Uint8Array(e8.length); - let r6 = 0; - for (let o6 = 0; o6 < t7; o6++) { - const t8 = e8[o6]; - Lo(t8) || (n7[r6++] = t8); + return (function(e9) { + const t7 = qo(e9), n8 = new Uint8Array(e9.length); + let r8 = 0; + for (let o5 = 0; o5 < t7; o5++) { + const t8 = e9[o5]; + Xo(t8) || (n8[r8++] = t8); } - return t7 < e8.length && (n7[r6++] = xo), n7.subarray(0, r6); - })(e7); + return t7 < e9.length && (n8[r8++] = Yo), n8.subarray(0, r8); + })(e8); case "change": - return (function(e8) { - const t7 = Ro(e8), n7 = new Uint8Array(e8.length); - let r6 = 0, o6 = false; - for (let s9 = 0; s9 < t7; s9++) { - const t8 = e8[s9]; - Lo(t8) ? o6 || (n7[r6++] = 32, o6 = true) : (o6 = false, n7[r6++] = t8); - } - return o6 && r6--, t7 < e8.length && (n7[r6++] = xo), n7.subarray(0, r6); - })(e7); + return (function(e9) { + const t7 = qo(e9), n8 = new Uint8Array(e9.length); + let r8 = 0, o5 = false; + for (let s8 = 0; s8 < t7; s8++) { + const t8 = e9[s8]; + Xo(t8) ? o5 || (n8[r8++] = 32, o5 = true) : (o5 = false, n8[r8++] = t8); + } + return o5 && r8--, t7 < e9.length && (n8[r8++] = Yo), n8.subarray(0, r8); + })(e8); case "at-eol": - return (function(e8) { - const t7 = Ro(e8); - let n7 = t7; - for (; n7 > 0 && Lo(e8[n7 - 1]); ) n7--; - if (n7 === t7 && t7 === e8.length) return e8; - const r6 = new Uint8Array(n7 + (t7 < e8.length ? 1 : 0)); - return r6.set(e8.subarray(0, n7)), t7 < e8.length && (r6[n7] = xo), r6; - })(e7); + return (function(e9) { + const t7 = qo(e9); + let n8 = t7; + for (; n8 > 0 && Xo(e9[n8 - 1]); ) n8--; + if (n8 === t7 && t7 === e9.length) return e9; + const r8 = new Uint8Array(n8 + (t7 < e9.length ? 1 : 0)); + return r8.set(e9.subarray(0, n8)), t7 < e9.length && (r8[n8] = Yo), r8; + })(e8); case "none": - return e7; - } - })((function(e7, t6) { - const n7 = Ro(e7) < e7.length; - return "none" !== t6.mode || t6.ignoreCrAtEol && n7 ? (function(e8) { - const t7 = Ro(e8), n8 = t7 - 1; - if (n8 < 0 || 13 !== e8[n8]) return e8; - const r6 = new Uint8Array(e8.length - 1); - return r6.set(e8.subarray(0, n8)), t7 < e8.length && (r6[n8] = xo), r6; - })(e7) : e7; - })(e6, t5), t5); - return Bo(t5) ? (function(e7) { - const t6 = Ro(e7); - return t6 < e7.length ? e7.subarray(0, t6) : e7; - })(n6) : n6; -} -function Do(e6, t5, n6) { - return It(ko(e6, n6), ko(t5, n6)); -} -function Uo(e6) { - return { mode: e6.ignoreWhitespace ?? "none", ignoreCrAtEol: e6.ignoreCrAtEol ?? false }; -} -var Co = { mode: "none", ignoreCrAtEol: false }; -function Mo(e6) { - return 0 === Ro(e6); -} -function Po(e6, t5) { - return Mo(ko(e6, t5)); -} -function Bo(e6) { - return "none" !== e6.mode || e6.ignoreCrAtEol; -} -var Fo = 2166136261; -function Ho(e6, t5) { - return Math.imul(e6 ^ t5, 16777619) >>> 0; -} -function Vo(e6, t5) { - const n6 = new Uint8Array(256); - return n6[10] = 3, t5 && (n6[13] = 2), e6 && (n6[32] = 1, n6[9] = 1), n6; -} -var Go = Vo(true, true); -var Wo = Vo(false, true); -var jo = Vo(false, false); -function zo(e6) { - return "none" !== e6.mode ? Go : e6.ignoreCrAtEol ? Wo : jo; -} -function Ko(e6) { - return 0 === e6.length; -} -var Yo = 8e3; -var Xo = 65536; -function es(e6) { + return e8; + } + })((function(e8, t6) { + const n8 = qo(e8) < e8.length; + return "none" !== t6.mode || t6.ignoreCrAtEol && n8 ? (function(e9) { + const t7 = qo(e9), n9 = t7 - 1; + if (n9 < 0 || 13 !== e9[n9]) return e9; + const r8 = new Uint8Array(e9.length - 1); + return r8.set(e9.subarray(0, n9)), t7 < e9.length && (r8[n9] = Yo), r8; + })(e8) : e8; + })(e7, t5), t5); + return rs(t5) ? (function(e8) { + const t6 = qo(e8); + return t6 < e8.length ? e8.subarray(0, t6) : e8; + })(n7) : n7; +} +function Qo(e7, t5, n7) { + return xt(Jo(e7, n7), Jo(t5, n7)); +} +function Zo(e7) { + return { mode: e7.ignoreWhitespace ?? "none", ignoreCrAtEol: e7.ignoreCrAtEol ?? false }; +} +var es = { mode: "none", ignoreCrAtEol: false }; +function ts(e7) { + return 0 === qo(e7); +} +function ns(e7, t5) { + return ts(Jo(e7, t5)); +} +function rs(e7) { + return "none" !== e7.mode || e7.ignoreCrAtEol; +} +var os = 2166136261; +function ss(e7, t5) { + return Math.imul(e7 ^ t5, 16777619) >>> 0; +} +function is(e7, t5) { + const n7 = new Uint8Array(256); + return n7[10] = 3, t5 && (n7[13] = 2), e7 && (n7[32] = 1, n7[9] = 1), n7; +} +var as = is(true, true); +var cs = is(false, true); +var ds = is(false, false); +function us(e7) { + return "none" !== e7.mode ? as : e7.ignoreCrAtEol ? cs : ds; +} +function ls(e7) { + return 0 === e7.length; +} +var fs = 8e3; +var hs = 65536; +function ys(e7) { const t5 = []; - let n6 = 0; - for (let r6 = 0; r6 < e6.length; r6++) 10 === e6[r6] && (t5.push(e6.subarray(n6, r6 + 1)), n6 = r6 + 1); - return n6 < e6.length && t5.push(e6.subarray(n6)), t5; -} -function ts(e6) { - return (function(e7) { - const t5 = Math.min(e7.length, Yo); - for (let n6 = 0; n6 < t5; n6++) if (0 === e7[n6]) return true; + let n7 = 0; + for (let r8 = 0; r8 < e7.length; r8++) 10 === e7[r8] && (t5.push(e7.subarray(n7, r8 + 1)), n7 = r8 + 1); + return n7 < e7.length && t5.push(e7.subarray(n7)), t5; +} +function Es(e7) { + return (function(e8) { + const t5 = Math.min(e8.length, fs); + for (let n7 = 0; n7 < t5; n7++) if (0 === e8[n7]) return true; return false; - })(e6); -} -function ns(e6, t5, n6, r6) { - return r6 === -n6 || e6[r6 - 1 + t5] < e6[r6 + 1 + t5]; + })(e7); } -function rs(e6, t5, n6, r6, o6, s9, i7) { - let a6 = ns(n6, r6, o6, s9) ? n6[s9 + 1 + r6] : n6[s9 - 1 + r6] + 1, c6 = a6 - s9; - for (; a6 < e6 && c6 < t5 && i7(a6, c6); ) a6++, c6++; - return { x: a6, y: c6 }; +function bs(e7, t5, n7, r8) { + return r8 === -n7 || e7[r8 - 1 + t5] < e7[r8 + 1 + t5]; } -function os(e6, t5, n6) { - const r6 = []; - let o6 = e6, s9 = t5; - for (let e7 = n6.length - 1; e7 > 0; e7--) { - const t6 = n6[e7], i7 = e7, a6 = o6 - s9, c6 = ns(t6, i7, e7, a6) ? a6 + 1 : a6 - 1, d5 = t6[c6 + i7], u6 = d5 - c6; - for (; o6 > d5 && s9 > u6; ) r6.push("equal"), o6--, s9--; - r6.push(o6 === d5 ? "insert" : "delete"), o6 === d5 ? s9-- : o6--; - } - for (; o6 > 0; ) r6.push("equal"), o6--; - return r6.reverse(), r6; +function Is(e7, t5, n7, r8, o5, s8, i11) { + let a4 = bs(n7, r8, o5, s8) ? n7[s8 + 1 + r8] : n7[s8 - 1 + r8] + 1, c5 = a4 - s8; + for (; a4 < e7 && c5 < t5 && i11(a4, c5); ) a4++, c5++; + return { x: a4, y: c5 }; } -function ss(e6) { +function _s(e7) { const t5 = []; - let n6 = 0, r6 = 0, o6 = 0; - for (; o6 < e6.length; ) { - const s9 = e6[o6], i7 = n6, a6 = r6; - for (; e6[o6] === s9; ) "equal" === s9 ? (n6++, r6++) : "delete" === s9 ? n6++ : r6++, o6++; - t5.push({ kind: "equal" === s9 ? "common" : "delete" === s9 ? "ours-only" : "theirs-only", oursStart: i7, oursEnd: n6, theirsStart: a6, theirsEnd: r6 }); + let n7 = 0, r8 = 0, o5 = 0; + for (; o5 < e7.length; ) { + const s8 = e7[o5], i11 = n7, a4 = r8; + for (; e7[o5] === s8; ) "equal" === s8 ? (n7++, r8++) : "delete" === s8 ? n7++ : r8++, o5++; + t5.push({ kind: "equal" === s8 ? "common" : "delete" === s8 ? "ours-only" : "theirs-only", oursStart: i11, oursEnd: n7, theirsStart: a4, theirsEnd: r8 }); } return t5; } -var is = 8192; -function as(e6, t5, n6) { - const r6 = (function(e7) { - if (e7.length <= is) return String.fromCharCode(...e7); +var vs = 8192; +function Os(e7, t5, n7) { + const r8 = (function(e8) { + if (e8.length <= vs) return String.fromCharCode(...e8); let t6 = ""; - for (let n7 = 0; n7 < e7.length; n7 += is) t6 += String.fromCharCode(...e7.subarray(n7, n7 + is)); + for (let n8 = 0; n8 < e8.length; n8 += vs) t6 += String.fromCharCode(...e8.subarray(n8, n8 + vs)); return t6; - })(ko(e6, t5)), o6 = n6.get(r6); - if (void 0 !== o6) return o6; - const s9 = n6.size; - return n6.set(r6, s9), s9; -} -function cs(e6, t5, n6) { - return (function(e7, t6, n7) { - const r6 = n7?.lineKey, o6 = es(e7), s9 = es(t6), i7 = o6.length, a6 = s9.length; - if (0 === i7 && 0 === a6) return { hunks: [{ kind: "common", oursStart: 0, oursEnd: 0, theirsStart: 0, theirsEnd: 0 }], oursLines: o6, theirsLines: s9, degraded: false }; - const c6 = (function(e8, t7, n8) { - if (void 0 === n8) return (n9, r8) => It(e8[n9], t7[r8]); - const { oursIds: r7, theirsIds: o7 } = (function(e9, t8, n9) { - const r8 = /* @__PURE__ */ new Map(), o8 = new Int32Array(e9.length), s10 = new Int32Array(t8.length); - for (let t9 = 0; t9 < e9.length; t9++) o8[t9] = as(e9[t9], n9, r8); - for (let e10 = 0; e10 < t8.length; e10++) s10[e10] = as(t8[e10], n9, r8); - return { oursIds: o8, theirsIds: s10 }; - })(e8, t7, n8); - return (e9, t8) => r7[e9] === o7[t8]; - })(o6, s9, r6), d5 = (function(e8, t7, n8) { - const r7 = e8, o7 = t7, s10 = Math.min(r7 + o7, 10001), i8 = s10, a7 = new Int32Array(2 * s10 + 1), c7 = []; - for (let s11 = 0; ; s11++) { - if (s11 > 1e4) return; - const d6 = 2 * s11 + 1, u6 = new Int32Array(d6); - for (let e9 = 0; e9 < d6; e9++) u6[e9] = a7[i8 - s11 + e9]; - c7.push(u6); - for (let d7 = -s11; d7 <= s11; d7 += 2) { - const u7 = rs(e8, t7, a7, i8, s11, d7, n8); - if (a7[d7 + i8] = u7.x, u7.x >= r7 && u7.y >= o7) return { trace: c7, totalD: s11 }; - } - } - })(i7, a6, c6); - return void 0 === d5 ? (function(e8, t7) { - const n8 = []; - return e8.length > 0 && n8.push({ kind: "ours-only", oursStart: 0, oursEnd: e8.length, theirsStart: 0, theirsEnd: 0 }), t7.length > 0 && n8.push({ kind: "theirs-only", oursStart: e8.length, oursEnd: e8.length, theirsStart: 0, theirsEnd: t7.length }), { hunks: n8, oursLines: e8, theirsLines: t7, degraded: true }; - })(o6, s9) : { hunks: ss(os(i7, a6, d5.trace)), oursLines: o6, theirsLines: s9, degraded: false }; - })(e6, t5, n6); -} -function ds(e6) { - return "binary" === e6; -} -function us(e6) { - return void 0 === e6; -} -function ls(e6, t5) { - return us(t5) ? ts(e6) : ds(t5); -} -var fs = 536870888; -var hs = fs; -function gs(e6) { - return e6.length + 1; -} -function ms(e6) { + })(Jo(e7, t5)), o5 = n7.get(r8); + if (void 0 !== o5) return o5; + const s8 = n7.size; + return n7.set(r8, s8), s8; +} +function Ts(e7, t5, n7) { + return (function(e8, t6, n8) { + return $s(ys(e8), ys(t6), n8, 1e4); + })(e7, t5, n7); +} +function As(e7, t5, n7) { + return $s(e7, t5, n7, 1e4); +} +function $s(e7, t5, n7, r8) { + const o5 = n7?.lineKey, s8 = e7.length, i11 = t5.length; + if (0 === s8 && 0 === i11) return { hunks: [{ kind: "common", oursStart: 0, oursEnd: 0, theirsStart: 0, theirsEnd: 0 }], oursLines: e7, theirsLines: t5, degraded: false }; + const a4 = (function(e8, t6, n8, r9) { + const o6 = e8, s9 = t6, i12 = Math.min(o6 + s9, r9 + 1), a5 = i12, c5 = new Int32Array(2 * i12 + 1), d6 = []; + for (let i13 = 0; ; i13++) { + if (i13 > r9) return; + const u6 = 2 * i13 + 1, l4 = new Int32Array(u6); + for (let e9 = 0; e9 < u6; e9++) l4[e9] = c5[a5 - i13 + e9]; + d6.push(l4); + for (let r10 = -i13; r10 <= i13; r10 += 2) { + const u7 = Is(e8, t6, c5, a5, i13, r10, n8); + if (c5[r10 + a5] = u7.x, u7.x >= o6 && u7.y >= s9) return { trace: d6, totalD: i13 }; + } + } + })(s8, i11, (function(e8, t6, n8) { + if (void 0 === n8) return (n9, r10) => xt(e8[n9], t6[r10]); + const { oursIds: r9, theirsIds: o6 } = (function(e9, t7, n9) { + const r10 = /* @__PURE__ */ new Map(), o7 = new Int32Array(e9.length), s9 = new Int32Array(t7.length); + for (let t8 = 0; t8 < e9.length; t8++) o7[t8] = Os(e9[t8], n9, r10); + for (let e10 = 0; e10 < t7.length; e10++) s9[e10] = Os(t7[e10], n9, r10); + return { oursIds: o7, theirsIds: s9 }; + })(e8, t6, n8); + return (e9, t7) => r9[e9] === o6[t7]; + })(e7, t5, o5), r8); + return void 0 === a4 ? (function(e8, t6) { + const n8 = []; + return e8.length > 0 && n8.push({ kind: "ours-only", oursStart: 0, oursEnd: e8.length, theirsStart: 0, theirsEnd: 0 }), t6.length > 0 && n8.push({ kind: "theirs-only", oursStart: e8.length, oursEnd: e8.length, theirsStart: 0, theirsEnd: t6.length }), { hunks: n8, oursLines: e8, theirsLines: t6, degraded: true }; + })(e7, t5) : { hunks: _s((function(e8, t6, n8) { + const r9 = []; + let o6 = e8, s9 = t6; + for (let e9 = n8.length - 1; e9 > 0; e9--) { + const t7 = n8[e9], i12 = e9, a5 = o6 - s9, c5 = bs(t7, i12, e9, a5) ? a5 + 1 : a5 - 1, d6 = t7[c5 + i12], u6 = d6 - c5; + for (; o6 > d6 && s9 > u6; ) r9.push("equal"), o6--, s9--; + r9.push(o6 === d6 ? "insert" : "delete"), o6 === d6 ? s9-- : o6--; + } + for (; o6 > 0; ) r9.push("equal"), o6--; + return r9.reverse(), r9; + })(s8, i11, a4.trace)), oursLines: e7, theirsLines: t5, degraded: false }; +} +function xs(e7) { + return "binary" === e7; +} +function Ss(e7) { + return void 0 === e7; +} +function Ns(e7, t5) { + return Ss(t5) ? Es(e7) : xs(t5); +} +var Ls = 536870888; +var Rs = Ls; +function ks(e7) { + return e7.length + 1; +} +function Ds(e7) { let t5 = 0; - for (const n6 of e6) t5 += gs(n6); + for (const n7 of e7) t5 += ks(n7); return t5; } -function ps(e6, t5 = 536870888) { - if (e6 > t5) throw Yn(`rendered patch is ${e6} characters; the maximum is ${t5}`); +function Us(e7, t5 = 536870888) { + if (e7 > t5) throw er(`rendered patch is ${e7} characters; the maximum is ${t5}`); } -var ws = 6e4; -var ys = 3e4; -var Es = 3e4; -var bs = 36e3; -var Is = 107927; -function _s(e6) { - const t5 = /* @__PURE__ */ new Map(), n6 = e6.length; - let r6 = 0, o6 = 0, s9 = 0; - for (let i7 = 0; i7 < n6; i7++) { - const n7 = e6[i7], a6 = r6; - if (r6 = (r6 << 7 ^ o6 >>> 25) + n7 >>> 0, o6 = (o6 << 7 ^ a6 >>> 25) >>> 0, s9++, s9 >= 64 || 10 === n7) { - const e7 = (r6 + Math.imul(o6, 97)) % Is; - t5.set(e7, (t5.get(e7) ?? 0) + s9), s9 = 0, r6 = 0, o6 = 0; +var Cs = 6e4; +var Ms = 3e4; +var Ps = 3e4; +var Bs = 36e3; +var Fs = 107927; +function Hs(e7) { + const t5 = /* @__PURE__ */ new Map(), n7 = e7.length; + let r8 = 0, o5 = 0, s8 = 0; + for (let i11 = 0; i11 < n7; i11++) { + const n8 = e7[i11], a4 = r8; + if (r8 = (r8 << 7 ^ o5 >>> 25) + n8 >>> 0, o5 = (o5 << 7 ^ a4 >>> 25) >>> 0, s8++, s8 >= 64 || 10 === n8) { + const e8 = (r8 + Math.imul(o5, 97)) % Fs; + t5.set(e8, (t5.get(e8) ?? 0) + s8), s8 = 0, r8 = 0, o5 = 0; } } - if (s9 > 0) { - const e7 = (r6 + Math.imul(o6, 97)) % Is; - t5.set(e7, (t5.get(e7) ?? 0) + s9); + if (s8 > 0) { + const e8 = (r8 + Math.imul(o5, 97)) % Fs; + t5.set(e8, (t5.get(e8) ?? 0) + s8); } return t5; } -function vs(e6, t5) { - let n6 = 0; - for (const [r6, o6] of e6) { - const e7 = t5.get(r6) ?? 0; - e7 > 0 && (n6 += Math.min(o6, e7)); - } - return n6; -} -function Ts(e6, t5) { - const n6 = t5.length; - if (0 === e6.length || 0 === n6) return { srcCopied: 0, literalAdded: n6 }; - const r6 = vs(_s(e6), _s(t5)); - return { srcCopied: r6, literalAdded: n6 - r6 }; -} -function $s(e6, t5, n6, r6) { - const o6 = Math.max(t5, r6); - if (0 === o6) return ws; - if (0 === t5 || 0 === r6) return 0; - const s9 = vs(e6, n6); - return Math.trunc(s9 * ws / o6); -} -function As(e6) { - return 100 * e6 / ws | 0; -} -var Ns = "0000000"; -var Ss = { old: "a/", new: "b/" }; -var xs = "\\ No newline at end of file"; -var Ls = new TextDecoder("utf-8", { fatal: false }); -function Rs(e6, t5) { - for (let n6 = 0; n6 < t5.length; n6++) { - const r6 = t5.charCodeAt(n6); - if (10 === r6 || 13 === r6 || 0 === r6) throw Yn(`${e6} contains control character (code ${r6}) at index ${n6}`); - } -} -function ks(e6, t5) { - if (Rs("pathPrefix.old", t5.old), Rs("pathPrefix.new", t5.new), "rename" === e6.type || "copy" === e6.type) return Rs("oldPath", e6.oldPath), void Rs("newPath", e6.newPath); - "add" !== e6.type ? "delete" !== e6.type ? Rs("path", e6.path) : Rs("oldPath", e6.oldPath) : Rs("newPath", e6.newPath); -} -function Ds(e6) { - return void 0 === e6 || 0 === e6.length ? { lines: [], hasTrailingNewline: true } : { lines: es(e6).map(Us), hasTrailingNewline: 10 === e6[e6.length - 1] }; -} -function Us(e6) { - return Ls.decode(e6.subarray(0, e6.length > 0 && 10 === e6[e6.length - 1] ? e6.length - 1 : e6.length)); -} -function Cs(e6) { - return e6.slice(0, 7); -} -function Ms(e6, t5, n6) { - return `diff --git ${n6.old}${e6} ${n6.new}${t5}`; -} -function Ps(e6, t5, n6, r6) { - return `@@ -${1 === t5 ? `${e6}` : `${e6},${t5}`} +${1 === r6 ? `${n6}` : `${n6},${r6}`} @@`; -} -function Bs(e6, t5, n6) { - return "common" === e6.kind ? (function(e7, t6) { - const n7 = []; - for (let r6 = e7.oursStart; r6 < e7.oursEnd; r6++) { - const o6 = e7.theirsStart + (r6 - e7.oursStart); - n7.push({ kind: "context", oldIndex: r6, newIndex: o6, text: t6[o6] }); - } - return n7; - })(e6, n6) : "ours-only" === e6.kind ? (function(e7, t6) { - const n7 = []; - for (let r6 = e7.oursStart; r6 < e7.oursEnd; r6++) n7.push({ kind: "delete", oldIndex: r6, newIndex: e7.theirsStart, text: t6[r6] }); - return n7; - })(e6, t5) : (function(e7, t6) { - const n7 = []; - for (let r6 = e7.theirsStart; r6 < e7.theirsEnd; r6++) n7.push({ kind: "insert", oldIndex: e7.oursEnd, newIndex: r6, text: t6[r6] }); - return n7; - })(e6, n6); -} -function Fs(e6, t5) { - const n6 = "delete" !== e6.kind && e6.newIndex === t5.lastNewIdx && t5.lastNewIdx === t5.newTotal - 1; - return "context" === e6.kind ? n6 && !t5.newHasTrailingNewline : "delete" === e6.kind ? "insert" !== e6.kind && e6.oldIndex === t5.lastOldIdx && t5.lastOldIdx === t5.oldTotal - 1 && !t5.oldHasTrailingNewline : n6 && !t5.newHasTrailingNewline; -} -function Hs(e6) { - return "context" === e6 ? " " : "delete" === e6 ? "-" : "+"; -} -function Vs(e6) { +function Vs(e7, t5) { + let n7 = 0; + for (const [r8, o5] of e7) { + const e8 = t5.get(r8) ?? 0; + e8 > 0 && (n7 += Math.min(o5, e8)); + } + return n7; +} +function Gs(e7, t5) { + const n7 = t5.length; + if (0 === e7.length || 0 === n7) return { srcCopied: 0, literalAdded: n7 }; + const r8 = Vs(Hs(e7), Hs(t5)); + return { srcCopied: r8, literalAdded: n7 - r8 }; +} +function zs(e7, t5, n7, r8) { + const o5 = Math.max(t5, r8); + if (0 === o5) return Cs; + if (0 === t5 || 0 === r8) return 0; + const s8 = Vs(e7, n7); + return Math.trunc(s8 * Cs / o5); +} +function js(e7) { + return 100 * e7 / Cs | 0; +} +var Ks = "0000000"; +var Ys = { old: "a/", new: "b/" }; +var Xs = "\\ No newline at end of file"; +var qs = new TextDecoder("utf-8", { fatal: false }); +function Js(e7, t5) { + for (let n7 = 0; n7 < t5.length; n7++) { + const r8 = t5.charCodeAt(n7); + if (10 === r8 || 13 === r8 || 0 === r8) throw er(`${e7} contains control character (code ${r8}) at index ${n7}`); + } +} +function Qs(e7, t5) { + if (Js("pathPrefix.old", t5.old), Js("pathPrefix.new", t5.new), "rename" === e7.type || "copy" === e7.type) return Js("oldPath", e7.oldPath), void Js("newPath", e7.newPath); + "add" !== e7.type ? "delete" !== e7.type ? Js("path", e7.path) : Js("oldPath", e7.oldPath) : Js("newPath", e7.newPath); +} +function Zs(e7) { + return void 0 === e7 || 0 === e7.length ? { lines: [], hasTrailingNewline: true } : { lines: ys(e7).map(ei), hasTrailingNewline: 10 === e7[e7.length - 1] }; +} +function ei(e7) { + return qs.decode(e7.subarray(0, e7.length > 0 && 10 === e7[e7.length - 1] ? e7.length - 1 : e7.length)); +} +function ti(e7) { + return e7.slice(0, 7); +} +function ni(e7, t5, n7) { + return `diff --git ${n7.old}${e7} ${n7.new}${t5}`; +} +function ri(e7, t5, n7, r8) { + return `@@ -${1 === t5 ? `${e7}` : `${e7},${t5}`} +${1 === r8 ? `${n7}` : `${n7},${r8}`} @@`; +} +function oi(e7, t5, n7) { + return "common" === e7.kind ? (function(e8, t6) { + const n8 = []; + for (let r8 = e8.oursStart; r8 < e8.oursEnd; r8++) { + const o5 = e8.theirsStart + (r8 - e8.oursStart); + n8.push({ kind: "context", oldIndex: r8, newIndex: o5, text: t6[o5] }); + } + return n8; + })(e7, n7) : "ours-only" === e7.kind ? (function(e8, t6) { + const n8 = []; + for (let r8 = e8.oursStart; r8 < e8.oursEnd; r8++) n8.push({ kind: "delete", oldIndex: r8, newIndex: e8.theirsStart, text: t6[r8] }); + return n8; + })(e7, t5) : (function(e8, t6) { + const n8 = []; + for (let r8 = e8.theirsStart; r8 < e8.theirsEnd; r8++) n8.push({ kind: "insert", oldIndex: e8.oursEnd, newIndex: r8, text: t6[r8] }); + return n8; + })(e7, n7); +} +function si(e7, t5) { + const n7 = "delete" !== e7.kind && e7.newIndex === t5.lastNewIdx && t5.lastNewIdx === t5.newTotal - 1; + return "context" === e7.kind ? n7 && !t5.newHasTrailingNewline : "delete" === e7.kind ? "insert" !== e7.kind && e7.oldIndex === t5.lastOldIdx && t5.lastOldIdx === t5.oldTotal - 1 && !t5.oldHasTrailingNewline : n7 && !t5.newHasTrailingNewline; +} +function ii(e7) { + return "context" === e7 ? " " : "delete" === e7 ? "-" : "+"; +} +function ai(e7) { const t5 = []; - for (const n6 of e6) t5.push(`${Hs(n6.kind)}${n6.text}`), n6.trailingNoNewline && t5.push(xs); + for (const n7 of e7) t5.push(`${ii(n7.kind)}${n7.text}`), n7.trailingNoNewline && t5.push(Xs); return t5; } -function Gs(e6, t5, n6) { - const r6 = Ds(t5), o6 = []; - if (o6.push(Ms(e6.newPath, e6.newPath, n6)), o6.push(`new file mode ${e6.newMode}`), o6.push(`index ${Ns}..${Cs(e6.newId)}`), o6.push("--- /dev/null"), o6.push(`+++ ${n6.new}${e6.newPath}`), 0 === r6.lines.length) return o6; - o6.push(Ps(0, 0, 1, r6.lines.length)); - for (const e7 of r6.lines) o6.push(`+${e7}`); - return r6.hasTrailingNewline || o6.push(xs), o6; -} -function Ws(e6, t5, n6) { - const r6 = Ds(t5), o6 = []; - if (o6.push(Ms(e6.oldPath, e6.oldPath, n6)), o6.push(`deleted file mode ${e6.oldMode}`), o6.push(`index ${Cs(e6.oldId)}..${Ns}`), o6.push(`--- ${n6.old}${e6.oldPath}`), o6.push("+++ /dev/null"), 0 === r6.lines.length) return o6; - o6.push(Ps(1, r6.lines.length, 0, 0)); - for (const e7 of r6.lines) o6.push(`-${e7}`); - return r6.hasTrailingNewline || o6.push(xs), o6; -} -function js(e6) { - return { path: e6.path, oldId: e6.oldId, newId: e6.newId, oldMode: e6.oldMode, newMode: e6.newMode }; -} -function zs(e6) { - return e6.oldMode === e6.newMode ? [`index ${Cs(e6.oldId)}..${Cs(e6.newId)} ${e6.newMode}`] : [`old mode ${e6.oldMode}`, `new mode ${e6.newMode}`, `index ${Cs(e6.oldId)}..${Cs(e6.newId)}`]; -} -function Ks(e6, t5, n6, r6) { - return [`Binary files ${0 === n6.length ? "/dev/null" : `${t5.old}${e6.path}`} and ${0 === r6.length ? "/dev/null" : `${t5.new}${e6.path}`} differ`]; -} -function Ys(e6, t5, n6, r6) { - const o6 = Ds(e6), s9 = Ds(t5); - return (function(e7, t6, n7) { - if (0 === e7.length) return []; - const r7 = (function(e8, t7) { - const n8 = []; - return e8.forEach((e9, r8) => { - if ("context" === e9.kind) return; - const o7 = n8[n8.length - 1]; - void 0 !== o7 && r8 - o7.last <= t7 ? n8[n8.length - 1] = { first: o7.first, last: r8 } : n8.push({ first: r8, last: r8 }); - }), n8; - })(e7, 2 * t6 + 1); - return 0 === r7.length ? [] : r7.map((r8) => (function(e8, t7, n8, r9) { - const o7 = Math.max(0, e8.first - n8), s10 = Math.min(t7.length, e8.last + n8 + 1), i7 = t7.slice(o7, s10), a6 = (function(e9) { - let t8 = 0, n9 = 0, r10 = 0, o8 = 0, s11 = false, i8 = false, a7 = -1, c7 = -1; - for (const d6 of e9) "insert" !== d6.kind && (s11 || (t8 = d6.oldIndex + 1, s11 = true), r10++, a7 = d6.oldIndex), "delete" !== d6.kind && (i8 || (n9 = d6.newIndex + 1, i8 = true), o8++, c7 = d6.newIndex); - return 0 === r10 && (t8 = e9[0].oldIndex), 0 === o8 && (n9 = e9[0].newIndex), { oldStart: t8, oldLen: r10, newStart: n9, newLen: o8, lastOldIdx: a7, lastNewIdx: c7 }; - })(i7), c6 = { ...r9, lastOldIdx: a6.lastOldIdx, lastNewIdx: a6.lastNewIdx }, d5 = i7.map((e9) => ({ kind: e9.kind, text: e9.text, trailingNoNewline: Fs(e9, c6) })); - return { oldStart: a6.oldStart, oldLen: a6.oldLen, newStart: a6.newStart, newLen: a6.newLen, body: d5 }; - })(r8, e7, t6, n7)); - })((function(e7, t6, n7, r7, o7) { - const s10 = cs(n7, r7, void 0 !== o7?.lineKey ? { lineKey: o7.lineKey } : void 0), i7 = []; - for (const n8 of s10.hunks) for (const r8 of Bs(n8, e7, t6)) i7.push(r8); - return true !== o7?.ignoreBlankLines ? i7 : (function(e8, t7, n8) { - return e8.filter((e9) => { - if ("context" === e9.kind) return true; - const r8 = "delete" === e9.kind ? t7.oursLines[e9.oldIndex] : t7.theirsLines[e9.newIndex]; - return void 0 === r8 || !Po(r8, n8); +function ci(e7, t5, n7) { + const r8 = Zs(t5), o5 = []; + if (o5.push(ni(e7.newPath, e7.newPath, n7)), o5.push(`new file mode ${e7.newMode}`), o5.push(`index ${Ks}..${ti(e7.newId)}`), o5.push("--- /dev/null"), o5.push(`+++ ${n7.new}${e7.newPath}`), 0 === r8.lines.length) return o5; + o5.push(ri(0, 0, 1, r8.lines.length)); + for (const e8 of r8.lines) o5.push(`+${e8}`); + return r8.hasTrailingNewline || o5.push(Xs), o5; +} +function di(e7, t5, n7) { + const r8 = Zs(t5), o5 = []; + if (o5.push(ni(e7.oldPath, e7.oldPath, n7)), o5.push(`deleted file mode ${e7.oldMode}`), o5.push(`index ${ti(e7.oldId)}..${Ks}`), o5.push(`--- ${n7.old}${e7.oldPath}`), o5.push("+++ /dev/null"), 0 === r8.lines.length) return o5; + o5.push(ri(1, r8.lines.length, 0, 0)); + for (const e8 of r8.lines) o5.push(`-${e8}`); + return r8.hasTrailingNewline || o5.push(Xs), o5; +} +function ui(e7) { + return { path: e7.path, oldId: e7.oldId, newId: e7.newId, oldMode: e7.oldMode, newMode: e7.newMode }; +} +function li(e7) { + return e7.oldMode === e7.newMode ? [`index ${ti(e7.oldId)}..${ti(e7.newId)} ${e7.newMode}`] : [`old mode ${e7.oldMode}`, `new mode ${e7.newMode}`, `index ${ti(e7.oldId)}..${ti(e7.newId)}`]; +} +function fi(e7, t5, n7, r8) { + return [`Binary files ${0 === n7.length ? "/dev/null" : `${t5.old}${e7.path}`} and ${0 === r8.length ? "/dev/null" : `${t5.new}${e7.path}`} differ`]; +} +function hi(e7, t5, n7, r8) { + const o5 = Zs(e7), s8 = Zs(t5); + return (function(e8, t6, n8) { + if (0 === e8.length) return []; + const r9 = (function(e9, t7) { + const n9 = []; + return e9.forEach((e10, r10) => { + if ("context" === e10.kind) return; + const o6 = n9[n9.length - 1]; + void 0 !== o6 && r10 - o6.last <= t7 ? n9[n9.length - 1] = { first: o6.first, last: r10 } : n9.push({ first: r10, last: r10 }); + }), n9; + })(e8, 2 * t6 + 1); + return 0 === r9.length ? [] : r9.map((r10) => (function(e9, t7, n9, r11) { + const o6 = Math.max(0, e9.first - n9), s9 = Math.min(t7.length, e9.last + n9 + 1), i11 = t7.slice(o6, s9), a4 = (function(e10) { + let t8 = 0, n10 = 0, r12 = 0, o7 = 0, s10 = false, i12 = false, a5 = -1, c6 = -1; + for (const d7 of e10) "insert" !== d7.kind && (s10 || (t8 = d7.oldIndex + 1, s10 = true), r12++, a5 = d7.oldIndex), "delete" !== d7.kind && (i12 || (n10 = d7.newIndex + 1, i12 = true), o7++, c6 = d7.newIndex); + return 0 === r12 && (t8 = e10[0].oldIndex), 0 === o7 && (n10 = e10[0].newIndex), { oldStart: t8, oldLen: r12, newStart: n10, newLen: o7, lastOldIdx: a5, lastNewIdx: c6 }; + })(i11), c5 = { ...r11, lastOldIdx: a4.lastOldIdx, lastNewIdx: a4.lastNewIdx }, d6 = i11.map((e10) => ({ kind: e10.kind, text: e10.text, trailingNoNewline: si(e10, c5) })); + return { oldStart: a4.oldStart, oldLen: a4.oldLen, newStart: a4.newStart, newLen: a4.newLen, body: d6 }; + })(r10, e8, t6, n8)); + })((function(e8, t6, n8, r9, o6) { + const s9 = Ts(n8, r9, void 0 !== o6?.lineKey ? { lineKey: o6.lineKey } : void 0), i11 = []; + for (const n9 of s9.hunks) for (const r10 of oi(n9, e8, t6)) i11.push(r10); + return true !== o6?.ignoreBlankLines ? i11 : (function(e9, t7, n9) { + return e9.filter((e10) => { + if ("context" === e10.kind) return true; + const r10 = "delete" === e10.kind ? t7.oursLines[e10.oldIndex] : t7.theirsLines[e10.newIndex]; + return void 0 === r10 || !ns(r10, n9); }); - })(i7, s10, o7.lineKey ?? Co); - })(o6.lines, s9.lines, e6, t5, r6), n6, { oldTotal: o6.lines.length, newTotal: s9.lines.length, oldHasTrailingNewline: o6.hasTrailingNewline, newHasTrailingNewline: s9.hasTrailingNewline }); -} -function Xs(e6, t5, n6, r6, o6, s9) { - const i7 = Ys(n6, r6, o6, s9); - if (0 === i7.length && true === s9?.ignoreBlankLines) return []; - const a6 = []; - a6.push(`--- ${t5.old}${e6.path}`), a6.push(`+++ ${t5.new}${e6.path}`); - for (const e7 of i7) { - a6.push(Ps(e7.oldStart, e7.oldLen, e7.newStart, e7.newLen)); - for (const t6 of Vs(e7.body)) a6.push(t6); - } - return a6; -} -function qs(e6, t5, n6, r6, o6, s9) { - const i7 = []; - if (i7.push(Ms(e6.oldPath, e6.newPath, r6)), e6.oldMode !== e6.newMode && (i7.push(`old mode ${e6.oldMode}`), i7.push(`new mode ${e6.newMode}`)), i7.push(`similarity index ${As(e6.similarity.score)}%`), i7.push(`${t5} from ${e6.oldPath}`), i7.push(`${t5} to ${e6.newPath}`), e6.similarity.score === ws) return i7; - const a6 = (function(e7, t6, n7, r7, o7, s10, i8) { - const a7 = []; - if (a7.push((function(e8) { - const t7 = `index ${Cs(e8.oldId)}..${Cs(e8.newId)}`; - return e8.oldMode === e8.newMode ? `${t7} ${e8.newMode}` : t7; - })(e7)), ls(t6, i8) || ls(n7, i8)) return a7.push(`Binary files ${r7.old}${e7.oldPath} and ${r7.new}${e7.newPath} differ`), a7; - const c6 = Ys(t6, n7, o7, s10); - if (0 === c6.length && true === s10?.ignoreBlankLines) return a7; - a7.push(`--- ${r7.old}${e7.oldPath}`), a7.push(`+++ ${r7.new}${e7.newPath}`); - for (const e8 of c6) { - a7.push(Ps(e8.oldStart, e8.oldLen, e8.newStart, e8.newLen)); - for (const t7 of Vs(e8.body)) a7.push(t7); - } - return a7; - })(e6, n6.oldContent ?? new Uint8Array(0), n6.newContent ?? new Uint8Array(0), r6, o6, s9, n6.patchBinaryOverride); - return [...i7, ...a6]; -} -function Js(e6, t5) { - return [Ms(e6.newPath, e6.newPath, t5), `new file mode ${e6.newMode}`, `index ${Ns}..${Cs(e6.newId)}`, `Binary files /dev/null and ${t5.new}${e6.newPath} differ`]; -} -function Qs(e6, t5) { - return [Ms(e6.oldPath, e6.oldPath, t5), `deleted file mode ${e6.oldMode}`, `index ${Cs(e6.oldId)}..${Ns}`, `Binary files ${t5.old}${e6.oldPath} and /dev/null differ`]; -} -function Zs(e6, t5, n6, r6) { - const o6 = e6.change, s9 = e6.patchBinaryOverride; - return "add" === o6.type ? ls(e6.newContent ?? new Uint8Array(0), s9) ? Js(o6, t5) : Gs(o6, e6.newContent, t5) : "delete" === o6.type ? ls(e6.oldContent ?? new Uint8Array(0), s9) ? Qs(o6, t5) : Ws(o6, e6.oldContent, t5) : "rename" === o6.type ? (function(e7, t6, n7, r7, o7) { - return qs(e7, "rename", t6, n7, r7, o7); - })(o6, e6, t5, n6, r6) : "copy" === o6.type ? (function(e7, t6, n7, r7, o7) { - return qs(e7, "copy", t6, n7, r7, o7); - })(o6, e6, t5, n6, r6) : "type-change" === o6.type ? (function(e7, t6, n7, r7, o7) { - const s10 = { oldPath: e7.path, oldId: e7.oldId, oldMode: e7.oldMode }, i7 = { newPath: e7.path, newId: e7.newId, newMode: e7.newMode }; - return [...ls(t6, o7) ? Qs(s10, r7) : Ws(s10, t6, r7), ...ls(n7, o7) ? Js(i7, r7) : Gs(i7, n7, r7)]; - })(o6, e6.oldContent ?? new Uint8Array(0), e6.newContent ?? new Uint8Array(0), t5, s9) : (function(e7, t6, n7, r7, o7, s10, i7) { - return void 0 !== e7.broken ? (function(e8, t7, n8, r8, o8, s11, i8) { - const a6 = e8.broken, c6 = js(e8), d5 = []; - d5.push(Ms(c6.path, c6.path, r8)), d5.push(`dissimilarity index ${As(a6.score)}%`); - const u6 = `index ${Cs(c6.oldId)}..${Cs(c6.newId)}`; - d5.push(c6.oldMode === c6.newMode ? `${u6} ${c6.newMode}` : u6); - const l4 = ls(t7, i8) || ls(n8, i8) ? Ks(c6, r8, t7, n8) : Xs(c6, r8, t7, n8, o8, s11); - for (const e9 of l4) d5.push(e9); - return d5; - })(e7, t6, n7, r7, o7, s10, i7) : (function(e8, t7, n8, r8, o8, s11, i8) { - if (e8.oldId !== e8.newId && !ls(n8, i8) && !ls(r8, i8)) { - const i9 = Xs(e8, t7, n8, r8, o8, s11); - if (0 === i9.length) return []; - const a7 = []; - a7.push(Ms(e8.path, e8.path, t7)); - for (const t8 of zs(e8)) a7.push(t8); - for (const e9 of i9) a7.push(e9); - return a7; - } - const a6 = []; - a6.push(Ms(e8.path, e8.path, t7)); - for (const t8 of zs(e8)) a6.push(t8); - if (e8.oldId === e8.newId) return a6; - for (const o9 of Ks(e8, t7, n8, r8)) a6.push(o9); - return a6; - })(js(e7), r7, t6, n7, o7, s10, i7); - })(o6, e6.oldContent ?? new Uint8Array(0), e6.newContent ?? new Uint8Array(0), t5, n6, r6, s9); -} -function ei(e6, t5) { - return (function(e7, t6, n6) { - const r6 = (function(e8) { - if (void 0 === e8) return 3; - if (!Number.isInteger(e8) || e8 < 0) throw Yn(`contextLines must be a non-negative integer; got ${e8}`); - return e8; + })(i11, s9, o6.lineKey ?? es); + })(o5.lines, s8.lines, e7, t5, r8), n7, { oldTotal: o5.lines.length, newTotal: s8.lines.length, oldHasTrailingNewline: o5.hasTrailingNewline, newHasTrailingNewline: s8.hasTrailingNewline }); +} +function gi(e7, t5, n7, r8, o5, s8) { + const i11 = hi(n7, r8, o5, s8); + if (0 === i11.length && true === s8?.ignoreBlankLines) return []; + const a4 = []; + a4.push(`--- ${t5.old}${e7.path}`), a4.push(`+++ ${t5.new}${e7.path}`); + for (const e8 of i11) { + a4.push(ri(e8.oldStart, e8.oldLen, e8.newStart, e8.newLen)); + for (const t6 of ai(e8.body)) a4.push(t6); + } + return a4; +} +function mi(e7, t5, n7, r8, o5, s8) { + const i11 = []; + if (i11.push(ni(e7.oldPath, e7.newPath, r8)), e7.oldMode !== e7.newMode && (i11.push(`old mode ${e7.oldMode}`), i11.push(`new mode ${e7.newMode}`)), i11.push(`similarity index ${js(e7.similarity.score)}%`), i11.push(`${t5} from ${e7.oldPath}`), i11.push(`${t5} to ${e7.newPath}`), e7.similarity.score === Cs) return i11; + const a4 = (function(e8, t6, n8, r9, o6, s9, i12) { + const a5 = []; + if (a5.push((function(e9) { + const t7 = `index ${ti(e9.oldId)}..${ti(e9.newId)}`; + return e9.oldMode === e9.newMode ? `${t7} ${e9.newMode}` : t7; + })(e8)), Ns(t6, i12) || Ns(n8, i12)) return a5.push(`Binary files ${r9.old}${e8.oldPath} and ${r9.new}${e8.newPath} differ`), a5; + const c5 = hi(t6, n8, o6, s9); + if (0 === c5.length && true === s9?.ignoreBlankLines) return a5; + a5.push(`--- ${r9.old}${e8.oldPath}`), a5.push(`+++ ${r9.new}${e8.newPath}`); + for (const e9 of c5) { + a5.push(ri(e9.oldStart, e9.oldLen, e9.newStart, e9.newLen)); + for (const t7 of ai(e9.body)) a5.push(t7); + } + return a5; + })(e7, n7.oldContent ?? new Uint8Array(0), n7.newContent ?? new Uint8Array(0), r8, o5, s8, n7.patchBinaryOverride); + return [...i11, ...a4]; +} +function pi(e7, t5) { + return [ni(e7.newPath, e7.newPath, t5), `new file mode ${e7.newMode}`, `index ${Ks}..${ti(e7.newId)}`, `Binary files /dev/null and ${t5.new}${e7.newPath} differ`]; +} +function wi(e7, t5) { + return [ni(e7.oldPath, e7.oldPath, t5), `deleted file mode ${e7.oldMode}`, `index ${ti(e7.oldId)}..${Ks}`, `Binary files ${t5.old}${e7.oldPath} and /dev/null differ`]; +} +function yi(e7, t5, n7, r8) { + const o5 = e7.change, s8 = e7.patchBinaryOverride; + return "add" === o5.type ? Ns(e7.newContent ?? new Uint8Array(0), s8) ? pi(o5, t5) : ci(o5, e7.newContent, t5) : "delete" === o5.type ? Ns(e7.oldContent ?? new Uint8Array(0), s8) ? wi(o5, t5) : di(o5, e7.oldContent, t5) : "rename" === o5.type ? (function(e8, t6, n8, r9, o6) { + return mi(e8, "rename", t6, n8, r9, o6); + })(o5, e7, t5, n7, r8) : "copy" === o5.type ? (function(e8, t6, n8, r9, o6) { + return mi(e8, "copy", t6, n8, r9, o6); + })(o5, e7, t5, n7, r8) : "type-change" === o5.type ? (function(e8, t6, n8, r9, o6) { + const s9 = { oldPath: e8.path, oldId: e8.oldId, oldMode: e8.oldMode }, i11 = { newPath: e8.path, newId: e8.newId, newMode: e8.newMode }; + return [...Ns(t6, o6) ? wi(s9, r9) : di(s9, t6, r9), ...Ns(n8, o6) ? pi(i11, r9) : ci(i11, n8, r9)]; + })(o5, e7.oldContent ?? new Uint8Array(0), e7.newContent ?? new Uint8Array(0), t5, s8) : (function(e8, t6, n8, r9, o6, s9, i11) { + return void 0 !== e8.broken ? (function(e9, t7, n9, r10, o7, s10, i12) { + const a4 = e9.broken, c5 = ui(e9), d6 = []; + d6.push(ni(c5.path, c5.path, r10)), d6.push(`dissimilarity index ${js(a4.score)}%`); + const u6 = `index ${ti(c5.oldId)}..${ti(c5.newId)}`; + d6.push(c5.oldMode === c5.newMode ? `${u6} ${c5.newMode}` : u6); + const l4 = Ns(t7, i12) || Ns(n9, i12) ? fi(c5, r10, t7, n9) : gi(c5, r10, t7, n9, o7, s10); + for (const e10 of l4) d6.push(e10); + return d6; + })(e8, t6, n8, r9, o6, s9, i11) : (function(e9, t7, n9, r10, o7, s10, i12) { + if (e9.oldId !== e9.newId && !Ns(n9, i12) && !Ns(r10, i12)) { + const i13 = gi(e9, t7, n9, r10, o7, s10); + if (0 === i13.length) return []; + const a5 = []; + a5.push(ni(e9.path, e9.path, t7)); + for (const t8 of li(e9)) a5.push(t8); + for (const e10 of i13) a5.push(e10); + return a5; + } + const a4 = []; + a4.push(ni(e9.path, e9.path, t7)); + for (const t8 of li(e9)) a4.push(t8); + if (e9.oldId === e9.newId) return a4; + for (const o8 of fi(e9, t7, n9, r10)) a4.push(o8); + return a4; + })(ui(e8), r9, t6, n8, o6, s9, i11); + })(o5, e7.oldContent ?? new Uint8Array(0), e7.newContent ?? new Uint8Array(0), t5, n7, r8, s8); +} +function Ei(e7, t5) { + return (function(e8, t6, n7) { + const r8 = (function(e9) { + if (void 0 === e9) return 3; + if (!Number.isInteger(e9) || e9 < 0) throw er(`contextLines must be a non-negative integer; got ${e9}`); + return e9; })(t6?.contextLines); - if (0 === e7.length) return ""; - const o6 = t6?.pathPrefix ?? Ss; - for (const t7 of e7) ks(t7.change, o6); - const s9 = (function(e8) { - if (void 0 === e8) return; - const t7 = e8.lineKey, n7 = e8.ignoreBlankLines; - return void 0 !== t7 && true === n7 ? { lineKey: t7, ignoreBlankLines: true } : void 0 !== t7 ? { lineKey: t7 } : true === n7 ? { ignoreBlankLines: true } : void 0; - })(t6), i7 = []; - let a6 = 0; - for (const t7 of e7) { - const e8 = Zs(t7, o6, r6, s9); - for (const t8 of e8) i7.push(t8), a6 += gs(t8), ps(a6, n6); - } - return 0 === i7.length ? "" : (i7.push(""), i7.join("\n")); - })(e6, t5, hs); -} -function ti(e6, t5) { - const n6 = t5.get(e6.newId); - if (void 0 === n6 || 1 !== n6.length) return; - const r6 = n6[0]; - return { rename: { type: "rename", oldPath: r6.oldPath, newPath: e6.newPath, oldId: r6.oldId, newId: e6.newId, oldMode: r6.oldMode, newMode: e6.newMode, similarity: { score: ws, maxScore: ws } }, consumedDelete: r6 }; -} -function ni(e6, t5 = {}) { - const n6 = t5.limit ?? 1e3, r6 = t5.maxSameIdDeletes ?? 100, { adds: o6, deletes: s9, other: i7 } = (function(e7) { - const t6 = [], n7 = [], r7 = []; - for (const o7 of e7) "add" === o7.type ? t6.push(o7) : "delete" === o7.type ? n7.push(o7) : r7.push(o7); - return { adds: t6, deletes: n7, other: r7 }; - })(e6.changes); - if (o6.length * s9.length > n6) return e6; - const a6 = (function(e7, t6) { - const n7 = /* @__PURE__ */ new Map(); - for (const t7 of e7) { - const e8 = n7.get(t7.oldId); - void 0 === e8 ? n7.set(t7.oldId, [t7]) : e8.push(t7); - } - const r7 = /* @__PURE__ */ new Map(); - for (const [e8, o7] of n7) o7.length <= t6 && r7.set(e8, o7); - return r7; - })(s9, r6), c6 = /* @__PURE__ */ new Set(), d5 = [], u6 = []; - for (const e7 of o6) { - const t6 = ti(e7, a6); - void 0 === t6 ? u6.push(e7) : (d5.push(t6.rename), c6.add(t6.consumedDelete)); - } - const l4 = s9.filter((e7) => !c6.has(e7)); - return { changes: bo([...u6, ...l4, ...d5, ...i7], go) }; -} -function ri(e6, t5, n6) { + if (0 === e8.length) return ""; + const o5 = t6?.pathPrefix ?? Ys; + for (const t7 of e8) Qs(t7.change, o5); + const s8 = (function(e9) { + if (void 0 === e9) return; + const t7 = e9.lineKey, n8 = e9.ignoreBlankLines; + return void 0 !== t7 && true === n8 ? { lineKey: t7, ignoreBlankLines: true } : void 0 !== t7 ? { lineKey: t7 } : true === n8 ? { ignoreBlankLines: true } : void 0; + })(t6), i11 = []; + let a4 = 0; + for (const t7 of e8) { + const e9 = yi(t7, o5, r8, s8); + for (const t8 of e9) i11.push(t8), a4 += ks(t8), Us(a4, n7); + } + return 0 === i11.length ? "" : (i11.push(""), i11.join("\n")); + })(e7, t5, Rs); +} +function bi(e7, t5) { + const n7 = t5.get(e7.newId); + if (void 0 === n7 || 1 !== n7.length) return; + const r8 = n7[0]; + return { rename: { type: "rename", oldPath: r8.oldPath, newPath: e7.newPath, oldId: r8.oldId, newId: e7.newId, oldMode: r8.oldMode, newMode: e7.newMode, similarity: { score: Cs, maxScore: Cs } }, consumedDelete: r8 }; +} +function Ii(e7, t5 = {}) { + const n7 = t5.limit ?? 1e3, r8 = t5.maxSameIdDeletes ?? 100, { adds: o5, deletes: s8, other: i11 } = (function(e8) { + const t6 = [], n8 = [], r9 = []; + for (const o6 of e8) "add" === o6.type ? t6.push(o6) : "delete" === o6.type ? n8.push(o6) : r9.push(o6); + return { adds: t6, deletes: n8, other: r9 }; + })(e7.changes); + if (o5.length * s8.length > n7) return e7; + const a4 = (function(e8, t6) { + const n8 = /* @__PURE__ */ new Map(); + for (const t7 of e8) { + const e9 = n8.get(t7.oldId); + void 0 === e9 ? n8.set(t7.oldId, [t7]) : e9.push(t7); + } + const r9 = /* @__PURE__ */ new Map(); + for (const [e9, o6] of n8) o6.length <= t6 && r9.set(e9, o6); + return r9; + })(s8, r8), c5 = /* @__PURE__ */ new Set(), d6 = [], u6 = []; + for (const e8 of o5) { + const t6 = bi(e8, a4); + void 0 === t6 ? u6.push(e8) : (d6.push(t6.rename), c5.add(t6.consumedDelete)); + } + const l4 = s8.filter((e8) => !c5.has(e8)); + return { changes: Po([...u6, ...l4, ...d6, ...i11], Ro) }; +} +function _i(e7, t5, n7) { if ("ours-only" === t5.kind) { - for (let r6 = t5.oursStart; r6 < t5.oursEnd; r6++) if (!Po(e6.oursLines[r6], n6)) return true; + for (let r8 = t5.oursStart; r8 < t5.oursEnd; r8++) if (!ns(e7.oursLines[r8], n7)) return true; return false; } - for (let r6 = t5.theirsStart; r6 < t5.theirsEnd; r6++) if (!Po(e6.theirsLines[r6], n6)) return true; + for (let r8 = t5.theirsStart; r8 < t5.theirsEnd; r8++) if (!ns(e7.theirsLines[r8], n7)) return true; return false; } -function oi(e6, t5, n6) { - return "theirs-only" !== t5.kind ? 0 : void 0 === n6 || ri(e6, t5, n6) ? t5.theirsEnd - t5.theirsStart : 0; -} -function si(e6, t5, n6) { - return "ours-only" !== t5.kind ? 0 : void 0 === n6 || ri(e6, t5, n6) ? t5.oursEnd - t5.oursStart : 0; -} -var ii = (e6, t5, n6) => { - const r6 = n6?.numstatBinaryOverride; - if ((function(e7, t6, n7) { - return ls(e7, n7) || ls(t6, n7); - })(e6, t5, r6)) return { added: 0, deleted: 0, binary: true }; - const o6 = n6?.lineKey, s9 = cs(e6, t5, void 0 !== o6 ? { lineKey: o6 } : void 0), i7 = true === n6?.ignoreBlankLines ? o6 ?? Co : void 0; - let a6 = 0, c6 = 0; - for (const e7 of s9.hunks) a6 += oi(s9, e7, i7), c6 += si(s9, e7, i7); - return { added: a6, deleted: c6, binary: false }; -}; -function ai(e6) { - return { type: "add", newPath: e6.name, newId: e6.id, newMode: e6.mode }; -} -function ci(e6) { - return { type: "delete", oldPath: e6.name, oldId: e6.id, oldMode: e6.mode }; -} -function di(e6, t5) { - if (e6.id !== t5.id || e6.mode !== t5.mode) return po(e6.mode, t5.mode) ? { type: "modify", path: e6.name, oldId: e6.id, newId: t5.id, oldMode: e6.mode, newMode: t5.mode } : { type: "type-change", path: e6.name, oldId: e6.id, newId: t5.id, oldMode: e6.mode, newMode: t5.mode }; -} -function ui(e6) { - const t5 = Ot(e6.name); - if (!Yt(e6.mode)) return t5; - const n6 = new Uint8Array(t5.length + 1); - return n6.set(t5), n6[t5.length] = 47, n6; -} -function li(e6) { - if (void 0 === e6) return []; - const t5 = e6.entries.map((e7) => ({ entry: e7, key: ui(e7) })); - return t5.sort((e7, t6) => bt(e7.key, t6.key)), t5; -} -function fi(e6, t5) { - const n6 = li(e6), r6 = li(t5), o6 = []; - let s9 = 0, i7 = 0; - for (; s9 < n6.length && i7 < r6.length; ) { - const e7 = n6[s9], t6 = r6[i7], a6 = bt(e7.key, t6.key); - if (a6 < 0) o6.push(ci(e7.entry)), s9++; - else if (a6 > 0) o6.push(ai(t6.entry)), i7++; +function vi(e7, t5, n7) { + return "theirs-only" !== t5.kind ? 0 : void 0 === n7 || _i(e7, t5, n7) ? t5.theirsEnd - t5.theirsStart : 0; +} +function Oi(e7, t5, n7) { + return "ours-only" !== t5.kind ? 0 : void 0 === n7 || _i(e7, t5, n7) ? t5.oursEnd - t5.oursStart : 0; +} +var Ti = (e7, t5, n7) => { + const r8 = n7?.numstatBinaryOverride; + if ((function(e8, t6, n8) { + return Ns(e8, n8) || Ns(t6, n8); + })(e7, t5, r8)) return { added: 0, deleted: 0, binary: true }; + const o5 = n7?.lineKey, s8 = Ts(e7, t5, void 0 !== o5 ? { lineKey: o5 } : void 0), i11 = true === n7?.ignoreBlankLines ? o5 ?? es : void 0; + let a4 = 0, c5 = 0; + for (const e8 of s8.hunks) a4 += vi(s8, e8, i11), c5 += Oi(s8, e8, i11); + return { added: a4, deleted: c5, binary: false }; +}; +function Ai(e7) { + return { type: "add", newPath: e7.name, newId: e7.id, newMode: e7.mode }; +} +function $i(e7) { + return { type: "delete", oldPath: e7.name, oldId: e7.id, oldMode: e7.mode }; +} +function xi(e7, t5) { + if (e7.id !== t5.id || e7.mode !== t5.mode) return Do(e7.mode, t5.mode) ? { type: "modify", path: e7.name, oldId: e7.id, newId: t5.id, oldMode: e7.mode, newMode: t5.mode } : { type: "type-change", path: e7.name, oldId: e7.id, newId: t5.id, oldMode: e7.mode, newMode: t5.mode }; +} +function Si(e7) { + const t5 = e7.nameBytes; + if (!tn(e7.mode)) return t5; + const n7 = new Uint8Array(t5.length + 1); + return n7.set(t5), n7[t5.length] = 47, n7; +} +function Ni(e7) { + if (void 0 === e7) return []; + const t5 = e7.entries.map((e8) => ({ entry: e8, key: Si(e8) })); + return t5.sort((e8, t6) => At(e8.key, t6.key)), t5; +} +function Li(e7, t5) { + const n7 = Ni(e7), r8 = Ni(t5), o5 = []; + let s8 = 0, i11 = 0; + for (; s8 < n7.length && i11 < r8.length; ) { + const e8 = n7[s8], t6 = r8[i11], a4 = At(e8.key, t6.key); + if (a4 < 0) o5.push($i(e8.entry)), s8++; + else if (a4 > 0) o5.push(Ai(t6.entry)), i11++; else { - const n7 = di(e7.entry, t6.entry); - void 0 !== n7 && o6.push(n7), s9++, i7++; - } - } - for (; s9 < n6.length; ) o6.push(ci(n6[s9].entry)), s9++; - for (; i7 < r6.length; ) o6.push(ai(r6[i7].entry)), i7++; - return { changes: o6 }; -} -var hi = (e6, t5, n6) => { - const r6 = ((e7, t6, n7) => { - let r7; - for (let o6 = 0; o6 < e7.length; o6 += 1) { - const s9 = e7[o6]; - s9.directoryOnly && !n7 || s9.compiled.test(t6) && (r7 = { rule: s9, index: o6 }); - } - return r7; - })(e6, t5, n6); - return void 0 === r6 ? { verdict: "unset" } : { verdict: r6.rule.negated ? "unignored" : "ignored", ruleIndex: r6.index }; -}; -var gi = (e6, t5) => { - if ("" === t5) return e6; - const n6 = `${t5}/`; - return e6.startsWith(n6) ? e6.slice(n6.length) : void 0; -}; -var mi = (e6, t5, n6) => pi(e6, t5, n6).verdict; -var pi = (e6, t5, n6) => { - let r6 = { verdict: "unset" }; - for (const o6 of e6) { - const e7 = gi(t5, o6.basedir); - if (void 0 === e7) continue; - const s9 = hi(o6.rules, e7, n6); - void 0 !== s9.ruleIndex && (r6 = { verdict: s9.verdict, level: o6, ruleIndex: s9.ruleIndex }); - } - return r6; -}; -var wi = { kind: "star-slash" }; -var yi = (e6, t5) => { - const n6 = e6[t5]; - return "*" === n6 ? ((e7, t6) => { - if ("*" !== e7[t6 + 1]) return { token: { kind: "star" }, next: t6 + 1 }; - const n7 = t6 + 2; - return "/" === e7[n7] ? { token: { kind: "star-slash" }, next: n7 + 1 } : { token: { kind: "star-star" }, next: n7 }; - })(e6, t5) : "?" === n6 ? { token: { kind: "single" }, next: t5 + 1 } : { token: { kind: "literal", char: n6 }, next: t5 + 1 }; -}; -var Ei = (e6, t5, n6) => { - switch (e6.kind) { + const n8 = xi(e8.entry, t6.entry); + void 0 !== n8 && o5.push(n8), s8++, i11++; + } + } + for (; s8 < n7.length; ) o5.push($i(n7[s8].entry)), s8++; + for (; i11 < r8.length; ) o5.push(Ai(r8[i11].entry)), i11++; + return { changes: o5 }; +} +var Ri = (e7, t5, n7) => { + const r8 = ((e8, t6, n8) => { + let r9; + for (let o5 = 0; o5 < e8.length; o5 += 1) { + const s8 = e8[o5]; + s8.directoryOnly && !n8 || s8.compiled.test(t6) && (r9 = { rule: s8, index: o5 }); + } + return r9; + })(e7, t5, n7); + return void 0 === r8 ? { verdict: "unset" } : { verdict: r8.rule.negated ? "unignored" : "ignored", ruleIndex: r8.index }; +}; +var ki = (e7, t5) => { + if ("" === t5) return e7; + const n7 = `${t5}/`; + return e7.startsWith(n7) ? e7.slice(n7.length) : void 0; +}; +var Di = (e7, t5, n7) => Ui(e7, t5, n7).verdict; +var Ui = (e7, t5, n7) => { + let r8 = { verdict: "unset" }; + for (const o5 of e7) { + const e8 = ki(t5, o5.basedir); + if (void 0 === e8) continue; + const s8 = Ri(o5.rules, e8, n7); + void 0 !== s8.ruleIndex && (r8 = { verdict: s8.verdict, level: o5, ruleIndex: s8.ruleIndex }); + } + return r8; +}; +var Ci = { kind: "star-slash" }; +var Mi = (e7, t5) => { + const n7 = e7[t5]; + return "*" === n7 ? ((e8, t6) => { + if ("*" !== e8[t6 + 1]) return { token: { kind: "star" }, next: t6 + 1 }; + const n8 = t6 + 2; + return "/" === e8[n8] ? { token: { kind: "star-slash" }, next: n8 + 1 } : { token: { kind: "star-star" }, next: n8 }; + })(e7, t5) : "?" === n7 ? { token: { kind: "single" }, next: t5 + 1 } : { token: { kind: "literal", char: n7 }, next: t5 + 1 }; +}; +var Pi = (e7, t5, n7) => { + switch (e7.kind) { case "literal": - return ((e7, t6, n7) => { - const r6 = new Uint8Array(t6.length + 1); - for (let o6 = 0; o6 < t6.length; o6++) t6[o6] === e7 && 1 === n7[o6 + 1] && (r6[o6] = 1); - return r6; - })(e6.char, t5, n6); + return ((e8, t6, n8) => { + const r8 = new Uint8Array(t6.length + 1); + for (let o5 = 0; o5 < t6.length; o5++) t6[o5] === e8 && 1 === n8[o5 + 1] && (r8[o5] = 1); + return r8; + })(e7.char, t5, n7); case "single": - return ((e7, t6) => { - const n7 = new Uint8Array(e7.length + 1); - for (let r6 = 0; r6 < e7.length; r6++) "/" !== e7[r6] && 1 === t6[r6 + 1] && (n7[r6] = 1); - return n7; - })(t5, n6); + return ((e8, t6) => { + const n8 = new Uint8Array(e8.length + 1); + for (let r8 = 0; r8 < e8.length; r8++) "/" !== e8[r8] && 1 === t6[r8 + 1] && (n8[r8] = 1); + return n8; + })(t5, n7); case "star": - return ((e7, t6) => { - const n7 = new Uint8Array(e7.length + 1); - n7[e7.length] = 1 === t6[e7.length] ? 1 : 0; - for (let r6 = e7.length - 1; r6 >= 0; r6--) n7[r6] = 1 === t6[r6] || "/" !== e7[r6] && 1 === n7[r6 + 1] ? 1 : 0; - return n7; - })(t5, n6); + return ((e8, t6) => { + const n8 = new Uint8Array(e8.length + 1); + n8[e8.length] = 1 === t6[e8.length] ? 1 : 0; + for (let r8 = e8.length - 1; r8 >= 0; r8--) n8[r8] = 1 === t6[r8] || "/" !== e8[r8] && 1 === n8[r8 + 1] ? 1 : 0; + return n8; + })(t5, n7); case "star-star": - return ((e7, t6) => { - const n7 = new Uint8Array(e7.length + 1); - n7[e7.length] = 1 === t6[e7.length] ? 1 : 0; - for (let r6 = e7.length - 1; r6 >= 0; r6--) n7[r6] = 1 === t6[r6] || 1 === n7[r6 + 1] ? 1 : 0; - return n7; - })(t5, n6); + return ((e8, t6) => { + const n8 = new Uint8Array(e8.length + 1); + n8[e8.length] = 1 === t6[e8.length] ? 1 : 0; + for (let r8 = e8.length - 1; r8 >= 0; r8--) n8[r8] = 1 === t6[r8] || 1 === n8[r8 + 1] ? 1 : 0; + return n8; + })(t5, n7); case "star-slash": - return ((e7, t6) => { - const n7 = new Uint8Array(e7.length + 1); - for (let r7 = e7.length - 1; r7 >= 0; r7--) n7[r7] = "/" === e7[r7] && 1 === t6[r7 + 1] || 1 === n7[r7 + 1] ? 1 : 0; - const r6 = new Uint8Array(e7.length + 1); - for (let o6 = 0; o6 <= e7.length; o6++) r6[o6] = 1 === t6[o6] || 1 === n7[o6] ? 1 : 0; - return r6; - })(t5, n6); + return ((e8, t6) => { + const n8 = new Uint8Array(e8.length + 1); + for (let r9 = e8.length - 1; r9 >= 0; r9--) n8[r9] = "/" === e8[r9] && 1 === t6[r9 + 1] || 1 === n8[r9 + 1] ? 1 : 0; + const r8 = new Uint8Array(e8.length + 1); + for (let o5 = 0; o5 <= e8.length; o5++) r8[o5] = 1 === t6[o5] || 1 === n8[o5] ? 1 : 0; + return r8; + })(t5, n7); } }; -var bi = (e6, t5) => { - const n6 = ((e7) => { +var Bi = (e7, t5) => { + const n7 = ((e8) => { const t6 = []; - let n7 = 0; - for (; n7 < e7.length; ) { - const r6 = yi(e7, n7); - t6.push(r6.token), n7 = r6.next; + let n8 = 0; + for (; n8 < e8.length; ) { + const r8 = Mi(e8, n8); + t6.push(r8.token), n8 = r8.next; } return t6; - })(e6); - return { test: (e7) => ((e8, t6, n7) => { - let r6 = ((e9, t7) => { - const n8 = new Uint8Array(e9.length + 1); - if (n8[e9.length] = 1, t7) for (let t8 = 0; t8 < e9.length; t8++) "/" === e9[t8] && (n8[t8] = 1); - return n8; - })(n7, true === t6.withDirSuffix); - for (let t7 = e8.length - 1; t7 >= 0; t7--) r6 = Ei(e8[t7], n7, r6); - return t6.anchored || (r6 = Ei(wi, n7, r6)), 1 === r6[0]; - })(n6, t5, e7) }; -}; -var Ii = (e6) => e6.map(_i); -var _i = (e6) => { - const t5 = e6.startsWith("!"), n6 = t5 ? e6.slice(1) : e6; - var r6; - return (r6 = n6).includes("*") || r6.includes("?") ? { pattern: e6, body: n6, negated: t5, isLiteral: false, compiled: bi(n6, { anchored: n6.includes("/") }) } : { pattern: e6, body: n6, negated: t5, isLiteral: true, compiled: bi(n6, { anchored: true, withDirSuffix: true }) }; -}; -var vi = (e6, t5) => { - let n6 = false; - for (const r6 of e6) r6.compiled.test(t5) && (n6 = !r6.negated); - return n6; -}; -var Ti = (e6) => { - let t5 = e6.length; - for (; t5 > 0 && 32 === e6.charCodeAt(t5 - 1) && !(t5 >= 2 && 92 === e6.charCodeAt(t5 - 2)); ) t5 -= 1; - return e6.slice(0, t5); -}; -var Oi = (e6) => e6.replace(/\\(.)/g, "$1"); -var $i = (e6) => { - if ("" === e6) return; - if (/^\s*$/.test(e6)) return; - if (e6.startsWith("#")) return; - const t5 = Ti(e6), n6 = t5.startsWith("!"), r6 = n6 ? t5.slice(1) : t5, o6 = r6.endsWith("/"), s9 = o6 ? r6.slice(0, -1) : r6, i7 = s9.startsWith("/") || s9.includes("/"), a6 = s9.startsWith("/") ? s9.slice(1) : s9; - return { negated: n6, anchored: i7, directoryOnly: o6, cleanPattern: Oi(a6) }; -}; -var Ai = (e6) => { - const t5 = [], n6 = e6.split("\n"); - for (let e7 = 0; e7 < n6.length; e7 += 1) { - const r6 = n6[e7], o6 = $i(r6); - if (void 0 === o6) continue; - const { negated: s9, anchored: i7, directoryOnly: a6, cleanPattern: c6 } = o6; - t5.push({ pattern: Oi(Ti(r6)), negated: s9, directoryOnly: a6, anchored: i7, lineNumber: e7 + 1, compiled: bi(c6, { anchored: i7 }) }); + })(e7); + return { test: (e8) => ((e9, t6, n8) => { + let r8 = ((e10, t7) => { + const n9 = new Uint8Array(e10.length + 1); + if (n9[e10.length] = 1, t7) for (let t8 = 0; t8 < e10.length; t8++) "/" === e10[t8] && (n9[t8] = 1); + return n9; + })(n8, true === t6.withDirSuffix); + for (let t7 = e9.length - 1; t7 >= 0; t7--) r8 = Pi(e9[t7], n8, r8); + return t6.anchored || (r8 = Pi(Ci, n8, r8)), 1 === r8[0]; + })(n7, t5, e8) }; +}; +var Fi = (e7) => e7.map(Hi); +var Hi = (e7) => { + const t5 = e7.startsWith("!"), n7 = t5 ? e7.slice(1) : e7; + var r8; + return (r8 = n7).includes("*") || r8.includes("?") ? { pattern: e7, body: n7, negated: t5, isLiteral: false, compiled: Bi(n7, { anchored: n7.includes("/") }) } : { pattern: e7, body: n7, negated: t5, isLiteral: true, compiled: Bi(n7, { anchored: true, withDirSuffix: true }) }; +}; +var Vi = (e7, t5) => { + let n7 = false; + for (const r8 of e7) r8.compiled.test(t5) && (n7 = !r8.negated); + return n7; +}; +var Gi = (e7) => { + let t5 = e7.length; + for (; t5 > 0 && 32 === e7.charCodeAt(t5 - 1) && !(t5 >= 2 && 92 === e7.charCodeAt(t5 - 2)); ) t5 -= 1; + return e7.slice(0, t5); +}; +var Wi = (e7) => e7.replace(/\\(.)/g, "$1"); +var zi = (e7) => { + if ("" === e7) return; + if (/^\s*$/.test(e7)) return; + if (e7.startsWith("#")) return; + const t5 = Gi(e7), n7 = t5.startsWith("!"), r8 = n7 ? t5.slice(1) : t5, o5 = r8.endsWith("/"), s8 = o5 ? r8.slice(0, -1) : r8, i11 = s8.startsWith("/") || s8.includes("/"), a4 = s8.startsWith("/") ? s8.slice(1) : s8; + return { negated: n7, anchored: i11, directoryOnly: o5, cleanPattern: Wi(a4) }; +}; +var ji = (e7) => { + const t5 = [], n7 = e7.split("\n"); + for (let e8 = 0; e8 < n7.length; e8 += 1) { + const r8 = n7[e8], o5 = zi(r8); + if (void 0 === o5) continue; + const { negated: s8, anchored: i11, directoryOnly: a4, cleanPattern: c5 } = o5; + t5.push({ pattern: Wi(Gi(r8)), negated: s8, directoryOnly: a4, anchored: i11, lineNumber: e8 + 1, compiled: Bi(c5, { anchored: i11 }) }); } return t5; }; -var Ni = (e6) => new o({ code: "INVALID_MERGE_TREE", reason: e6 }); -var Si = (e6) => new o({ code: "INVALID_MERGE_INPUT", reason: e6 }); -var xi = 268435456; -var Li = new TextEncoder(); -function Ri(e6) { +var Ki = (e7) => new c({ code: "INVALID_MERGE_TREE", reason: e7 }); +var Yi = (e7) => new c({ code: "INVALID_MERGE_INPUT", reason: e7 }); +var Xi = 268435456; +var qi = new TextEncoder(); +function Ji(e7) { let t5 = 0; - for (const n6 of e6) t5 += n6.length; + for (const n7 of e7) t5 += n7.length; return t5; } -function ki(e6) { - if (0 === e6.length) return new Uint8Array(0); - const t5 = Ri(e6), n6 = e6[e6.length - 1], r6 = 0 === n6.length || 10 !== n6[n6.length - 1], o6 = new Uint8Array(t5 + (r6 ? 1 : 0)); - let s9 = 0; - for (const t6 of e6) o6.set(t6, s9), s9 += t6.length; - return r6 && (o6[s9] = 10), o6; -} -function Di(e6, t5, n6 = {}) { - if ("diff3" === n6.conflictStyle) throw Si("diff3 conflict style requires base lines \u2014 not supported in v1"); - const r6 = n6.labels?.ours ?? "ours", o6 = n6.labels?.theirs ?? "theirs"; - if (Ri(e6) + Ri(t5) > xi) throw Si("conflict output exceeds MAX_CONFLICT_OUTPUT_BYTES"); - const s9 = n6.markerSize ?? 7, i7 = Li.encode(`${"<".repeat(s9)} ${r6} -`), a6 = Li.encode(`${"=".repeat(s9)} -`), c6 = Li.encode(`${">".repeat(s9)} ${o6} -`), d5 = ki(e6), u6 = ki(t5), l4 = new Uint8Array(i7.length + d5.length + a6.length + u6.length + c6.length); +function Qi(e7) { + if (0 === e7.length) return new Uint8Array(0); + const t5 = Ji(e7), n7 = e7[e7.length - 1], r8 = 0 === n7.length || 10 !== n7[n7.length - 1], o5 = new Uint8Array(t5 + (r8 ? 1 : 0)); + let s8 = 0; + for (const t6 of e7) o5.set(t6, s8), s8 += t6.length; + return r8 && (o5[s8] = 10), o5; +} +function Zi(e7, t5, n7 = {}) { + if ("diff3" === n7.conflictStyle) throw Yi("diff3 conflict style requires base lines \u2014 not supported in v1"); + const r8 = n7.labels?.ours ?? "ours", o5 = n7.labels?.theirs ?? "theirs"; + if (Ji(e7) + Ji(t5) > Xi) throw Yi("conflict output exceeds MAX_CONFLICT_OUTPUT_BYTES"); + const s8 = n7.markerSize ?? 7, i11 = qi.encode(`${"<".repeat(s8)} ${r8} +`), a4 = qi.encode(`${"=".repeat(s8)} +`), c5 = qi.encode(`${">".repeat(s8)} ${o5} +`), d6 = Qi(e7), u6 = Qi(t5), l4 = new Uint8Array(i11.length + d6.length + a4.length + u6.length + c5.length); let f2 = 0; - return l4.set(i7, f2), f2 += i7.length, l4.set(d5, f2), f2 += d5.length, l4.set(a6, f2), f2 += a6.length, l4.set(u6, f2), f2 += u6.length, l4.set(c6, f2), l4; -} -var Ui = "HEAD"; -var Ci = (e6) => e6.slice(0, 7); -var Mi = (e6, t5) => `${Ci(e6)} (${t5})`; -var Pi = (e6) => `parent of ${e6}`; -var Bi = (e6, t5) => { - const n6 = Mi(e6, t5); - return { ours: Ui, theirs: n6, base: Pi(n6) }; -}; -var Fi = (e6, t5) => { - const n6 = Mi(e6, t5); - return { ours: Ui, theirs: Pi(n6), base: n6 }; -}; -var Hi = (e6, t5) => ({ ours: Ui, theirs: e6, base: void 0 !== t5 ? Ci(t5) : "" }); -var Vi = { ours: "Updated upstream", theirs: "Stashed changes", base: "Stash base" }; -var Gi = { ours: "ours", theirs: "theirs", base: "" }; -function Wi(e6, t5) { - const n6 = []; - let r6; - const o6 = () => { - void 0 !== r6 && (n6.push({ baseStart: r6.baseStart, baseEnd: r6.baseEnd, replacement: r6.replacement }), r6 = void 0); + return l4.set(i11, f2), f2 += i11.length, l4.set(d6, f2), f2 += d6.length, l4.set(a4, f2), f2 += a4.length, l4.set(u6, f2), f2 += u6.length, l4.set(c5, f2), l4; +} +var ea = "HEAD"; +var ta = (e7) => e7.slice(0, 7); +var na = (e7, t5) => `${ta(e7)} (${t5})`; +var ra = (e7) => `parent of ${e7}`; +var oa = (e7, t5) => { + const n7 = na(e7, t5); + return { ours: ea, theirs: n7, base: ra(n7) }; +}; +var sa = (e7, t5) => { + const n7 = na(e7, t5); + return { ours: ea, theirs: ra(n7), base: n7 }; +}; +var ia = (e7, t5) => ({ ours: ea, theirs: e7, base: void 0 !== t5 ? ta(t5) : "" }); +var aa = { ours: "Updated upstream", theirs: "Stashed changes", base: "Stash base" }; +var ca = { ours: "ours", theirs: "theirs", base: "" }; +function da(e7, t5) { + const n7 = []; + let r8; + const o5 = () => { + void 0 !== r8 && (n7.push({ baseStart: r8.baseStart, baseEnd: r8.baseEnd, replacement: r8.replacement }), r8 = void 0); }; - for (const n7 of e6) if ("common" !== n7.kind) if (void 0 === r6 && (r6 = { baseStart: n7.oursStart, baseEnd: n7.oursStart, replacement: [] }), "ours-only" === n7.kind) r6.baseEnd = Math.max(r6.baseEnd, n7.oursEnd); - else for (let e7 = n7.theirsStart; e7 < n7.theirsEnd; e7++) r6.replacement.push(t5[e7]); - else o6(); - return o6(), n6; -} -function ji(e6, t5) { - return e6.baseStart === e6.baseEnd ? t5.baseStart === t5.baseEnd ? e6.baseStart === t5.baseStart : e6.baseStart >= t5.baseStart && e6.baseStart < t5.baseEnd : t5.baseStart === t5.baseEnd ? t5.baseStart >= e6.baseStart && t5.baseStart < e6.baseEnd : e6.baseStart < t5.baseEnd && t5.baseStart < e6.baseEnd; -} -function zi(e6, t5, n6, r6) { - const o6 = []; - let s9 = t5; - for (const t6 of r6) { - for (let n7 = s9; n7 < t6.baseStart; n7++) o6.push(e6[n7]); - for (const e7 of t6.replacement) o6.push(e7); - s9 = t6.baseEnd; - } - for (let t6 = s9; t6 < n6; t6++) o6.push(e6[t6]); - return o6; -} -function Ki(e6, t5) { - const n6 = Math.min(e6.length, t5.length); - let r6 = 0; - for (; r6 < n6 && It(e6[r6], t5[r6]); ) r6++; - let o6 = 0; - for (; o6 < n6 - r6 && It(e6[e6.length - 1 - o6], t5[t5.length - 1 - o6]); ) o6++; - return { prefix: e6.slice(0, r6), oursMid: e6.slice(r6, e6.length - o6), theirsMid: t5.slice(r6, t5.length - o6), suffix: e6.slice(e6.length - o6) }; -} -function Yi(e6) { - if (!(e6.ours.length > 0)) return "clean-theirs"; - if (!(e6.theirs.length > 0)) return "clean-ours"; - const [t5] = e6.ours, [n6] = e6.theirs; - return 1 === e6.ours.length && 1 === e6.theirs.length && t5.baseStart === n6.baseStart && t5.baseEnd === n6.baseEnd && (function(e7, t6) { - if (e7.length !== t6.length) return false; - for (let n7 = 0; n7 < e7.length; n7++) if (!It(e7[n7], t6[n7])) return false; + for (const n8 of e7) if ("common" !== n8.kind) if (void 0 === r8 && (r8 = { baseStart: n8.oursStart, baseEnd: n8.oursStart, replacement: [] }), "ours-only" === n8.kind) r8.baseEnd = Math.max(r8.baseEnd, n8.oursEnd); + else for (let e8 = n8.theirsStart; e8 < n8.theirsEnd; e8++) r8.replacement.push(t5[e8]); + else o5(); + return o5(), n7; +} +function ua(e7, t5) { + return e7.baseStart === e7.baseEnd ? t5.baseStart === t5.baseEnd ? e7.baseStart === t5.baseStart : e7.baseStart >= t5.baseStart && e7.baseStart < t5.baseEnd : t5.baseStart === t5.baseEnd ? t5.baseStart >= e7.baseStart && t5.baseStart < e7.baseEnd : e7.baseStart < t5.baseEnd && t5.baseStart < e7.baseEnd; +} +function la(e7, t5, n7, r8) { + const o5 = []; + let s8 = t5; + for (const t6 of r8) { + for (let n8 = s8; n8 < t6.baseStart; n8++) o5.push(e7[n8]); + for (const e8 of t6.replacement) o5.push(e8); + s8 = t6.baseEnd; + } + for (let t6 = s8; t6 < n7; t6++) o5.push(e7[t6]); + return o5; +} +function fa(e7, t5) { + const n7 = Math.min(e7.length, t5.length); + let r8 = 0; + for (; r8 < n7 && xt(e7[r8], t5[r8]); ) r8++; + let o5 = 0; + for (; o5 < n7 - r8 && xt(e7[e7.length - 1 - o5], t5[t5.length - 1 - o5]); ) o5++; + return { prefix: e7.slice(0, r8), oursMid: e7.slice(r8, e7.length - o5), theirsMid: t5.slice(r8, t5.length - o5), suffix: e7.slice(e7.length - o5) }; +} +function ha(e7) { + if (!(e7.ours.length > 0)) return "clean-theirs"; + if (!(e7.theirs.length > 0)) return "clean-ours"; + const [t5] = e7.ours, [n7] = e7.theirs; + return 1 === e7.ours.length && 1 === e7.theirs.length && t5.baseStart === n7.baseStart && t5.baseEnd === n7.baseEnd && (function(e8, t6) { + if (e8.length !== t6.length) return false; + for (let n8 = 0; n8 < e8.length; n8++) if (!xt(e8[n8], t6[n8])) return false; return true; - })(t5.replacement, n6.replacement) ? "clean-twin" : "conflict"; + })(t5.replacement, n7.replacement) ? "clean-twin" : "conflict"; } -function Xi(e6) { - return { kind: "clean", start: e6.start, end: e6.end, replacement: e6.ours.length > 0 ? e6.ours[0].replacement : e6.theirs[0].replacement }; +function ga(e7) { + return { kind: "clean", start: e7.start, end: e7.end, replacement: e7.ours.length > 0 ? e7.ours[0].replacement : e7.theirs[0].replacement }; } -function qi(e6) { - return e6.length > 0 && 10 === e6[e6.length - 1]; +function ma(e7) { + return e7.length > 0 && 10 === e7[e7.length - 1]; } -function Ji(e6) { +function pa(e7) { let t5 = 0; - for (let n7 = 0; n7 < e6.length; n7++) t5 += e6[n7].length, n7 < e6.length - 1 && !qi(e6[n7]) && (t5 += 1); - const n6 = new Uint8Array(t5); - let r6 = 0; - for (let t6 = 0; t6 < e6.length; t6++) { - const o6 = e6[t6]; - n6.set(o6, r6), r6 += o6.length, t6 < e6.length - 1 && !qi(o6) && (n6[r6] = 10, r6 += 1); - } - return n6; -} -function Qi(e6, t5, n6, r6) { - const o6 = cs(e6, t5), s9 = cs(e6, n6), i7 = o6.degraded || s9.degraded ? [{ kind: "conflict", ours: es(t5), theirs: es(n6) }] : (function(e7, t6, n7) { - const r7 = (function(e8) { + for (let n8 = 0; n8 < e7.length; n8++) t5 += e7[n8].length, n8 < e7.length - 1 && !ma(e7[n8]) && (t5 += 1); + const n7 = new Uint8Array(t5); + let r8 = 0; + for (let t6 = 0; t6 < e7.length; t6++) { + const o5 = e7[t6]; + n7.set(o5, r8), r8 += o5.length, t6 < e7.length - 1 && !ma(o5) && (n7[r8] = 10, r8 += 1); + } + return n7; +} +function wa(e7, t5, n7, r8) { + const o5 = Ts(e7, t5), s8 = Ts(e7, n7), i11 = o5.degraded || s8.degraded ? [{ kind: "conflict", ours: o5.theirsLines, theirs: s8.theirsLines }] : (function(e8, t6, n8) { + const r9 = (function(e9) { const t7 = []; - let n8 = 0; - for (; n8 < e8.length; ) { - const r8 = e8[n8]; - if ("conflict" !== r8.classification) { - t7.push(Xi(r8)), n8++; + let n9 = 0; + for (; n9 < e9.length; ) { + const r10 = e9[n9]; + if ("conflict" !== r10.classification) { + t7.push(ga(r10)), n9++; continue; } - let o8 = r8.end; - const s11 = [...r8.ours], i9 = [...r8.theirs]; - let a6 = n8 + 1; - for (; a6 < e8.length; ) { - const t8 = e8[a6]; - if ("conflict" !== t8.classification || t8.start - o8 > 3) break; - s11.push(...t8.ours), i9.push(...t8.theirs), o8 = t8.end, a6++; + let o7 = r10.end; + const s10 = [...r10.ours], i13 = [...r10.theirs]; + let a4 = n9 + 1; + for (; a4 < e9.length; ) { + const t8 = e9[a4]; + if ("conflict" !== t8.classification || t8.start - o7 > 3) break; + s10.push(...t8.ours), i13.push(...t8.theirs), o7 = t8.end, a4++; } - t7.push({ kind: "conflict", start: r8.start, end: o8, ours: s11, theirs: i9 }), n8 = a6; + t7.push({ kind: "conflict", start: r10.start, end: o7, ours: s10, theirs: i13 }), n9 = a4; } return t7; - })((function(e8) { + })((function(e9) { const t7 = []; - let n8; - for (const r8 of e8) void 0 !== n8 && ji(r8, { baseStart: n8.start, baseEnd: n8.end }) ? n8.end = Math.max(n8.end, r8.baseEnd) : (n8 = { start: r8.baseStart, end: r8.baseEnd, ours: [], theirs: [] }, t7.push(n8)), ("ours" === r8.side ? n8.ours : n8.theirs).push(r8); + let n9; + for (const r10 of e9) void 0 !== n9 && ua(r10, { baseStart: n9.start, baseEnd: n9.end }) ? n9.end = Math.max(n9.end, r10.baseEnd) : (n9 = { start: r10.baseStart, end: r10.baseEnd, ours: [], theirs: [] }, t7.push(n9)), ("ours" === r10.side ? n9.ours : n9.theirs).push(r10); return t7; - })((function(e8, t7) { - const n8 = [...e8.map((e9) => ({ ...e9, side: "ours" })), ...t7.map((e9) => ({ ...e9, side: "theirs" }))]; - return n8.sort((e9, t8) => e9.baseStart - t8.baseStart), n8; - })(t6, n7)).map((e8) => ({ ...e8, classification: Yi(e8) }))), o7 = [], s10 = (e8) => { - e8.length > 0 && o7.push({ kind: "clean", lines: e8 }); + })((function(e9, t7) { + const n9 = [...e9.map((e10) => ({ ...e10, side: "ours" })), ...t7.map((e10) => ({ ...e10, side: "theirs" }))]; + return n9.sort((e10, t8) => e10.baseStart - t8.baseStart), n9; + })(t6, n8)).map((e9) => ({ ...e9, classification: ha(e9) }))), o6 = [], s9 = (e9) => { + e9.length > 0 && o6.push({ kind: "clean", lines: e9 }); }; - let i8 = 0; - for (const t7 of r7) { - if (s10(e7.slice(i8, t7.start)), "clean" === t7.kind) s10(t7.replacement); + let i12 = 0; + for (const t7 of r9) { + if (s9(e8.slice(i12, t7.start)), "clean" === t7.kind) s9(t7.replacement); else { - const n8 = Ki(zi(e7, t7.start, t7.end, t7.ours), zi(e7, t7.start, t7.end, t7.theirs)); - s10(n8.prefix), o7.push({ kind: "conflict", ours: n8.oursMid, theirs: n8.theirsMid }), s10(n8.suffix); + const n9 = fa(la(e8, t7.start, t7.end, t7.ours), la(e8, t7.start, t7.end, t7.theirs)); + s9(n9.prefix), o6.push({ kind: "conflict", ours: n9.oursMid, theirs: n9.theirsMid }), s9(n9.suffix); } - i8 = t7.end; + i12 = t7.end; } - return s10(e7.slice(i8)), o7; - })(o6.oursLines, Wi(o6.hunks, o6.theirsLines), Wi(s9.hunks, s9.theirsLines)); - return "union" === r6.favor ? (function(e7) { + return s9(e8.slice(i12)), o6; + })(o5.oursLines, da(o5.hunks, o5.theirsLines), da(s8.hunks, s8.theirsLines)); + return "union" === r8.favor ? (function(e8) { const t6 = []; - for (const n7 of e7) "clean" === n7.kind ? t6.push(...n7.lines) : t6.push(...n7.ours, ...n7.theirs); - return { status: "clean", bytes: Ji(t6) }; - })(i7) : (function(e7, t6) { - const n7 = []; - let r7 = false; - for (const o8 of e7) "clean" === o8.kind ? n7.push(...o8.lines) : (r7 = true, n7.push(Di(o8.ours, o8.theirs, t6))); - const o7 = (function(e8) { - let t7 = 0; - for (const n9 of e8) t7 += n9.length; - const n8 = new Uint8Array(t7); - let r8 = 0; - for (const t8 of e8) n8.set(t8, r8), r8 += t8.length; - return n8; - })(n7); - return r7 ? { status: "conflict", conflictType: "content", markedBytes: o7 } : { status: "clean", bytes: o7 }; - })(i7, r6); -} -function Zi(e6, t5, n6, r6 = {}) { - return ts(t5) || ts(n6) || void 0 !== e6 && ts(e6) ? { status: "conflict", conflictType: "binary", markedBytes: t5 } : void 0 === e6 ? It(t5, n6) ? { status: "clean", bytes: t5 } : Qi(new Uint8Array(0), t5, n6, r6) : It(t5, e6) ? { status: "clean", bytes: n6 } : It(n6, e6) || It(t5, n6) ? { status: "clean", bytes: t5 } : Qi(e6, t5, n6, r6); -} -var ea = new Uint8Array(0); -function ta(e6, t5) { - return e6.id === t5.id && e6.mode === t5.mode; -} -function na(e6) { - return e6 === Wt.GITLINK; -} -function ra(e6, t5) { - if (void 0 !== e6 && e6.entries.size > Xn) throw Ni(`${t5} FlatTree exceeds MAX_FLAT_TREE_ENTRIES`); -} -function oa(e6) { - return { status: "conflict", conflict: e6 }; -} -function sa(e6, t5, n6, r6) { - return oa({ type: "modify-delete", path: e6, baseId: t5.id, baseMode: t5.mode, ...void 0 === n6 ? {} : { ourId: n6.id, ourMode: n6.mode }, ...void 0 === r6 ? {} : { theirId: r6.id, theirMode: r6.mode } }); -} -function ia(e6, t5, n6, r6) { - return oa({ type: "type-change", path: e6, baseId: t5.id, ourId: n6.id, theirId: r6.id, baseMode: t5.mode, ourMode: n6.mode, theirMode: r6.mode }); -} -function aa(e6, t5, n6, r6) { - return void 0 === t5 ? { status: "resolved-known", path: e6, id: n6.id, mode: n6.mode } : ta(t5, n6) ? { status: "resolved-deleted", path: e6 } : "our" === r6 ? sa(e6, t5, n6, void 0) : sa(e6, t5, void 0, n6); -} -function ca(e6) { - return "file" === mo(e6); -} -function da(e6) { - return e6 === Wt.SYMLINK; -} -function ua(e6, t5, n6, r6, o6, s9) { - const i7 = ca(t5.mode), a6 = (function(e7, t6, n7) { - const r7 = `${t6}~${(function(e8) { - return e8.replace(/\//g, "_"); - })(n7)}`; - let o7 = r7, s10 = 0; - for (; e7.has(o7); ) o7 = `${r7}_${s10}`, s10 += 1; - return e7.add(o7), o7; - })(o6, e6, i7 ? r6.ours : r6.theirs), c6 = i7 ? a6 : e6, d5 = i7 ? e6 : a6; - if (void 0 === s9) return oa({ type: "distinct-types", path: e6, ourId: t5.id, ourMode: t5.mode, theirId: n6.id, theirMode: n6.mode, ourPath: c6, theirPath: d5 }); - const u6 = ca(s9.mode) ? a6 : e6; - return oa({ type: "distinct-types", path: e6, baseId: s9.id, baseMode: s9.mode, basePath: u6, ourId: t5.id, ourMode: t5.mode, theirId: n6.id, theirMode: n6.mode, ourPath: c6, theirPath: d5 }); -} -function la(e6, t5) { - if (e6.length > xi) throw Si(`contentMerger returned oversize ${t5}`); -} -async function fa(e6, t5, n6, r6) { - const o6 = { path: e6, ourId: t5.id, theirId: n6.id, ourMode: t5.mode, theirMode: n6.mode }, s9 = await r6(o6, void 0, ea, ea); - return "clean" === s9.status ? (la(s9.bytes, "clean bytes"), t5.mode === n6.mode ? void 0 !== s9.id ? { tag: "resolved", outcome: { status: "resolved-known", path: e6, id: s9.id, mode: t5.mode } } : { tag: "resolved", outcome: { status: "resolved-merged", path: e6, bytes: s9.bytes, mode: t5.mode } } : { tag: "clean-split", bytes: s9.bytes }) : (la(s9.markedBytes, "marked bytes"), { tag: "conflict", bytes: s9.markedBytes, conflictType: s9.conflictType }); -} -function ha(e6, t5, n6, r6, o6, s9, i7) { - return void 0 === n6 && void 0 === r6 ? { status: "resolved-deleted", path: e6 } : void 0 === n6 ? aa(e6, t5, r6, "their") : void 0 === r6 ? aa(e6, t5, n6, "our") : void 0 === t5 ? (async function(e7, t6, n7, r7, o7, s10) { - if (ta(t6, n7)) return { status: "resolved-known", path: e7, id: t6.id, mode: t6.mode }; - const i8 = ca(t6.mode), a6 = ca(n7.mode), c6 = da(t6.mode), d5 = da(n7.mode); - if (i8 && d5 || c6 && a6) return ua(e7, t6, n7, o7, s10); - if (!i8 || !a6) return (function(e8, t7, n8) { - return oa({ type: "add-add", path: e8, ourId: t7.id, theirId: n8.id, ourMode: t7.mode, theirMode: n8.mode }); - })(e7, t6, n7); - const u6 = await fa(e7, t6, n7, r7); - return "resolved" === u6.tag ? u6.outcome : oa({ type: "add-add", path: e7, ourId: t6.id, theirId: n7.id, ourMode: t6.mode, theirMode: n7.mode, conflictContent: u6.bytes, contentVerdict: "clean-split" === u6.tag ? "clean" : u6.conflictType }); - })(e6, n6, r6, o6, s9, i7) : (async function(e7, t6, n7, r7, o7, s10, i8) { - const a6 = ta(t6, n7), c6 = ta(t6, r7); - return a6 && c6 ? { status: "unchanged", path: e7, id: t6.id, mode: t6.mode } : a6 ? { status: "resolved-known", path: e7, id: r7.id, mode: r7.mode } : c6 || ta(n7, r7) ? { status: "resolved-known", path: e7, id: n7.id, mode: n7.mode } : (function(e8, t7, n8, r8, o8, s11, i9) { - if (na(n8.mode) || na(r8.mode)) return na(n8.mode) && na(r8.mode) && na(t7.mode) ? (function(e9, t8, n9, r9) { - return oa({ type: "gitlink", path: e9, baseId: t8.id, ourId: n9.id, theirId: r9.id, baseMode: t8.mode, ourMode: n9.mode, theirMode: r9.mode }); - })(e8, t7, n8, r8) : ia(e8, t7, n8, r8); - const a7 = da(n8.mode), c7 = da(r8.mode); - if (a7 && c7) return (function(e9, t8, n9, r9) { - return oa({ type: "content", path: e9, baseId: t8.id, baseMode: t8.mode, ourId: n9.id, ourMode: n9.mode, theirId: r9.id, theirMode: r9.mode }); - })(e8, t7, n8, r8); - if (a7 || c7) return na(t7.mode) ? ia(e8, t7, n8, r8) : ua(e8, n8, r8, s11, i9, t7); - if (!po(t7.mode, n8.mode)) return (async function(e9, t8, n9, r9, o9) { - const s12 = await fa(e9, n9, r9, o9); - return "resolved" === s12.tag ? s12.outcome : oa("clean-split" === s12.tag ? { type: "content", path: e9, baseId: t8.id, baseMode: t8.mode, ourId: n9.id, ourMode: n9.mode, theirId: r9.id, theirMode: r9.mode, conflictContent: s12.bytes, contentVerdict: "clean" } : { type: s12.conflictType, path: e9, baseId: t8.id, baseMode: t8.mode, ourId: n9.id, ourMode: n9.mode, theirId: r9.id, theirMode: r9.mode, conflictContent: s12.bytes }); - })(e8, t7, n8, r8, o8); - const d5 = (function(e9, t8, n9) { - return t8.mode === n9.mode ? t8.mode : t8.mode === e9.mode ? n9.mode : t8.mode; - })(t7, n8, r8); - return (async function(e9, t8, n9, r9, o9, s12) { - const i10 = { path: e9, baseId: t8.id, ourId: n9.id, theirId: r9.id, baseMode: t8.mode, ourMode: n9.mode, theirMode: r9.mode }, a8 = await s12(i10, void 0, ea, ea); - return "clean" === a8.status ? (la(a8.bytes, "clean bytes"), void 0 !== a8.id ? { status: "resolved-known", path: e9, id: a8.id, mode: o9 } : { status: "resolved-merged", path: e9, bytes: a8.bytes, mode: o9 }) : (la(a8.markedBytes, "marked bytes"), oa({ type: a8.conflictType, path: e9, baseId: t8.id, ourId: n9.id, theirId: r9.id, baseMode: t8.mode, ourMode: n9.mode, theirMode: r9.mode, conflictContent: a8.markedBytes, mergedMode: o9 })); - })(e8, t7, n8, r8, d5, o8); - })(e7, t6, n7, r7, o7, s10, i8); - })(e6, t5, n6, r6, o6, s9, i7); -} -async function ga(e6, t5, n6, r6, o6 = Gi) { - ra(e6, "base"), ra(t5, "ours"), ra(n6, "theirs"); - const s9 = (function(e7, t6, n7) { - const r7 = /* @__PURE__ */ new Set(); - for (const o7 of [e7, t6, n7]) if (void 0 !== o7) for (const e8 of o7.entries.keys()) r7.add(e8); - if (r7.size > Xn) throw Ni("union FlatTree exceeds MAX_FLAT_TREE_ENTRIES"); - return r7; - })(e6, t5, n6), i7 = bo([...s9], (e7) => e7), a6 = new Set(s9), c6 = []; - for (const s10 of i7) { - const i8 = ha(s10, e6?.entries.get(s10), t5?.entries.get(s10), n6?.entries.get(s10), r6, o6, a6), d6 = i8 instanceof Promise ? await i8 : i8; - c6.push(d6); - } - const d5 = (function(e7) { + for (const n8 of e8) "clean" === n8.kind ? t6.push(...n8.lines) : t6.push(...n8.ours, ...n8.theirs); + return { status: "clean", bytes: pa(t6) }; + })(i11) : (function(e8, t6) { + const n8 = []; + let r9 = false; + for (const o7 of e8) "clean" === o7.kind ? n8.push(...o7.lines) : (r9 = true, n8.push(Zi(o7.ours, o7.theirs, t6))); + const o6 = $t(n8); + return r9 ? { status: "conflict", conflictType: "content", markedBytes: o6 } : { status: "clean", bytes: o6 }; + })(i11, r8); +} +function ya(e7, t5, n7, r8 = {}) { + return Es(t5) || Es(n7) || void 0 !== e7 && Es(e7) ? { status: "conflict", conflictType: "binary", markedBytes: t5 } : void 0 === e7 ? xt(t5, n7) ? { status: "clean", bytes: t5 } : wa(new Uint8Array(0), t5, n7, r8) : xt(t5, e7) ? { status: "clean", bytes: n7 } : xt(n7, e7) || xt(t5, n7) ? { status: "clean", bytes: t5 } : wa(e7, t5, n7, r8); +} +var Ea = new Uint8Array(0); +function ba(e7, t5) { + return e7.id === t5.id && e7.mode === t5.mode; +} +function Ia(e7) { + return e7 === Qt.GITLINK; +} +function _a(e7, t5) { + if (void 0 !== e7 && e7.entries.size > tr) throw Ki(`${t5} FlatTree exceeds MAX_FLAT_TREE_ENTRIES`); +} +function va(e7) { + return { status: "conflict", conflict: e7 }; +} +function Oa(e7, t5, n7, r8) { + return va({ type: "modify-delete", path: e7, baseId: t5.id, baseMode: t5.mode, ...void 0 === n7 ? {} : { ourId: n7.id, ourMode: n7.mode }, ...void 0 === r8 ? {} : { theirId: r8.id, theirMode: r8.mode } }); +} +function Ta(e7, t5, n7, r8) { + return va({ type: "type-change", path: e7, baseId: t5.id, ourId: n7.id, theirId: r8.id, baseMode: t5.mode, ourMode: n7.mode, theirMode: r8.mode }); +} +function Aa(e7, t5, n7, r8) { + return void 0 === t5 ? { status: "resolved-known", path: e7, id: n7.id, mode: n7.mode } : ba(t5, n7) ? { status: "resolved-deleted", path: e7 } : "our" === r8 ? Oa(e7, t5, n7, void 0) : Oa(e7, t5, void 0, n7); +} +function $a(e7) { + return "file" === ko(e7); +} +function xa(e7) { + return e7 === Qt.SYMLINK; +} +function Sa(e7, t5, n7, r8, o5, s8) { + const i11 = $a(t5.mode), a4 = (function(e8, t6, n8) { + const r9 = `${t6}~${(function(e9) { + return e9.replace(/\//g, "_"); + })(n8)}`; + let o6 = r9, s9 = 0; + for (; e8.has(o6); ) o6 = `${r9}_${s9}`, s9 += 1; + return e8.add(o6), o6; + })(o5, e7, i11 ? r8.ours : r8.theirs), c5 = i11 ? a4 : e7, d6 = i11 ? e7 : a4; + if (void 0 === s8) return va({ type: "distinct-types", path: e7, ourId: t5.id, ourMode: t5.mode, theirId: n7.id, theirMode: n7.mode, ourPath: c5, theirPath: d6 }); + const u6 = $a(s8.mode) ? a4 : e7; + return va({ type: "distinct-types", path: e7, baseId: s8.id, baseMode: s8.mode, basePath: u6, ourId: t5.id, ourMode: t5.mode, theirId: n7.id, theirMode: n7.mode, ourPath: c5, theirPath: d6 }); +} +function Na(e7, t5) { + if (e7.length > Xi) throw Yi(`contentMerger returned oversize ${t5}`); +} +async function La(e7, t5, n7, r8) { + const o5 = { path: e7, ourId: t5.id, theirId: n7.id, ourMode: t5.mode, theirMode: n7.mode }, s8 = await r8(o5, void 0, Ea, Ea); + return "clean" === s8.status ? (Na(s8.bytes, "clean bytes"), t5.mode === n7.mode ? void 0 !== s8.id ? { tag: "resolved", outcome: { status: "resolved-known", path: e7, id: s8.id, mode: t5.mode } } : { tag: "resolved", outcome: { status: "resolved-merged", path: e7, bytes: s8.bytes, mode: t5.mode } } : { tag: "clean-split", bytes: s8.bytes }) : (Na(s8.markedBytes, "marked bytes"), { tag: "conflict", bytes: s8.markedBytes, conflictType: s8.conflictType }); +} +function Ra(e7, t5, n7, r8, o5, s8, i11) { + return void 0 === n7 && void 0 === r8 ? { status: "resolved-deleted", path: e7 } : void 0 === n7 ? Aa(e7, t5, r8, "their") : void 0 === r8 ? Aa(e7, t5, n7, "our") : void 0 === t5 ? (async function(e8, t6, n8, r9, o6, s9) { + if (ba(t6, n8)) return { status: "resolved-known", path: e8, id: t6.id, mode: t6.mode }; + const i12 = $a(t6.mode), a4 = $a(n8.mode), c5 = xa(t6.mode), d6 = xa(n8.mode); + if (i12 && d6 || c5 && a4) return Sa(e8, t6, n8, o6, s9); + if (!i12 || !a4) return (function(e9, t7, n9) { + return va({ type: "add-add", path: e9, ourId: t7.id, theirId: n9.id, ourMode: t7.mode, theirMode: n9.mode }); + })(e8, t6, n8); + const u6 = await La(e8, t6, n8, r9); + return "resolved" === u6.tag ? u6.outcome : va({ type: "add-add", path: e8, ourId: t6.id, theirId: n8.id, ourMode: t6.mode, theirMode: n8.mode, conflictContent: u6.bytes, contentVerdict: "clean-split" === u6.tag ? "clean" : u6.conflictType }); + })(e7, n7, r8, o5, s8, i11) : (async function(e8, t6, n8, r9, o6, s9, i12) { + const a4 = ba(t6, n8), c5 = ba(t6, r9); + return a4 && c5 ? { status: "unchanged", path: e8, id: t6.id, mode: t6.mode } : a4 ? { status: "resolved-known", path: e8, id: r9.id, mode: r9.mode } : c5 || ba(n8, r9) ? { status: "resolved-known", path: e8, id: n8.id, mode: n8.mode } : (function(e9, t7, n9, r10, o7, s10, i13) { + if (Ia(n9.mode) || Ia(r10.mode)) return Ia(n9.mode) && Ia(r10.mode) && Ia(t7.mode) ? (function(e10, t8, n10, r11) { + return va({ type: "gitlink", path: e10, baseId: t8.id, ourId: n10.id, theirId: r11.id, baseMode: t8.mode, ourMode: n10.mode, theirMode: r11.mode }); + })(e9, t7, n9, r10) : Ta(e9, t7, n9, r10); + const a5 = xa(n9.mode), c6 = xa(r10.mode); + if (a5 && c6) return (function(e10, t8, n10, r11) { + return va({ type: "content", path: e10, baseId: t8.id, baseMode: t8.mode, ourId: n10.id, ourMode: n10.mode, theirId: r11.id, theirMode: r11.mode }); + })(e9, t7, n9, r10); + if (a5 || c6) return Ia(t7.mode) ? Ta(e9, t7, n9, r10) : Sa(e9, n9, r10, s10, i13, t7); + if (!Do(t7.mode, n9.mode)) return (async function(e10, t8, n10, r11, o8) { + const s11 = await La(e10, n10, r11, o8); + return "resolved" === s11.tag ? s11.outcome : va("clean-split" === s11.tag ? { type: "content", path: e10, baseId: t8.id, baseMode: t8.mode, ourId: n10.id, ourMode: n10.mode, theirId: r11.id, theirMode: r11.mode, conflictContent: s11.bytes, contentVerdict: "clean" } : { type: s11.conflictType, path: e10, baseId: t8.id, baseMode: t8.mode, ourId: n10.id, ourMode: n10.mode, theirId: r11.id, theirMode: r11.mode, conflictContent: s11.bytes }); + })(e9, t7, n9, r10, o7); + const d6 = (function(e10, t8, n10) { + return t8.mode === n10.mode ? t8.mode : t8.mode === e10.mode ? n10.mode : t8.mode; + })(t7, n9, r10); + return (async function(e10, t8, n10, r11, o8, s11) { + const i14 = { path: e10, baseId: t8.id, ourId: n10.id, theirId: r11.id, baseMode: t8.mode, ourMode: n10.mode, theirMode: r11.mode }, a6 = await s11(i14, void 0, Ea, Ea); + return "clean" === a6.status ? (Na(a6.bytes, "clean bytes"), void 0 !== a6.id ? { status: "resolved-known", path: e10, id: a6.id, mode: o8 } : { status: "resolved-merged", path: e10, bytes: a6.bytes, mode: o8 }) : (Na(a6.markedBytes, "marked bytes"), va({ type: a6.conflictType, path: e10, baseId: t8.id, ourId: n10.id, theirId: r11.id, baseMode: t8.mode, ourMode: n10.mode, theirMode: r11.mode, conflictContent: a6.markedBytes, mergedMode: o8 })); + })(e9, t7, n9, r10, d6, o7); + })(e8, t6, n8, r9, o6, s9, i12); + })(e7, t5, n7, r8, o5, s8, i11); +} +async function ka(e7, t5, n7, r8, o5 = ca) { + _a(e7, "base"), _a(t5, "ours"), _a(n7, "theirs"); + const s8 = (function(e8, t6, n8) { + const r9 = /* @__PURE__ */ new Set(); + for (const o6 of [e8, t6, n8]) if (void 0 !== o6) for (const e9 of o6.entries.keys()) r9.add(e9); + if (r9.size > tr) throw Ki("union FlatTree exceeds MAX_FLAT_TREE_ENTRIES"); + return r9; + })(e7, t5, n7), i11 = Po([...s8], (e8) => e8), a4 = new Set(s8), c5 = []; + for (const s9 of i11) { + const i12 = Ra(s9, e7?.entries.get(s9), t5?.entries.get(s9), n7?.entries.get(s9), r8, o5, a4), d7 = i12 instanceof Promise ? await i12 : i12; + c5.push(d7); + } + const d6 = (function(e8) { const t6 = []; - for (const n7 of e7) "conflict" === n7.status && t6.push(n7.conflict); + for (const n8 of e8) "conflict" === n8.status && t6.push(n8.conflict); return t6; - })(c6); - return { outcomes: c6, conflicts: d5, cleanMerge: 0 === d5.length }; -} -var ma = "agent=tsgit/0.0"; -var pa = ["multi_ack_detailed", "side-band-64k", "ofs-delta", "thin-pack", "no-progress", "include-tag", "filter", ma]; -var wa = ["report-status", "side-band-64k", "ofs-delta", "atomic", "delete-refs", ma]; -var ya = "push-cert"; -var Ea = (e6) => { - const t5 = e6.indexOf("="); - return t5 < 0 ? e6 : e6.slice(0, t5); -}; -var ba = (e6) => { - const t5 = e6.find((e7) => e7.startsWith("object-format=")); + })(c5); + return { outcomes: c5, conflicts: d6, cleanMerge: 0 === d6.length }; +} +var Da = "agent=tsgit/0.0"; +var Ua = ["multi_ack_detailed", "side-band-64k", "ofs-delta", "thin-pack", "no-progress", "include-tag", "filter", Da]; +var Ca = ["report-status", "side-band-64k", "ofs-delta", "atomic", "delete-refs", Da]; +var Ma = "push-cert"; +var Pa = (e7) => { + const t5 = e7.indexOf("="); + return t5 < 0 ? e7 : e7.slice(0, t5); +}; +var Ba = (e7) => { + const t5 = e7.find((e8) => e8.startsWith("object-format=")); return void 0 === t5 ? "sha1" : t5.slice(14); }; -var Ia = (e6, t5) => { - const n6 = /* @__PURE__ */ new Map(); - for (const t6 of e6) n6.set(Ea(t6), t6); - const r6 = []; - for (const e7 of t5) { - const t6 = Ea(e7), o6 = n6.get(t6); - void 0 !== o6 && r6.push(o6); - } - return r6; -}; -var _a = (e6) => e6.some((e7) => e7.startsWith("object-format=")); -var va = (e6) => "sha1" === e6 || "sha256" === e6; -var Ta = (e6) => new o({ code: "PKT_LENGTH_RESERVED", value: e6 }); -var Oa = (e6) => new o({ code: "PKT_TOO_LARGE", value: e6 }); -var $a = (e6) => new o({ code: "INVALID_BASE_URL", reason: e6 }); -var Aa = (e6, t5) => new o({ code: "MISSING_SERVICE_HEADER", expected: e6, actual: t5 }); -var Na = (e6) => new o({ code: "INVALID_REF_LINE", line: e6 }); -var Sa = (e6) => new o({ code: "INVALID_SIDEBAND_CHANNEL", channel: e6 }); -var xa = (e6) => new o({ code: "SIDEBAND_FATAL", message: e6 }); -var La = (e6) => new o({ code: "INVALID_REPORT_STATUS", line: e6 }); -var Ra = (e6, t5) => new o({ code: "REFSPEC_INVALID", raw: e6, reason: t5 }); -var ka = (e6, t5) => new o({ code: "TOO_MANY_ADVERTISED_REFS", count: e6, limit: t5 }); -var Da = (e6, t5) => new o({ code: "INVALID_FILTER_SPEC", spec: e6, reason: t5 }); -var Ua = () => new o({ code: "REMOTE_FILTER_UNSUPPORTED" }); -var Ca = (e6) => new o({ code: "UNEXPECTED_V2_SECTION", section: e6 }); -var Ma = (e6) => new o({ code: "V2_COMMAND_UNSUPPORTED", command: e6 }); -var Pa = (e6, t5, n6) => new o({ code: "TOO_MANY_SECTION_ENTRIES", section: e6, count: t5, limit: n6 }); -var Ba = (e6) => a(e6).slice(0, 32); -var Fa = (e6, t5) => new o(void 0 === t5 ? { code: "UNSUPPORTED_OBJECT_FORMAT", format: Ba(e6) } : { code: "UNSUPPORTED_OBJECT_FORMAT", format: Ba(e6), local: t5 }); -var Ha = (e6, t5) => new o({ code: "PUSH_OBJECT_FORMAT_UNSUPPORTED", local: e6, remote: Ba(t5) }); -var Va = "blob:limit="; -var Ga = "tree:"; -var Wa = /^(\d+)([kmg])?$/i; -var ja = /^\d+$/; -var za = (e6) => { - if ("" === e6) throw Da(e6, "empty"); - if ("blob:none" === e6) return { kind: "blob-none" }; - if (e6.startsWith(Va)) return ((e7) => { - const t5 = e7.slice(11).match(Wa); - if (null === t5) throw Da(e7, "bad-blob-limit"); - const n6 = Number(t5[1]) * ((e8) => { - switch (e8?.toLowerCase()) { +var Fa = (e7, t5) => { + const n7 = /* @__PURE__ */ new Map(); + for (const t6 of e7) n7.set(Pa(t6), t6); + const r8 = []; + for (const e8 of t5) { + const t6 = Pa(e8), o5 = n7.get(t6); + void 0 !== o5 && r8.push(o5); + } + return r8; +}; +var Ha = (e7) => e7.some((e8) => e8.startsWith("object-format=")); +var Va = (e7) => "sha1" === e7 || "sha256" === e7; +var Ga = (e7) => new c({ code: "PKT_LENGTH_RESERVED", value: e7 }); +var Wa = (e7) => new c({ code: "INVALID_BASE_URL", reason: e7 }); +var za = (e7, t5) => new c({ code: "MISSING_SERVICE_HEADER", expected: e7, actual: t5 }); +var ja = (e7) => new c({ code: "INVALID_REF_LINE", line: e7 }); +var Ka = (e7) => new c({ code: "INVALID_SIDEBAND_CHANNEL", channel: e7 }); +var Ya = (e7) => new c({ code: "SIDEBAND_FATAL", message: e7 }); +var Xa = (e7) => new c({ code: "INVALID_REPORT_STATUS", line: e7 }); +var qa = (e7, t5) => new c({ code: "REFSPEC_INVALID", raw: e7, reason: t5 }); +var Ja = (e7, t5) => new c({ code: "TOO_MANY_ADVERTISED_REFS", count: e7, limit: t5 }); +var Qa = (e7, t5) => new c({ code: "INVALID_FILTER_SPEC", spec: e7, reason: t5 }); +var Za = () => new c({ code: "REMOTE_FILTER_UNSUPPORTED" }); +var ec = (e7) => new c({ code: "UNEXPECTED_V2_SECTION", section: e7 }); +var tc = (e7) => new c({ code: "V2_COMMAND_UNSUPPORTED", command: e7 }); +var nc = (e7, t5, n7) => new c({ code: "TOO_MANY_SECTION_ENTRIES", section: e7, count: t5, limit: n7 }); +var rc = (e7) => l(e7).slice(0, 32); +var oc = (e7, t5) => new c(void 0 === t5 ? { code: "UNSUPPORTED_OBJECT_FORMAT", format: rc(e7) } : { code: "UNSUPPORTED_OBJECT_FORMAT", format: rc(e7), local: t5 }); +var sc = (e7, t5) => new c({ code: "PUSH_OBJECT_FORMAT_UNSUPPORTED", local: e7, remote: rc(t5) }); +var ic = "blob:limit="; +var ac = "tree:"; +var cc = /^(\d+)([kmg])?$/i; +var dc = /^\d+$/; +var uc = (e7) => { + if ("" === e7) throw Qa(e7, "empty"); + if ("blob:none" === e7) return { kind: "blob-none" }; + if (e7.startsWith(ic)) return ((e8) => { + const t5 = e8.slice(11).match(cc); + if (null === t5) throw Qa(e8, "bad-blob-limit"); + const n7 = Number(t5[1]) * ((e9) => { + switch (e9?.toLowerCase()) { case "k": return 1024; case "m": @@ -23175,2225 +6497,2515 @@ var za = (e6) => { return 1; } })(t5[2]); - if (!Number.isSafeInteger(n6)) throw Da(e7, "bad-blob-limit"); - return { kind: "blob-limit", bytes: n6 }; - })(e6); - if (e6.startsWith(Ga)) return ((e7) => { - const t5 = e7.slice(5); - if (!ja.test(t5)) throw Da(e7, "bad-tree-depth"); - const n6 = Number(t5); - if (!Number.isSafeInteger(n6)) throw Da(e7, "bad-tree-depth"); - return { kind: "tree-depth", depth: n6 }; - })(e6); - throw Da(e6, "unknown-kind"); -}; -var Ka = (e6) => { - switch (e6.kind) { + if (!Number.isSafeInteger(n7)) throw Qa(e8, "bad-blob-limit"); + return { kind: "blob-limit", bytes: n7 }; + })(e7); + if (e7.startsWith(ac)) return ((e8) => { + const t5 = e8.slice(5); + if (!dc.test(t5)) throw Qa(e8, "bad-tree-depth"); + const n7 = Number(t5); + if (!Number.isSafeInteger(n7)) throw Qa(e8, "bad-tree-depth"); + return { kind: "tree-depth", depth: n7 }; + })(e7); + throw Qa(e7, "unknown-kind"); +}; +var lc = (e7) => { + switch (e7.kind) { case "blob-none": return "blob:none"; case "blob-limit": - return `${Va}${e6.bytes}`; + return `${ic}${e7.bytes}`; case "tree-depth": - return `${Ga}${e6.depth}`; - } -}; -var Ya = new TextEncoder(); -var Xa = new TextDecoder("utf-8", { fatal: false }); -var qa = /^[0-9a-f]{4}$/i; -var Ja = 65520; -var Qa = Ya.encode("0000"); -var Za = Ya.encode("0001"); -Ya.encode("0002"); -var ec = (e6) => { - const t5 = (e6 + 65536).toString(16).slice(-4); - return Ya.encode(t5); -}; -var tc = (e6, t5) => { - let n6 = t5.byteLength; - for (const t6 of e6) { + return `${ac}${e7.depth}`; + } +}; +var fc = new TextEncoder(); +var hc = new TextDecoder("utf-8", { fatal: false }); +var gc = /^[0-9a-f]{4}$/i; +var mc = fc.encode("0000"); +var pc = fc.encode("0001"); +fc.encode("0002"); +var wc = (e7) => { + const t5 = (e7 + 65536).toString(16).slice(-4); + return fc.encode(t5); +}; +var yc = (e7, t5) => { + let n7 = t5.byteLength; + for (const t6 of e7) { if (t6.byteLength > 65516) throw new RangeError(`pkt-line: payload too large (${t6.byteLength} > 65516)`); - n6 += t6.byteLength + 4; - } - const r6 = new Uint8Array(n6); - let o6 = 0; - for (const t6 of e6) r6.set(ec(t6.byteLength + 4), o6), o6 += 4, r6.set(t6, o6), o6 += t6.byteLength; - return r6.set(t5, o6), r6; -}; -var nc = (e6) => tc(e6, Qa); -var rc = (e6) => tc(e6, new Uint8Array(0)); -var oc = (e6) => { - const t5 = Xa.decode(e6.subarray(0, 4)); - if (!qa.test(t5)) throw new o({ code: "INVALID_PKT_LENGTH", value: t5 }); - const n6 = Number.parseInt(t5, 16); - if (n6 > Ja) throw Oa(n6); - return n6; -}; -var sc = (e6, t5) => { - const n6 = t5?.v2 ?? false; - return { [Symbol.asyncIterator]: () => (async function* (e7, t6) { - const n7 = new ac(); - for await (const r6 of e7) n7.accept(r6), yield* cc(n7, t6); - if (n7.used > 0) throw new o({ code: "PKT_TRUNCATED", remaining: n7.used }); - })(e6, n6) }; -}; -var ic = (e6, t5, n6) => { - if (0 === e6) return { kind: "flush", consume: 4 }; - if (1 === e6) { - if (!n6) throw Ta(1); + n7 += t6.byteLength + 4; + } + const r8 = new Uint8Array(n7); + let o5 = 0; + for (const t6 of e7) r8.set(wc(t6.byteLength + 4), o5), o5 += 4, r8.set(t6, o5), o5 += t6.byteLength; + return r8.set(t5, o5), r8; +}; +var Ec = (e7) => yc(e7, mc); +var bc = (e7) => yc(e7, new Uint8Array(0)); +var Ic = (e7, t5) => { + const n7 = hc.decode(e7.subarray(t5, t5 + 4)); + if (!gc.test(n7)) throw new c({ code: "INVALID_PKT_LENGTH", value: n7 }); + const r8 = Number.parseInt(n7, 16); + if (r8 > 65520) throw new c({ code: "PKT_TOO_LARGE", value: r8 }); + return r8; +}; +var _c = (e7, t5) => { + const n7 = t5?.v2 ?? false; + return { [Symbol.asyncIterator]: () => (async function* (e8, t6) { + const n8 = new Tc(); + for await (const r8 of e8) yield* n8.accept(r8, t6); + if (n8.pending > 0) throw new c({ code: "PKT_TRUNCATED", remaining: n8.pending }); + })(e7, n7) }; +}; +var vc = (e7, t5, n7) => { + if (0 === e7) return { kind: "flush", consume: 4 }; + if (1 === e7) { + if (!n7) throw Ga(1); return { kind: "delim", consume: 4 }; } - if (2 === e6) { - if (!n6) throw Ta(2); + if (2 === e7) { + if (!n7) throw Ga(2); return { kind: "response-end", consume: 4 }; } - if (e6 < 4) throw Ta(e6); - return t5 < e6 ? { kind: "wait" } : { kind: "data", consume: e6 }; + if (e7 < 4) throw Ga(e7); + return t5 < e7 ? { kind: "wait" } : { kind: "data", consume: e7 }; }; -var ac = class { - acc = new Uint8Array(Ja); - used = 0; - accept(e6) { - if (this.used + e6.byteLength <= Ja) return this.acc.set(e6, this.used), void (this.used += e6.byteLength); - const t5 = Math.max(0, 4 - this.used), n6 = e6.subarray(0, t5); - throw this.acc.set(n6, this.used), this.used += n6.byteLength, oc(this.acc), Oa(this.used); - } - drop(e6) { - this.acc.copyWithin(0, e6, this.used), this.used -= e6; +function* Oc(e7, t5, n7, r8) { + let o5 = r8; + for (; t5 - o5 >= 4; ) { + const r9 = Ic(e7, o5), s8 = vc(r9, t5 - o5, n7); + if ("wait" === s8.kind) break; + "data" === s8.kind ? yield { kind: "data", payload: new Uint8Array(e7.subarray(o5 + 4, o5 + s8.consume)) } : yield { kind: s8.kind }, o5 += s8.consume; } - slice(e6, t5) { - return this.acc.slice(e6, t5); + return o5; +} +var Tc = class { + buf = new Uint8Array(65520); + used = 0; + get pending() { + return this.used; } -}; -function* cc(e6, t5) { - for (; e6.used >= 4; ) { - const n6 = oc(e6.acc), r6 = ic(n6, e6.used, t5); - if ("wait" === r6.kind) return; - if ("data" === r6.kind) { - const t6 = e6.slice(4, r6.consume); - e6.drop(r6.consume), yield { kind: "data", payload: t6 }; - continue; + *accept(e7, t5) { + let n7 = 0; + for (; n7 < e7.byteLength; ) { + if (this.used > 0) { + const r8 = Math.min(this.buf.length - this.used, e7.byteLength - n7); + this.buf.set(e7.subarray(n7, n7 + r8), this.used), this.used += r8, n7 += r8; + const o5 = yield* Oc(this.buf, this.used, t5, 0); + this.buf.copyWithin(0, o5, this.used), this.used -= o5; + continue; + } + if (n7 = yield* Oc(e7, e7.byteLength, t5, n7), n7 < e7.byteLength) { + const t6 = e7.byteLength - n7; + this.buf.set(e7.subarray(n7), 0), this.used = t6, n7 = e7.byteLength; + } } - e6.drop(r6.consume), yield { kind: r6.kind }; } -} -var dc = new TextDecoder("utf-8", { fatal: false }); -var uc = new TextEncoder(); -var lc = (e6, t5) => { - const n6 = 0 === t5.length ? "" : `\0${t5.join(" ")}`; - return uc.encode(`${e6.oldId} ${e6.newId} ${e6.name}${n6} +}; +var Ac = new TextDecoder("utf-8", { fatal: false }); +var $c = new TextEncoder(); +var xc = (e7, t5) => { + const n7 = 0 === t5.length ? "" : `\0${t5.join(" ")}`; + return $c.encode(`${e7.oldId} ${e7.newId} ${e7.name}${n7} `); }; -var fc = (e6) => { - if (0 === e6.updates.length) throw new o({ code: "EMPTY_RECEIVE_UPDATES" }); - const t5 = e6.updates.map((t6, n7) => lc(t6, 0 === n7 ? e6.capabilities : [])), n6 = nc(t5), r6 = new Uint8Array(n6.byteLength + e6.packfile.byteLength); - return r6.set(n6, 0), r6.set(e6.packfile, n6.byteLength), r6; -}; -var hc = (e6) => [uc.encode("certificate version 0.1\n"), uc.encode(`pusher ${e6.pusher} -`), uc.encode(`pushee ${e6.pushee} -`), uc.encode(`nonce ${e6.nonce} -`), uc.encode("\n"), ...e6.updates.map((e7) => lc(e7, []))]; -var gc = (e6) => ((e7) => { - const t5 = e7.reduce((e8, t6) => e8 + t6.byteLength, 0), n6 = new Uint8Array(t5); - let r6 = 0; - for (const t6 of e7) n6.set(t6, r6), r6 += t6.byteLength; - return n6; -})(hc(e6)); -var mc = (e6) => { - const t5 = uc.encode(`push-cert\0 ${e6.capabilities.join(" ")}`), n6 = (r6 = e6.armor, (r6.endsWith("\n") ? r6.slice(0, -1) : r6).split("\n").map((e7) => `${e7} -`)).map((e7) => uc.encode(e7)); - var r6; - const o6 = uc.encode("push-cert-end\n"), s9 = nc([t5, ...hc(e6), ...n6, o6]), i7 = new Uint8Array(s9.byteLength + e6.packfile.byteLength); - return i7.set(s9, 0), i7.set(e6.packfile, s9.byteLength), i7; -}; -var pc = (e6) => e6.endsWith("\n") ? e6.slice(0, -1) : e6; -var wc = (e6) => { - if (e6.startsWith("ok ")) return { name: e6.slice(3), accepted: true }; - if (e6.startsWith("ng ")) { - const t5 = e6.slice(3), n6 = t5.indexOf(" "); - if (n6 < 0) throw La(e6); - return { name: t5.slice(0, n6), accepted: false, reason: t5.slice(n6 + 1) }; - } - throw La(e6); -}; -var yc = async (e6) => { - const t5 = await (async (e7) => { +var Sc = (e7) => { + if (0 === e7.updates.length) throw new c({ code: "EMPTY_RECEIVE_UPDATES" }); + const t5 = e7.updates.map((t6, n8) => xc(t6, 0 === n8 ? e7.capabilities : [])), n7 = Ec(t5), r8 = new Uint8Array(n7.byteLength + e7.packfile.byteLength); + return r8.set(n7, 0), r8.set(e7.packfile, n7.byteLength), r8; +}; +var Nc = (e7) => [$c.encode("certificate version 0.1\n"), $c.encode(`pusher ${e7.pusher} +`), $c.encode(`pushee ${e7.pushee} +`), $c.encode(`nonce ${e7.nonce} +`), $c.encode("\n"), ...e7.updates.map((e8) => xc(e8, []))]; +var Lc = (e7) => ((e8) => { + const t5 = e8.reduce((e9, t6) => e9 + t6.byteLength, 0), n7 = new Uint8Array(t5); + let r8 = 0; + for (const t6 of e8) n7.set(t6, r8), r8 += t6.byteLength; + return n7; +})(Nc(e7)); +var Rc = (e7) => { + const t5 = $c.encode(`push-cert\0 ${e7.capabilities.join(" ")}`), n7 = (r8 = e7.armor, (r8.endsWith("\n") ? r8.slice(0, -1) : r8).split("\n").map((e8) => `${e8} +`)).map((e8) => $c.encode(e8)); + var r8; + const o5 = $c.encode("push-cert-end\n"), s8 = Ec([t5, ...Nc(e7), ...n7, o5]), i11 = new Uint8Array(s8.byteLength + e7.packfile.byteLength); + return i11.set(s8, 0), i11.set(e7.packfile, s8.byteLength), i11; +}; +var kc = (e7) => e7.endsWith("\n") ? e7.slice(0, -1) : e7; +var Dc = (e7) => { + if (e7.startsWith("ok ")) return { name: e7.slice(3), accepted: true }; + if (e7.startsWith("ng ")) { + const t5 = e7.slice(3), n7 = t5.indexOf(" "); + if (n7 < 0) throw Xa(e7); + return { name: t5.slice(0, n7), accepted: false, reason: t5.slice(n7 + 1) }; + } + throw Xa(e7); +}; +var Uc = async (e7) => { + const t5 = await (async (e8) => { const t6 = []; - for await (const n7 of e7) { - if ("data" !== n7.kind) return t6; - t6.push(pc(dc.decode(n7.payload))); + for await (const n8 of e8) { + if ("data" !== n8.kind) return t6; + t6.push(kc(Ac.decode(n8.payload))); } return t6; - })(e6); - if (0 === t5.length) throw La(""); - const [n6, ...r6] = t5, o6 = ((e7) => { - if ("unpack ok" === e7) return { ok: true }; - if (e7.startsWith("unpack ")) return { ok: false, error: e7.slice(7) }; - throw La(e7); - })(n6); - return o6.ok ? { unpackOk: true, refUpdates: r6.map(wc) } : { unpackOk: false, unpackError: o6.error, refUpdates: [] }; -}; -var Ec = new TextDecoder("utf-8", { fatal: false }); -var bc = (e6, t5) => { - if (e6) try { - e6(t5); + })(e7); + if (0 === t5.length) throw Xa(""); + const [n7, ...r8] = t5, o5 = ((e8) => { + if ("unpack ok" === e8) return { ok: true }; + if (e8.startsWith("unpack ")) return { ok: false, error: e8.slice(7) }; + throw Xa(e8); + })(n7); + return o5.ok ? { unpackOk: true, refUpdates: r8.map(Dc) } : { unpackOk: false, unpackError: o5.error, refUpdates: [] }; +}; +var Cc = new TextDecoder("utf-8", { fatal: false }); +var Mc = (e7, t5) => { + if (e7) try { + e7(t5); } catch { } }; -var Ic = (e6, t5) => ({ [Symbol.asyncIterator]: () => (async function* (e7, t6) { - for await (const n6 of e7) { - if ("data" !== n6.kind) return; - if (0 === n6.payload.byteLength) throw Sa(-1); - const e8 = n6.payload[0], r6 = n6.payload.subarray(1); - if (1 !== e8) { - if (2 !== e8) { - if (3 === e8) { - const e9 = Ec.decode(r6); - throw bc(t6.onError, e9), xa(e9); - } - throw Sa(e8); - } - bc(t6.onProgress, Ec.decode(r6)); - } else yield r6; - } -})(e6, t5) }); -var _c = new TextDecoder("utf-8", { fatal: false }); -var vc = new TextEncoder(); -var Tc = /^[0-9a-f]{40}([0-9a-f]{24})?$/i; -var Oc = /^# service=(?[^\n]+)\n?$/; -var $c = 5e5; -var Ac = (e6, t5) => { - let n6; +var Pc = (e7, t5) => ({ [Symbol.asyncIterator]: () => (async function* (e8, t6) { + for await (const n7 of e8) { + if ("data" !== n7.kind) return; + if (0 === n7.payload.byteLength) throw Ka(-1); + const e9 = n7.payload[0], r8 = n7.payload.subarray(1); + if (1 !== e9) { + if (2 !== e9) { + if (3 === e9) { + const e10 = Cc.decode(r8); + throw Mc(t6.onError, e10), Ya(e10); + } + throw Ka(e9); + } + Mc(t6.onProgress, Cc.decode(r8)); + } else yield r8; + } +})(e7, t5) }); +var Bc = new TextDecoder("utf-8", { fatal: false }); +var Fc = new TextEncoder(); +var Hc = /^[0-9a-f]{40}([0-9a-f]{24})?$/i; +var Vc = /^# service=(?[^\n]+)\n?$/; +var Gc = 5e5; +var Wc = (e7, t5) => { + let n7; try { - n6 = new URL(e6); + n7 = new URL(e7); } catch { - throw $a("invalid URL"); - } - if ("" !== n6.hash) throw $a("fragment must not be set"); - const r6 = n6.pathname.endsWith("/") ? n6.pathname.slice(0, -1) : n6.pathname; - return `${n6.protocol}//${n6.host}${r6}/info/refs${"" === n6.search ? `?service=${t5}` : `${n6.search}&service=${t5}`}`; -}; -var Nc = (e6) => e6.endsWith("\n") ? e6.slice(0, -1) : e6; -var Sc = (e6) => { - if (!Tc.test(e6)) throw Na(e6); - return sr.from(e6); -}; -var xc = (e6) => { - const t5 = e6.indexOf(" "); - if (t5 < 0) throw Na(e6); - const n6 = e6.slice(0, t5), r6 = e6.slice(t5 + 1); - if (0 === r6.length) throw Na(e6); - return { id: n6, name: r6 }; -}; -var Lc = async (e6, t5, n6) => { - const r6 = ((e7, t6) => { - if (e7.done || "data" !== e7.value.kind) throw Aa(t6, ""); - const n7 = Nc(_c.decode(e7.value.payload)), r7 = Oc.exec(`${n7} -`), o7 = r7?.groups?.service; - if (void 0 === o7) throw Aa(t6, n7); - if (o7 !== t6) throw Aa(t6, o7); - return o7; - })(t5, n6), o6 = await e6.next(); - if (o6.done || "flush" !== o6.value.kind) throw Aa(n6, r6); -}; -var Rc = (e6, t5, n6) => { - if (e6.byName.has(t5)) throw ((e7) => new o({ code: "DUPLICATE_REF", name: e7 }))(t5); - e6.refs.push({ id: n6, name: t5 }), e6.byName.set(t5, e6.refs.length - 1); -}; -var kc = (e6, t5, n6) => { + throw Wa("invalid URL"); + } + if ("" !== n7.hash) throw Wa("fragment must not be set"); + const r8 = n7.pathname.endsWith("/") ? n7.pathname.slice(0, -1) : n7.pathname; + return `${n7.protocol}//${n7.host}${r8}/info/refs${"" === n7.search ? `?service=${t5}` : `${n7.search}&service=${t5}`}`; +}; +var zc = (e7) => e7.endsWith("\n") ? e7.slice(0, -1) : e7; +var jc = (e7) => { + if (!Hc.test(e7)) throw ja(e7); + return lr.from(e7); +}; +var Kc = (e7) => { + const t5 = e7.indexOf(" "); + if (t5 < 0) throw ja(e7); + const n7 = e7.slice(0, t5), r8 = e7.slice(t5 + 1); + if (0 === r8.length) throw ja(e7); + return { id: n7, name: r8 }; +}; +var Yc = async (e7, t5, n7) => { + const r8 = ((e8, t6) => { + if (e8.done || "data" !== e8.value.kind) throw za(t6, ""); + const n8 = zc(Bc.decode(e8.value.payload)), r9 = Vc.exec(`${n8} +`), o6 = r9?.groups?.service; + if (void 0 === o6) throw za(t6, n8); + if (o6 !== t6) throw za(t6, o6); + return o6; + })(t5, n7), o5 = await e7.next(); + if (o5.done || "flush" !== o5.value.kind) throw za(n7, r8); +}; +var Xc = (e7, t5, n7) => { + if (e7.byName.has(t5)) throw ((e8) => new c({ code: "DUPLICATE_REF", name: e8 }))(t5); + e7.refs.push({ id: n7, name: t5 }), e7.byName.set(t5, e7.refs.length - 1); +}; +var qc = (e7, t5, n7) => { if (void 0 === t5) { - const t6 = ((e7) => { - const t7 = e7.indexOf("\0"); - if (t7 < 0) throw new o({ code: "MISSING_CAPABILITIES" }); - const n7 = e7.slice(0, t7), r7 = e7.slice(t7 + 1), s9 = n7.indexOf(" "); - if (s9 < 0) throw Na(e7); - const i7 = n7.slice(0, s9), a6 = n7.slice(s9 + 1); - if (0 === a6.length) throw Na(e7); - return { id: i7, name: a6, tail: r7 }; - })(n6); - return Rc(e6, t6.name, Sc(t6.id)), ((e7) => { + const t6 = ((e8) => { + const t7 = e8.indexOf("\0"); + if (t7 < 0) throw new c({ code: "MISSING_CAPABILITIES" }); + const n8 = e8.slice(0, t7), r9 = e8.slice(t7 + 1), o5 = n8.indexOf(" "); + if (o5 < 0) throw ja(e8); + const s8 = n8.slice(0, o5), i11 = n8.slice(o5 + 1); + if (0 === i11.length) throw ja(e8); + return { id: s8, name: i11, tail: r9 }; + })(n7); + return Xc(e7, t6.name, jc(t6.id)), ((e8) => { const t7 = /* @__PURE__ */ new Map(); - for (const n7 of e7) t7.set(Ea(n7), n7); + for (const n8 of e8) t7.set(Pa(n8), n8); return Array.from(t7.values()); - })(t6.tail.split(" ").filter((e7) => e7.length > 0)); - } - if (n6.endsWith("^{}")) return ((e7, t6) => { - const n7 = t6.slice(0, -3), r7 = xc(n7), o6 = Sc(r7.id), s9 = e7.byName.get(r7.name); - if (void 0 === s9) throw Na(t6); - e7.refs[s9] = { ...e7.refs[s9], peeled: o6 }; - })(e6, n6), t5; - const r6 = xc(n6); - return Rc(e6, r6.name, Sc(r6.id)), t5; -}; -var Dc = async (e6, t5, n6) => { - const r6 = e6[Symbol.asyncIterator](); + })(t6.tail.split(" ").filter((e8) => e8.length > 0)); + } + if (n7.endsWith("^{}")) return ((e8, t6) => { + const n8 = t6.slice(0, -3), r9 = Kc(n8), o5 = jc(r9.id), s8 = e8.byName.get(r9.name); + if (void 0 === s8) throw ja(t6); + e8.refs[s8] = { ...e8.refs[s8], peeled: o5 }; + })(e7, n7), t5; + const r8 = Kc(n7); + return Xc(e7, r8.name, jc(r8.id)), t5; +}; +var Jc = async (e7, t5, n7) => { + const r8 = e7[Symbol.asyncIterator](); try { - (n6?.servicePrologue ?? 1) && await (async (e8, t6) => { - const n7 = await e8.next(); - await Lc(e8, n7, t6); - })(r6, t5); - const { capabilities: e7, refs: o6 } = await (async (e8) => { + (n7?.servicePrologue ?? 1) && await (async (e9, t6) => { + const n8 = await e9.next(); + await Yc(e9, n8, t6); + })(r8, t5); + const { capabilities: e8, refs: o5 } = await (async (e9) => { const t6 = { refs: [], byName: /* @__PURE__ */ new Map() }; - let n7, r7 = await e8.next(); - for (; !r7.done && "data" === r7.value.kind; ) { - if (t6.refs.length >= $c) throw ka(t6.refs.length + 1, $c); - const o7 = Nc(_c.decode(r7.value.payload)); - n7 = kc(t6, n7, o7), r7 = await e8.next(); - } - return { capabilities: n7 ?? [], refs: t6.refs }; - })(r6), s9 = ((e8, t6) => { - const n7 = t6.find((e9) => "HEAD" === e9.name); - if (n7) return n7; - const r7 = e8.find((e9) => e9.startsWith("symref=HEAD:")); - if (!r7) return; - const o7 = r7.slice(12), s10 = t6.find((e9) => e9.name === o7); - return s10 ? { name: "HEAD", id: s10.id } : void 0; - })(e7, o6); - return s9 ? { capabilities: e7, refs: o6, head: s9 } : { capabilities: e7, refs: o6 }; + let n8, r9 = await e9.next(); + for (; !r9.done && "data" === r9.value.kind; ) { + if (t6.refs.length >= Gc) throw Ja(t6.refs.length + 1, Gc); + const o6 = zc(Bc.decode(r9.value.payload)); + n8 = qc(t6, n8, o6), r9 = await e9.next(); + } + return { capabilities: n8 ?? [], refs: t6.refs }; + })(r8), s8 = ((e9, t6) => { + const n8 = t6.find((e10) => "HEAD" === e10.name); + if (n8) return n8; + const r9 = e9.find((e10) => e10.startsWith("symref=HEAD:")); + if (!r9) return; + const o6 = r9.slice(12), s9 = t6.find((e10) => e10.name === o6); + return s9 ? { name: "HEAD", id: s9.id } : void 0; + })(e8, o5); + return s8 ? { capabilities: e8, refs: o5, head: s8 } : { capabilities: e8, refs: o5 }; } finally { - await r6.return?.(); + await r8.return?.(); } }; -var Uc = (e6) => vc.encode(`have ${e6} +var Qc = (e7) => Fc.encode(`have ${e7} `); -var Cc = ((e6) => { - if (e6.byteLength > 65516) throw new RangeError(`pkt-line: payload too large (${e6.byteLength} > 65516)`); - const t5 = e6.byteLength + 4, n6 = new Uint8Array(t5); - return n6.set(ec(t5), 0), n6.set(e6, 4), n6; -})(vc.encode("done\n")); -var Mc = (e6) => { - if (0 === e6.wants.length) throw new o({ code: "EMPTY_WANTS" }); +var Zc = ((e7) => { + if (e7.byteLength > 65516) throw new RangeError(`pkt-line: payload too large (${e7.byteLength} > 65516)`); + const t5 = e7.byteLength + 4, n7 = new Uint8Array(t5); + return n7.set(wc(t5), 0), n7.set(e7, 4), n7; +})(Fc.encode("done\n")); +var ed = (e7) => { + if (0 === e7.wants.length) throw new c({ code: "EMPTY_WANTS" }); const t5 = []; - e6.wants.forEach((n7, r7) => { - t5.push(((e7, t6) => { - const n8 = 0 === t6.length ? "" : ` ${t6.join(" ")}`; - return vc.encode(`want ${e7}${n8} + e7.wants.forEach((n8, r9) => { + t5.push(((e8, t6) => { + const n9 = 0 === t6.length ? "" : ` ${t6.join(" ")}`; + return Fc.encode(`want ${e8}${n9} `); - })(n7, 0 === r7 ? e6.capabilities : [])); - }), void 0 !== e6.depth && t5.push(vc.encode(`deepen ${e6.depth} -`)), void 0 !== e6.filter && t5.push(vc.encode(`filter ${e6.filter} + })(n8, 0 === r9 ? e7.capabilities : [])); + }), void 0 !== e7.depth && t5.push(Fc.encode(`deepen ${e7.depth} +`)), void 0 !== e7.filter && t5.push(Fc.encode(`filter ${e7.filter} `)); - const n6 = nc(t5), r6 = ((e7, t6) => { - if (0 === e7.length) return new Uint8Array(0); - const n7 = e7.map(Uc); - return true === t6 ? rc(n7) : nc(n7); - })(e6.haves, e6.done), s9 = e6.done ? Cc : new Uint8Array(0), i7 = new Uint8Array(n6.byteLength + r6.byteLength + s9.byteLength); - let a6 = 0; - return i7.set(n6, a6), a6 += n6.byteLength, i7.set(r6, a6), a6 += r6.byteLength, i7.set(s9, a6), i7; -}; -var Pc = (e6) => { - const t5 = Nc(e6).split(" "), n6 = sr.from(t5[1]), r6 = t5[2]; - if (void 0 === r6) return { id: n6, status: "ack" }; - if ("continue" === r6 || "common" === r6 || "ready" === r6) return { id: n6, status: r6 }; - throw new o({ code: "UNKNOWN_ACK_STATUS", value: r6 }); -}; -var Bc = "shallow "; -var Fc = "unshallow "; -var Hc = (e6, t5) => { - const n6 = Nc(e6), r6 = n6.slice(t5.length); - if (!Tc.test(r6)) throw Na(n6); - return sr.from(r6); -}; -var Vc = (e6, t5) => e6.startsWith(Bc) ? (t5.shallow.push(Hc(e6, Bc)), true) : !!e6.startsWith(Fc) && (t5.unshallow.push(Hc(e6, Fc)), true); -var Gc = /* @__PURE__ */ new WeakMap(); -var Wc = async (e6, t5) => { - const n6 = e6[Symbol.asyncIterator](), r6 = true === t5.expectShallow ? await (async (e7) => { + const n7 = Ec(t5), r8 = ((e8, t6) => { + if (0 === e8.length) return new Uint8Array(0); + const n8 = e8.map(Qc); + return true === t6 ? bc(n8) : Ec(n8); + })(e7.haves, e7.done), o5 = e7.done ? Zc : new Uint8Array(0), s8 = new Uint8Array(n7.byteLength + r8.byteLength + o5.byteLength); + let i11 = 0; + return s8.set(n7, i11), i11 += n7.byteLength, s8.set(r8, i11), i11 += r8.byteLength, s8.set(o5, i11), s8; +}; +var td = (e7) => { + const t5 = zc(e7).split(" "), n7 = lr.from(t5[1]), r8 = t5[2]; + if (void 0 === r8) return { id: n7, status: "ack" }; + if ("continue" === r8 || "common" === r8 || "ready" === r8) return { id: n7, status: r8 }; + throw new c({ code: "UNKNOWN_ACK_STATUS", value: r8 }); +}; +var nd = "shallow "; +var rd = "unshallow "; +var od = (e7, t5) => { + const n7 = zc(e7), r8 = n7.slice(t5.length); + if (!Hc.test(r8)) throw ja(n7); + return lr.from(r8); +}; +var sd = (e7, t5) => e7.startsWith(nd) ? (t5.shallow.push(od(e7, nd)), true) : !!e7.startsWith(rd) && (t5.unshallow.push(od(e7, rd)), true); +var id = /* @__PURE__ */ new WeakMap(); +var ad = async (e7, t5) => { + const n7 = e7[Symbol.asyncIterator](), r8 = true === t5.expectShallow ? await (async (e8) => { const t6 = { shallow: [], unshallow: [] }; - let n7 = await e7.next(); - for (; !n7.done; ) { - if ("data" !== n7.value.kind) return { shallow: t6.shallow, unshallow: t6.unshallow }; - const r7 = _c.decode(n7.value.payload); - if (!Vc(r7, t6)) return Gc.set(e7, n7.value), { shallow: t6.shallow, unshallow: t6.unshallow }; - n7 = await e7.next(); + let n8 = await e8.next(); + for (; !n8.done; ) { + if ("data" !== n8.value.kind) return { shallow: t6.shallow, unshallow: t6.unshallow }; + const r9 = Bc.decode(n8.value.payload); + if (!sd(r9, t6)) return id.set(e8, n8.value), { shallow: t6.shallow, unshallow: t6.unshallow }; + n8 = await e8.next(); } return { shallow: t6.shallow, unshallow: t6.unshallow }; - })(n6) : { shallow: [], unshallow: [] }, o6 = await (async (e7) => { + })(n7) : { shallow: [], unshallow: [] }, o5 = await (async (e8) => { const t6 = []; - let n7 = false; - const r7 = Gc.get(e7); - void 0 !== r7 && Gc.delete(e7); - let o7 = void 0 !== r7 ? { done: false, value: r7 } : await e7.next(); - for (; !o7.done; ) { - if ("data" !== o7.value.kind) return { acks: t6, nak: n7, buffered: [o7.value] }; - const r8 = _c.decode(o7.value.payload); - if (r8.startsWith("ACK ")) t6.push(Pc(r8)), o7 = await e7.next(); + let n8 = false; + const r9 = id.get(e8); + void 0 !== r9 && id.delete(e8); + let o6 = void 0 !== r9 ? { done: false, value: r9 } : await e8.next(); + for (; !o6.done; ) { + if ("data" !== o6.value.kind) return { acks: t6, nak: n8, buffered: [o6.value] }; + const r10 = Bc.decode(o6.value.payload); + if (r10.startsWith("ACK ")) t6.push(td(r10)), o6 = await e8.next(); else { - if (!r8.startsWith("NAK")) return { acks: t6, nak: n7, buffered: [o7.value] }; - n7 = true, o7 = await e7.next(); - } - } - return { acks: t6, nak: n7, buffered: [] }; - })(n6); - return { acks: o6.acks, nak: o6.nak, shallow: r6.shallow, unshallow: r6.unshallow, packBody: { [Symbol.asyncIterator]: () => (async function* (e7, t6, n7) { - const r7 = (async function* (e8, t7) { - for (const t8 of e8) yield t8; - let n8 = await t7.next(); - for (; !n8.done; ) yield n8.value, n8 = await t7.next(); - })(e7, t6); - if (n7.sideBand) { - const e8 = n7.onProgress ? { onProgress: n7.onProgress } : {}; - return void (yield* Ic(r7, e8)); - } - yield* (async function* (e8) { - for await (const t7 of e8) { + if (!r10.startsWith("NAK")) return { acks: t6, nak: n8, buffered: [o6.value] }; + n8 = true, o6 = await e8.next(); + } + } + return { acks: t6, nak: n8, buffered: [] }; + })(n7); + return { acks: o5.acks, nak: o5.nak, shallow: r8.shallow, unshallow: r8.unshallow, packBody: { [Symbol.asyncIterator]: () => (async function* (e8, t6, n8) { + const r9 = (async function* (e9, t7) { + for (const t8 of e9) yield t8; + let n9 = await t7.next(); + for (; !n9.done; ) yield n9.value, n9 = await t7.next(); + })(e8, t6); + if (n8.sideBand) { + const e9 = n8.onProgress ? { onProgress: n8.onProgress } : {}; + return void (yield* Pc(r9, e9)); + } + yield* (async function* (e9) { + for await (const t7 of e9) { if ("data" !== t7.kind) return; yield t7.payload; } - })(r7); - })(o6.buffered, n6, t5) } }; -}; -var jc = /* @__PURE__ */ new Set(["sha1", "sha256"]); -var zc = /* @__PURE__ */ new Set(["ls-refs", "fetch"]); -var Kc = new TextDecoder(); -var Yc = async (e6) => { - const t5 = await e6.next(); - var n6; - if (!t5.done && "data" === t5.value.kind) return (n6 = Kc.decode(t5.value.payload)).endsWith("\n") ? n6.slice(0, -1) : n6; -}; -var Xc = (e6, t5) => { - const [n6, r6] = ((e7) => { - const t6 = e7.indexOf("="); - return -1 === t6 ? [e7, void 0] : [e7.slice(0, t6), e7.slice(t6 + 1)]; + })(r9); + })(o5.buffered, n7, t5) } }; +}; +var cd = /* @__PURE__ */ new Set(["sha1", "sha256"]); +var dd = /* @__PURE__ */ new Set(["ls-refs", "fetch"]); +var ud = new TextDecoder(); +var ld = async (e7) => { + const t5 = await e7.next(); + var n7; + if (!t5.done && "data" === t5.value.kind) return (n7 = ud.decode(t5.value.payload)).endsWith("\n") ? n7.slice(0, -1) : n7; +}; +var fd = (e7, t5) => { + const [n7, r8] = ((e8) => { + const t6 = e8.indexOf("="); + return -1 === t6 ? [e8, void 0] : [e8.slice(0, t6), e8.slice(t6 + 1)]; })(t5); - if ("agent" !== n6) { - if ("object-format" !== n6) ((e7, t6, n7) => { - if (zc.has(t6) && (e7.commands.add(t6), "fetch" === t6)) for (const t7 of ((e8) => void 0 === e8 ? [] : e8.split(" ").filter((e9) => e9.length > 0))(n7)) e7.fetchFeatures.add(t7); - })(e6, n6, r6); - else if (e6.objectFormat = r6 ?? "", !jc.has(e6.objectFormat)) throw Fa(e6.objectFormat); - } else e6.agent = r6; -}; -var qc = async (e6) => { - const t5 = e6[Symbol.asyncIterator](); + if ("agent" !== n7) { + if ("object-format" !== n7) ((e8, t6, n8) => { + if (dd.has(t6) && (e8.commands.add(t6), "fetch" === t6)) for (const t7 of ((e9) => void 0 === e9 ? [] : e9.split(" ").filter((e10) => e10.length > 0))(n8)) e8.fetchFeatures.add(t7); + })(e7, n7, r8); + else if (e7.objectFormat = r8 ?? "", !cd.has(e7.objectFormat)) throw oc(e7.objectFormat); + } else e7.agent = r8; +}; +var hd = async (e7) => { + const t5 = e7[Symbol.asyncIterator](); try { - const e7 = await Yc(t5); - if ("version 2" !== e7) throw Ma(e7 ?? ""); - const n6 = { commands: /* @__PURE__ */ new Set(), fetchFeatures: /* @__PURE__ */ new Set(), agent: void 0, objectFormat: "sha1" }; - for (let e8 = await Yc(t5); void 0 !== e8; e8 = await Yc(t5)) Xc(n6, e8); - return void 0 === n6.agent ? { version: 2, commands: n6.commands, fetchFeatures: n6.fetchFeatures, objectFormat: n6.objectFormat } : { version: 2, agent: n6.agent, commands: n6.commands, fetchFeatures: n6.fetchFeatures, objectFormat: n6.objectFormat }; + const e8 = await ld(t5); + if ("version 2" !== e8) throw tc(e8 ?? ""); + const n7 = { commands: /* @__PURE__ */ new Set(), fetchFeatures: /* @__PURE__ */ new Set(), agent: void 0, objectFormat: "sha1" }; + for (let e9 = await ld(t5); void 0 !== e9; e9 = await ld(t5)) fd(n7, e9); + return void 0 === n7.agent ? { version: 2, commands: n7.commands, fetchFeatures: n7.fetchFeatures, objectFormat: n7.objectFormat } : { version: 2, agent: n7.agent, commands: n7.commands, fetchFeatures: n7.fetchFeatures, objectFormat: n7.objectFormat }; } finally { await t5.return?.(); } }; -var Jc = (e6) => e6.commands.has("fetch") && e6.commands.has("ls-refs"); -var Qc = ["acknowledgments", "shallow-info", "wanted-refs", "packfile"]; -var Zc = new TextEncoder(); -var ed = new TextDecoder(); -var td = (e6) => Qc.includes(e6); -var nd = (e6) => e6.endsWith("\n") ? e6.slice(0, -1) : e6; -var rd = (e6, t5, n6, r6) => { - const o6 = rc([Zc.encode(`command=${e6} -`), Zc.encode(`${ma} -`), Zc.encode(`object-format=${r6} -`)]), s9 = rc([...t5.map((e7) => Zc.encode(`${e7} -`)), ...n6]); - return ((...e7) => { - const t6 = e7.reduce((e8, t7) => e8 + t7.byteLength, 0), n7 = new Uint8Array(t6); - let r7 = 0; - for (const t7 of e7) n7.set(t7, r7), r7 += t7.byteLength; - return n7; - })(o6, Za, s9, Qa); -}; -async function* od(e6, t5) { +var gd = (e7) => e7.commands.has("fetch") && e7.commands.has("ls-refs"); +var md = ["acknowledgments", "shallow-info", "wanted-refs", "packfile"]; +var pd = new TextEncoder(); +var wd = new TextDecoder(); +var yd = (e7) => md.includes(e7); +var Ed = (e7) => e7.endsWith("\n") ? e7.slice(0, -1) : e7; +var bd = (e7, t5, n7, r8) => { + const o5 = bc([pd.encode(`command=${e7} +`), pd.encode(`${Da} +`), pd.encode(`object-format=${r8} +`)]), s8 = bc([...t5.map((e8) => pd.encode(`${e8} +`)), ...n7]); + return ((...e8) => { + const t6 = e8.reduce((e9, t7) => e9 + t7.byteLength, 0), n8 = new Uint8Array(t6); + let r9 = 0; + for (const t7 of e8) n8.set(t7, r9), r9 += t7.byteLength; + return n8; + })(o5, pc, s8, mc); +}; +async function* Id(e7, t5) { for (; ; ) { - const n6 = await e6.next(); - if (n6.done || "data" !== n6.value.kind) return void t5(!n6.done && "delim" === n6.value.kind); - yield n6.value; + const n7 = await e7.next(); + if (n7.done || "data" !== n7.value.kind) return void t5(!n7.done && "delim" === n7.value.kind); + yield n7.value; } } -var sd = new TextEncoder(); -var id = new TextDecoder(); -var ad = $c; -async function* cd(e6, t5) { - let n6 = 0; - for await (const r6 of t5) { - if (n6 += 1, n6 > ad) throw Pa(e6, n6, ad); - yield r6; +var _d = new TextEncoder(); +var vd = new TextDecoder(); +var Od = Gc; +async function* Td(e7, t5) { + let n7 = 0; + for await (const r8 of t5) { + if (n7 += 1, n7 > Od) throw nc(e7, n7, Od); + yield r8; } } -var dd = (e6) => sd.encode(`want ${e6} +var Ad = (e7) => _d.encode(`want ${e7} `); -var ud = (e6) => sd.encode(`have ${e6} +var $d = (e7) => _d.encode(`have ${e7} `); -var ld = sd.encode("done\n"); -var fd = (e6) => { - const t5 = [...e6.wants.map(dd), ...e6.haves.map(ud)]; - return t5.push(ld), rd("fetch", e6.args ?? [], t5, e6.objectFormat); +var xd = _d.encode("done\n"); +var Sd = (e7) => { + const t5 = [...e7.wants.map(Ad), ...e7.haves.map($d)]; + return t5.push(xd), bd("fetch", e7.args ?? [], t5, e7.objectFormat); }; -var hd = async (e6) => { +var Nd = async (e7) => { const t5 = []; - let n6 = false, r6 = false; - for await (const o6 of e6) { - const e7 = id.decode(o6.payload); - e7.startsWith("ACK ") ? t5.push(Pc(e7)) : e7.startsWith("NAK") ? n6 = true : r6 = true; + let n7 = false, r8 = false; + for await (const o5 of e7) { + const e8 = vd.decode(o5.payload); + e8.startsWith("ACK ") ? t5.push(td(e8)) : e8.startsWith("NAK") ? n7 = true : r8 = true; } - return { acks: t5, nak: n6, ready: r6 }; + return { acks: t5, nak: n7, ready: r8 }; }; -var gd = async (e6) => { +var Ld = async (e7) => { const t5 = { shallow: [], unshallow: [] }; - for await (const n6 of e6) Vc(id.decode(n6.payload), t5); + for await (const n7 of e7) sd(vd.decode(n7.payload), t5); return t5; }; -var md = (e6) => { - const t5 = e6.indexOf(" "), n6 = e6.slice(t5 + 1).replace(/\n$/, ""); - return { id: sr.from(e6.slice(0, t5)), name: n6 }; +var Rd = (e7) => { + const t5 = e7.indexOf(" "), n7 = e7.slice(t5 + 1).replace(/\n$/, ""); + return { id: lr.from(e7.slice(0, t5)), name: n7 }; }; -var pd = async (e6) => { +var kd = async (e7) => { const t5 = []; - for await (const n6 of e6) t5.push(md(id.decode(n6.payload))); + for await (const n7 of e7) t5.push(Rd(vd.decode(n7.payload))); return t5; }; -var wd = async (e6, t5 = {}) => { - let n6 = [], r6 = false, o6 = false, s9 = [], i7 = [], a6 = [], c6 = (async function* () { +var Dd = async (e7, t5 = {}) => { + let n7 = [], r8 = false, o5 = false, s8 = [], i11 = [], a4 = [], c5 = (async function* () { })(); - for await (const d5 of (async function* (e7) { - const t6 = e7[Symbol.asyncIterator](); - let n7 = await t6.next(); - for (; !n7.done && "data" === n7.value.kind; ) { - const e8 = nd(ed.decode(n7.value.payload)); - if (!td(e8)) throw Ca(e8); - let r7 = false; - const o7 = od(t6, (e9) => { - r7 = e9; + for await (const d6 of (async function* (e8) { + const t6 = e8[Symbol.asyncIterator](); + let n8 = await t6.next(); + for (; !n8.done && "data" === n8.value.kind; ) { + const e9 = Ed(wd.decode(n8.value.payload)); + if (!yd(e9)) throw ec(e9); + let r9 = false; + const o6 = Id(t6, (e10) => { + r9 = e10; }); - yield { name: e8, lines: o7 }, n7 = r7 ? await t6.next() : { done: true, value: void 0 }; + yield { name: e9, lines: o6 }, n8 = r9 ? await t6.next() : { done: true, value: void 0 }; } - })(e6)) { - if ("acknowledgments" === d5.name) { - const e7 = await hd(cd(d5.name, d5.lines)); - n6 = e7.acks, r6 = e7.nak, o6 = e7.ready; + })(e7)) { + if ("acknowledgments" === d6.name) { + const e8 = await Nd(Td(d6.name, d6.lines)); + n7 = e8.acks, r8 = e8.nak, o5 = e8.ready; continue; } - if ("shallow-info" === d5.name) { - const e7 = await gd(cd(d5.name, d5.lines)); - s9 = e7.shallow, i7 = e7.unshallow; + if ("shallow-info" === d6.name) { + const e8 = await Ld(Td(d6.name, d6.lines)); + s8 = e8.shallow, i11 = e8.unshallow; continue; } - "wanted-refs" !== d5.name ? c6 = Ic(d5.lines, t5.onProgress ? { onProgress: t5.onProgress } : {}) : a6 = await pd(cd(d5.name, d5.lines)); + "wanted-refs" !== d6.name ? c5 = Pc(d6.lines, t5.onProgress ? { onProgress: t5.onProgress } : {}) : a4 = await kd(Td(d6.name, d6.lines)); } - return { acks: n6, nak: r6, ready: o6, packBody: c6, shallow: s9, unshallow: i7, wantedRefs: a6 }; + return { acks: n7, nak: r8, ready: o5, packBody: c5, shallow: s8, unshallow: i11, wantedRefs: a4 }; }; -var yd = new TextEncoder(); -var Ed = new TextDecoder(); -var bd = /^[0-9a-f]{40}([0-9a-f]{24})?$/i; -var Id = (e6) => yd.encode(`ref-prefix ${e6} +var Ud = new TextEncoder(); +var Cd = new TextDecoder(); +var Md = /^[0-9a-f]{40}([0-9a-f]{24})?$/i; +var Pd = (e7) => Ud.encode(`ref-prefix ${e7} `); -var _d = (e6) => { +var Bd = (e7) => { const t5 = []; - t5.push(yd.encode("symrefs\n")), true === e6.peel && t5.push(yd.encode("peel\n")); - for (const n6 of e6.refPrefixes ?? []) t5.push(Id(n6)); - return rd("ls-refs", [], t5, e6.objectFormat); -}; -var vd = (e6) => e6.endsWith("\n") ? e6.slice(0, -1) : e6; -var Td = (e6, t5) => { - const n6 = e6.find((e7) => e7.startsWith(t5)); - return void 0 === n6 ? void 0 : n6.slice(t5.length); -}; -var Od = (e6) => { - const t5 = e6.indexOf(" "); - if (t5 < 0) throw Na(e6); - const n6 = e6.slice(0, t5); - if ("unborn" !== n6 && !bd.test(n6)) throw Na(e6); - const r6 = e6.slice(t5 + 1), o6 = r6.indexOf(" "), s9 = -1 === o6 ? r6 : r6.slice(0, o6); - if (0 === s9.length) throw Na(e6); - const i7 = -1 === o6 ? [] : r6.slice(o6 + 1).split(" "), a6 = Td(i7, "symref-target:"); - if (void 0 !== a6) return { name: s9, oidToken: n6, symrefTarget: a6 }; - const c6 = Td(i7, "peeled:"); - return void 0 === c6 ? { name: s9, oidToken: n6 } : { name: s9, oidToken: n6, peeled: c6 }; -}; -var $d = (e6, t5) => { - if (!bd.test(e6)) throw Na(t5); - return sr.from(e6); -}; -var Ad = (e6, t5, n6) => { - if (e6.length >= $c) throw ka(e6.length + 1, $c); - const r6 = $d(t5.oidToken, n6); - e6.push(void 0 === t5.peeled ? { id: r6, name: t5.name } : { id: r6, name: t5.name, peeled: $d(t5.peeled, n6) }); -}; -var Nd = async (e6) => { - const t5 = e6[Symbol.asyncIterator](); + t5.push(Ud.encode("symrefs\n")), true === e7.peel && t5.push(Ud.encode("peel\n")); + for (const n7 of e7.refPrefixes ?? []) t5.push(Pd(n7)); + return bd("ls-refs", [], t5, e7.objectFormat); +}; +var Fd = (e7) => e7.endsWith("\n") ? e7.slice(0, -1) : e7; +var Hd = (e7, t5) => { + const n7 = e7.find((e8) => e8.startsWith(t5)); + return void 0 === n7 ? void 0 : n7.slice(t5.length); +}; +var Vd = (e7) => { + const t5 = e7.indexOf(" "); + if (t5 < 0) throw ja(e7); + const n7 = e7.slice(0, t5); + if ("unborn" !== n7 && !Md.test(n7)) throw ja(e7); + const r8 = e7.slice(t5 + 1), o5 = r8.indexOf(" "), s8 = -1 === o5 ? r8 : r8.slice(0, o5); + if (0 === s8.length) throw ja(e7); + const i11 = -1 === o5 ? [] : r8.slice(o5 + 1).split(" "), a4 = Hd(i11, "symref-target:"); + if (void 0 !== a4) return { name: s8, oidToken: n7, symrefTarget: a4 }; + const c5 = Hd(i11, "peeled:"); + return void 0 === c5 ? { name: s8, oidToken: n7 } : { name: s8, oidToken: n7, peeled: c5 }; +}; +var Gd = (e7, t5) => { + if (!Md.test(e7)) throw ja(t5); + return lr.from(e7); +}; +var Wd = (e7, t5, n7) => { + if (e7.length >= Gc) throw Ja(e7.length + 1, Gc); + const r8 = Gd(t5.oidToken, n7); + e7.push(void 0 === t5.peeled ? { id: r8, name: t5.name } : { id: r8, name: t5.name, peeled: Gd(t5.peeled, n7) }); +}; +var zd = async (e7) => { + const t5 = e7[Symbol.asyncIterator](); try { - const e7 = []; - let n6, r6 = await t5.next(); - for (; !r6.done && "data" === r6.value.kind; ) { - const o7 = vd(Ed.decode(r6.value.payload)), s10 = Od(o7); - void 0 !== s10.symrefTarget ? "HEAD" === s10.name && (n6 = s10.symrefTarget) : Ad(e7, s10, o7), r6 = await t5.next(); - } - const o6 = ((e8, t6) => { - const n7 = e8.find((e9) => "HEAD" === e9.name); - if (n7) return n7; + const e8 = []; + let n7, r8 = await t5.next(); + for (; !r8.done && "data" === r8.value.kind; ) { + const o6 = Fd(Cd.decode(r8.value.payload)), s9 = Vd(o6); + void 0 !== s9.symrefTarget ? "HEAD" === s9.name && (n7 = s9.symrefTarget) : Wd(e8, s9, o6), r8 = await t5.next(); + } + const o5 = ((e9, t6) => { + const n8 = e9.find((e10) => "HEAD" === e10.name); + if (n8) return n8; if (void 0 === t6) return; - const r7 = e8.find((e9) => e9.name === t6); - return void 0 === r7 ? void 0 : { name: "HEAD", id: r7.id }; - })(e7, n6), s9 = void 0 === n6 ? [] : [`symref=HEAD:${n6}`]; - return void 0 === o6 ? { capabilities: s9, refs: e7 } : { capabilities: s9, refs: e7, head: o6 }; + const r9 = e9.find((e10) => e10.name === t6); + return void 0 === r9 ? void 0 : { name: "HEAD", id: r9.id }; + })(e8, n7), s8 = void 0 === n7 ? [] : [`symref=HEAD:${n7}`]; + return void 0 === o5 ? { capabilities: s8, refs: e8 } : { capabilities: s8, refs: e8, head: o5 }; } finally { await t5.return?.(); } }; -var Sd = { second: 1, minute: 60, hour: 3600, day: 86400, week: 604800, month: 2592e3, year: 31536e3 }; -var xd = /^(\d{4})-(\d{2})-(\d{2})(?: (\d{2}):(\d{2}):(\d{2}))?$/; -var Ld = /^(\d+)[ .]([a-z]+?)s?(?:[ .]ago)?$/; -function Rd(e6, t5) { - const n6 = e6.trim().toLowerCase(); - return "now" === n6 ? t5 : "yesterday" === n6 ? t5 - 86400 : (function(e7) { - const t6 = xd.exec(e7); +var jd = { second: 1, minute: 60, hour: 3600, day: 86400, week: 604800, month: 2592e3, year: 31536e3 }; +var Kd = /^(\d{4})-(\d{2})-(\d{2})(?: (\d{2}):(\d{2}):(\d{2}))?$/; +var Yd = /^(\d+)[ .]([a-z]+?)s?(?:[ .]ago)?$/; +var Xd = /^@(\d+)(?:\s*[+-]\d{4})?$/; +function qd(e7, t5) { + const n7 = e7.trim().toLowerCase(); + return "now" === n7 ? t5 : "yesterday" === n7 ? t5 - 86400 : (function(e8) { + const t6 = Xd.exec(e8); if (null === t6) return; - const [, n7, r6, o6, s9, i7, a6] = t6, c6 = Number(n7), d5 = Number(r6), u6 = Number(o6), l4 = void 0 === s9 ? 0 : Number(s9), f2 = void 0 === i7 ? 0 : Number(i7), h6 = void 0 === a6 ? 0 : Number(a6); - if (d5 < 1 || d5 > 12) return; - if (u6 < 1 || u6 > (function(e8, t7) { - return 2 === t7 && (function(e9) { - return e9 % 4 == 0 && e9 % 100 != 0 || e9 % 400 == 0; - })(e8) ? 29 : kd[t7 - 1]; - })(c6, d5)) return; + const n8 = Number(t6[1]); + return n8 > Number.MAX_SAFE_INTEGER ? void 0 : n8; + })(n7) ?? (function(e8) { + const t6 = Kd.exec(e8); + if (null === t6) return; + const [, n8, r8, o5, s8, i11, a4] = t6, c5 = Number(n8), d6 = Number(r8), u6 = Number(o5), l4 = void 0 === s8 ? 0 : Number(s8), f2 = void 0 === i11 ? 0 : Number(i11), h5 = void 0 === a4 ? 0 : Number(a4); + if (d6 < 1 || d6 > 12) return; + if (u6 < 1 || u6 > (function(e9, t7) { + return 2 === t7 && (function(e10) { + return e10 % 4 == 0 && e10 % 100 != 0 || e10 % 400 == 0; + })(e9) ? 29 : Jd[t7 - 1]; + })(c5, d6)) return; if (l4 > 23) return; if (f2 > 59) return; - if (h6 > 59) return; - const g7 = new Date(c6, d5 - 1, u6, l4, f2, h6); - return g7.setFullYear(c6), Math.floor(g7.getTime() / 1e3); - })(n6) ?? (function(e7, t6) { - const n7 = Ld.exec(e7); - if (null === n7) return; - const [, r6, o6] = n7, s9 = Sd[o6]; - return void 0 === s9 ? void 0 : t6 - Number(r6) * s9; - })(n6, t5); -} -var kd = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; -var Dd = (e6) => new o({ code: "INVALID_REFLOG_ENTRY", reason: e6 }); -var Ud = (e6) => new o({ code: "REFLOG_NOT_FOUND", ref: e6 }); -var Cd = (e6, t5, n6) => new o({ code: "REFLOG_ENTRY_OUT_OF_RANGE", ref: e6, requested: t5, available: n6 }); -var Md = /[\n\r]/; -function Pd(e6, t5) { - if (Md.test(e6.message)) throw Dd("message contains a line break"); - if (e6.oldId.length !== t5 || e6.newId.length !== t5) throw Dd("object id does not match the repository oid width"); - const n6 = rr(e6.identity), r6 = `${e6.oldId} ${e6.newId} ${n6}`; - return "" === e6.message ? `${r6} -` : `${r6} ${e6.message} + if (h5 > 59) return; + const g7 = new Date(c5, d6 - 1, u6, l4, f2, h5); + return g7.setFullYear(c5), Math.floor(g7.getTime() / 1e3); + })(n7) ?? (function(e8, t6) { + const n8 = Yd.exec(e8); + if (null === n8) return; + const [, r8, o5] = n8, s8 = jd[o5]; + return void 0 === s8 ? void 0 : t6 - Number(r8) * s8; + })(n7, t5); +} +var Jd = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; +var Qd = (e7) => new c({ code: "INVALID_REFLOG_ENTRY", reason: e7 }); +var Zd = (e7) => new c({ code: "REFLOG_NOT_FOUND", ref: e7 }); +var eu = (e7, t5, n7) => new c({ code: "REFLOG_ENTRY_OUT_OF_RANGE", ref: e7, requested: t5, available: n7 }); +var tu = " "; +var nu = /[\n\r]/; +var ru = /\n/; +var ou = /^[+-]\d{4}$/; +var su = new TextEncoder(); +function iu(e7, t5) { + if (e7.oldId.length !== t5 || e7.newId.length !== t5) throw Qd("object id does not match the repository oid width"); + if (0 === e7.identity.timestamp) throw Qd("timestamp must be non-zero"); +} +function au(e7, t5) { + iu(e7, t5); + const n7 = dr(e7.identity); + return `${e7.oldId} ${e7.newId} ${n7}`; +} +function cu(e7, t5) { + if (nu.test(e7.message)) throw Qd("message contains a line break"); + const n7 = au(e7, t5); + return "" === e7.message ? `${n7} +` : `${n7} ${e7.message} +`; +} +var du = new Uint8Array([10]); +function uu(e7, t5) { + if (void 0 === e7.raw) return su.encode((function(e8, t6) { + if (ru.test(e8.message)) throw Qd("message contains a line break"); + return `${au(e8, t6)} ${e8.message} `; + })(e7, t5)); + if (iu(e7, t5), e7.raw.message.includes(10)) throw Qd("message contains a line break"); + if (e7.raw.identity.includes(10) || e7.raw.identity.includes(9)) throw Qd("invalid identity"); + if (!Number.isSafeInteger(e7.identity.timestamp)) throw Qd("invalid identity"); + if (!ou.test(e7.identity.timezoneOffset)) throw Qd("invalid identity"); + const n7 = su.encode(`${e7.oldId} ${e7.newId} `), r8 = su.encode(` ${e7.identity.timestamp} ${e7.identity.timezoneOffset} `); + return $t([n7, e7.raw.identity, r8, e7.raw.message, du]); +} +function lu(e7) { + const t5 = []; + for (let n7 = 0; n7 < e7.length; n7 += 8192) t5.push(Reflect.apply(String.fromCharCode, null, e7.subarray(n7, n7 + 8192))); + return t5.join(""); } -function Bd(e6, t5) { - return e6.split("\n").filter((e7) => "" !== e7).map((e7) => (function(e8, t6) { - const n6 = e8.indexOf(" "), r6 = -1 === n6 ? e8 : e8.slice(0, n6), o6 = -1 === n6 ? "" : e8.slice(n6 + 1), s9 = t6 + 1, i7 = s9 + t6, a6 = i7 + 1; - if (" " !== r6[t6] || " " !== r6[i7]) throw Dd("misplaced field separator"); - return { oldId: Hd(r6.slice(0, t6)), newId: Hd(r6.slice(s9, i7)), identity: (function(e9) { +function fu(e7) { + const t5 = lu(e7), n7 = []; + let r8 = 0; + for (const e8 of ((e9) => { + const t6 = e9.lastIndexOf("\n"); + return -1 === t6 ? [] : e9.slice(0, t6).split("\n"); + })(t5)) n7.push({ line: e8, start: r8 }), r8 += e8.length + 1; + return n7; +} +function hu(e7, t5, n7, r8) { + const o5 = (function(e8, t6) { + const n8 = e8.indexOf(" "), r9 = -1 === n8 ? e8 : e8.slice(0, n8), o6 = -1 === n8 ? "" : e8.slice(n8 + 1), s9 = t6 + 1, i12 = s9 + t6, a5 = i12 + 1; + if (r9[t6] !== tu || r9[i12] !== tu) throw Qd("misplaced field separator"); + const c6 = wu(r9.slice(0, t6)), d7 = wu(r9.slice(s9, i12)), u7 = (function(e9) { try { - return tr(e9); + return ar(e9); } catch { - throw Dd("invalid identity"); - } - })(r6.slice(a6)), message: o6 }; - })(e7, t5)); + throw Qd("invalid identity"); + } + })(r9.slice(a5)); + if (0 === u7.timestamp) throw Qd("zero timestamp"); + return { oldId: c6, newId: d7, identity: u7, message: o6 }; + })(t5, r8), s8 = r8 + 1 + r8 + 1, i11 = t5.indexOf(" "), a4 = (-1 === i11 ? t5 : t5.slice(0, i11)).slice(s8), c5 = a4.lastIndexOf(">"), d6 = a4.lastIndexOf("<", c5), u6 = (r9, o6) => { + let s9 = true; + for (let e8 = r9; e8 < o6; e8 += 1) if (t5.charCodeAt(e8) > 127) { + s9 = false; + break; + } + return s9 ? lu(e7.subarray(n7 + r9, n7 + o6)) : Ut(e7.subarray(n7 + r9, n7 + o6)); + }, l4 = s8, f2 = l4 + o5.identity.name.length, h5 = s8 + d6 + 1, g7 = s8 + c5, m7 = -1 === i11 ? t5.length : i11 + 1, p6 = e7.slice(n7 + s8, n7 + s8 + c5 + 1), w6 = e7.slice(n7 + m7, n7 + t5.length); + return { oldId: o5.oldId, newId: o5.newId, identity: { name: u6(l4, f2), email: u6(h5, g7), timestamp: o5.identity.timestamp, timezoneOffset: o5.identity.timezoneOffset }, message: u6(m7, t5.length), raw: { identity: p6, message: w6 } }; } -function Fd(e6) { - return e6.replace(/[\r\n]+/g, " ").trim(); +function gu(e7, t5) { + return fu(e7).filter(({ line: e8 }) => "" !== e8).map(({ line: n7, start: r8 }) => hu(e7, n7, r8, t5)); } -function Hd(e6) { +function mu(e7, t5) { + const n7 = []; + for (const { line: r8, start: o5 } of fu(e7)) if (r8[t5] === tu && r8[2 * t5 + 1] === tu) try { + n7.push(hu(e7, r8, o5, t5)); + } catch { + } + return n7; +} +function pu(e7) { + return e7.replace(/[\r\n]+/g, " ").trim(); +} +function wu(e7) { try { - return sr.from(e6); + return lr.from(e7); } catch { - throw Dd("invalid object id"); - } -} -var Vd = ["refs/heads/", "refs/remotes/", "refs/notes/"]; -function Gd(e6, t5) { - return "always" === t5.logAllRefUpdates || false !== t5.logAllRefUpdates && (true === t5.logAllRefUpdates || true !== t5.bare) && (function(e7) { - return "HEAD" === e7 || Vd.some((t6) => e7.startsWith(t6)); - })(e6); -} -var Wd = (e6) => new o({ code: "INVALID_REF", reason: e6 }); -var jd = (e6) => new o({ code: "INVALID_PACKED_REFS", reason: e6 }); -var zd = (e6, t5) => new o({ code: "INVALID_REFTABLE", check: e6, reason: t5 }); -var Kd = (e6) => new o({ code: "REF_NOT_FOUND", name: e6 }); -var Yd = (e6, t5) => new o({ code: "REF_CHAIN_TOO_DEEP", depth: e6, chain: t5 }); -var Xd = (e6) => new o({ code: "REF_CYCLE_DETECTED", chain: e6 }); -var qd = (e6) => new o({ code: "REF_LOCKED", name: e6 }); -var Jd = (e6, t5, n6) => new o({ code: "REF_UPDATE_CONFLICT", name: e6, expected: t5, actual: n6 }); -var Qd = (e6, t5) => new o({ code: "REFTABLE_LOCKED", stack: e6, reason: t5 }); -var Zd = /* @__PURE__ */ new Set(["~", "^", ":", "?", "*", "[", "\\", " "]); -function eu(e6) { - if ("" === e6) throw Wd("ref name must not be empty"); - if (e6.startsWith("/") || e6.endsWith("/")) throw Wd("ref name must not start or end with /"); - if (e6.startsWith("-")) throw Wd("ref name must not start with -"); - if ("@" === e6) throw Wd("ref name must not be single @"); - if (e6.includes("..")) throw Wd("ref name must not contain .."); - if (e6.includes("//")) throw Wd("ref name must not contain consecutive slashes"); - if (e6.includes("@{")) throw Wd("ref name must not contain @{"); - if (e6.endsWith(".")) throw Wd("ref name must not end with ."); - !(function(e7) { - for (let t6 = 0; t6 < e7.length; t6++) { - const n6 = e7.charCodeAt(t6); - if (n6 <= 31 || 127 === n6) throw Wd("ref name contains forbidden character"); - const r6 = e7[t6]; - if (void 0 !== r6 && Zd.has(r6)) throw Wd("ref name contains forbidden character"); - if (n6 >= 8234 && n6 <= 8238 || n6 >= 8294 && n6 <= 8297) throw Wd("ref name contains forbidden Unicode override"); - } - })(e6); - const t5 = e6.split("/"); - for (const e7 of t5) { - if (e7.startsWith(".")) throw Wd("ref name component must not start with ."); - if (e7.endsWith(".lock")) throw Wd("ref name component must not end with .lock"); + throw Qd("invalid object id"); + } +} +var yu = ["refs/heads/", "refs/remotes/", "refs/notes/"]; +function Eu(e7, t5) { + return "always" === t5.logAllRefUpdates || false !== t5.logAllRefUpdates && (true === t5.logAllRefUpdates || true !== t5.bare) && (function(e8) { + return "HEAD" === e8 || yu.some((t6) => e8.startsWith(t6)); + })(e7); +} +var bu = (e7) => new c({ code: "INVALID_REF", reason: e7 }); +var Iu = (e7) => new c({ code: "INVALID_PACKED_REFS", reason: e7 }); +var _u = (e7, t5) => new c({ code: "INVALID_REFTABLE", check: e7, reason: t5 }); +var vu = (e7) => new c({ code: "REF_NOT_FOUND", name: e7 }); +var Ou = (e7, t5) => new c({ code: "REF_CHAIN_TOO_DEEP", depth: e7, chain: t5 }); +var Tu = (e7) => new c({ code: "REF_CYCLE_DETECTED", chain: e7 }); +var Au = (e7) => new c({ code: "REF_LOCKED", name: e7 }); +var $u = (e7, t5, n7) => new c({ code: "REF_UPDATE_CONFLICT", name: e7, expected: t5, actual: n7 }); +var xu = (e7, t5) => new c({ code: "REFTABLE_LOCKED", stack: e7, reason: t5 }); +var Su = /* @__PURE__ */ new Set(["~", "^", ":", "?", "*", "[", "\\", " "]); +function Nu(e7) { + if ("" === e7) throw bu("ref name must not be empty"); + if (e7.startsWith("/") || e7.endsWith("/")) throw bu("ref name must not start or end with /"); + if (e7.startsWith("-")) throw bu("ref name must not start with -"); + if ("@" === e7) throw bu("ref name must not be single @"); + if (e7.includes("..")) throw bu("ref name must not contain .."); + if (e7.includes("//")) throw bu("ref name must not contain consecutive slashes"); + if (e7.includes("@{")) throw bu("ref name must not contain @{"); + if (e7.endsWith(".")) throw bu("ref name must not end with ."); + !(function(e8) { + for (let t6 = 0; t6 < e8.length; t6++) { + const n7 = e8.charCodeAt(t6); + if (n7 <= 31 || 127 === n7) throw bu("ref name contains forbidden character"); + const r8 = e8[t6]; + if (void 0 !== r8 && Su.has(r8)) throw bu("ref name contains forbidden character"); + if (n7 >= 8234 && n7 <= 8238 || n7 >= 8294 && n7 <= 8297) throw bu("ref name contains forbidden Unicode override"); + } + })(e7); + const t5 = e7.split("/"); + for (const e8 of t5) { + if (e8.startsWith(".")) throw bu("ref name component must not start with ."); + if (e8.endsWith(".lock")) throw bu("ref name component must not end with .lock"); } - return e6; + return e7; } -function tu(e6) { +function Lu(e7) { try { - return eu(e6), true; + return Nu(e7), true; } catch { return false; } } -function nu(e6) { - const t5 = e6.replace(/[\r\n]+$/, ""); - if ("" === t5) throw Wd("empty ref content"); +function Ru(e7) { + const t5 = e7.replace(/[\r\n]+$/, ""); + if ("" === t5) throw bu("empty ref content"); if (t5.startsWith("ref: ")) { - const e7 = t5.slice(5); - if ("" === e7) throw Wd("empty symbolic ref target"); - return { type: "symbolic", target: eu(e7) }; + const e8 = t5.slice(5); + if ("" === e8) throw bu("empty symbolic ref target"); + return { type: "symbolic", target: Nu(e8) }; } - return { type: "direct", target: sr.from(t5) }; + return { type: "direct", target: lr.from(t5) }; } -function ru(e6) { - return `${e6} +function ku(e7) { + return `${e7} `; } -function ou(e6) { - return `ref: ${e6} +function Du(e7) { + return `ref: ${e7} `; } -function su(e6) { - if ("" === e6) return { entries: [], peeling: "none", sorted: false }; - const t5 = e6.split("\n"), { peeling: n6, sorted: r6, startIndex: o6 } = (function(e7) { - const t6 = e7[0]; +function Uu(e7) { + if ("" === e7) return { entries: [], peeling: "none", sorted: false }; + const t5 = e7.split("\n"), { peeling: n7, sorted: r8, startIndex: o5 } = (function(e8) { + const t6 = e8[0]; if (t6?.startsWith("# pack-refs with:")) { - const e8 = t6.slice(17).trim(), n7 = "" === e8 ? [] : e8.split(/\s+/), r7 = n7.includes("peeled"); - return { peeling: n7.includes("fully-peeled") ? "fully" : r7 ? "tags" : "none", sorted: n7.includes("sorted"), startIndex: 1 }; + const e9 = t6.slice(17).trim(), n8 = "" === e9 ? [] : e9.split(/\s+/), r9 = n8.includes("peeled"); + return { peeling: n8.includes("fully-peeled") ? "fully" : r9 ? "tags" : "none", sorted: n8.includes("sorted"), startIndex: 1 }; } return { peeling: "none", sorted: false, startIndex: 0 }; - })(t5), s9 = (function(e7, t6) { - const n7 = []; - for (let r7 = t6; r7 < e7.length; r7++) { - const t7 = e7[r7]; + })(t5), s8 = (function(e8, t6) { + const n8 = []; + for (let r9 = t6; r9 < e8.length; r9++) { + const t7 = e8[r9]; if (void 0 === t7 || "" === t7 || t7.startsWith("#")) continue; if (t7.startsWith("^")) { - if (0 === n7.length) throw jd("peel line without preceding ref entry"); - const e8 = sr.from(t7.slice(1)), r8 = n7.length - 1; - n7[r8] = { ...n7[r8], peeled: e8 }; + if (0 === n8.length) throw Iu("peel line without preceding ref entry"); + const e9 = lr.from(t7.slice(1)), r10 = n8.length - 1; + n8[r10] = { ...n8[r10], peeled: e9 }; continue; } - const o7 = t7.indexOf(" "); - if (-1 === o7) throw jd(`invalid ref line format: ${t7.slice(0, 80)}`); - const s10 = t7.slice(0, o7), i7 = t7.slice(o7 + 1); - if (!tu(i7)) throw jd(`packed refname is dangerous: ${i7.slice(0, 80)}`); - const a6 = sr.from(s10); - n7.push({ name: fr.from(i7), id: a6 }); - } - return n7; - })(t5, o6); - return { entries: s9, peeling: n6, sorted: r6 }; -} -function iu(e6) { - if (0 === e6.entries.length) return ""; - const t5 = [...e6.entries].sort((e7, t6) => e7.name < t6.name ? -1 : e7.name > t6.name ? 1 : 0), n6 = []; - n6.push((function() { - const e7 = []; - return e7.push("peeled"), e7.push("fully-peeled"), e7.push("sorted"), e7.length > 0 ? `# pack-refs with: ${e7.join(" ")} ` : "# pack-refs with:"; + const o6 = t7.indexOf(" "); + if (-1 === o6) throw Iu(`invalid ref line format: ${t7.slice(0, 80)}`); + const s9 = t7.slice(0, o6), i11 = t7.slice(o6 + 1); + if (!Lu(i11)) throw Iu(`packed refname is dangerous: ${i11.slice(0, 80)}`); + const a4 = lr.from(s9); + n8.push({ name: yr.from(i11), id: a4 }); + } + return n8; + })(t5, o5); + return { entries: s8, peeling: n7, sorted: r8 }; +} +function Cu(e7) { + if (0 === e7.entries.length) return ""; + const t5 = [...e7.entries].sort((e8, t6) => e8.name < t6.name ? -1 : e8.name > t6.name ? 1 : 0), n7 = []; + n7.push((function() { + const e8 = []; + return e8.push("peeled"), e8.push("fully-peeled"), e8.push("sorted"), e8.length > 0 ? `# pack-refs with: ${e8.join(" ")} ` : "# pack-refs with:"; })()); - for (const e7 of t5) n6.push(`${e7.id} ${e7.name}`), void 0 !== e7.peeled && n6.push(`^${e7.peeled}`); - return `${n6.join("\n")} + for (const e8 of t5) n7.push(`${e8.id} ${e8.name}`), void 0 !== e8.peeled && n7.push(`^${e8.peeled}`); + return `${n7.join("\n")} `; } -var au = "MERGE_HEAD"; -var cu = "MERGE_MSG"; -var du = "ORIG_HEAD"; -var uu = "CHERRY_PICK_HEAD"; -var lu = "REVERT_HEAD"; -var fu = "REBASE_HEAD"; -var hu = "FETCH_HEAD"; -var gu = /* @__PURE__ */ new Set(["HEAD", du, hu, au, uu, lu, "BISECT_HEAD"]); -var mu = ["refs/bisect/", "refs/worktree/", "refs/rewritten/"]; -var pu = (e6) => gu.has(e6) || mu.some((t5) => e6.startsWith(t5)); -var wu = (e6) => [e6, `refs/${e6}`, `refs/tags/${e6}`, `refs/heads/${e6}`, `refs/remotes/${e6}`, `refs/remotes/${e6}/HEAD`]; -var yu = 1380271700; -var Eu = /* @__PURE__ */ new Map([[1, { headerLength: 24, footerLength: 68 }], [2, { headerLength: 28, footerLength: 72 }]]); -var bu = /* @__PURE__ */ new Map([["sha1", 20], ["s256", 32]]); -var Iu = /* @__PURE__ */ new Map([["sha1", "sha1"], ["s256", "s256"]]); -function _u(e6, t5) { - return e6.getUint8(t5) << 16 | e6.getUint16(t5 + 1); -} -function vu(e6, t5) { - if (t5 < 24) throw zd("truncated", `truncated: file too short for a reftable header: ${t5} bytes`); - const n6 = new DataView(e6.buffer, e6.byteOffset, e6.byteLength); - if (n6.getUint32(0) !== yu) throw zd("magic", `invalid magic: expected 0x${yu.toString(16)}`); - const r6 = n6.getUint8(4); - if (1 !== r6 && 2 !== r6) throw zd("version", `unsupported version: expected 1 or 2, got ${r6}`); - const o6 = Eu.get(r6); - if (t5 < o6.headerLength + o6.footerLength) throw zd("truncated", `truncated: file too short for its own header and footer: ${t5} bytes, needs at least ${o6.headerLength + o6.footerLength}`); - return { version: r6 }; -} -function Tu(e6, t5) { - return String.fromCharCode(e6._view.getUint8(t5)); -} -function Ou(e6, t5) { - if (t5 < 0 || t5 >= e6.length) throw zd("truncated", `varint truncated at byte ${t5}`); - let n6 = t5, r6 = 127 & e6[n6], o6 = 1; - for (; 128 & e6[n6]; ) { - if (o6 >= 5) throw zd("varint-overflow", `varint at byte ${t5} exceeds 5 bytes`); - if (n6 += 1, n6 >= e6.length) throw zd("truncated", `varint truncated at byte ${t5}`); - r6 = 128 * (r6 + 1) + (127 & e6[n6]), o6 += 1; - } - return { value: r6, nextOffset: n6 + 1 }; -} -var $u = /* @__PURE__ */ new Map([[24, 68], [28, 72]]); -function Au(e6, t5) { - const n6 = (function(e7, t6) { - return _u(e7._view, t6 + 1); - })(e6, t5), r6 = t5 === e6.header.headerLength, o6 = r6 ? n6 : t5 + n6; - if (o6 <= t5 || o6 > e6._bytes.length) throw zd("block-bounds", `block at file offset ${t5} declares an out-of-bounds length (declared end ${o6}, file length ${e6._bytes.length})`); - const s9 = e6._view, i7 = s9.getUint16(o6 - 2); - if (0 === i7) throw zd("restart-count", `block at file offset ${t5} has restart_count 0`); - const a6 = t5 + 4, c6 = o6 - 2 - 3 * i7; - if (c6 < a6) throw zd("block-bounds", `block at file offset ${t5} declares a restart array (${i7} entries) overlapping its record area`); - const d5 = (function(e7, t6, n7, r7, o7) { - const s10 = []; - for (let i8 = 0; i8 < n7; i8 += 1) { - const n8 = _u(e7, t6 + 3 * i8); - s10.push(o7 ? n8 : r7 + n8); - } - return s10; - })(s9, c6, i7, t5, r6); - return { recordsStart: a6, recordsEnd: c6, restartOffsets: d5, blockEnd: o6 }; -} -function Nu(e6, t5, n6) { - const { value: r6, nextOffset: o6 } = Ou(e6, t5), s9 = n6?.length ?? 0; - if (r6 > s9) throw zd("record-overrun", `prefix_length ${r6} exceeds predecessor name length ${s9}`); - const { value: i7, nextOffset: a6 } = Ou(e6, o6), c6 = Math.floor(i7 / 8); - if (a6 + c6 > e6.length) throw zd("record-overrun", `suffix_length ${c6} at byte ${a6} runs past the end of the file`); - const d5 = (function(e7, t6, n7) { - if (0 === t6) return n7.slice(); - const r7 = new Uint8Array(t6 + n7.length); - return r7.set(e7.subarray(0, t6), 0), r7.set(n7, t6), r7; - })(n6, r6, e6.subarray(a6, a6 + c6)); - return { nameBytes: d5, packed: i7, nextOffset: a6 + c6 }; -} -function Su(e6, t5) { - const n6 = $t(e6); - if (!tu(n6)) throw zd("record-overrun", `${t5} is dangerous: ${n6.slice(0, 80)}`); - return fr.from(n6); -} -function xu(e6) { - return (t5, n6, r6) => { - const { nameBytes: o6, packed: s9, nextOffset: i7 } = Nu(t5, n6, r6), a6 = 7 & s9, { value: c6, nextOffset: d5 } = Ou(t5, i7), { value: u6, nextOffset: l4 } = (function(e7, t6, n7, r7) { - if (0 === n7) return { value: { kind: "deletion" }, nextOffset: t6 }; - if (1 === n7) return (function(e8, t7, n8) { - return { value: { kind: "direct", id: sr.fromRaw(e8.subarray(t7, t7 + n8)) }, nextOffset: t7 + n8 }; - })(e7, t6, r7); - if (2 === n7) return (function(e8, t7, n8) { - const r8 = t7 + n8; - return { value: { kind: "peeled", id: sr.fromRaw(e8.subarray(t7, t7 + n8)), peeled: sr.fromRaw(e8.subarray(r8, r8 + n8)) }, nextOffset: r8 + n8 }; - })(e7, t6, r7); - if (3 === n7) return (function(e8, t7) { - const { value: n8, nextOffset: r8 } = Ou(e8, t7); - return { value: { kind: "symbolic", target: Su(e8.subarray(r8, r8 + n8), "symbolic ref target") }, nextOffset: r8 + n8 }; - })(e7, t6); - throw zd("record-overrun", `reserved ref value_type 0x${n7.toString(16)}`); - })(t5, d5, a6, e6.digestLength); - return { nameBytes: o6, payload: { name: Su(o6, "ref name"), updateIndex: e6.minUpdateIndex + BigInt(c6), value: u6 }, nextOffset: l4 }; +var Mu = "MERGE_HEAD"; +var Pu = "MERGE_MSG"; +var Bu = "ORIG_HEAD"; +var Fu = "CHERRY_PICK_HEAD"; +var Hu = "REVERT_HEAD"; +var Vu = "REBASE_HEAD"; +var Gu = "FETCH_HEAD"; +var Wu = /* @__PURE__ */ new Set(["HEAD", Bu, Gu, Mu, Fu, Hu, "BISECT_HEAD"]); +var zu = ["refs/bisect/", "refs/worktree/", "refs/rewritten/"]; +var ju = (e7) => Wu.has(e7) || zu.some((t5) => e7.startsWith(t5)); +var Ku = (e7) => [e7, `refs/${e7}`, `refs/tags/${e7}`, `refs/heads/${e7}`, `refs/remotes/${e7}`, `refs/remotes/${e7}/HEAD`]; +var Yu = 1380271700; +var Xu = /* @__PURE__ */ new Map([[1, { headerLength: 24, footerLength: 68 }], [2, { headerLength: 28, footerLength: 72 }]]); +var qu = /* @__PURE__ */ new Map([["sha1", 20], ["s256", 32]]); +var Ju = /* @__PURE__ */ new Map([["sha1", "sha1"], ["s256", "s256"]]); +function Qu(e7, t5) { + return e7.getUint8(t5) << 16 | e7.getUint16(t5 + 1); +} +function Zu(e7, t5) { + if (t5 < 24) throw _u("truncated", `truncated: file too short for a reftable header: ${t5} bytes`); + const n7 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength); + if (n7.getUint32(0) !== Yu) throw _u("magic", `invalid magic: expected 0x${Yu.toString(16)}`); + const r8 = n7.getUint8(4); + if (1 !== r8 && 2 !== r8) throw _u("version", `unsupported version: expected 1 or 2, got ${r8}`); + const o5 = Xu.get(r8); + if (t5 < o5.headerLength + o5.footerLength) throw _u("truncated", `truncated: file too short for its own header and footer: ${t5} bytes, needs at least ${o5.headerLength + o5.footerLength}`); + return { version: r8 }; +} +function el(e7, t5) { + return String.fromCharCode(e7._view.getUint8(t5)); +} +function tl(e7, t5) { + if (t5 < 0 || t5 >= e7.length) throw _u("truncated", `varint truncated at byte ${t5}`); + let n7 = t5, r8 = 127 & e7[n7], o5 = 1; + for (; 128 & e7[n7]; ) { + if (o5 >= 5) throw _u("varint-overflow", `varint at byte ${t5} exceeds 5 bytes`); + if (n7 += 1, n7 >= e7.length) throw _u("truncated", `varint truncated at byte ${t5}`); + r8 = 128 * (r8 + 1) + (127 & e7[n7]), o5 += 1; + } + return { value: r8, nextOffset: n7 + 1 }; +} +var nl = /* @__PURE__ */ new Map([[24, 68], [28, 72]]); +function rl(e7, t5) { + const n7 = (function(e8, t6) { + return Qu(e8._view, t6 + 1); + })(e7, t5), r8 = t5 === e7.header.headerLength, o5 = r8 ? n7 : t5 + n7; + if (o5 <= t5 || o5 > e7._bytes.length) throw _u("block-bounds", `block at file offset ${t5} declares an out-of-bounds length (declared end ${o5}, file length ${e7._bytes.length})`); + const s8 = e7._view, i11 = s8.getUint16(o5 - 2); + if (0 === i11) throw _u("restart-count", `block at file offset ${t5} has restart_count 0`); + const a4 = t5 + 4, c5 = o5 - 2 - 3 * i11; + if (c5 < a4) throw _u("block-bounds", `block at file offset ${t5} declares a restart array (${i11} entries) overlapping its record area`); + const d6 = (function(e8, t6, n8, r9, o6) { + const s9 = []; + for (let i12 = 0; i12 < n8; i12 += 1) { + const n9 = Qu(e8, t6 + 3 * i12); + s9.push(o6 ? n9 : r9 + n9); + } + return s9; + })(s8, c5, i11, t5, r8); + return { recordsStart: a4, recordsEnd: c5, restartOffsets: d6, blockEnd: o5 }; +} +function ol(e7, t5, n7) { + const { value: r8, nextOffset: o5 } = tl(e7, t5), s8 = n7?.length ?? 0; + if (r8 > s8) throw _u("record-overrun", `prefix_length ${r8} exceeds predecessor name length ${s8}`); + const { value: i11, nextOffset: a4 } = tl(e7, o5), c5 = Math.floor(i11 / 8); + if (a4 + c5 > e7.length) throw _u("record-overrun", `suffix_length ${c5} at byte ${a4} runs past the end of the file`); + const d6 = (function(e8, t6, n8) { + if (0 === t6) return n8.slice(); + const r9 = new Uint8Array(t6 + n8.length); + return r9.set(e8.subarray(0, t6), 0), r9.set(n8, t6), r9; + })(n7, r8, e7.subarray(a4, a4 + c5)); + return { nameBytes: d6, packed: i11, nextOffset: a4 + c5 }; +} +function sl(e7, t5) { + const n7 = kt(e7); + if (!Lu(n7)) throw _u("record-overrun", `${t5} is dangerous: ${n7.slice(0, 80)}`); + return yr.from(n7); +} +function il(e7) { + return (t5, n7, r8) => { + const { nameBytes: o5, packed: s8, nextOffset: i11 } = ol(t5, n7, r8), a4 = 7 & s8, { value: c5, nextOffset: d6 } = tl(t5, i11), { value: u6, nextOffset: l4 } = (function(e8, t6, n8, r9) { + if (0 === n8) return { value: { kind: "deletion" }, nextOffset: t6 }; + if (1 === n8) return (function(e9, t7, n9) { + return { value: { kind: "direct", id: lr.fromRaw(e9.subarray(t7, t7 + n9)) }, nextOffset: t7 + n9 }; + })(e8, t6, r9); + if (2 === n8) return (function(e9, t7, n9) { + const r10 = t7 + n9; + return { value: { kind: "peeled", id: lr.fromRaw(e9.subarray(t7, t7 + n9)), peeled: lr.fromRaw(e9.subarray(r10, r10 + n9)) }, nextOffset: r10 + n9 }; + })(e8, t6, r9); + if (3 === n8) return (function(e9, t7) { + const { value: n9, nextOffset: r10 } = tl(e9, t7); + return { value: { kind: "symbolic", target: sl(e9.subarray(r10, r10 + n9), "symbolic ref target") }, nextOffset: r10 + n9 }; + })(e8, t6); + throw _u("record-overrun", `reserved ref value_type 0x${n8.toString(16)}`); + })(t5, d6, a4, e7.digestLength); + return { nameBytes: o5, payload: { name: sl(o5, "ref name"), updateIndex: e7.minUpdateIndex + BigInt(c5), value: u6 }, nextOffset: l4 }; }; } -var Lu = (e6, t5, n6) => { - const { nameBytes: r6, nextOffset: o6 } = Nu(e6, t5, n6), { value: s9, nextOffset: i7 } = Ou(e6, o6); - return { nameBytes: r6, payload: s9, nextOffset: i7 }; -}; -function* Ru(e6, t5, n6) { - let r6, o6 = t5.recordsStart; - for (; o6 < t5.recordsEnd; ) { - const t6 = n6(e6, o6, r6); - ku(o6, t6.nextOffset), yield t6, r6 = t6.nameBytes, o6 = t6.nextOffset; - } -} -function ku(e6, t5) { - if (t5 <= e6) throw zd("record-overrun", `record at byte ${e6} made no forward progress (next offset ${t5})`); -} -function Du(e6, t5, n6, r6) { - const o6 = (function(e7, t6, n7) { - let r7 = 0, o7 = t6.length - 1, s10 = 0; - for (; r7 <= o7; ) { - const i8 = r7 + o7 >>> 1, { nameBytes: a6 } = Nu(e7, t6[i8], void 0); - bt(a6, n7) <= 0 ? (s10 = i8, r7 = i8 + 1) : o7 = i8 - 1; - } - return s10; - })(e6, t5.restartOffsets, n6); - let s9, i7 = t5.restartOffsets[o6]; - for (; i7 < t5.recordsEnd; ) { - const t6 = r6(e6, i7, s9); - if (ku(i7, t6.nextOffset), bt(t6.nameBytes, n6) >= 0) return t6; - s9 = t6.nameBytes, i7 = t6.nextOffset; - } -} -function Uu(e6, t5) { - if (t5 + 4 > e6._bytes.length) throw zd("block-bounds", `block position ${t5} is outside the file (length ${e6._bytes.length})`); - return Tu(e6, t5); -} -function Cu(e6, t5, n6) { - const r6 = Uu(e6, t5); - if (r6 !== n6) throw zd("block-type", `expected block type '${n6}' at file offset ${t5}, got '${r6}'`); -} -function Mu(e6, t5) { - return 0 === e6.blockSize ? t5 : Math.ceil(t5 / e6.blockSize) * e6.blockSize; -} -function* Pu(e6) { - const t5 = (function(e7) { - const { refIndexPosition: t6, objPosition: n7, logPosition: r6 } = e7.footer, o6 = [t6, n7, r6].filter((e8) => e8 > 0); - if (o6.length > 0) return Math.min(...o6); - const s9 = $u.get(e7.header.headerLength); - return e7._bytes.length - s9; - })(e6); - let n6 = e6.header.headerLength; - for (; n6 < t5; ) Cu(e6, n6, "r"), yield n6, n6 = Mu(e6.header, Au(e6, n6).blockEnd); -} -function Bu(e6, t5) { - return 0 === t5 ? e6.header.headerLength : t5; -} -function Fu(e6, t5) { - const n6 = Ot(t5), r6 = (function(e7, t6) { - if ("r" !== Tu(e7, e7.header.headerLength)) return; - if (0 === e7.footer.refIndexPosition) return (function(e8, t7) { - const n8 = xu(e8.header); - for (const r7 of Pu(e8)) { - const o7 = Au(e8, r7); - if (void 0 !== Du(e8._bytes, o7, t7, n8)) return r7; - } - })(e7, t6); - let n7 = e7.footer.refIndexPosition; - Cu(e7, n7, "i"); - for (let r7 = 0; r7 < 64; r7 += 1) { - const r8 = Au(e7, n7), o7 = Du(e7._bytes, r8, t6, Lu); - if (void 0 === o7) return; - const s10 = Bu(e7, o7.payload); - if ("i" !== Uu(e7, s10)) return Cu(e7, s10, "r"), s10; - n7 = s10; - } - throw zd("cycle", "ref index descent exceeded 64 levels (cyclic or pathologically deep index)"); - })(e6, n6); - if (void 0 === r6) return; - const o6 = Au(e6, r6), s9 = Du(e6._bytes, o6, n6, xu(e6.header)); - return void 0 !== s9 && It(s9.nameBytes, n6) ? s9.payload : void 0; -} -function* Hu(e6) { - "r" === Tu(e6, e6.header.headerLength) && (0 !== e6.footer.refIndexPosition ? yield* Vu(e6, e6.footer.refIndexPosition) : yield* Pu(e6)); -} -function* Vu(e6, t5, n6 = 0) { - if (n6 >= 64) throw zd("cycle", "ref index descent exceeded 64 levels (cyclic or pathologically deep index)"); - Cu(e6, t5, "i"); - const r6 = Au(e6, t5); - for (const { payload: t6 } of Ru(e6._bytes, r6, Lu)) { - const r7 = Bu(e6, t6); - "i" === Uu(e6, r7) ? yield* Vu(e6, r7, n6 + 1) : (Cu(e6, r7, "r"), yield r7); - } -} -function* Gu(e6) { - const t5 = xu(e6.header); - for (const n6 of Hu(e6)) { - const r6 = Au(e6, n6); - for (const n7 of Ru(e6._bytes, r6, t5)) yield n7.payload; - } -} -var Wu = 2; -var ju = /* @__PURE__ */ new Map([[1, 91], [2, 99]]); -function zu(e6, t5) { - return e6 - ju.get(t5); -} -var Ku = { start: 0, end: 0 }; -function Yu(e6, t5) { - const n6 = (function(e7, t6) { - for (let n7 = e7.length - 1; n7 >= 1; n7 -= 1) if (e7[n7 - 1] < e7[n7] * t6) return { index: n7, bytes: e7[n7] }; - })(e6, t5); - if (void 0 === n6) return Ku; - const r6 = (function(e7, t6, n7, r7) { - let o6 = 0, s9 = r7; - for (let r8 = n7; r8 > 0; r8 -= 1) { - const n8 = s9; - s9 += e7[r8 - 1], e7[r8 - 1] < n8 * t6 && (o6 = r8 - 1); +var al = (e7, t5, n7) => { + const { nameBytes: r8, nextOffset: o5 } = ol(e7, t5, n7), { value: s8, nextOffset: i11 } = tl(e7, o5); + return { nameBytes: r8, payload: s8, nextOffset: i11 }; +}; +function* cl(e7, t5, n7) { + let r8, o5 = t5.recordsStart; + for (; o5 < t5.recordsEnd; ) { + const t6 = n7(e7, o5, r8); + dl(o5, t6.nextOffset), yield t6, r8 = t6.nameBytes, o5 = t6.nextOffset; + } +} +function dl(e7, t5) { + if (t5 <= e7) throw _u("record-overrun", `record at byte ${e7} made no forward progress (next offset ${t5})`); +} +function ul(e7, t5, n7, r8) { + const o5 = (function(e8, t6, n8) { + let r9 = 0, o6 = t6.length - 1, s9 = 0; + for (; r9 <= o6; ) { + const i12 = r9 + o6 >>> 1, { nameBytes: a4 } = ol(e8, t6[i12], void 0); + At(a4, n8) <= 0 ? (s9 = i12, r9 = i12 + 1) : o6 = i12 - 1; + } + return s9; + })(e7, t5.restartOffsets, n7); + let s8, i11 = t5.restartOffsets[o5]; + for (; i11 < t5.recordsEnd; ) { + const t6 = r8(e7, i11, s8); + if (dl(i11, t6.nextOffset), At(t6.nameBytes, n7) >= 0) return t6; + s8 = t6.nameBytes, i11 = t6.nextOffset; + } +} +function ll(e7, t5) { + if (t5 + 4 > e7._bytes.length) throw _u("block-bounds", `block position ${t5} is outside the file (length ${e7._bytes.length})`); + return el(e7, t5); +} +function fl(e7, t5, n7) { + const r8 = ll(e7, t5); + if (r8 !== n7) throw _u("block-type", `expected block type '${n7}' at file offset ${t5}, got '${r8}'`); +} +function hl(e7, t5) { + return 0 === e7.blockSize ? t5 : Math.ceil(t5 / e7.blockSize) * e7.blockSize; +} +function* gl(e7) { + const t5 = (function(e8) { + const { refIndexPosition: t6, objPosition: n8, logPosition: r8 } = e8.footer, o5 = [t6, n8, r8].filter((e9) => e9 > 0); + if (o5.length > 0) return Math.min(...o5); + const s8 = nl.get(e8.header.headerLength); + return e8._bytes.length - s8; + })(e7); + let n7 = e7.header.headerLength; + for (; n7 < t5; ) fl(e7, n7, "r"), yield n7, n7 = hl(e7.header, rl(e7, n7).blockEnd); +} +function ml(e7, t5) { + return 0 === t5 ? e7.header.headerLength : t5; +} +function pl(e7, t5) { + const n7 = Rt(t5), r8 = (function(e8, t6) { + if ("r" !== el(e8, e8.header.headerLength)) return; + if (0 === e8.footer.refIndexPosition) return (function(e9, t7) { + const n9 = il(e9.header); + for (const r9 of gl(e9)) { + const o6 = rl(e9, r9); + if (void 0 !== ul(e9._bytes, o6, t7, n9)) return r9; + } + })(e8, t6); + let n8 = e8.footer.refIndexPosition; + fl(e8, n8, "i"); + for (let r9 = 0; r9 < 64; r9 += 1) { + const r10 = rl(e8, n8), o6 = ul(e8._bytes, r10, t6, al); + if (void 0 === o6) return; + const s9 = ml(e8, o6.payload); + if ("i" !== ll(e8, s9)) return fl(e8, s9, "r"), s9; + n8 = s9; + } + throw _u("cycle", "ref index descent exceeded 64 levels (cyclic or pathologically deep index)"); + })(e7, n7); + if (void 0 === r8) return; + const o5 = rl(e7, r8), s8 = ul(e7._bytes, o5, n7, il(e7.header)); + return void 0 !== s8 && xt(s8.nameBytes, n7) ? s8.payload : void 0; +} +function* wl(e7) { + "r" === el(e7, e7.header.headerLength) && (0 !== e7.footer.refIndexPosition ? yield* yl(e7, e7.footer.refIndexPosition) : yield* gl(e7)); +} +function* yl(e7, t5, n7 = 0) { + if (n7 >= 64) throw _u("cycle", "ref index descent exceeded 64 levels (cyclic or pathologically deep index)"); + fl(e7, t5, "i"); + const r8 = rl(e7, t5); + for (const { payload: t6 } of cl(e7._bytes, r8, al)) { + const r9 = ml(e7, t6); + "i" === ll(e7, r9) ? yield* yl(e7, r9, n7 + 1) : (fl(e7, r9, "r"), yield r9); + } +} +function* El(e7) { + const t5 = il(e7.header); + for (const n7 of wl(e7)) { + const r8 = rl(e7, n7); + for (const n8 of cl(e7._bytes, r8, t5)) yield n8.payload; + } +} +var bl = 2; +var Il = /* @__PURE__ */ new Map([[1, 91], [2, 99]]); +function _l(e7, t5) { + return e7 - Il.get(t5); +} +var vl = { start: 0, end: 0 }; +function Ol(e7, t5) { + const n7 = (function(e8, t6) { + for (let n8 = e8.length - 1; n8 >= 1; n8 -= 1) if (e8[n8 - 1] < e8[n8] * t6) return { index: n8, bytes: e8[n8] }; + })(e7, t5); + if (void 0 === n7) return vl; + const r8 = (function(e8, t6, n8, r9) { + let o5 = 0, s8 = r9; + for (let r10 = n8; r10 > 0; r10 -= 1) { + const n9 = s8; + s8 += e8[r10 - 1], e8[r10 - 1] < n9 * t6 && (o5 = r10 - 1); + } + return o5; + })(e7, t5, n7.index, n7.bytes); + return { start: r8, end: n7.index + 1 }; +} +var Tl = 0xffffffffffffffffn; +function Al(e7, t5, n7) { + if (t5 + 2 * n7 > e7.length) throw _u("record-overrun", `log record at byte ${t5} needs ${2 * n7} bytes for old_id + new_id, past the ${e7.length}-byte payload`); + const r8 = lr.fromRaw(e7.subarray(t5, t5 + n7)), o5 = t5 + n7, s8 = lr.fromRaw(e7.subarray(o5, o5 + n7)), { value: i11, nextOffset: a4 } = tl(e7, o5 + n7), c5 = kt(e7.subarray(a4, a4 + i11)), { value: d6, nextOffset: u6 } = tl(e7, a4 + i11), l4 = kt(e7.subarray(u6, u6 + d6)), { value: f2, nextOffset: h5 } = tl(e7, u6 + d6); + if (h5 + 2 > e7.length) throw _u("record-overrun", `log record tz_offset at byte ${h5} runs past the ${e7.length}-byte payload`); + const g7 = `${(m7 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength).getInt16(h5)) < 0 ? "-" : "+"}${Math.abs(m7).toString().padStart(4, "0")}`; + var m7; + const p6 = h5 + 2, { value: w6, nextOffset: y5 } = tl(e7, p6); + return { oldId: r8, newId: s8, identity: { name: c5, email: l4, timestamp: f2, timezoneOffset: g7 }, message: kt(e7.subarray(y5, y5 + w6)), nextOffset: y5 + w6 }; +} +function $l(e7, t5, n7) { + const { nameBytes: r8, packed: o5, nextOffset: s8 } = ol(e7, t5, n7), { name: i11, updateIndex: a4 } = (function(e8) { + if (e8.length < 9) throw _u("record-overrun", `log key of ${e8.length} bytes is too short to hold the 9-byte separator + reversed update_index suffix`); + const t6 = e8.subarray(0, e8.length - 9), n8 = new DataView(e8.buffer, e8.byteOffset + e8.length - 8, 8).getBigUint64(0); + return { name: sl(t6, "reflog ref name"), updateIndex: Tl - n8 }; + })(r8); + return { keyBytes: r8, name: i11, updateIndex: a4, logType: 7 & o5, afterKey: s8 }; +} +function xl(e7, t5, n7) { + let r8 = t5 + 2 * n7; + const { value: o5, nextOffset: s8 } = tl(e7, r8); + r8 = s8 + o5; + const { value: i11, nextOffset: a4 } = tl(e7, r8); + r8 = a4 + i11; + const { nextOffset: c5 } = tl(e7, r8); + r8 = c5 + 2; + const { value: d6, nextOffset: u6 } = tl(e7, r8); + return u6 + d6; +} +function* Sl(e7, t5, n7) { + const r8 = (function(e8) { + if (e8.length < 2) throw _u("block-bounds", `log block payload of ${e8.length} bytes is too short to hold its own restart_count`); + const t6 = new DataView(e8.buffer, e8.byteOffset, e8.byteLength), n8 = t6.getUint16(e8.length - 2), r9 = e8.length - 2 - 3 * n8; + if (r9 < 0) throw _u("block-bounds", `log block declares restart_count ${n8}, overrunning its ${e8.length}-byte payload`); + const o6 = []; + for (let e9 = 0; e9 < n8; e9 += 1) o6.push(Qu(t6, r9 + 3 * e9)); + return { recordsStart: 0, recordsEnd: r9, restartOffsets: o6 }; + })(e7); + let o5, s8 = r8.recordsStart; + for (; s8 < r8.recordsEnd; ) { + const { keyBytes: r9, name: i11, updateIndex: a4, logType: c5, afterKey: d6 } = $l(e7, s8, o5); + if (0 !== c5) { + if (n7(i11)) { + const { oldId: n8, newId: r10, identity: o6, message: c6, nextOffset: u6 } = Al(e7, d6, t5); + yield { name: i11, updateIndex: a4, entry: { kind: "entry", oldId: n8, newId: r10, identity: o6, message: c6 } }, s8 = u6; + } else s8 = xl(e7, d6, t5); + o5 = r9; + } else n7(i11) && (yield { name: i11, updateIndex: a4, entry: { kind: "deletion" } }), o5 = r9, s8 = d6; + } +} +var Nl = () => true; +function* Ll(e7, t5) { + const n7 = void 0 === t5 ? Nl : (e8) => e8 === t5; + for (const t6 of e7.logBlocks) yield* Sl(t6, e7.header.digestLength, n7); +} +var Rl = /* @__PURE__ */ new Map([[24, 68], [28, 72]]); +var kl = { maxBlockBytes: 8388608, maxTableBytes: 268435456 }; +async function Dl(e7, t5, n7, r8) { + try { + return await r8(e7._bytes, t5 + 4, n7); + } catch (e8) { + if (!(function(e9) { + return e9 instanceof c && "DECOMPRESS_FAILED" === e9.data.code; + })(e8)) throw e8; + throw _u("block-bounds", `log block at file offset ${t5} failed to inflate: ${e8.data.reason}`); + } +} +async function Ul(e7, t5, n7 = kl) { + const r8 = (function(e8) { + const { version: t6 } = Zu(e8, e8.length), n8 = Xu.get(t6), r9 = new DataView(e8.buffer, e8.byteOffset, e8.byteLength), o6 = (function(e9, t7, n9, r10) { + const o7 = Qu(t7, 5), s9 = t7.getBigUint64(8), i11 = t7.getBigUint64(16), a4 = 2 === n9 ? (function(e10) { + const t8 = kt(e10.subarray(24, 28)), n10 = Ju.get(t8); + if (void 0 === n10) throw _u("version", `unrecognized hash id: ${t8}`); + return n10; + })(e9) : "sha1"; + return { version: n9, blockSize: o7, minUpdateIndex: s9, maxUpdateIndex: i11, hashId: a4, headerLength: r10.headerLength, digestLength: qu.get(a4) }; + })(e8, r9, t6, n8), s8 = (function(e9, t7, n9) { + const r10 = e9.length - n9.footerLength, o7 = r10 + n9.footerLength - 4, s9 = Nn(e9.subarray(r10, o7)), i11 = t7.getUint32(o7); + if (s9 !== i11) throw _u("footer-crc", `footer CRC-32 mismatch: computed 0x${s9.toString(16)}, stored 0x${i11.toString(16)}`); + const a4 = r10 + n9.headerLength, c5 = t7.getBigUint64(a4 + 8); + return { refIndexPosition: Number(t7.getBigUint64(a4)), objPosition: Number(c5 >> 5n), objIdLength: Number(0x1fn & c5), objIndexPosition: Number(t7.getBigUint64(a4 + 16)), logPosition: Number(t7.getBigUint64(a4 + 24)), logIndexPosition: Number(t7.getBigUint64(a4 + 32)) }; + })(e8, r9, n8); + return { header: o6, footer: s8, _bytes: e8, _view: r9 }; + })(e7), o5 = await (async function(e8, t6, n8) { + if (0 === e8.footer.logPosition) return []; + if (e8.footer.logPosition > e8._bytes.length) throw _u("block-bounds", `footer log_position ${e8.footer.logPosition} exceeds the table's ${e8._bytes.length}-byte length`); + const r9 = (function(e9) { + if (0 !== e9.footer.logIndexPosition) { + if (e9.footer.logIndexPosition > e9._bytes.length) throw _u("block-bounds", `footer log_index_position ${e9.footer.logIndexPosition} exceeds the table's ${e9._bytes.length}-byte length`); + return e9.footer.logIndexPosition; + } + const t7 = Rl.get(e9.header.headerLength); + return e9._bytes.length - t7; + })(e8), o6 = []; + let s8 = e8.footer.logPosition, i11 = 0; + for (; s8 < r9; ) { + if (s8 + 4 > e8._bytes.length) throw _u("block-bounds", `log block at file offset ${s8} needs 4 header bytes, past the table's ${e8._bytes.length}-byte length`); + const r10 = Qu(e8._view, s8 + 1) - 4; + if (r10 < 0) throw _u("block-bounds", `log block at file offset ${s8} declares block_len ${r10 + 4}, shorter than the 4-byte header it must contain`); + if (r10 > n8.maxBlockBytes) throw _u("block-bounds", `log block at file offset ${s8} declares ${r10} inflated bytes, exceeding the ${n8.maxBlockBytes}-byte per-block limit`); + const { output: a4, bytesConsumed: c5 } = await Dl(e8, s8, r10, t6); + if (a4.length !== r10) throw _u("block-bounds", `log block at file offset ${s8} inflated to ${a4.length} bytes, not its declared ${r10}`); + if (i11 += a4.length, i11 > n8.maxTableBytes) throw _u("block-bounds", `table's log blocks inflated to ${i11} bytes, exceeding the ${n8.maxTableBytes}-byte aggregate limit`); + o6.push(a4), s8 += 4 + c5; } return o6; - })(e6, t5, n6.index, n6.bytes); - return { start: r6, end: n6.index + 1 }; -} -var Xu = 0xffffffffffffffffn; -function qu(e6, t5, n6) { - if (t5 + 2 * n6 > e6.length) throw zd("record-overrun", `log record at byte ${t5} needs ${2 * n6} bytes for old_id + new_id, past the ${e6.length}-byte payload`); - const r6 = sr.fromRaw(e6.subarray(t5, t5 + n6)), o6 = t5 + n6, s9 = sr.fromRaw(e6.subarray(o6, o6 + n6)), { value: i7, nextOffset: a6 } = Ou(e6, o6 + n6), c6 = $t(e6.subarray(a6, a6 + i7)), { value: d5, nextOffset: u6 } = Ou(e6, a6 + i7), l4 = $t(e6.subarray(u6, u6 + d5)), { value: f2, nextOffset: h6 } = Ou(e6, u6 + d5); - if (h6 + 2 > e6.length) throw zd("record-overrun", `log record tz_offset at byte ${h6} runs past the ${e6.length}-byte payload`); - const g7 = `${(m5 = new DataView(e6.buffer, e6.byteOffset, e6.byteLength).getInt16(h6)) < 0 ? "-" : "+"}${Math.abs(m5).toString().padStart(4, "0")}`; - var m5; - const p5 = h6 + 2, { value: w4, nextOffset: y6 } = Ou(e6, p5); - return { oldId: r6, newId: s9, identity: { name: c6, email: l4, timestamp: f2, timezoneOffset: g7 }, message: $t(e6.subarray(y6, y6 + w4)), nextOffset: y6 + w4 }; -} -function Ju(e6, t5, n6) { - const { nameBytes: r6, packed: o6, nextOffset: s9 } = Nu(e6, t5, n6), { name: i7, updateIndex: a6 } = (function(e7) { - if (e7.length < 9) throw zd("record-overrun", `log key of ${e7.length} bytes is too short to hold the 9-byte separator + reversed update_index suffix`); - const t6 = e7.subarray(0, e7.length - 9), n7 = new DataView(e7.buffer, e7.byteOffset + e7.length - 8, 8).getBigUint64(0); - return { name: Su(t6, "reflog ref name"), updateIndex: Xu - n7 }; - })(r6); - return { keyBytes: r6, name: i7, updateIndex: a6, logType: 7 & o6, afterKey: s9 }; -} -function Qu(e6, t5, n6) { - let r6 = t5 + 2 * n6; - const { value: o6, nextOffset: s9 } = Ou(e6, r6); - r6 = s9 + o6; - const { value: i7, nextOffset: a6 } = Ou(e6, r6); - r6 = a6 + i7; - const { nextOffset: c6 } = Ou(e6, r6); - r6 = c6 + 2; - const { value: d5, nextOffset: u6 } = Ou(e6, r6); - return u6 + d5; -} -function* Zu(e6, t5, n6) { - const r6 = (function(e7) { - if (e7.length < 2) throw zd("block-bounds", `log block payload of ${e7.length} bytes is too short to hold its own restart_count`); - const t6 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength), n7 = t6.getUint16(e7.length - 2), r7 = e7.length - 2 - 3 * n7; - if (r7 < 0) throw zd("block-bounds", `log block declares restart_count ${n7}, overrunning its ${e7.length}-byte payload`); - const o7 = []; - for (let e8 = 0; e8 < n7; e8 += 1) o7.push(_u(t6, r7 + 3 * e8)); - return { recordsStart: 0, recordsEnd: r7, restartOffsets: o7 }; - })(e6); - let o6, s9 = r6.recordsStart; - for (; s9 < r6.recordsEnd; ) { - const { keyBytes: r7, name: i7, updateIndex: a6, logType: c6, afterKey: d5 } = Ju(e6, s9, o6); - if (0 !== c6) { - if (n6(i7)) { - const { oldId: n7, newId: r8, identity: o7, message: c7, nextOffset: u6 } = qu(e6, d5, t5); - yield { name: i7, updateIndex: a6, entry: { kind: "entry", oldId: n7, newId: r8, identity: o7, message: c7 } }, s9 = u6; - } else s9 = Qu(e6, d5, t5); - o6 = r7; - } else n6(i7) && (yield { name: i7, updateIndex: a6, entry: { kind: "deletion" } }), o6 = r7, s9 = d5; - } -} -var el = () => true; -function* tl(e6, t5) { - const n6 = void 0 === t5 ? el : (e7) => e7 === t5; - for (const t6 of e6.logBlocks) yield* Zu(t6, e6.header.digestLength, n6); + })(r8, t5, n7); + return { ...r8, logBlocks: o5 }; } -var nl = /* @__PURE__ */ new Map([[24, 68], [28, 72]]); -var rl = { maxBlockBytes: 8388608, maxTableBytes: 268435456 }; -async function ol(e6, t5, n6, r6) { - try { - return await r6(e6._bytes, t5 + 4, n6); - } catch (e7) { - if (!(function(e8) { - return e8 instanceof o && "DECOMPRESS_FAILED" === e8.data.code; - })(e7)) throw e7; - throw zd("block-bounds", `log block at file offset ${t5} failed to inflate: ${e7.data.reason}`); - } -} -async function sl(e6, t5, n6 = rl) { - const r6 = (function(e7) { - const { version: t6 } = vu(e7, e7.length), n7 = Eu.get(t6), r7 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength), o7 = (function(e8, t7, n8, r8) { - const o8 = _u(t7, 5), s10 = t7.getBigUint64(8), i7 = t7.getBigUint64(16), a6 = 2 === n8 ? (function(e9) { - const t8 = $t(e9.subarray(24, 28)), n9 = Iu.get(t8); - if (void 0 === n9) throw zd("version", `unrecognized hash id: ${t8}`); - return n9; - })(e8) : "sha1"; - return { version: n8, blockSize: o8, minUpdateIndex: s10, maxUpdateIndex: i7, hashId: a6, headerLength: r8.headerLength, digestLength: bu.get(a6) }; - })(e7, r7, t6, n7), s9 = (function(e8, t7, n8) { - const r8 = e8.length - n8.footerLength, o8 = r8 + n8.footerLength - 4, s10 = Tn(e8.subarray(r8, o8)), i7 = t7.getUint32(o8); - if (s10 !== i7) throw zd("footer-crc", `footer CRC-32 mismatch: computed 0x${s10.toString(16)}, stored 0x${i7.toString(16)}`); - const a6 = r8 + n8.headerLength, c6 = t7.getBigUint64(a6 + 8); - return { refIndexPosition: Number(t7.getBigUint64(a6)), objPosition: Number(c6 >> 5n), objIdLength: Number(0x1fn & c6), objIndexPosition: Number(t7.getBigUint64(a6 + 16)), logPosition: Number(t7.getBigUint64(a6 + 24)), logIndexPosition: Number(t7.getBigUint64(a6 + 32)) }; - })(e7, r7, n7); - return { header: o7, footer: s9, _bytes: e7, _view: r7 }; - })(e6), o6 = await (async function(e7, t6, n7) { - if (0 === e7.footer.logPosition) return []; - if (e7.footer.logPosition > e7._bytes.length) throw zd("block-bounds", `footer log_position ${e7.footer.logPosition} exceeds the table's ${e7._bytes.length}-byte length`); - const r7 = (function(e8) { - if (0 !== e8.footer.logIndexPosition) { - if (e8.footer.logIndexPosition > e8._bytes.length) throw zd("block-bounds", `footer log_index_position ${e8.footer.logIndexPosition} exceeds the table's ${e8._bytes.length}-byte length`); - return e8.footer.logIndexPosition; - } - const t7 = nl.get(e8.header.headerLength); - return e8._bytes.length - t7; - })(e7), o7 = []; - let s9 = e7.footer.logPosition, i7 = 0; - for (; s9 < r7; ) { - if (s9 + 4 > e7._bytes.length) throw zd("block-bounds", `log block at file offset ${s9} needs 4 header bytes, past the table's ${e7._bytes.length}-byte length`); - const r8 = _u(e7._view, s9 + 1) - 4; - if (r8 < 0) throw zd("block-bounds", `log block at file offset ${s9} declares block_len ${r8 + 4}, shorter than the 4-byte header it must contain`); - if (r8 > n7.maxBlockBytes) throw zd("block-bounds", `log block at file offset ${s9} declares ${r8} inflated bytes, exceeding the ${n7.maxBlockBytes}-byte per-block limit`); - const { output: a6, bytesConsumed: c6 } = await ol(e7, s9, r8, t6); - if (a6.length !== r8) throw zd("block-bounds", `log block at file offset ${s9} inflated to ${a6.length} bytes, not its declared ${r8}`); - if (i7 += a6.length, i7 > n7.maxTableBytes) throw zd("block-bounds", `table's log blocks inflated to ${i7} bytes, exceeding the ${n7.maxTableBytes}-byte aggregate limit`); - o7.push(a6), s9 += 4 + c6; - } - return o7; - })(r6, t5, n6); - return { ...r6, logBlocks: o6 }; -} -function il(e6) { - const t5 = e6.next(); +function Cl(e7) { + const t5 = e7.next(); return t5.done ? void 0 : t5.value; } -function al(e6) { +function Ml(e7) { let t5; - for (const n6 of e6) void 0 !== n6 && (void 0 === t5 || n6.name < t5) && (t5 = n6.name); + for (const n7 of e7) void 0 !== n7 && (void 0 === t5 || n7.name < t5) && (t5 = n7.name); return t5; } -function cl(e6, t5, n6) { - let r6; - for (let o6 = 0; o6 < e6.length; o6 += 1) { - const s9 = e6[o6]; - void 0 !== s9 && s9.name === n6 && (r6 = s9, e6[o6] = il(t5[o6])); - } - return r6; -} -function* dl(e6) { - const t5 = e6.map((e7) => Gu(e7)[Symbol.iterator]()), n6 = t5.map(il); - for (let e7 = al(n6); void 0 !== e7; e7 = al(n6)) { - const r6 = cl(n6, t5, e7); - "deletion" !== r6.value.kind && (yield r6); - } -} -function ul(e6) { - return 0 === e6.length ? 0n : e6[e6.length - 1].header.maxUpdateIndex; -} -function ll(e6) { - const t5 = (function(e7) { - return [...e7].reverse(); - })(e6); - return { tables: e6, maxUpdateIndex: ul(e6), lookup: (e7) => (function(e8, t6) { - for (const n6 of e8) { - const e9 = Fu(n6, t6); - if (void 0 !== e9) return "deletion" === e9.value.kind ? void 0 : e9; - } - })(t5, e7), names: () => (function* (e7) { - for (const t6 of dl(e7)) yield t6.name; - })(e6), entries: () => dl(e6), logs: (e7) => (function* (e8, t6) { - const n6 = /* @__PURE__ */ new Set(); - for (const r6 of e8) for (const e9 of tl(r6, t6)) n6.has(e9.updateIndex) || (n6.add(e9.updateIndex), "deletion" !== e9.entry.kind && (yield e9)); - })(t5, e7) }; -} -var fl = (e6) => new o({ code: "INVALID_PACK_HEADER", reason: e6 }); -var hl = (e6) => new o({ code: "INVALID_PACK_INDEX", reason: e6 }); -var gl = (e6, t5) => new o({ code: "INVALID_PACK_ENTRY", offset: e6, reason: t5 }); -var ml = (e6) => new o({ code: "INVALID_DELTA", reason: e6 }); -var pl = (e6) => new o({ code: "DELTA_CHAIN_TOO_DEEP", depth: e6 }); -var wl = (e6, t5) => new o({ code: "INVALID_MULTI_PACK_INDEX", check: e6, reason: t5 }); -var yl = (e6, t5) => new o({ code: "INVALID_PACK_REV_INDEX", check: e6, reason: t5 }); -var El = (e6, t5) => new o({ code: "INVALID_PACK_BITMAP", check: e6, reason: t5 }); -var bl = { COMMIT: 1, TREE: 2, BLOB: 3, TAG: 4, OFS_DELTA: 6, REF_DELTA: 7 }; -var Il = 1346454347; -var _l = /* @__PURE__ */ new Set([2, 3]); -var vl = 12; -function Tl(e6) { - if (e6.length < 12) throw fl("truncated: pack header requires 12 bytes"); - const t5 = new DataView(e6.buffer, e6.byteOffset, e6.byteLength), n6 = t5.getUint32(0); - if (n6 !== Il) throw fl(`invalid magic: expected 0x5041434b, got 0x${n6.toString(16).padStart(8, "0")}`); - const r6 = t5.getUint32(4); - if (!_l.has(r6)) throw fl(`unsupported version: expected 2 or 3, got ${r6}`); - return { version: r6, objectCount: t5.getUint32(8) }; -} -function Ol(e6, t5, n6) { - const { type: r6, size: o6, nextPos: s9 } = (function(e7, t6) { - if (t6 >= e7.length) throw gl(t6, "unexpected end of header"); - let n7 = t6; - const r7 = e7[n7], o7 = r7 >> 4 & 7; - let s10 = 15 & r7, i7 = 4, a6 = 0; - for (; 128 & e7[n7]; ) { - if (a6 += 1, a6 > 5) throw gl(t6, "size encoding too long"); - if (n7 += 1, n7 >= e7.length) throw gl(t6, "unexpected end of header"); - s10 |= (127 & e7[n7]) << i7, i7 += 7; - } - return { type: o7, size: s10, nextPos: n7 + 1 }; - })(e6, t5); - if ((function(e7, t6) { - if (5 === e7) throw gl(t6, "reserved type 5"); - if (e7 < 1 || e7 > 7) throw gl(t6, `unknown type ${e7}`); - })(r6, t5), r6 === bl.OFS_DELTA) { - const { distance: n7, nextPos: r7 } = (function(e7, t6, n8) { - if (t6 >= e7.length) throw gl(n8, "unexpected end of OFS_DELTA distance"); - let r8 = t6, o7 = 127 & e7[r8], s10 = 0; - for (; 128 & e7[r8]; ) { - if (s10 += 1, s10 > 4) throw gl(n8, "OFS_DELTA distance encoding too long"); - if (r8 += 1, r8 >= e7.length) throw gl(n8, "unexpected end of OFS_DELTA distance"); - o7 = o7 + 1 << 7 | 127 & e7[r8]; - } - return { distance: o7, nextPos: r8 + 1 }; - })(e6, s9, t5); - return { type: bl.OFS_DELTA, size: o6, dataOffset: r7, baseDistance: n7 }; - } - if (r6 === bl.REF_DELTA) { - const r7 = s9 + n6.digestLength; - if (r7 > e6.length) throw gl(t5, "unexpected end of REF_DELTA base id"); - const i7 = wt(e6.subarray(s9, r7)); - return { type: bl.REF_DELTA, size: o6, dataOffset: r7, baseId: i7 }; - } - return { type: r6, size: o6, dataOffset: s9 }; -} -function $l(e6, t5) { - const n6 = []; - let r6 = (7 & e6) << 4 | 15 & t5, o6 = t5 >>> 4; - for (o6 > 0 && (r6 |= 128), n6.push(r6); o6 > 0; ) { - let e7 = 127 & o6; - o6 >>>= 7, o6 > 0 && (e7 |= 128), n6.push(e7); - } - return new Uint8Array(n6); -} -function Al(e6) { +function Pl(e7, t5, n7) { + let r8; + for (let o5 = 0; o5 < e7.length; o5 += 1) { + const s8 = e7[o5]; + void 0 !== s8 && s8.name === n7 && (r8 = s8, e7[o5] = Cl(t5[o5])); + } + return r8; +} +function* Bl(e7) { + const t5 = e7.map((e8) => El(e8)[Symbol.iterator]()), n7 = t5.map(Cl); + for (let e8 = Ml(n7); void 0 !== e8; e8 = Ml(n7)) { + const r8 = Pl(n7, t5, e8); + "deletion" !== r8.value.kind && (yield r8); + } +} +function Fl(e7) { + return 0 === e7.length ? 0n : e7[e7.length - 1].header.maxUpdateIndex; +} +function Hl(e7) { + const t5 = (function(e8) { + return [...e8].reverse(); + })(e7); + return { tables: e7, maxUpdateIndex: Fl(e7), lookup: (e8) => (function(e9, t6) { + for (const n7 of e9) { + const e10 = pl(n7, t6); + if (void 0 !== e10) return "deletion" === e10.value.kind ? void 0 : e10; + } + })(t5, e8), names: () => (function* (e8) { + for (const t6 of Bl(e8)) yield t6.name; + })(e7), entries: () => Bl(e7), logs: (e8) => (function* (e9, t6) { + const n7 = /* @__PURE__ */ new Set(); + for (const r8 of e9) for (const e10 of Ll(r8, t6)) n7.has(e10.updateIndex) || (n7.add(e10.updateIndex), "deletion" !== e10.entry.kind && (yield e10)); + })(t5, e8) }; +} +var Vl = (e7) => new c({ code: "INVALID_PACK_HEADER", reason: e7 }); +var Gl = (e7) => new c({ code: "INVALID_PACK_INDEX", reason: e7 }); +var Wl = (e7, t5) => new c({ code: "INVALID_PACK_ENTRY", offset: e7, reason: t5 }); +var zl = (e7) => new c({ code: "INVALID_DELTA", reason: e7 }); +var jl = (e7) => new c({ code: "DELTA_CHAIN_TOO_DEEP", depth: e7 }); +var Kl = (e7, t5) => new c({ code: "INVALID_MULTI_PACK_INDEX", check: e7, reason: t5 }); +var Yl = (e7, t5) => new c({ code: "INVALID_PACK_REV_INDEX", check: e7, reason: t5 }); +var Xl = (e7, t5) => new c({ code: "INVALID_PACK_BITMAP", check: e7, reason: t5 }); +var ql = (e7, t5) => new c({ code: "INVALID_CRUFT_MTIMES", check: e7, reason: t5 }); +var Jl = (e7, t5, n7) => new c({ code: "INVALID_PACK_INPUT", reason: e7, present: t5, absent: n7 }); +var Ql = { COMMIT: 1, TREE: 2, BLOB: 3, TAG: 4, OFS_DELTA: 6, REF_DELTA: 7 }; +var Zl = 1346454347; +var ef = /* @__PURE__ */ new Set([2, 3]); +var tf = 12; +function nf(e7) { + if (e7.length < 12) throw Vl("truncated: pack header requires 12 bytes"); + const t5 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength), n7 = t5.getUint32(0); + if (n7 !== Zl) throw Vl(`invalid magic: expected 0x5041434b, got 0x${n7.toString(16).padStart(8, "0")}`); + const r8 = t5.getUint32(4); + if (!ef.has(r8)) throw Vl(`unsupported version: expected 2 or 3, got ${r8}`); + return { version: r8, objectCount: t5.getUint32(8) }; +} +function rf(e7, t5, n7) { + const { type: r8, size: o5, nextPos: s8 } = (function(e8, t6) { + if (t6 >= e8.length) throw Wl(t6, "unexpected end of header"); + let n8 = t6; + const r9 = e8[n8], o6 = r9 >> 4 & 7; + let s9 = 15 & r9, i11 = 4, a4 = 0; + for (; 128 & e8[n8]; ) { + if (a4 += 1, a4 > 5) throw Wl(t6, "size encoding too long"); + if (n8 += 1, n8 >= e8.length) throw Wl(t6, "unexpected end of header"); + s9 |= (127 & e8[n8]) << i11, i11 += 7; + } + return { type: o6, size: s9, nextPos: n8 + 1 }; + })(e7, t5); + if ((function(e8, t6) { + if (5 === e8) throw Wl(t6, "reserved type 5"); + if (e8 < 1 || e8 > 7) throw Wl(t6, `unknown type ${e8}`); + })(r8, t5), r8 === Ql.OFS_DELTA) { + const { distance: n8, nextPos: r9 } = (function(e8, t6, n9) { + if (t6 >= e8.length) throw Wl(n9, "unexpected end of OFS_DELTA distance"); + let r10 = t6, o6 = 127 & e8[r10], s9 = 0; + for (; 128 & e8[r10]; ) { + if (s9 += 1, s9 > 4) throw Wl(n9, "OFS_DELTA distance encoding too long"); + if (r10 += 1, r10 >= e8.length) throw Wl(n9, "unexpected end of OFS_DELTA distance"); + o6 = 128 * (o6 + 1) + (127 & e8[r10]); + } + return { distance: o6, nextPos: r10 + 1 }; + })(e7, s8, t5); + return { type: Ql.OFS_DELTA, size: o5, dataOffset: r9, baseDistance: n8 }; + } + if (r8 === Ql.REF_DELTA) { + const r9 = s8 + n7.digestLength; + if (r9 > e7.length) throw Wl(t5, "unexpected end of REF_DELTA base id"); + const i11 = vt(e7.subarray(s8, r9)); + return { type: Ql.REF_DELTA, size: o5, dataOffset: r9, baseId: i11 }; + } + return { type: r8, size: o5, dataOffset: s8 }; +} +function of(e7) { const t5 = []; - t5.push(127 & e6); - let n6 = e6 >>> 7; - for (; n6 > 0; ) n6 -= 1, t5.push(128 | 127 & n6), n6 >>>= 7; + t5.push(127 & e7); + let n7 = e7 >>> 7; + for (; n7 > 0; ) n7 -= 1, t5.push(128 | 127 & n7), n7 >>>= 7; return t5.reverse(), new Uint8Array(t5); } -var Nl = { [bl.COMMIT]: "commit", [bl.TREE]: "tree", [bl.BLOB]: "blob", [bl.TAG]: "tag" }; -function Sl(e6) { - return Nl[e6]; -} -function xl(e6) { - return "s256" === e6 ? 2 : 1; -} -function Ll(e6) { - return 1 === e6 ? 24 : 28; -} -var Rl = 4096; -var kl = 16; -function Dl(e6, t5, n6) { - e6.setUint8(t5, n6 >>> 16 & 255), e6.setUint16(t5 + 1, 65535 & n6); -} -function Ul(e6) { - const t5 = e6.reduce((e7, t6) => e7 + t6.length, 0), n6 = new Uint8Array(t5); - let r6 = 0; - for (const t6 of e6) n6.set(t6, r6), r6 += t6.length; - return n6; -} -function Cl(e6, t5) { - const n6 = Math.min(e6.length, t5.length); - let r6 = 0; - for (; r6 < n6 && e6[r6] === t5[r6]; ) r6 += 1; - return r6; -} -function Ml(e6, t5, n6) { - let r6 = t5; - for (const t6 of n6) Dl(e6, r6, t6), r6 += 3; - e6.setUint16(r6, n6.length); -} -function Pl(e6) { - const t5 = new Uint8Array(3 * e6.length + 2); - return Ml(new DataView(t5.buffer), 0, e6), t5; -} -var Bl = { recordAreaLength: 0, restartCount: 0, priorKeyBytes: void 0 }; -function Fl(e6, t5, n6, r6) { - const o6 = 0 === e6 ? 0 : Cl(n6, r6), s9 = e6 % t5 === 0 || 0 === o6; - return { isRestart: s9, prefixLength: s9 ? 0 : o6 }; -} -function Hl(e6, t5, n6, r6) { - const o6 = new Uint8Array(4 + t5.length + 3 * n6.length + 2), s9 = new DataView(o6.buffer); - return o6[0] = e6.charCodeAt(0), Dl(s9, 1, r6), o6.set(t5, 4), Ml(s9, 4 + t5.length, n6), o6; -} -function Vl(e6, t5, n6, r6, o6) { - const s9 = [], i7 = []; - let a6 = Bl, c6 = o6(e6[t5]), d5 = t5; - for (; d5 < e6.length; ) { - const o7 = r6(e6[d5], d5 - t5, a6); - if (void 0 === o7) break; - o7.isRestart && i7.push(n6 + a6.recordAreaLength), s9.push(o7.encoded), a6 = { recordAreaLength: a6.recordAreaLength + o7.encoded.length, restartCount: a6.restartCount + (o7.isRestart ? 1 : 0), priorKeyBytes: o7.keyBytes }, c6 = o7.keyBytes, d5 += 1; - } - return { recordParts: s9, restartOffsets: i7, recordAreaLength: a6.recordAreaLength, nextIndex: d5, lastKeyBytes: c6 }; -} -function Gl(e6, t5, n6, r6) { - const o6 = Vl(e6, t5, r6 + 4, (e7, t6, o7) => (function(e8, t7, n7, r7, o8) { - const s10 = n7.keyBytesOf(e8), { isRestart: i7, prefixLength: a6 } = Fl(t7, n7.restartInterval, r7.priorKeyBytes, s10), c6 = n7.encodeItem(e8, s10, a6); - return t7 > 0 && 0 !== n7.blockSize && o8 + 4 + r7.recordAreaLength + c6.length + 3 * (r7.restartCount + (i7 ? 1 : 0)) + 2 > n7.blockSize ? void 0 : { keyBytes: s10, encoded: c6, isRestart: i7 }; - })(e7, t6, n6, o7, r6), n6.keyBytesOf), s9 = r6 + 4 + o6.recordAreaLength + 3 * o6.restartOffsets.length + 2; - return { bytes: Hl(n6.type, Ul(o6.recordParts), o6.restartOffsets, s9), nextIndex: o6.nextIndex, lastKeyBytes: o6.lastKeyBytes }; -} -function Wl(e6, t5, n6, r6) { - if ("unaligned" === r6 || 0 === t5) return e6; - const o6 = t5 - n6 - e6.length; - return o6 > 0 ? Ul([e6, new Uint8Array(o6)]) : e6; -} -function jl(e6, t5) { - const n6 = [], r6 = [], o6 = [], s9 = [], i7 = []; - let a6 = t5.startPosition, c6 = 0; - for (; c6 < e6.length; ) { - const d6 = 0 === n6.length ? t5.firstBlockExtraLength : 0, u6 = Gl(e6, c6, t5, d6), l4 = Wl(u6.bytes, t5.blockSize, d6, t5.alignment); - n6.push(l4), r6.push(u6.bytes.length), o6.push(a6), s9.push(u6.lastKeyBytes), i7.push(u6.nextIndex - c6), a6 += l4.length, c6 = u6.nextIndex; - } - const d5 = (function(e7, t6) { - return 1 !== e7.length ? e7 : [e7[0].subarray(0, t6[0])]; - })(n6, r6); - return { blocks: d5, positions: o6, lastKeys: s9, counts: i7, totalLength: d5 === n6 ? a6 - t5.startPosition : d5[0].length }; -} -var zl = { deletion: 0, direct: 1, peeled: 2, symbolic: 3 }; -function Kl(e6) { - if ("deletion" === e6.kind) return new Uint8Array(0); - if ("direct" === e6.kind) return yt(e6.id); - if ("peeled" === e6.kind) return Ul([yt(e6.id), yt(e6.peeled)]); - const t5 = Ot(e6.target); - return Ul([Al(t5.length), t5]); -} -function Yl(e6, t5, n6) { - const r6 = t5.subarray(n6), o6 = r6.length << 3; - return Ul([Al(n6), Al(o6), r6, Al(e6.blockPosition)]); -} -function Xl(e6) { - return e6.positions.map((t5, n6) => ({ keyBytes: e6.lastKeys[n6], blockPosition: t5 })); -} -function ql(e6) { - return [0, ...e6.positions.slice(1)]; -} -var Jl = { blocks: [], topPosition: 0, totalLength: 0 }; -function Ql(e6, t5, n6, r6) { - const o6 = []; - let s9, i7 = e6, a6 = n6; +var sf = { [Ql.COMMIT]: "commit", [Ql.TREE]: "tree", [Ql.BLOB]: "blob", [Ql.TAG]: "tag" }; +function af(e7) { + return sf[e7]; +} +var cf = { commit: Ql.COMMIT, tree: Ql.TREE, blob: Ql.BLOB, tag: Ql.TAG }; +function df(e7) { + return cf[e7]; +} +function uf(e7) { + return "s256" === e7 ? 2 : 1; +} +function lf(e7) { + return 1 === e7 ? 24 : 28; +} +var ff = 4096; +var hf = 16; +function gf(e7, t5, n7) { + e7.setUint8(t5, n7 >>> 16 & 255), e7.setUint16(t5 + 1, 65535 & n7); +} +function mf(e7) { + const t5 = e7.reduce((e8, t6) => e8 + t6.length, 0), n7 = new Uint8Array(t5); + let r8 = 0; + for (const t6 of e7) n7.set(t6, r8), r8 += t6.length; + return n7; +} +function pf(e7, t5) { + const n7 = Math.min(e7.length, t5.length); + let r8 = 0; + for (; r8 < n7 && e7[r8] === t5[r8]; ) r8 += 1; + return r8; +} +function wf(e7, t5, n7) { + let r8 = t5; + for (const t6 of n7) gf(e7, r8, t6), r8 += 3; + e7.setUint16(r8, n7.length); +} +function yf(e7) { + const t5 = new Uint8Array(3 * e7.length + 2); + return wf(new DataView(t5.buffer), 0, e7), t5; +} +var Ef = { recordAreaLength: 0, restartCount: 0, priorKeyBytes: void 0 }; +function bf(e7, t5, n7, r8) { + const o5 = 0 === e7 ? 0 : pf(n7, r8), s8 = e7 % t5 === 0 || 0 === o5; + return { isRestart: s8, prefixLength: s8 ? 0 : o5 }; +} +function If(e7, t5, n7, r8) { + const o5 = new Uint8Array(4 + t5.length + 3 * n7.length + 2), s8 = new DataView(o5.buffer); + return o5[0] = e7.charCodeAt(0), gf(s8, 1, r8), o5.set(t5, 4), wf(s8, 4 + t5.length, n7), o5; +} +function _f(e7, t5, n7, r8, o5) { + const s8 = [], i11 = []; + let a4 = Ef, c5 = o5(e7[t5]), d6 = t5; + for (; d6 < e7.length; ) { + const o6 = r8(e7[d6], d6 - t5, a4); + if (void 0 === o6) break; + o6.isRestart && i11.push(n7 + a4.recordAreaLength), s8.push(o6.encoded), a4 = { recordAreaLength: a4.recordAreaLength + o6.encoded.length, restartCount: a4.restartCount + (o6.isRestart ? 1 : 0), priorKeyBytes: o6.keyBytes }, c5 = o6.keyBytes, d6 += 1; + } + return { recordParts: s8, restartOffsets: i11, recordAreaLength: a4.recordAreaLength, nextIndex: d6, lastKeyBytes: c5 }; +} +function vf(e7, t5, n7, r8) { + const o5 = _f(e7, t5, r8 + 4, (e8, t6, o6) => (function(e9, t7, n8, r9, o7) { + const s9 = n8.keyBytesOf(e9), { isRestart: i11, prefixLength: a4 } = bf(t7, n8.restartInterval, r9.priorKeyBytes, s9), c5 = n8.encodeItem(e9, s9, a4); + return t7 > 0 && 0 !== n8.blockSize && o7 + 4 + r9.recordAreaLength + c5.length + 3 * (r9.restartCount + (i11 ? 1 : 0)) + 2 > n8.blockSize ? void 0 : { keyBytes: s9, encoded: c5, isRestart: i11 }; + })(e8, t6, n7, o6, r8), n7.keyBytesOf), s8 = r8 + 4 + o5.recordAreaLength + 3 * o5.restartOffsets.length + 2; + return { bytes: If(n7.type, mf(o5.recordParts), o5.restartOffsets, s8), nextIndex: o5.nextIndex, lastKeyBytes: o5.lastKeyBytes }; +} +function Of(e7, t5, n7, r8) { + if ("unaligned" === r8 || 0 === t5) return e7; + const o5 = t5 - n7 - e7.length; + return o5 > 0 ? mf([e7, new Uint8Array(o5)]) : e7; +} +function Tf(e7, t5) { + const n7 = [], r8 = [], o5 = [], s8 = [], i11 = []; + let a4 = t5.startPosition, c5 = 0; + for (; c5 < e7.length; ) { + const d7 = 0 === n7.length ? t5.firstBlockExtraLength : 0, u6 = vf(e7, c5, t5, d7), l4 = Of(u6.bytes, t5.blockSize, d7, t5.alignment); + n7.push(l4), r8.push(u6.bytes.length), o5.push(a4), s8.push(u6.lastKeyBytes), i11.push(u6.nextIndex - c5), a4 += l4.length, c5 = u6.nextIndex; + } + const d6 = (function(e8, t6) { + return 1 !== e8.length ? e8 : [e8[0].subarray(0, t6[0])]; + })(n7, r8); + return { blocks: d6, positions: o5, lastKeys: s8, counts: i11, totalLength: d6 === n7 ? a4 - t5.startPosition : d6[0].length }; +} +var Af = { deletion: 0, direct: 1, peeled: 2, symbolic: 3 }; +function $f(e7) { + if ("deletion" === e7.kind) return new Uint8Array(0); + if ("direct" === e7.kind) return Ot(e7.id); + if ("peeled" === e7.kind) return mf([Ot(e7.id), Ot(e7.peeled)]); + const t5 = Rt(e7.target); + return mf([of(t5.length), t5]); +} +function xf(e7, t5, n7) { + const r8 = t5.subarray(n7), o5 = r8.length << 3; + return mf([of(n7), of(o5), r8, of(e7.blockPosition)]); +} +function Sf(e7) { + return e7.positions.map((t5, n7) => ({ keyBytes: e7.lastKeys[n7], blockPosition: t5 })); +} +function Nf(e7) { + return [0, ...e7.positions.slice(1)]; +} +var Lf = { blocks: [], topPosition: 0, totalLength: 0 }; +function Rf(e7, t5, n7, r8) { + const o5 = []; + let s8, i11 = e7, a4 = n7; do { - const e7 = i7.length; - if (s9 = jl(i7, { type: "i", keyBytesOf: (e8) => e8.keyBytes, encodeItem: Yl, blockSize: t5.blockSize, restartInterval: t5.restartInterval, startPosition: a6, firstBlockExtraLength: 0, alignment: r6 }), o6.push(...s9.blocks), a6 += s9.totalLength, i7 = Xl(s9), i7.length >= e7) throw zd("block-bounds", `index level did not shrink (${e7} -> ${i7.length} entries): block_size ${t5.blockSize} is too small to summarise this section`); - } while (s9.blocks.length > 3); - return { blocks: o6, topPosition: s9.positions[0], totalLength: a6 - n6 }; -} -function Zl(e6, t5, n6) { - const r6 = (function(e7) { - if ("direct" === e7.kind || "peeled" === e7.kind) return e7.id; - })(e6.value); - if (void 0 === r6) return; - const o6 = n6.get(r6) ?? /* @__PURE__ */ new Set(); - o6.add(t5), n6.set(r6, o6); -} -function ef(e6) { + const e8 = i11.length; + if (s8 = Tf(i11, { type: "i", keyBytesOf: (e9) => e9.keyBytes, encodeItem: xf, blockSize: t5.blockSize, restartInterval: t5.restartInterval, startPosition: a4, firstBlockExtraLength: 0, alignment: r8 }), o5.push(...s8.blocks), a4 += s8.totalLength, i11 = Sf(s8), i11.length >= e8) throw _u("block-bounds", `index level did not shrink (${e8} -> ${i11.length} entries): block_size ${t5.blockSize} is too small to summarise this section`); + } while (s8.blocks.length > 3); + return { blocks: o5, topPosition: s8.positions[0], totalLength: a4 - n7 }; +} +function kf(e7, t5, n7) { + const r8 = (function(e8) { + if ("direct" === e8.kind || "peeled" === e8.kind) return e8.id; + })(e7.value); + if (void 0 === r8) return; + const o5 = n7.get(r8) ?? /* @__PURE__ */ new Set(); + o5.add(t5), n7.set(r8, o5); +} +function Df(e7) { const t5 = []; - let n6 = 0; - return e6.forEach((e7, r6) => { - t5.push(Al(0 === r6 ? e7 : e7 - n6)), n6 = e7; - }), Ul(t5); -} -function tf(e6, t5, n6) { - const r6 = t5.subarray(n6), o6 = e6.positions.length, s9 = o6 > 0 && o6 <= 7 ? o6 : 0, i7 = r6.length << 3 | s9, a6 = 0 === s9 ? Al(o6) : new Uint8Array(0); - return Ul([Al(n6), Al(i7), r6, a6, ef(e6.positions)]); -} -var nf = { blocks: [], positions: [], lastKeys: [], counts: [], totalLength: 0, startPosition: 0, objIdLength: 0 }; -function rf(e6, t5) { - const n6 = Ot(e6), r6 = new Uint8Array(n6.length + 1 + 8); - return r6.set(n6, 0), new DataView(r6.buffer, n6.length + 1, 8).setBigUint64(0, Xu - t5), r6; -} -function of(e6, t5, n6, r6) { - const o6 = Vl(e6, t5, 4, (e7, t6, o7) => (function(e8, t7, n7, r7, o8) { - const s9 = rf(e8.name, e8.updateIndex), { isRestart: i7, prefixLength: a6 } = Fl(t7, n7, r7.priorKeyBytes, s9), c6 = (function(e9, t8, n8) { - const r8 = t8.subarray(n8), o9 = r8.length << 3 | ("deletion" === e9.entry.kind ? 0 : 1), s10 = "deletion" === e9.entry.kind ? new Uint8Array(0) : (function(e10) { - const t9 = (function(e11) { - const t10 = e11.replace(/\n+$/, ""); - if (t10.includes("\n")) throw zd("record-overrun", `log message contains an embedded newline: ${JSON.stringify(e11)}`); + let n7 = 0; + return e7.forEach((e8, r8) => { + t5.push(of(0 === r8 ? e8 : e8 - n7)), n7 = e8; + }), mf(t5); +} +function Uf(e7, t5, n7) { + const r8 = t5.subarray(n7), o5 = e7.positions.length, s8 = o5 > 0 && o5 <= 7 ? o5 : 0, i11 = r8.length << 3 | s8, a4 = 0 === s8 ? of(o5) : new Uint8Array(0); + return mf([of(n7), of(i11), r8, a4, Df(e7.positions)]); +} +var Cf = { blocks: [], positions: [], lastKeys: [], counts: [], totalLength: 0, startPosition: 0, objIdLength: 0 }; +function Mf(e7, t5) { + const n7 = Rt(e7), r8 = new Uint8Array(n7.length + 1 + 8); + return r8.set(n7, 0), new DataView(r8.buffer, n7.length + 1, 8).setBigUint64(0, Tl - t5), r8; +} +function Pf(e7, t5, n7, r8) { + const o5 = _f(e7, t5, 4, (e8, t6, o6) => (function(e9, t7, n8, r9, o7) { + const s8 = Mf(e9.name, e9.updateIndex), { isRestart: i11, prefixLength: a4 } = bf(t7, n8, r9.priorKeyBytes, s8), c5 = (function(e10, t8, n9) { + const r10 = t8.subarray(n9), o8 = r10.length << 3 | ("deletion" === e10.entry.kind ? 0 : 1), s9 = "deletion" === e10.entry.kind ? new Uint8Array(0) : (function(e11) { + const t9 = (function(e12) { + const t10 = e12.replace(/\n+$/, ""); + if (t10.includes("\n")) throw _u("record-overrun", `log message contains an embedded newline: ${JSON.stringify(e12)}`); return `${t10} `; - })(e10.message), n9 = Ot(e10.identity.name), r9 = Ot(e10.identity.email), o10 = Ot(t9), s11 = new Uint8Array(2); - var i8; - return new DataView(s11.buffer).setInt16(0, ((i8 = e10.identity.timezoneOffset).startsWith("-") ? -1 : 1) * Number(i8.slice(1))), Ul([yt(e10.oldId), yt(e10.newId), Al(n9.length), n9, Al(r9.length), r9, Al(e10.identity.timestamp), s11, Al(o10.length), o10]); - })(e9.entry); - return Ul([Al(n8), Al(o9), r8, s10]); - })(e8, s9, a6); - return t7 > 0 && 4 + r7.recordAreaLength + c6.length + 3 * (r7.restartCount + (i7 ? 1 : 0)) + 2 > o8 ? void 0 : { keyBytes: s9, encoded: c6, isRestart: i7 }; - })(e7, t6, n6, o7, r6), (e7) => rf(e7.name, e7.updateIndex)); - return { payload: Ul([...o6.recordParts, Pl(o6.restartOffsets)]), nextIndex: o6.nextIndex, lastKeyBytes: o6.lastKeyBytes }; -} -function sf(e6, t5) { - const n6 = new Uint8Array(4 + t5.length), r6 = new DataView(n6.buffer); - return n6[0] = "g".charCodeAt(0), Dl(r6, 1, 4 + e6), n6.set(t5, 4), n6; -} -async function af(e6, t5, n6, r6) { - const o6 = xl(n6.hashId), s9 = Ll(o6), i7 = /* @__PURE__ */ (function(e7) { - return 1 === e7 ? 68 : 72; - })(o6), a6 = (function(e7, t6) { - const n7 = xl(t6.hashId), r7 = Ll(n7), o7 = (function(e8, t7, n8) { - const r8 = new Uint8Array(n8), o8 = new DataView(r8.buffer); - return r8.set(Ot("REFT"), 0), o8.setUint8(4, t7), Dl(o8, 5, e8.blockSize), o8.setBigUint64(8, e8.minUpdateIndex), o8.setBigUint64(16, e8.maxUpdateIndex), 2 === t7 && r8.set(Ot(e8.hashId), 24), r8; - })(t6, n7, r7), s10 = (function(e8, t7, n8) { - return jl(e8, { type: "r", keyBytesOf: (e9) => Ot(e9.name), encodeItem: (e9, n9, r8) => (function(e10, t8, n10, r9) { - const o8 = n10.subarray(r9), s11 = o8.length << 3 | zl[e10.value.kind], i9 = Number(e10.updateIndex - t8); - return Ul([Al(r9), Al(s11), o8, Al(i9), Kl(e10.value)]); - })(e9, t7.minUpdateIndex, n9, r8), blockSize: t7.blockSize, restartInterval: t7.restartInterval, startPosition: n8, firstBlockExtraLength: e8.length > 0 ? n8 : 0, alignment: "aligned" }); - })(e7, t6, r7), i8 = s10.blocks.length >= 4, a7 = i8 ? Ql(Xl({ positions: ql(s10), lastKeys: s10.lastKeys }), t6, r7 + s10.totalLength, "aligned") : Jl, c7 = r7 + s10.totalLength + a7.totalLength, d6 = (function(e8, t7, n8, r8, o8) { - if (!n8 || !r8.indexObjects) return nf; - const s11 = (function(e9, t8, n9) { - const r9 = /* @__PURE__ */ new Map(); - let o9 = 0; - return t8.forEach((t9, s12) => { - const i10 = n9[s12]; - for (let n10 = 0; n10 < i10; n10 += 1) Zl(e9[o9], t9, r9), o9 += 1; - }), [...r9.entries()].map(([e10, t9]) => ({ oidBytes: yt(e10), positions: [...t9].sort((e11, t10) => e11 - t10) })).sort((e10, t9) => bt(e10.oidBytes, t9.oidBytes)); - })(e8, ql(t7), t7.counts); - if (0 === s11.length) return nf; - const i9 = (function(e9) { + })(e11.message), n10 = Rt(e11.identity.name), r11 = Rt(e11.identity.email), o9 = Rt(t9), s10 = new Uint8Array(2); + var i12; + return new DataView(s10.buffer).setInt16(0, ((i12 = e11.identity.timezoneOffset).startsWith("-") ? -1 : 1) * Number(i12.slice(1))), mf([Ot(e11.oldId), Ot(e11.newId), of(n10.length), n10, of(r11.length), r11, of(e11.identity.timestamp), s10, of(o9.length), o9]); + })(e10.entry); + return mf([of(n9), of(o8), r10, s9]); + })(e9, s8, a4); + return t7 > 0 && 4 + r9.recordAreaLength + c5.length + 3 * (r9.restartCount + (i11 ? 1 : 0)) + 2 > o7 ? void 0 : { keyBytes: s8, encoded: c5, isRestart: i11 }; + })(e8, t6, n7, o6, r8), (e8) => Mf(e8.name, e8.updateIndex)); + return { payload: mf([...o5.recordParts, yf(o5.restartOffsets)]), nextIndex: o5.nextIndex, lastKeyBytes: o5.lastKeyBytes }; +} +function Bf(e7, t5) { + const n7 = new Uint8Array(4 + t5.length), r8 = new DataView(n7.buffer); + return n7[0] = "g".charCodeAt(0), gf(r8, 1, 4 + e7), n7.set(t5, 4), n7; +} +async function Ff(e7, t5, n7, r8) { + const o5 = uf(n7.hashId), s8 = lf(o5), i11 = /* @__PURE__ */ (function(e8) { + return 1 === e8 ? 68 : 72; + })(o5), a4 = (function(e8, t6) { + const n8 = uf(t6.hashId), r9 = lf(n8), o6 = (function(e9, t7, n9) { + const r10 = new Uint8Array(n9), o7 = new DataView(r10.buffer); + return r10.set(Rt("REFT"), 0), o7.setUint8(4, t7), gf(o7, 5, e9.blockSize), o7.setBigUint64(8, e9.minUpdateIndex), o7.setBigUint64(16, e9.maxUpdateIndex), 2 === t7 && r10.set(Rt(e9.hashId), 24), r10; + })(t6, n8, r9), s9 = (function(e9, t7, n9) { + return Tf(e9, { type: "r", keyBytesOf: (e10) => Rt(e10.name), encodeItem: (e10, n10, r10) => (function(e11, t8, n11, r11) { + const o7 = n11.subarray(r11), s10 = o7.length << 3 | Af[e11.value.kind], i13 = Number(e11.updateIndex - t8); + return mf([of(r11), of(s10), o7, of(i13), $f(e11.value)]); + })(e10, t7.minUpdateIndex, n10, r10), blockSize: t7.blockSize, restartInterval: t7.restartInterval, startPosition: n9, firstBlockExtraLength: e9.length > 0 ? n9 : 0, alignment: "aligned" }); + })(e8, t6, r9), i12 = s9.blocks.length >= 4, a5 = i12 ? Rf(Sf({ positions: Nf(s9), lastKeys: s9.lastKeys }), t6, r9 + s9.totalLength, "aligned") : Lf, c6 = r9 + s9.totalLength + a5.totalLength, d7 = (function(e9, t7, n9, r10, o7) { + if (!n9 || !r10.indexObjects) return Cf; + const s10 = (function(e10, t8, n10) { + const r11 = /* @__PURE__ */ new Map(); + let o8 = 0; + return t8.forEach((t9, s11) => { + const i14 = n10[s11]; + for (let n11 = 0; n11 < i14; n11 += 1) kf(e10[o8], t9, r11), o8 += 1; + }), [...r11.entries()].map(([e11, t9]) => ({ oidBytes: Ot(e11), positions: [...t9].sort((e12, t10) => e12 - t10) })).sort((e11, t9) => At(e11.oidBytes, t9.oidBytes)); + })(e9, Nf(t7), t7.counts); + if (0 === s10.length) return Cf; + const i13 = (function(e10) { let t8 = 0; - for (let n9 = 1; n9 < e9.length; n9 += 1) t8 = Math.max(t8, Cl(e9[n9 - 1], e9[n9])); + for (let n10 = 1; n10 < e10.length; n10 += 1) t8 = Math.max(t8, pf(e10[n10 - 1], e10[n10])); return Math.max(2, t8 + 1); - })(s11.map((e9) => e9.oidBytes)); - return { ...jl(s11.map((e9) => ({ keyBytes: e9.oidBytes.subarray(0, i9), positions: e9.positions })), { type: "o", keyBytesOf: (e9) => e9.keyBytes, encodeItem: tf, blockSize: r8.blockSize, restartInterval: r8.restartInterval, startPosition: o8, firstBlockExtraLength: 0, alignment: "aligned" }), startPosition: o8, objIdLength: i9 }; - })(e7, s10, i8, t6, c7), u6 = (function(e8, t7, n8) { - return e8.blocks.length < 4 ? Jl : Ql(Xl(e8), t7, n8, "aligned"); - })(d6, t6, c7 + d6.totalLength); - return { bytes: Ul([o7, ...s10.blocks, ...a7.blocks, ...d6.blocks, ...u6.blocks]), refIndexPosition: a7.topPosition, objPosition: d6.startPosition, objIdLength: d6.objIdLength, objIndexPosition: u6.topPosition }; - })(e6, n6), c6 = await (async function(e7, t6, n7, r7) { - if (0 === e7.length) return { bytes: new Uint8Array(0), logPosition: 0, logIndexPosition: 0 }; - const o7 = await (async function(e8, t7, n8, r8) { - const o8 = 0 === t7.blockSize ? Number.POSITIVE_INFINITY : 2 * t7.blockSize, s11 = [], i8 = [], a7 = []; - let c7 = n8, d6 = 0; - for (; d6 < e8.length; ) { - const { payload: n9, nextIndex: u6, lastKeyBytes: l4 } = of(e8, d6, t7.restartInterval, o8), f2 = sf(n9.length, await r8(n9)); - s11.push(f2), i8.push(c7), a7.push(l4), c7 += f2.length, d6 = u6; - } - return { blocks: s11, positions: i8, lastKeys: a7, totalLength: c7 - n8 }; - })(e7, t6, n7, r7), s10 = o7.blocks.length >= 4 ? Ql(Xl(o7), t6, n7 + o7.totalLength, "unaligned") : Jl; - return { bytes: Ul([...o7.blocks, ...s10.blocks]), logPosition: n7, logIndexPosition: s10.topPosition }; - })(t5, n6, a6.bytes.length, r6), d5 = (function(e7, t6, n7) { - const r7 = new Uint8Array(t6); - r7.set(e7, 0); - const o7 = new DataView(r7.buffer), s10 = e7.length; - o7.setBigUint64(s10, BigInt(n7.refIndexPosition)); - const i8 = BigInt(n7.objPosition) << 5n | BigInt(n7.objIdLength); - o7.setBigUint64(s10 + 8, i8), o7.setBigUint64(s10 + 16, BigInt(n7.objIndexPosition)), o7.setBigUint64(s10 + 24, BigInt(n7.logPosition)), o7.setBigUint64(s10 + 32, BigInt(n7.logIndexPosition)); - const a7 = t6 - 4; - return o7.setUint32(a7, Tn(r7.subarray(0, a7))), r7; - })(a6.bytes.subarray(0, s9), i7, { refIndexPosition: a6.refIndexPosition, objPosition: a6.objPosition, objIdLength: a6.objIdLength, objIndexPosition: a6.objIndexPosition, logPosition: c6.logPosition, logIndexPosition: c6.logIndexPosition }); - return Ul([a6.bytes, c6.bytes, d5]); -} -var cf = (e6) => new o({ code: "NOT_A_REPOSITORY", path: e6 }); -var df = (e6) => new o({ code: "BARE_REPOSITORY", operation: e6 }); -var uf = (e6) => new o({ code: "WORK_TREE_REQUIRED", operation: e6 }); -var lf = (e6) => new o({ code: "WORK_TREE_CONFIG_INVALID", gitDir: e6 }); -var ff = (e6, t5) => new o({ code: "WORK_TREE_UNRESOLVABLE", value: e6, gitDir: t5 }); -var hf = (e6) => new o({ code: "ALREADY_INITIALIZED", path: e6 }); -var gf = (e6) => new o({ code: "REPOSITORY_FORMAT_VERSION_UNSUPPORTED", version: e6 }); -var mf = (e6, t5) => new o({ code: "REPOSITORY_EXTENSIONS_UNSUPPORTED", version: e6, extensions: t5 }); -var pf = (e6, t5) => new o({ code: "REPOSITORY_EXTENSION_UNSUPPORTED", extension: e6, value: t5 }); -var wf = (e6, t5) => new o({ code: "DUBIOUS_OWNERSHIP", path: e6, ...void 0 !== t5 ? { foreignPath: t5 } : {} }); -var yf = (e6) => new o({ code: "IMPLICIT_BARE_REPOSITORY", gitDir: e6 }); -var Ef = (e6) => { - const t5 = e6.split("/"), n6 = []; - for (let e7 = t5.length - 1; e7 > 0; e7 -= 1) n6.push(t5.slice(0, e7).join("/")); - return n6; -}; -var bf = (e6) => { - const t5 = e6.replace(/\\/g, "/").replace(/^\/+/, "").replace(/\/+$/, ""); - for (const n6 of t5.split("/")) If(n6, e6); + })(s10.map((e10) => e10.oidBytes)); + return { ...Tf(s10.map((e10) => ({ keyBytes: e10.oidBytes.subarray(0, i13), positions: e10.positions })), { type: "o", keyBytesOf: (e10) => e10.keyBytes, encodeItem: Uf, blockSize: r10.blockSize, restartInterval: r10.restartInterval, startPosition: o7, firstBlockExtraLength: 0, alignment: "aligned" }), startPosition: o7, objIdLength: i13 }; + })(e8, s9, i12, t6, c6), u6 = (function(e9, t7, n9) { + return e9.blocks.length < 4 ? Lf : Rf(Sf(e9), t7, n9, "aligned"); + })(d7, t6, c6 + d7.totalLength); + return { bytes: mf([o6, ...s9.blocks, ...a5.blocks, ...d7.blocks, ...u6.blocks]), refIndexPosition: a5.topPosition, objPosition: d7.startPosition, objIdLength: d7.objIdLength, objIndexPosition: u6.topPosition }; + })(e7, n7), c5 = await (async function(e8, t6, n8, r9) { + if (0 === e8.length) return { bytes: new Uint8Array(0), logPosition: 0, logIndexPosition: 0 }; + const o6 = await (async function(e9, t7, n9, r10) { + const o7 = 0 === t7.blockSize ? Number.POSITIVE_INFINITY : 2 * t7.blockSize, s10 = [], i12 = [], a5 = []; + let c6 = n9, d7 = 0; + for (; d7 < e9.length; ) { + const { payload: n10, nextIndex: u6, lastKeyBytes: l4 } = Pf(e9, d7, t7.restartInterval, o7), f2 = Bf(n10.length, await r10(n10)); + s10.push(f2), i12.push(c6), a5.push(l4), c6 += f2.length, d7 = u6; + } + return { blocks: s10, positions: i12, lastKeys: a5, totalLength: c6 - n9 }; + })(e8, t6, n8, r9), s9 = o6.blocks.length >= 4 ? Rf(Sf(o6), t6, n8 + o6.totalLength, "unaligned") : Lf; + return { bytes: mf([...o6.blocks, ...s9.blocks]), logPosition: n8, logIndexPosition: s9.topPosition }; + })(t5, n7, a4.bytes.length, r8), d6 = (function(e8, t6, n8) { + const r9 = new Uint8Array(t6); + r9.set(e8, 0); + const o6 = new DataView(r9.buffer), s9 = e8.length; + o6.setBigUint64(s9, BigInt(n8.refIndexPosition)); + const i12 = BigInt(n8.objPosition) << 5n | BigInt(n8.objIdLength); + o6.setBigUint64(s9 + 8, i12), o6.setBigUint64(s9 + 16, BigInt(n8.objIndexPosition)), o6.setBigUint64(s9 + 24, BigInt(n8.logPosition)), o6.setBigUint64(s9 + 32, BigInt(n8.logIndexPosition)); + const a5 = t6 - 4; + return o6.setUint32(a5, Nn(r9.subarray(0, a5))), r9; + })(a4.bytes.subarray(0, s8), i11, { refIndexPosition: a4.refIndexPosition, objPosition: a4.objPosition, objIdLength: a4.objIdLength, objIndexPosition: a4.objIndexPosition, logPosition: c5.logPosition, logIndexPosition: c5.logIndexPosition }); + return mf([a4.bytes, c5.bytes, d6]); +} +var Hf = (e7) => new c({ code: "NOT_A_REPOSITORY", path: e7 }); +var Vf = (e7) => new c({ code: "BARE_REPOSITORY", operation: e7 }); +var Gf = (e7) => new c({ code: "WORK_TREE_REQUIRED", operation: e7 }); +var Wf = (e7) => new c({ code: "WORK_TREE_CONFIG_INVALID", gitDir: e7 }); +var zf = (e7, t5) => new c({ code: "WORK_TREE_UNRESOLVABLE", value: e7, gitDir: t5 }); +var jf = (e7) => new c({ code: "ALREADY_INITIALIZED", path: e7 }); +var Kf = (e7) => new c({ code: "REPOSITORY_FORMAT_VERSION_UNSUPPORTED", version: e7 }); +var Yf = (e7, t5) => new c({ code: "REPOSITORY_EXTENSIONS_UNSUPPORTED", version: e7, extensions: t5 }); +var Xf = (e7, t5) => new c({ code: "REPOSITORY_EXTENSION_UNSUPPORTED", extension: e7, value: t5 }); +var qf = (e7, t5) => new c({ code: "DUBIOUS_OWNERSHIP", path: e7, ...void 0 !== t5 ? { foreignPath: t5 } : {} }); +var Jf = (e7) => new c({ code: "IMPLICIT_BARE_REPOSITORY", gitDir: e7 }); +var Qf = (e7) => { + const t5 = e7.split("/"), n7 = []; + for (let e8 = t5.length - 1; e8 > 0; e8 -= 1) n7.push(t5.slice(0, e8).join("/")); + return n7; +}; +var Zf = (e7) => { + const t5 = e7.replace(/\\/g, "/").replace(/^\/+/, "").replace(/\/+$/, ""); + for (const n7 of t5.split("/")) eh(n7, e7); return t5; }; -var If = (e6, t5) => { - const n6 = t5.slice(0, 128); - if ("" === e6 || "." === e6 || ".." === e6) throw oe("patterns", `cone directory has an invalid segment: ${n6}`); - if (e6.includes("*") || e6.includes("?")) throw oe("patterns", `cone directory must not contain glob metacharacters: ${n6}`); - if (/[\n\r\0]/.test(e6)) throw oe("patterns", `cone directory must not contain control characters: ${n6}`); -}; -var _f = (e6) => { - const t5 = new Set(e6.map(bf)), n6 = /* @__PURE__ */ new Set(); - for (const e7 of t5) for (const r6 of Ef(e7)) t5.has(r6) || n6.add(r6); - return { mode: "cone", recursive: t5, parents: n6 }; -}; -var vf = (e6) => { - const t5 = [...e6.parents, ...e6.recursive].sort(); - let n6 = ""; - for (const r6 of t5) n6 += `/${r6}/ -`, e6.parents.has(r6) && (n6 += `!/${r6}/*/ +var eh = (e7, t5) => { + const n7 = t5.slice(0, 128); + if ("" === e7 || "." === e7 || ".." === e7) throw de("patterns", `cone directory has an invalid segment: ${n7}`); + if (e7.includes("*") || e7.includes("?")) throw de("patterns", `cone directory must not contain glob metacharacters: ${n7}`); + if (/[\n\r\0]/.test(e7)) throw de("patterns", `cone directory must not contain control characters: ${n7}`); +}; +var th = (e7) => { + const t5 = new Set(e7.map(Zf)), n7 = /* @__PURE__ */ new Set(); + for (const e8 of t5) for (const r8 of Qf(e8)) t5.has(r8) || n7.add(r8); + return { mode: "cone", recursive: t5, parents: n7 }; +}; +var nh = (e7) => { + const t5 = [...e7.parents, ...e7.recursive].sort(); + let n7 = ""; + for (const r8 of t5) n7 += `/${r8}/ +`, e7.parents.has(r8) && (n7 += `!/${r8}/*/ `); - return "/*\n!/*/\n" + n6; + return "/*\n!/*/\n" + n7; }; -var Tf = (e6) => { - if (!e6.startsWith("/") || !e6.endsWith("/")) return; - const t5 = e6.slice(1, -1); +var rh = (e7) => { + if (!e7.startsWith("/") || !e7.endsWith("/")) return; + const t5 = e7.slice(1, -1); return "" === t5 || t5.startsWith("!") ? void 0 : t5; }; -var Of = (e6, t5) => { - const n6 = ((e7) => { - if (e7.directoryOnly) return true; - const t6 = e7.cleanPattern.split("/"), n7 = t6[t6.length - 1]; - return !n7.includes("*") && !n7.includes("?"); - })(e6); - return { source: t5, negated: e6.negated, matcher: bi(e6.cleanPattern, { anchored: e6.anchored, withDirSuffix: n6 }) }; -}; -var $f = new TextEncoder(); -var Af = (e6) => { - const t5 = e6.split("\n").map((e7) => e7.replace(/\r$/, "")), n6 = []; - for (const e7 of t5) { - if ($f.encode(e7).byteLength > 256) throw oe("patterns", "pattern exceeds max length 256 bytes"); - const t6 = $i(e7); +var oh = (e7, t5) => { + const n7 = ((e8) => { + if (e8.directoryOnly) return true; + const t6 = e8.cleanPattern.split("/"), n8 = t6[t6.length - 1]; + return !n8.includes("*") && !n8.includes("?"); + })(e7); + return { source: t5, negated: e7.negated, matcher: Bi(e7.cleanPattern, { anchored: e7.anchored, withDirSuffix: n7 }) }; +}; +var sh = new TextEncoder(); +var ih = (e7) => { + const t5 = e7.split("\n").map((e8) => e8.replace(/\r$/, "")), n7 = []; + for (const e8 of t5) { + if (sh.encode(e8).byteLength > 256) throw de("patterns", "pattern exceeds max length 256 bytes"); + const t6 = zi(e8); if (void 0 !== t6) { - if (n6.length >= 2048) throw oe("patterns", "pattern file exceeds max 2048 patterns"); - n6.push(Of(t6, e7)); + if (n7.length >= 2048) throw de("patterns", "pattern file exceeds max 2048 patterns"); + n7.push(oh(t6, e8)); } } - return n6; + return n7; }; -var Nf = (e6, t5) => { +var ah = (e7, t5) => { if (t5) { - const t6 = ((e7) => { - const t7 = e7.split("\n").map((e8) => e8.replace(/\r$/, "")); + const t6 = ((e8) => { + const t7 = e8.split("\n").map((e9) => e9.replace(/\r$/, "")); if ("/*" !== t7[0] || "!/*/" !== t7[1]) return; - const n6 = /* @__PURE__ */ new Set(), r6 = /* @__PURE__ */ new Set(); - let o6 = 2; - for (; o6 < t7.length; ) { - const e8 = t7[o6]; - if ("" === e8) { - o6 += 1; + const n7 = /* @__PURE__ */ new Set(), r8 = /* @__PURE__ */ new Set(); + let o5 = 2; + for (; o5 < t7.length; ) { + const e9 = t7[o5]; + if ("" === e9) { + o5 += 1; continue; } - const s9 = Tf(e8); - if (void 0 === s9) return; - o6 += 1, t7[o6] === `!/${s9}/*/` ? (r6.add(s9), o6 += 1) : n6.add(s9); + const s8 = rh(e9); + if (void 0 === s8) return; + o5 += 1, t7[o5] === `!/${s8}/*/` ? (r8.add(s8), o5 += 1) : n7.add(s8); } - return { mode: "cone", recursive: n6, parents: r6 }; - })(e6); - return void 0 !== t6 ? { spec: t6, degraded: false } : { spec: { mode: "no-cone", rules: Af(e6) }, degraded: true }; + return { mode: "cone", recursive: n7, parents: r8 }; + })(e7); + return void 0 !== t6 ? { spec: t6, degraded: false } : { spec: { mode: "no-cone", rules: ih(e7) }, degraded: true }; } - return { spec: { mode: "no-cone", rules: Af(e6) }, degraded: false }; + return { spec: { mode: "no-cone", rules: ih(e7) }, degraded: false }; }; -var Sf = (e6) => { - return "cone" === e6.mode ? /* @__PURE__ */ ((e7) => (t6) => { - const n6 = ((e8) => { - const t7 = e8.lastIndexOf("/"); - return -1 === t7 ? "" : e8.slice(0, t7); +var ch = (e7) => { + return "cone" === e7.mode ? /* @__PURE__ */ ((e8) => (t6) => { + const n7 = ((e9) => { + const t7 = e9.lastIndexOf("/"); + return -1 === t7 ? "" : e9.slice(0, t7); })(t6); - if ("" === n6) return true; - if (e7.parents.has(n6)) return true; - let r6 = n6; + if ("" === n7) return true; + if (e8.parents.has(n7)) return true; + let r8 = n7; for (; ; ) { - if (e7.recursive.has(r6)) return true; - const t7 = r6.lastIndexOf("/"); + if (e8.recursive.has(r8)) return true; + const t7 = r8.lastIndexOf("/"); if (-1 === t7) return false; - r6 = r6.slice(0, t7); + r8 = r8.slice(0, t7); } - })(e6) : (t5 = e6.rules, (e7) => { - let n6 = false; - for (const r6 of t5) r6.matcher.test(e7) && (n6 = !r6.negated); - return n6; + })(e7) : (t5 = e7.rules, (e8) => { + let n7 = false; + for (const r8 of t5) r8.matcher.test(e8) && (n7 = !r8.negated); + return n7; }); var t5; }; -function xf(e6, t5, n6) { - if (n6 + 8 > e6.length) throw El("stream", `truncated stream descriptor at offset ${n6}`); - const r6 = t5.getUint32(n6), o6 = t5.getUint32(n6 + 4), s9 = n6 + 8, i7 = s9 + 8 * o6 + 4; - if (i7 > e6.length) throw El("stream", `stream at offset ${n6} declares ${o6} word(s), which overruns the buffer`); - return { bitSize: r6, wordCount: o6, wordsOffset: s9, endOffset: i7 }; -} -function Lf(e6, t5) { - return { runValue: 1 & t5, cleanWordCount: (t5 >>> 1 | (1 & e6) << 31) >>> 0, literalWordCount: e6 >>> 1 }; -} -function Rf(e6, t5) { - return [e6.getUint32(t5), e6.getUint32(t5 + 4)]; -} -function kf(e6, t5, n6) { - return ("or" === n6 ? e6 | t5 : e6 ^ t5) >>> 0; -} -function Df(e6, t5, n6, r6) { - const o6 = Math.min(t5 + n6, e6.length); - for (let n7 = t5; n7 < o6; n7 += 1) e6[n7] = kf(e6[n7], 4294967295, r6); - return o6; -} -function Uf(e6, t5, n6, r6) { - return t5 < e6.length && (e6[t5] = kf(e6[t5], n6, r6)), Math.min(t5 + 1, e6.length); -} -function Cf(e6, t5) { - return Math.max(0, Math.floor((e6.length - t5) / 8)); -} -function Mf(e6, t5, n6, r6, o6) { - const s9 = Math.min(n6.wordCount, Cf(e6, n6.wordsOffset)); - let i7 = 0, a6 = 0; - for (; i7 < s9; ) { - const [e7, c6] = Rf(t5, n6.wordsOffset + 8 * i7); - i7 += 1; - const d5 = Lf(e7, c6); - a6 = 1 === d5.runValue ? Df(r6, a6, 2 * d5.cleanWordCount, o6) : Math.min(a6 + 2 * d5.cleanWordCount, r6.length); - for (let e8 = 0; e8 < d5.literalWordCount && i7 < s9; e8 += 1) { - const [e9, s10] = Rf(t5, n6.wordsOffset + 8 * i7); - i7 += 1, a6 = Uf(r6, a6, s10, o6), a6 = Uf(r6, a6, e9, o6); - } - } -} -function Pf(e6, t5) { - return 0 === t5 ? -1 : 32 * e6 + (31 - Math.clz32(t5)); -} -function Bf(e6, t5, n6) { - const r6 = Math.min(n6.wordCount, Cf(e6, n6.wordsOffset)); - let o6 = 0, s9 = 0, i7 = -1; - for (; o6 < r6; ) { - const [e7, a6] = Rf(t5, n6.wordsOffset + 8 * o6); - o6 += 1; - const c6 = Lf(e7, a6), d5 = 2 * c6.cleanWordCount; - 1 === c6.runValue && d5 > 0 && (i7 = 32 * (s9 + d5) - 1), s9 += d5; - for (let e8 = 0; e8 < c6.literalWordCount && o6 < r6; e8 += 1) { - const [e9, r7] = Rf(t5, n6.wordsOffset + 8 * o6); - o6 += 1, i7 = Math.max(i7, Pf(s9, r7), Pf(s9 + 1, e9)), s9 += 2; - } - } - return i7; -} -var Ff = 1112101965; -function Hf(e6, t5) { - if (e6.length < 12 + t5) throw El("size", "truncated: file too short for header"); - const n6 = new DataView(e6.buffer, e6.byteOffset, e6.byteLength), r6 = n6.getUint32(0); - if (r6 !== Ff) throw El("signature", `invalid signature: expected 0x${Ff.toString(16)}, got 0x${r6.toString(16).padStart(8, "0")}`); - const o6 = n6.getUint16(4); - if (1 !== o6) throw El("version", `unsupported version: expected 1, got ${o6}`); - const s9 = n6.getUint16(6); - if (!(1 & s9)) throw El("options", `option flags 0x${s9.toString(16).padStart(4, "0")} lack the mandatory full-DAG bit`); - const i7 = n6.getUint32(8), a6 = e6.subarray(12, 12 + t5), c6 = (function(e7, t6, n7) { - const r7 = xf(e7, t6, n7), o7 = xf(e7, t6, r7.endOffset), s10 = xf(e7, t6, o7.endOffset); - return [r7, o7, s10, xf(e7, t6, s10.endOffset)]; - })(e6, n6, 12 + t5), [, , , d5] = c6; - return { version: o6, optionFlags: s9, entryCount: i7, digestLength: t5, checksum: a6, typeStreams: c6, entriesOffset: d5.endOffset, _bytes: e6, _view: n6 }; -} -function Vf(e6) { - const { _bytes: t5, _view: n6, entryCount: r6, entriesOffset: o6 } = e6, s9 = []; - let i7 = o6; - for (let e7 = 0; e7 < r6; e7 += 1) { - if (i7 + 6 > t5.length) throw El("entry", `entry ${e7} header extends past end of file at offset ${i7}`); - const r7 = n6.getUint32(i7), o7 = n6.getUint8(i7 + 4), a6 = n6.getUint8(i7 + 5); - if (o7 > e7) throw El("entry", `entry ${e7} xorOffset ${o7} refers to a base that has not been parsed yet`); - const c6 = Gf(t5, n6, i7 + 6, e7); - s9.push({ position: r7, xorOffset: o7, flags: a6, stream: c6 }), i7 = c6.endOffset; - } - return s9; -} -function Gf(e6, t5, n6, r6) { +function dh(e7, t5, n7) { + if (n7 + 8 > e7.length) throw Xl("stream", `truncated stream descriptor at offset ${n7}`); + const r8 = t5.getUint32(n7), o5 = t5.getUint32(n7 + 4), s8 = n7 + 8, i11 = s8 + 8 * o5 + 4; + if (i11 > e7.length) throw Xl("stream", `stream at offset ${n7} declares ${o5} word(s), which overruns the buffer`); + return { bitSize: r8, wordCount: o5, wordsOffset: s8, endOffset: i11 }; +} +function uh(e7, t5) { + return { runValue: 1 & t5, cleanWordCount: (t5 >>> 1 | (1 & e7) << 31) >>> 0, literalWordCount: e7 >>> 1 }; +} +function lh(e7, t5) { + return [e7.getUint32(t5), e7.getUint32(t5 + 4)]; +} +function fh(e7, t5, n7) { + return ("or" === n7 ? e7 | t5 : e7 ^ t5) >>> 0; +} +function hh(e7, t5, n7, r8) { + const o5 = Math.min(t5 + n7, e7.length); + for (let n8 = t5; n8 < o5; n8 += 1) e7[n8] = fh(e7[n8], 4294967295, r8); + return o5; +} +function gh(e7, t5, n7, r8) { + return t5 < e7.length && (e7[t5] = fh(e7[t5], n7, r8)), Math.min(t5 + 1, e7.length); +} +function mh(e7, t5) { + return Math.max(0, Math.floor((e7.length - t5) / 8)); +} +function ph(e7, t5, n7, r8, o5) { + const s8 = Math.min(n7.wordCount, mh(e7, n7.wordsOffset)); + let i11 = 0, a4 = 0; + for (; i11 < s8; ) { + const [e8, c5] = lh(t5, n7.wordsOffset + 8 * i11); + i11 += 1; + const d6 = uh(e8, c5); + a4 = 1 === d6.runValue ? hh(r8, a4, 2 * d6.cleanWordCount, o5) : Math.min(a4 + 2 * d6.cleanWordCount, r8.length); + for (let e9 = 0; e9 < d6.literalWordCount && i11 < s8; e9 += 1) { + const [e10, s9] = lh(t5, n7.wordsOffset + 8 * i11); + i11 += 1, a4 = gh(r8, a4, s9, o5), a4 = gh(r8, a4, e10, o5); + } + } +} +function wh(e7, t5) { + return 0 === t5 ? -1 : 32 * e7 + (31 - Math.clz32(t5)); +} +function yh(e7, t5, n7) { + const r8 = Math.min(n7.wordCount, mh(e7, n7.wordsOffset)); + let o5 = 0, s8 = 0, i11 = -1; + for (; o5 < r8; ) { + const [e8, a4] = lh(t5, n7.wordsOffset + 8 * o5); + o5 += 1; + const c5 = uh(e8, a4), d6 = 2 * c5.cleanWordCount; + 1 === c5.runValue && d6 > 0 && (i11 = 32 * (s8 + d6) - 1), s8 += d6; + for (let e9 = 0; e9 < c5.literalWordCount && o5 < r8; e9 += 1) { + const [e10, r9] = lh(t5, n7.wordsOffset + 8 * o5); + o5 += 1, i11 = Math.max(i11, wh(s8, r9), wh(s8 + 1, e10)), s8 += 2; + } + } + return i11; +} +var Eh = 1112101965; +function bh(e7, t5) { + if (e7.length < 12 + t5) throw Xl("size", "truncated: file too short for header"); + const n7 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength), r8 = n7.getUint32(0); + if (r8 !== Eh) throw Xl("signature", `invalid signature: expected 0x${Eh.toString(16)}, got 0x${r8.toString(16).padStart(8, "0")}`); + const o5 = n7.getUint16(4); + if (1 !== o5) throw Xl("version", `unsupported version: expected 1, got ${o5}`); + const s8 = n7.getUint16(6); + if (!(1 & s8)) throw Xl("options", `option flags 0x${s8.toString(16).padStart(4, "0")} lack the mandatory full-DAG bit`); + const i11 = n7.getUint32(8), a4 = e7.subarray(12, 12 + t5), c5 = (function(e8, t6, n8) { + const r9 = dh(e8, t6, n8), o6 = dh(e8, t6, r9.endOffset), s9 = dh(e8, t6, o6.endOffset); + return [r9, o6, s9, dh(e8, t6, s9.endOffset)]; + })(e7, n7, 12 + t5), [, , , d6] = c5; + return { version: o5, optionFlags: s8, entryCount: i11, digestLength: t5, checksum: a4, typeStreams: c5, entriesOffset: d6.endOffset, _bytes: e7, _view: n7 }; +} +function Ih(e7) { + const { _bytes: t5, _view: n7, entryCount: r8, entriesOffset: o5 } = e7, s8 = []; + let i11 = o5; + for (let e8 = 0; e8 < r8; e8 += 1) { + if (i11 + 6 > t5.length) throw Xl("entry", `entry ${e8} header extends past end of file at offset ${i11}`); + const r9 = n7.getUint32(i11), o6 = n7.getUint8(i11 + 4), a4 = n7.getUint8(i11 + 5); + if (o6 > e8) throw Xl("entry", `entry ${e8} xorOffset ${o6} refers to a base that has not been parsed yet`); + const c5 = _h(t5, n7, i11 + 6, e8); + s8.push({ position: r9, xorOffset: o6, flags: a4, stream: c5 }), i11 = c5.endOffset; + } + return s8; +} +function _h(e7, t5, n7, r8) { try { - return xf(e6, t5, n6); + return dh(e7, t5, n7); } catch { - throw El("entry", `entry ${r6} has an invalid embedded stream at offset ${n6}`); + throw Xl("entry", `entry ${r8} has an invalid embedded stream at offset ${n7}`); + } +} +function vh(e7) { + const { count: t5, digestLength: n7, oids: r8 } = e7, o5 = new Uint32Array(t5); + for (let e8 = 0; e8 < t5; e8 += 1) o5[e8] = e8; + return o5.sort((e8, t6) => { + const o6 = e8 * n7, s8 = t6 * n7; + for (let e9 = 0; e9 < n7; e9 += 1) { + const t7 = r8[o6 + e9] - r8[s8 + e9]; + if (0 !== t7) return t7; + } + return 0; + }), { entries: e7, order: o5 }; +} +function Oh(e7, t5, n7) { + 20 !== t5 && 32 !== t5 && n7("hash-id", `packChecksum must be 20 or 32 bytes, got ${t5}`); + const { entries: r8, order: o5 } = e7, { count: s8, oids: i11, crcValues: a4, offsets: c5 } = r8; + r8.digestLength !== t5 && n7("hash-id", `entries digestLength ${r8.digestLength} does not match packChecksum length ${t5}`), i11.length < s8 * t5 && n7("size", `oids too short: need ${s8 * t5}, got ${i11.length}`), a4.length < s8 && n7("size", `crcValues too short: need ${s8}, got ${a4.length}`), c5.length < s8 && n7("size", `offsets too short: need ${s8}, got ${c5.length}`), o5.length !== s8 && n7("count", `order length ${o5.length} does not match entries count ${s8}`); +} +var Th = 1297370437; +var Ah = 12; +function $h(e7, t5, n7) { + const r8 = t5.length; + ((e8, t6) => { + Oh(e8, t6, (e9, t7) => { + throw ql(e9, t7); + }); + })(e7, r8); + const { entries: o5, order: s8 } = e7, i11 = 32 === r8 ? 2 : 1, a4 = o5.count, c5 = new Uint8Array(Ah + 4 * a4 + 2 * r8), d6 = new DataView(c5.buffer); + d6.setUint32(0, Th), d6.setUint32(4, 1), d6.setUint32(8, i11); + for (let e8 = 0; e8 < a4; e8 += 1) d6.setUint32(Ah + 4 * e8, n7(s8[e8])); + return c5.set(t5, Ah + 4 * a4), c5; +} +function xh(e7, t5, n7) { + if (e7.length < Ah) throw ql("size", "cruft mtimes file is too small"); + const r8 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength), o5 = r8.getUint32(0); + if (o5 !== Th) throw ql("signature", `invalid signature: expected 0x${Th.toString(16)}, got 0x${o5.toString(16).padStart(8, "0")}`); + const s8 = r8.getUint32(4); + if (1 !== s8) throw ql("version", `unsupported version: expected 1, got ${s8}`); + const i11 = r8.getUint32(8); + if (1 !== i11 && 2 !== i11) throw ql("hash-id", `unsupported hash id: expected 1 or 2, got ${i11}`); + const a4 = 2 === i11 ? 32 : 20, c5 = t5.length; + if (e7.length !== Ah + 4 * c5 + 2 * a4) throw ql("count", `object count disagrees with the .idx: expected ${c5} entries, got a ${e7.length}-byte file`); + Sh(e7, a4, c5, n7); + const d6 = /* @__PURE__ */ new Map(); + for (let e8 = 0; e8 < c5; e8 += 1) { + const n8 = r8.getUint32(Ah + 4 * e8); + d6.set(t5[e8], n8); + } + return d6; +} +var Sh = (e7, t5, n7, r8) => { + if (void 0 === r8) return; + const o5 = Ah + 4 * n7 + t5; + if (!xt(e7.subarray(o5, o5 + t5), r8)) throw ql("checksum", "self-checksum mismatch"); +}; +var Nh = 50; +function Lh(e7, t5) { + if (t5 >= e7.length) throw zl("truncated variable-length integer"); + let n7 = 0, r8 = 0, o5 = t5, s8 = 0, i11 = e7[o5]; + for (n7 = (127 & i11) << r8 >>> 0, r8 += 7, s8 += 1; 128 & i11; ) { + if (s8 >= 5) throw zl("variable-length integer too long"); + if (o5 += 1, o5 >= e7.length) throw zl("truncated variable-length integer"); + i11 = e7[o5], n7 = (n7 | (127 & i11) << r8) >>> 0, r8 += 7, s8 += 1; + } + return { value: n7, nextOffset: o5 + 1 }; +} +function Rh(e7, t5, n7) { + const r8 = (function(e8) { + let t6 = 0; + return 1 & e8 && (t6 += 1), 2 & e8 && (t6 += 1), 4 & e8 && (t6 += 1), 8 & e8 && (t6 += 1), 16 & e8 && (t6 += 1), 32 & e8 && (t6 += 1), 64 & e8 && (t6 += 1), t6; + })(n7); + if (t5 + r8 > e7.length) throw zl(`COPY instruction truncated: needs ${r8} bytes at position ${t5}`); + let o5 = t5, s8 = 0, i11 = 0; + return 1 & n7 && (s8 |= e7[o5], o5 += 1), 2 & n7 && (s8 |= e7[o5] << 8, o5 += 1), 4 & n7 && (s8 |= e7[o5] << 16, o5 += 1), 8 & n7 && (s8 = (s8 | 16777216 * e7[o5]) >>> 0, o5 += 1), 16 & n7 && (i11 |= e7[o5], o5 += 1), 32 & n7 && (i11 |= e7[o5] << 8, o5 += 1), 64 & n7 && (i11 |= e7[o5] << 16, o5 += 1), 0 === i11 && (i11 = 65536), { offset: s8, size: i11, nextPos: o5 }; +} +function kh(e7, t5, n7, r8, o5) { + if (e7 + t5 > n7) throw zl(`COPY out of bounds: offset=${e7} size=${t5} exceeds base length ${n7}`); + if (r8 + t5 > o5) throw zl(`COPY overflows target: position=${r8} size=${t5} exceeds target length ${o5}`); +} +function Dh(e7, t5, n7, r8, o5, s8) { + if (0 === n7) throw zl("INSERT with N=0 is reserved"); + if (t5 + n7 > e7.length) throw zl(`INSERT data truncated: needs ${n7} bytes at position ${t5}`); + if (o5 + n7 > s8) throw zl(`INSERT overflows target: position=${o5} size=${n7} exceeds target length ${s8}`); + return r8.set(e7.subarray(t5, t5 + n7), o5), { nextPos: t5 + n7, nextResultPos: o5 + n7 }; +} +function Uh(e7) { + const { nextOffset: t5 } = Lh(e7, 0), { value: n7 } = Lh(e7, t5); + return n7; +} +function Ch(e7, t5) { + const { value: n7, nextOffset: r8 } = Lh(t5, 0), { value: o5, nextOffset: s8 } = Lh(t5, r8); + !(function(e8, t6, n8) { + if (e8.length !== t6) throw zl(`source length mismatch: expected ${t6}, got ${e8.length}`); + if (n8 > 2147483648) throw zl(`target length ${n8} exceeds maximum allowed size`); + })(e7, n7, o5); + const i11 = new Uint8Array(o5); + let a4 = 0, c5 = s8; + for (; c5 < t5.length; ) { + const n8 = t5[c5]; + if (c5 += 1, 128 & n8) { + const { offset: r9, size: s9, nextPos: d6 } = Rh(t5, c5, n8); + c5 = d6, kh(r9, s9, e7.length, a4, o5), i11.set(e7.subarray(r9, r9 + s9), a4), a4 += s9; + } else { + const e8 = Dh(t5, c5, n8, i11, a4, o5); + c5 = e8.nextPos, a4 = e8.nextResultPos; + } } + if (a4 !== o5) throw zl(`underfill: produced ${a4} bytes but target length is ${o5}`); + return i11; } -var Wf = 50; -function jf(e6, t5) { - if (t5 >= e6.length) throw ml("truncated variable-length integer"); - let n6 = 0, r6 = 0, o6 = t5, s9 = 0, i7 = e6[o6]; - for (n6 = (127 & i7) << r6 >>> 0, r6 += 7, s9 += 1; 128 & i7; ) { - if (s9 >= 5) throw ml("variable-length integer too long"); - if (o6 += 1, o6 >= e6.length) throw ml("truncated variable-length integer"); - i7 = e6[o6], n6 = (n6 | (127 & i7) << r6) >>> 0, r6 += 7, s9 += 1; +var Mh = 16; +var Ph = 16777215; +function Bh(e7) { + const t5 = []; + let n7 = e7; + for (let e8 = 0; e8 < 5; e8 += 1) { + const e9 = n7 % 128; + if (n7 = Math.floor(n7 / 128), 0 === n7) return t5.push(e9), Uint8Array.from(t5); + t5.push(128 | e9); + } + throw zl("variable-length integer too long"); +} +function Fh(e7) { + const t5 = new Uint8Array(e7.length + 1); + return t5[0] = e7.length, t5.set(e7, 1), t5; +} +function Hh(e7, t5) { + let n7 = 0; + for (let r8 = 0; r8 < Mh; r8 += 1) n7 = Math.imul(n7 ^ e7[t5 + r8], 16777619); + return n7 >>> 0; +} +function Vh(e7) { + const t5 = Math.floor(e7.length / Mh), n7 = (function(e8) { + let t6 = 1; + for (; t6 < e8; ) t6 *= 2; + return t6; + })(Math.max(t5, 1)) - 1, r8 = new Int32Array(n7 + 1).fill(-1), o5 = new Int32Array(t5).fill(-1); + for (let s8 = 0; s8 < t5; s8 += 1) { + const t6 = Hh(e7, s8 * Mh) & n7; + o5[s8] = r8[t6], r8[t6] = s8; + } + return { base: e7, heads: r8, next: o5, mask: n7 }; +} +function Gh(e7, t5, n7, r8, o5) { + const s8 = (function(e8, t6, n8, r9) { + const o6 = Math.min(Ph, e8.length - n8, t6.length - r9); + let s9 = 0; + for (; s9 < o6 && e8[n8 + s9] === t6[r9 + s9]; ) s9 += 1; + return s9; + })(e7.base, t5, n7, r8), i11 = Math.min(n7, r8 - o5, Ph - s8), a4 = (function(e8, t6, n8, r9, o6) { + let s9 = 0; + for (; s9 < o6 && e8[n8 - s9 - 1] === t6[r9 - s9 - 1]; ) s9 += 1; + return s9; + })(e7.base, t5, n7, r8, i11); + return { baseOffset: n7 - a4, targetStart: r8 - a4, length: s8 + a4 }; +} +function Wh(e7, t5) { + return void 0 === t5 || (e7.length !== t5.length ? e7.length > t5.length : e7.baseOffset < t5.baseOffset); +} +function zh(e7, t5, n7, r8) { + const o5 = Hh(t5, n7) & e7.mask; + let s8, i11 = e7.heads[o5], a4 = 6; + for (; -1 !== i11 && a4 > 0; ) { + const o6 = Gh(e7, t5, i11 * Mh, n7, r8); + Wh(o6, s8) && (s8 = o6), i11 = e7.next[i11], a4 -= 1; } - return { value: n6, nextOffset: o6 + 1 }; + return s8; } -function zf(e6, t5, n6) { - const r6 = (function(e7) { - let t6 = 0; - return 1 & e7 && (t6 += 1), 2 & e7 && (t6 += 1), 4 & e7 && (t6 += 1), 8 & e7 && (t6 += 1), 16 & e7 && (t6 += 1), 32 & e7 && (t6 += 1), 64 & e7 && (t6 += 1), t6; - })(n6); - if (t5 + r6 > e6.length) throw ml(`COPY instruction truncated: needs ${r6} bytes at position ${t5}`); - let o6 = t5, s9 = 0, i7 = 0; - return 1 & n6 && (s9 |= e6[o6], o6 += 1), 2 & n6 && (s9 |= e6[o6] << 8, o6 += 1), 4 & n6 && (s9 |= e6[o6] << 16, o6 += 1), 8 & n6 && (s9 = (s9 | 16777216 * e6[o6]) >>> 0, o6 += 1), 16 & n6 && (i7 |= e6[o6], o6 += 1), 32 & n6 && (i7 |= e6[o6] << 8, o6 += 1), 64 & n6 && (i7 |= e6[o6] << 16, o6 += 1), 0 === i7 && (i7 = 65536), { offset: s9, size: i7, nextPos: o6 }; -} -function Kf(e6, t5, n6, r6, o6) { - if (e6 + t5 > n6) throw ml(`COPY out of bounds: offset=${e6} size=${t5} exceeds base length ${n6}`); - if (r6 + t5 > o6) throw ml(`COPY overflows target: position=${r6} size=${t5} exceeds target length ${o6}`); -} -function Yf(e6, t5, n6, r6, o6, s9) { - if (0 === n6) throw ml("INSERT with N=0 is reserved"); - if (t5 + n6 > e6.length) throw ml(`INSERT data truncated: needs ${n6} bytes at position ${t5}`); - if (o6 + n6 > s9) throw ml(`INSERT overflows target: position=${o6} size=${n6} exceeds target length ${s9}`); - return r6.set(e6.subarray(t5, t5 + n6), o6), { nextPos: t5 + n6, nextResultPos: o6 + n6 }; -} -function Xf(e6) { - const { nextOffset: t5 } = jf(e6, 0), { value: n6 } = jf(e6, t5); - return n6; -} -function qf(e6, t5) { - const { value: n6, nextOffset: r6 } = jf(t5, 0), { value: o6, nextOffset: s9 } = jf(t5, r6); - !(function(e7, t6, n7) { - if (e7.length !== t6) throw ml(`source length mismatch: expected ${t6}, got ${e7.length}`); - if (n7 > 2147483648) throw ml(`target length ${n7} exceeds maximum allowed size`); - })(e6, n6, o6); - const i7 = new Uint8Array(o6); - let a6 = 0, c6 = s9; - for (; c6 < t5.length; ) { - const n7 = t5[c6]; - if (c6 += 1, 128 & n7) { - const { offset: r7, size: s10, nextPos: d5 } = zf(t5, c6, n7); - c6 = d5, Kf(r7, s10, e6.length, a6, o6), i7.set(e6.subarray(r7, r7 + s10), a6), a6 += s10; - } else { - const e7 = Yf(t5, c6, n7, i7, a6, o6); - c6 = e7.nextPos, a6 = e7.nextResultPos; - } - } - if (a6 !== o6) throw ml(`underfill: produced ${a6} bytes but target length is ${o6}`); - return i7; -} -function Jf(e6) { - return `${e6.slice(0, 2)}/${e6.slice(2)}`; -} -var Qf = 1296647256; -var Zf = "OIDF"; -var eh = "OIDL"; -var th = "OOFF"; -var nh = "RIDX"; -var rh = /* @__PURE__ */ new Map([[1, 20], [2, 32]]); -function oh(e6, t5) { - if (e6.length < 12) throw wl("size", "truncated: file too short for header"); - const n6 = new DataView(e6.buffer, e6.byteOffset, e6.byteLength), r6 = n6.getUint32(0); - if (r6 !== Qf) throw wl("signature", `invalid signature: expected 0x${Qf.toString(16)}, got 0x${r6.toString(16).padStart(8, "0")}`); - const o6 = n6.getUint8(4); - if (1 !== o6 && 2 !== o6) throw wl("version", `unsupported version: expected 1 or 2, got ${o6}`); - const s9 = n6.getUint8(5); - if (1 !== s9 && 2 !== s9) throw wl("hash-version", `unsupported hash version: expected 1 or 2, got ${s9}`); - const i7 = rh.get(s9); - if (i7 !== t5) throw wl("hash-version", `hash version ${s9} implies ${i7}-byte object ids, but the caller declared ${t5}`); - const a6 = n6.getUint8(6), c6 = n6.getUint8(7), d5 = n6.getUint32(8), u6 = (function(e7, t6, n7, r7) { - const o7 = n7 + 1, s10 = 12 + 12 * o7, i8 = e7.length - r7; - if (s10 > i8) throw wl("chunk-table", "truncated: chunk table extends past end of file"); - const a7 = [], c7 = /* @__PURE__ */ new Set(); - let d6 = s10; - for (let n8 = 0; n8 < o7; n8 += 1) { - const r8 = 12 + 12 * n8, s11 = t6.getUint32(r8), u7 = 4294967296 * t6.getUint32(r8 + 4) + t6.getUint32(r8 + 8); - if (c7.has(s11)) throw wl("chunk-table", `duplicate chunk id at row ${n8}`); - if (c7.add(s11), 0 === s11 && n8 < o7 - 1) throw wl("chunk-table", `terminating chunk id appears at row ${n8} before the final row`); - if (u7 % 4 != 0 && n8 < o7 - 1) throw wl("chunk-table", `chunk table offset at row ${n8} is not 4-byte aligned`); - if (u7 < d6) throw wl("chunk-table", `chunk table offset at row ${n8} moves backward`); - if (u7 > i8) throw wl("chunk-table", `chunk table offset at row ${n8} extends past end of file`); - a7.push({ name: $t(e7.subarray(r8, r8 + 4)), idWord: s11, offset: u7 }), d6 = u7; - } - if (0 !== a7[a7.length - 1].idWord) throw wl("chunk-table", "final chunk table entry must have id 0"); - return a7; - })(e6, n6, a6, t5), l4 = (function(e7) { +function jh(e7, t5) { + return e7.emitted += t5.length, !(void 0 !== e7.maxSize && e7.emitted > e7.maxSize || (e7.parts.push(t5), 0)); +} +function Kh(e7, t5, n7, r8) { + return n7 === r8 || jh(e7, Fh(t5.subarray(n7, r8))); +} +function Yh(e7, t5, n7, r8) { + if (!Kh(e7, t5, n7, r8.targetStart)) return; + if (!jh(e7, (function(e8, t6) { + const n8 = (function(e9) { + const t7 = []; + let n9 = 0; + for (let r10 = 0; r10 <= 24; r10 += 8) { + const o6 = e9 >>> r10 & 255; + 0 !== o6 && (n9 |= 1 << r10 / 8, t7.push(o6)); + } + return { cmdBits: n9, bytes: t7 }; + })(e8), r9 = (function(e9) { + const t7 = []; + let n9 = 0; + for (let r10 = 0; r10 <= 16; r10 += 8) { + const o6 = e9 >>> r10 & 255; + 0 !== o6 && (n9 |= 16 << r10 / 8, t7.push(o6)); + } + return { cmdBits: n9, bytes: t7 }; + })(t6); + return Uint8Array.from([128 | n8.cmdBits | r9.cmdBits, ...n8.bytes, ...r9.bytes]); + })(r8.baseOffset, r8.length))) return; + const o5 = r8.targetStart + r8.length; + return { pos: o5, literalStart: o5 }; +} +function Xh(e7, t5, n7) { + const r8 = { parts: [], maxSize: n7, emitted: 0 }; + if (!(function(e8, t6, n8) { + return !!jh(e8, Bh(t6)) && jh(e8, Bh(n8)); + })(r8, e7.base.length, t5.length)) return; + let o5 = 0, s8 = 0; + for (; o5 < t5.length; ) { + const n8 = t5.length - o5 >= Mh ? zh(e7, t5, o5, s8) : void 0; + if (void 0 !== n8 && n8.length >= Mh) { + const e8 = Yh(r8, t5, s8, n8); + if (void 0 === e8) return; + o5 = e8.pos, s8 = e8.literalStart; + continue; + } + if (o5 += 1, !(o5 - s8 < 127)) { + if (!jh(r8, Fh(t5.subarray(s8, o5)))) return; + s8 = o5; + } + } + return Kh(r8, t5, s8, t5.length) ? (function(e8, t6) { + const n8 = new Uint8Array(t6); + let r9 = 0; + for (const t7 of e8) n8.set(t7, r9), r9 += t7.length; + return n8; + })(r8.parts, r8.emitted) : void 0; +} +var qh = 0; +function Jh(e7, t5) { + return e7.type !== t5.type ? e7.type - t5.type : e7.nameHash !== t5.nameHash ? t5.nameHash - e7.nameHash : e7.uncompressedSize !== t5.uncompressedSize ? t5.uncompressedSize - e7.uncompressedSize : e7.recency !== t5.recency ? e7.recency - t5.recency : e7.id < t5.id ? -1 : e7.id > t5.id ? 1 : 0; +} +function Qh(e7, t5) { + return e7 + 5 < t5; +} +function Zh(e7) { + const t5 = e7.window ?? 10, n7 = e7.depth ?? 50; + return { enabled: t5 > 0 && n7 > 0, window: t5, maxDepth: Math.min(n7, 50), windowMemoryBudget: e7.windowMemory ?? 0 }; +} +function eg(e7) { + return `${e7.slice(0, 2)}/${e7.slice(2)}`; +} +var tg = 1296647256; +var ng = "OIDF"; +var rg = "OIDL"; +var og = "OOFF"; +var sg = "RIDX"; +var ig = /* @__PURE__ */ new Map([[1, 20], [2, 32]]); +function ag(e7, t5) { + if (e7.length < 12) throw Kl("size", "truncated: file too short for header"); + const n7 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength), r8 = n7.getUint32(0); + if (r8 !== tg) throw Kl("signature", `invalid signature: expected 0x${tg.toString(16)}, got 0x${r8.toString(16).padStart(8, "0")}`); + const o5 = n7.getUint8(4); + if (1 !== o5 && 2 !== o5) throw Kl("version", `unsupported version: expected 1 or 2, got ${o5}`); + const s8 = n7.getUint8(5); + if (1 !== s8 && 2 !== s8) throw Kl("hash-version", `unsupported hash version: expected 1 or 2, got ${s8}`); + const i11 = ig.get(s8); + if (i11 !== t5) throw Kl("hash-version", `hash version ${s8} implies ${i11}-byte object ids, but the caller declared ${t5}`); + const a4 = n7.getUint8(6), c5 = n7.getUint8(7), d6 = n7.getUint32(8), u6 = (function(e8, t6, n8, r9) { + const o6 = n8 + 1, s9 = 12 + 12 * o6, i12 = e8.length - r9; + if (s9 > i12) throw Kl("chunk-table", "truncated: chunk table extends past end of file"); + const a5 = [], c6 = /* @__PURE__ */ new Set(); + let d7 = s9; + for (let n9 = 0; n9 < o6; n9 += 1) { + const r10 = 12 + 12 * n9, s10 = t6.getUint32(r10), u7 = 4294967296 * t6.getUint32(r10 + 4) + t6.getUint32(r10 + 8); + if (c6.has(s10)) throw Kl("chunk-table", `duplicate chunk id at row ${n9}`); + if (c6.add(s10), 0 === s10 && n9 < o6 - 1) throw Kl("chunk-table", `terminating chunk id appears at row ${n9} before the final row`); + if (u7 % 4 != 0 && n9 < o6 - 1) throw Kl("chunk-table", `chunk table offset at row ${n9} is not 4-byte aligned`); + if (u7 < d7) throw Kl("chunk-table", `chunk table offset at row ${n9} moves backward`); + if (u7 > i12) throw Kl("chunk-table", `chunk table offset at row ${n9} extends past end of file`); + a5.push({ name: kt(e8.subarray(r10, r10 + 4)), idWord: s10, offset: u7 }), d7 = u7; + } + if (0 !== a5[a5.length - 1].idWord) throw Kl("chunk-table", "final chunk table entry must have id 0"); + return a5; + })(e7, n7, a4, t5), l4 = (function(e8) { const t6 = /* @__PURE__ */ new Map(); - for (let n7 = 0; n7 < e7.length - 1; n7 += 1) t6.set(e7[n7].name, { start: e7[n7].offset, end: e7[n7 + 1].offset }); + for (let n8 = 0; n8 < e8.length - 1; n8 += 1) t6.set(e8[n8].name, { start: e8[n8].offset, end: e8[n8 + 1].offset }); return t6; - })(u6), f2 = sh(l4, "PNAM"), h6 = sh(l4, Zf), g7 = sh(l4, eh), m5 = sh(l4, th); - ih(h6, 1024, Zf); - const p5 = (function(e7, t6) { - let n7 = e7.getUint32(t6); - for (let r7 = 1; r7 < 256; r7 += 1) { - const o7 = e7.getUint32(t6 + 4 * r7); - if (o7 < n7) throw wl("fanout", `non-monotonic OIDF fanout at index ${r7}: ${n7} > ${o7}`); - n7 = o7; + })(u6), f2 = cg(l4, "PNAM"), h5 = cg(l4, ng), g7 = cg(l4, rg), m7 = cg(l4, og); + dg(h5, 1024, ng); + const p6 = (function(e8, t6) { + let n8 = e8.getUint32(t6); + for (let r9 = 1; r9 < 256; r9 += 1) { + const o6 = e8.getUint32(t6 + 4 * r9); + if (o6 < n8) throw Kl("fanout", `non-monotonic OIDF fanout at index ${r9}: ${n8} > ${o6}`); + n8 = o6; + } + return n8; + })(n7, h5.start); + dg(g7, p6 * t5, rg), dg(m7, 8 * p6, og); + const w6 = (function(e8, t6, n8, r9) { + const o6 = []; + let s9 = t6.start; + for (let r10 = 0; r10 < n8; r10 += 1) { + let n9 = s9; + for (; n9 < t6.end && 0 !== e8[n9]; ) n9 += 1; + if (n9 >= t6.end) throw Kl("pack-names", `pack name ${r10} is not NUL-terminated within the PNAM chunk`); + if (n9 === s9) throw Kl("pack-names", `pack name ${r10} is empty`); + o6.push(kt(e8.subarray(s9, n9))), s9 = n9 + 1; } - return n7; - })(n6, h6.start); - ih(g7, p5 * t5, eh), ih(m5, 8 * p5, th); - const w4 = (function(e7, t6, n7, r7) { - const o7 = []; - let s10 = t6.start; - for (let r8 = 0; r8 < n7; r8 += 1) { - let n8 = s10; - for (; n8 < t6.end && 0 !== e7[n8]; ) n8 += 1; - if (n8 >= t6.end) throw wl("pack-names", `pack name ${r8} is not NUL-terminated within the PNAM chunk`); - if (n8 === s10) throw wl("pack-names", `pack name ${r8} is empty`); - o7.push($t(e7.subarray(s10, n8))), s10 = n8 + 1; - } - if (1 === r7) { - for (let e8 = 1; e8 < o7.length; e8 += 1) if (!(o7[e8 - 1] < o7[e8])) throw wl("pack-names", `pack names out of order at entries ${e8 - 1} and ${e8}`); - } - return o7; - })(e6, f2, d5, o6), y6 = l4.get("LOFF"), E7 = y6?.start, b5 = void 0 === y6 ? 0 : (function(e7) { - const t6 = e7.end - e7.start; - if (t6 % 8 != 0) throw wl("chunk-length", `chunk LOFF has size ${t6}, not a multiple of 8`); + if (1 === r9) { + for (let e9 = 1; e9 < o6.length; e9 += 1) if (!(o6[e9 - 1] < o6[e9])) throw Kl("pack-names", `pack names out of order at entries ${e9 - 1} and ${e9}`); + } + return o6; + })(e7, f2, d6, o5), y5 = l4.get("LOFF"), E7 = y5?.start, b5 = void 0 === y5 ? 0 : (function(e8) { + const t6 = e8.end - e8.start; + if (t6 % 8 != 0) throw Kl("chunk-length", `chunk LOFF has size ${t6}, not a multiple of 8`); return t6 / 8; - })(y6), I10 = l4.get(nh), _5 = I10?.start; - return void 0 !== I10 && ih(I10, 4 * p5, nh), { version: o6, hashVersion: s9, digestLength: t5, numBaseFiles: c6, objectCount: p5, packNames: w4, oidFanoutOffset: h6.start, oidLookupOffset: g7.start, objectOffsetsOffset: m5.start, largeOffsetsOffset: E7, largeOffsetCount: b5, reverseIndexOffset: _5, _bytes: e6, _view: n6 }; + })(y5), I10 = l4.get(sg), _6 = I10?.start; + return void 0 !== I10 && dg(I10, 4 * p6, sg), { version: o5, hashVersion: s8, digestLength: t5, numBaseFiles: c5, objectCount: p6, packNames: w6, oidFanoutOffset: h5.start, oidLookupOffset: g7.start, objectOffsetsOffset: m7.start, largeOffsetsOffset: E7, largeOffsetCount: b5, reverseIndexOffset: _6, _bytes: e7, _view: n7 }; } -function sh(e6, t5) { - const n6 = e6.get(t5); - if (void 0 === n6) throw wl("required-chunk", `missing required ${t5} chunk`); - return n6; +function cg(e7, t5) { + const n7 = e7.get(t5); + if (void 0 === n7) throw Kl("required-chunk", `missing required ${t5} chunk`); + return n7; } -function ih(e6, t5, n6) { - const r6 = e6.end - e6.start; - if (r6 !== t5) throw wl("chunk-length", `chunk ${n6} has size ${r6}, expected ${t5}`); +function dg(e7, t5, n7) { + const r8 = e7.end - e7.start; + if (r8 !== t5) throw Kl("chunk-length", `chunk ${n7} has size ${r8}, expected ${t5}`); } -function ah(e6, t5) { - return e6._view.getUint32(e6.oidFanoutOffset + 4 * t5); +function ug(e7, t5) { + return e7._view.getUint32(e7.oidFanoutOffset + 4 * t5); } -function ch(e6, t5, n6) { - const r6 = e6.oidLookupOffset + t5 * e6.digestLength, o6 = e6._bytes; - for (let t6 = 0; t6 < e6.digestLength; t6 += 1) { - const e7 = o6[r6 + t6] - n6[t6]; - if (0 !== e7) return e7; +function lg(e7, t5, n7) { + const r8 = e7.oidLookupOffset + t5 * e7.digestLength, o5 = e7._bytes; + for (let t6 = 0; t6 < e7.digestLength; t6 += 1) { + const e8 = o5[r8 + t6] - n7[t6]; + if (0 !== e8) return e8; } return 0; } -function dh(e6, t5) { - const n6 = e6._view.getUint32(e6.objectOffsetsOffset + 8 * t5 + 4); - if (void 0 === e6.largeOffsetsOffset || !(2147483648 & n6)) return n6 >>> 0; - const r6 = 2147483647 & n6; - if (r6 >= e6.largeOffsetCount) throw wl("large-offset", `large offset row ${r6} out of range for ${e6.largeOffsetCount} entries`); - const o6 = e6._view.getUint32(e6.largeOffsetsOffset + 8 * r6); - if (o6 > 2097151) throw wl("large-offset", `pack offset exceeds safe JavaScript number range: high word=${o6}`); - return 4294967296 * o6 + e6._view.getUint32(e6.largeOffsetsOffset + 8 * r6 + 4); -} -function uh(e6, t5) { - const n6 = e6._view.getUint32(e6.objectOffsetsOffset + 8 * t5); - if (n6 >= e6.packNames.length) throw wl("pack-int-id", `pack index ${n6} out of range for ${e6.packNames.length} pack names`); - return { packIndex: n6, offset: dh(e6, t5) }; -} -function lh(e6, t5) { - const n6 = gh(e6, t5); - return void 0 === n6 ? void 0 : uh(e6, n6); -} -function fh(e6, t5) { - return gh(e6, yt(t5)); -} -function hh(e6) { - const t5 = e6.reverseIndexOffset; +function fg(e7, t5) { + const n7 = e7._view.getUint32(e7.objectOffsetsOffset + 8 * t5 + 4); + if (void 0 === e7.largeOffsetsOffset || !(2147483648 & n7)) return n7 >>> 0; + const r8 = 2147483647 & n7; + if (r8 >= e7.largeOffsetCount) throw Kl("large-offset", `large offset row ${r8} out of range for ${e7.largeOffsetCount} entries`); + const o5 = e7._view.getUint32(e7.largeOffsetsOffset + 8 * r8); + if (o5 > 2097151) throw Kl("large-offset", `pack offset exceeds safe JavaScript number range: high word=${o5}`); + return 4294967296 * o5 + e7._view.getUint32(e7.largeOffsetsOffset + 8 * r8 + 4); +} +function hg(e7, t5) { + const n7 = e7._view.getUint32(e7.objectOffsetsOffset + 8 * t5); + if (n7 >= e7.packNames.length) throw Kl("pack-int-id", `pack index ${n7} out of range for ${e7.packNames.length} pack names`); + return { packIndex: n7, offset: fg(e7, t5) }; +} +function gg(e7, t5) { + const n7 = wg(e7, t5); + return void 0 === n7 ? void 0 : hg(e7, n7); +} +function mg(e7, t5) { + return wg(e7, Ot(t5)); +} +function pg(e7) { + const t5 = e7.reverseIndexOffset; if (void 0 === t5) return; - const n6 = new Uint32Array(e6.objectCount); - for (let r6 = 0; r6 < e6.objectCount; r6 += 1) { - const o6 = e6._view.getUint32(t5 + 4 * r6); - if (o6 >= e6.objectCount) return; - n6[r6] = o6; - } - return n6; -} -function gh(e6, t5) { - if (t5.length !== e6.digestLength) return; - const n6 = t5[0]; - let r6 = 0 === n6 ? 0 : ah(e6, n6 - 1), o6 = ah(e6, n6); - for (; r6 < o6; ) { - const n7 = r6 + o6 >>> 1, s9 = ch(e6, n7, t5); - if (s9 < 0) r6 = n7 + 1; + const n7 = new Uint32Array(e7.objectCount); + for (let r8 = 0; r8 < e7.objectCount; r8 += 1) { + const o5 = e7._view.getUint32(t5 + 4 * r8); + if (o5 >= e7.objectCount) return; + n7[r8] = o5; + } + return n7; +} +function wg(e7, t5) { + if (t5.length !== e7.digestLength) return; + const n7 = t5[0]; + let r8 = 0 === n7 ? 0 : ug(e7, n7 - 1), o5 = ug(e7, n7); + for (; r8 < o5; ) { + const n8 = r8 + o5 >>> 1, s8 = lg(e7, n8, t5); + if (s8 < 0) r8 = n8 + 1; else { - if (!(s9 > 0)) return n7; - o6 = n7; - } - } -} -function mh(e6, t5) { - const n6 = e6.oidLookupOffset + t5 * e6.digestLength; - return wt(e6._bytes.subarray(n6, n6 + e6.digestLength)); -} -function ph(e6, t5) { - return uh(e6, t5); -} -function wh(e6) { - return 2 * e6; -} -function yh(e6, t5) { - return 1032 + e6 * t5; -} -function Eh(e6, t5) { - if (e6.length < 1032) throw hl("truncated: file too short for header and fanout"); - const n6 = new DataView(e6.buffer, e6.byteOffset, e6.byteLength), r6 = n6.getUint32(0); - if (4285812579 !== r6) throw hl(`invalid magic: expected 0xff744f63, got 0x${r6.toString(16).padStart(8, "0")}`); - const o6 = n6.getUint32(4); - if (2 !== o6) throw hl(`unsupported version: expected 2, got ${o6}`); - !(function(e7) { + if (!(s8 > 0)) return n8; + o5 = n8; + } + } +} +function yg(e7, t5) { + const n7 = e7.oidLookupOffset + t5 * e7.digestLength; + return vt(e7._bytes.subarray(n7, n7 + e7.digestLength)); +} +function Eg(e7, t5) { + return hg(e7, t5); +} +var bg = 1380533336; +var Ig = 12; +var _g = "reverse index is too small"; +var vg = "reverse index is corrupt"; +function Og(e7, t5, n7) { + if (e7.length < Ig + 2 * t5) throw Yl("size", _g); + const r8 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength), o5 = r8.getUint32(0); + if (o5 !== bg) throw Yl("signature", `invalid signature: expected 0x${bg.toString(16)}, got 0x${o5.toString(16).padStart(8, "0")}`); + const s8 = r8.getUint32(4); + if (1 !== s8) throw Yl("version", `unsupported version: expected 1, got ${s8}`); + const i11 = r8.getUint32(8); + if (1 !== i11 && 2 !== i11) throw Yl("hash-id", `unsupported hash id: expected 1 or 2, got ${i11}`); + if (e7.length !== Ig + 4 * n7 + 2 * t5) throw Yl("size", vg); + const a4 = Ig + 4 * n7; + return { version: s8, hashId: i11, digestLength: t5, objectCount: n7, packChecksum: e7.subarray(a4, a4 + t5), _bytes: e7, _view: r8 }; +} +function Tg(e7, t5) { + const n7 = t5.length; + ((e8, t6) => { + Oh(e8, t6, (e9, t7) => { + throw Yl("count" === e9 ? "size" : e9, t7); + }); + })(e7, n7); + const { count: r8 } = e7.entries, o5 = 32 === n7 ? 2 : 1, s8 = r8, i11 = (function(e8) { + const { entries: t6, order: n8 } = e8, r9 = t6.count, o6 = new Uint32Array(r9), s9 = new Float64Array(r9); + for (let e9 = 0; e9 < r9; e9 += 1) o6[e9] = e9, s9[e9] = t6.offsets[n8[e9]]; + return o6.sort((e9, t7) => s9[e9] - s9[t7]), o6; + })(e7), a4 = new Uint8Array(Ig + 4 * s8 + 2 * n7), c5 = new DataView(a4.buffer); + return c5.setUint32(0, bg), c5.setUint32(4, 1), c5.setUint32(8, o5), i11.forEach((e8, t6) => { + c5.setUint32(Ig + 4 * t6, e8); + }), a4.set(t5, Ig + 4 * s8), a4; +} +function Ag(e7, t5) { + if (t5 >= e7.objectCount) throw Yl("size", `pack position ${t5} out of range for ${e7.objectCount} objects`); + return e7._view.getUint32(Ig + 4 * t5); +} +function $g(e7) { + return 2 * e7; +} +function xg(e7, t5) { + return 1032 + e7 * t5; +} +function Sg(e7, t5) { + if (e7.length < 1032) throw Gl("truncated: file too short for header and fanout"); + const n7 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength), r8 = n7.getUint32(0); + if (4285812579 !== r8) throw Gl(`invalid magic: expected 0xff744f63, got 0x${r8.toString(16).padStart(8, "0")}`); + const o5 = n7.getUint32(4); + if (2 !== o5) throw Gl(`unsupported version: expected 2, got ${o5}`); + !(function(e8) { let t6 = 0; - for (let n7 = 0; n7 < 256; n7++) { - const r7 = e7.getUint32(8 + 4 * n7); - if (r7 < t6) throw hl(`non-monotonic fanout at index ${n7}: ${t6} > ${r7}`); - t6 = r7; - } - })(n6); - const s9 = n6.getUint32(1028), i7 = yh(s9, t5), a6 = i7 + 4 * s9, c6 = a6 + 4 * s9, d5 = e6.length - wh(t5), u6 = c6 + wh(t5); - if (e6.length < u6) throw hl(`truncated: expected at least ${u6} bytes for ${s9} objects, got ${e6.length}`); - return { objectCount: s9, digestLength: t5, crc32TableOffset: i7, smallOffsetsTableOffset: a6, largeOffsetsTableOffset: c6, trailerOffset: d5, _bytes: e6, _view: n6 }; -} -function bh(e6, t5) { - return e6._view.getUint32(8 + 4 * t5); -} -function Ih(e6, t5, n6) { - const r6 = e6.digestLength, o6 = yh(t5, r6), s9 = e6._bytes; - for (let e7 = 0; e7 < r6; e7 += 1) { - const t6 = s9[o6 + e7] - n6[e7]; + for (let n8 = 0; n8 < 256; n8++) { + const r9 = e8.getUint32(8 + 4 * n8); + if (r9 < t6) throw Gl(`non-monotonic fanout at index ${n8}: ${t6} > ${r9}`); + t6 = r9; + } + })(n7); + const s8 = n7.getUint32(1028), i11 = xg(s8, t5), a4 = i11 + 4 * s8, c5 = a4 + 4 * s8, d6 = e7.length - $g(t5), u6 = c5 + $g(t5); + if (e7.length < u6) throw Gl(`truncated: expected at least ${u6} bytes for ${s8} objects, got ${e7.length}`); + return { objectCount: s8, digestLength: t5, crc32TableOffset: i11, smallOffsetsTableOffset: a4, largeOffsetsTableOffset: c5, trailerOffset: d6, _bytes: e7, _view: n7 }; +} +function Ng(e7, t5) { + return e7._view.getUint32(8 + 4 * t5); +} +function Lg(e7, t5, n7) { + const r8 = e7.digestLength, o5 = xg(t5, r8), s8 = e7._bytes; + for (let e8 = 0; e8 < r8; e8 += 1) { + const t6 = s8[o5 + e8] - n7[e8]; if (0 !== t6) return t6; } return 0; } -function _h(e6, t5) { - const n6 = e6._view.getUint32(e6.smallOffsetsTableOffset + 4 * t5); - if (2147483648 & n6) { - const t6 = 2147483647 & n6, r6 = e6.largeOffsetsTableOffset + 8 * t6; - if (r6 + 8 > e6.trailerOffset) throw hl(`large offset index ${t6} out of range`); - const o6 = e6._view.getUint32(r6), s9 = e6._view.getUint32(r6 + 4); - if (o6 > 2097151) throw hl(`pack offset exceeds safe JavaScript number range: high word=${o6}`); - return 4294967296 * o6 + s9; +function Rg(e7, t5) { + const n7 = e7._view.getUint32(e7.smallOffsetsTableOffset + 4 * t5); + if (2147483648 & n7) { + const t6 = 2147483647 & n7, r8 = e7.largeOffsetsTableOffset + 8 * t6; + if (r8 + 8 > e7.trailerOffset) throw Gl(`large offset index ${t6} out of range`); + const o5 = e7._view.getUint32(r8), s8 = e7._view.getUint32(r8 + 4); + if (o5 > 2097151) throw Gl(`pack offset exceeds safe JavaScript number range: high word=${o5}`); + return 4294967296 * o5 + s8; } - return n6; + return n7; } -function vh(e6) { +function kg(e7) { const t5 = []; - for (let n6 = 0; n6 < e6.objectCount; n6 += 1) t5.push(_h(e6, n6)); + for (let n7 = 0; n7 < e7.objectCount; n7 += 1) t5.push(Rg(e7, n7)); + return t5; +} +function Dg(e7) { + const t5 = new Float64Array(e7.objectCount); + for (let n7 = 0; n7 < e7.objectCount; n7 += 1) t5[n7] = Rg(e7, n7); return t5; } -function Th(e6, t5) { - if (t5.length !== e6.digestLength) return; - const n6 = t5[0]; - let r6 = 0 === n6 ? 0 : bh(e6, n6 - 1), o6 = bh(e6, n6); - for (; r6 < o6; ) { - const n7 = r6 + o6 >>> 1, s9 = Ih(e6, n7, t5); - if (s9 < 0) r6 = n7 + 1; +function Ug(e7, t5, n7) { + const r8 = Ag(t5, n7); + if (!(r8 >= e7.objectCount)) return Rg(e7, r8); +} +function Cg(e7, t5) { + if (t5.length !== e7.digestLength) return; + const n7 = t5[0]; + let r8 = 0 === n7 ? 0 : Ng(e7, n7 - 1), o5 = Ng(e7, n7); + for (; r8 < o5; ) { + const n8 = r8 + o5 >>> 1, s8 = Lg(e7, n8, t5); + if (s8 < 0) r8 = n8 + 1; else { - if (!(s9 > 0)) return n7; - o6 = n7; - } - } -} -function Oh(e6, t5) { - const n6 = Th(e6, yt(t5)); - return void 0 === n6 ? void 0 : _h(e6, n6); -} -function $h(e6, t5) { - return Th(e6, yt(t5)); -} -function Ah(e6, t5) { - const n6 = yh(t5, e6.digestLength); - return wt(e6._bytes.subarray(n6, n6 + e6.digestLength)); -} -var Nh = /^[0-9a-f]+$/; -function Sh(e6, t5) { - const n6 = 2 * e6.digestLength; - if (t5.length < 4) throw hl(`prefix too short: minimum 4 hex chars, got ${t5.length}`); - if (t5.length > n6) throw hl(`prefix too long: maximum ${n6} hex chars, got ${t5.length}`); - if (!Nh.test(t5)) throw hl("prefix contains non-hex characters"); - const r6 = t5.padEnd(n6, "0"), o6 = t5.padEnd(n6, "f"), s9 = yt(r6), i7 = yt(o6), a6 = s9[0], c6 = 0 === a6 ? 0 : bh(e6, a6 - 1), d5 = bh(e6, i7[0]), u6 = (function(e7, t6, n7, r7) { - let o7 = t6, s10 = n7; - for (; o7 < s10; ) { - const t7 = o7 + s10 >>> 1; - Ih(e7, t7, r7) < 0 ? o7 = t7 + 1 : s10 = t7; - } - return o7; - })(e6, c6, d5, s9), l4 = (function(e7, t6, n7, r7) { - let o7 = t6, s10 = n7; - for (; o7 < s10; ) { - const t7 = o7 + s10 >>> 1; - Ih(e7, t7, r7) <= 0 ? o7 = t7 + 1 : s10 = t7; - } - return o7; - })(e6, c6, d5, i7), f2 = []; - for (let t6 = u6; t6 < l4; t6++) f2.push(Ah(e6, t6)); + if (!(s8 > 0)) return n8; + o5 = n8; + } + } +} +function Mg(e7, t5) { + const n7 = Cg(e7, Ot(t5)); + return void 0 === n7 ? void 0 : Rg(e7, n7); +} +function Pg(e7, t5) { + return Cg(e7, Ot(t5)); +} +function Bg(e7, t5) { + const n7 = xg(t5, e7.digestLength); + return vt(e7._bytes.subarray(n7, n7 + e7.digestLength)); +} +var Fg = /^[0-9a-f]+$/; +function Hg(e7, t5) { + const n7 = 2 * e7.digestLength; + if (t5.length < 4) throw Gl(`prefix too short: minimum 4 hex chars, got ${t5.length}`); + if (t5.length > n7) throw Gl(`prefix too long: maximum ${n7} hex chars, got ${t5.length}`); + if (!Fg.test(t5)) throw Gl("prefix contains non-hex characters"); + const r8 = t5.padEnd(n7, "0"), o5 = t5.padEnd(n7, "f"), s8 = Ot(r8), i11 = Ot(o5), a4 = s8[0], c5 = 0 === a4 ? 0 : Ng(e7, a4 - 1), d6 = Ng(e7, i11[0]), u6 = (function(e8, t6, n8, r9) { + let o6 = t6, s9 = n8; + for (; o6 < s9; ) { + const t7 = o6 + s9 >>> 1; + Lg(e8, t7, r9) < 0 ? o6 = t7 + 1 : s9 = t7; + } + return o6; + })(e7, c5, d6, s8), l4 = (function(e8, t6, n8, r9) { + let o6 = t6, s9 = n8; + for (; o6 < s9; ) { + const t7 = o6 + s9 >>> 1; + Lg(e8, t7, r9) <= 0 ? o6 = t7 + 1 : s9 = t7; + } + return o6; + })(e7, c5, d6, i11), f2 = []; + for (let t6 = u6; t6 < l4; t6++) f2.push(Bg(e7, t6)); return f2; } -function xh(e6) { +function Vg(e7) { const t5 = []; - for (let n6 = 0; n6 < e6.objectCount; n6++) t5.push(Ah(e6, n6)); + for (let n7 = 0; n7 < e7.objectCount; n7++) t5.push(Bg(e7, n7)); return t5; } -function Lh(e6) { - const t5 = e6.map((e7) => ({ shaBytes: yt(e7.id), entry: e7 })); - return t5.sort((e7, t6) => bt(e7.shaBytes, t6.shaBytes)), t5; -} -function Rh(e6) { - const t5 = (function(e7, t6) { - const n7 = new Uint8Array(12), r7 = new DataView(n7.buffer); - return r7.setUint32(0, Il), r7.setUint32(4, 2), r7.setUint32(8, t6), n7; - })(0, e6.length), n6 = [t5], r6 = []; - let o6 = t5.length; - for (const t6 of e6) { - const e7 = Dh($l(t6.type, t6.uncompressedSize), t6.compressedData), s9 = Tn(e7); - r6.push({ crc32: s9, offset: o6 }), n6.push(e7), o6 += e7.length; - } - return { data: Uh(n6), entries: r6 }; -} -function kh(e6, t5, n6) { - const r6 = t5.length; - if (20 !== r6 && 32 !== r6) throw hl(`packChecksum must be 20 or 32 bytes, got ${r6}`); - const o6 = n6 ?? Lh(e6), s9 = o6.length; - let i7 = 0; - for (const e7 of o6) e7.entry.offset > 2147483647 && (i7 += 1); - const a6 = s9 * r6, c6 = 4 * s9, d5 = 4 * s9, u6 = r6, l4 = 1032 + a6 + c6 + d5 + 8 * i7 + u6, f2 = new Uint8Array(l4), h6 = new DataView(f2.buffer); - h6.setUint32(0, 4285812579), h6.setUint32(4, 2); - const g7 = new Uint32Array(256); - for (const { shaBytes: e7 } of o6) g7[e7[0]] += 1; - const m5 = new Uint32Array(256); - let p5 = 0; - for (let e7 = 0; e7 < 256; e7++) p5 += g7[e7], m5[e7] = p5; - for (let e7 = 0; e7 < 256; e7++) h6.setUint32(8 + 4 * e7, m5[e7]); - for (let e7 = 0; e7 < s9; e7++) f2.set(o6[e7].shaBytes, 1032 + e7 * r6); - const w4 = 1032 + a6; - for (let e7 = 0; e7 < s9; e7++) h6.setUint32(w4 + 4 * e7, o6[e7].entry.crc32); - const y6 = w4 + c6; - let E7 = 0; - const b5 = y6 + d5; - for (let e7 = 0; e7 < s9; e7++) { - const t6 = o6[e7].entry.offset; +var Gg = new Uint8Array(256); +Gg[9] = 1, Gg[10] = 1, Gg[13] = 1, Gg[32] = 1; +var Wg = 0; +var zg = 0; +var jg = Uint8Array.of(47); +function Kg(e7, t5, n7, r8) { + const o5 = r8 ? t5 : e7.fold(t5, jg); + return e7.fold(o5, n7); +} +var Yg = { seed: 0, fold: function(e7, t5) { + let n7 = e7; + for (let e8 = 0; e8 < t5.length; e8 += 1) { + const r8 = t5[e8]; + 1 !== Gg[r8] && (n7 = (n7 >>> 2) + (r8 << 24) >>> 0); + } + return n7; +} }; +function Xg(e7, t5, n7) { + if (e7 >= t5) throw Wl(n7, `OFS_DELTA base index ${e7} is not before entry ${t5}`); + if (e7 < 0) throw Wl(n7, `OFS_DELTA base index ${e7} out of range`); + if (!Number.isInteger(e7)) throw Wl(n7, `OFS_DELTA base index ${e7} out of range`); +} +function qg(e7, t5, n7) { + const r8 = (function(e8, t6) { + const n8 = []; + let r9 = (7 & e8) << 4 | 15 & t6, o5 = t6 >>> 4; + for (o5 > 0 && (r9 |= 128), n8.push(r9); o5 > 0; ) { + let e9 = 127 & o5; + o5 >>>= 7, o5 > 0 && (e9 |= 128), n8.push(e9); + } + return new Uint8Array(n8); + })(e7.type, e7.uncompressedSize); + return $t(e7.type !== Ql.OFS_DELTA ? [r8, e7.compressedData] : [r8, of(n7 - t5[e7.baseIndex]), e7.compressedData]); +} +function Jg(e7) { + const t5 = (function(e8, t6) { + const n8 = new Uint8Array(12), r9 = new DataView(n8.buffer); + return r9.setUint32(0, Zl), r9.setUint32(4, 2), r9.setUint32(8, t6), n8; + })(0, e7.length), n7 = [t5], r8 = [], o5 = []; + let s8 = t5.length; + for (const [t6, i11] of e7.entries()) { + i11.type === Ql.OFS_DELTA && Xg(i11.baseIndex, t6, s8); + const e8 = qg(i11, o5, s8); + r8.push({ crc32: Nn(e8), offset: s8 }), o5.push(s8), n7.push(e8), s8 += e8.length; + } + return { data: $t(n7), entries: r8 }; +} +function Qg(e7, t5) { + const n7 = t5.length; + ((e8, t6) => { + Oh(e8, t6, (e9, t7) => { + throw Gl(t7); + }); + })(e7, n7); + const { entries: r8, order: o5 } = e7, { count: s8, oids: i11, crcValues: a4, offsets: c5 } = r8, d6 = s8; + let u6 = 0; + for (let e8 = 0; e8 < d6; e8 += 1) c5[o5[e8]] > 2147483647 && (u6 += 1); + const l4 = d6 * n7, f2 = 4 * d6, h5 = 4 * d6, g7 = n7, m7 = 1032 + l4 + f2 + h5 + 8 * u6 + 2 * g7, p6 = new Uint8Array(m7), w6 = new DataView(p6.buffer); + w6.setUint32(0, 4285812579), w6.setUint32(4, 2); + const y5 = new Uint32Array(256); + for (let e8 = 0; e8 < d6; e8 += 1) y5[i11[o5[e8] * n7]] += 1; + const E7 = new Uint32Array(256); + let b5 = 0; + for (let e8 = 0; e8 < 256; e8++) b5 += y5[e8], E7[e8] = b5; + for (let e8 = 0; e8 < 256; e8++) w6.setUint32(8 + 4 * e8, E7[e8]); + for (let e8 = 0; e8 < d6; e8++) { + const t6 = o5[e8]; + p6.set(i11.subarray(t6 * n7, (t6 + 1) * n7), 1032 + e8 * n7); + } + const I10 = 1032 + l4; + for (let e8 = 0; e8 < d6; e8++) w6.setUint32(I10 + 4 * e8, a4[o5[e8]]); + const _6 = I10 + f2; + let v6 = 0; + const O6 = _6 + h5; + for (let e8 = 0; e8 < d6; e8++) { + const t6 = c5[o5[e8]]; if (t6 > 2147483647) { - h6.setUint32(y6 + 4 * e7, 2147483648 | E7); - const n7 = Math.floor(t6 / 4294967296), r7 = t6 >>> 0; - h6.setUint32(b5 + 8 * E7, n7), h6.setUint32(b5 + 8 * E7 + 4, r7), E7 += 1; - } else h6.setUint32(y6 + 4 * e7, t6); - } - return f2.set(t5, l4 - u6), f2; -} -function Dh(e6, t5) { - const n6 = new Uint8Array(e6.length + t5.length); - return n6.set(e6), n6.set(t5, e6.length), n6; -} -function Uh(e6) { - const t5 = e6.reduce((e7, t6) => e7 + t6.length, 0), n6 = new Uint8Array(t5); - let r6 = 0; - for (const t6 of e6) n6.set(t6, r6), r6 += t6.length; - return n6; -} -var Ch = 1380533336; -var Mh = 12; -var Ph = "reverse index is too small"; -var Bh = "reverse index is corrupt"; -function Fh(e6, t5, n6) { - if (e6.length < Mh + 2 * t5) throw yl("size", Ph); - const r6 = new DataView(e6.buffer, e6.byteOffset, e6.byteLength), o6 = r6.getUint32(0); - if (o6 !== Ch) throw yl("signature", `invalid signature: expected 0x${Ch.toString(16)}, got 0x${o6.toString(16).padStart(8, "0")}`); - const s9 = r6.getUint32(4); - if (1 !== s9) throw yl("version", `unsupported version: expected 1, got ${s9}`); - const i7 = r6.getUint32(8); - if (1 !== i7 && 2 !== i7) throw yl("hash-id", `unsupported hash id: expected 1 or 2, got ${i7}`); - if (e6.length !== Mh + 4 * n6 + 2 * t5) throw yl("size", Bh); - const a6 = Mh + 4 * n6; - return { version: s9, hashId: i7, digestLength: t5, objectCount: n6, packChecksum: e6.subarray(a6, a6 + t5), _bytes: e6, _view: r6 }; -} -function Hh(e6, t5, n6) { - const r6 = t5.length; - if (20 !== r6 && 32 !== r6) throw yl("hash-id", `packChecksum must be 20 or 32 bytes, got ${r6}`); - const o6 = 32 === r6 ? 2 : 1, s9 = e6.length, i7 = (function(e7) { - const t6 = new Uint32Array(e7.length), n7 = new Float64Array(e7.length); - for (let r7 = 0; r7 < t6.length; r7 += 1) t6[r7] = r7, n7[r7] = e7[r7].entry.offset; - return t6.sort((e8, t7) => n7[e8] - n7[t7]), t6; - })(n6 ?? Lh(e6)), a6 = new Uint8Array(Mh + 4 * s9 + 2 * r6), c6 = new DataView(a6.buffer); - return c6.setUint32(0, Ch), c6.setUint32(4, 1), c6.setUint32(8, o6), i7.forEach((e7, t6) => { - c6.setUint32(Mh + 4 * t6, e7); - }), a6.set(t5, Mh + 4 * s9), a6; -} -function Vh(e6, t5) { - if (t5 >= e6.objectCount) throw yl("size", `pack position ${t5} out of range for ${e6.objectCount} objects`); - return e6._view.getUint32(Mh + 4 * t5); -} -var Gh = (e6) => { + w6.setUint32(_6 + 4 * e8, 2147483648 | v6); + const n8 = Math.floor(t6 / 4294967296), r9 = t6 >>> 0; + w6.setUint32(O6 + 8 * v6, n8), w6.setUint32(O6 + 8 * v6 + 4, r9), v6 += 1; + } else w6.setUint32(_6 + 4 * e8, t6); + } + return p6.set(t5, m7 - 2 * g7), p6; +} +var Zg = (e7) => { const t5 = []; - for (const n6 of e6.split("/")) "" !== n6 && "." !== n6 && (".." !== n6 ? t5.push(n6) : t5.pop()); + for (const n7 of e7.split("/")) "" !== n7 && "." !== n7 && (".." !== n7 ? t5.push(n7) : t5.pop()); return `/${t5.join("/")}`; }; -var Wh = (e6) => `commit (initial): ${e6}`; -var jh = (e6) => `commit (merge): ${e6}`; -var zh = (e6) => `commit (cherry-pick): ${e6}`; -var Kh = (e6) => `commit: ${e6}`; -var Yh = (e6) => `branch: Created from ${e6}`; -var Xh = (e6, t5) => `Branch: renamed ${e6} to ${t5}`; -var qh = (e6) => `reset: moving to ${e6}`; -var Jh = (e6) => `clone: from ${e6}`; -var Qh = (e6) => `fetch ${e6}: storing head`; -var Zh = "update by push"; -var eg = (e6) => `cherry-pick: ${e6}`; -var tg = (e6) => `revert: ${e6}`; -var ng = (e6) => `rebase (start): checkout ${e6}`; -var rg = (e6, t5) => `rebase (${e6}): ${t5}`; -var og = (e6) => `rebase (pick): ${e6}`; -var sg = (e6) => `rebase (edit): ${e6}`; -var ig = (e6) => `rebase (reword): ${e6}`; -var ag = (e6) => `rebase (continue): ${e6}`; -var cg = (e6, t5) => `rebase (finish): ${e6} onto ${t5}`; -var dg = (e6) => `rebase (finish): returning to ${e6}`; -var ug = (e6) => `rebase (abort): returning to ${e6}`; -var lg = "rebase: fast-forward"; -var fg = "merge"; -var hg = "rebase"; -var gg = "cherry-pick"; -var mg = "revert"; -var pg = `${fg} --abort`; -var wg = `${gg} --continue`; -var yg = `${gg} --skip`; -var Eg = `${gg} --abort`; -var bg = `${mg} --continue`; -var Ig = `${mg} --skip`; -var _g = `${mg} --abort`; -var vg = (e6) => e6 >= "a" && e6 <= "z" || e6 >= "A" && e6 <= "Z"; -var Tg = (e6) => vg(e6) || e6 >= "0" && e6 <= "9" || "-" === e6; -var Og = (e6) => " " === e6 || " " === e6; -var $g = (e6, t5, n6, r6) => { - const o6 = e6[t5]; - if (n6 >= o6.length || !vg(o6[n6])) throw we(t5 + 1, r6); - let s9 = n6 + 1; - for (; s9 < o6.length && Tg(o6[s9]); ) s9 += 1; - const i7 = o6.slice(n6, s9); - for (; s9 < o6.length && Og(o6[s9]); ) s9 += 1; - const a6 = { key: i7, value: null, nextLineIdx: t5 + 1 }; - if (s9 >= o6.length) return a6; - const c6 = o6[s9]; - if ("\r" === c6 && s9 === o6.length - 1) return a6; - if ("=" !== c6) throw we(t5 + 1, r6); - const d5 = Fg(e6, t5, s9 + 1, r6); - return { key: i7, value: d5.value, nextLineIdx: d5.nextLineIdx }; -}; -var Ag = (e6, t5) => { - let n6 = t5; - for (; n6 < e6.length && Og(e6[n6]); ) n6 += 1; - return n6; -}; -var Ng = (e6, t5) => Sg(e6.split("\n"), e6.endsWith("\n"), t5); -var Sg = (e6, t5, n6) => { - const r6 = [], o6 = t5 ? e6.length - 1 : e6.length; - let s9 = 0; - for (; s9 < o6; ) s9 = xg(r6, e6, s9, n6); - return r6; -}; -var xg = (e6, t5, n6, r6) => { - const o6 = t5[n6]; - if ("" === jg(o6).trim()) return e6.push("" === o6.trim() ? { kind: "blank", line: n6 } : { kind: "comment", line: n6 }), n6 + 1; - const s9 = Kg(o6); - if ("header" === s9.parse.kind) return Rg(e6, t5, n6, s9, r6); - if ("malformed" === s9.parse.kind) throw we(n6 + 1, r6, s9.parse.partialName); - return Lg(e6, t5, n6, r6); -}; -var Lg = (e6, t5, n6, r6) => { - const o6 = Ag(t5[n6], 0), s9 = $g(t5, n6, o6, r6); - return e6.push({ kind: "entry", key: s9.key, value: s9.value, startLine: n6, endLine: s9.nextLineIdx }), s9.nextLineIdx; -}; -var Rg = (e6, t5, n6, r6, o6) => { - const s9 = t5[n6]; - let i7 = r6, a6 = Ug(s9, i7.endOffset); - for (; "[" === s9[a6]; ) { - if (kg(e6, i7, n6, false), i7 = Kg(s9, a6), "header" !== i7.parse.kind) throw we(n6 + 1, o6, Dg(i7.parse)); - a6 = Ug(s9, i7.endOffset); - } - const c6 = s9[a6], d5 = "#" === c6 || ";" === c6; - if (kg(e6, i7, n6, d5), a6 >= s9.length || d5) return n6 + 1; - const u6 = $g(t5, n6, a6, o6); - return e6.push({ kind: "entry", key: u6.key, value: u6.value, startLine: n6, endLine: u6.nextLineIdx, sharesHeaderLine: true, startCol: a6 }), u6.nextLineIdx; -}; -var kg = (e6, t5, n6, r6) => { - const o6 = t5.parse; - e6.push({ kind: "header", section: o6.section, subsection: o6.subsection, line: n6, hasComment: r6 }); -}; -var Dg = (e6) => "malformed" === e6.kind ? e6.partialName : void 0; -var Ug = (e6, t5) => { - let n6 = t5; - for (; n6 < e6.length && Bg.has(e6[n6]); ) n6 += 1; - return n6; -}; -var Cg = (e6, t5) => Mg(Ng(e6, t5)); -var Mg = (e6) => { - const t5 = [], n6 = { section: "", subsection: void 0, entries: [] }; - let r6 = n6; - for (const n7 of e6) "header" === n7.kind ? (r6 = { section: n7.section, subsection: n7.subsection, entries: [] }, t5.push(r6)) : "entry" === n7.kind && r6.entries.push({ key: n7.key, value: n7.value }); - return n6.entries.length > 0 ? [n6, ...t5] : t5; -}; -var Pg = /* @__PURE__ */ new Map([["n", "\n"], ["t", " "], ["b", "\b"], ["\\", "\\"], ['"', '"']]); -var Bg = /* @__PURE__ */ new Set([" ", " ", "\r"]); -var Fg = (e6, t5, n6, r6) => { - const o6 = { lineIdx: t5, col: n6 }, s9 = { out: "", trimLen: -1, inQuotes: false, inComment: false }; - for (; o6.lineIdx < e6.length; ) { - if (o6.col >= e6[o6.lineIdx].length) { - if (s9.inQuotes) throw we(o6.lineIdx + 1, r6); - return Wg(s9, o6.lineIdx + 1); - } - Hg(e6, o6, s9, r6); - } - return Wg(s9, o6.lineIdx); -}; -var Hg = (e6, t5, n6, r6) => { - const o6 = e6[t5.lineIdx][t5.col]; - if (t5.col += 1, !n6.inComment) if (n6.inQuotes || !Bg.has(o6)) if (n6.inQuotes || "#" !== o6 && ";" !== o6) if ("\\" !== o6) { - if ('"' === o6) return n6.inQuotes = !n6.inQuotes, void (n6.trimLen = -1); - n6.out += o6, n6.trimLen = -1; - } else Vg(e6, t5, n6, r6); - else n6.inComment = true; - else Gg(n6, o6); -}; -var Vg = (e6, t5, n6, r6) => { - const o6 = e6[t5.lineIdx]; - if (t5.col >= o6.length) return t5.lineIdx += 1, void (t5.col = 0); - const s9 = Pg.get(o6[t5.col]); - if (void 0 === s9) throw we(t5.lineIdx + 1, r6); - t5.col += 1, n6.out += s9, n6.trimLen = -1; -}; -var Gg = (e6, t5) => { - "" !== e6.out && (-1 === e6.trimLen && (e6.trimLen = e6.out.length), e6.out += t5); -}; -var Wg = (e6, t5) => ({ value: -1 === e6.trimLen ? e6.out : e6.out.slice(0, e6.trimLen), nextLineIdx: t5 }); -var jg = (e6) => { - const t5 = [zg(e6, "#"), zg(e6, ";")].filter((e7) => e7 >= 0); - return 0 === t5.length ? e6 : e6.slice(0, Math.min(...t5)); -}; -var zg = (e6, t5) => { - let n6 = false; - for (let r6 = 0; r6 < e6.length; r6 += 1) { - const o6 = e6[r6]; - if (n6 && "\\" === o6) r6 += 1; - else if ('"' === o6) n6 = !n6; - else if (!n6 && o6 === t5) return r6; +var em = (e7) => `commit (initial): ${e7}`; +var tm = (e7) => `commit (merge): ${e7}`; +var nm = (e7) => `commit (cherry-pick): ${e7}`; +var rm = (e7) => `commit: ${e7}`; +var om = (e7) => `branch: Created from ${e7}`; +var sm = (e7, t5) => `Branch: renamed ${e7} to ${t5}`; +var im = (e7) => `reset: moving to ${e7}`; +var am = (e7) => `clone: from ${e7}`; +var cm = (e7) => `fetch ${e7}: storing head`; +var dm = "update by push"; +var um = (e7) => `cherry-pick: ${e7}`; +var lm = (e7) => `revert: ${e7}`; +var fm = (e7) => `rebase (start): checkout ${e7}`; +var hm = (e7, t5) => `rebase (${e7}): ${t5}`; +var gm = (e7) => `rebase (pick): ${e7}`; +var mm = (e7) => `rebase (edit): ${e7}`; +var pm = (e7) => `rebase (reword): ${e7}`; +var wm = (e7) => `rebase (continue): ${e7}`; +var ym = (e7, t5) => `rebase (finish): ${e7} onto ${t5}`; +var Em = (e7) => `rebase (finish): returning to ${e7}`; +var bm = (e7) => `rebase (abort): returning to ${e7}`; +var Im = "rebase: fast-forward"; +var _m = "merge"; +var vm = "rebase"; +var Om = "cherry-pick"; +var Tm = "revert"; +var Am = `${_m} --abort`; +var $m = `${Om} --continue`; +var xm = `${Om} --skip`; +var Sm = `${Om} --abort`; +var Nm = `${Tm} --continue`; +var Lm = `${Tm} --skip`; +var Rm = `${Tm} --abort`; +var km = (e7) => e7 >= "a" && e7 <= "z" || e7 >= "A" && e7 <= "Z"; +var Dm = (e7) => km(e7) || e7 >= "0" && e7 <= "9" || "-" === e7; +var Um = (e7) => " " === e7 || " " === e7; +var Cm = (e7, t5, n7, r8) => { + const o5 = e7[t5]; + if (n7 >= o5.length || !km(o5[n7])) throw _e(t5 + 1, r8); + let s8 = n7 + 1; + for (; s8 < o5.length && Dm(o5[s8]); ) s8 += 1; + const i11 = o5.slice(n7, s8); + for (; s8 < o5.length && Um(o5[s8]); ) s8 += 1; + const a4 = { key: i11, value: null, nextLineIdx: t5 + 1 }; + if (s8 >= o5.length) return a4; + const c5 = o5[s8]; + if ("\r" === c5 && s8 === o5.length - 1) return a4; + if ("=" !== c5) throw _e(t5 + 1, r8); + const d6 = qm(e7, t5, s8 + 1, r8); + return { key: i11, value: d6.value, nextLineIdx: d6.nextLineIdx }; +}; +var Mm = (e7, t5) => { + let n7 = t5; + for (; n7 < e7.length && Um(e7[n7]); ) n7 += 1; + return n7; +}; +var Pm = (e7, t5) => Bm(e7.split("\n"), e7.endsWith("\n"), t5); +var Bm = (e7, t5, n7) => { + const r8 = [], o5 = t5 ? e7.length - 1 : e7.length; + let s8 = 0; + for (; s8 < o5; ) s8 = Fm(r8, e7, s8, n7); + return r8; +}; +var Fm = (e7, t5, n7, r8) => { + const o5 = t5[n7]; + if ("" === tp(o5).trim()) return e7.push("" === o5.trim() ? { kind: "blank", line: n7 } : { kind: "comment", line: n7 }), n7 + 1; + const s8 = rp(o5); + if ("header" === s8.parse.kind) return Vm(e7, t5, n7, s8, r8); + if ("malformed" === s8.parse.kind) throw _e(n7 + 1, r8, s8.parse.partialName); + return Hm(e7, t5, n7, r8); +}; +var Hm = (e7, t5, n7, r8) => { + const o5 = Mm(t5[n7], 0), s8 = Cm(t5, n7, o5, r8); + return e7.push({ kind: "entry", key: s8.key, value: s8.value, startLine: n7, endLine: s8.nextLineIdx }), s8.nextLineIdx; +}; +var Vm = (e7, t5, n7, r8, o5) => { + const s8 = t5[n7]; + let i11 = r8, a4 = zm(s8, i11.endOffset); + for (; "[" === s8[a4]; ) { + if (Gm(e7, i11, n7, false), i11 = rp(s8, a4), "header" !== i11.parse.kind) throw _e(n7 + 1, o5, Wm(i11.parse)); + a4 = zm(s8, i11.endOffset); + } + const c5 = s8[a4], d6 = "#" === c5 || ";" === c5; + if (Gm(e7, i11, n7, d6), a4 >= s8.length || d6) return n7 + 1; + const u6 = Cm(t5, n7, a4, o5); + return e7.push({ kind: "entry", key: u6.key, value: u6.value, startLine: n7, endLine: u6.nextLineIdx, sharesHeaderLine: true, startCol: a4 }), u6.nextLineIdx; +}; +var Gm = (e7, t5, n7, r8) => { + const o5 = t5.parse; + e7.push({ kind: "header", section: o5.section, subsection: o5.subsection, line: n7, hasComment: r8 }); +}; +var Wm = (e7) => "malformed" === e7.kind ? e7.partialName : void 0; +var zm = (e7, t5) => { + let n7 = t5; + for (; n7 < e7.length && Xm.has(e7[n7]); ) n7 += 1; + return n7; +}; +var jm = (e7, t5) => Km(Pm(e7, t5)); +var Km = (e7) => { + const t5 = [], n7 = { section: "", subsection: void 0, entries: [] }; + let r8 = n7; + for (const n8 of e7) "header" === n8.kind ? (r8 = { section: n8.section, subsection: n8.subsection, entries: [] }, t5.push(r8)) : "entry" === n8.kind && r8.entries.push({ key: n8.key, value: n8.value }); + return n7.entries.length > 0 ? [n7, ...t5] : t5; +}; +var Ym = /* @__PURE__ */ new Map([["n", "\n"], ["t", " "], ["b", "\b"], ["\\", "\\"], ['"', '"']]); +var Xm = /* @__PURE__ */ new Set([" ", " ", "\r"]); +var qm = (e7, t5, n7, r8) => { + const o5 = { lineIdx: t5, col: n7 }, s8 = { out: "", trimLen: -1, inQuotes: false, inComment: false }; + for (; o5.lineIdx < e7.length; ) { + if (o5.col >= e7[o5.lineIdx].length) { + if (s8.inQuotes) throw _e(o5.lineIdx + 1, r8); + return ep(s8, o5.lineIdx + 1); + } + Jm(e7, o5, s8, r8); + } + return ep(s8, o5.lineIdx); +}; +var Jm = (e7, t5, n7, r8) => { + const o5 = e7[t5.lineIdx][t5.col]; + if (t5.col += 1, !n7.inComment) if (n7.inQuotes || !Xm.has(o5)) if (n7.inQuotes || "#" !== o5 && ";" !== o5) if ("\\" !== o5) { + if ('"' === o5) return n7.inQuotes = !n7.inQuotes, void (n7.trimLen = -1); + n7.out += o5, n7.trimLen = -1; + } else Qm(e7, t5, n7, r8); + else n7.inComment = true; + else Zm(n7, o5); +}; +var Qm = (e7, t5, n7, r8) => { + const o5 = e7[t5.lineIdx]; + if (t5.col >= o5.length) return t5.lineIdx += 1, void (t5.col = 0); + const s8 = Ym.get(o5[t5.col]); + if (void 0 === s8) throw _e(t5.lineIdx + 1, r8); + t5.col += 1, n7.out += s8, n7.trimLen = -1; +}; +var Zm = (e7, t5) => { + "" !== e7.out && (-1 === e7.trimLen && (e7.trimLen = e7.out.length), e7.out += t5); +}; +var ep = (e7, t5) => ({ value: -1 === e7.trimLen ? e7.out : e7.out.slice(0, e7.trimLen), nextLineIdx: t5 }); +var tp = (e7) => { + const t5 = [np(e7, "#"), np(e7, ";")].filter((e8) => e8 >= 0); + return 0 === t5.length ? e7 : e7.slice(0, Math.min(...t5)); +}; +var np = (e7, t5) => { + let n7 = false; + for (let r8 = 0; r8 < e7.length; r8 += 1) { + const o5 = e7[r8]; + if (n7 && "\\" === o5) r8 += 1; + else if ('"' === o5) n7 = !n7; + else if (!n7 && o5 === t5) return r8; } return -1; }; -var Kg = (e6, t5 = 0) => { - const n6 = Ag(e6, t5); - if ("[" !== e6[n6]) return Xg; - const r6 = n6 + 1, o6 = e6.indexOf("]", r6), s9 = Yg(e6, r6, o6); - return -1 === s9 ? Jg(e6, r6, o6) : Qg(e6, r6, s9); +var rp = (e7, t5 = 0) => { + const n7 = Mm(e7, t5); + if ("[" !== e7[n7]) return sp; + const r8 = n7 + 1, o5 = e7.indexOf("]", r8), s8 = op(e7, r8, o5); + return -1 === s8 ? ap(e7, r8, o5) : cp(e7, r8, s8); }; -var Yg = (e6, t5, n6) => { - const r6 = -1 === n6 ? e6.length : n6; - for (let n7 = t5; n7 < r6; n7 += 1) if ('"' === e6[n7]) return n7; +var op = (e7, t5, n7) => { + const r8 = -1 === n7 ? e7.length : n7; + for (let n8 = t5; n8 < r8; n8 += 1) if ('"' === e7[n8]) return n8; return -1; }; -var Xg = { parse: { kind: "not-header" }, endOffset: 0 }; -var qg = /^[A-Za-z0-9.-]+$/; -var Jg = (e6, t5, n6) => { - if (-1 === n6) return Xg; - const r6 = e6.slice(t5, n6); - return qg.test(r6) ? { parse: { kind: "header", section: r6, subsection: void 0 }, endOffset: n6 + 1 } : Xg; -}; -var Qg = (e6, t5, n6) => { - const { parse: r6, closeQuoteAt: o6 } = ((e7, t6, n7) => { - const r7 = e7.slice(t6, n7).trim(), o7 = r7.toLowerCase(), s9 = n7 > t6 ? e7[n7 - 1] : void 0; - return void 0 !== s9 && Bg.has(s9) ? ((e8, t7, n8, r8) => { - const o8 = ((e9, t8) => { - let n9 = "", r9 = t8 + 1; - for (; r9 < e9.length; ) { - const t9 = e9[r9]; +var sp = { parse: { kind: "not-header" }, endOffset: 0 }; +var ip = /^[A-Za-z0-9.-]+$/; +var ap = (e7, t5, n7) => { + if (-1 === n7) return sp; + const r8 = e7.slice(t5, n7); + return ip.test(r8) ? { parse: { kind: "header", section: r8, subsection: void 0 }, endOffset: n7 + 1 } : sp; +}; +var cp = (e7, t5, n7) => { + const { parse: r8, closeQuoteAt: o5 } = ((e8, t6, n8) => { + const r9 = e8.slice(t6, n8).trim(), o6 = r9.toLowerCase(), s8 = n8 > t6 ? e8[n8 - 1] : void 0; + return void 0 !== s8 && Xm.has(s8) ? ((e9, t7, n9, r10) => { + const o7 = ((e10, t8) => { + let n10 = "", r11 = t8 + 1; + for (; r11 < e10.length; ) { + const t9 = e10[r11]; if ("\\" !== t9) { - if ('"' === t9) return { subsection: n9, closeQuoteAt: r9 }; - n9 += t9, r9 += 1; + if ('"' === t9) return { subsection: n10, closeQuoteAt: r11 }; + n10 += t9, r11 += 1; } else { - if (r9 + 1 >= e9.length) return { partial: n9 }; - n9 += e9[r9 + 1], r9 += 2; - } - } - return { partial: n9 }; - })(e8, t7); - return "partial" in o8 ? { parse: { kind: "malformed", partialName: `${r8}.${o8.partial}` } } : e8.startsWith("]", o8.closeQuoteAt + 1) ? { parse: { kind: "header", section: n8, subsection: o8.subsection }, closeQuoteAt: o8.closeQuoteAt } : { parse: { kind: "malformed", partialName: `${r8}.${o8.subsection}` } }; - })(e7, n7, r7, o7) : { parse: { kind: "malformed", partialName: o7 } }; - })(e6, t5, n6); - return "header" !== r6.kind || void 0 === o6 ? { parse: r6, endOffset: 0 } : { parse: r6, endOffset: o6 + 2 }; -}; -var Zg = BigInt("9223372036854775807"); -var em = BigInt("-9223372036854775808"); -var tm = /* @__PURE__ */ new Map([["k", BigInt(1024)], ["K", BigInt(1024)], ["m", BigInt(1024) * BigInt(1024)], ["M", BigInt(1024) * BigInt(1024)], ["g", BigInt(1024) * BigInt(1024) * BigInt(1024)], ["G", BigInt(1024) * BigInt(1024) * BigInt(1024)]]); -var nm = (e6) => { - const t5 = (e6 ?? "").replace(/^[ \t]+/, ""), n6 = "+" === t5[0] || "-" === t5[0] ? t5.slice(1) : t5, r6 = ((e7) => { - const t6 = /^0[xX][0-9a-fA-F]+/.exec(e7); + if (r11 + 1 >= e10.length) return { partial: n10 }; + n10 += e10[r11 + 1], r11 += 2; + } + } + return { partial: n10 }; + })(e9, t7); + return "partial" in o7 ? { parse: { kind: "malformed", partialName: `${r10}.${o7.partial}` } } : e9.startsWith("]", o7.closeQuoteAt + 1) ? { parse: { kind: "header", section: n9, subsection: o7.subsection }, closeQuoteAt: o7.closeQuoteAt } : { parse: { kind: "malformed", partialName: `${r10}.${o7.subsection}` } }; + })(e8, n8, r9, o6) : { parse: { kind: "malformed", partialName: o6 } }; + })(e7, t5, n7); + return "header" !== r8.kind || void 0 === o5 ? { parse: r8, endOffset: 0 } : { parse: r8, endOffset: o5 + 2 }; +}; +var dp = BigInt("9223372036854775807"); +var up = BigInt("-9223372036854775808"); +var lp = BigInt("18446744073709551615"); +var fp = /* @__PURE__ */ new Map([["k", BigInt(1024)], ["K", BigInt(1024)], ["m", BigInt(1024) * BigInt(1024)], ["M", BigInt(1024) * BigInt(1024)], ["g", BigInt(1024) * BigInt(1024) * BigInt(1024)], ["G", BigInt(1024) * BigInt(1024) * BigInt(1024)]]); +var hp = (e7, t5 = dp) => { + const n7 = (e7 ?? "").replace(/^[ \t]+/, ""), r8 = "+" === n7[0] || "-" === n7[0] ? n7.slice(1) : n7, o5 = ((e8) => { + const t6 = /^0[xX][0-9a-fA-F]+/.exec(e8); if (null !== t6) return { token: t6[0], radix: 16 }; - if ("0" === e7[0]) return { token: /^0[0-7]*/.exec(e7)[0], radix: 8 }; - const n7 = /^[0-9]+/.exec(e7); - return null === n7 ? null : { token: n7[0], radix: 10 }; - })(n6); - if (null === r6) return { ok: false, reason: "invalid unit" }; - const o6 = n6.slice(r6.token.length), s9 = "" === o6 ? BigInt(1) : tm.get(o6); - if (void 0 === s9) return { ok: false, reason: "invalid unit" }; - const i7 = ((e7, t6) => { - const n7 = (16 === t6 ? e7.slice(2) : 8 === t6 ? e7.slice(1) : e7).replace(/^0+/, ""); - return n7.length > 32 ? null : "" === n7 ? BigInt(0) : BigInt(`${16 === t6 ? "0x" : 8 === t6 ? "0o" : ""}${n7}`); - })(r6.token, r6.radix); - if (null === i7) return { ok: false, reason: "out of range" }; - const a6 = ("-" === t5[0] ? -i7 : i7) * s9; - return a6 < em || a6 > Zg ? { ok: false, reason: "out of range" } : { ok: true, value: Number(a6) }; -}; -var rm = /* @__PURE__ */ new Set(["true", "yes", "on"]); -var om = /* @__PURE__ */ new Set(["false", "no", "off"]); -var sm = 2147483647; -var im = -2147483648; -var am = (e6) => { - if (null === e6) return { ok: true, value: true }; - if ("" === e6) return { ok: true, value: false }; - const t5 = e6.toLowerCase(); - if (rm.has(t5)) return { ok: true, value: true }; - if (om.has(t5)) return { ok: true, value: false }; - const n6 = nm(e6); - return !n6.ok || n6.value < im || n6.value > sm ? { ok: false } : { ok: true, value: 0 !== n6.value }; -}; -var cm = /^[0-9a-fA-F]{40}/; -var dm = /^ref:[ \t\n\v\f\r]*refs\//; -var um = (e6) => cm.test(e6) || dm.test(e6); -var lm = (e6) => e6.replace(/\\/g, "/").startsWith("refs/"); -var fm = (e6) => { - if ("object" != typeof e6) return 7; - const t5 = ((e7) => { - if (!/^[+-]?[0-9]+$/.test(e7)) return; - const t6 = Number(e7); + if ("0" === e8[0]) return { token: /^0[0-7]*/.exec(e8)[0], radix: 8 }; + const n8 = /^[0-9]+/.exec(e8); + return null === n8 ? null : { token: n8[0], radix: 10 }; + })(r8); + if (null === o5) return { ok: false, reason: "invalid unit" }; + const s8 = r8.slice(o5.token.length), i11 = "" === s8 ? BigInt(1) : fp.get(s8); + if (void 0 === i11) return { ok: false, reason: "invalid unit" }; + const a4 = ((e8, t6) => { + const n8 = (16 === t6 ? e8.slice(2) : 8 === t6 ? e8.slice(1) : e8).replace(/^0+/, ""); + return n8.length > 32 ? null : "" === n8 ? BigInt(0) : BigInt(`${16 === t6 ? "0x" : 8 === t6 ? "0o" : ""}${n8}`); + })(o5.token, o5.radix); + if (null === a4) return { ok: false, reason: "out of range" }; + const c5 = ("-" === n7[0] ? -a4 : a4) * i11; + return c5 < up || c5 > t5 ? { ok: false, reason: "out of range" } : { ok: true, value: Number(c5) }; +}; +var gp = /* @__PURE__ */ new Set(["true", "yes", "on"]); +var mp = /* @__PURE__ */ new Set(["false", "no", "off"]); +var pp = 2147483647; +var wp = -2147483648; +var yp = (e7) => { + if (null === e7) return { ok: true, value: true }; + if ("" === e7) return { ok: true, value: false }; + const t5 = e7.toLowerCase(); + if (gp.has(t5)) return { ok: true, value: true }; + if (mp.has(t5)) return { ok: true, value: false }; + const n7 = hp(e7); + return !n7.ok || n7.value < wp || n7.value > pp ? { ok: false } : { ok: true, value: 0 !== n7.value }; +}; +var Ep = /^[0-9a-fA-F]{40}/; +var bp = /^ref:[ \t\n\v\f\r]*refs\//; +var Ip = (e7) => Ep.test(e7) || bp.test(e7); +var _p = (e7) => e7.replace(/\\/g, "/").startsWith("refs/"); +var vp = (e7) => { + if ("object" != typeof e7) return 7; + const t5 = ((e8) => { + if (!/^[+-]?[0-9]+$/.test(e8)) return; + const t6 = Number(e8); return t6 > 2147483647 ? void 0 : t6; - })(e6.set); + })(e7.set); return void 0 !== t5 && t5 > 0 ? t5 : 7; }; -var hm = (e6, t5) => { - switch (e6) { +var Op = (e7, t5) => { + switch (e7) { case "O": return t5.O; case "A": @@ -25413,1209 +9025,1237 @@ var hm = (e6, t5) => { case "%": return "%"; default: - return `%${e6}`; + return `%${e7}`; } }; -var gm = (e6, t5) => { - let n6 = "", r6 = 0; - for (; r6 < e6.length; ) { - const o6 = e6[r6]; - if ("%" !== o6) { - n6 += o6, r6 += 1; +var Tp = (e7, t5) => { + let n7 = "", r8 = 0; + for (; r8 < e7.length; ) { + const o5 = e7[r8]; + if ("%" !== o5) { + n7 += o5, r8 += 1; continue; } - const s9 = e6[r6 + 1]; - void 0 !== s9 ? (n6 += hm(s9, t5), r6 += 2) : (n6 += "%", r6 += 1); - } - return n6; -}; -var mm = /* @__PURE__ */ new Map([["binary", /* @__PURE__ */ new Map([["diff", false], ["merge", false], ["text", false]])]]); -var pm = (e6, t5) => { - const n6 = /* @__PURE__ */ new Map(); - for (const [r6, o6] of e6) { - const e7 = true === o6 ? t5.get(r6) : void 0; - if (n6.set(r6, o6), void 0 !== e7) for (const [t6, r7] of e7) n6.set(t6, r7); - } - return n6; -}; -var wm = (e6, t5 = mm) => { - const n6 = new Map(t5); - for (const t6 of e6) n6.set(t6.name, t6.attributes); - return n6; -}; -var ym = (e6) => "t" === e6 ? " " : "n" === e6 ? "\n" : "r" === e6 ? "\r" : e6; -var Em = (e6) => { - if (e6.startsWith('"')) { - const { value: t6, end: n6 } = ((e7) => { - let t7 = "", n7 = 1; - for (; n7 < e7.length; ) { - const r6 = e7[n7]; - if ("\\" === r6) { - const r7 = e7[n7 + 1]; - if (void 0 === r7) break; - t7 += ym(r7), n7 += 2; + const s8 = e7[r8 + 1]; + void 0 !== s8 ? (n7 += Op(s8, t5), r8 += 2) : (n7 += "%", r8 += 1); + } + return n7; +}; +var Ap = /* @__PURE__ */ new Map([["binary", /* @__PURE__ */ new Map([["diff", false], ["merge", false], ["text", false]])]]); +var $p = (e7, t5) => { + const n7 = /* @__PURE__ */ new Map(); + for (const [r8, o5] of e7) { + const e8 = true === o5 ? t5.get(r8) : void 0; + if (n7.set(r8, o5), void 0 !== e8) for (const [t6, r9] of e8) n7.set(t6, r9); + } + return n7; +}; +var xp = (e7, t5 = Ap) => { + const n7 = new Map(t5); + for (const t6 of e7) n7.set(t6.name, t6.attributes); + return n7; +}; +var Sp = (e7) => "t" === e7 ? " " : "n" === e7 ? "\n" : "r" === e7 ? "\r" : e7; +var Np = (e7) => { + if (e7.startsWith('"')) { + const { value: t6, end: n7 } = ((e8) => { + let t7 = "", n8 = 1; + for (; n8 < e8.length; ) { + const r8 = e8[n8]; + if ("\\" === r8) { + const r9 = e8[n8 + 1]; + if (void 0 === r9) break; + t7 += Sp(r9), n8 += 2; continue; } - if ('"' === r6) { - n7 += 1; + if ('"' === r8) { + n8 += 1; break; } - t7 += r6, n7 += 1; + t7 += r8, n8 += 1; } - return { value: t7, end: n7 }; - })(e6); - return { pattern: t6, rest: e6.slice(n6) }; + return { value: t7, end: n8 }; + })(e7); + return { pattern: t6, rest: e7.slice(n7) }; } - const t5 = e6.search(/\s/); - return -1 === t5 ? { pattern: e6, rest: "" } : { pattern: e6.slice(0, t5), rest: e6.slice(t5) }; + const t5 = e7.search(/\s/); + return -1 === t5 ? { pattern: e7, rest: "" } : { pattern: e7.slice(0, t5), rest: e7.slice(t5) }; }; -var bm = (e6) => e6.split(/\s+/).filter((e7) => "" !== e7); -var Im = (e6) => { - if (e6.startsWith("-")) { - const t6 = e6.slice(1); +var Lp = (e7) => e7.split(/\s+/).filter((e8) => "" !== e8); +var Rp = (e7) => { + if (e7.startsWith("-")) { + const t6 = e7.slice(1); return "" === t6 ? void 0 : { name: t6, value: false }; } - if (e6.startsWith("!")) { - const t6 = e6.slice(1); + if (e7.startsWith("!")) { + const t6 = e7.slice(1); return "" === t6 ? void 0 : { name: t6, value: "unspecified" }; } - const t5 = e6.indexOf("="); + const t5 = e7.indexOf("="); if (-1 !== t5) { - const n6 = e6.slice(0, t5); - return "" === n6 ? void 0 : { name: n6, value: { set: e6.slice(t5 + 1) } }; + const n7 = e7.slice(0, t5); + return "" === n7 ? void 0 : { name: n7, value: { set: e7.slice(t5 + 1) } }; } - return { name: e6, value: true }; + return { name: e7, value: true }; }; -var _m = (e6) => { +var kp = (e7) => { const t5 = /* @__PURE__ */ new Map(); - for (const n6 of e6) { - const e7 = Im(n6); - void 0 !== e7 && t5.set(e7.name, e7.value); + for (const n7 of e7) { + const e8 = Rp(n7); + void 0 !== e8 && t5.set(e8.name, e8.value); } return t5; }; -var vm = (e6, t5, n6) => { - const { anchored: r6, directoryOnly: o6, body: s9 } = ((e7) => { - const t6 = e7.endsWith("/"), n7 = t6 ? e7.slice(0, -1) : e7; - return { anchored: n7.includes("/"), directoryOnly: t6, body: n7.startsWith("/") ? n7.slice(1) : n7 }; - })(e6); - return { pattern: e6, anchored: r6, directoryOnly: o6, lineNumber: n6, compiled: bi(s9, { anchored: r6 }), attributes: _m(bm(t5)) }; -}; -var Tm = (e6) => { - const t5 = bm(e6), [n6, ...r6] = t5; - if (void 0 !== n6) return { name: n6, attributes: _m(r6) }; -}; -var Om = (e6) => { - const t5 = [], n6 = [], r6 = e6.split("\n"); - for (let e7 = 0; e7 < r6.length; e7 += 1) { - const o6 = r6[e7].trim(); - if ("" === o6 || o6.startsWith("#")) continue; - if (o6.startsWith("[attr]")) { - const e8 = Tm(o6.slice(6)); - void 0 !== e8 && n6.push(e8); +var Dp = (e7, t5, n7) => { + const { anchored: r8, directoryOnly: o5, body: s8 } = ((e8) => { + const t6 = e8.endsWith("/"), n8 = t6 ? e8.slice(0, -1) : e8; + return { anchored: n8.includes("/"), directoryOnly: t6, body: n8.startsWith("/") ? n8.slice(1) : n8 }; + })(e7); + return { pattern: e7, anchored: r8, directoryOnly: o5, lineNumber: n7, compiled: Bi(s8, { anchored: r8 }), attributes: kp(Lp(t5)) }; +}; +var Up = (e7) => { + const t5 = Lp(e7), [n7, ...r8] = t5; + if (void 0 !== n7) return { name: n7, attributes: kp(r8) }; +}; +var Cp = (e7) => { + const t5 = [], n7 = [], r8 = e7.split("\n"); + for (let e8 = 0; e8 < r8.length; e8 += 1) { + const o5 = r8[e8].trim(); + if ("" === o5 || o5.startsWith("#")) continue; + if (o5.startsWith("[attr]")) { + const e9 = Up(o5.slice(6)); + void 0 !== e9 && n7.push(e9); continue; } - const { pattern: s9, rest: i7 } = Em(o6); - t5.push(vm(s9, i7, e7 + 1)); - } - return { rules: t5, macros: n6 }; -}; -var $m = (e6, t5, n6, r6) => { - const o6 = ((e7, t6) => { - if ("" === t6) return e7; - const n7 = `${t6}/`; - return e7.startsWith(n7) ? e7.slice(n7.length) : void 0; - })(t5, e6.basedir); - if (void 0 === o6) return; - let s9; - for (const t6 of e6.rules) { - if (!t6.compiled.test(o6)) continue; - const e7 = pm(t6.attributes, r6).get(n6); - void 0 !== e7 && (s9 = e7); - } - return s9; -}; -var Am = (e6, t5, n6, r6) => { - for (const o6 of e6) { - const e7 = $m(o6, t5, n6, r6); - if (void 0 !== e7) return e7; + const { pattern: s8, rest: i11 } = Np(o5); + t5.push(Dp(s8, i11, e8 + 1)); } - return "unspecified"; -}; -var Nm = new TextEncoder(); -var Sm = (e6) => { - Rm(e6), Cm(e6); - const t5 = e6.split("/"); - for (const n6 of t5) Dm(n6, e6); - return e6; -}; -var xm = (e6) => { - Rm(e6); - const t5 = e6.split("/"); - for (const n6 of t5) km(n6, e6); - return e6; -}; -var Lm = (e6) => { - throw N(e6); -}; -var Rm = (e6) => { - "" === e6 && Lm(e6), Mm(e6) > 4096 && Lm(e6), e6.startsWith("/") && Lm(e6), e6.includes("\\") && Lm(e6), e6.includes("\0") && Lm(e6); + return { rules: t5, macros: n7 }; }; -var km = (e6, t5) => { - "" === e6 && Lm(t5), "." !== e6 && ".." !== e6 || Lm(t5), Mm(e6) > 255 && Lm(t5); - for (let n6 = 0; n6 < e6.length; n6 += 1) { - const r6 = e6.charCodeAt(n6); - (r6 <= 31 || 127 === r6) && Lm(t5); +var Mp = (e7, t5, n7, r8) => { + const o5 = ((e8, t6) => { + if ("" === t6) return e8; + const n8 = `${t6}/`; + return e8.startsWith(n8) ? e8.slice(n8.length) : void 0; + })(t5, e7.basedir); + if (void 0 === o5) return; + let s8; + for (const t6 of e7.rules) { + if (!t6.compiled.test(o5)) continue; + const e8 = $p(t6.attributes, r8).get(n7); + void 0 !== e8 && (s8 = e8); } + return s8; }; -var Dm = (e6, t5) => { - km(e6, t5), ((e7) => void 0 !== zr(e7))(e6) && Lm(t5); -}; -var Um = /^[A-Za-z]?:/; -var Cm = (e6) => { - Um.test(e6) && Lm(e6); -}; -var Mm = (e6) => Nm.encode(e6).length; -var Pm = Object.freeze([]); -var Bm = (e6, t5, n6) => 0 !== n6.size && n6.has(e6) ? Pm : t5; -var Fm = (e6, t5) => { - const n6 = Bm(e6.id, e6.data.parents, t5); - return n6 === e6.data.parents ? e6 : { ...e6, data: { ...e6.data, parents: n6 } }; -}; -var Hm = (e6, t5, n6) => { - const r6 = Bm(e6, t5.parents, n6); - return r6 === t5.parents ? t5 : { ...t5, parents: r6 }; -}; -var Vm = (e6, t5) => { - const n6 = Gm(t5), r6 = [], o6 = []; - for (const t6 of e6) Wm(t6, n6, r6, o6); - return { passed: r6, kept: o6 }; +var Pp = (e7, t5, n7, r8) => { + for (const o5 of e7) { + const e8 = Mp(o5, t5, n7, r8); + if (void 0 !== e8) return e8; + } + return "unspecified"; }; -var Gm = (e6) => { +var Bp = new TextEncoder(); +var Fp = (e7) => { + Gp(e7), Kp(e7); + const t5 = e7.split("/"); + for (const n7 of t5) zp(n7, e7); + return e7; +}; +var Hp = (e7) => { + Gp(e7); + const t5 = e7.split("/"); + for (const n7 of t5) Wp(n7, e7); + return e7; +}; +var Vp = (e7) => { + throw k(e7); +}; +var Gp = (e7) => { + "" === e7 && Vp(e7), Yp(e7) > 4096 && Vp(e7), e7.startsWith("/") && Vp(e7), e7.includes("\\") && Vp(e7), e7.includes("\0") && Vp(e7); +}; +var Wp = (e7, t5) => { + "" === e7 && Vp(t5), "." !== e7 && ".." !== e7 || Vp(t5); + let n7 = true; + for (let r8 = 0; r8 < e7.length; r8 += 1) { + const o5 = e7.charCodeAt(r8); + (o5 <= 31 || 127 === o5) && Vp(t5), o5 > 127 && (n7 = false); + } + (n7 ? e7.length : Yp(e7)) > 255 && Vp(t5); +}; +var zp = (e7, t5) => { + Wp(e7, t5), ((e8) => void 0 !== lo(e8))(e7) && Vp(t5); +}; +var jp = /^[A-Za-z]?:/; +var Kp = (e7) => { + jp.test(e7) && Vp(e7); +}; +var Yp = (e7) => Bp.encode(e7).length; +var Xp = Object.freeze([]); +var qp = (e7, t5, n7) => 0 !== n7.size && n7.has(e7) ? Xp : t5; +var Jp = (e7, t5) => { + const n7 = qp(e7.id, e7.data.parents, t5); + return n7 === e7.data.parents ? e7 : { ...e7, data: { ...e7.data, parents: n7 } }; +}; +var Qp = (e7, t5, n7) => { + const r8 = qp(e7, t5.parents, n7); + return r8 === t5.parents ? t5 : { ...t5, parents: r8 }; +}; +function Zp(e7, t5) { + const n7 = { buf: e7, digestLength: t5.digestLength, offset: 0, modeEnd: 0, nameStart: 0, nameEnd: 0, oidStart: 0, isDir: false, done: 0 === e7.length }; + return n7.done || tw(n7, 0), n7; +} +function ew(e7) { + const t5 = e7.oidStart + e7.digestLength; + t5 >= e7.buf.length ? e7.done = true : tw(e7, t5); +} +function tw(e7, t5) { + e7.offset = t5, (function(e8, t6) { + const n7 = St(e8.buf, 32, t6); + if (-1 === n7) throw Ft(t6, "missing space after mode"); + if (n7 === t6 || Dr(e8.buf, t6, n7)) throw Ft(t6, "malformed mode"); + e8.modeEnd = n7; + })(e7, t5), (function(e8) { + const t6 = e8.modeEnd + 1, n7 = St(e8.buf, 0, t6); + if (-1 === n7) throw Ft(e8.offset, "missing null after name"); + if (n7 === t6) throw Ft(e8.offset, "empty filename"); + e8.nameStart = t6, e8.nameEnd = n7; + })(e7), (function(e8) { + const t6 = e8.nameEnd + 1; + if (t6 + e8.digestLength > e8.buf.length) throw Ft(e8.offset, "truncated hash"); + e8.oidStart = t6; + })(e7), e7.isDir = (function(e8, t6, n7) { + const r8 = n7 - t6; + return !(r8 < 5 || 52 !== e8[n7 - 5] || 5 !== r8 && (e8[n7 - 6] - 48) % 2 != 0); + })(e7.buf, e7.offset, e7.modeEnd); +} +function nw(e7, t5) { + const n7 = e7.buf, r8 = e7.nameStart, o5 = e7.nameEnd - r8, s8 = o5 + (e7.isDir ? 1 : 0), i11 = t5.buf, a4 = t5.nameStart, c5 = t5.nameEnd - a4, d6 = c5 + (t5.isDir ? 1 : 0), u6 = Math.min(s8, d6); + for (let e8 = 0; e8 < u6; e8++) { + const t6 = (e8 < o5 ? n7[r8 + e8] : 47) - (e8 < c5 ? i11[a4 + e8] : 47); + if (0 !== t6) return t6; + } + return s8 - d6; +} +function rw(e7, t5) { + const n7 = e7.nameEnd - e7.nameStart; + if (n7 !== t5.length) return false; + for (let r8 = 0; r8 < n7; r8++) if (e7.buf[e7.nameStart + r8] !== t5[r8]) return false; + return true; +} +function ow(e7, t5, n7) { + let r8 = t5; + for (; r8 < n7 - 1 && 48 === e7[r8]; ) r8++; + return r8; +} +function sw(e7) { + return Ut(e7.buf.subarray(e7.nameStart, e7.nameEnd)); +} +function iw(e7) { + return lr.fromRaw(e7.buf.subarray(e7.oidStart, e7.oidStart + e7.digestLength)); +} +function aw(e7) { + return (function(e8, t5, n7) { + const r8 = (function(e9, t6, n8) { + let r9 = t6; + for (; r9 < n8 - 1 && 48 === e9[r9]; ) r9 += 1; + return r9; + })(e8, t5, n7), o5 = n7 - r8; + if (5 === o5 && cn(e8, r8, nn)) return Qt.DIRECTORY; + if (6 === o5) { + const t6 = (function(e9, t7) { + return cn(e9, t7, rn) ? Qt.REGULAR : cn(e9, t7, on) ? Qt.EXECUTABLE : cn(e9, t7, sn) ? Qt.SYMLINK : cn(e9, t7, an) ? Qt.GITLINK : void 0; + })(e8, r8); + if (void 0 !== t6) return t6; + } + throw Gt((function(e9, t6, n8) { + return n8 - t6 <= 16 ? kt(e9.subarray(t6, n8)) : `${kt(e9.subarray(t6, t6 + 16))}\u2026`; + })(e8, t5, n7)); + })(e7.buf, e7.offset, e7.modeEnd); +} +var cw = (e7, t5) => { + const n7 = dw(t5), r8 = [], o5 = []; + for (const t6 of e7) uw(t6, n7, r8, o5); + return { passed: r8, kept: o5 }; +}; +var dw = (e7) => { const t5 = /* @__PURE__ */ new Map(); - for (const n6 of e6.hunks) { - if ("common" !== n6.kind) continue; - const e7 = n6.theirsEnd - n6.theirsStart; - for (let r6 = 0; r6 < e7; r6 += 1) t5.set(n6.theirsStart + r6, n6.oursStart + r6); + for (const n7 of e7.hunks) { + if ("common" !== n7.kind) continue; + const e8 = n7.theirsEnd - n7.theirsStart; + for (let r8 = 0; r8 < e8; r8 += 1) t5.set(n7.theirsStart + r8, n7.oursStart + r8); } return t5; }; -var Wm = (e6, t5, n6, r6) => { - const o6 = e6.sourceStart + e6.count; - let s9 = e6.sourceStart; - for (; s9 < o6; ) { - const i7 = e6.finalStart + (s9 - e6.sourceStart), a6 = t5.get(s9); - if (void 0 === a6) { - let e7 = s9 + 1; - for (; e7 < o6 && !t5.has(e7); ) e7 += 1; - r6.push({ finalStart: i7, count: e7 - s9, sourceStart: s9 }), s9 = e7; +var uw = (e7, t5, n7, r8) => { + const o5 = e7.sourceStart + e7.count; + let s8 = e7.sourceStart; + for (; s8 < o5; ) { + const i11 = e7.finalStart + (s8 - e7.sourceStart), a4 = t5.get(s8); + if (void 0 === a4) { + let e8 = s8 + 1; + for (; e8 < o5 && !t5.has(e8); ) e8 += 1; + r8.push({ finalStart: i11, count: e8 - s8, sourceStart: s8 }), s8 = e8; } else { - let e7 = s9 + 1, r7 = a6 + 1; - for (; e7 < o6 && t5.get(e7) === r7; ) e7 += 1, r7 += 1; - n6.push({ finalStart: i7, count: e7 - s9, sourceStart: a6 }), s9 = e7; + let e8 = s8 + 1, r9 = a4 + 1; + for (; e8 < o5 && t5.get(e8) === r9; ) e8 += 1, r9 += 1; + n7.push({ finalStart: i11, count: e8 - s8, sourceStart: a4 }), s8 = e8; } } }; -var jm = (e6) => e6 - 1 >> 1; -var zm = (e6) => 2 * e6 + 1; -var Km = (e6) => 2 * e6 + 2; -var Ym = (e6, t5, n6) => { - const r6 = e6[t5]; - e6[t5] = e6[n6], e6[n6] = r6; +var lw = (e7) => e7 - 1 >> 1; +var fw = (e7) => 2 * e7 + 1; +var hw = (e7) => 2 * e7 + 2; +var gw = (e7, t5, n7) => { + const r8 = e7[t5]; + e7[t5] = e7[n7], e7[n7] = r8; }; -var Xm = (e6, t5, n6, r6) => r6 < e6.length && t5(e6[r6], e6[n6]) ? r6 : n6; -var qm = class { +var mw = (e7, t5, n7, r8) => r8 < e7.length && t5(e7[r8], e7[n7]) ? r8 : n7; +var pw = class { less; values = []; - constructor(e6) { - this.less = e6; + constructor(e7) { + this.less = e7; } - push(e6) { - this.values.push(e6), ((e7, t5) => { - let n6 = this.values.length - 1; - for (; n6 > 0 && t5(e7[n6], e7[jm(n6)]); ) Ym(e7, n6, jm(n6)), n6 = jm(n6); + push(e7) { + this.values.push(e7), ((e8, t5) => { + let n7 = this.values.length - 1; + for (; n7 > 0 && t5(e8[n7], e8[lw(n7)]); ) gw(e8, n7, lw(n7)), n7 = lw(n7); })(this.values, this.less); } pop() { if (0 === this.values.length) return; - const e6 = this.values[0], t5 = this.values.pop(); - return this.values.length > 0 && (this.values[0] = t5, ((e7, t6) => { - let n6 = 0; + const e7 = this.values[0], t5 = this.values.pop(); + return this.values.length > 0 && (this.values[0] = t5, ((e8, t6) => { + let n7 = 0; for (; ; ) { - const r6 = zm(n6); - if (r6 >= e7.length) return; - const o6 = Xm(e7, t6, r6, Km(n6)); - if (!t6(e7[o6], e7[n6])) return; - Ym(e7, n6, o6), n6 = o6; + const r8 = fw(n7); + if (r8 >= e8.length) return; + const o5 = mw(e8, t6, r8, hw(n7)); + if (!t6(e8[o5], e8[n7])) return; + gw(e8, n7, o5), n7 = o5; } - })(this.values, this.less)), e6; + })(this.values, this.less)), e7; } size() { return this.values.length; } entries() { return this.values; - } -}; -var Jm = (e6, t5) => e6.date > t5.date || e6.date === t5.date && e6.oid < t5.oid; -var Qm = new Uint8Array(0); -function Zm(e6) { - return { kind: "digest", digest: e6.endLine() }; -} -function ep(e6, t5) { - const n6 = e6.chunk, r6 = t5.pushChunk(n6, e6.cursor, n6.length); - return -1 !== r6 ? (e6.cursor = r6, Zm(t5)) : (e6.cursor = n6.length, e6.ended ? t5.lineHasBytes ? Zm(t5) : { kind: "exhausted" } : { kind: "needs-input" }); -} -function tp(e6, t5, n6) { - const r6 = (function(e7) { - const t6 = { committedHash: Fo, committedLength: 0, tentHash: Fo, tentLength: 0, tail: 0, sawLf: false, lineHasBytes: false }, n7 = Bo(e7), r7 = (function(e8) { - return { kinds: zo(e8), foldsSoftWs: "at-eol" === e8.mode, collapsesRuns: "change" === e8.mode }; - })(e7); - return { pushChunk: function(e8, n8, o7) { - return o7 > n8 && (t6.lineHasBytes = true), (function(e9, t7, n9, r8, o8) { - const { kinds: s10, foldsSoftWs: i7, collapsesRuns: a6 } = t7; - let c6 = e9.committedHash, d5 = e9.committedLength, u6 = e9.tentHash, l4 = e9.tentLength, f2 = e9.tail, h6 = -1; - for (let t8 = r8; t8 < o8; t8++) { - const r9 = n9[t8], o9 = s10[r9]; - if (3 === o9) { - e9.sawLf = true, h6 = t8 + 1; + } +}; +var ww = (e7, t5) => e7.date > t5.date || e7.date === t5.date && e7.oid < t5.oid; +var yw = new Uint8Array(0); +function Ew(e7) { + return { kind: "digest", digest: e7.endLine() }; +} +function bw(e7, t5) { + const n7 = e7.chunk, r8 = t5.pushChunk(n7, e7.cursor, n7.length); + return -1 !== r8 ? (e7.cursor = r8, Ew(t5)) : (e7.cursor = n7.length, e7.ended ? t5.lineHasBytes ? Ew(t5) : { kind: "exhausted" } : { kind: "needs-input" }); +} +function Iw(e7, t5, n7) { + const r8 = (function(e8) { + const t6 = { committedHash: os, committedLength: 0, tentHash: os, tentLength: 0, tail: 0, sawLf: false, lineHasBytes: false }, n8 = rs(e8), r9 = (function(e9) { + return { kinds: us(e9), foldsSoftWs: "at-eol" === e9.mode, collapsesRuns: "change" === e9.mode }; + })(e8); + return { pushChunk: function(e9, n9, o6) { + return o6 > n9 && (t6.lineHasBytes = true), (function(e10, t7, n10, r10, o7) { + const { kinds: s9, foldsSoftWs: i11, collapsesRuns: a4 } = t7; + let c5 = e10.committedHash, d6 = e10.committedLength, u6 = e10.tentHash, l4 = e10.tentLength, f2 = e10.tail, h5 = -1; + for (let t8 = r10; t8 < o7; t8++) { + const r11 = n10[t8], o8 = s9[r11]; + if (3 === o8) { + e10.sawLf = true, h5 = t8 + 1; break; } - 0 !== o9 ? (2 === f2 && (c6 = u6, d5 = l4), 2 !== o9 ? (i7 ? (u6 = Ho(u6, r9), l4++) : a6 && 1 !== f2 && (u6 = Ho(u6, 32), l4++), f2 = 1) : (u6 = Ho(u6, 13), l4++, f2 = 2)) : (u6 = Ho(u6, r9), l4++, c6 = u6, d5 = l4, f2 = 0); + 0 !== o8 ? (2 === f2 && (c5 = u6, d6 = l4), 2 !== o8 ? (i11 ? (u6 = ss(u6, r11), l4++) : a4 && 1 !== f2 && (u6 = ss(u6, 32), l4++), f2 = 1) : (u6 = ss(u6, 13), l4++, f2 = 2)) : (u6 = ss(u6, r11), l4++, c5 = u6, d6 = l4, f2 = 0); } - return e9.committedHash = c6, e9.committedLength = d5, e9.tentHash = u6, e9.tentLength = l4, e9.tail = f2, h6; - })(t6, r7, e8, n8, o7); + return e10.committedHash = c5, e10.committedLength = d6, e10.tentHash = u6, e10.tentLength = l4, e10.tail = f2, h5; + })(t6, r9, e9, n9, o6); }, endLine: function() { - const r8 = (function(e8, t7, n8) { - const r9 = (function(e9, t8) { - return 2 !== e9.tail || "none" !== t8.mode || e9.sawLf ? { hash: e9.committedHash, length: e9.committedLength } : { hash: e9.tentHash, length: e9.tentLength }; - })(e8, t7), o7 = e8.sawLf && !n8; - return o7 ? { length: r9.length, terminated: o7, hash: Ho(r9.hash, xo) } : { length: r9.length, terminated: o7, hash: r9.hash }; - })(t6, e7, n7); - return (function(e8) { - e8.committedHash = Fo, e8.committedLength = 0, e8.tentHash = Fo, e8.tentLength = 0, e8.tail = 0, e8.sawLf = false, e8.lineHasBytes = false; - })(t6), r8; + const r10 = (function(e9, t7, n9) { + const r11 = (function(e10, t8) { + return 2 !== e10.tail || "none" !== t8.mode || e10.sawLf ? { hash: e10.committedHash, length: e10.committedLength } : { hash: e10.tentHash, length: e10.tentLength }; + })(e9, t7), o6 = e9.sawLf && !n9; + return o6 ? { length: r11.length, terminated: o6, hash: ss(r11.hash, Yo) } : { length: r11.length, terminated: o6, hash: r11.hash }; + })(t6, e8, n8); + return (function(e9) { + e9.committedHash = os, e9.committedLength = 0, e9.tentHash = os, e9.tentLength = 0, e9.tail = 0, e9.sawLf = false, e9.lineHasBytes = false; + })(t6), r10; }, get lineHasBytes() { return t6.lineHasBytes; } }; - })(e6), o6 = (function(e7) { - return { chunk: Qm, cursor: 0, ended: false, nulScanOffset: 0, binary: ds(e7) }; - })(n6), s9 = us(n6); - return { push(e7) { - s9 && (function(e8, t6) { - if (e8.nulScanOffset < Yo) { - const n7 = Math.min(t6.length, Yo - e8.nulScanOffset); - for (let r7 = 0; r7 < n7; r7++) if (0 === t6[r7]) { - e8.binary = true; + })(e7), o5 = (function(e8) { + return { chunk: yw, cursor: 0, ended: false, nulScanOffset: 0, binary: xs(e8) }; + })(n7), s8 = Ss(n7); + return { push(e8) { + s8 && (function(e9, t6) { + if (e9.nulScanOffset < fs) { + const n8 = Math.min(t6.length, fs - e9.nulScanOffset); + for (let r9 = 0; r9 < n8; r9++) if (0 === t6[r9]) { + e9.binary = true; break; } } - e8.nulScanOffset += t6.length; - })(o6, e7), o6.chunk = e7, o6.cursor = 0; + e9.nulScanOffset += t6.length; + })(o5, e8), o5.chunk = e8, o5.cursor = 0; }, end() { - o6.ended = true; - }, next: () => (function(e7, t6, n7) { + o5.ended = true; + }, next: () => (function(e8, t6, n8) { for (; ; ) { - if (e7.binary) return { kind: "exhausted" }; - const r7 = ep(e7, t6); - if ("digest" !== r7.kind) return r7; - if (!n7 || !Ko(r7.digest)) return r7; + if (e8.binary) return { kind: "exhausted" }; + const r9 = bw(e8, t6); + if ("digest" !== r9.kind) return r9; + if (!n8 || !ls(r9.digest)) return r9; } - })(o6, r6, t5), get binary() { - return o6.binary; + })(o5, r8, t5), get binary() { + return o5.binary; } }; } -function np(e6, t5, n6, r6) { - if (e6.binary || t5.binary) return false; - const o6 = "digest" === n6.kind ? n6.digest : void 0, s9 = "digest" === r6.kind ? r6.digest : void 0; - return void 0 === o6 && void 0 === s9 || void 0 !== o6 && void 0 !== s9 && (i7 = o6).length === (a6 = s9).length && i7.terminated === a6.terminated && i7.hash === a6.hash && "continue"; - var i7, a6; -} -function rp(e6, t5, n6, r6) { - if (!r6) return t5; - let o6 = t5; - for (; o6 < e6.length && Po(e6[o6], n6); ) o6++; - return o6; -} -function op(e6, t5, n6, r6) { - const o6 = es(e6), s9 = es(t5); - let i7 = rp(o6, 0, n6, r6), a6 = rp(s9, 0, n6, r6); - for (; i7 < o6.length && a6 < s9.length; ) { - if (!Do(o6[i7], s9[a6], n6)) return false; - i7 = rp(o6, i7 + 1, n6, r6), a6 = rp(s9, a6 + 1, n6, r6); - } - return i7 === o6.length && a6 === s9.length; -} -function sp(e6, t5, n6, r6, o6) { - const s9 = tp(n6, r6, o6), i7 = tp(n6, r6, o6); - for (s9.push(e6), s9.end(), i7.push(t5), i7.end(); ; ) { - const o7 = np(s9, i7, s9.next(), i7.next()); - if ("continue" !== o7) return o7 && op(e6, t5, n6, r6); - } -} -function ip(e6, t5) { - const n6 = { buf: e6, digestLength: t5.digestLength, offset: 0, modeEnd: 0, nameStart: 0, nameEnd: 0, oidStart: 0, isDir: false, done: 0 === e6.length }; - return n6.done || cp(n6, 0), n6; -} -function ap(e6) { - const t5 = e6.oidStart + e6.digestLength; - t5 >= e6.buf.length ? e6.done = true : cp(e6, t5); -} -function cp(e6, t5) { - e6.offset = t5, (function(e7, t6) { - const n6 = _t(e7.buf, 32, t6); - if (-1 === n6) throw Rt(t6, "missing space after mode"); - if (n6 === t6 || (function(e8, t7, n7) { - for (let r6 = t7; r6 < n7; r6++) { - const t8 = e8[r6]; - if (t8 < 48 || t8 > 55) return true; - } - return false; - })(e7.buf, t6, n6)) throw Rt(t6, "malformed mode"); - e7.modeEnd = n6; - })(e6, t5), (function(e7) { - const t6 = e7.modeEnd + 1, n6 = _t(e7.buf, 0, t6); - if (-1 === n6) throw Rt(e7.offset, "missing null after name"); - if (n6 === t6) throw Rt(e7.offset, "empty filename"); - e7.nameStart = t6, e7.nameEnd = n6; - })(e6), (function(e7) { - const t6 = e7.nameEnd + 1; - if (t6 + e7.digestLength > e7.buf.length) throw Rt(e7.offset, "truncated hash"); - e7.oidStart = t6; - })(e6), e6.isDir = (function(e7, t6, n6) { - const r6 = n6 - t6; - return !(r6 < 5 || 52 !== e7[n6 - 5] || 5 !== r6 && (e7[n6 - 6] - 48) % 2 != 0); - })(e6.buf, e6.offset, e6.modeEnd); -} -function dp(e6, t5) { - const n6 = e6.buf, r6 = e6.nameStart, o6 = e6.nameEnd - r6, s9 = o6 + (e6.isDir ? 1 : 0), i7 = t5.buf, a6 = t5.nameStart, c6 = t5.nameEnd - a6, d5 = c6 + (t5.isDir ? 1 : 0), u6 = Math.min(s9, d5); - for (let e7 = 0; e7 < u6; e7++) { - const t6 = (e7 < o6 ? n6[r6 + e7] : 47) - (e7 < c6 ? i7[a6 + e7] : 47); - if (0 !== t6) return t6; - } - return s9 - d5; -} -function up(e6, t5, n6) { - let r6 = t5; - for (; r6 < n6 - 1 && 48 === e6[r6]; ) r6++; - return r6; -} -function lp(e6) { - return $t(e6.buf.subarray(e6.nameStart, e6.nameEnd)); -} -function fp(e6) { - return sr.fromRaw(e6.buf.subarray(e6.oidStart, e6.oidStart + e6.digestLength)); -} -function hp(e6) { - return (function(e7, t5, n6) { - const r6 = n6 - t5; - if (5 === r6 && tn(e7, t5, Xt)) return Wt.DIRECTORY; - if (6 === r6) { - const n7 = (function(e8, t6) { - return tn(e8, t6, Jt) ? Wt.REGULAR : tn(e8, t6, Qt) ? Wt.EXECUTABLE : tn(e8, t6, Zt) ? Wt.SYMLINK : tn(e8, t6, en) ? Wt.GITLINK : tn(e8, t6, qt) ? Wt.DIRECTORY : void 0; - })(e7, t5); - if (void 0 !== n7) return n7; - } - throw Ut((function(e8, t6, n7) { - return n7 - t6 <= 16 ? $t(e8.subarray(t6, n7)) : `${$t(e8.subarray(t6, t6 + 16))}\u2026`; - })(e7, t5, n6)); - })(e6.buf, e6.offset, e6.modeEnd); -} -var gp = new Uint8Array(0); -function mp(e6, t5, n6) { - const r6 = ip(e6 ?? gp, n6), o6 = ip(t5 ?? gp, n6), s9 = []; - for (; !r6.done && !o6.done; ) { - const e7 = dp(r6, o6); - if (e7 < 0) s9.push(wp(r6)), ap(r6); - else if (e7 > 0) s9.push(pp(o6)), ap(o6); +function _w(e7, t5, n7, r8) { + if (e7.binary || t5.binary) return false; + const o5 = "digest" === n7.kind ? n7.digest : void 0, s8 = "digest" === r8.kind ? r8.digest : void 0; + return void 0 === o5 && void 0 === s8 || void 0 !== o5 && void 0 !== s8 && (i11 = o5).length === (a4 = s8).length && i11.terminated === a4.terminated && i11.hash === a4.hash && "continue"; + var i11, a4; +} +function vw(e7, t5, n7, r8) { + if (!r8) return t5; + let o5 = t5; + for (; o5 < e7.length && ns(e7[o5], n7); ) o5++; + return o5; +} +function Ow(e7, t5, n7, r8) { + const o5 = ys(e7), s8 = ys(t5); + let i11 = vw(o5, 0, n7, r8), a4 = vw(s8, 0, n7, r8); + for (; i11 < o5.length && a4 < s8.length; ) { + if (!Qo(o5[i11], s8[a4], n7)) return false; + i11 = vw(o5, i11 + 1, n7, r8), a4 = vw(s8, a4 + 1, n7, r8); + } + return i11 === o5.length && a4 === s8.length; +} +function Tw(e7, t5, n7, r8, o5) { + const s8 = Iw(n7, r8, o5), i11 = Iw(n7, r8, o5); + for (s8.push(e7), s8.end(), i11.push(t5), i11.end(); ; ) { + const o6 = _w(s8, i11, s8.next(), i11.next()); + if ("continue" !== o6) return o6 && Ow(e7, t5, n7, r8); + } +} +var Aw = new Uint8Array(0); +function $w(e7, t5, n7) { + const r8 = Zp(e7 ?? Aw, n7), o5 = Zp(t5 ?? Aw, n7), s8 = []; + for (; !r8.done && !o5.done; ) { + const e8 = nw(r8, o5); + if (e8 < 0) s8.push(Sw(r8)), ew(r8); + else if (e8 > 0) s8.push(xw(o5)), ew(o5); else { - const e8 = yp(r6, o6); - void 0 !== e8 && s9.push(e8), ap(r6), ap(o6); + const e9 = Nw(r8, o5); + void 0 !== e9 && s8.push(e9), ew(r8), ew(o5); } } - for (; !r6.done; ) s9.push(wp(r6)), ap(r6); - for (; !o6.done; ) s9.push(pp(o6)), ap(o6); - return { changes: s9 }; + for (; !r8.done; ) s8.push(Sw(r8)), ew(r8); + for (; !o5.done; ) s8.push(xw(o5)), ew(o5); + return { changes: s8 }; } -function pp(e6) { - return { type: "add", newPath: lp(e6), newId: fp(e6), newMode: hp(e6) }; +function xw(e7) { + return { type: "add", newPath: sw(e7), newId: iw(e7), newMode: aw(e7) }; } -function wp(e6) { - return { type: "delete", oldPath: lp(e6), oldId: fp(e6), oldMode: hp(e6) }; +function Sw(e7) { + return { type: "delete", oldPath: sw(e7), oldId: iw(e7), oldMode: aw(e7) }; } -function yp(e6, t5) { - if ((function(e7, t6) { - return (function(e8, t7) { - for (let n7 = 0; n7 < e8.digestLength; n7++) if (e8.buf[e8.oidStart + n7] !== t7.buf[t7.oidStart + n7]) return false; +function Nw(e7, t5) { + if ((function(e8, t6) { + return (function(e9, t7) { + for (let n8 = 0; n8 < e9.digestLength; n8++) if (e9.buf[e9.oidStart + n8] !== t7.buf[t7.oidStart + n8]) return false; return true; - })(e7, t6) && (function(e8, t7) { - const n7 = up(e8.buf, e8.offset, e8.modeEnd), r7 = up(t7.buf, t7.offset, t7.modeEnd), o7 = e8.modeEnd - n7; - if (o7 !== t7.modeEnd - r7) return false; - for (let s10 = 0; s10 < o7; s10++) if (e8.buf[n7 + s10] !== t7.buf[r7 + s10]) return false; + })(e8, t6) && (function(e9, t7) { + const n8 = ow(e9.buf, e9.offset, e9.modeEnd), r9 = ow(t7.buf, t7.offset, t7.modeEnd), o6 = e9.modeEnd - n8; + if (o6 !== t7.modeEnd - r9) return false; + for (let s9 = 0; s9 < o6; s9++) if (e9.buf[n8 + s9] !== t7.buf[r9 + s9]) return false; return true; - })(e7, t6); - })(e6, t5)) return; - const n6 = lp(e6), r6 = fp(e6), o6 = fp(t5), s9 = hp(e6), i7 = hp(t5); - return po(s9, i7) ? { type: "modify", path: n6, oldId: r6, newId: o6, oldMode: s9, newMode: i7 } : { type: "type-change", path: n6, oldId: r6, newId: o6, oldMode: s9, newMode: i7 }; -} -var Ep = "refs/heads/"; -var bp = "# v2 git bundle"; -var Ip = "# v3 git bundle"; -var _p = new TextEncoder(); -var vp = (e6) => _p.encode(e6).length; -var Tp = (e6, t5, n6) => { - const r6 = e6.slice(1); - if (r6.startsWith("object-format=")) { - const e7 = r6.slice(14); - if ("sha1" !== e7 && "sha256" !== e7) throw nt(n6, { reason: "unknown-hash-algorithm", algorithm: e7 }); - return { hashAlgorithm: e7, filter: t5.filter }; - } - if (r6.startsWith("filter=")) { - const e7 = za(r6.slice(7)); - return { hashAlgorithm: t5.hashAlgorithm, filter: e7 }; - } - throw nt(n6, { reason: "unknown-capability", capability: r6 }); -}; -var Op = (e6, t5, r6) => { - if (void 0 === e6) throw nt(r6, { reason: "malformed-header", line: t5, length: vp(t5) }); - return n(e6); -}; -var $p = (e6, t5, n6) => { - const r6 = e6.slice(1), o6 = r6.indexOf(" "), s9 = -1 === o6 ? r6 : r6.slice(0, o6), i7 = -1 === o6 ? "" : r6.slice(o6 + 1); - if (!Dr(s9, n6)) throw nt(t5, { reason: "malformed-header", line: e6, length: vp(e6) }); - return { oid: sr.from(s9), comment: i7 }; -}; -var Ap = (e6, t5, n6) => { - const r6 = e6.indexOf(" "); - if (-1 === r6) throw nt(t5, { reason: "malformed-header", line: e6, length: vp(e6) }); - const o6 = e6.slice(0, r6), s9 = e6.slice(r6 + 1); - if (!Dr(o6, n6)) throw nt(t5, { reason: "malformed-header", line: e6, length: vp(e6) }); - return { oid: sr.from(o6), name: fr.from(s9) }; -}; -var Np = (e6, t5) => { - const n6 = ((e7) => { - for (let t6 = 0; t6 < e7.length - 1; t6++) if (10 === e7[t6] && 10 === e7[t6 + 1]) return t6 + 2; + })(e8, t6); + })(e7, t5)) return; + const n7 = sw(e7), r8 = iw(e7), o5 = iw(t5), s8 = aw(e7), i11 = aw(t5); + return Do(s8, i11) ? { type: "modify", path: n7, oldId: r8, newId: o5, oldMode: s8, newMode: i11 } : { type: "type-change", path: n7, oldId: r8, newId: o5, oldMode: s8, newMode: i11 }; +} +var Lw = "refs/heads/"; +var Rw = "# v2 git bundle"; +var kw = "# v3 git bundle"; +var Dw = new TextEncoder(); +var Uw = (e7) => Dw.encode(e7).length; +var Cw = (e7, t5, n7) => { + const r8 = e7.slice(1); + if (r8.startsWith("object-format=")) { + const e8 = r8.slice(14); + if ("sha1" !== e8 && "sha256" !== e8) throw ct(n7, { reason: "unknown-hash-algorithm", algorithm: e8 }); + return { hashAlgorithm: e8, filter: t5.filter }; + } + if (r8.startsWith("filter=")) { + const e8 = uc(r8.slice(7)); + return { hashAlgorithm: t5.hashAlgorithm, filter: e8 }; + } + throw ct(n7, { reason: "unknown-capability", capability: r8 }); +}; +var Mw = (e7, t5, n7) => { + if (void 0 === e7) throw ct(n7, { reason: "malformed-header", line: t5, length: Uw(t5) }); + return i(e7); +}; +var Pw = (e7, t5, n7) => { + const r8 = e7.slice(1), o5 = r8.indexOf(" "), s8 = -1 === o5 ? r8 : r8.slice(0, o5), i11 = -1 === o5 ? "" : r8.slice(o5 + 1); + if (!Qr(s8, n7)) throw ct(t5, { reason: "malformed-header", line: e7, length: Uw(e7) }); + return { oid: lr.from(s8), comment: i11 }; +}; +var Bw = (e7, t5, n7) => { + const r8 = e7.indexOf(" "); + if (-1 === r8) throw ct(t5, { reason: "malformed-header", line: e7, length: Uw(e7) }); + const o5 = e7.slice(0, r8), s8 = e7.slice(r8 + 1); + if (!Qr(o5, n7)) throw ct(t5, { reason: "malformed-header", line: e7, length: Uw(e7) }); + return { oid: lr.from(o5), name: yr.from(s8) }; +}; +var Fw = (e7, t5) => { + const n7 = ((e8) => { + for (let t6 = 0; t6 < e8.length - 1; t6++) if (10 === e8[t6] && 10 === e8[t6 + 1]) return t6 + 2; return -1; - })(e6); - if (-1 === n6) return ((e7, t6) => { - const n7 = e7.subarray(0, Math.min(e7.length, 64)), r7 = new TextDecoder().decode(n7); - if (!r7.startsWith(bp) && !r7.startsWith(Ip)) throw nt(t6, { reason: "not-a-bundle" }); - const o7 = r7.split("\n")[0]; - throw nt(t6, { reason: "malformed-header", line: o7, length: vp(o7) }); - })(e6, t5); - const { version: r6, hashAlgorithm: o6, prerequisites: s9, refs: i7, filter: a6 } = ((e7, t6, n7) => { - const r7 = new TextDecoder().decode(e7.subarray(0, t6)).split("\n").filter((e8) => e8.length > 0), [o7, ...s10] = r7; - if (void 0 === o7) throw nt(n7, { reason: "not-a-bundle" }); - const { version: i8, hashAlgorithm: a7 } = ((e8, t7) => { - if (e8 === Ip) return { version: 3, hashAlgorithm: void 0 }; - if (e8 !== bp) throw nt(t7, { reason: "not-a-bundle" }); + })(e7); + if (-1 === n7) return ((e8, t6) => { + const n8 = e8.subarray(0, Math.min(e8.length, 64)), r9 = new TextDecoder().decode(n8); + if (!r9.startsWith(Rw) && !r9.startsWith(kw)) throw ct(t6, { reason: "not-a-bundle" }); + const o6 = r9.split("\n")[0]; + throw ct(t6, { reason: "malformed-header", line: o6, length: Uw(o6) }); + })(e7, t5); + const { version: r8, hashAlgorithm: o5, prerequisites: s8, refs: i11, filter: a4 } = ((e8, t6, n8) => { + const r9 = new TextDecoder().decode(e8.subarray(0, t6)).split("\n").filter((e9) => e9.length > 0), [o6, ...s9] = r9; + if (void 0 === o6) throw ct(n8, { reason: "not-a-bundle" }); + const { version: i12, hashAlgorithm: a5 } = ((e9, t7) => { + if (e9 === kw) return { version: 3, hashAlgorithm: void 0 }; + if (e9 !== Rw) throw ct(t7, { reason: "not-a-bundle" }); return { version: 2, hashAlgorithm: "sha1" }; - })(o7, n7), c6 = 3 === i8 ? ((e8, t7) => { - let n8 = { hashAlgorithm: void 0, filter: void 0 }, r8 = 0; - for (const o8 of e8) { - if (!o8.startsWith("@")) break; - n8 = Tp(o8, n8, t7), r8 += 1; - } - return { consumed: r8, ...n8 }; - })(s10, n7) : { consumed: 0, hashAlgorithm: a7, filter: void 0 }, d5 = s10.slice(c6.consumed), { prerequisites: u6, refs: l4 } = ((e8, t7, n8) => { - const r8 = [], o8 = []; - for (const s11 of e8) { - const e9 = Op(n8, s11, t7); - s11.startsWith("-") ? r8.push($p(s11, t7, e9)) : o8.push(Ap(s11, t7, e9)); - } - return { prerequisites: r8, refs: o8 }; - })(d5, n7, c6.hashAlgorithm); - return { version: i8, hashAlgorithm: c6.hashAlgorithm ?? "sha1", prerequisites: u6, refs: l4, filter: c6.filter }; - })(e6, n6, t5); - return { version: r6, hashAlgorithm: o6, prerequisites: s9, refs: i7, packOffset: n6, ...void 0 !== a6 ? { filter: a6 } : {} }; -}; -var Sp = (e6) => `-${e6.oid} ${e6.comment} + })(o6, n8), c5 = 3 === i12 ? ((e9, t7) => { + let n9 = { hashAlgorithm: void 0, filter: void 0 }, r10 = 0; + for (const o7 of e9) { + if (!o7.startsWith("@")) break; + n9 = Cw(o7, n9, t7), r10 += 1; + } + return { consumed: r10, ...n9 }; + })(s9, n8) : { consumed: 0, hashAlgorithm: a5, filter: void 0 }, d6 = s9.slice(c5.consumed), { prerequisites: u6, refs: l4 } = ((e9, t7, n9) => { + const r10 = [], o7 = []; + for (const s10 of e9) { + const e10 = Mw(n9, s10, t7); + s10.startsWith("-") ? r10.push(Pw(s10, t7, e10)) : o7.push(Bw(s10, t7, e10)); + } + return { prerequisites: r10, refs: o7 }; + })(d6, n8, c5.hashAlgorithm); + return { version: i12, hashAlgorithm: c5.hashAlgorithm ?? "sha1", prerequisites: u6, refs: l4, filter: c5.filter }; + })(e7, n7, t5); + return { version: r8, hashAlgorithm: o5, prerequisites: s8, refs: i11, packOffset: n7, ...void 0 !== a4 ? { filter: a4 } : {} }; +}; +var Hw = (e7) => `-${e7.oid} ${e7.comment} `; -var xp = (e6) => `${e6.oid} ${e6.name} +var Vw = (e7) => `${e7.oid} ${e7.name} `; -var Lp = (e6) => { - const t5 = (n6 = e6.prerequisites, [...n6].sort((e7, t6) => e7.oid.localeCompare(t6.oid))); - var n6; - const r6 = [(o6 = e6.version, s9 = e6.hashAlgorithm, 3 === o6 ? `# v3 git bundle -@object-format=${s9} +var Gw = (e7) => { + const t5 = (n7 = e7.prerequisites, [...n7].sort((e8, t6) => e8.oid.localeCompare(t6.oid))); + var n7; + const r8 = [(o5 = e7.version, s8 = e7.hashAlgorithm, 3 === o5 ? `# v3 git bundle +@object-format=${s8} ` : "# v2 git bundle\n")]; - var o6, s9; - for (const e7 of t5) r6.push(Sp(e7)); - for (const t6 of e6.refs) r6.push(xp(t6)); - return r6.push("\n"), new TextEncoder().encode(r6.join("")); -}; -var Rp = (e6) => new o({ code: "INVALID_COMMIT_GRAPH_HEADER", reason: e6 }); -var kp = (e6) => new o({ code: "INVALID_COMMIT_GRAPH_CHUNK", reason: e6 }); -var Dp = "CGPH"; -var Up = "OIDF"; -var Cp = "OIDL"; -var Mp = "CDAT"; -var Pp = "GDA2"; -var Bp = "BASE"; -var Fp = 1879048192; -var Hp = 2147483647; -function Vp(e6) { - if (e6.length < 8) throw Rp("truncated: file too short for header"); - const t5 = new DataView(e6.buffer, e6.byteOffset, e6.byteLength), n6 = $t(e6.subarray(0, 4)); - if (n6 !== Dp) throw Rp(`invalid magic: expected ${Dp}, got ${n6}`); - const r6 = t5.getUint8(4); - if (1 !== r6) throw Rp(`unsupported version: expected 1, got ${r6}`); - const o6 = t5.getUint8(5); - if (1 !== o6 && 2 !== o6) throw Rp(`unsupported hash version: expected 1 or 2, got ${o6}`); - const s9 = t5.getUint8(6), i7 = t5.getUint8(7), a6 = 1 === o6 ? 20 : 32, c6 = (function(e7, t6, n7, r7) { - const o7 = n7 + 1; - if (e7.length < 8 + 12 * o7) throw kp("truncated: chunk table extends past end of file"); - const s10 = []; - for (let n8 = 0; n8 < o7; n8 += 1) { - const r8 = 8 + 12 * n8, o8 = $t(e7.subarray(r8, r8 + 4)), i9 = t6.getUint32(r8 + 4), a7 = t6.getUint32(r8 + 8); - s10.push({ id: o8, offset: 4294967296 * i9 + a7 }); - } - if (e7.length < s10[s10.length - 1].offset + r7) throw kp("truncated: file ends before trailer"); - const i8 = /* @__PURE__ */ new Map(); - for (let e8 = 0; e8 < n7; e8 += 1) i8.set(s10[e8].id, { start: s10[e8].offset, end: s10[e8 + 1].offset }); - return i8; - })(e6, t5, s9, a6), d5 = Gp(c6, Up); - Wp(d5, 1024, Up); - const u6 = t5.getUint32(d5.start + 1020), l4 = Gp(c6, Cp); - Wp(l4, u6 * a6, Cp); - const f2 = a6 + 16, h6 = Gp(c6, Mp); - Wp(h6, u6 * f2, Mp); - const g7 = c6.get(Pp); - void 0 !== g7 && Wp(g7, 4 * u6, Pp); - const m5 = c6.get("EDGE"), p5 = (function(e7, t6, n7, r7) { - const o7 = e7.get(Bp); - if (void 0 === o7) { - if (0 !== t6) throw kp(`missing BASE chunk: header declares ${t6} base graphs`); + var o5, s8; + for (const e8 of t5) r8.push(Hw(e8)); + for (const t6 of e7.refs) r8.push(Vw(t6)); + return r8.push("\n"), new TextEncoder().encode(r8.join("")); +}; +var Ww = (e7) => new c({ code: "INVALID_COMMIT_GRAPH_HEADER", reason: e7 }); +var zw = (e7) => new c({ code: "INVALID_COMMIT_GRAPH_CHUNK", reason: e7 }); +var jw = "CGPH"; +var Kw = "OIDF"; +var Yw = "OIDL"; +var Xw = "CDAT"; +var qw = "GDA2"; +var Jw = "BASE"; +var Qw = 1879048192; +var Zw = 2147483648; +var ey = 2147483648; +var ty = 2147483647; +var ny = 2147483648; +function ry(e7) { + if (e7.length < 8) throw Ww("truncated: file too short for header"); + const t5 = new DataView(e7.buffer, e7.byteOffset, e7.byteLength), n7 = kt(e7.subarray(0, 4)); + if (n7 !== jw) throw Ww(`invalid magic: expected ${jw}, got ${n7}`); + const r8 = t5.getUint8(4); + if (1 !== r8) throw Ww(`unsupported version: expected 1, got ${r8}`); + const o5 = t5.getUint8(5); + if (1 !== o5 && 2 !== o5) throw Ww(`unsupported hash version: expected 1 or 2, got ${o5}`); + const s8 = t5.getUint8(6), i11 = t5.getUint8(7), a4 = 1 === o5 ? 20 : 32, c5 = (function(e8, t6, n8, r9) { + const o6 = n8 + 1; + if (e8.length < 8 + 12 * o6) throw zw("truncated: chunk table extends past end of file"); + const s9 = []; + for (let n9 = 0; n9 < o6; n9 += 1) { + const r10 = 8 + 12 * n9, o7 = kt(e8.subarray(r10, r10 + 4)); + s9.push({ id: o7, offset: oy(t6, r10 + 4) }); + } + if (e8.length < s9[s9.length - 1].offset + r9) throw zw("truncated: file ends before trailer"); + const i12 = /* @__PURE__ */ new Map(); + for (let e9 = 0; e9 < n8; e9 += 1) i12.set(s9[e9].id, { start: s9[e9].offset, end: s9[e9 + 1].offset }); + return i12; + })(e7, t5, s8, a4), d6 = sy(c5, Kw); + iy(d6, 1024, Kw); + const u6 = t5.getUint32(d6.start + 1020), l4 = sy(c5, Yw); + iy(l4, u6 * a4, Yw); + const f2 = a4 + 16, h5 = sy(c5, Xw); + iy(h5, u6 * f2, Xw); + const g7 = c5.get(qw); + void 0 !== g7 && iy(g7, 4 * u6, qw); + const m7 = c5.get("EDGE"), p6 = c5.get("GDO2"), w6 = (function(e8, t6, n8, r9) { + const o6 = e8.get(Jw); + if (void 0 === o6) { + if (0 !== t6) throw zw(`missing BASE chunk: header declares ${t6} base graphs`); return []; } - Wp(o7, t6 * n7, Bp); - const s10 = []; - for (let e8 = 0; e8 < t6; e8 += 1) { - const t7 = o7.start + e8 * n7; - s10.push(sr.fromRaw(r7.subarray(t7, t7 + n7))); - } - return s10; - })(c6, i7, a6, e6); - return { hashVersion: o6, numBaseGraphs: i7, baseGraphHashes: p5, commitCount: u6, _bytes: e6, _view: t5, _hashLength: a6, _fanoutOffset: d5.start, _oidLookupOffset: l4.start, _commitDataOffset: h6.start, _commitDataEntrySize: f2, _generationDataRange: g7, _extraEdgeRange: m5 }; -} -function Gp(e6, t5) { - const n6 = e6.get(t5); - if (void 0 === n6) throw kp(`missing required ${t5} chunk`); - return n6; -} -function Wp(e6, t5, n6) { - const r6 = e6.end - e6.start; - if (r6 !== t5) throw kp(`truncated ${n6} chunk: expected ${t5} bytes, got ${r6}`); -} -function jp(e6, t5) { - const n6 = yt(t5); - let r6 = 0, o6 = e6._view.getUint32(e6._fanoutOffset + 4 * n6[0]); - for (; r6 < o6; ) { - const t6 = r6 + o6 >>> 1, s9 = zp(e6, t6, n6); - if (s9 < 0) r6 = t6 + 1; + iy(o6, t6 * n8, Jw); + const s9 = []; + for (let e9 = 0; e9 < t6; e9 += 1) { + const t7 = o6.start + e9 * n8; + s9.push(lr.fromRaw(r9.subarray(t7, t7 + n8))); + } + return s9; + })(c5, i11, a4, e7); + return { hashVersion: o5, numBaseGraphs: i11, baseGraphHashes: w6, commitCount: u6, _bytes: e7, _view: t5, _hashLength: a4, _fanoutOffset: d6.start, _oidLookupOffset: l4.start, _commitDataOffset: h5.start, _commitDataEntrySize: f2, _generationDataRange: g7, _extraEdgeRange: m7, _overflowGenerationRange: p6 }; +} +function oy(e7, t5) { + return 4294967296 * e7.getUint32(t5) + e7.getUint32(t5 + 4); +} +function sy(e7, t5) { + const n7 = e7.get(t5); + if (void 0 === n7) throw zw(`missing required ${t5} chunk`); + return n7; +} +function iy(e7, t5, n7) { + const r8 = e7.end - e7.start; + if (r8 !== t5) throw zw(`truncated ${n7} chunk: expected ${t5} bytes, got ${r8}`); +} +function ay(e7, t5) { + const n7 = Ot(t5); + let r8 = 0, o5 = e7._view.getUint32(e7._fanoutOffset + 4 * n7[0]); + for (; r8 < o5; ) { + const t6 = r8 + o5 >>> 1, s8 = cy(e7, t6, n7); + if (s8 < 0) r8 = t6 + 1; else { - if (!(s9 > 0)) return t6; - o6 = t6; + if (!(s8 > 0)) return t6; + o5 = t6; } } } -function zp(e6, t5, n6) { - const r6 = e6._oidLookupOffset + t5 * e6._hashLength, o6 = e6._bytes; - for (let t6 = 0; t6 < e6._hashLength; t6 += 1) { - const e7 = o6[r6 + t6] - n6[t6]; - if (0 !== e7) return e7; +function cy(e7, t5, n7) { + const r8 = e7._oidLookupOffset + t5 * e7._hashLength, o5 = e7._bytes; + for (let t6 = 0; t6 < e7._hashLength; t6 += 1) { + const e8 = o5[r8 + t6] - n7[t6]; + if (0 !== e8) return e8; } return 0; } -function Kp(e6, t5) { - const n6 = e6._commitDataOffset + t5 * e6._commitDataEntrySize, r6 = e6._view, o6 = e6._hashLength, s9 = sr.fromRaw(e6._bytes.subarray(n6, n6 + o6)), i7 = r6.getUint32(n6 + o6), a6 = r6.getUint32(n6 + o6 + 4), c6 = r6.getUint32(n6 + o6 + 8), d5 = 4294967296 * (3 & c6) + r6.getUint32(n6 + o6 + 12), u6 = c6 >>> 2, l4 = i7 === Fp ? void 0 : i7, { parent2Pos: f2, additionalParentPositions: h6 } = (function(e7, t6) { - if (t6 === Fp) return { parent2Pos: void 0, additionalParentPositions: [] }; - if (!(2147483648 & t6)) return { parent2Pos: t6, additionalParentPositions: [] }; - const n7 = (function(e8, t7) { - if (void 0 === e8._extraEdgeRange) throw kp("octopus parent references missing EDGE chunk"); - const { start: n8, end: r7 } = e8._extraEdgeRange, o7 = []; - let s10 = n8 + 4 * t7; - for (; s10 < r7; ) { - const t8 = e8._view.getUint32(s10); - if (o7.push(t8 & Hp), s10 += 4, 2147483648 & t8) return o7; - } - throw kp("truncated EDGE chunk: octopus parent list never terminates"); - })(e7, t6 & Hp); - return { parent2Pos: n7[0], additionalParentPositions: n7.slice(1) }; - })(e6, a6), g7 = (function(e7, t6, n7, r7) { - if (void 0 === e7._generationDataRange) return n7; - const o7 = e7._view.getUint32(e7._generationDataRange.start + 4 * t6); - return 2147483648 & o7 ? n7 : r7 + o7; - })(e6, t5, u6, d5); - return { rootTree: s9, parent1Pos: l4, parent2Pos: f2, additionalParentPositions: h6, generation: g7, committerDate: d5 }; -} -var Yp = /^(pick|revert) (\S+) (.*)$/; -var Xp = (e6) => e6.map((e7) => `${e7.command} ${e7.oid} ${e7.subject} +function dy(e7, t5) { + const n7 = e7._commitDataOffset + t5 * e7._commitDataEntrySize, r8 = e7._view, o5 = e7._hashLength, s8 = lr.fromRaw(e7._bytes.subarray(n7, n7 + o5)), i11 = r8.getUint32(n7 + o5), a4 = r8.getUint32(n7 + o5 + 4), c5 = r8.getUint32(n7 + o5 + 8), d6 = 4294967296 * (3 & c5) + r8.getUint32(n7 + o5 + 12), u6 = c5 >>> 2, l4 = i11 === Qw ? void 0 : i11, { parent2Pos: f2, additionalParentPositions: h5 } = (function(e8, t6) { + if (t6 === Qw) return { parent2Pos: void 0, additionalParentPositions: [] }; + if (0 === (t6 & Zw)) return { parent2Pos: t6, additionalParentPositions: [] }; + const n8 = (function(e9, t7) { + if (void 0 === e9._extraEdgeRange) throw zw("octopus parent references missing EDGE chunk"); + const { start: n9, end: r9 } = e9._extraEdgeRange, o6 = []; + let s9 = n9 + 4 * t7; + for (; s9 < r9; ) { + const t8 = e9._view.getUint32(s9); + if (o6.push(t8 & ty), s9 += 4, 0 !== (t8 & ey)) return o6; + } + throw zw("truncated EDGE chunk: octopus parent list never terminates"); + })(e8, t6 & ty); + return { parent2Pos: n8[0], additionalParentPositions: n8.slice(1) }; + })(e7, a4), g7 = (function(e8, t6, n8, r9) { + if (void 0 === e8._generationDataRange) return n8; + const o6 = e8._view.getUint32(e8._generationDataRange.start + 4 * t6); + return 0 !== (o6 & ny) ? r9 + (function(e9, t7) { + const n9 = e9._overflowGenerationRange; + if (void 0 === n9) throw zw("generation overflow flag set but missing GDO2 chunk"); + const r10 = n9.start + 8 * t7; + if (r10 + 8 > n9.end) throw zw(`GDO2 index ${t7} out of range`); + return oy(e9._view, r10); + })(e8, o6 & ty) : r9 + o6; + })(e7, t5, u6, d6); + return { rootTree: s8, parent1Pos: l4, parent2Pos: f2, additionalParentPositions: h5, generation: g7, committerDate: d6 }; +} +var uy = /^(pick|revert) (\S+) (.*)$/; +var ly = (e7) => e7.map((e8) => `${e8.command} ${e8.oid} ${e8.subject} `).join(""); -var qp = (e6) => { +var fy = (e7) => { const t5 = []; - for (const n6 of e6.split("\n")) { - if ("" === n6 || n6.startsWith("#")) continue; - const e7 = Yp.exec(n6); - if (null === e7) throw je(n6); - t5.push({ command: e7[1], oid: e7[2], subject: e7[3] }); + for (const n7 of e7.split("\n")) { + if ("" === n7 || n7.startsWith("#")) continue; + const e8 = uy.exec(n7); + if (null === e8) throw Je(n7); + t5.push({ command: e8[1], oid: e8[2], subject: e8[3] }); } return t5; }; -var Jp = (e6, t5) => e6.depth !== t5.depth ? e6.depth - t5.depth : e6.foundOrder - t5.foundOrder; -var Qp = (e6) => bi(e6, { anchored: true }); -var Zp = (e6, t5) => { - const n6 = e6.map(Qp), r6 = t5.map(Qp); - return { matches: (e7) => !(0 !== n6.length && !n6.some((t6) => t6.test(e7)) || r6.some((t6) => t6.test(e7))) }; -}; -var ew = (e6, t5) => t5 ? e6.startsWith("refs/") ? e6.slice(5) : e6 : e6.startsWith("refs/tags/") ? e6.slice(10) : e6; -var tw = (e6, t5) => t5.priority > e6.priority || 2 === t5.priority && t5.taggerDate > e6.taggerDate; -var nw = Number.MIN_SAFE_INTEGER; -var rw = (e6, t5) => e6 < t5; -var ow = (e6) => 0 === e6 ? 0 : e6 > nw + 86400 ? e6 - 86400 : nw; -var sw = (e6, t5) => e6.fromTag !== t5.fromTag ? t5.fromTag : e6.distance !== t5.distance ? e6.distance > t5.distance : e6.taggerDate > t5.taggerDate; -var iw = (e6, t5) => ((e7) => { - const t6 = [...e7].map((e8) => "*" === e8 ? ".*" : "?" === e8 ? "." : e8.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join(""); +var hy = (e7, t5) => e7.depth !== t5.depth ? e7.depth - t5.depth : e7.foundOrder - t5.foundOrder; +var gy = (e7) => Bi(e7, { anchored: true }); +var my = (e7, t5) => { + const n7 = e7.map(gy), r8 = t5.map(gy); + return { matches: (e8) => !(0 !== n7.length && !n7.some((t6) => t6.test(e8)) || r8.some((t6) => t6.test(e8))) }; +}; +var py = (e7, t5) => t5 ? e7.startsWith("refs/") ? e7.slice(5) : e7 : e7.startsWith("refs/tags/") ? e7.slice(10) : e7; +var wy = (e7, t5) => t5.priority > e7.priority || 2 === t5.priority && t5.taggerDate > e7.taggerDate; +var yy = Number.MIN_SAFE_INTEGER; +var Ey = (e7, t5) => e7 < t5; +var by = (e7) => 0 === e7 ? 0 : e7 > yy + 86400 ? e7 - 86400 : yy; +var Iy = (e7, t5) => e7.fromTag !== t5.fromTag ? t5.fromTag : e7.distance !== t5.distance ? e7.distance > t5.distance : e7.taggerDate > t5.taggerDate; +var _y = (e7, t5) => ((e8) => { + const t6 = [...e8].map((e9) => "*" === e9 ? ".*" : "?" === e9 ? "." : e9.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join(""); return new RegExp(`^${t6}$`); -})(e6).test(t5); -var aw = (e6) => ({ qualifies: (t5) => "HEAD" !== t5 && !(e6.tags && !t5.startsWith("refs/tags/")) && ((t6) => 0 === e6.refs.length || e6.refs.some((e7) => iw(e7, t6)))(t5) && !((t6) => e6.exclude.some((e7) => iw(e7, t6)))(t5) }); -var cw = (e6) => ({ ...e6, generation: e6.generation + 1, distance: e6.distance + 1 }); -var dw = (e6, t5) => ({ ...e6, steps: [...uw(e6), { kind: "parent", number: t5 }], generation: 0, distance: e6.distance + 65535 }); -var uw = (e6) => e6.generation > 0 ? [...e6.steps, { kind: "ancestor", count: e6.generation }] : e6.steps; -var lw = (e6) => e6.startsWith(Ep) ? e6.slice(11) : e6; -var fw = "origin"; -var hw = /^[A-Za-z]:/; -var gw = (e6) => { - if (e6.startsWith("-")) return true; - if (e6.includes("\\")) return true; - if (((e7) => { - for (let t5 = 0; t5 < e7.length; t5 += 1) { - const n6 = e7.charCodeAt(t5); - if (n6 <= 31) return true; - if (127 === n6) return true; +})(e7).test(t5); +var vy = (e7) => ({ qualifies: (t5) => "HEAD" !== t5 && !(e7.tags && !t5.startsWith("refs/tags/")) && ((t6) => 0 === e7.refs.length || e7.refs.some((e8) => _y(e8, t6)))(t5) && !((t6) => e7.exclude.some((e8) => _y(e8, t6)))(t5) }); +var Oy = (e7) => ({ ...e7, generation: e7.generation + 1, distance: e7.distance + 1 }); +var Ty = (e7, t5) => ({ ...e7, steps: [...Ay(e7), { kind: "parent", number: t5 }], generation: 0, distance: e7.distance + 65535 }); +var Ay = (e7) => e7.generation > 0 ? [...e7.steps, { kind: "ancestor", count: e7.generation }] : e7.steps; +var $y = (e7) => e7.startsWith(Lw) ? e7.slice(11) : e7; +var xy = "origin"; +var Sy = /^[A-Za-z]:/; +var Ny = (e7) => { + if (e7.startsWith("-")) return true; + if (e7.includes("\\")) return true; + if (((e8) => { + for (let t5 = 0; t5 < e8.length; t5 += 1) { + const n7 = e8.charCodeAt(t5); + if (n7 <= 31) return true; + if (127 === n7) return true; } return false; - })(e6)) return true; - if (hw.test(e6)) return true; - for (const t5 of e6.split("/")) { + })(e7)) return true; + if (Sy.test(e7)) return true; + for (const t5 of e7.split("/")) { if ("" === t5) return true; if ("." === t5) return true; if (".." === t5) return true; } return false; }; -var mw = "badFilemode"; -var pw = "badTree"; -var ww = "badTreeSha1"; -var yw = "duplicateEntries"; -var Ew = "emptyName"; -var bw = "fullPathname"; -var Iw = "hasDot"; -var _w = "hasDotdot"; -var vw = "hasDotgit"; -var Tw = "largePathname"; -var Ow = "nullSha1"; -var $w = "treeNotSorted"; -var Aw = "zeroPaddedFilemode"; -var Nw = "gitattributesBlob"; -var Sw = "gitattributesSymlink"; -var xw = "gitignoreSymlink"; -var Lw = "gitmodulesBlob"; -var Rw = "gitmodulesSymlink"; -var kw = "mailmapSymlink"; -var Dw = "badDate"; -var Uw = "badDateOverflow"; -var Cw = "badObjectSha1"; -var Mw = "badParentSha1"; -var Pw = "badTimezone"; -var Bw = "missingAuthor"; -var Fw = "missingCommitter"; -var Hw = "missingEmail"; -var Vw = "missingNameBeforeEmail"; -var Gw = "missingSpaceBeforeDate"; -var Ww = "missingSpaceBeforeEmail"; -var jw = "missingTree"; -var zw = "multipleAuthors"; -var Kw = "nulInCommit"; -var Yw = "nulInHeader"; -var Xw = "zeroPaddedDate"; -var qw = "badTagName"; -var Jw = "missingObject"; -var Qw = "missingTag"; -var Zw = "missingTagEntry"; -var ey = "missingTaggerEntry"; -var ty = "missingType"; -var ny = "missingTypeEntry"; -var ry = "gitmodulesLarge"; -var oy = "gitmodulesName"; -var sy = "gitmodulesParse"; -var iy = "gitmodulesUrl"; -var ay = "gitattributesLarge"; -var cy = "gitattributesLineLength"; -var dy = /* @__PURE__ */ new Map([[mw, "info"], [pw, "error"], [ww, "error"], [yw, "error"], [Ew, "warning"], [bw, "warning"], [Iw, "warning"], [_w, "warning"], [vw, "warning"], [Tw, "warning"], [Ow, "warning"], [$w, "error"], [Aw, "warning"], [Nw, "error"], [Sw, "info"], [xw, "info"], [Lw, "error"], [Rw, "error"], [kw, "info"], [Dw, "error"], [Uw, "error"], ["badEmail", "error"], ["badName", "error"], [Cw, "error"], [Mw, "error"], [Pw, "error"], ["badType", "error"], [Bw, "error"], [Fw, "error"], [Hw, "error"], [Vw, "error"], [Gw, "error"], [Ww, "error"], [jw, "error"], [zw, "error"], [Kw, "warning"], [Yw, "error"], ["unknownType", "error"], ["unterminatedHeader", "error"], [Xw, "error"], ["badGpgsig", "error"], [qw, "info"], [Jw, "error"], [Qw, "error"], [Zw, "error"], [ey, "info"], [ty, "error"], [ny, "error"], [ry, "error"], ["gitmodulesMissing", "error"], [oy, "error"], [sy, "info"], ["gitmodulesPath", "error"], ["gitmodulesUpdate", "error"], [iy, "error"], [ay, "error"], [cy, "error"], ["gitattributesMissing", "error"]]); -var uy = /* @__PURE__ */ new Set([Ew, bw, Iw, _w, vw, Tw, Kw, Ow, Aw]); -function ly(e6, t5) { - const n6 = dy.get(e6) ?? "error"; - return t5 && "warning" === n6 && uy.has(e6) ? "error" : n6; -} -var fy = new TextDecoder(); -var hy = new TextEncoder(); -function gy(e6, t5, n6, r6) { - if ("" === e6 || e6.startsWith("#") || e6.startsWith(";")) return r6; - if (e6.startsWith("[")) { - const n7 = e6.indexOf("]"); - if (-1 === n7) return true; - const o7 = e6.slice(1, n7), s9 = 'submodule "'; - return o7.startsWith(s9) && o7.endsWith('"') && t5.push(o7.slice(s9.length, -1)), r6; - } - const o6 = e6.indexOf("="); - if (-1 !== o6) { - const t6 = e6.slice(0, o6).trim(), r7 = e6.slice(o6 + 1).trim(); - "url" === t6 && n6.push(r7); - } - return r6; -} -var my = (e6) => e6.startsWith("-"); -var py = new TextDecoder(); -var wy = /^[+-]\d{4}$/; -function yy(e6, t5) { - const n6 = [], r6 = e6.indexOf("<"); - if (-1 === r6) return n6.push({ msgId: Hw, severity: ly(Hw, t5) }), n6; - const o6 = e6.slice(0, r6); - o6.endsWith(" ") || n6.push({ msgId: Ww, severity: ly(Ww, t5) }), "" === o6.trimEnd() && n6.push({ msgId: Vw, severity: ly(Vw, t5) }); - const s9 = e6.indexOf(">", r6); - if (-1 === s9) return n6.push({ msgId: Hw, severity: ly(Hw, t5) }), n6; - const i7 = e6.slice(s9 + 1); - if (!i7.startsWith(" ")) return n6.push({ msgId: Gw, severity: ly(Gw, t5) }), n6; - const [a6, c6 = ""] = i7.trim().split(/\s+/), d5 = (function(e7, t6) { - return e7.startsWith("0") && e7.length > 1 ? { msgId: Xw, severity: ly(Xw, t6) } : /^\d+$/.test(e7) ? (function(e8) { - return e8.length > 19 || !(e8.length < 19) && e8 > "9223372036854775807"; - })(e7) ? { msgId: Uw, severity: ly(Uw, t6) } : void 0 : { msgId: Dw, severity: ly(Dw, t6) }; - })(a6, t5); - return void 0 !== d5 ? (n6.push(d5), n6) : ("" === c6 || (function(e7) { - if (!wy.test(e7)) return false; - const t6 = Number.parseInt(e7.slice(1, 3), 10), n7 = Number.parseInt(e7.slice(3, 5), 10); - return t6 < 24 && n7 < 60; - })(c6) || n6.push({ msgId: Pw, severity: ly(Pw, t5) }), n6); -} -var Ey = new TextDecoder(); -var by = /* @__PURE__ */ new Set(["blob", "tree", "commit", "tag"]); -function Iy(e6, t5, n6) { - const r6 = [], o6 = e6[t5]; - if (void 0 === o6 || !o6.startsWith("tag ")) return r6.push({ msgId: Qw, severity: ly(Qw, n6) }), r6; - const s9 = o6.slice(4); - if ("" === s9) return r6.push({ msgId: Zw, severity: ly(Zw, n6) }), r6; - (s9.includes("\0") || s9.includes("\n")) && r6.push({ msgId: qw, severity: ly(qw, n6) }); - const i7 = e6[t5 + 1]; - if (void 0 === i7 || !i7.startsWith("tagger ")) return r6.push({ msgId: ey, severity: ly(ey, n6) }), r6; - for (const e7 of (function(e8, t6) { - const n7 = e8.indexOf("<"); - if (-1 === n7) return []; - if (!e8.slice(0, n7).endsWith(" ")) return [{ msgId: Ww, severity: ly(Ww, t6) }]; - const r7 = e8.indexOf(">", n7); - if (-1 === r7) return []; - const o7 = e8.slice(r7 + 1); - if (!o7.startsWith(" ")) return []; - const [s10 = ""] = o7.trim().split(/\s+/); - return /^\d+$/.test(s10) && (function(e9) { +var Ly = "badFilemode"; +var Ry = "badTree"; +var ky = "badTreeSha1"; +var Dy = "duplicateEntries"; +var Uy = "fullPathname"; +var Cy = "hasDot"; +var My = "hasDotdot"; +var Py = "hasDotgit"; +var By = "largePathname"; +var Fy = "nullSha1"; +var Hy = "treeNotSorted"; +var Vy = "zeroPaddedFilemode"; +var Gy = "gitattributesBlob"; +var Wy = "gitattributesSymlink"; +var zy = "gitignoreSymlink"; +var jy = "gitmodulesBlob"; +var Ky = "gitmodulesSymlink"; +var Yy = "mailmapSymlink"; +var Xy = "badDate"; +var qy = "badDateOverflow"; +var Jy = "badObjectSha1"; +var Qy = "badParentSha1"; +var Zy = "badTimezone"; +var eE = "missingAuthor"; +var tE = "missingCommitter"; +var nE = "missingEmail"; +var rE = "missingNameBeforeEmail"; +var oE = "missingSpaceBeforeDate"; +var sE = "missingSpaceBeforeEmail"; +var iE = "missingTree"; +var aE = "multipleAuthors"; +var cE = "nulInCommit"; +var dE = "nulInHeader"; +var uE = "zeroPaddedDate"; +var lE = "badTagName"; +var fE = "missingObject"; +var hE = "missingTag"; +var gE = "missingTagEntry"; +var mE = "missingTaggerEntry"; +var pE = "missingType"; +var wE = "missingTypeEntry"; +var yE = "gitmodulesLarge"; +var EE = "gitmodulesName"; +var bE = "gitmodulesParse"; +var IE = "gitmodulesUrl"; +var _E = "gitattributesLarge"; +var vE = "gitattributesLineLength"; +var OE = /* @__PURE__ */ new Map([[Ly, "info"], [Ry, "error"], [ky, "error"], [Dy, "error"], [Uy, "warning"], [Cy, "warning"], [My, "warning"], [Py, "warning"], [By, "warning"], [Fy, "warning"], [Hy, "error"], [Vy, "warning"], [Gy, "error"], [Wy, "info"], [zy, "info"], [jy, "error"], [Ky, "error"], [Yy, "info"], [Xy, "error"], [qy, "error"], ["badEmail", "error"], ["badName", "error"], [Jy, "error"], [Qy, "error"], [Zy, "error"], ["badType", "error"], [eE, "error"], [tE, "error"], [nE, "error"], [rE, "error"], [oE, "error"], [sE, "error"], [iE, "error"], [aE, "error"], [cE, "warning"], [dE, "error"], ["unknownType", "error"], ["unterminatedHeader", "error"], [uE, "error"], ["badGpgsig", "error"], [lE, "info"], [fE, "error"], [hE, "error"], [gE, "error"], [mE, "info"], [pE, "error"], [wE, "error"], [yE, "error"], ["gitmodulesMissing", "error"], [EE, "error"], [bE, "info"], ["gitmodulesPath", "error"], ["gitmodulesUpdate", "error"], [IE, "error"], [_E, "error"], [vE, "error"], ["gitattributesMissing", "error"]]); +var TE = /* @__PURE__ */ new Set([Uy, Cy, My, Py, By, cE, Fy, Vy]); +function AE(e7, t5) { + const n7 = OE.get(e7) ?? "error"; + return t5 && "warning" === n7 && TE.has(e7) ? "error" : n7; +} +var $E = new TextDecoder(); +var xE = new TextEncoder(); +function SE(e7, t5, n7, r8) { + if ("" === e7 || e7.startsWith("#") || e7.startsWith(";")) return r8; + if (e7.startsWith("[")) { + const n8 = e7.indexOf("]"); + if (-1 === n8) return true; + const o6 = e7.slice(1, n8), s8 = 'submodule "'; + return o6.startsWith(s8) && o6.endsWith('"') && t5.push(o6.slice(s8.length, -1)), r8; + } + const o5 = e7.indexOf("="); + if (-1 !== o5) { + const t6 = e7.slice(0, o5).trim(), r9 = e7.slice(o5 + 1).trim(); + "url" === t6 && n7.push(r9); + } + return r8; +} +var NE = (e7) => e7.startsWith("-"); +var LE = new TextDecoder(); +var RE = /^[+-]\d{4}$/; +function kE(e7, t5) { + const n7 = [], r8 = e7.indexOf("<"); + if (-1 === r8) return n7.push({ msgId: nE, severity: AE(nE, t5) }), n7; + const o5 = e7.slice(0, r8); + o5.endsWith(" ") || n7.push({ msgId: sE, severity: AE(sE, t5) }), "" === o5.trimEnd() && n7.push({ msgId: rE, severity: AE(rE, t5) }); + const s8 = e7.indexOf(">", r8); + if (-1 === s8) return n7.push({ msgId: nE, severity: AE(nE, t5) }), n7; + const i11 = e7.slice(s8 + 1); + if (!i11.startsWith(" ")) return n7.push({ msgId: oE, severity: AE(oE, t5) }), n7; + const [a4, c5 = ""] = i11.trim().split(/\s+/), d6 = (function(e8, t6) { + return e8.startsWith("0") && e8.length > 1 ? { msgId: uE, severity: AE(uE, t6) } : /^\d+$/.test(e8) ? (function(e9) { return e9.length > 19 || !(e9.length < 19) && e9 > "9223372036854775807"; - })(s10) ? [{ msgId: Uw, severity: ly(Uw, t6) }] : []; - })(i7.slice(7), n6)) r6.push(e7); - return r6; -} -var _y = new TextDecoder(); -var vy = new TextEncoder(); -var Ty = /* @__PURE__ */ new Set(["100644", "100755", "120000", "40000", "160000"]); -function Oy(e6) { - const t5 = "40000" === e6.mode || "040000" === e6.mode, n6 = vy.encode(e6.name); - if (!t5) return n6; - const r6 = new Uint8Array(n6.length + 1); - return r6.set(n6), r6[n6.length] = 47, r6; -} -function $y(e6, t5, n6, r6) { - const o6 = [], { mode: s9, name: i7, sha: a6 } = e6; - s9.startsWith("0") && o6.push({ msgId: Aw, severity: ly(Aw, r6) }); - const c6 = s9.startsWith("0") ? s9.slice(1) : s9; - Ty.has(c6) || o6.push({ msgId: mw, severity: ly(mw, r6) }), (function(e7) { - for (const t6 of e7) if (0 !== t6) return false; + })(e8) ? { msgId: qy, severity: AE(qy, t6) } : void 0 : { msgId: Xy, severity: AE(Xy, t6) }; + })(a4, t5); + return void 0 !== d6 ? (n7.push(d6), n7) : ("" === c5 || (function(e8) { + if (!RE.test(e8)) return false; + const t6 = Number.parseInt(e8.slice(1, 3), 10), n8 = Number.parseInt(e8.slice(3, 5), 10); + return t6 < 24 && n8 < 60; + })(c5) || n7.push({ msgId: Zy, severity: AE(Zy, t5) }), n7); +} +var DE = new TextDecoder(); +var UE = /* @__PURE__ */ new Set(["blob", "tree", "commit", "tag"]); +function CE(e7, t5, n7) { + const r8 = [], o5 = e7[t5]; + if (void 0 === o5 || !o5.startsWith("tag ")) return r8.push({ msgId: hE, severity: AE(hE, n7) }), r8; + const s8 = o5.slice(4); + if ("" === s8) return r8.push({ msgId: gE, severity: AE(gE, n7) }), r8; + (s8.includes("\0") || s8.includes("\n")) && r8.push({ msgId: lE, severity: AE(lE, n7) }); + const i11 = e7[t5 + 1]; + if (void 0 === i11 || !i11.startsWith("tagger ")) return r8.push({ msgId: mE, severity: AE(mE, n7) }), r8; + for (const e8 of (function(e9, t6) { + const n8 = e9.indexOf("<"); + if (-1 === n8) return []; + if (!e9.slice(0, n8).endsWith(" ")) return [{ msgId: sE, severity: AE(sE, t6) }]; + const r9 = e9.indexOf(">", n8); + if (-1 === r9) return []; + const o6 = e9.slice(r9 + 1); + if (!o6.startsWith(" ")) return []; + const [s9 = ""] = o6.trim().split(/\s+/); + return /^\d+$/.test(s9) && (function(e10) { + return e10.length > 19 || !(e10.length < 19) && e10 > "9223372036854775807"; + })(s9) ? [{ msgId: qy, severity: AE(qy, t6) }] : []; + })(i11.slice(7), n7)) r8.push(e8); + return r8; +} +var ME = new TextDecoder(); +var PE = /* @__PURE__ */ new Set(["100644", "100755", "120000", "40000", "160000"]); +function BE(e7, t5) { + const n7 = "40000" === t5.mode || "040000" === t5.mode, r8 = e7.subarray(t5.nameStart, t5.nameEnd); + if (!n7) return r8; + const o5 = new Uint8Array(r8.length + 1); + return o5.set(r8), o5[r8.length] = 47, o5; +} +function FE(e7, t5, n7, r8, o5, s8) { + const i11 = [], { mode: a4, nameStart: c5, nameEnd: d6, sha: u6 } = t5; + a4.startsWith("0") && i11.push({ msgId: Vy, severity: AE(Vy, s8) }); + const l4 = (function(e8) { + let t6 = 0; + for (; t6 < e8.length - 1 && "0" === e8[t6]; ) t6++; + return e8.slice(t6); + })(a4); + PE.has(l4) || i11.push({ msgId: Ly, severity: AE(Ly, s8) }), (function(e8) { + for (const t6 of e8) if (0 !== t6) return false; return true; - })(a6) && o6.push({ msgId: Ow, severity: ly(Ow, r6) }); - for (const e7 of (function(e8, t6) { - const n7 = []; - return "" === e8 ? (n7.push({ msgId: Ew, severity: ly(Ew, t6) }), n7) : ("." === e8 && n7.push({ msgId: Iw, severity: ly(Iw, t6) }), ".." === e8 && n7.push({ msgId: _w, severity: ly(_w, t6) }), ".git" === e8 && n7.push({ msgId: vw, severity: ly(vw, t6) }), e8.includes("/") && n7.push({ msgId: bw, severity: ly(bw, t6) }), vy.encode(e8).length > 4096 && n7.push({ msgId: Tw, severity: ly(Tw, t6) }), n7); - })(i7, r6)) o6.push(e7); - n6.has(i7) && o6.push({ msgId: yw, severity: ly(yw, r6) }), void 0 !== t5 && bt(Oy(t5), Oy(e6)) > 0 && o6.push({ msgId: $w, severity: ly($w, r6) }); - for (const e7 of (function(e8, t6, n7) { - const r7 = [], o7 = "120000" === e8, s10 = "100644" === e8 || "100755" === e8; - return ".gitmodules" === t6 && (o7 ? r7.push({ msgId: Rw, severity: ly(Rw, n7) }) : s10 || r7.push({ msgId: Lw, severity: ly(Lw, n7) })), ".gitattributes" === t6 && (o7 ? r7.push({ msgId: Sw, severity: ly(Sw, n7) }) : s10 || r7.push({ msgId: Nw, severity: ly(Nw, n7) })), ".gitignore" === t6 && o7 && r7.push({ msgId: xw, severity: ly(xw, n7) }), ".mailmap" === t6 && o7 && r7.push({ msgId: kw, severity: ly(kw, n7) }), r7; - })(s9, i7, r6)) o6.push(e7); - return o6; -} -function Ay(e6) { - switch (e6.kind) { + })(u6) && i11.push({ msgId: Fy, severity: AE(Fy, s8) }); + for (const t6 of (function(e8, t7, n8, r9, o6, s9) { + const i12 = []; + return "." === r9 && i12.push({ msgId: Cy, severity: AE(Cy, s9) }), ".." === r9 && i12.push({ msgId: My, severity: AE(My, s9) }), Hr(e8, t7, n8, "git") && i12.push({ msgId: Py, severity: AE(Py, s9) }), r9.includes("/") && i12.push({ msgId: Uy, severity: AE(Uy, s9) }), o6 > 4096 && i12.push({ msgId: By, severity: AE(By, s9) }), i12; + })(e7, c5, d6, n7, d6 - c5, s8)) i11.push(t6); + o5.has(n7) && i11.push({ msgId: Dy, severity: AE(Dy, s8) }), void 0 !== r8 && At(BE(e7, r8), BE(e7, t5)) > 0 && i11.push({ msgId: Hy, severity: AE(Hy, s8) }); + for (const t6 of (function(e8, t7, n8, r9, o6) { + const s9 = [], i12 = "120000" === r9, a5 = "100644" === r9 || "100755" === r9; + return Hr(e8, t7, n8, "gitmodules") && (i12 ? s9.push({ msgId: Ky, severity: AE(Ky, o6) }) : a5 || s9.push({ msgId: jy, severity: AE(jy, o6) })), Hr(e8, t7, n8, "gitattributes") && (i12 ? s9.push({ msgId: Wy, severity: AE(Wy, o6) }) : a5 || s9.push({ msgId: Gy, severity: AE(Gy, o6) })), i12 && Hr(e8, t7, n8, "gitignore") && s9.push({ msgId: zy, severity: AE(zy, o6) }), i12 && Hr(e8, t7, n8, "mailmap") && s9.push({ msgId: Yy, severity: AE(Yy, o6) }), s9; + })(e7, c5, d6, l4, s8)) i11.push(t6); + return i11; +} +function HE(e7) { + switch (e7.kind) { case "tree": - return (function(e7, t6, n7) { - const { entries: r7, badTree: o6 } = (function(e8, t7) { - const n8 = []; - let r8 = 0; - for (; r8 < e8.length; ) { - const o7 = _t(e8, 32, r8); - if (-1 === o7 || o7 === r8) return { entries: n8, badTree: true }; - const s10 = _t(e8, 0, o7 + 1); - if (-1 === s10) return { entries: n8, badTree: true }; - const i8 = s10 + 1 + t7; - if (i8 > e8.length) return { entries: n8, badTree: true }; - const a7 = e8.subarray(r8, o7), c6 = e8.subarray(o7 + 1, s10), d5 = e8.subarray(s10 + 1, i8), u6 = _y.decode(a7), l4 = _y.decode(c6); - n8.push({ mode: u6, name: l4, sha: d5, offset: r8 }), r8 = i8; - } - return { entries: n8, badTree: false }; - })(e7, n7); - if (o6) return [{ msgId: pw, severity: ly(pw, t6) }]; - const s9 = [], i7 = /* @__PURE__ */ new Set(); - let a6; - for (const e8 of r7) { - for (const n8 of $y(e8, a6, i7, t6)) s9.push(n8); - i7.add(e8.name), a6 = e8; - } - return s9; - })(e6.rawBody, e6.strict, e6.hashConfig.digestLength); + return (function(e8, t6, n8) { + const { entries: r9, badTree: o5 } = (function(e9, t7) { + const n9 = []; + let r10 = 0; + for (; r10 < e9.length; ) { + const o6 = St(e9, 32, r10); + if (-1 === o6 || o6 === r10) return { entries: n9, badTree: true }; + if (Dr(e9, r10, o6)) return { entries: n9, badTree: true }; + const s9 = St(e9, 0, o6 + 1); + if (-1 === s9) return { entries: n9, badTree: true }; + if (s9 === o6 + 1) return { entries: n9, badTree: true }; + const i12 = s9 + 1 + t7; + if (i12 > e9.length) return { entries: n9, badTree: true }; + const a5 = e9.subarray(r10, o6), c5 = e9.subarray(s9 + 1, i12), d6 = ME.decode(a5); + n9.push({ mode: d6, nameStart: o6 + 1, nameEnd: s9, sha: c5, offset: r10 }), r10 = i12; + } + return { entries: n9, badTree: false }; + })(e8, n8); + if (o5) return [{ msgId: Ry, severity: AE(Ry, t6) }]; + const s8 = [], i11 = /* @__PURE__ */ new Set(); + let a4; + for (const n9 of r9) { + const r10 = Ur(e8, n9.nameStart, n9.nameEnd); + for (const o6 of FE(e8, n9, r10, a4, i11, t6)) s8.push(o6); + i11.add(r10), a4 = n9; + } + return s8; + })(e7.rawBody, e7.strict, e7.hashConfig.digestLength); case "commit": - return (function(e7, t6, n7) { - const r7 = py.decode(e7), { headerText: o6, messageBody: s9, lines: i7 } = (function(e8) { - const t7 = e8.indexOf("\n\n"), n8 = -1 === t7 ? e8 : e8.slice(0, t7); - return { headerText: n8, messageBody: -1 === t7 ? "" : e8.slice(t7 + 2), lines: n8.split("\n") }; - })(r7); - if (o6.includes("\0")) return [{ msgId: Yw, severity: ly(Yw, t6) }]; - const { findings: a6, nextIdx: c6 } = (function(e8, t7, n8) { - const r8 = [], o7 = e8[0]; - if (void 0 === o7 || !o7.startsWith("tree ")) return r8.push({ msgId: jw, severity: ly(jw, t7) }), { findings: r8, nextIdx: -1 }; - Dr(o7.slice(5), n8) || r8.push({ msgId: ww, severity: ly(ww, t7) }); - let s10 = 1; - for (; s10 < e8.length; ) { - const o8 = e8[s10]; - if (void 0 === o8 || !o8.startsWith("parent ")) break; - Dr(o8.slice(7), n8) || r8.push({ msgId: Mw, severity: ly(Mw, t7) }), s10++; - } - return { findings: r8, nextIdx: s10 }; - })(i7, t6, n7); - if (-1 === c6) return a6; - const d5 = [...a6]; - for (const e8 of (function(e9, t7, n8) { - const r8 = []; - let o7 = t7; - const s10 = e9[o7]; - if (void 0 === s10 || !s10.startsWith("author ")) return r8.push({ msgId: Bw, severity: ly(Bw, n8) }), r8; - for (const e10 of yy(s10.slice(7), n8)) r8.push(e10); - for (o7++; o7 < e9.length && e9[o7]?.startsWith("author "); ) r8.push({ msgId: zw, severity: ly(zw, n8) }), o7++; - for (; o7 < e9.length && !e9[o7]?.startsWith("committer "); ) o7++; - const i8 = e9[o7]; - if (void 0 === i8 || !i8.startsWith("committer ")) return r8.push({ msgId: Fw, severity: ly(Fw, n8) }), r8; - for (const e10 of yy(i8.slice(10), n8)) r8.push(e10); - return r8; - })(i7, c6, t6)) d5.push(e8); - return s9.includes("\0") && d5.push({ msgId: Kw, severity: ly(Kw, t6) }), d5; - })(e6.rawBody, e6.strict, e6.hashConfig); + return (function(e8, t6, n8) { + const r9 = LE.decode(e8), { headerText: o5, messageBody: s8, lines: i11 } = (function(e9) { + const t7 = e9.indexOf("\n\n"), n9 = -1 === t7 ? e9 : e9.slice(0, t7); + return { headerText: n9, messageBody: -1 === t7 ? "" : e9.slice(t7 + 2), lines: n9.split("\n") }; + })(r9); + if (o5.includes("\0")) return [{ msgId: dE, severity: AE(dE, t6) }]; + const { findings: a4, nextIdx: c5 } = (function(e9, t7, n9) { + const r10 = [], o6 = e9[0]; + if (void 0 === o6 || !o6.startsWith("tree ")) return r10.push({ msgId: iE, severity: AE(iE, t7) }), { findings: r10, nextIdx: -1 }; + Qr(o6.slice(5), n9) || r10.push({ msgId: ky, severity: AE(ky, t7) }); + let s9 = 1; + for (; s9 < e9.length; ) { + const o7 = e9[s9]; + if (void 0 === o7 || !o7.startsWith("parent ")) break; + Qr(o7.slice(7), n9) || r10.push({ msgId: Qy, severity: AE(Qy, t7) }), s9++; + } + return { findings: r10, nextIdx: s9 }; + })(i11, t6, n8); + if (-1 === c5) return a4; + const d6 = [...a4]; + for (const e9 of (function(e10, t7, n9) { + const r10 = []; + let o6 = t7; + const s9 = e10[o6]; + if (void 0 === s9 || !s9.startsWith("author ")) return r10.push({ msgId: eE, severity: AE(eE, n9) }), r10; + for (const e11 of kE(s9.slice(7), n9)) r10.push(e11); + for (o6++; o6 < e10.length && e10[o6]?.startsWith("author "); ) r10.push({ msgId: aE, severity: AE(aE, n9) }), o6++; + for (; o6 < e10.length && !e10[o6]?.startsWith("committer "); ) o6++; + const i12 = e10[o6]; + if (void 0 === i12 || !i12.startsWith("committer ")) return r10.push({ msgId: tE, severity: AE(tE, n9) }), r10; + for (const e11 of kE(i12.slice(10), n9)) r10.push(e11); + return r10; + })(i11, c5, t6)) d6.push(e9); + return s8.includes("\0") && d6.push({ msgId: cE, severity: AE(cE, t6) }), d6; + })(e7.rawBody, e7.strict, e7.hashConfig); case "tag": - return (function(e7, t6, n7) { - const r7 = Ey.decode(e7), o6 = r7.indexOf("\n\n"), s9 = (-1 !== o6 ? r7 : r7.slice(0, o6)).split("\n"), { findings: i7, nextIdx: a6 } = (function(e8, t7, n8) { - const r8 = []; - if (!e8[0]?.startsWith("object ")) return { findings: [{ msgId: Jw, severity: ly(Jw, t7) }], nextIdx: -1 }; - if (Dr(e8[0].slice(7), n8) || r8.push({ msgId: Cw, severity: ly(Cw, t7) }), !e8[1]?.startsWith("type ")) return r8.push({ msgId: ty, severity: ly(ty, t7) }), { findings: r8, nextIdx: -1 }; - const o7 = e8[1].slice(5); - return "" !== o7 && by.has(o7) ? { findings: r8, nextIdx: 2 } : (r8.push({ msgId: ny, severity: ly(ny, t7) }), { findings: r8, nextIdx: -1 }); - })(s9, t6, n7); - return -1 === a6 ? i7 : [...i7, ...Iy(s9, a6, t6)]; - })(e6.rawBody, e6.strict, e6.hashConfig); + return (function(e8, t6, n8) { + const r9 = DE.decode(e8), o5 = r9.indexOf("\n\n"), s8 = (-1 !== o5 ? r9 : r9.slice(0, o5)).split("\n"), { findings: i11, nextIdx: a4 } = (function(e9, t7, n9) { + const r10 = []; + if (!e9[0]?.startsWith("object ")) return { findings: [{ msgId: fE, severity: AE(fE, t7) }], nextIdx: -1 }; + if (Qr(e9[0].slice(7), n9) || r10.push({ msgId: Jy, severity: AE(Jy, t7) }), !e9[1]?.startsWith("type ")) return r10.push({ msgId: pE, severity: AE(pE, t7) }), { findings: r10, nextIdx: -1 }; + const o6 = e9[1].slice(5); + return "" !== o6 && UE.has(o6) ? { findings: r10, nextIdx: 2 } : (r10.push({ msgId: wE, severity: AE(wE, t7) }), { findings: r10, nextIdx: -1 }); + })(s8, t6, n8); + return -1 === a4 ? i11 : [...i11, ...CE(s8, a4, t6)]; + })(e7.rawBody, e7.strict, e7.hashConfig); case "blob": - return t5 = e6.rawBody, n6 = e6.strict, ".gitmodules" === (r6 = e6.fileName) ? (function(e7, t6) { - const n7 = []; - if (e7.length > 104857600) return n7.push({ msgId: ry, severity: ly(ry, t6) }), n7; - const r7 = fy.decode(e7), { names: o6, urls: s9, parseError: i7 } = (function(e8) { - const t7 = [], n8 = []; - let r8 = false; - for (const o7 of e8.split("\n")) r8 = gy(o7.trim(), t7, n8, r8); - return { names: t7, urls: n8, parseError: r8 }; - })(r7); - i7 && n7.push({ msgId: sy, severity: ly(sy, t6) }); - for (const e8 of s9) my(e8) && n7.push({ msgId: iy, severity: ly(iy, t6) }); - for (const e8 of o6) gw(e8) && n7.push({ msgId: oy, severity: ly(oy, t6) }); - return n7; - })(t5, n6) : ".gitattributes" === r6 ? (function(e7, t6) { - const n7 = []; - if (e7.length > 104857600) return n7.push({ msgId: ay, severity: ly(ay, t6) }), n7; - const r7 = fy.decode(e7); - for (const e8 of r7.split("\n")) if (hy.encode(e8).length > 2048) return n7.push({ msgId: cy, severity: ly(cy, t6) }), n7; - return n7; - })(t5, n6) : []; + return t5 = e7.rawBody, n7 = e7.strict, ".gitmodules" === (r8 = e7.fileName) ? (function(e8, t6) { + const n8 = []; + if (e8.length > 104857600) return n8.push({ msgId: yE, severity: AE(yE, t6) }), n8; + const r9 = $E.decode(e8), { names: o5, urls: s8, parseError: i11 } = (function(e9) { + const t7 = [], n9 = []; + let r10 = false; + for (const o6 of e9.split("\n")) r10 = SE(o6.trim(), t7, n9, r10); + return { names: t7, urls: n9, parseError: r10 }; + })(r9); + i11 && n8.push({ msgId: bE, severity: AE(bE, t6) }); + for (const e9 of s8) NE(e9) && n8.push({ msgId: IE, severity: AE(IE, t6) }); + for (const e9 of o5) Ny(e9) && n8.push({ msgId: EE, severity: AE(EE, t6) }); + return n8; + })(t5, n7) : ".gitattributes" === r8 ? (function(e8, t6) { + const n8 = []; + if (e8.length > 104857600) return n8.push({ msgId: _E, severity: AE(_E, t6) }), n8; + const r9 = $E.decode(e8); + for (const e9 of r9.split("\n")) if (xE.encode(e9).length > 2048) return n8.push({ msgId: vE, severity: AE(vE, t6) }), n8; + return n8; + })(t5, n7) : []; } - var t5, n6, r6; + var t5, n7, r8; } -function Ny(e6) { - return e6 >= 65 && e6 <= 90 || e6 >= 97 && e6 <= 122 || e6 >= 48 && e6 <= 57 || 95 === e6; +var VE = (e7) => { + const t5 = e7.split("/").filter((e8) => "" !== e8); + return t5[t5.length - 1] ?? ""; +}; +var GE = (e7, t5) => Zg(t5.startsWith("/") ? t5 : `${e7}/${t5}`); +function WE(e7) { + return e7 >= 65 && e7 <= 90 || e7 >= 97 && e7 <= 122 || e7 >= 48 && e7 <= 57 || 95 === e7; } -var Sy = fs; -function xy(e6, t5) { - const n6 = t5?.wholeWord ?? false, r6 = t5?.invert ?? false, s9 = e6.map((e7) => { - if (e7 instanceof RegExp) { - if (e7.flags.includes("u")) throw oe("pattern", "unicode flag unsupported over byte content"); - const t6 = e7.flags.replace("y", "") + (e7.flags.includes("g") ? "" : "g"); - return { type: "regex", clone: new RegExp(e7.source, t6) }; +var zE = Ls; +function jE(e7, t5) { + const n7 = t5?.wholeWord ?? false, r8 = t5?.invert ?? false, o5 = e7.map((e8) => { + if (e8 instanceof RegExp) { + if (e8.flags.includes("u")) throw de("pattern", "unicode flag unsupported over byte content"); + const t6 = e8.flags.replace("y", "") + (e8.flags.includes("g") ? "" : "g"); + return { type: "regex", clone: new RegExp(e8.source, t6) }; } - return { type: "fixed", needle: new TextEncoder().encode(e7.fixed) }; + return { type: "fixed", needle: new TextEncoder().encode(e8.fixed) }; }); - return { matchLine(e7) { - const t6 = (function(e8) { - return 10 === e8[e8.length - 1] ? e8.subarray(0, e8.length - 1) : e8; - })(e7), i7 = s9.map((e8) => { - const r7 = "regex" === e8.type ? (function(e9, t7) { - const n7 = (function(e10) { - !(function(e11) { - if (e11 > Sy) throw new o({ code: "GREP_LINE_TOO_LONG", length: e11, limit: Sy }); - })(e10.length); + return { matchLine(e8) { + const t6 = (function(e9) { + return 10 === e9[e9.length - 1] ? e9.subarray(0, e9.length - 1) : e9; + })(e8), s8 = o5.map((e9) => { + const r9 = "regex" === e9.type ? (function(e10, t7) { + const n8 = (function(e11) { + !(function(e12) { + if (e12 > zE) throw new c({ code: "GREP_LINE_TOO_LONG", length: e12, limit: zE }); + })(e11.length); const t8 = []; - for (let n8 = 0; n8 < e10.length; n8 += 8192) t8.push(String.fromCharCode(...e10.subarray(n8, n8 + 8192))); + for (let n9 = 0; n9 < e11.length; n9 += 8192) t8.push(String.fromCharCode(...e11.subarray(n9, n9 + 8192))); return t8.join(""); - })(e9), r8 = []; + })(e10), r10 = []; t7.lastIndex = 0; - let s10 = t7.exec(n7); - for (; null !== s10; ) r8.push({ start: s10.index, end: s10.index + s10[0].length }), 0 === s10[0].length && t7.lastIndex++, s10 = t7.exec(n7); - return r8; - })(t6, e8.clone) : (function(e9, t7) { + let o6 = t7.exec(n8); + for (; null !== o6; ) r10.push({ start: o6.index, end: o6.index + o6[0].length }), 0 === o6[0].length && t7.lastIndex++, o6 = t7.exec(n8); + return r10; + })(t6, e9.clone) : (function(e10, t7) { if (0 === t7.length) return []; - const n7 = []; - let r8 = 0; - e: for (; r8 <= e9.length - t7.length; ) { - for (let n8 = 0; n8 < t7.length; n8++) if (e9[r8 + n8] !== t7[n8]) { - r8++; + const n8 = []; + let r10 = 0; + e: for (; r10 <= e10.length - t7.length; ) { + for (let n9 = 0; n9 < t7.length; n9++) if (e10[r10 + n9] !== t7[n9]) { + r10++; continue e; } - n7.push({ start: r8, end: r8 + t7.length }), r8 += t7.length; + n8.push({ start: r10, end: r10 + t7.length }), r10 += t7.length; } - return n7; - })(t6, e8.needle); - return n6 ? (function(e9, t7) { - return e9.filter((e10) => { - const n7 = t7[e10.start - 1], r8 = t7[e10.end], o6 = 0 === e10.start || void 0 === n7 || !Ny(n7), s10 = e10.end >= t7.length || void 0 === r8 || !Ny(r8); - return o6 && s10; + return n8; + })(t6, e9.needle); + return n7 ? (function(e10, t7) { + return e10.filter((e11) => { + const n8 = t7[e11.start - 1], r10 = t7[e11.end], o6 = 0 === e11.start || void 0 === n8 || !WE(n8), s9 = e11.end >= t7.length || void 0 === r10 || !WE(r10); + return o6 && s9; }); - })(r7, t6) : r7; - }), a6 = (function(e8) { - const t7 = /* @__PURE__ */ new Set(), n7 = []; - for (const r7 of e8) for (const e9 of r7) { - const r8 = `${e9.start}:${e9.end}`; - t7.has(r8) || (t7.add(r8), n7.push(e9)); - } - return n7.sort((e9, t8) => e9.start - t8.start || e9.end - t8.end); - })(i7); - return r6 ? { returned: 0 === a6.length, spans: [] } : { returned: a6.length > 0, spans: a6 }; + })(r9, t6) : r9; + }), i11 = (function(e9) { + const t7 = /* @__PURE__ */ new Set(), n8 = []; + for (const r9 of e9) for (const e10 of r9) { + const r10 = `${e10.start}:${e10.end}`; + t7.has(r10) || (t7.add(r10), n8.push(e10)); + } + return n8.sort((e10, t8) => e10.start - t8.start || e10.end - t8.end); + })(s8); + return r8 ? { returned: 0 === i11.length, spans: [] } : { returned: i11.length > 0, spans: i11 }; } }; } -var Ly = (e6) => { - if (e6 < 3) return 0; - const t5 = Math.floor(Math.log2(e6)), n6 = 1 << t5; - return n6 < 3 * (e6 - n6) ? t5 : t5 - 1; -}; -var Ry = (e6, t5) => { - const n6 = /* @__PURE__ */ new Set(), r6 = [e6]; - for (; r6.length > 0; ) { - const e7 = r6.pop(); - if (n6.has(e7)) continue; - const o6 = t5.get(e7); - n6.add(e7); - for (const e8 of o6.parents) n6.has(e8) || r6.push(e8); - } - return n6.size; -}; -var ky = (e6, t5) => { - const n6 = 2 * e6 - t5; - return n6 >= -1 && n6 <= 1; -}; -var Dy = (e6, t5, n6) => { - if (t5.has(e6.id) || 1 !== e6.parents.length) return; - const r6 = t5.get(e6.parents[0]); - if (void 0 === r6) return; - const o6 = r6 + 1; - return t5.set(e6.id, o6), ky(o6, n6) ? { nextCommit: e6.id, candidateCount: n6, reaches: o6 } : null; -}; -var Uy = (e6) => { - if (0 === e6.length) return; - const t5 = e6.length, n6 = new Map(e6.map((e7) => [e7.id, e7])), r6 = /* @__PURE__ */ new Map(); - ((e7, t6) => { - for (const n7 of e7) 0 === n7.parents.length && t6.set(n7.id, 1); - })(e6, r6); - const o6 = ((e7, t6, n7, r7) => { - for (const o7 of e7) { - if (o7.parents.length < 2) continue; - const e8 = Ry(o7.id, t6); - if (n7.set(o7.id, e8), ky(e8, r7)) return { nextCommit: o7.id, candidateCount: r7, reaches: e8 }; - } - })(e6, n6, r6, t5); - if (void 0 !== o6) return o6; - const s9 = ((e7, t6, n7) => { - let r7 = true; - for (; r7; ) { - r7 = false; - for (const o7 of e7) { - const e8 = Dy(o7, t6, n7); - if (void 0 !== e8) { - if (null !== e8) return e8; - r7 = true; - } - } - } - })(e6, r6, t5); - if (void 0 !== s9) return s9; - const i7 = ((e7, t6, n7) => { - const r7 = e7[0], o7 = t6.get(r7.id); - let s10 = r7.id, i8 = Math.min(o7, n7 - o7), a6 = o7; - for (let r8 = 1; r8 < e7.length; r8 += 1) { - const o8 = e7[r8], c6 = t6.get(o8.id), d5 = Math.min(c6, n7 - c6); - d5 > i8 && (i8 = d5, s10 = o8.id, a6 = c6); - } - return { id: s10, weight: a6 }; - })(e6, r6, t5); - return { nextCommit: i7.id, candidateCount: t5, reaches: i7.weight }; -}; -var Cy = { kind: "empty" }; -var My = () => ({ slots: Array.from({ length: 16 }, () => Cy), preserved: [] }); -var Py = (e6) => ({ kind: "internal", node: e6 }); -var By = (e6, t5, n6) => ({ ...e6, slots: e6.slots.map((e7, r6) => r6 === t5 ? n6 : e7) }); -var Fy = (e6, t5) => Number.parseInt(e6.charAt(t5), 16); -var Hy = (e6) => "note" === e6.kind ? e6.key : e6.prefix; -var Vy = (e6, t5, n6) => { - const r6 = Hy(t5), o6 = Fy(r6, n6), s9 = e6.slots[o6]; - if ("empty" === s9.kind) return By(e6, o6, t5); - if ("internal" === s9.kind) return By(e6, o6, Py(Vy(s9.node, t5, n6 + 1))); - if (Hy(s9) === r6) return By(e6, o6, t5); - const i7 = Vy(Vy(My(), s9, n6 + 1), t5, n6 + 1); - return By(e6, o6, Py(i7)); -}; -var Gy = (e6, t5, n6) => [...t5.slice(n6 + 1)].reduceRight((e7, t6) => Py(By(My(), Fy(t6, 0), e7)), Py(e6)); -var Wy = /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/; -var jy = /^[0-9a-f]{2}$/; -var zy = (e6, t5) => { - const n6 = []; - return { ...e6.reduce((e7, r6) => { - const o6 = ((e8, t6) => { - const n7 = t6 + e8.name; - return !Yt(e8.mode) && Wy.test(n7) ? { kind: "note", key: sr.from(n7), val: e8.id } : Yt(e8.mode) && jy.test(e8.name) ? { kind: "subtree", prefix: n7, oid: e8.id } : null; - })(r6, t5); - return null === o6 ? (n6.push(r6), e7) : Vy(e7, o6, t5.length); - }, My()), preserved: n6 }; -}; -var Ky = (e6) => zy(e6, ""); -var Yy = async (e6, t5) => zy(await t5(e6.oid), e6.prefix); -var Xy = (e6, t5) => [...Array.from({ length: t5 }, (t6, n6) => e6.slice(2 * n6, 2 * n6 + 2)), e6.slice(2 * t5)].join("/"); -var qy = (e6) => Array.from({ length: e6.length / 2 }, (t5, n6) => e6.slice(2 * n6, 2 * n6 + 2)).join("/"); -var Jy = async (e6, t5, n6, r6, o6, s9) => { - return "empty" === e6.kind ? [] : "note" === e6.kind ? [{ name: Xy(e6.key, o6), mode: Wt.REGULAR, oid: e6.val }] : "internal" === e6.kind ? (await Qy(e6.node, n6, r6 + 1, o6, s9 + (i7 = t5, i7.toString(16)))).entries : r6 < 2 * o6 ? [{ name: qy(e6.prefix), mode: Wt.DIRECTORY, oid: e6.oid }] : (await Qy(await Yy(e6, n6), n6, e6.prefix.length, o6, e6.prefix)).entries; - var i7; -}; -var Qy = async (e6, t5, n6, r6, o6) => { - const s9 = ((e7, t6, n7) => t6 % 2 != 0 || t6 > 2 * n7 ? n7 : e7.slots.every((e8) => { - return "subtree" === (t7 = e8.kind) || "internal" === t7; +var KE = (e7) => { + if (e7 < 3) return 0; + const t5 = Math.floor(Math.log2(e7)), n7 = 1 << t5; + return n7 < 3 * (e7 - n7) ? t5 : t5 - 1; +}; +var YE = (e7, t5) => { + const n7 = /* @__PURE__ */ new Set(), r8 = [e7]; + for (; r8.length > 0; ) { + const e8 = r8.pop(); + if (n7.has(e8)) continue; + const o5 = t5.get(e8); + n7.add(e8); + for (const e9 of o5.parents) n7.has(e9) || r8.push(e9); + } + return n7.size; +}; +var XE = (e7, t5) => { + const n7 = 2 * e7 - t5; + return n7 >= -1 && n7 <= 1; +}; +var qE = (e7, t5, n7) => { + if (t5.has(e7.id) || 1 !== e7.parents.length) return; + const r8 = t5.get(e7.parents[0]); + if (void 0 === r8) return; + const o5 = r8 + 1; + return t5.set(e7.id, o5), XE(o5, n7) ? { nextCommit: e7.id, candidateCount: n7, reaches: o5 } : null; +}; +var JE = (e7) => { + if (0 === e7.length) return; + const t5 = e7.length, n7 = new Map(e7.map((e8) => [e8.id, e8])), r8 = /* @__PURE__ */ new Map(); + ((e8, t6) => { + for (const n8 of e8) 0 === n8.parents.length && t6.set(n8.id, 1); + })(e7, r8); + const o5 = ((e8, t6, n8, r9) => { + for (const o6 of e8) { + if (o6.parents.length < 2) continue; + const e9 = YE(o6.id, t6); + if (n8.set(o6.id, e9), XE(e9, r9)) return { nextCommit: o6.id, candidateCount: r9, reaches: e9 }; + } + })(e7, n7, r8, t5); + if (void 0 !== o5) return o5; + const s8 = ((e8, t6, n8) => { + let r9 = true; + for (; r9; ) { + r9 = false; + for (const o6 of e8) { + const e9 = qE(o6, t6, n8); + if (void 0 !== e9) { + if (null !== e9) return e9; + r9 = true; + } + } + } + })(e7, r8, t5); + if (void 0 !== s8) return s8; + const i11 = ((e8, t6, n8) => { + const r9 = e8[0], o6 = t6.get(r9.id); + let s9 = r9.id, i12 = Math.min(o6, n8 - o6), a4 = o6; + for (let r10 = 1; r10 < e8.length; r10 += 1) { + const o7 = e8[r10], c5 = t6.get(o7.id), d6 = Math.min(c5, n8 - c5); + d6 > i12 && (i12 = d6, s9 = o7.id, a4 = c5); + } + return { id: s9, weight: a4 }; + })(e7, r8, t5); + return { nextCommit: i11.id, candidateCount: t5, reaches: i11.weight }; +}; +var QE = { kind: "empty" }; +var ZE = () => ({ slots: Array.from({ length: 16 }, () => QE), preserved: [] }); +var eb = (e7) => ({ kind: "internal", node: e7 }); +var tb = (e7, t5, n7) => ({ ...e7, slots: e7.slots.map((e8, r8) => r8 === t5 ? n7 : e8) }); +var nb = (e7, t5) => Number.parseInt(e7.charAt(t5), 16); +var rb = (e7) => "note" === e7.kind ? e7.key : e7.prefix; +var ob = (e7, t5, n7) => { + const r8 = rb(t5), o5 = nb(r8, n7), s8 = e7.slots[o5]; + if ("empty" === s8.kind) return tb(e7, o5, t5); + if ("internal" === s8.kind) return tb(e7, o5, eb(ob(s8.node, t5, n7 + 1))); + if (rb(s8) === r8) return tb(e7, o5, t5); + const i11 = ob(ob(ZE(), s8, n7 + 1), t5, n7 + 1); + return tb(e7, o5, eb(i11)); +}; +var sb = (e7, t5, n7) => [...t5.slice(n7 + 1)].reduceRight((e8, t6) => eb(tb(ZE(), nb(t6, 0), e8)), eb(e7)); +var ib = /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/; +var ab = /^[0-9a-f]{2}$/; +var cb = (e7, t5) => { + const n7 = []; + return { ...e7.reduce((e8, r8) => { + const o5 = ((e9, t6) => { + const n8 = t6 + e9.name; + return !tn(e9.mode) && ib.test(n8) ? { kind: "note", key: lr.from(n8), val: e9.id } : tn(e9.mode) && ab.test(e9.name) ? { kind: "subtree", prefix: n8, oid: e9.id } : null; + })(r8, t5); + return null === o5 ? (n7.push(r8), e8) : ob(e8, o5, t5.length); + }, ZE()), preserved: n7 }; +}; +var db = (e7) => cb(e7, ""); +var ub = async (e7, t5) => cb(await t5(e7.oid), e7.prefix); +var lb = (e7, t5) => [...Array.from({ length: t5 }, (t6, n7) => e7.slice(2 * n7, 2 * n7 + 2)), e7.slice(2 * t5)].join("/"); +var fb = (e7) => Array.from({ length: e7.length / 2 }, (t5, n7) => e7.slice(2 * n7, 2 * n7 + 2)).join("/"); +var hb = async (e7, t5, n7, r8, o5, s8) => { + return "empty" === e7.kind ? [] : "note" === e7.kind ? [{ name: lb(e7.key, o5), mode: Qt.REGULAR, oid: e7.val }] : "internal" === e7.kind ? (await gb(e7.node, n7, r8 + 1, o5, s8 + (i11 = t5, i11.toString(16)))).entries : r8 < 2 * o5 ? [{ name: fb(e7.prefix), mode: Qt.DIRECTORY, oid: e7.oid }] : (await gb(await ub(e7, n7), n7, e7.prefix.length, o5, e7.prefix)).entries; + var i11; +}; +var gb = async (e7, t5, n7, r8, o5) => { + const s8 = ((e8, t6, n8) => t6 % 2 != 0 || t6 > 2 * n8 ? n8 : e8.slots.every((e9) => { + return "subtree" === (t7 = e9.kind) || "internal" === t7; var t7; - }) ? n7 + 1 : n7)(e6, n6, r6), i7 = []; - for (const [r7, a7] of e6.slots.entries()) i7.push(...await Jy(a7, r7, t5, n6, s9, o6)); - const a6 = e6.preserved.map((e7) => ((e8, t6) => ({ name: "" === t6 ? e8.name : `${qy(t6)}/${e8.name}`, mode: e8.mode, oid: e8.id }))(e7, o6)); - return { entries: [...i7, ...a6] }; -}; -var Zy = (e6, t5, n6 = 0, r6 = 0) => Qy(e6, t5, n6, r6, ""); -var eE = async (e6, t5, n6, r6, o6 = 0) => { - const s9 = Fy(t5, o6), i7 = e6.slots[s9]; - return "subtree" === i7.kind ? (async (e7, t6, n7, r7, o7, s10, i8) => { - if (!r7.startsWith(n7.prefix)) { - const s11 = Vy(Vy(My(), n7, i8 + 1), { kind: "note", key: r7, val: o7 }, i8 + 1); - return By(e7, t6, Py(s11)); - } - const a6 = By(e7, t6, Gy(await Yy(n7, s10), n7.prefix, i8)); - return eE(a6, r7, o7, s10, i8); - })(e6, s9, i7, t5, n6, r6, o6) : "internal" === i7.kind ? By(e6, s9, Py(await eE(i7.node, t5, n6, r6, o6 + 1))) : Vy(e6, { kind: "note", key: t5, val: n6 }, o6); -}; -var tE = async (e6, t5, n6, r6 = 0) => { - const o6 = Fy(t5, r6), s9 = e6.slots[o6]; - if ("empty" !== s9.kind) { - if ("note" === s9.kind) return s9.key === t5 ? s9.val : void 0; - if ("internal" === s9.kind) return tE(s9.node, t5, n6, r6 + 1); - if (t5.startsWith(s9.prefix)) return tE(await Yy(s9, n6), t5, n6, s9.prefix.length); - } -}; -var nE = async (e6, t5, n6, r6 = 0) => { - const o6 = Fy(t5, r6), s9 = e6.slots[o6]; - if ("empty" === s9.kind) return e6; - if ("note" === s9.kind) return s9.key === t5 ? By(e6, o6, Cy) : e6; - if ("internal" === s9.kind) return By(e6, o6, ((e7) => { - if (e7.preserved.length > 0) return Py(e7); - const t6 = e7.slots.filter((e8) => "empty" !== e8.kind); - if (0 === t6.length) return Cy; - const n7 = t6[0]; - return 1 === t6.length && "internal" !== n7.kind ? n7 : Py(e7); - })(await nE(s9.node, t5, n6, r6 + 1))); - if (!t5.startsWith(s9.prefix)) return e6; - const i7 = By(e6, o6, Gy(await Yy(s9, n6), s9.prefix, r6)); - return nE(i7, t5, n6, r6); -}; -var rE = (e6) => `'${e6.replaceAll("'", "'\\''")}'`; -var oE = (e6) => `GIT_AUTHOR_NAME=${rE(e6.name)} -GIT_AUTHOR_EMAIL=${rE(e6.email)} -GIT_AUTHOR_DATE=${rE(`@${e6.timestamp} ${e6.timezoneOffset}`)} + }) ? n8 + 1 : n8)(e7, n7, r8), i11 = []; + for (const [r9, a5] of e7.slots.entries()) i11.push(...await hb(a5, r9, t5, n7, s8, o5)); + const a4 = e7.preserved.map((e8) => ((e9, t6) => ({ name: "" === t6 ? "" : `${fb(t6)}/`, nameBytes: e9.nameBytes, mode: e9.mode, oid: e9.id }))(e8, o5)); + return { entries: [...i11, ...a4] }; +}; +var mb = (e7, t5, n7 = 0, r8 = 0) => gb(e7, t5, n7, r8, ""); +var pb = async (e7, t5, n7, r8, o5 = 0) => { + const s8 = nb(t5, o5), i11 = e7.slots[s8]; + return "subtree" === i11.kind ? (async (e8, t6, n8, r9, o6, s9, i12) => { + if (!r9.startsWith(n8.prefix)) { + const s10 = ob(ob(ZE(), n8, i12 + 1), { kind: "note", key: r9, val: o6 }, i12 + 1); + return tb(e8, t6, eb(s10)); + } + const a4 = tb(e8, t6, sb(await ub(n8, s9), n8.prefix, i12)); + return pb(a4, r9, o6, s9, i12); + })(e7, s8, i11, t5, n7, r8, o5) : "internal" === i11.kind ? tb(e7, s8, eb(await pb(i11.node, t5, n7, r8, o5 + 1))) : ob(e7, { kind: "note", key: t5, val: n7 }, o5); +}; +var wb = async (e7, t5, n7, r8 = 0) => { + const o5 = nb(t5, r8), s8 = e7.slots[o5]; + if ("empty" !== s8.kind) { + if ("note" === s8.kind) return s8.key === t5 ? s8.val : void 0; + if ("internal" === s8.kind) return wb(s8.node, t5, n7, r8 + 1); + if (t5.startsWith(s8.prefix)) return wb(await ub(s8, n7), t5, n7, s8.prefix.length); + } +}; +var yb = async (e7, t5, n7, r8 = 0) => { + const o5 = nb(t5, r8), s8 = e7.slots[o5]; + if ("empty" === s8.kind) return e7; + if ("note" === s8.kind) return s8.key === t5 ? tb(e7, o5, QE) : e7; + if ("internal" === s8.kind) return tb(e7, o5, ((e8) => { + if (e8.preserved.length > 0) return eb(e8); + const t6 = e8.slots.filter((e9) => "empty" !== e9.kind); + if (0 === t6.length) return QE; + const n8 = t6[0]; + return 1 === t6.length && "internal" !== n8.kind ? n8 : eb(e8); + })(await yb(s8.node, t5, n7, r8 + 1))); + if (!t5.startsWith(s8.prefix)) return e7; + const i11 = tb(e7, o5, sb(await ub(s8, n7), s8.prefix, r8)); + return yb(i11, t5, n7, r8); +}; +var Eb = (e7) => `'${e7.replaceAll("'", "'\\''")}'`; +var bb = (e7) => `GIT_AUTHOR_NAME=${Eb(e7.name)} +GIT_AUTHOR_EMAIL=${Eb(e7.email)} +GIT_AUTHOR_DATE=${Eb(`@${e7.timestamp} ${e7.timezoneOffset}`)} `; -var sE = (e6, t5) => { - const n6 = `${t5}=`, r6 = e6.find((e7) => e7.startsWith(n6)); - if (void 0 === r6) throw Ct(t5, "missing author-script key"); - const o6 = r6.slice(n6.length); - if (o6.length < 2 || !o6.startsWith("'") || !o6.endsWith("'")) throw Ct(r6, "author-script value is not single-quoted"); - return ((e7) => e7.slice(1, -1).replaceAll("'\\''", "'"))(o6); -}; -var iE = (e6) => { - const t5 = e6.split("\n"), n6 = sE(t5, "GIT_AUTHOR_NAME"), r6 = sE(t5, "GIT_AUTHOR_EMAIL"), o6 = sE(t5, "GIT_AUTHOR_DATE"); - if (!o6.startsWith("@")) throw Ct(o6, "author-script date lacks the `@` prefix"); - const [s9, i7] = o6.slice(1).split(" "), a6 = Number(s9); - if (!Number.isSafeInteger(a6)) throw Ct(o6, "invalid author-script timestamp"); - if (void 0 === i7 || !/^[+-]\d{4}$/.test(i7)) throw Ct(o6, "invalid author-script timezone offset"); - return { name: n6, email: r6, timestamp: a6, timezoneOffset: i7 }; -}; -var aE = (e6) => e6.replace(/\n+$/, ""); -var cE = (e6, t5) => { +var Ib = (e7, t5) => { + const n7 = `${t5}=`, r8 = e7.find((e8) => e8.startsWith(n7)); + if (void 0 === r8) throw Wt(t5, "missing author-script key"); + const o5 = r8.slice(n7.length); + if (o5.length < 2 || !o5.startsWith("'") || !o5.endsWith("'")) throw Wt(r8, "author-script value is not single-quoted"); + return ((e8) => e8.slice(1, -1).replaceAll("'\\''", "'"))(o5); +}; +var _b = (e7) => { + const t5 = e7.split("\n"), n7 = Ib(t5, "GIT_AUTHOR_NAME"), r8 = Ib(t5, "GIT_AUTHOR_EMAIL"), o5 = Ib(t5, "GIT_AUTHOR_DATE"); + if (!o5.startsWith("@")) throw Wt(o5, "author-script date lacks the `@` prefix"); + const [s8, i11] = o5.slice(1).split(" "), a4 = Number(s8); + if (!Number.isSafeInteger(a4)) throw Wt(o5, "invalid author-script timestamp"); + if (void 0 === i11 || !/^[+-]\d{4}$/.test(i11)) throw Wt(o5, "invalid author-script timezone offset"); + return { name: n7, email: r8, timestamp: a4, timezoneOffset: i11 }; +}; +var vb = (e7) => e7.replace(/\n+$/, ""); +var Ob = (e7, t5) => { return 0 === t5 ? `# This is the 1st commit message: -${aE(e6.message)} -` : true === e6.skip ? ` +${vb(e7.message)} +` : true === e7.skip ? ` # The commit message #${t5 + 1} will be skipped: -${n6 = e6.message, aE(n6).split("\n").map((e7) => "" === e7 ? "#" : `# ${e7}`).join("\n")} +${n7 = e7.message, vb(n7).split("\n").map((e8) => "" === e8 ? "#" : `# ${e8}`).join("\n")} ` : ` # This is the commit message #${t5 + 1}: -${aE(e6.message)} +${vb(e7.message)} `; - var n6; + var n7; }; -var dE = (e6) => { - const t5 = e6.length; - let n6 = `# This is a combination of ${t5} ${1 === t5 ? "commit" : "commits"}. +var Tb = (e7) => { + const t5 = e7.length; + let n7 = `# This is a combination of ${t5} ${1 === t5 ? "commit" : "commits"}. `; - for (let r6 = 0; r6 < t5; r6 += 1) n6 += cE(e6[r6], r6); - return n6; + for (let r8 = 0; r8 < t5; r8 += 1) n7 += Ob(e7[r8], r8); + return n7; }; -var uE = /^(pick|reword|edit|squash|fixup|drop) (\S+) # (.*)$/; -var lE = (e6) => e6.map((e7) => `${e7.action} ${e7.oid} # ${e7.subject} +var Ab = /^(pick|reword|edit|squash|fixup|drop) (\S+) # (.*)$/; +var $b = (e7) => e7.map((e8) => `${e8.action} ${e8.oid} # ${e8.subject} `).join(""); -var fE = (e6) => { +var xb = (e7) => { const t5 = []; - for (const n6 of e6.split("\n")) { - if ("" === n6 || n6.startsWith("#")) continue; - const e7 = uE.exec(n6); - if (null === e7) throw je(n6); - t5.push({ action: e7[1], oid: e7[2], subject: e7[3] }); + for (const n7 of e7.split("\n")) { + if ("" === n7 || n7.startsWith("#")) continue; + const e8 = Ab.exec(n7); + if (null === e8) throw Je(n7); + t5.push({ action: e8[1], oid: e8[2], subject: e8[3] }); } return t5; }; -var hE = (e6, t5) => { - const n6 = e6.length, r6 = `# Rebase ${t5.shortUpstream}..${t5.shortOrigHead} onto ${t5.shortOnto} (${n6} ${1 === n6 ? "command" : "commands"}) +var Sb = (e7, t5) => { + const n7 = e7.length, r8 = `# Rebase ${t5.shortUpstream}..${t5.shortOrigHead} onto ${t5.shortOnto} (${n7} ${1 === n7 ? "command" : "commands"}) `; - return `${lE(e6)} -${r6}# + return `${$b(e7)} +${r8}# # Commands: # p, pick = use commit # r, reword = use commit, but edit the commit message @@ -26646,358 +10286,456 @@ ${r6}# # `; }; -var gE = (e6) => new o({ code: "SUBMODULE_HAS_MODIFICATIONS", path: e6 }); -var mE = (e6, t5) => new o({ code: "SUBMODULE_OBJECT_FORMAT_MISMATCH", local: e6, remote: t5 }); -var pE = (e6) => new o({ code: "SUBMODULE_PATH_EXISTS", path: e6 }); -var wE = (e6) => e6.split("/").length; -var yE = (e6, t5) => `gitdir: ${"../".repeat(wE(t5))}.git/modules/${e6}`; -var EE = (e6, t5) => `${"../".repeat(2 + wE(e6))}${t5}`; -var bE = "./"; -var IE = "../"; -var _E = (e6) => e6.startsWith("/"); -var vE = (e6) => { - const t5 = e6.indexOf(":"), n6 = e6.indexOf("/"); - return t5 < 0 || n6 >= 0 && n6 < t5; -}; -var TE = (e6, t5) => { - const n6 = e6.lastIndexOf("/"); - if (n6 >= 0) return { base: e6.slice(0, n6), colonSep: false }; - const r6 = e6.lastIndexOf(":"); - if (r6 >= 0) return { base: e6.slice(0, r6), colonSep: true }; - if (t5 || "." === e6) throw new o({ code: "RELATIVE_URL_UNRESOLVABLE", url: e6 }); +var Nb = (e7) => new c({ code: "SUBMODULE_HAS_MODIFICATIONS", path: e7 }); +var Lb = (e7, t5) => new c({ code: "SUBMODULE_OBJECT_FORMAT_MISMATCH", local: e7, remote: t5 }); +var Rb = (e7) => new c({ code: "SUBMODULE_PATH_EXISTS", path: e7 }); +var kb = (e7) => e7.split("/").length; +var Db = (e7, t5) => `gitdir: ${"../".repeat(kb(t5))}.git/modules/${e7}`; +var Ub = (e7, t5) => `${"../".repeat(2 + kb(e7))}${t5}`; +var Cb = "./"; +var Mb = "../"; +var Pb = (e7) => e7.startsWith("/"); +var Bb = (e7) => { + const t5 = e7.indexOf(":"), n7 = e7.indexOf("/"); + return t5 < 0 || n7 >= 0 && n7 < t5; +}; +var Fb = (e7, t5) => { + const n7 = e7.lastIndexOf("/"); + if (n7 >= 0) return { base: e7.slice(0, n7), colonSep: false }; + const r8 = e7.lastIndexOf(":"); + if (r8 >= 0) return { base: e7.slice(0, r8), colonSep: true }; + if (t5 || "." === e7) throw new c({ code: "RELATIVE_URL_UNRESOLVABLE", url: e7 }); return { base: ".", colonSep: false }; }; -var OE = (e6, t5) => t5.startsWith(bE) || t5.startsWith(IE) ? ((e7, t6) => { - if (!vE(t6) || _E(t6)) return t6; - let n6 = e7.endsWith("/") ? e7.slice(0, -1) : e7; - const r6 = vE(n6) && !_E(n6); - r6 && (n6 = ((e8) => e8.startsWith(bE) || e8.startsWith(IE) ? e8 : `${bE}${e8}`)(n6)); - let o6 = t6, s9 = false; - for (; o6.length > 0; ) if (o6.startsWith(IE)) { - o6 = o6.slice(3); - const e8 = TE(n6, r6); - n6 = e8.base, s9 = s9 || e8.colonSep; +var Hb = (e7, t5) => t5.startsWith(Cb) || t5.startsWith(Mb) ? ((e8, t6) => { + if (!Bb(t6) || Pb(t6)) return t6; + let n7 = e8.endsWith("/") ? e8.slice(0, -1) : e8; + const r8 = Bb(n7) && !Pb(n7); + r8 && (n7 = ((e9) => e9.startsWith(Cb) || e9.startsWith(Mb) ? e9 : `${Cb}${e9}`)(n7)); + let o5 = t6, s8 = false; + for (; o5.length > 0; ) if (o5.startsWith(Mb)) { + o5 = o5.slice(3); + const e9 = Fb(n7, r8); + n7 = e9.base, s8 = s8 || e9.colonSep; } else { - if (!o6.startsWith(bE)) break; - o6 = o6.slice(2); - } - const i7 = `${n6}${s9 ? ":" : "/"}${o6}`, a6 = o6.endsWith("/") ? i7.slice(0, -1) : i7; - return a6.startsWith(bE) ? a6.slice(2) : a6; -})(e6, t5) : t5; -var $E = /* @__PURE__ */ new Set(["checkout", "rebase", "merge", "none"]); -var AE = (e6) => $E.has(e6) ? e6 : void 0; -var NE = "../.."; -var SE = (e6) => `${e6}/.git`; -var xE = (e6) => `gitdir: ${e6}`; -var LE = (e6) => "" === e6 || "." === e6 || ".." === e6 || e6.includes("/") || e6.includes("\\") || ((e7) => { - for (const t5 of e7) if (t5.charCodeAt(0) <= 31) return true; + if (!o5.startsWith(Cb)) break; + o5 = o5.slice(2); + } + const i11 = `${n7}${s8 ? ":" : "/"}${o5}`, a4 = o5.endsWith("/") ? i11.slice(0, -1) : i11; + return a4.startsWith(Cb) ? a4.slice(2) : a4; +})(e7, t5) : t5; +var Vb = /* @__PURE__ */ new Set(["checkout", "rebase", "merge", "none"]); +var Gb = (e7) => Vb.has(e7) ? e7 : void 0; +var Wb = "../.."; +var zb = (e7) => `${e7}/.git`; +var jb = (e7) => `gitdir: ${e7}`; +var Kb = (e7) => "" === e7 || "." === e7 || ".." === e7 || e7.includes("/") || e7.includes("\\") || ((e8) => { + for (const t5 of e8) if (t5.charCodeAt(0) <= 31) return true; return false; -})(e6); -var RE = (e6, t5) => { - let n6 = e6, r6 = 0; - for (; t5.has(n6); ) r6 += 1, n6 = `${e6}${r6}`; - return n6; -}; -var kE = (e6) => new o({ code: "WORKTREE_PATH_EXISTS", path: e6 }); -var DE = (e6, t5) => new o({ code: "BRANCH_CHECKED_OUT", branch: e6, path: t5 }); -var UE = (e6, t5) => new o({ code: "WORKTREE_LOCKED", path: e6, reason: t5 }); -var CE = (e6) => new o({ code: "WORKTREE_DIRTY", path: e6 }); -var ME = (e6) => new o({ code: "NOT_A_WORKTREE", path: e6 }); -var PE = (e6) => new o({ code: "GITFILE_INVALID_FORMAT", path: e6 }); -var BE = (e6) => new o({ code: "GITFILE_NO_PATH", path: e6 }); -var FE = (e6) => { - const t5 = e6.split("/").filter((e7) => "" !== e7); - return t5[t5.length - 1] ?? ""; -}; -var HE = (e6, t5) => Gh(t5.startsWith("/") ? t5 : `${e6}/${t5}`); -var VE = new TextEncoder(); -var GE = 65536; -var WE = (e6) => 0 | e6; -var jE = (e6, t5, n6) => e6.cost[t5 + e6.columnCount * n6]; -var zE = (e6, t5, n6) => { - const r6 = 0 === n6 ? 1 : 0; - let o6 = WE(jE(e6, r6, t5) - e6.v[r6]); - for (let r7 = 1; r7 < e6.columnCount; r7++) { - const s9 = WE(jE(e6, r7, t5) - e6.v[r7]); - r7 !== n6 && o6 > s9 && (o6 = s9); - } - e6.v[n6] = WE(e6.v[n6] - o6); -}; -var KE = (e6, t5, n6, r6, o6) => { - const s9 = ((e7, t6) => { - let n7 = 0, r7 = WE(jE(e7, n7, t6) - e7.v[n7]), o7 = -1, s10 = GE; - for (let i8 = 1; i8 < e7.columnCount; i8++) { - const a7 = WE(jE(e7, i8, t6) - e7.v[i8]); - s10 > a7 && (r7 < a7 ? (s10 = a7, o7 = i8) : (s10 = r7, r7 = a7, o7 = n7, n7 = i8)); - } - return o7 < 0 && (o7 = n7, s10 = r7), { j1: n7, u1: r7, j2: o7, u2: s10 }; - })(e6, n6); - let i7 = s9.j1, a6 = e6.columnToRow[i7], c6 = r6, d5 = o6; - return s9.u1 < s9.u2 ? e6.v[i7] = WE(e6.v[i7] - (s9.u2 - s9.u1)) : a6 >= 0 && (i7 = s9.j2, a6 = e6.columnToRow[i7]), a6 >= 0 && (s9.u1 < s9.u2 ? t5[--c6] = a6 : t5[d5++] = a6), e6.rowToColumn[n6] = i7, e6.columnToRow[i7] = n6, { k: c6, freeCount: d5 }; -}; -var YE = (e6, t5, n6, r6) => { - let o6 = t5[n6[r6.up++]], s9 = -1; - for (let i7 = r6.up; i7 < e6.columnCount; i7++) { - const e7 = n6[i7]; - s9 = e7; - const a6 = t5[e7]; - a6 <= o6 && (a6 < o6 && (r6.up = r6.low, o6 = a6), n6[i7] = n6[r6.up], n6[r6.up++] = e7); - } - return { min: o6, lastJ: s9 }; -}; -var XE = (e6, t5, n6) => { - for (let r6 = n6.low; r6 < n6.up; r6++) if (-1 === e6.columnToRow[t5[r6]]) return true; +})(e7); +var Yb = (e7, t5) => { + let n7 = e7, r8 = 0; + for (; t5.has(n7); ) r8 += 1, n7 = `${e7}${r8}`; + return n7; +}; +var Xb = (e7) => new c({ code: "WORKTREE_PATH_EXISTS", path: e7 }); +var qb = (e7, t5) => new c({ code: "BRANCH_CHECKED_OUT", branch: e7, path: t5 }); +var Jb = (e7, t5) => new c({ code: "WORKTREE_LOCKED", path: e7, reason: t5 }); +var Qb = (e7) => new c({ code: "WORKTREE_DIRTY", path: e7 }); +var Zb = (e7) => new c({ code: "NOT_A_WORKTREE", path: e7 }); +var eI = (e7) => new c({ code: "GITFILE_INVALID_FORMAT", path: e7 }); +var tI = (e7) => new c({ code: "GITFILE_NO_PATH", path: e7 }); +function nI(e7, t5, n7) { + const r8 = Math.floor(n7 / 4294967296), o5 = n7 % 4294967296; + e7.setUint32(t5, r8), e7.setUint32(t5 + 4, o5); +} +function rI(e7, t5) { + const n7 = 32 === t5.digestLength ? 2 : 1, r8 = /* @__PURE__ */ (function(e8) { + return 1 === e8 ? 20 : 32; + })(n7), o5 = (function(e8) { + return [...e8].sort((e9, t6) => At(Ot(e9.id), Ot(t6.id))); + })(e7), s8 = new Map(o5.map((e8, t6) => [e8.id, t6])), i11 = (function(e8) { + const t6 = new Map(e8.map((e9) => [e9.id, e9])), n8 = /* @__PURE__ */ new Map(); + for (const r9 of e8) n8.has(r9.id) || oI(r9.id, t6, n8); + return n8; + })(o5), a4 = (function(e8, t6) { + const n8 = [], r9 = /* @__PURE__ */ new Map(); + for (const o6 of e8) { + const e9 = t6.get(o6.id).correctedDate - o6.committerDate; + e9 > 2147483647 && (r9.set(o6.id, n8.length), n8.push(e9)); + } + return { entries: n8, indexByCommit: r9 }; + })(o5, i11), c5 = (function(e8, t6) { + const n8 = [], r9 = /* @__PURE__ */ new Map(); + for (const o6 of e8) { + if (o6.parents.length < 3) continue; + r9.set(o6.id, n8.length); + const e9 = o6.parents.slice(1); + e9.forEach((r10, o7) => { + const s9 = t6.get(r10); + n8.push(o7 === e9.length - 1 ? s9 | ey : s9); + }); + } + return { entries: n8, startByCommit: r9 }; + })(o5, s8), d6 = (function(e8, t6, n8, r9) { + const o6 = [{ id: "OIDF", size: 1024 }, { id: "OIDL", size: e8 * t6 }, { id: "CDAT", size: e8 * (t6 + 16) }, { id: "GDA2", size: 4 * e8 }]; + return n8 > 0 && o6.push({ id: "GDO2", size: 8 * n8 }), r9 > 0 && o6.push({ id: "EDGE", size: 4 * r9 }), o6; + })(o5.length, r8, a4.entries.length, c5.entries.length), u6 = (function(e8) { + const t6 = [8 + 12 * (e8.length + 1)]; + for (const n8 of e8) t6.push(t6[t6.length - 1] + n8.size); + return t6; + })(d6), l4 = u6[u6.length - 1], f2 = new Uint8Array(l4 + r8), h5 = new DataView(f2.buffer); + !(function(e8, t6, n8, r9, o6, s9) { + e8.set(Rt("CGPH"), 0), t6.setUint8(4, 1), t6.setUint8(5, n8), t6.setUint8(6, r9.length), t6.setUint8(7, 0), r9.forEach((n9, r10) => { + const s10 = 8 + 12 * r10; + e8.set(Rt(n9.id), s10), nI(t6, s10 + 4, o6[r10]); + }), nI(t6, 12 + 12 * r9.length, s9); + })(f2, h5, n7, d6, u6, l4); + const g7 = (e8) => u6[d6.findIndex((t6) => t6.id === e8)]; + return (function(e8, t6, n8, r9, o6, s9) { + const i12 = new Uint32Array(256); + for (const e9 of n8) for (let t7 = Ot(e9.id)[0]; t7 < 256; t7 += 1) i12[t7] += 1; + for (let e9 = 0; e9 < 256; e9 += 1) t6.setUint32(r9 + 4 * e9, i12[e9]); + n8.forEach((t7, n9) => { + e8.set(Ot(t7.id), o6 + n9 * s9); + }); + })(f2, h5, o5, g7("OIDF"), g7("OIDL"), r8), (function(e8, t6, n8, r9, o6, s9, i12, a5, c6) { + n8.forEach((n9, d7) => { + const u7 = s9 + d7 * i12; + e8.set(Ot(n9.rootTree), u7); + const l5 = n9.parents.length >= 1 ? r9.get(n9.parents[0]) : Qw, f3 = (function(e9, t7, n10) { + return e9.parents.length <= 1 ? Qw : 2 === e9.parents.length ? t7.get(e9.parents[1]) : Zw | n10.startByCommit.get(e9.id); + })(n9, r9, c6); + t6.setUint32(u7 + a5, l5), t6.setUint32(u7 + a5 + 4, f3); + const { level: h6 } = o6.get(n9.id), g8 = 3 & Math.floor(n9.committerDate / 4294967296), m7 = n9.committerDate % 4294967296; + t6.setUint32(u7 + a5 + 8, 4 * h6 + g8), t6.setUint32(u7 + a5 + 12, m7); + }); + })(f2, h5, o5, s8, i11, g7("CDAT"), r8 + 16, r8, c5), (function(e8, t6, n8, r9, o6) { + t6.forEach((t7, s9) => { + const i12 = r9.indexByCommit.get(t7.id), a5 = void 0 === i12 ? n8.get(t7.id).correctedDate - t7.committerDate : ny | i12; + e8.setUint32(o6 + 4 * s9, a5); + }); + })(h5, o5, i11, a4, g7("GDA2")), a4.entries.length > 0 && (function(e8, t6, n8) { + t6.forEach((t7, r9) => { + nI(e8, n8 + 8 * r9, t7); + }); + })(h5, a4.entries, g7("GDO2")), c5.entries.length > 0 && (function(e8, t6, n8) { + t6.forEach((t7, r9) => { + e8.setUint32(n8 + 4 * r9, t7); + }); + })(h5, c5.entries, g7("EDGE")), f2; +} +function oI(e7, t5, n7) { + const r8 = [{ id: e7, parentIndex: 0 }]; + for (; r8.length > 0; ) { + const e8 = r8[r8.length - 1], o5 = t5.get(e8.id); + if (e8.parentIndex < o5.parents.length) { + const t6 = o5.parents[e8.parentIndex]; + e8.parentIndex += 1, n7.has(t6) || r8.push({ id: t6, parentIndex: 0 }); + continue; + } + n7.set(e8.id, sI(o5, n7)), r8.pop(); + } +} +function sI(e7, t5) { + let n7 = 1, r8 = e7.committerDate; + for (const o5 of e7.parents) { + const e8 = t5.get(o5); + n7 = Math.max(n7, e8.level + 1), r8 = Math.max(r8, e8.correctedDate + 1); + } + return { level: n7, correctedDate: r8 }; +} +var iI = new TextEncoder(); +var aI = 65536; +var cI = (e7) => 0 | e7; +var dI = (e7, t5, n7) => e7.cost[t5 + e7.columnCount * n7]; +var uI = (e7, t5, n7) => { + const r8 = 0 === n7 ? 1 : 0; + let o5 = cI(dI(e7, r8, t5) - e7.v[r8]); + for (let r9 = 1; r9 < e7.columnCount; r9++) { + const s8 = cI(dI(e7, r9, t5) - e7.v[r9]); + r9 !== n7 && o5 > s8 && (o5 = s8); + } + e7.v[n7] = cI(e7.v[n7] - o5); +}; +var lI = (e7, t5, n7, r8, o5) => { + const s8 = ((e8, t6) => { + let n8 = 0, r9 = cI(dI(e8, n8, t6) - e8.v[n8]), o6 = -1, s9 = aI; + for (let i12 = 1; i12 < e8.columnCount; i12++) { + const a5 = cI(dI(e8, i12, t6) - e8.v[i12]); + s9 > a5 && (r9 < a5 ? (s9 = a5, o6 = i12) : (s9 = r9, r9 = a5, o6 = n8, n8 = i12)); + } + return o6 < 0 && (o6 = n8, s9 = r9), { j1: n8, u1: r9, j2: o6, u2: s9 }; + })(e7, n7); + let i11 = s8.j1, a4 = e7.columnToRow[i11], c5 = r8, d6 = o5; + return s8.u1 < s8.u2 ? e7.v[i11] = cI(e7.v[i11] - (s8.u2 - s8.u1)) : a4 >= 0 && (i11 = s8.j2, a4 = e7.columnToRow[i11]), a4 >= 0 && (s8.u1 < s8.u2 ? t5[--c5] = a4 : t5[d6++] = a4), e7.rowToColumn[n7] = i11, e7.columnToRow[i11] = n7, { k: c5, freeCount: d6 }; +}; +var fI = (e7, t5, n7, r8) => { + let o5 = t5[n7[r8.up++]], s8 = -1; + for (let i11 = r8.up; i11 < e7.columnCount; i11++) { + const e8 = n7[i11]; + s8 = e8; + const a4 = t5[e8]; + a4 <= o5 && (a4 < o5 && (r8.up = r8.low, o5 = a4), n7[i11] = n7[r8.up], n7[r8.up++] = e8); + } + return { min: o5, lastJ: s8 }; +}; +var hI = (e7, t5, n7) => { + for (let r8 = n7.low; r8 < n7.up; r8++) if (-1 === e7.columnToRow[t5[r8]]) return true; return false; }; -var qE = (e6, t5, n6, r6, o6, s9) => { +var gI = (e7, t5, n7, r8, o5, s8) => { do { - const i7 = r6[o6.low++], a6 = e6.columnToRow[i7], c6 = WE(jE(e6, i7, a6) - e6.v[i7] - s9); - for (let i8 = o6.up; i8 < e6.columnCount; i8++) { - const d5 = r6[i8], u6 = WE(jE(e6, d5, a6) - e6.v[d5] - c6); - if (u6 < t5[d5] && (t5[d5] = u6, n6[d5] = a6, u6 === s9)) { - if (-1 === e6.columnToRow[d5]) return d5; - r6[i8] = r6[o6.up], r6[o6.up++] = d5; + const i11 = r8[o5.low++], a4 = e7.columnToRow[i11], c5 = cI(dI(e7, i11, a4) - e7.v[i11] - s8); + for (let i12 = o5.up; i12 < e7.columnCount; i12++) { + const d6 = r8[i12], u6 = cI(dI(e7, d6, a4) - e7.v[d6] - c5); + if (u6 < t5[d6] && (t5[d6] = u6, n7[d6] = a4, u6 === s8)) { + if (-1 === e7.columnToRow[d6]) return d6; + r8[i12] = r8[o5.up], r8[o5.up++] = d6; } } - } while (o6.low !== o6.up); + } while (o5.low !== o5.up); return -1; }; -var JE = (e6, t5) => { - const n6 = new Array(e6.columnCount), r6 = new Array(e6.columnCount), o6 = new Array(e6.columnCount); - for (let s10 = 0; s10 < e6.columnCount; s10++) n6[s10] = WE(jE(e6, s10, t5) - e6.v[s10]), r6[s10] = t5, o6[s10] = s10; - const s9 = ((e7, t6, n7, r7) => { - const o7 = { low: 0, up: 0 }; +var mI = (e7, t5) => { + const n7 = new Array(e7.columnCount), r8 = new Array(e7.columnCount), o5 = new Array(e7.columnCount); + for (let s9 = 0; s9 < e7.columnCount; s9++) n7[s9] = cI(dI(e7, s9, t5) - e7.v[s9]), r8[s9] = t5, o5[s9] = s9; + const s8 = ((e8, t6, n8, r9) => { + const o6 = { low: 0, up: 0 }; for (; ; ) { - const s10 = o7.low, { min: i8, lastJ: a7 } = YE(e7, t6, r7, o7); - if (XE(e7, r7, o7)) return { j: a7, last: s10, min: i8 }; - const c6 = qE(e7, t6, n7, r7, o7, i8); - if (c6 >= 0) return { j: c6, last: s10, min: i8 }; + const s9 = o6.low, { min: i12, lastJ: a5 } = fI(e8, t6, r9, o6); + if (hI(e8, r9, o6)) return { j: a5, last: s9, min: i12 }; + const c5 = gI(e8, t6, n8, r9, o6, i12); + if (c5 >= 0) return { j: c5, last: s9, min: i12 }; } - })(e6, n6, r6, o6); - for (let t6 = 0; t6 < s9.last; t6++) { - const r7 = o6[t6]; - e6.v[r7] = WE(e6.v[r7] + (n6[r7] - s9.min)); + })(e7, n7, r8, o5); + for (let t6 = 0; t6 < s8.last; t6++) { + const r9 = o5[t6]; + e7.v[r9] = cI(e7.v[r9] + (n7[r9] - s8.min)); } - let i7, a6 = s9.j; + let i11, a4 = s8.j; do { - i7 = r6[a6], e6.columnToRow[a6] = i7; - const t6 = e6.rowToColumn[i7]; - e6.rowToColumn[i7] = a6, a6 = t6; - } while (t5 !== i7); -}; -var QE = (e6, t5, n6) => e6 < 0 ? Math.trunc(t5 * n6 / 100) : GE; -var ZE = (e6, t5, n6, r6, o6) => { - return n6 === o6 ? 0 : n6 < 0 && r6 < 0 ? (s9 = t5.diff, Ys(VE.encode(e6.diff), VE.encode(s9), 3).reduce((e7, t6) => e7 + 1 + t6.body.length, 0)) : GE; - var s9; -}; -var eb = new TextEncoder(); -var tb = (e6, t5) => ({ position: t5 + 1, id: e6.id }); -var nb = (e6, t5) => ({ status: "only-old", old: tb(e6.patch, t5), subject: e6.patch.subject }); -var rb = (e6, t5) => ({ status: "only-new", new: tb(e6.patch, t5), subject: e6.patch.subject }); -var ob = (e6, t5, n6, r6) => { - const o6 = e6.patch.patch !== t5.patch.patch; - return { status: o6 ? "changed" : "unchanged", old: tb(e6.patch, n6), new: tb(t5.patch, r6), subject: e6.patch.subject, ...o6 ? { diffOfDiffs: cs(eb.encode(e6.patch.patch), eb.encode(t5.patch.patch)) } : {} }; -}; -var sb = new TextDecoder("utf-8", { fatal: false }); -var ib = (e6) => 32 === e6 || e6 >= 9 && e6 <= 13; -var ab = (e6) => { - if (0 === e6.length || !((t5 = e6[0]) >= 65 && t5 <= 90 || t5 >= 97 && t5 <= 122 || 95 === t5 || 36 === t5)) return; + i11 = r8[a4], e7.columnToRow[a4] = i11; + const t6 = e7.rowToColumn[i11]; + e7.rowToColumn[i11] = a4, a4 = t6; + } while (t5 !== i11); +}; +var pI = (e7, t5, n7) => e7 < 0 ? Math.trunc(t5 * n7 / 100) : aI; +var wI = (e7, t5, n7, r8, o5) => { + return n7 === o5 ? 0 : n7 < 0 && r8 < 0 ? (s8 = t5.diff, hi(iI.encode(e7.diff), iI.encode(s8), 3).reduce((e8, t6) => e8 + 1 + t6.body.length, 0)) : aI; + var s8; +}; +var yI = new TextEncoder(); +var EI = (e7, t5) => ({ position: t5 + 1, id: e7.id }); +var bI = (e7, t5) => ({ status: "only-old", old: EI(e7.patch, t5), subject: e7.patch.subject }); +var II = (e7, t5) => ({ status: "only-new", new: EI(e7.patch, t5), subject: e7.patch.subject }); +var _I = (e7, t5, n7, r8) => { + const o5 = e7.patch.patch !== t5.patch.patch; + return { status: o5 ? "changed" : "unchanged", old: EI(e7.patch, n7), new: EI(t5.patch, r8), subject: e7.patch.subject, ...o5 ? { diffOfDiffs: Ts(yI.encode(e7.patch.patch), yI.encode(t5.patch.patch)) } : {} }; +}; +var vI = new TextDecoder("utf-8", { fatal: false }); +var OI = (e7) => 32 === e7 || e7 >= 9 && e7 <= 13; +var TI = (e7) => { + if (0 === e7.length || !((t5 = e7[0]) >= 65 && t5 <= 90 || t5 >= 97 && t5 <= 122 || 95 === t5 || 36 === t5)) return; var t5; - let n6 = Math.min(e6.length, 80); - for (; n6 > 0 && ib(e6[n6 - 1]); ) n6--; - return sb.decode(e6.subarray(0, n6)); -}; -var cb = (e6, t5, n6) => { - const r6 = t5 > n6 ? -1 : 1; - for (let o6 = t5; o6 !== n6 && o6 >= 0 && o6 < e6.length; o6 += r6) { - const t6 = ab(e6[o6]); - if (void 0 !== t6) return { index: o6, heading: t6 }; - } -}; -var db = new Uint8Array(); -var ub = (e6) => "add" === e6.type ? `${e6.newPath} (new)` : "delete" === e6.type ? `${e6.oldPath} (deleted)` : "rename" === e6.type || "copy" === e6.type ? `${e6.oldPath} => ${e6.newPath}` : e6.oldMode === e6.newMode ? e6.path : `${e6.path} (mode change ${e6.oldMode} => ${e6.newMode})`; -var lb = (e6) => "delete" === e6.type ? e6.oldPath : "add" === e6.type || "rename" === e6.type || "copy" === e6.type ? e6.newPath : e6.path; -var fb = (e6) => { - const t5 = `${n6 = e6.kind, "context" === n6 ? " " : "delete" === n6 ? "-" : "+"}${e6.text}`; - var n6; - return e6.trailingNoNewline ? [t5, " \\ No newline at end of file"] : [t5]; -}; -var hb = (e6) => e6.oldLen > 0 ? e6.oldStart - 1 : e6.oldStart; -var gb = (e6) => { - const t5 = e6.oldContent ?? db, n6 = e6.newContent ?? db; - return ts(t5) || ts(n6) ? { lines: [mb(e6, t5, n6)], count: 1 } : ((e7, t6, n7) => { - const r6 = es(e7), o6 = []; - let s9 = -1, i7 = ""; - for (const e8 of t6) { - const t7 = hb(e8), a6 = cb(r6, t7 - 1, s9); - s9 = t7 - 1, void 0 !== a6 && (i7 = a6.heading), o6.push("" === i7 ? "@@" : `@@ ${n7}: ${i7}`); - for (const t8 of e8.body) for (const e9 of fb(t8)) o6.push(e9); - } - return { lines: o6, count: o6.length }; - })(t5, Ys(t5, n6, 3), lb(e6.change)); -}; -var mb = (e6, t5, n6) => ` Binary files ${0 === t5.length ? "/dev/null" : lb(e6.change)} and ${0 === n6.length ? "/dev/null" : lb(e6.change)} differ`; -var pb = (e6) => ((e7, t5) => { - const n6 = ((e8) => { + let n7 = Math.min(e7.length, 80); + for (; n7 > 0 && OI(e7[n7 - 1]); ) n7--; + return vI.decode(e7.subarray(0, n7)); +}; +var AI = (e7, t5, n7) => { + const r8 = t5 > n7 ? -1 : 1; + for (let o5 = t5; o5 !== n7 && o5 >= 0 && o5 < e7.length; o5 += r8) { + const t6 = TI(e7[o5]); + if (void 0 !== t6) return { index: o5, heading: t6 }; + } +}; +var $I = new Uint8Array(); +var xI = (e7) => "add" === e7.type ? `${e7.newPath} (new)` : "delete" === e7.type ? `${e7.oldPath} (deleted)` : "rename" === e7.type || "copy" === e7.type ? `${e7.oldPath} => ${e7.newPath}` : e7.oldMode === e7.newMode ? e7.path : `${e7.path} (mode change ${e7.oldMode} => ${e7.newMode})`; +var SI = (e7) => "delete" === e7.type ? e7.oldPath : "add" === e7.type || "rename" === e7.type || "copy" === e7.type ? e7.newPath : e7.path; +var NI = (e7) => { + const t5 = `${n7 = e7.kind, "context" === n7 ? " " : "delete" === n7 ? "-" : "+"}${e7.text}`; + var n7; + return e7.trailingNoNewline ? [t5, " \\ No newline at end of file"] : [t5]; +}; +var LI = (e7) => e7.oldLen > 0 ? e7.oldStart - 1 : e7.oldStart; +var RI = (e7) => { + const t5 = e7.oldContent ?? $I, n7 = e7.newContent ?? $I; + return Es(t5) || Es(n7) ? { lines: [kI(e7, t5, n7)], count: 1 } : ((e8, t6, n8) => { + const r8 = ys(e8), o5 = []; + let s8 = -1, i11 = ""; + for (const e9 of t6) { + const t7 = LI(e9), a4 = AI(r8, t7 - 1, s8); + s8 = t7 - 1, void 0 !== a4 && (i11 = a4.heading), o5.push("" === i11 ? "@@" : `@@ ${n8}: ${i11}`); + for (const t8 of e9.body) for (const e10 of NI(t8)) o5.push(e10); + } + return { lines: o5, count: o5.length }; + })(t5, hi(t5, n7, 3), SI(e7.change)); +}; +var kI = (e7, t5, n7) => ` Binary files ${0 === t5.length ? "/dev/null" : SI(e7.change)} and ${0 === n7.length ? "/dev/null" : SI(e7.change)} differ`; +var DI = (e7) => ((e8, t5) => { + const n7 = ((e9) => { var t6; return ` ## Metadata ## -Author: ${e8.authorName} <${e8.authorEmail}> +Author: ${e9.authorName} <${e9.authorEmail}> ## Commit message ## -` + (t6 = e8.message, "" === t6 ? [] : (t6.endsWith("\n") ? t6.slice(0, -1) : t6).split("\n").map((e9) => ` ${e9}`.replace(/[\t\n\v\f\r ]+$/u, ""))).map((e9) => `${e9} +` + (t6 = e9.message, "" === t6 ? [] : (t6.endsWith("\n") ? t6.slice(0, -1) : t6).split("\n").map((e10) => ` ${e10}`.replace(/[\t\n\v\f\r ]+$/u, ""))).map((e10) => `${e10} `).join(""); - })(e7); - let r6 = n6, o6 = 0; - for (const n7 of e7.files) { - const e8 = ` ## ${ub(n7.change)} ##`, { lines: s9, count: i7 } = gb(n7), a6 = gs("") + gs(e8) + ms(s9); - ps(r6.length + a6, t5), r6 += ` -${e8} -${s9.map((e9) => `${e9} -`).join("")}`, o6 += 1 + i7; - } - return { id: e7.id, subject: e7.subject, patch: r6, diff: r6.slice(e7.files.length > 0 ? n6.length + 1 : 0), diffsize: o6 }; -})(e6, hs); -var wb = (e6, t5, n6) => { - const r6 = e6.map(pb), o6 = t5.map(pb), { old: s9, new: i7 } = ((e7, t6, n7) => { - const r7 = e7.length, o7 = t6.length, s10 = new Array(r7).fill(-1), i8 = new Array(o7).fill(-1), { exactOld: a6, exactNew: c6 } = ((e8, t7) => { - const n8 = new Array(e8.length).fill(-1), r8 = new Array(t7.length).fill(-1), o8 = /* @__PURE__ */ new Map(); - return e8.forEach((e9, t8) => { - const n9 = o8.get(e9.diff); - n9 ? n9.push(t8) : o8.set(e9.diff, [t8]); - }), t7.forEach((e9, t8) => { - const s11 = o8.get(e9.diff), i9 = s11?.pop(); - void 0 !== i9 && (n8[i9] = t8, r8[t8] = i9); - }), { exactOld: n8, exactNew: r8 }; - })(e7, t6), d5 = r7 + o7, u6 = ((e8, t7, n8, r8, o8) => { - const s11 = e8.length, i9 = t7.length, a7 = s11 + i9, c7 = new Array(a7 * a7).fill(0); - for (let d6 = 0; d6 < s11; d6++) { - for (let o9 = 0; o9 < i9; o9++) c7[d6 + a7 * o9] = ZE(e8[d6], t7[o9], n8[d6], r8[o9], o9); - const s12 = QE(n8[d6], e8[d6].diffsize, o8); - for (let e9 = i9; e9 < a7; e9++) c7[d6 + a7 * e9] = s12; - } - for (let e9 = 0; e9 < i9; e9++) { - const n9 = QE(r8[e9], t7[e9].diffsize, o8); - for (let t8 = s11; t8 < a7; t8++) c7[t8 + a7 * e9] = n9; - } - return c7; - })(e7, t6, a6, c6, n7), { columnToRow: l4 } = ((e8, t7) => { - const n8 = new Array(e8), r8 = new Array(e8); - if (e8 < 2) return n8.fill(0), r8.fill(0), { columnToRow: n8, rowToColumn: r8 }; - n8.fill(-1), r8.fill(-1); - const o8 = { columnCount: e8, rowCount: e8, cost: t7, v: new Array(e8).fill(0), columnToRow: n8, rowToColumn: r8 }; - ((e9) => { - for (let t8 = e9.columnCount - 1; t8 >= 0; t8--) { - let n9 = 0; - for (let r9 = 1; r9 < e9.rowCount; r9++) jE(e9, t8, n9) > jE(e9, t8, r9) && (n9 = r9); - e9.v[t8] = jE(e9, t8, n9), -1 === e9.rowToColumn[n9] ? (e9.rowToColumn[n9] = t8, e9.columnToRow[t8] = n9) : (e9.rowToColumn[n9] >= 0 && (e9.rowToColumn[n9] = -2 - e9.rowToColumn[n9]), e9.columnToRow[t8] = -1); - } - })(o8); - const s11 = new Array(e8); - let i9 = ((e9, t8) => { - let n9 = 0; - for (let r9 = 0; r9 < e9.rowCount; r9++) { - const o9 = e9.rowToColumn[r9]; - -1 === o9 ? t8[n9++] = r9 : o9 < -1 ? e9.rowToColumn[r9] = -2 - o9 : zE(e9, r9, o9); - } - return n9; - })(o8, s11); - if (0 === i9) return { columnToRow: n8, rowToColumn: r8 }; - i9 = ((e9, t8, n9) => { - let r9 = n9; - for (let n10 = 0; n10 < 2; n10++) { - let n11 = 0; - const o9 = r9; - for (r9 = 0; n11 < o9; ) { - const o10 = t8[n11++], s12 = KE(e9, t8, o10, n11, r9); - n11 = s12.k, r9 = s12.freeCount; - } - } - return r9; - })(o8, s11, i9); - for (let e9 = 0; e9 < i9; e9++) JE(o8, s11[e9]); - return { columnToRow: n8, rowToColumn: r8 }; - })(d5, u6); - for (let e8 = 0; e8 < r7; e8++) { - const t7 = l4[e8]; - t7 >= 0 && t7 < o7 && (s10[e8] = t7, i8[t7] = e8); - } - return { old: e7.map((e8, t7) => ({ patch: e8, matching: s10[t7] })), new: t6.map((e8, t7) => ({ patch: e8, matching: i8[t7] })) }; - })(r6, o6, n6); - return ((e7, t6) => { - const n7 = [], r7 = new Array(e7.length).fill(false); - let o7 = 0, s10 = 0; - for (; o7 < e7.length || s10 < t6.length; ) { - for (; o7 < e7.length && r7[o7]; ) o7++; - if (o7 < e7.length && e7[o7].matching < 0) n7.push(nb(e7[o7], o7)), o7++; + })(e8); + let r8 = n7, o5 = 0; + for (const n8 of e8.files) { + const e9 = ` ## ${xI(n8.change)} ##`, { lines: s8, count: i11 } = RI(n8), a4 = ks("") + ks(e9) + Ds(s8); + Us(r8.length + a4, t5), r8 += ` +${e9} +${s8.map((e10) => `${e10} +`).join("")}`, o5 += 1 + i11; + } + return { id: e8.id, subject: e8.subject, patch: r8, diff: r8.slice(e8.files.length > 0 ? n7.length + 1 : 0), diffsize: o5 }; +})(e7, Rs); +var UI = (e7, t5, n7) => { + const r8 = e7.map(DI), o5 = t5.map(DI), { old: s8, new: i11 } = ((e8, t6, n8) => { + const r9 = e8.length, o6 = t6.length, s9 = new Array(r9).fill(-1), i12 = new Array(o6).fill(-1), { exactOld: a4, exactNew: c5 } = ((e9, t7) => { + const n9 = new Array(e9.length).fill(-1), r10 = new Array(t7.length).fill(-1), o7 = /* @__PURE__ */ new Map(); + return e9.forEach((e10, t8) => { + const n10 = o7.get(e10.diff); + n10 ? n10.push(t8) : o7.set(e10.diff, [t8]); + }), t7.forEach((e10, t8) => { + const s10 = o7.get(e10.diff), i13 = s10?.pop(); + void 0 !== i13 && (n9[i13] = t8, r10[t8] = i13); + }), { exactOld: n9, exactNew: r10 }; + })(e8, t6), d6 = r9 + o6, u6 = ((e9, t7, n9, r10, o7) => { + const s10 = e9.length, i13 = t7.length, a5 = s10 + i13, c6 = new Array(a5 * a5).fill(0); + for (let d7 = 0; d7 < s10; d7++) { + for (let o8 = 0; o8 < i13; o8++) c6[d7 + a5 * o8] = wI(e9[d7], t7[o8], n9[d7], r10[o8], o8); + const s11 = pI(n9[d7], e9[d7].diffsize, o7); + for (let e10 = i13; e10 < a5; e10++) c6[d7 + a5 * e10] = s11; + } + for (let e10 = 0; e10 < i13; e10++) { + const n10 = pI(r10[e10], t7[e10].diffsize, o7); + for (let t8 = s10; t8 < a5; t8++) c6[t8 + a5 * e10] = n10; + } + return c6; + })(e8, t6, a4, c5, n8), { columnToRow: l4 } = ((e9, t7) => { + const n9 = new Array(e9), r10 = new Array(e9); + if (e9 < 2) return n9.fill(0), r10.fill(0), { columnToRow: n9, rowToColumn: r10 }; + n9.fill(-1), r10.fill(-1); + const o7 = { columnCount: e9, rowCount: e9, cost: t7, v: new Array(e9).fill(0), columnToRow: n9, rowToColumn: r10 }; + ((e10) => { + for (let t8 = e10.columnCount - 1; t8 >= 0; t8--) { + let n10 = 0; + for (let r11 = 1; r11 < e10.rowCount; r11++) dI(e10, t8, n10) > dI(e10, t8, r11) && (n10 = r11); + e10.v[t8] = dI(e10, t8, n10), -1 === e10.rowToColumn[n10] ? (e10.rowToColumn[n10] = t8, e10.columnToRow[t8] = n10) : (e10.rowToColumn[n10] >= 0 && (e10.rowToColumn[n10] = -2 - e10.rowToColumn[n10]), e10.columnToRow[t8] = -1); + } + })(o7); + const s10 = new Array(e9); + let i13 = ((e10, t8) => { + let n10 = 0; + for (let r11 = 0; r11 < e10.rowCount; r11++) { + const o8 = e10.rowToColumn[r11]; + -1 === o8 ? t8[n10++] = r11 : o8 < -1 ? e10.rowToColumn[r11] = -2 - o8 : uI(e10, r11, o8); + } + return n10; + })(o7, s10); + if (0 === i13) return { columnToRow: n9, rowToColumn: r10 }; + i13 = ((e10, t8, n10) => { + let r11 = n10; + for (let n11 = 0; n11 < 2; n11++) { + let n12 = 0; + const o8 = r11; + for (r11 = 0; n12 < o8; ) { + const o9 = t8[n12++], s11 = lI(e10, t8, o9, n12, r11); + n12 = s11.k, r11 = s11.freeCount; + } + } + return r11; + })(o7, s10, i13); + for (let e10 = 0; e10 < i13; e10++) mI(o7, s10[e10]); + return { columnToRow: n9, rowToColumn: r10 }; + })(d6, u6); + for (let e9 = 0; e9 < r9; e9++) { + const t7 = l4[e9]; + t7 >= 0 && t7 < o6 && (s9[e9] = t7, i12[t7] = e9); + } + return { old: e8.map((e9, t7) => ({ patch: e9, matching: s9[t7] })), new: t6.map((e9, t7) => ({ patch: e9, matching: i12[t7] })) }; + })(r8, o5, n7); + return ((e8, t6) => { + const n8 = [], r9 = new Array(e8.length).fill(false); + let o6 = 0, s9 = 0; + for (; o6 < e8.length || s9 < t6.length; ) { + for (; o6 < e8.length && r9[o6]; ) o6++; + if (o6 < e8.length && e8[o6].matching < 0) n8.push(bI(e8[o6], o6)), o6++; else { - for (; s10 < t6.length && t6[s10].matching < 0; ) n7.push(rb(t6[s10], s10)), s10++; - if (s10 < t6.length) { - const o8 = t6[s10].matching; - n7.push(ob(e7[o8], t6[s10], o8, s10)), r7[o8] = true, s10++; + for (; s9 < t6.length && t6[s9].matching < 0; ) n8.push(II(t6[s9], s9)), s9++; + if (s9 < t6.length) { + const o7 = t6[s9].matching; + n8.push(_I(e8[o7], t6[s9], o7, s9)), r9[o7] = true, s9++; } } } - return n7; - })(s9, i7); + return n8; + })(s8, i11); }; -var yb = /^[ \t\n\v\f\r]+/; -var Eb = (e6) => { - const t5 = yr(e6).replace(yb, ""); - return (t5.startsWith("[PATCH") ? bb(t5) : t5).replace(yb, ""); +var CI = /^[ \t\n\v\f\r]+/; +var MI = (e7) => { + const t5 = Ar(e7).replace(CI, ""); + return (t5.startsWith("[PATCH") ? PI(t5) : t5).replace(CI, ""); }; -var bb = (e6) => e6.slice(e6.indexOf("]") + 1); -var Ib = new TextEncoder(); -var _b = (e6) => { +var PI = (e7) => e7.slice(e7.indexOf("]") + 1); +var BI = new TextEncoder(); +var FI = (e7) => { const t5 = /* @__PURE__ */ new Map(); - for (const { name: n6, email: r6, id: o6, subject: s9 } of e6) { - const e7 = { id: o6, email: r6, subject: s9 }, i7 = t5.get(n6); - void 0 === i7 ? t5.set(n6, [e7]) : i7.push(e7); + for (const { name: n7, email: r8, id: o5, subject: s8 } of e7) { + const e8 = { id: o5, email: r8, subject: s8 }, i11 = t5.get(n7); + void 0 === i11 ? t5.set(n7, [e8]) : i11.push(e8); } - return [...t5.entries()].map(([e7, t6]) => ({ name: e7, commits: [...t6].reverse() })).sort((e7, t6) => bt(Ib.encode(e7.name), Ib.encode(t6.name))); + return [...t5.entries()].map(([e8, t6]) => ({ name: e8, commits: [...t6].reverse() })).sort((e8, t6) => At(BI.encode(e8.name), BI.encode(t6.name))); }; -function vb(e6) { - return e6.replace(/[\r\n]+$/, ""); +function HI(e7) { + return e7.replace(/[\r\n]+$/, ""); } -var Tb = (e6) => { - const t5 = vb(e6); +var VI = (e7) => { + const t5 = HI(e7); if (!t5.startsWith("gitdir: ")) return { kind: "invalid-format" }; - const n6 = t5.slice(8); - return 0 === n6.length ? { kind: "no-path" } : { kind: "ok", path: n6 }; + const n7 = t5.slice(8); + return 0 === n7.length ? { kind: "no-path" } : { kind: "ok", path: n7 }; }; -var Ob = (e6) => { - const t5 = vb(e6); +var GI = (e7) => { + const t5 = HI(e7); return 0 === t5.length ? { kind: "empty" } : { kind: "ok", path: t5 }; }; -var $b = (e6) => e6.length > 1 && e6.endsWith("/") ? e6.slice(0, -1) : e6; -var Ab = (e6, t5) => t5.some((t6) => ((e7, t7) => "*" === t7 || (t7.endsWith("/*") ? ((e8, t8) => { - const n6 = $b(t8.slice(0, -1)), r6 = n6.endsWith("/") ? n6 : `${n6}/`, o6 = $b(e8); - return o6.startsWith(r6) && o6.length > r6.length; -})(e7, t7) : $b(t7) === $b(e7)))(e6, t6)); +var WI = (e7) => e7.length > 1 && e7.endsWith("/") ? e7.slice(0, -1) : e7; +var zI = (e7, t5) => t5.some((t6) => ((e8, t7) => "*" === t7 || (t7.endsWith("/*") ? ((e9, t8) => { + const n7 = WI(t8.slice(0, -1)), r8 = n7.endsWith("/") ? n7 : `${n7}/`, o5 = WI(e9); + return o5.startsWith(r8) && o5.length > r8.length; +})(e8, t7) : WI(t7) === WI(e8)))(e7, t6)); -// node_modules/@scolladon/tsgit/dist/esm/chunks/ports-Ed2p09dh.js -var e2 = Object.freeze({}); -var t2 = (o6) => { - const e6 = (o7) => (e7, t6) => { +// node_modules/@scolladon/tsgit/dist/esm/chunks/ports-CDDbRABF.js +function e2() { + return Object.freeze({}); +} +var t2 = Object.freeze({}); +var n2 = (e7) => { + const o5 = (e8) => (o6, t6) => { try { - const i7 = O(e7), c6 = void 0 !== t6 ? n2(t6) : void 0; - o7(i7, c6); + const n7 = N(o6), c5 = void 0 !== t6 ? i2(t6) : void 0; + e8(n7, c5); } catch { } }, t5 = {}; - return void 0 !== o6.debug && (t5.debug = e6(o6.debug)), void 0 !== o6.info && (t5.info = e6(o6.info)), void 0 !== o6.warn && (t5.warn = e6(o6.warn)), void 0 !== o6.error && (t5.error = e6(o6.error)), Object.freeze(t5); + return void 0 !== e7.debug && (t5.debug = o5(e7.debug)), void 0 !== e7.info && (t5.info = o5(e7.info)), void 0 !== e7.warn && (t5.warn = o5(e7.warn)), void 0 !== e7.error && (t5.error = o5(e7.error)), Object.freeze(t5); }; -var n2 = (o6) => { - const e6 = {}; - for (const [t5, n6] of Object.entries(o6)) e6[t5] = "string" == typeof n6 ? O(n6) : n6; - return e6; +var i2 = (e7) => { + const o5 = {}; + for (const [t5, n7] of Object.entries(e7)) o5[t5] = "string" == typeof n7 ? N(n7) : n7; + return o5; }; // node_modules/@scolladon/tsgit/dist/esm/operators/index.js -var n3 = (n6) => ({ [Symbol.asyncIterator]() { - const t5 = n6.getReader(); +var n3 = (n7) => ({ [Symbol.asyncIterator]() { + const t5 = n7.getReader(); return { next: async () => { - const { done: n7, value: e6 } = await t5.read(); - return n7 ? { done: true, value: void 0 } : { done: false, value: e6 }; + const { done: n8, value: e7 } = await t5.read(); + return n8 ? { done: true, value: void 0 } : { done: false, value: e7 }; }, return: async () => { try { await t5.cancel(); @@ -27007,200 +10745,292 @@ var n3 = (n6) => ({ [Symbol.asyncIterator]() { } }; } }); -// node_modules/@scolladon/tsgit/dist/esm/chunks/primitives-DnKnqKnH.js -function Ia2(t5) { +// node_modules/@scolladon/tsgit/dist/esm/chunks/primitives-DFJdayrL.js +function to2(t5) { if ("object" != typeof t5 || null === t5) return; - const e6 = t5.data; - return "string" == typeof e6?.code ? e6.code : void 0; -} -var Ca2 = (t5) => t5.layout.workDir ?? t5.layout.gitDir; -var Sa2 = (t5) => void 0 === t5.commonDir ? t5.gitDir : t5.commonDir; -var $a2 = (t5) => t5.workDir ?? t5.gitDir; -var Da2 = (t5) => Sa2(t5.layout); -var Ea2 = (e6, n6) => pu(n6) ? e6.layout.gitDir : Da2(e6); -var Oa2 = (t5, n6) => `${t5}/objects/${Jf(n6)}`; -var La2 = (t5, e6) => `${t5}/${e6}`; -var Ma2 = (t5) => `${t5}/packed-refs`; -var Pa2 = (t5) => `${t5}/reftable`; -var Ta2 = (t5) => `${t5}/reftable/tables.list`; -var Na2 = (t5, e6) => `${Pa2(t5)}/${e6}.lock`; -var Ra2 = (t5) => `${t5}/index`; -var _a2 = (t5, e6) => `${t5}/objects/${e6}`; -var Fa2 = (t5) => `${t5}/objects/pack`; -var Ua2 = (t5) => `${t5}/logs`; -var Aa2 = (t5, e6) => `${t5}/logs/${e6}`; -var Ba2 = (t5) => `${t5}/info/sparse-checkout`; -var ja2 = (t5) => `${t5}/shallow`; -var za2 = (t5, e6) => `${t5}/objects/info/commit-graphs/graph-${e6}.graph`; -var Wa2 = (t5, e6) => `${t5}/multi-pack-index.d/multi-pack-index-${e6}.midx`; -var Ha2 = ".lock"; -async function Ga2(t5, e6, o6, i7) { - const s9 = `${o6}${Ha2}`; + const e7 = t5.data; + return "string" == typeof e7?.code ? e7.code : void 0; +} +var eo2 = (t5) => t5.layout.workDir ?? t5.layout.gitDir; +var no2 = (t5) => void 0 === t5.commonDir ? t5.gitDir : t5.commonDir; +var ao2 = (t5) => t5.workDir ?? t5.gitDir; +var oo2 = (t5) => no2(t5.layout); +var io2 = (e7, n7) => ju(n7) ? e7.layout.gitDir : oo2(e7); +var so2 = (t5, n7) => `${t5}/objects/${eg(n7)}`; +var ro2 = (t5, e7) => `${t5}/${e7}`; +var co2 = (t5) => `${t5}/packed-refs`; +var uo2 = (t5) => `${t5}/reftable`; +var fo2 = (t5) => `${t5}/reftable/tables.list`; +var lo2 = (t5, e7) => `${uo2(t5)}/${e7}.lock`; +var ho2 = (t5) => `${t5}/index`; +var wo2 = (t5, e7) => `${t5}/objects/${e7}`; +var yo2 = (t5) => `${t5}/objects/pack`; +var po2 = (t5) => `${t5}/logs`; +var mo2 = (t5, e7) => `${t5}/logs/${e7}`; +var go2 = (t5) => `${t5}/info/sparse-checkout`; +var vo2 = (t5) => `${t5}/shallow`; +var ko2 = (t5) => `${t5}/objects/info/commit-graph`; +var bo2 = (t5, e7) => `${t5}/objects/info/commit-graphs/graph-${e7}.graph`; +var xo2 = (t5) => `${t5}/multi-pack-index`; +var Io2 = (t5, e7) => `${t5}/multi-pack-index.d/multi-pack-index-${e7}.midx`; +var Co2 = ".lock"; +async function So2(t5, e7, a4, o5) { + const i11 = `${e7}${Co2}`; try { - await t5.fs.writeExclusive(s9, i7); + await t5.fs.writeExclusive(i11, a4); } catch (t6) { if ((function(t7) { - return t7 instanceof o && "FILE_EXISTS" === t7.data.code; - })(t6)) throw qd(e6); + return t7 instanceof c && "FILE_EXISTS" === t7.data.code; + })(t6)) throw o5(i11); throw t6; } try { - await t5.fs.rename(s9, o6); - } catch (e7) { + await t5.fs.rename(i11, e7); + } catch (e8) { try { - await t5.fs.rm(s9); + await t5.fs.rm(i11); } catch (t6) { if (!(function(t7) { - return t7 instanceof o && "FILE_NOT_FOUND" === t7.data.code; + return t7 instanceof c && "FILE_NOT_FOUND" === t7.data.code; })(t6)) throw t6; } - throw e7; + throw e8; } } -var Ka2 = /* @__PURE__ */ new WeakMap(); -var qa2 = (t5) => t5.slice(0, 2); -var Va2 = (t5) => t5.slice(2); -async function Ya2(t5, e6) { - return (await (async function(t6, e7) { - let n6 = Ka2.get(t6); - void 0 === n6 && (n6 = /* @__PURE__ */ new Map(), Ka2.set(t6, n6)); - const a6 = n6.get(e7); - if (void 0 !== a6) return a6; - let o6; +async function Do2(t5, e7, n7, o5) { + return await So2(t5, n7, o5, () => Au(e7)); +} +function $o2(t5, e7) { + const n7 = /* @__PURE__ */ new Map(); + let a4 = 0; + const o5 = []; + return { start: (i11) => { + const s8 = n7.get(i11); + if (void 0 !== s8) return s8; + const r8 = (async () => { + await (a4 < t5 ? (a4 += 1, Promise.resolve()) : new Promise((t6) => { + o5.push(() => { + a4 += 1, t6(); + }); + })); + try { + return await e7(i11); + } finally { + (() => { + a4 -= 1; + const t6 = o5.shift(); + void 0 !== t6 && t6(); + })(); + } + })(); + return n7.set(i11, r8), r8.catch(() => { + }), r8; + }, forget: (t6) => { + n7.delete(t6); + } }; +} +var Oo2 = (t5, e7) => { + const n7 = ((t6, e8) => { + if (void 0 !== t6) return "number" == typeof t6 ? t6 : "cpuBound" === e8 ? t6.cpu : t6.io; + })(t5.config?.parallelism, e7); + return void 0 !== n7 ? n7 : (t5.concurrency ?? r({}))[e7]; +}; +var Lo2 = (t5, e7, n7, a4) => (async function(t6, e8, n8) { + const a5 = new Array(t6.length); + let o5 = 0; + const i11 = async () => { + for (; o5 < t6.length; ) { + const e9 = o5++; + a5[e9] = await n8(t6[e9]); + } + }, s8 = Math.min(e8, t6.length), r8 = []; + for (let t7 = 0; t7 < s8; t7++) r8.push(i11()); + return await Promise.all(r8), a5; +})(n7, Oo2(t5, e7), a4); +var Mo2 = (t5, e7) => /* @__PURE__ */ (function(t6) { + let e8 = 0; + const n7 = []; + return { async run(a4) { + await (e8 < t6 ? (e8 += 1, Promise.resolve()) : new Promise((t7) => { + n7.push(t7); + })); + try { + return await a4(); + } finally { + !(function() { + const t7 = n7.shift(); + void 0 !== t7 ? t7() : e8 -= 1; + })(); + } + } }; +})(Oo2(t5, e7)); +var Po2 = /* @__PURE__ */ new WeakMap(); +var No2 = (t5) => t5.slice(0, 2); +var To2 = (t5) => t5.slice(2); +async function Bo2(t5, e7) { + return (await (async function(t6, e8) { + let n7 = Po2.get(t6.session); + void 0 === n7 && (n7 = /* @__PURE__ */ new Map(), Po2.set(t6.session, n7)); + const a4 = n7.get(e8); + if (void 0 !== a4) return a4; + let o5; try { - const n7 = await t6.fs.readdir(_a2(Da2(t6), e7)); - o6 = new Set(n7.map((t7) => t7.name)); + const n8 = await t6.fs.readdir(wo2(oo2(t6), e8)); + o5 = new Set(n8.map((t7) => t7.name)); } catch (t7) { if (!(function(t8) { - const e8 = Ia2(t8); - return "FILE_NOT_FOUND" === e8 || "NOT_A_DIRECTORY" === e8; + const e9 = to2(t8); + return "FILE_NOT_FOUND" === e9 || "NOT_A_DIRECTORY" === e9; })(t7)) throw t7; - o6 = /* @__PURE__ */ new Set(); + o5 = /* @__PURE__ */ new Set(); } - return n6.set(e7, o6), o6; - })(t5, qa2(e6))).has(Va2(e6)); + return n7.set(e8, o5), o5; + })(t5, No2(e7))).has(To2(e7)); } -function Xa2(t5, e6) { - Ka2.get(t5)?.get(qa2(e6))?.add(Va2(e6)); +function Ro2(t5, e7) { + Po2.get(t5.session)?.get(No2(e7))?.add(To2(e7)); } -function Za2(t5) { - return t5 instanceof o && ("FILE_NOT_FOUND" === t5.data.code || "PERMISSION_DENIED" === t5.data.code); +function Ao2(t5, e7) { + Po2.get(t5.session)?.delete(No2(e7)); } -function Ja2(t5) { - return t5 instanceof o && "INVALID_PACK_HEADER" === t5.data.code || Za2(t5); +var _o2 = /* @__PURE__ */ new WeakMap(); +function Fo2(t5, e7) { + _o2.get(t5.session)?.delete(e7); } -function Qa2(t5) { - return t5 instanceof o && "INVALID_PACK_INDEX" === t5.data.code || Za2(t5); +function Uo2(t5, e7, n7) { + if (void 0 !== n7 && e7 > n7) throw Jt(t5, e7, n7); } -var to2 = (t5) => "reason" in t5 ? { code: t5.code, reason: t5.reason } : { code: t5.code }; -var eo2 = (t5) => "reason" in t5 ? t5.reason : t5.code; -var no2 = (t5) => t5.charCodeAt(0) < 32; -function ao2(t5) { - return !(t5.includes("/") || t5.includes("\\") || t5.includes("..") || [...t5].some(no2)); +function zo2(t5) { + return t5.deltaCache.maxSize > 0; } -var oo2 = (t5) => t5.slice(0, -4); -var io2 = (t5) => { - const e6 = t5.slice(0, 256); - let n6 = ""; - for (let t6 = 0; t6 < e6.length; t6 += 1) { - const a6 = e6.charCodeAt(t6); - n6 += a6 >= 32 && a6 <= 126 && 92 !== a6 ? e6[t6] : `\\u${a6.toString(16).padStart(4, "0")}`; - } - return t5.length > 256 ? `${n6}\u2026` : n6; -}; -var so2 = (t5) => ao2(t5) && t5.endsWith(".idx") ? oo2(t5) : io2(t5); -async function ro2(t5, e6, n6, o6) { - for (let i7 = 0; i7 < t5.objectCount; i7 += 1) { - let s9; +function jo2(t5, e7, n7, a4, o5) { + if (!zo2(t5)) return; + const i11 = e7.deltaBaseCache.get(n7); + return void 0 !== i11 ? (Uo2(a4, i11.content.length, o5), i11) : void 0; +} +function Ho2(t5, e7, n7, a4, o5, i11) { + zo2(t5) && e7.deltaBaseCache.set(n7, { type: a4, content: o5, chainDepth: i11 }, (function(t6) { + return t6.length + 200; + })(o5)); +} +function Wo2(t5) { + return t5 instanceof c && ("FILE_NOT_FOUND" === t5.data.code || "PERMISSION_DENIED" === t5.data.code); +} +function Go2(t5) { + return t5 instanceof c && "INVALID_PACK_HEADER" === t5.data.code || Wo2(t5); +} +function Ko2(t5) { + return t5 instanceof c && "INVALID_PACK_INDEX" === t5.data.code || Wo2(t5); +} +var qo2 = (t5) => "reason" in t5 ? { code: t5.code, reason: t5.reason } : { code: t5.code }; +var Vo2 = (t5) => "reason" in t5 ? t5.reason : t5.code; +var Yo2 = (t5) => t5.charCodeAt(0) < 32; +function Xo2(t5) { + return !(t5.includes("/") || t5.includes("\\") || t5.includes("..") || [...t5].some(Yo2)); +} +var Zo2 = (t5) => t5.slice(0, -4); +var Jo2 = (t5) => { + const e7 = t5.slice(0, 256); + let n7 = ""; + for (let t6 = 0; t6 < e7.length; t6 += 1) { + const a4 = e7.charCodeAt(t6); + n7 += a4 >= 32 && a4 <= 126 && 92 !== a4 ? e7[t6] : `\\u${a4.toString(16).padStart(4, "0")}`; + } + return t5.length > 256 ? `${n7}\u2026` : n7; +}; +var Qo2 = (t5) => Xo2(t5) && t5.endsWith(".idx") ? Zo2(t5) : Jo2(t5); +async function ti2(t5, e7, a4, o5) { + for (let i11 = 0; i11 < t5.objectCount; i11 += 1) { + let s8; try { - s9 = ph(t5, i7); + s8 = Eg(t5, i11); } catch (t6) { - if (!(t6 instanceof o) || "INVALID_MULTI_PACK_INDEX" !== t6.data.code) throw t6; + if (!(t6 instanceof c) || "INVALID_MULTI_PACK_INDEX" !== t6.data.code) throw t6; return t6.data; } - const d5 = e6[s9.packIndex]; - if (void 0 === d5) { - o6.push(mh(t5, i7)); + const r8 = e7[s8.packIndex]; + if (void 0 === r8) { + o5.push(yg(t5, i11)); continue; } - const u6 = n6.get(d5); - (void 0 === u6 ? await co2(d5, n6) : u6) || o6.push(mh(t5, i7)); + const c5 = a4.get(r8); + (void 0 === c5 ? await ei2(r8, a4) : c5) || o5.push(yg(t5, i11)); } } -async function co2(t5, e6) { - const n6 = await (async function(t6) { +async function ei2(t5, e7) { + const n7 = await (async function(t6) { try { return await t6.index(), await t6.header(), true; } catch (t7) { - if (Qa2(t7) || Ja2(t7)) return false; + if (Ko2(t7) || Go2(t7)) return false; throw t7; } })(t5); - return e6.set(t5, n6), n6; -} -var uo2 = 1024; -var fo2 = 268435456; -var lo2 = 256; -var ho2 = 1e6; -var wo2 = 1048576; -var mo2 = 100; -var po2 = "empty from"; -var yo2 = "too many seeds"; -function go2(t5) { + return e7.set(t5, n7), n7; +} +var ni2 = 1024; +var ai2 = 268435456; +var oi2 = 256; +var ii2 = 1e6; +var si2 = 1048576; +var ri2 = 100; +var ci2 = "empty from"; +var di2 = "too many seeds"; +function ui2(t5) { return 0 === t5.length; } -function vo2(t5) { +function fi2(t5) { return t5.length > 1024; } -var bo2 = "shallow entry count exceeds bound"; -var ko2 = "cannot skip: the stopped commit has no parent"; -function xo2(t5, e6) { - return void 0 === t5 || !Dr(t5, e6); +var li2 = "shallow entry count exceeds bound"; +var hi2 = "cannot skip: the stopped commit has no parent"; +function wi2(t5, e7) { + return void 0 === t5 || !Qr(t5, e7); } -function Io2(t5) { +function yi2(t5) { return !!(t5.includes("\0") || t5.includes("\r") || t5.includes("\n\n") || t5.startsWith("\n") || t5.endsWith("\n")); } -function Co2(t5) { +function pi2(t5) { return 0 === t5.length || !!(t5.includes("\0") || t5.includes("\r") || t5.includes("\n")) || !(!t5.includes(" ") && !t5.includes(" ")); } -var So2 = "index file exceeds 256 MiB"; -var $o2 = "pack .idx file exceeds 64 MiB"; -function Do2(t5) { +var mi2 = "index file exceeds 256 MiB"; +var gi2 = "pack .idx file exceeds 64 MiB"; +function vi2(t5) { return t5 > 268435456; } -function Eo2(t5) { +function ki2(t5) { return t5 > 67108864; } -var Oo2 = "multi-pack-index file exceeds 1 GiB"; -var Lo2 = "multi-pack-index chain exceeds 1000 layers"; -function Mo2(t5) { +var bi2 = "multi-pack-index file exceeds 1 GiB"; +var xi2 = "multi-pack-index chain exceeds 1000 layers"; +function Ii2(t5) { return t5 > 1073741824; } -function Po2(t5, e6) { +function Ci2(t5, e7) { return t5 > (function(t6) { return Math.max(65536, 64 * t6); - })(e6); + })(e7); } -function To2(t5, e6 = 5) { - return t5 > e6; +function Si2(t5, e7 = 5) { + return t5 > e7; } -function No2(t5, e6 = 5) { - return t5 > e6; +function Di2(t5, e7 = 5) { + return t5 > e7; } -function Ro2(t5) { +function $i2(t5) { return "160000" === t5; } -function _o2(t5, e6) { - return t5 > e6; +function Oi2(t5, e7) { + return t5 > e7; } -function Fo2(t5, e6) { - return t5 > e6; +function Ei2(t5, e7) { + return t5 > e7; } -var Uo2 = "multi-pack-index"; -var Ao2 = "multi-pack-index artefact is not a regular file"; -function Bo2(t5) { - const e6 = Ia2(t5); - return "FILE_NOT_FOUND" === e6 || "PERMISSION_DENIED" === e6 || "NOT_A_DIRECTORY" === e6 || "INVALID_MULTI_PACK_INDEX" === e6 && "B" === (function(t6) { +var Li2 = "multi-pack-index"; +var Mi2 = "multi-pack-index artefact is not a regular file"; +function Pi2(t5) { + const e7 = to2(t5); + return "FILE_NOT_FOUND" === e7 || "PERMISSION_DENIED" === e7 || "NOT_A_DIRECTORY" === e7 || "INVALID_MULTI_PACK_INDEX" === e7 && "B" === (function(t6) { switch (t6) { case "size": case "chunk-table": @@ -27218,5428 +11048,6275 @@ function Bo2(t5) { } })(t5.data.check); } -function jo2(t5) { - return "FILE_NOT_FOUND" === Ia2(t5); +function Ni2(t5) { + return "FILE_NOT_FOUND" === to2(t5); } -function zo2(t5) { +function Ti2(t5) { return `multi-pack-index-${t5}.midx`; } -async function Wo2(t5, e6, n6, a6) { - if (Mo2(n6)) throw wl("size", Oo2); - const o6 = await t5.fs.read(e6); - if (Mo2(o6.length)) throw wl("size", Oo2); - return oh(o6, a6); +async function Bi2(t5, e7, n7, a4) { + if (Ii2(n7)) throw Kl("size", bi2); + const o5 = await t5.fs.read(e7); + if (Ii2(o5.length)) throw Kl("size", bi2); + return ag(o5, a4); } -var Ho2 = { set: void 0, faults: [] }; -function Go2(t5) { - return { set: void 0, faults: [{ artefact: "multi-pack-index-chain", data: wl("size", t5).data }] }; +var Ri2 = { set: void 0, faults: [] }; +function Ai2(t5) { + return { set: void 0, faults: [{ artefact: "multi-pack-index-chain", data: Kl("size", t5).data }] }; } -async function Ko2(t5, e6, n6) { - const a6 = await (async function(t6, e7, n7) { - const a7 = (function(t7) { +async function _i2(t5, e7, n7) { + const a4 = await (async function(t6, e8, n8) { + const a5 = (function(t7) { return 1002 * (2 * t7 + 1); - })(n7); - let o7; + })(n8); + let o6; try { - o7 = await t6.fs.stat(e7); + o6 = await t6.fs.stat(e8); } catch (t7) { - if (jo2(t7) || Bo2(t7)) return { kind: "none" }; + if (Ni2(t7) || Pi2(t7)) return { kind: "none" }; throw t7; } - if (!o7.isFile) return { kind: "none" }; - if (o7.size > a7) return { kind: "oversized" }; + if (!o6.isFile) return { kind: "none" }; + if (o6.size > a5) return { kind: "oversized" }; try { - const n8 = await t6.fs.readUtf8(e7); - return n8.length > a7 ? { kind: "oversized" } : { kind: "text", text: n8 }; + const n9 = await t6.fs.readUtf8(e8); + return n9.length > a5 ? { kind: "oversized" } : { kind: "text", text: n9 }; } catch (t7) { - if (Bo2(t7)) return { kind: "none" }; + if (Pi2(t7)) return { kind: "none" }; throw t7; } - })(t5, ((t6) => `${t6}/multi-pack-index.d/multi-pack-index-chain`)(e6), n6); - if ("none" === a6.kind) return Ho2; - if ("oversized" === a6.kind) return Go2(Lo2); - const o6 = (function(t6, e7) { - const n7 = new RegExp(`^[0-9a-f]{${2 * e7}}$`), a7 = []; - let o7 = 0; - for (; o7 <= t6.length && a7.length <= 1e3; ) { - const e8 = t6.indexOf("\n", o7), i8 = -1 === e8 ? t6.slice(o7) : t6.slice(o7, e8); - if (!n7.test(i8)) break; - if (a7.push(i8), -1 === e8) break; - o7 = e8 + 1; - } - return a7; - })(a6.text, n6); - if (0 === o6.length) return Ho2; + })(t5, ((t6) => `${t6}/multi-pack-index.d/multi-pack-index-chain`)(e7), n7); + if ("none" === a4.kind) return Ri2; + if ("oversized" === a4.kind) return Ai2(xi2); + const o5 = (function(t6, e8) { + const n8 = new RegExp(`^[0-9a-f]{${2 * e8}}$`), a5 = []; + let o6 = 0; + for (; o6 <= t6.length && a5.length <= 1e3; ) { + const e9 = t6.indexOf("\n", o6), i12 = -1 === e9 ? t6.slice(o6) : t6.slice(o6, e9); + if (!n8.test(i12)) break; + if (a5.push(i12), -1 === e9) break; + o6 = e9 + 1; + } + return a5; + })(a4.text, n7); + if (0 === o5.length) return Ri2; if ((function(t6) { return t6 > 1e3; - })(o6.length)) return Go2(Lo2); + })(o5.length)) return Ai2(xi2); if ((function(t6) { return new Set(t6).size !== t6.length; - })(o6)) return Go2("multi-pack-index chain lists a layer digest twice"); - const i7 = []; - let s9 = 0; - for (const a7 of o6) { - const o7 = Wa2(e6, a7); + })(o5)) return Ai2("multi-pack-index chain lists a layer digest twice"); + const i11 = []; + let s8 = 0; + for (const a5 of o5) { + const o6 = Io2(e7, a5); try { - const e7 = await t5.fs.stat(o7); - if (!e7.isFile) throw wl("size", Ao2); - if (s9 += e7.size, Mo2(s9)) throw wl("size", Oo2); - const a8 = await Wo2(t5, o7, e7.size, n6); - i7.push(a8); + const e8 = await t5.fs.stat(o6); + if (!e8.isFile) throw Kl("size", Mi2); + if (s8 += e8.size, Ii2(s8)) throw Kl("size", bi2); + const a6 = await Bi2(t5, o6, e8.size, n7); + i11.push(a6); } catch (t6) { - if (!Bo2(t6)) throw t6; - return { set: void 0, faults: [{ artefact: zo2(a7), data: t6.data }] }; + if (!Pi2(t6)) throw t6; + return { set: void 0, faults: [{ artefact: Ti2(a5), data: t6.data }] }; } } - return { set: { layers: i7, kind: "chain", artefacts: o6.map(zo2) }, faults: [] }; + return { set: { layers: i11, kind: "chain", artefacts: o5.map(Ti2) }, faults: [] }; } -var qo = { kind: "absent" }; -var Vo2 = { kind: "unreadable" }; -var Yo2 = (t5) => ({ kind: "refused", data: t5 }); -function Xo2(t5) { - if (!(t5 instanceof o)) throw t5; +var Fi2 = { kind: "absent" }; +var Ui2 = { kind: "unreadable" }; +var zi2 = (t5) => ({ kind: "refused", data: t5 }); +function ji2(t5) { + if (!(t5 instanceof c)) throw t5; switch (t5.data.code) { case "FILE_NOT_FOUND": - return qo; + return Fi2; case "PERMISSION_DENIED": case "UNSUPPORTED_OPERATION": - return Vo2; + return Ui2; case "INVALID_PACK_REV_INDEX": - return Yo2(t5.data); + return zi2(t5.data); default: throw t5; } } -var Zo = () => El("size", "bitmap file exceeds its object-count-scaled bound").data; -async function Jo(t5, e6, n6, a6) { - if (!n6) return qo; - let o6, i7; +var Hi2 = () => Xl("size", "bitmap file exceeds its object-count-scaled bound").data; +async function Wi2(t5, e7, n7, a4) { + if (!n7) return Fi2; + let o5, i11; try { - o6 = (await t5.fs.stat(e6)).size; + o5 = (await t5.fs.stat(e7)).size; } catch (t6) { - return Xo2(t6); + return ji2(t6); } - if (Po2(o6, a6)) return Yo2(Zo()); + if (Ci2(o5, a4)) return zi2(Hi2()); try { - i7 = await t5.fs.read(e6); + i11 = await t5.fs.read(e7); } catch (t6) { - return Xo2(t6); + return ji2(t6); } - return Po2(i7.length, a6) ? Yo2(Zo()) : { kind: "usable", value: i7, bytes: i7 }; + return Ci2(i11.length, a4) ? zi2(Hi2()) : { kind: "usable", value: i11, bytes: i11 }; } -function Qo(t5) { - let e6; +function Gi2(t5) { + let e7; return { get: () => { - if (void 0 !== e6) return e6; - const n6 = t5().catch((t6) => { - throw e6 === n6 && (e6 = void 0), t6; + if (void 0 !== e7) return e7; + const n7 = t5().catch((t6) => { + throw e7 === n7 && (e7 = void 0), t6; }); - return e6 = n6, n6; - }, peek: () => e6, clear: () => { - const t6 = e6; - return e6 = void 0, t6; + return e7 = n7, n7; + }, peek: () => e7, clear: () => { + const t6 = e7; + return e7 = void 0, t6; } }; } -var ti2 = Object.freeze([]); -var ei2 = Object.freeze([]); -var ni2 = Object.freeze([]); -var ai2 = Object.freeze({ packs: ni2, packList: ti2, indexFaults: ei2 }); -var oi2 = Object.freeze({ set: void 0, faults: Object.freeze([]), flatFilePresent: false }); -var ii2 = Object.freeze(/* @__PURE__ */ new Set()); -function si2() { - return { packs: ti2, midxLoad: oi2, midx: void 0, indexed: Qo(() => Promise.resolve(ai2)), warnedIdx: /* @__PURE__ */ new Set(), fileNames: ii2, midxBitmap: Qo(() => Promise.resolve(void 0)) }; -} -function ri2(t5) { - const e6 = vh(t5), n6 = new Uint32Array(e6.length); - for (let t6 = 0; t6 < n6.length; t6 += 1) n6[t6] = t6; - return n6.sort((t6, n7) => e6[t6] - e6[n7]), n6; -} -function ci2(t5) { - const e6 = new Float64Array(t5); - return e6.sort(), e6; -} -function di2(t5, e6) { - const { sortedOffsets: n6, trailerStart: a6 } = t5, o6 = (function(t6, e7) { - let n7 = 0, a7 = t6.length; - for (; n7 < a7; ) { - const o7 = n7 + a7 >>> 1; - t6[o7] < e7 ? n7 = o7 + 1 : a7 = o7; - } - return n7; - })(n6, e6); - if (o6 >= n6.length || n6[o6] !== e6) throw hl("offset not in pack index: corrupt index"); - return o6 === n6.length - 1 ? a6 : n6[o6 + 1]; -} -function ui2(t5) { - return t5.isFile && t5.name.endsWith(".idx") && ao2(t5.name); -} -function fi2(t5, e6, n6, o6) { - const i7 = oo2(n6.name); - if (o6.has(`${i7}.pack`)) return (function(t6, e7, n7, o7) { - const i8 = `${e7}/${n7}`, s9 = oo2(n7), r6 = `${e7}/${s9}.pack`, c6 = `${e7}/${s9}.rev`, d5 = o7.has(`${s9}.rev`), u6 = `${e7}/${s9}.bitmap`, f2 = o7.has(`${s9}.bitmap`), l4 = Qo(async () => Eh(await (async function(t7, e8) { - if (Eo2((await t7.fs.stat(e8)).size)) throw hl($o2); - const n8 = await t7.fs.read(e8); - if (Eo2(n8.length)) throw hl($o2); - return n8; - })(t6, i8), t6.hashConfig.digestLength)), h6 = Qo(async () => { - const e8 = await l4.get(); - return (async function(t7, e9, n8, a6, o8) { - if (!n8) return qo; - const i9 = Mh + 4 * o8 + 2 * a6; - let s10; +var Ki2 = Object.freeze([]); +var qi2 = Object.freeze([]); +var Vi2 = Object.freeze([]); +var Yi2 = Object.freeze({ packs: Vi2, packList: Ki2, indexFaults: qi2 }); +var Xi2 = Object.freeze({ set: void 0, faults: Object.freeze([]), flatFilePresent: false }); +var Zi2 = Object.freeze(/* @__PURE__ */ new Set()); +function Ji2() { + return { packs: Ki2, midxLoad: Xi2, midx: void 0, indexed: Gi2(() => Promise.resolve(Yi2)), warnedIdx: /* @__PURE__ */ new Set(), fileNames: Zi2, midxBitmap: Gi2(() => Promise.resolve(void 0)) }; +} +var Qi2 = /* @__PURE__ */ new WeakMap(); +function ts2(t5) { + const e7 = Qi2.get(t5); + if (void 0 !== e7) return e7; + t5.warnDegraded(); + const n7 = es2(t5.index); + return Qi2.set(t5, n7), n7; +} +function es2(t5) { + const e7 = Dg(t5); + return e7.sort(), e7; +} +function ns2(t5, e7, n7) { + const a4 = (function(t6, e8) { + let n8 = 0, a5 = t6.length; + for (; n8 < a5; ) { + const o5 = n8 + a5 >>> 1; + t6[o5] < e8 ? n8 = o5 + 1 : a5 = o5; + } + return n8; + })(t5, n7); + if (a4 >= t5.length || t5[a4] !== n7) throw Gl("offset not in pack index: corrupt index"); + return a4 === t5.length - 1 ? e7 : t5[a4 + 1]; +} +function as2(t5, e7) { + return "sorted" === t5.kind ? ns2(t5.sortedOffsets, t5.trailerStart, e7) : (function(t6, e8) { + const n7 = Qi2.get(t6); + if (void 0 !== n7) return ns2(n7, t6.trailerStart, e8); + const { index: a4, rev: o5, objectCount: i11, trailerStart: s8 } = t6, r8 = (function(t7, e9, n8, a5) { + let o6 = 0, i12 = n8; + for (; o6 < i12; ) { + const n9 = o6 + i12 >>> 1, s9 = Ug(t7, e9, n9); + if (void 0 === s9) return "degraded"; + s9 < a5 ? o6 = n9 + 1 : i12 = n9; + } + return o6; + })(a4, o5, i11, e8); + if ("degraded" === r8) return ns2(ts2(t6), s8, e8); + if (r8 >= i11) throw Gl("offset not in pack index: corrupt index"); + const c5 = Ug(a4, o5, r8); + if (void 0 === c5) return ns2(ts2(t6), s8, e8); + if (c5 !== e8) throw Gl("offset not in pack index: corrupt index"); + if (r8 === i11 - 1) return s8; + const d6 = Ug(a4, o5, r8 + 1); + return void 0 === d6 ? ns2(ts2(t6), s8, e8) : d6; + })(t5, e7); +} +function os2(t5) { + const e7 = kg(t5), n7 = new Uint32Array(e7.length); + for (let t6 = 0; t6 < n7.length; t6 += 1) n7[t6] = t6; + return n7.sort((t6, n8) => e7[t6] - e7[n8]), n7; +} +function is2(t5, e7) { + return `${t5}:${e7}`; +} +function ss2(t5) { + return t5.isFile && t5.name.endsWith(".idx") && Xo2(t5.name); +} +function rs2(t5, e7) { + const n7 = [], a4 = [], o5 = [], i11 = []; + for (const s8 of t5) e7.has(`${s8.name}.keep`) ? n7.push(s8) : e7.has(`${s8.name}.promisor`) ? a4.push(s8) : e7.has(`${s8.name}.mtimes`) ? o5.push(s8) : i11.push(s8); + return { kept: n7, promisor: a4, cruft: o5, normal: i11 }; +} +function cs2(t5, e7, a4, o5) { + const i11 = Zo2(a4.name); + if (o5.has(`${i11}.pack`)) return (function(t6, e8, a5, o6) { + const i12 = `${e8}/${a5}`, s8 = Zo2(a5), r8 = `${e8}/${s8}.pack`, c5 = `${e8}/${s8}.rev`, d6 = o6.has(`${s8}.rev`), u6 = `${e8}/${s8}.bitmap`, f2 = o6.has(`${s8}.bitmap`), l4 = Gi2(async () => Sg(await (async function(t7, e9) { + if (ki2((await t7.fs.stat(e9)).size)) throw Gl(gi2); + const n7 = await t7.fs.read(e9); + if (ki2(n7.length)) throw Gl(gi2); + return n7; + })(t6, i12), t6.hashConfig.digestLength)), h5 = Gi2(async () => { + const e9 = await l4.get(); + return (async function(t7, e10, n7, a6, o7) { + if (!n7) return Fi2; + const i13 = Ig + 4 * o7 + 2 * a6; + let s9; try { - s10 = await t7.fs.readSlice(e9, 0, i9 + 1); + s9 = await t7.fs.readSlice(e10, 0, i13 + 1); } catch (t8) { - return Xo2(t8); + return ji2(t8); } - if (s10.length !== i9) return Yo2((function(t8, e10) { - return t8 < Mh + 2 * e10 ? yl("size", Ph).data : yl("size", Bh).data; - })(s10.length, a6)); + if (s9.length !== i13) return zi2((function(t8, e11) { + return t8 < Ig + 2 * e11 ? Yl("size", _g).data : Yl("size", vg).data; + })(s9.length, a6)); try { - return { kind: "usable", value: Fh(s10, a6, o8), bytes: s10 }; + return { kind: "usable", value: Og(s9, a6, o7), bytes: s9 }; } catch (t8) { - return Xo2(t8); - } - })(t6, c6, d5, t6.hashConfig.digestLength, e8.objectCount); - }), x10 = Qo(async () => { - const e8 = await l4.get(); - return Jo(t6, u6, f2, e8.objectCount); - }), D8 = Qo(async () => { - const t7 = await l4.get(), e8 = await h6.get(); - if ("usable" === e8.kind) { - const n8 = (function(t8, e9) { - const n9 = new Uint32Array(e9); - for (let a6 = 0; a6 < e9; a6 += 1) { - const o8 = Vh(t8, a6); - if (o8 >= e9) return; - n9[a6] = o8; - } - return n9; - })(e8.value, t7.objectCount); - if (void 0 !== n8) return n8; - } - return ri2(t7); - }), E7 = Qo(async () => { - const e8 = await l4.get(), n8 = Tl(await t6.fs.readSlice(r6, 0, vl)); - if (n8.objectCount !== e8.objectCount) throw fl(`object count disagrees with index: pack ${n8.objectCount}, index ${e8.objectCount}`); - return n8; - }), O8 = Qo(async () => { - const e8 = await l4.get(), n8 = (await t6.fs.stat(r6)).size, a6 = vh(e8), o8 = await (async function(t7, e9, n9, a7) { - if (n9.length < 5e3) return ci2(n9); - const o9 = await a7(); - if ("refused" === o9.kind) return t7.logger?.warn?.("packRegistry: discarding unusable pack reverse index", { rev: `${e9}.rev`, ...to2(o9.data) }), ci2(n9); - if ("usable" !== o9.kind) return ci2(n9); - const i10 = (function(t8, e10) { - const n10 = e10.length, a8 = new Float64Array(n10); - for (let o10 = 0; o10 < n10; o10 += 1) { - const i11 = Vh(t8, o10); - if (i11 >= n10) return; - a8[o10] = e10[i11]; - } - return a8; - })(o9.value, n9); - return void 0 !== i10 ? i10 : (t7.logger?.warn?.("packRegistry: pack reverse index position out of range, falling back to sort", { rev: `${e9}.rev` }), ci2(n9)); - })(t6, s9, a6, h6.get), i9 = n8 - t6.hashConfig.digestLength; - if (i9 < 0) throw hl("pack file too small to contain a trailer"); - return { sortedOffsets: o8, packFileSize: n8, trailerStart: i9 }; - }).get, L7 = Qo(() => t6.fs.openWithNoFollow(r6, "read")), M5 = /* @__PURE__ */ new Set(); - let P5 = false; - return { name: s9, index: l4.get, packPath: r6, idxPath: i8, header: E7.get, offsetTable: O8, readSlice: async (e8, n8) => { - if (P5) return t6.fs.readSlice(r6, e8, n8); - const o8 = (async () => { - const t7 = await L7.get(), a6 = new Uint8Array(n8), o9 = await t7.read(a6, 0, n8, e8); - return a6.subarray(0, o9); + return ji2(t8); + } + })(t6, c5, d6, t6.hashConfig.digestLength, e9.objectCount); + }), w6 = Gi2(async () => { + const e9 = await l4.get(); + return Wi2(t6, u6, f2, e9.objectCount); + }), y5 = Gi2(async () => { + const t7 = await l4.get(), e9 = await h5.get(); + if ("usable" === e9.kind) { + const n7 = (function(t8, e10) { + const n8 = new Uint32Array(e10); + for (let a6 = 0; a6 < e10; a6 += 1) { + const o7 = Ag(t8, a6); + if (o7 >= e10) return; + n8[a6] = o7; + } + return n8; + })(e9.value, t7.objectCount); + if (void 0 !== n7) return n7; + } + return os2(t7); + }), p6 = Gi2(async () => { + const e9 = await l4.get(), n7 = nf(await t6.fs.readSlice(r8, 0, tf)); + if (n7.objectCount !== e9.objectCount) throw Vl(`object count disagrees with index: pack ${n7.objectCount}, index ${e9.objectCount}`); + return n7; + }), I10 = Gi2(async () => { + const e9 = await l4.get(), n7 = (await t6.fs.stat(r8)).size, a6 = n7 - t6.hashConfig.digestLength; + if (a6 < 0) throw Gl("pack file too small to contain a trailer"); + return (async function(t7, e10, n8, a7, o7, i13) { + const s9 = await a7(); + return "usable" === s9.kind ? { kind: "lazy", index: n8, rev: s9.value, objectCount: n8.objectCount, packFileSize: o7, trailerStart: i13, warnDegraded: () => { + t7.logger?.warn?.("packRegistry: pack reverse index degraded mid-read, falling back to sorted offsets", { rev: `${e10}.rev` }); + } } : ("refused" === s9.kind && t7.logger?.warn?.("packRegistry: discarding unusable pack reverse index", { rev: `${e10}.rev`, ...qo2(s9.data) }), { kind: "sorted", sortedOffsets: es2(n8), packFileSize: o7, trailerStart: i13 }); + })(t6, s8, e9, h5.get, n7, a6); + }).get, C8 = Gi2(() => t6.fs.openWithNoFollow(r8, "read")), S6 = /* @__PURE__ */ new Set(); + let $8 = false; + return { name: s8, index: l4.get, packPath: r8, idxPath: i12, header: p6.get, offsetTable: I10, readSlice: async (e9, a6) => { + if ($8) return t6.fs.readSlice(r8, e9, a6); + const o7 = (async () => { + const t7 = await C8.get(), n7 = new Uint8Array(a6), o8 = await t7.read(n7, 0, a6, e9); + return n7.subarray(0, o8); })(); - M5.add(o8); + S6.add(o7); try { - return await o8; - } catch (o9) { + return await o7; + } catch (o8) { if (!(function(t7) { - return t7 instanceof o && "UNSUPPORTED_OPERATION" === t7.data.code && "openWithNoFollow" === t7.data.operation; - })(o9)) throw o9; - return L7.clear(), t6.fs.readSlice(r6, e8, n8); + return t7 instanceof c && "UNSUPPORTED_OPERATION" === t7.data.code && "openWithNoFollow" === t7.data.operation; + })(o8)) throw o8; + return C8.clear(), t6.fs.readSlice(r8, e9, a6); } finally { - M5.delete(o8); + S6.delete(o7); } }, close: async () => { - P5 = true; - const t7 = L7.clear(); + $8 = true; + const t7 = C8.clear(); if (void 0 === t7) return; - await Promise.allSettled(M5); - const e8 = await t7.catch(() => { + await Promise.allSettled(S6); + const e9 = await t7.catch(() => { }); - void 0 !== e8 && await e8.close(); - }, hasRevIndex: d5, revIndex: h6.get, packPositions: D8.get, hasBitmap: f2, bitmapBytes: x10.get }; - })(t5, e6, n6.name, o6); - t5.logger?.warn?.("packRegistry: skipping pack index with no pack file", { idx: n6.name }); -} -var li2 = (t5, e6, n6) => ({ name: t5, layer: e6, data: n6 }); -function hi2(t5) { - const e6 = (function(t6) { - return Qo(async () => { - const e7 = await (async function(t7, e8) { - const n7 = t7.hashConfig.digestLength, a7 = ((t8) => `${t8}/multi-pack-index`)(e8), o6 = await (async function(t8, e9) { - let n8; + void 0 !== e9 && await e9.close(); + }, hasRevIndex: d6, revIndex: h5.get, packPositions: y5.get, hasBitmap: f2, bitmapBytes: w6.get }; + })(t5, e7, a4.name, o5); + t5.logger?.warn?.("packRegistry: skipping pack index with no pack file", { idx: a4.name }); +} +var ds2 = (t5, e7, n7) => ({ name: t5, layer: e7, data: n7 }); +function us2(t5) { + const e7 = (function(t6) { + return Gi2(async () => { + const e8 = await (async function(t7, e9) { + const n8 = t7.hashConfig.digestLength, a5 = xo2(e9), o6 = await (async function(t8, e10) { + let n9; try { - n8 = await t8.fs.stat(e9); + n9 = await t8.fs.stat(e10); } catch (t9) { - if (jo2(t9)) return { kind: "absent" }; - if (!Bo2(t9)) throw t9; - return { kind: "fault", fault: { artefact: Uo2, data: t9.data } }; + if (Ni2(t9)) return { kind: "absent" }; + if (!Pi2(t9)) throw t9; + return { kind: "fault", fault: { artefact: Li2, data: t9.data } }; } - return n8.isFile ? { kind: "present", stat: n8 } : { kind: "fault", fault: { artefact: Uo2, data: wl("size", Ao2).data } }; - })(t7, a7); + return n9.isFile ? { kind: "present", stat: n9 } : { kind: "fault", fault: { artefact: Li2, data: Kl("size", Mi2).data } }; + })(t7, a5); if ("absent" === o6.kind) { - const a8 = await Ko2(t7, e8, n7); - return { set: a8.set, faults: a8.faults, flatFilePresent: false }; + const a6 = await _i2(t7, e9, n8); + return { set: a6.set, faults: a6.faults, flatFilePresent: false }; } if ("fault" === o6.kind) { - const a8 = await Ko2(t7, e8, n7); - return { set: a8.set, faults: [o6.fault, ...a8.faults], flatFilePresent: true }; + const a6 = await _i2(t7, e9, n8); + return { set: a6.set, faults: [o6.fault, ...a6.faults], flatFilePresent: true }; } - const i7 = await (async function(t8, e9, n8, a8) { + const i12 = await (async function(t8, e10, n9, a6) { try { - return { kind: "loaded", midx: await Wo2(t8, e9, n8, a8) }; + return { kind: "loaded", midx: await Bi2(t8, e10, n9, a6) }; } catch (t9) { - if (!Bo2(t9)) throw t9; - return { kind: "discarded", fault: { artefact: Uo2, data: t9.data } }; - } - })(t7, a7, o6.stat.size, n7); - if ("loaded" === i7.kind) return { set: { layers: [i7.midx], kind: "flat", artefacts: [Uo2] }, faults: [], flatFilePresent: true }; - const s9 = await Ko2(t7, e8, n7); - return { set: s9.set, faults: [i7.fault, ...s9.faults], flatFilePresent: true }; - })(t6, Fa2(Da2(t6))); - for (const n7 of e7.faults) t6.logger?.warn?.("packRegistry: discarding unusable multi-pack-index", { artefact: n7.artefact, ...to2(n7.data) }); - return e7; + if (!Pi2(t9)) throw t9; + return { kind: "discarded", fault: { artefact: Li2, data: t9.data } }; + } + })(t7, a5, o6.stat.size, n8); + if ("loaded" === i12.kind) return { set: { layers: [i12.midx], kind: "flat", artefacts: [Li2] }, faults: [], flatFilePresent: true }; + const s8 = await _i2(t7, e9, n8); + return { set: s8.set, faults: [i12.fault, ...s8.faults], flatFilePresent: true }; + })(t6, yo2(oo2(t6))); + for (const n8 of e8.faults) t6.logger?.warn?.("packRegistry: discarding unusable multi-pack-index", { artefact: n8.artefact, ...qo2(n8.data) }); + return e8; }); - })(t5), n6 = Qo(async () => { - const n7 = Fa2(Da2(t5)), [a7, o6] = await Promise.all([e6.get(), t5.fs.readdir(n7).catch((t6) => { + })(t5), n7 = a(t5.deltaCache.maxSize, 65536), a4 = Gi2(async () => { + const n8 = yo2(oo2(t5)), [a5, o6] = await Promise.all([e7.get(), t5.fs.readdir(n8).catch((t6) => { if ((function(t7) { - const e7 = Ia2(t7); - return "FILE_NOT_FOUND" === e7 || "NOT_A_DIRECTORY" === e7; + const e8 = to2(t7); + return "FILE_NOT_FOUND" === e8 || "NOT_A_DIRECTORY" === e8; })(t6)) return []; throw t6; - })]), i7 = new Set(o6.filter((t6) => t6.isFile).map((t6) => t6.name)), s9 = []; - for (const e7 of o6) { - if (!ui2(e7)) continue; - const a8 = fi2(t5, n7, e7, i7); - void 0 !== a8 && s9.push(a8); - } - const r7 = void 0 === a7.set ? void 0 : (function(t6, e7, n8, a8) { - const o7 = new Map(e7.map((t7) => [`${t7.name}.idx`, t7])), i8 = /* @__PURE__ */ new Set(), s10 = [], r8 = []; - for (const e8 of n8.layers) { - const n9 = [], c8 = []; - for (const s11 of e8.packNames) { - const e9 = ao2(s11), r9 = e9 && s11.endsWith(".idx"); - if (c8.push(r9 && a8.has(`${oo2(s11)}.pack`)), !e9) { - n9.push(void 0); + })]), i12 = new Set(o6.filter((t6) => t6.isFile).map((t6) => t6.name)), s8 = []; + for (const e8 of o6) { + if (!ss2(e8)) continue; + const a6 = cs2(t5, n8, e8, i12); + void 0 !== a6 && s8.push(a6); + } + const r8 = void 0 === a5.set ? void 0 : (function(t6, e8, n9, a6) { + const o7 = new Map(e8.map((t7) => [`${t7.name}.idx`, t7])), i13 = /* @__PURE__ */ new Set(), s9 = [], r9 = []; + for (const e9 of n9.layers) { + const n10 = [], c6 = []; + for (const s10 of e9.packNames) { + const e10 = Xo2(s10), r10 = e10 && s10.endsWith(".idx"); + if (c6.push(r10 && a6.has(`${Zo2(s10)}.pack`)), !e10) { + n10.push(void 0); continue; } - const d6 = o7.get(s11); - void 0 !== d6 ? (i8.add(s11), n9.push(d6)) : (t6.logger?.warn?.("packRegistry: multi-pack-index names a pack this scan did not register", { pack: io2(s11) }), n9.push(void 0)); + const d6 = o7.get(s10); + void 0 !== d6 ? (i13.add(s10), n10.push(d6)) : (t6.logger?.warn?.("packRegistry: multi-pack-index names a pack this scan did not register", { pack: Jo2(s10) }), n10.push(void 0)); } - s10.push(n9), r8.push(c8); - } - return { set: n8, packsByLayer: s10, claimedNames: i8, packFileOnDiskByLayer: r8 }; - })(t5, s9, a7.set, i7), c7 = Qo(async () => { - if (void 0 === r7) return; - const e7 = r7.set.layers[r7.set.layers.length - 1], a8 = (function(t6) { - return `multi-pack-index-${wt(t6._bytes.subarray(t6._bytes.length - t6.digestLength))}.bitmap`; - })(e7); - return { artefact: a8, midx: e7, ...await Jo(t5, `${n7}/${a8}`, i7.has(a8), e7.objectCount) }; + s9.push(n10), r9.push(c6); + } + return { set: n9, packsByLayer: s9, claimedNames: i13, packFileOnDiskByLayer: r9 }; + })(t5, s8, a5.set, i12), c5 = Gi2(async () => { + if (void 0 === r8) return; + const e8 = r8.set.layers[r8.set.layers.length - 1], a6 = (function(t6) { + return `multi-pack-index-${vt(t6._bytes.subarray(t6._bytes.length - t6.digestLength))}.bitmap`; + })(e8); + return { artefact: a6, midx: e8, ...await Wi2(t5, `${n8}/${a6}`, i12.has(a6), e8.objectCount) }; }); - return { packs: s9, midxLoad: a7, midx: r7, indexed: Qo(() => (async function(t6, e7) { - const n8 = [], a8 = []; - for (const o7 of e7) try { - n8.push({ pack: o7, index: await o7.index() }); - } catch (e8) { - if (!Qa2(e8)) throw e8; - t6.logger?.warn?.("packRegistry: skipping unreadable pack index", { idx: `${o7.name}.idx`, ...to2(e8.data) }), a8.push({ name: o7.name, data: e8.data }); - } - return { packs: n8, packList: n8.map((t7) => t7.pack), indexFaults: a8 }; - })(t5, s9)), warnedIdx: /* @__PURE__ */ new Set(), fileNames: i7, midxBitmap: c7 }; + return { packs: s8, midxLoad: a5, midx: r8, indexed: Gi2(() => (async function(t6, e8) { + const n9 = [], a6 = []; + for (const o7 of e8) try { + n9.push({ pack: o7, index: await o7.index() }); + } catch (e9) { + if (!Ko2(e9)) throw e9; + t6.logger?.warn?.("packRegistry: skipping unreadable pack index", { idx: `${o7.name}.idx`, ...qo2(e9.data) }), a6.push({ name: o7.name, data: e9.data }); + } + return { packs: n9, packList: n9.map((t7) => t7.pack), indexFaults: a6 }; + })(t5, s8)), warnedIdx: /* @__PURE__ */ new Set(), fileNames: i12, midxBitmap: c5 }; }); - let a6 = false; - const r6 = /* @__PURE__ */ new Set(), c6 = async () => { - await Promise.allSettled([...r6]); - }, d5 = () => a6 ? n6.peek() ?? Promise.resolve(si2()) : n6.get(), f2 = (t6) => t6.map((t7) => li2(t7.name, "index", t7.data)), h6 = async (e7) => { + let o5 = false; + const i11 = /* @__PURE__ */ new Set(), u6 = async () => { + await Promise.allSettled([...i11]); + }, f2 = () => o5 ? a4.peek() ?? Promise.resolve(Ji2()) : a4.get(), l4 = (t6) => t6.map((t7) => ds2(t7.name, "index", t7.data)), w6 = async (e8) => { try { - return void await e7.header(); - } catch (n7) { - if (!Ja2(n7)) throw n7; - return t5.logger?.warn?.("packRegistry: skipping unusable pack", { pack: e7.name, ...to2(n7.data) }), n7; + return void await e8.header(); + } catch (n8) { + if (!Go2(n8)) throw n8; + return t5.logger?.warn?.("packRegistry: skipping unusable pack", { pack: e8.name, ...qo2(n8.data) }), n8; } - }, w4 = async (e7, n7) => { + }, p6 = async (e8, n8) => { try { - return await e7.index(); - } catch (a7) { - if (!Qa2(a7)) throw a7; - const o6 = `${e7.name}.idx`; - return void (n7.has(o6) || (n7.add(o6), t5.logger?.warn?.("packRegistry: skipping unreadable pack index", { idx: o6, ...to2(a7.data) }))); - } - }, m5 = (t6, e7) => { - const n7 = t6.midx; - return void 0 === n7 ? (async (t7, e8) => { - const { packs: n8 } = await t7.indexed.get(); - for (const { pack: t8, index: a7 } of n8) { - const n9 = Oh(a7, e8); - if (void 0 !== n9 && void 0 === await h6(t8)) return { pack: t8, offset: n9 }; - } - })(t6, e7) : (async (t7, e8, n8) => { - for (const a7 of t7.packs) { - if (e8.claimedNames.has(`${a7.name}.idx`)) continue; - const o6 = await w4(a7, t7.warnedIdx); + return await e8.index(); + } catch (a5) { + if (!Ko2(a5)) throw a5; + const o6 = `${e8.name}.idx`; + return void (n8.has(o6) || (n8.add(o6), t5.logger?.warn?.("packRegistry: skipping unreadable pack index", { idx: o6, ...qo2(a5.data) }))); + } + }, m7 = (t6, e8) => { + const n8 = t6.midx; + return void 0 === n8 ? (async (t7, e9) => { + const { packs: n9 } = await t7.indexed.get(); + for (const { pack: t8, index: a5 } of n9) { + const n10 = Mg(a5, e9); + if (void 0 !== n10 && void 0 === await w6(t8)) return { pack: t8, offset: n10 }; + } + })(t6, e8) : (async (t7, e9, n9) => { + for (const a5 of t7.packs) { + if (e9.claimedNames.has(`${a5.name}.idx`)) continue; + const o6 = await p6(a5, t7.warnedIdx); if (void 0 === o6) continue; - const i7 = Oh(o6, n8); - if (void 0 !== i7 && void 0 === await h6(a7)) return { pack: a7, offset: i7 }; - } - })(t6, n7, e7); - }, p5 = Qo(async () => { - const t6 = await d5(), { packs: e7, indexFaults: n7 } = await t6.indexed.get(), a7 = f2(n7), o6 = []; - for (const { pack: t7 } of e7) { - const e8 = await h6(t7); - void 0 === e8 ? o6.push(t7) : a7.push(li2(t7.name, "pack", e8.data)); - } - return { accessible: o6, unusable: a7 }; - }), y6 = Qo(async () => (async function(t6, e7) { - const { midxLoad: n7, midx: a7 } = e7; - if (void 0 === a7) return { artefact: void 0, faults: n7.faults, flatFilePresent: n7.flatFilePresent, unresolvedPacks: [], unresolvedEntries: [], checksumOk: void 0 }; - const o6 = a7.set.artefacts[a7.set.artefacts.length - 1], i7 = await (async function(t7, e8) { - const n8 = e8.set.layers[e8.set.layers.length - 1], a8 = n8._bytes.length - n8.digestLength, o7 = await t7.hash.hash(n8._bytes.subarray(0, a8)); - return It(o7, n8._bytes.subarray(a8)); - })(t6, a7), r7 = (function(t7) { - const e8 = []; - let n8 = 0; - for (const [a8, o7] of t7.set.layers.entries()) { - const i8 = t7.packsByLayer[a8], s9 = t7.packFileOnDiskByLayer[a8]; - o7.packNames.forEach((t8, a9) => { - void 0 !== i8[a9] || s9[a9] || e8.push({ position: n8 + a9, pack: so2(t8) }); - }), n8 += o7.packNames.length; - } - return e8; - })(a7), { unresolvedEntries: c7, containedFault: d6 } = await (async function(t7) { - const e8 = [], n8 = t7.set.artefacts[t7.set.artefacts.length - 1], a8 = /* @__PURE__ */ new Map(); - for (const [o7, i8] of t7.set.layers.entries()) { - const s9 = t7.packsByLayer[o7], r8 = await ro2(i8, s9, a8, e8); - if (void 0 !== r8) return { unresolvedEntries: e8, containedFault: { artefact: n8, data: r8 } }; - } - return { unresolvedEntries: e8, containedFault: void 0 }; - })(a7); - return { artefact: o6, faults: void 0 === d6 ? n7.faults : [...n7.faults, d6], flatFilePresent: n7.flatFilePresent, unresolvedPacks: r7, unresolvedEntries: c7, checksumOk: i7 }; - })(t5, await d5())); + const i12 = Mg(o6, n9); + if (void 0 !== i12 && void 0 === await w6(a5)) return { pack: a5, offset: i12 }; + } + })(t6, n8, e8); + }, g7 = Gi2(async () => { + const t6 = await f2(), { packs: e8, indexFaults: n8 } = await t6.indexed.get(), a5 = l4(n8), o6 = []; + for (const { pack: t7 } of e8) { + const e9 = await w6(t7); + void 0 === e9 ? o6.push(t7) : a5.push(ds2(t7.name, "pack", e9.data)); + } + return { accessible: o6, unusable: a5 }; + }), v6 = Gi2(async () => (async function(t6, e8) { + const { midxLoad: n8, midx: a5 } = e8; + if (void 0 === a5) return { artefact: void 0, faults: n8.faults, flatFilePresent: n8.flatFilePresent, unresolvedPacks: [], unresolvedEntries: [], checksumOk: void 0 }; + const o6 = a5.set.artefacts[a5.set.artefacts.length - 1], i12 = await (async function(t7, e9) { + const n9 = e9.set.layers[e9.set.layers.length - 1], a6 = n9._bytes.length - n9.digestLength, o7 = await t7.hash.hash(n9._bytes.subarray(0, a6)); + return xt(o7, n9._bytes.subarray(a6)); + })(t6, a5), s8 = (function(t7) { + const e9 = []; + let n9 = 0; + for (const [a6, o7] of t7.set.layers.entries()) { + const i13 = t7.packsByLayer[a6], s9 = t7.packFileOnDiskByLayer[a6]; + o7.packNames.forEach((t8, a7) => { + void 0 !== i13[a7] || s9[a7] || e9.push({ position: n9 + a7, pack: Qo2(t8) }); + }), n9 += o7.packNames.length; + } + return e9; + })(a5), { unresolvedEntries: r8, containedFault: c5 } = await (async function(t7) { + const e9 = [], n9 = t7.set.artefacts[t7.set.artefacts.length - 1], a6 = /* @__PURE__ */ new Map(); + for (const [o7, i13] of t7.set.layers.entries()) { + const s9 = t7.packsByLayer[o7], r9 = await ti2(i13, s9, a6, e9); + if (void 0 !== r9) return { unresolvedEntries: e9, containedFault: { artefact: n9, data: r9 } }; + } + return { unresolvedEntries: e9, containedFault: void 0 }; + })(a5); + return { artefact: o6, faults: void 0 === c5 ? n8.faults : [...n8.faults, c5], flatFilePresent: n8.flatFilePresent, unresolvedPacks: s8, unresolvedEntries: r8, checksumOk: i12 }; + })(t5, await f2())); return { all: async () => { - const t6 = await d5(); + const t6 = await f2(); return (await t6.indexed.get()).packList; - }, async assertLoadable() { - await (a6 ? e6.peek() ?? Promise.resolve() : e6.get()); - }, midxHealth: y6.get, midxBitmap: async () => (await d5()).midxBitmap.get(), refresh() { - if (a6) return; - p5.clear(), y6.clear(), e6.clear(); - const t6 = n6.clear(); - var o6; - void 0 !== t6 && (o6 = t6.then((t7) => Promise.allSettled(t7.packs.map((t8) => t8.close())), () => ti2), r6.add(o6), o6.finally(() => { - r6.delete(o6); + }, fileNames: async () => (await f2()).fileNames, async assertLoadable() { + await (o5 ? e7.peek() ?? Promise.resolve() : e7.get()); + }, midxHealth: v6.get, midxBitmap: async () => (await f2()).midxBitmap.get(), refresh() { + if (o5) return; + g7.clear(), v6.clear(), n7.clear(), e7.clear(); + const t6 = a4.clear(); + var s8; + void 0 !== t6 && (s8 = t6.then((t7) => Promise.allSettled(t7.packs.map((t8) => t8.close())), () => Ki2), i11.add(s8), s8.finally(() => { + i11.delete(s8); })); - }, async lookup(t6) { - const e7 = await d5(), n7 = e7.midx; - if (void 0 === n7) return m5(e7, t6); - const a7 = (function(t7, e8) { - const n8 = yt(e8); - for (let e9 = t7.set.layers.length - 1; e9 >= 0; e9 -= 1) { - const a8 = lh(t7.set.layers[e9], n8); - if (void 0 === a8) continue; - const o6 = t7.packsByLayer[e9][a8.packIndex]; - return void 0 === o6 ? void 0 : { pack: o6, offset: a8.offset }; - } - })(n7, t6); - return void 0 === a7 ? m5(e7, t6) : void 0 === await h6(a7.pack) ? a7 : m5(e7, t6); - }, health: () => p5.get(), indexFaults: async () => { - const t6 = await d5(); - return f2((await t6.indexed.get()).indexFaults); - }, async dispose() { - a6 = true; - const t6 = n6.peek(); - if (void 0 === t6) return c6(); - const e7 = await t6.catch(() => si2()), o6 = await Promise.allSettled(e7.packs.map((t7) => t7.close())); - await c6(); - const i7 = o6.find((t7) => "rejected" === t7.status); - if (void 0 !== i7) throw i7.reason; + }, settleRefresh: u6, async lookup(t6) { + const e8 = await f2(), n8 = e8.midx; + if (void 0 === n8) return m7(e8, t6); + const a5 = (function(t7, e9) { + const n9 = Ot(e9); + for (let e10 = t7.set.layers.length - 1; e10 >= 0; e10 -= 1) { + const a6 = gg(t7.set.layers[e10], n9); + if (void 0 === a6) continue; + const o6 = t7.packsByLayer[e10][a6.packIndex]; + return void 0 === o6 ? void 0 : { pack: o6, offset: a6.offset }; + } + })(n8, t6); + return void 0 === a5 ? m7(e8, t6) : void 0 === await w6(a5.pack) ? a5 : m7(e8, t6); + }, health: () => g7.get(), indexFaults: async () => { + const t6 = await f2(); + return l4((await t6.indexed.get()).indexFaults); + }, deltaBaseCache: n7, async dispose() { + o5 = true, n7.clear(); + const t6 = a4.peek(); + if (void 0 === t6) return u6(); + const e8 = await t6.catch(() => Ji2()), i12 = await Promise.allSettled(e8.packs.map((t7) => t7.close())); + await u6(); + const s8 = i12.find((t7) => "rejected" === t7.status); + if (void 0 !== s8) throw s8.reason; } }; } -var wi2 = new TextEncoder().encode("tree 0\0"); -async function mi2(t5, e6, n6, a6, o6) { - if (bi2(t5), await e6.assertLoadable(), n6 === lr(t5.hashConfig)) return wi2; - const i7 = t5.deltaCache.get(n6); - if (void 0 !== i7) return yi2(n6, i7, o6), Ii2(t5, n6, i7, a6); - const s9 = await (async function(t6, e7) { - const n7 = await ki2(t6, e7); - return void 0 === n7 ? void 0 : t6.compressor.inflate(n7); - })(t5, n6); - if (void 0 !== s9) return bi2(t5), (function(t6, e7, n7) { - if (void 0 === n7) return; - const { contentOffset: a7 } = Ir(e7), o7 = e7.length - a7; - if (o7 > n7) throw Gt(t6, o7, n7); - })(n6, s9, o6), Ii2(t5, n6, s9, a6); - bi2(t5); - const r6 = await e6.lookup(n6); - if (void 0 === r6) throw Mt(n6); - bi2(t5); - const c6 = await Ci2(t5, e6, r6, n6, o6); - return bi2(t5), Ii2(t5, n6, c6, a6); -} -async function pi2(t5, e6, n6, a6, o6) { - const i7 = await mi2(t5, e6, n6, a6, o6); - return xr(n6, i7, t5.hashConfig); -} -function yi2(t5, e6, n6) { - if (void 0 === n6) return; - const a6 = e6.indexOf(0); - if (a6 < 0) return; - const o6 = e6.length - (a6 + 1); - if (o6 > n6) throw Gt(t5, o6, n6); -} -function gi2(t5, e6, n6) { - if (void 0 !== n6 && e6 > n6) throw Gt(t5, e6, n6); -} -function vi2(t5, e6, n6, a6) { - if (void 0 === n6) return; - if (1 !== a6) return; - const o6 = Xf(e6); - if (o6 > n6) throw Gt(t5, o6, n6); -} -function bi2(t5) { - if (true === t5.signal?.aborted) throw I(); -} -async function ki2(t5, e6) { - if (!await Ya2(t5, e6)) return; - const n6 = Oa2(Da2(t5), e6); +var fs2 = new TextEncoder().encode("tree 0\0"); +async function ls2(t5, e7, n7, a4, o5, s8) { + if (ys2(t5), await e7.assertLoadable(), n7 === wr(t5.hashConfig)) return { bytes: fs2, chainDepth: 0 }; + const r8 = t5.deltaCache.get(n7); + if (void 0 !== r8) return hs2(n7, r8, o5), { bytes: await gs(t5, n7, r8, a4), chainDepth: 0 }; + const c5 = await (async function(t6, e8) { + const n8 = await ps(t6, e8); + return void 0 === n8 ? void 0 : t6.compressor.inflate(n8); + })(t5, n7); + if (void 0 !== c5) return ys2(t5), (function(t6, e8, n8) { + if (void 0 === n8) return; + const { contentOffset: a5 } = Sr(e8), o6 = e8.length - a5; + if (o6 > n8) throw Jt(t6, o6, n8); + })(n7, c5, o5), $s2(t5.deltaCache, n7, c5), { bytes: await gs(t5, n7, c5, a4), chainDepth: 0 }; + ys2(t5); + const d6 = await e7.lookup(n7); + if (void 0 === d6) throw zt(n7); + ys2(t5); + const u6 = await bs2(t5, e7, d6, n7, o5, s8); + return ys2(t5), { bytes: await gs(t5, n7, u6.bytes, a4), chainDepth: u6.chainDepth }; +} +function hs2(t5, e7, n7) { + if (void 0 === n7) return; + const a4 = e7.indexOf(0); + if (a4 < 0) return; + const o5 = e7.length - (a4 + 1); + if (o5 > n7) throw Jt(t5, o5, n7); +} +function ws(t5, e7, n7, a4) { + if (void 0 === n7) return; + if (1 !== a4) return; + const o5 = Uh(e7); + if (o5 > n7) throw Jt(t5, o5, n7); +} +function ys2(t5) { + if (true === t5.signal?.aborted) throw A(); +} +async function ps(t5, e7) { + if (!await Bo2(t5, e7)) return; + const a4 = so2(oo2(t5), e7); try { - return await t5.fs.read(n6); - } catch (n7) { - if (n7 instanceof o && "FILE_NOT_FOUND" === n7.data.code) return void (function(t6, e7) { - Ka2.get(t6)?.delete(qa2(e7)); - })(t5, e6); - throw n7; - } -} -async function xi2(t5, e6) { - return ki2(t5, e6); -} -async function Ii2(t5, e6, n6, a6) { - if (a6) { - const a7 = await t5.hash.hashHex(n6); - if (bi2(t5), a7 !== e6) throw Pt(e6, a7); - } - return n6; -} -async function Ci2(t5, e6, n6, a6, o6) { - const i7 = await (async function(t6, e7, n7, a7, o7) { - const i8 = []; - let s10 = n7, r7 = 0; - const c6 = await n7.pack.offsetTable(); + return await t5.fs.read(a4); + } catch (a5) { + if (a5 instanceof c && "FILE_NOT_FOUND" === a5.data.code) return void Ao2(t5, e7); + throw a5; + } +} +async function ms(t5, e7) { + return ps(t5, e7); +} +async function gs(t5, e7, n7, a4) { + if (!a4) return ys2(t5), n7; + const o5 = await t5.hash.hashHex(n7); + if (ys2(t5), o5 !== e7) throw jt(e7, o5); + return n7; +} +function vs2(t5) { + if (t5 > Nh) throw jl(t5); +} +function ks2(t5, e7, n7) { + const a4 = e7 - n7; + if (a4 < 0) throw zt(t5); + return a4; +} +async function bs2(t5, e7, n7, a4, o5, s8) { + const r8 = await (async function(t6, e8, n8, a5, o6, i11) { + const s9 = []; + let r9 = n8, c6 = 0; + const d7 = await n8.pack.offsetTable(); for (; ; ) { - bi2(t6); - const n8 = di2(c6, s10.offset); - if (n8 > c6.packFileSize) throw hl("next offset exceeds pack file size: corrupt index"); - const { header: d5, chunk: u6, headerEndInChunk: f2 } = await $i2(t6, s10, n8); - if (Si2(d5)) return gi2(a7, d5.size, o7), { deltas: i8, baseContent: await t6.compressor.inflate(u6.subarray(f2)), baseType: d5.type }; - if (r7 += 1, r7 > Wf) throw pl(r7); - const l4 = await t6.compressor.inflate(u6.subarray(f2)); - if (vi2(a7, l4, o7, r7), d5.type === bl.OFS_DELTA) { - const t7 = s10.offset - d5.baseDistance; - if (t7 < 0) throw Mt(a7); - i8.push({ instructions: l4, resolvedBaseId: void 0 }), s10 = { pack: s10.pack, offset: t7 }; + ys2(t6); + const n9 = is2(r9.pack.name, r9.offset), u6 = jo2(t6, e8, n9, a5, o6); + if (void 0 !== u6) return vs2(i11 + c6 + u6.chainDepth), { deltas: s9, baseContent: u6.content, baseType: u6.type, baseOffset: void 0, baseChainDepth: u6.chainDepth }; + const f2 = as2(d7, r9.offset), { header: l4, chunk: h5, headerEndInChunk: w6 } = await Is2(t6, r9, f2, d7.packFileSize); + if (xs2(l4)) return Uo2(a5, l4.size, o6), { deltas: s9, baseContent: await t6.compressor.inflate(h5.subarray(w6)), baseType: l4.type, baseOffset: r9.offset, baseChainDepth: 0 }; + c6 += 1, vs2(i11 + c6); + const y5 = await t6.compressor.inflate(h5.subarray(w6)); + if (ws(a5, y5, o6, c6), l4.type === Ql.OFS_DELTA) { + const t7 = ks2(a5, r9.offset, l4.baseDistance); + s9.push({ instructions: y5, resolvedBaseId: void 0, offset: r9.offset, probeKey: n9 }), r9 = { pack: r9.pack, offset: t7 }; continue; } - if (d5.type === bl.REF_DELTA) { - const n9 = d5.baseId; - i8.push({ instructions: l4, resolvedBaseId: n9 }); - const a8 = await Di2(t6, e7, n9, o7); - return { deltas: i8, baseContent: a8.content, baseType: a8.type }; - } - throw Mt(a7); - } - })(t5, e6, n6, a6, o6); - let s9 = i7.baseContent; - for (let t6 = i7.deltas.length - 1; t6 >= 0; t6 -= 1) { - const e7 = i7.deltas[t6]; - if (void 0 === e7) break; - s9 = qf(s9, e7.instructions); - } - if (void 0 !== o6 && s9.length > o6) throw Gt(a6, s9.length, o6); - const r6 = (function(t6, e7, n7) { - const a7 = (function(t7, e8) { + if (l4.type === Ql.REF_DELTA) { + const a6 = l4.baseId; + s9.push({ instructions: y5, resolvedBaseId: a6, offset: r9.offset, probeKey: n9 }); + const d8 = await Cs2(t6, e8, a6, o6, i11 + c6); + return { deltas: s9, baseContent: d8.content, baseType: d8.type, baseOffset: void 0, baseChainDepth: d8.chainDepth }; + } + throw zt(a5); + } + })(t5, e7, n7, a4, o5, s8); + let c5 = r8.baseContent; + r8.deltas.length > 0 && void 0 !== r8.baseOffset && Ho2(t5, e7, is2(n7.pack.name, r8.baseOffset), r8.baseType, c5, 0); + for (let n8 = r8.deltas.length - 1; n8 >= 0; n8 -= 1) { + const a5 = r8.deltas[n8]; + if (void 0 === a5) break; + c5 = Ch(c5, a5.instructions), Ho2(t5, e7, a5.probeKey, r8.baseType, c5, r8.deltas.length - n8 + r8.baseChainDepth); + } + if (void 0 !== o5 && c5.length > o5) throw Jt(a4, c5.length, o5); + const d6 = (function(t6, e8, n8) { + const a5 = (function(t7, e9) { switch (t7) { - case bl.COMMIT: + case Ql.COMMIT: return "commit"; - case bl.TREE: + case Ql.TREE: return "tree"; - case bl.BLOB: + case Ql.BLOB: return "blob"; - case bl.TAG: + case Ql.TAG: return "tag"; default: - throw Mt(e8); - } - })(e7, n7), o7 = `${a7} ${t6.length}\0`, i8 = new TextEncoder().encode(o7), s10 = new Uint8Array(i8.length + t6.length); - return s10.set(i8, 0), s10.set(t6, i8.length), s10; - })(s9, i7.baseType, a6); - return Li2(t5.deltaCache, a6, r6), r6; -} -function Si2(t5) { - return t5.type === bl.COMMIT || t5.type === bl.TREE || t5.type === bl.BLOB || t5.type === bl.TAG; -} -async function $i2(t5, e6, n6) { - const a6 = n6 - e6.offset; - if (a6 <= 0) throw hl("slice length \u2264 0: next offset not beyond entry offset"); - const o6 = await e6.pack.readSlice(e6.offset, a6), i7 = Ol(o6, 0, t5.hashConfig); - return { header: i7, chunk: o6, headerEndInChunk: i7.dataOffset }; -} -async function Di2(t5, e6, n6, a6) { - const o6 = t5.deltaCache.get(n6); - if (void 0 !== o6) return yi2(n6, o6, a6), Ei2(o6, n6); - const i7 = await pi2(t5, e6, n6, false, a6), s9 = Lr(i7, t5.hashConfig); - return Li2(t5.deltaCache, n6, s9), Ei2(s9, n6); -} -function Ei2(t5, e6) { - const n6 = t5.indexOf(0); - if (n6 < 0) throw Mt(e6); - const a6 = t5.subarray(0, n6).indexOf(32); - if (a6 < 0) throw Mt(e6); - const o6 = new TextDecoder().decode(t5.subarray(0, a6)); - return { content: t5.subarray(n6 + 1), type: Oi2(o6, e6) }; -} -function Oi2(t5, e6) { + throw zt(e9); + } + })(e8, n8), o6 = Rt(`${a5} ${t6.length}\0`), i11 = new Uint8Array(o6.length + t6.length); + return i11.set(o6, 0), i11.set(t6, o6.length), i11; + })(c5, r8.baseType, a4); + return $s2(t5.deltaCache, a4, d6), { bytes: d6, chainDepth: r8.deltas.length + r8.baseChainDepth }; +} +function xs2(t5) { + return t5.type === Ql.COMMIT || t5.type === Ql.TREE || t5.type === Ql.BLOB || t5.type === Ql.TAG; +} +async function Is2(t5, e7, n7, a4) { + if (n7 > a4) throw Gl("next offset exceeds pack file size: corrupt index"); + const o5 = n7 - e7.offset; + if (o5 <= 0) throw Gl("slice length \u2264 0: next offset not beyond entry offset"); + const i11 = await e7.pack.readSlice(e7.offset, o5), s8 = rf(i11, 0, t5.hashConfig); + return { header: s8, chunk: i11, headerEndInChunk: s8.dataOffset }; +} +async function Cs2(t5, e7, n7, a4, o5) { + const i11 = t5.deltaCache.get(n7); + if (void 0 !== i11) return hs2(n7, i11, a4), { ...Ss2(i11, n7), chainDepth: 0 }; + const s8 = await ls2(t5, e7, n7, false, a4, o5); + return { ...Ss2(s8.bytes, n7), chainDepth: s8.chainDepth }; +} +function Ss2(t5, e7) { + const n7 = t5.indexOf(0); + if (n7 < 0) throw zt(e7); + const a4 = t5.subarray(0, n7).indexOf(32); + if (a4 < 0) throw zt(e7); + const o5 = new TextDecoder().decode(t5.subarray(0, a4)); + return { content: t5.subarray(n7 + 1), type: Ds2(o5, e7) }; +} +function Ds2(t5, e7) { switch (t5) { case "commit": - return bl.COMMIT; + return Ql.COMMIT; case "tree": - return bl.TREE; + return Ql.TREE; case "blob": - return bl.BLOB; + return Ql.BLOB; case "tag": - return bl.TAG; + return Ql.TAG; default: - throw Mt(e6); + throw zt(e7); } } -function Li2(t5, e6, n6) { - t5.set(e6, n6, n6.length); -} -var Mi2 = /* @__PURE__ */ new WeakMap(); -var Pi2 = /* @__PURE__ */ new WeakMap(); -function Ti2(t5) { - let e6 = Mi2.get(t5); - return void 0 === e6 && (e6 = hi2(t5), Mi2.set(t5, e6)), e6; +function $s2(t5, e7, n7) { + t5.set(e7, n7, n7.length); } -function Ni2(t5, e6) { - Mi2.set(e6, Ti2(t5)); +var Os2 = /* @__PURE__ */ new WeakMap(); +var Es2 = /* @__PURE__ */ new WeakMap(); +function Ls2(t5) { + let e7 = Os2.get(t5.session); + return void 0 === e7 && (e7 = us2(t5), Os2.set(t5.session, e7)), e7; } -function Ri2(t5) { - Mi2.get(t5)?.refresh(); +function Ms2(t5) { + Os2.get(t5.session)?.refresh(); } -async function _i2(t5) { - await Mi2.get(t5)?.dispose(); +async function Ps2(t5) { + await Os2.get(t5.session)?.dispose(); } -async function Fi2(t5, e6, n6, o6) { +async function Ns2(t5, e7, a4, o5) { try { - return await o6(); - } catch (i7) { - const s9 = t5.promisor; - if (void 0 === s9 || !(function(t6) { - return t6 instanceof o && "OBJECT_NOT_FOUND" === t6.data.code; - })(i7)) throw i7; - if (!await (async function(t6, e7, n7) { - const a6 = (function(t7) { - let e8 = Pi2.get(t7); - return void 0 === e8 && (e8 = /* @__PURE__ */ new Map(), Pi2.set(t7, e8)), e8; - })(t6), o7 = a6.get(n7); - if (void 0 !== o7) return o7; - const i8 = e7.fetch([n7]).then((t7) => t7.attempted); - a6.set(n7, i8); + return await o5(); + } catch (i11) { + const s8 = t5.promisor; + if (void 0 === s8 || !(function(t6) { + return t6 instanceof c && "OBJECT_NOT_FOUND" === t6.data.code; + })(i11)) throw i11; + if (!await (async function(t6, e8, n7) { + const a5 = (function(t7) { + let e9 = Es2.get(t7.session); + return void 0 === e9 && (e9 = /* @__PURE__ */ new Map(), Es2.set(t7.session, e9)), e9; + })(t6), o6 = a5.get(n7); + if (void 0 !== o6) return o6; + const i12 = e8.fetch([n7]).then((t7) => t7.attempted); + a5.set(n7, i12); try { - return await i8; + return await i12; } finally { - a6.delete(n7); - } - })(t5, s9, e6)) throw i7; - return n6.refresh(), o6(); - } -} -async function Ui2(t5, e6, n6) { - const a6 = n6?.verifyHash ?? true, o6 = Ti2(t5); - return Fi2(t5, e6, o6, () => pi2(t5, o6, e6, a6, n6?.maxBytes)); -} -async function Ai2(t5, e6, n6) { - const a6 = n6?.verifyHash ?? true, o6 = Ti2(t5); - return Fi2(t5, e6, o6, async () => Sr(await mi2(t5, o6, e6, a6, n6?.maxBytes))); -} -var Bi2 = (t5) => true === t5.untrusted || true === t5.implicitBare; -var ji2 = (t5) => Bi2(t5) || void 0 !== t5.formatRefusal; -var zi2 = (t5) => ({ ...void 0 !== t5.untrusted ? { untrusted: t5.untrusted } : {}, ...void 0 !== t5.implicitBare ? { implicitBare: t5.implicitBare } : {}, ...void 0 !== t5.foreignPath ? { foreignPath: t5.foreignPath } : {}, ...void 0 !== t5.formatRefusal ? { formatRefusal: t5.formatRefusal } : {} }); -var Wi2 = /* @__PURE__ */ new WeakMap(); -var Hi2 = (t5) => Gi2(t5).then((t6) => t6.parsed); -var Gi2 = (t5) => { - const e6 = Wi2.get(t5); - if (void 0 !== e6) return e6; - const n6 = qi2(t5); - return Wi2.set(t5, n6), n6; -}; -var Ki2 = (t5) => { - Wi2.delete(t5); -}; -var qi2 = async (t5) => { - const e6 = `${Da2(t5)}/config`; - if (Bi2(t5.layout)) return { parsed: {}, tokens: [], source: e6 }; - const n6 = await Vi2(t5, e6); - if (void 0 === n6) return { parsed: {}, tokens: [], source: e6 }; - const a6 = Ng(n6, e6); - return { parsed: ns2(Mg(a6)), tokens: a6, source: e6 }; -}; -var Vi2 = async (t5, e6) => { + a5.delete(n7); + } + })(t5, s8, e7)) throw i11; + return a4.refresh(), o5(); + } +} +async function Ts2(t5, e7, n7) { + const a4 = n7?.verifyHash ?? false, o5 = Ls2(t5); + return Ns2(t5, e7, o5, () => (async function(t6, e8, n8, a5, o6) { + const { bytes: i11 } = await ls2(t6, e8, n8, a5, o6, 0), r8 = (function(t7) { + if (!zo2(t7)) return; + const e9 = _o2.get(t7.session); + if (void 0 !== e9) return e9; + const n9 = a(0.0625 * t7.deltaCache.maxSize, 65536); + return _o2.set(t7.session, n9), n9; + })(t6), c5 = r8?.get(n8); + if (void 0 !== c5) return c5; + const d6 = Yr(n8, i11, t6.hashConfig); + return "commit" !== d6.type && "tag" !== d6.type || r8?.set(n8, d6, (function(t7, e9) { + const n9 = t7.extraHeaders.reduce((t8, e10) => t8 + e10.key.length + e10.value.length, 0); + return t7.message.length + (t7.gpgSignature?.length ?? 0) + n9 + (t7.parents?.length ?? 0) * e9 + 256; + })(d6.data, t6.hashConfig.hexLength)), d6; + })(t5, o5, e7, a4, n7?.maxBytes)); +} +async function Bs2(t5, e7, n7) { + const a4 = n7?.verifyHash ?? false, o5 = Ls2(t5); + return Ns2(t5, e7, o5, async () => { + const i11 = await ls2(t5, o5, e7, a4, n7?.maxBytes, 0); + return Kr(i11.bytes); + }); +} +function Rs2(t5) { + return !xs2(t5); +} +async function As2(t5, e7) { + const n7 = await e7.pack.offsetTable(); + return Is2(t5, e7, as2(n7, e7.offset), n7.packFileSize); +} +async function _s2(t5, e7, n7, a4) { + if (n7.type === Ql.OFS_DELTA) { + const t6 = ks2(a4, e7.offset, n7.baseDistance); + return { pack: e7.pack, offset: t6 }; + } + const o5 = await t5.lookup(n7.baseId); + if (void 0 === o5) throw zt(n7.baseId); + return o5; +} +var Fs2 = (t5, e7) => { + const n7 = e7.toLowerCase(); + if ("" === t5.section && void 0 === t5.subsection) return n7; + const a4 = t5.section.toLowerCase(); + return void 0 === t5.subsection ? `${a4}.${n7}` : `${a4}.${t5.subsection}.${n7}`; +}; +var Us2 = (t5, e7) => t5.section.toLowerCase() === e7.section && (void 0 === e7.subsection ? void 0 === t5.subsection : t5.subsection === e7.subsection); +var zs2 = (t5, e7) => { + const n7 = []; + for (const a4 of t5) if (Us2(a4, e7)) for (const t6 of a4.entries) t6.key.toLowerCase() === e7.name && n7.push({ value: t6.value }); + return n7; +}; +var js2 = (t5) => true === t5.untrusted || true === t5.implicitBare; +var Hs2 = (t5) => js2(t5) || void 0 !== t5.formatRefusal; +var Ws = (t5) => ({ ...void 0 !== t5.untrusted ? { untrusted: t5.untrusted } : {}, ...void 0 !== t5.implicitBare ? { implicitBare: t5.implicitBare } : {}, ...void 0 !== t5.foreignPath ? { foreignPath: t5.foreignPath } : {}, ...void 0 !== t5.formatRefusal ? { formatRefusal: t5.formatRefusal } : {} }); +var Gs2 = ["system", "global", "local", "worktree"]; +var Ks2 = async (t5, e7) => { + try { + return await t5.fs.exists(e7); + } catch { + return false; + } +}; +var qs2 = (t5, e7) => { + try { + return e7(); + } catch (e8) { + if (e8 instanceof c && "UNSUPPORTED_OPERATION" === e8.data.code) throw De(t5, "browser-adapter"); + throw e8; + } +}; +var Vs2 = async (t5, e7) => { + if ("local" === e7) return `${oo2(t5)}/config`; + if ("worktree" === e7) { + if (Hs2(t5.layout)) throw De("worktree", "repository-not-accepted"); + if (!await (async (t6) => { + if (Hs2(t6.layout)) return false; + const e8 = `${oo2(t6)}/config`, a5 = await (async (t7, e9) => { + try { + return await t7.fs.readUtf8(e9); + } catch (t8) { + if (t8 instanceof c && "FILE_NOT_FOUND" === t8.data.code) return; + throw t8; + } + })(t6, e8); + if (void 0 === a5) return false; + const o5 = jm(a5, e8); + for (const t7 of o5) if ("extensions" === t7.section.toLowerCase() && void 0 === t7.subsection) for (const e9 of t7.entries) { + if ("worktreeconfig" !== e9.key.toLowerCase()) continue; + const t8 = yp(e9.value); + return t8.ok && t8.value; + } + return false; + })(t5)) throw De("worktree", "worktree-extension-unset"); + return `${t5.layout.gitDir}/config.worktree`; + } + if ("global" === e7) { + const e8 = qs2("global", () => t5.fs.xdgConfigHome()), n7 = qs2("global", () => t5.fs.homedir()), a5 = `${e8}/git/config`; + if (await Ks2(t5, a5)) return a5; + const o5 = `${n7}/.gitconfig`; + return await Ks2(t5, o5), o5; + } + const a4 = qs2("system", () => t5.fs.systemConfigPath()); + if (0 === a4.length) throw Ue(); + return a4; +}; +var Ys2 = /* @__PURE__ */ new WeakMap(); +var Xs2 = (t5) => { + Ys2.delete(t5.session); +}; +var Zs2 = async (t5, e7) => { + if (Hs2(t5.layout) && ("local" === e7 || "worktree" === e7)) throw De(e7, "repository-not-accepted"); + const a4 = await Vs2(t5, e7), o5 = ((t6) => { + let e8 = Ys2.get(t6.session); + void 0 === e8 && (e8 = /* @__PURE__ */ new Map(), Ys2.set(t6.session, e8)); + const n7 = e8.get(t6.layout.gitDir); + if (void 0 !== n7) return n7; + const a5 = /* @__PURE__ */ new Map(); + return e8.set(t6.layout.gitDir, a5), a5; + })(t5), i11 = await (async function(t6, e8) { + try { + const n7 = await t6.fs.stat(e8); + return `${n7.mtimeMs}:${n7.size}`; + } catch (t7) { + if (t7 instanceof c) { + const e9 = t7.data.code; + if ("FILE_NOT_FOUND" === e9 || "PERMISSION_DENIED" === e9) return "absent"; + } + throw t7; + } + })(t5, a4), s8 = o5.get(e7); + if (void 0 !== s8 && s8.mtimeKey === i11) return await s8.promise; + const r8 = (async (t6, e8) => { + try { + const n7 = await t6.fs.readUtf8(e8); + return jm(n7, e8); + } catch (t7) { + if (t7 instanceof c) { + const e9 = t7.data.code; + if ("FILE_NOT_FOUND" === e9 || "PERMISSION_DENIED" === e9) return []; + } + throw t7; + } + })(t5, a4); + return o5.set(e7, { promise: r8, mtimeKey: i11 }), await r8; +}; +var Js2 = async (t5, e7) => { + try { + return { scope: e7, sections: await Zs2(t5, e7) }; + } catch (t6) { + if (t6 instanceof c) { + const e8 = t6.data.code; + if ("CONFIG_SCOPE_NOT_AVAILABLE" === e8) return; + if ("CONFIG_SYSTEM_PATH_UNRESOLVED" === e8) return; + } + throw t6; + } +}; +var Qs2 = async ({ ctx: t5, scope: e7 }) => { + if (void 0 !== e7) return (await Zs2(t5, e7)).map((t6) => ({ scope: e7, section: t6 })); + const n7 = []; + for (const e8 of Gs2) { + const a4 = await Js2(t5, e8); + void 0 !== a4 && n7.push(a4); + } + return ((t6) => { + const e8 = /* @__PURE__ */ new Map(); + for (const { scope: n9, sections: a4 } of t6) e8.set(n9, a4); + const n8 = []; + for (const t7 of Gs2) { + const a4 = e8.get(t7); + if (void 0 !== a4) for (const e9 of a4) n8.push({ scope: t7, section: e9 }); + } + return n8; + })(n7); +}; +var tr2 = async (t5, e7, n7) => { + if (void 0 !== n7) { + const a4 = await Zs2(t5, n7); + return zs2(a4, e7).map((t6) => ({ value: t6.value, scope: n7 })); + } + return ((t6, e8) => { + const n8 = []; + for (const { scope: a4, section: o5 } of t6) if (Us2(o5, e8)) for (const t7 of o5.entries) t7.key.toLowerCase() === e8.name && n8.push({ value: t7.value, scope: a4 }); + return n8; + })((await Qs2({ ctx: t5 })).map(({ scope: t6, section: e8 }) => ({ scope: t6, section: e8 })), e7); +}; +var er2 = async ({ ctx: t5, key: e7, scope: n7 }) => { + const a4 = Jn(e7), o5 = await tr2(t5, a4, n7); + if (0 === o5.length) return { key: e7, value: void 0 }; + if (o5.length > 1) throw Re(e7, o5.length, "read", n7); + const [i11] = o5; + return { key: e7, value: i11.value, scope: i11.scope }; +}; +var nr2 = async ({ ctx: t5, key: e7, scope: n7 }) => { + const a4 = Jn(e7); + return { key: e7, values: await tr2(t5, a4, n7) }; +}; +var ar2 = /* @__PURE__ */ new WeakMap(); +var or2 = /* @__PURE__ */ new WeakMap(); +var ir2 = /* @__PURE__ */ new WeakMap(); +var sr2 = (t5) => rr2(t5).then((t6) => t6.parsed); +var rr2 = async (t5) => { + if (js2(t5.layout)) return dr2(t5); + const e7 = `${oo2(t5)}/config`, a4 = await (function(t6, e8) { + const a5 = ar2.get(t6.session); + if (void 0 !== a5) return a5; + const o6 = (async function(t7, e9) { + try { + const n7 = await t7.fs.stat(e9); + return `${n7.mtimeMs}:${n7.size}`; + } catch (t8) { + if (t8 instanceof c && "FILE_NOT_FOUND" === t8.data.code) return "absent"; + throw t8; + } + })(t6, e8); + return ar2.set(t6.session, o6), o6.finally(() => { + ar2.get(t6.session) === o6 && ar2.delete(t6.session); + }).catch(() => { + }), o6; + })(t5, e7), o5 = or2.get(t5.session); + if (void 0 !== o5 && o5.mtimeKey === a4) return o5.promise; + const i11 = dr2(t5); + return or2.set(t5.session, { promise: i11, mtimeKey: a4 }), i11; +}; +var cr2 = (t5) => { + or2.delete(t5.session), ir2.delete(t5.session), Xs2(t5); +}; +var dr2 = async (t5) => { + const e7 = `${oo2(t5)}/config`; + if (js2(t5.layout)) return { parsed: {}, tokens: [], source: e7 }; + const n7 = await ur2(t5, e7); + if (void 0 === n7) return { parsed: {}, tokens: [], source: e7 }; + const a4 = Pm(n7, e7); + return { parsed: xr2(Km(a4)), tokens: a4, source: e7 }; +}; +var ur2 = async (t5, e7) => { try { - return await t5.fs.readUtf8(e6); + return await t5.fs.readUtf8(e7); } catch (t6) { - if (t6 instanceof o && "FILE_NOT_FOUND" === t6.data.code) return; + if (t6 instanceof c && "FILE_NOT_FOUND" === t6.data.code) return; throw t6; } }; -var Yi2 = (t5, e6, n6, a6) => t5.toLowerCase() === n6.toLowerCase() && e6 === a6; -var Xi2 = async (t5, e6, n6, a6) => { - const { tokens: o6, source: i7 } = await Gi2(t5), s9 = new Set(a6.map((t6) => t6.toLowerCase())); - let r6 = false; - for (const t6 of o6) { +var fr2 = (t5, e7, n7, a4) => t5.toLowerCase() === n7.toLowerCase() && e7 === a4; +var lr2 = async (t5, e7, n7, a4) => { + const { tokens: o5, source: i11 } = await rr2(t5), s8 = new Set(a4.map((t6) => t6.toLowerCase())); + let r8 = false; + for (const t6 of o5) { if ("header" === t6.kind) { - r6 = Yi2(t6.section, t6.subsection, e6, n6); + r8 = fr2(t6.section, t6.subsection, e7, n7); continue; } - if (!r6 || "entry" !== t6.kind || null !== t6.value) continue; - const a7 = t6.key.toLowerCase(); - if (!s9.has(a7)) continue; - const o7 = e6.toLowerCase(); - return { key: void 0 === n6 ? `${o7}.${a7}` : `${o7}.${n6}.${a7}`, source: i7, line: t6.startLine + 1 }; + if (!r8 || "entry" !== t6.kind || null !== t6.value) continue; + const a5 = t6.key.toLowerCase(); + if (!s8.has(a5)) continue; + const o6 = e7.toLowerCase(); + return { key: void 0 === n7 ? `${o6}.${a5}` : `${o6}.${n7}.${a5}`, source: i11, line: t6.startLine + 1 }; } }; -var Zi2 = /* @__PURE__ */ new Set(["loosecompression", "compression"]); -var Ji2 = async (t5) => { - const { tokens: e6, source: n6 } = await Gi2(t5); - let a6 = false; - for (const t6 of e6) { +var hr2 = /* @__PURE__ */ new Set(["loosecompression", "compression"]); +var wr2 = async (t5) => { + const { tokens: e7, source: n7 } = await rr2(t5); + let a4 = false; + for (const t6 of e7) { + if ("header" === t6.kind) { + a4 = fr2(t6.section, t6.subsection, "core", void 0); + continue; + } + if (!a4 || "entry" !== t6.kind) continue; + const e8 = t6.key.toLowerCase(); + if (!hr2.has(e8)) continue; + const o5 = `core.${e8}`, i11 = t6.startLine + 1; + if (null === t6.value) return { key: o5, source: n7, line: i11, failure: { kind: "numeric", value: "", reason: "invalid unit" } }; + const s8 = hp(t6.value); + if (!s8.ok) return { key: o5, source: n7, line: i11, failure: { kind: "numeric", value: t6.value, reason: s8.reason } }; + if (s8.value < -1 || s8.value > 9) return { key: o5, source: n7, line: i11, failure: { kind: "zlib", level: s8.value } }; + } +}; +var yr2 = "auto"; +var pr2 = async (t5) => { + const e7 = await (async (t6) => { + const { tokens: e8, source: n7 } = await rr2(t6); + let a4 = false; + for (const t7 of e8) { + if ("header" === t7.kind) { + a4 = fr2(t7.section, t7.subsection, "gc", void 0); + continue; + } + if (!a4 || "entry" !== t7.kind) continue; + if (t7.key.toLowerCase() !== yr2) continue; + const e9 = hp(t7.value); + if (!(e9.ok && e9.value >= wp && e9.value <= pp)) return { key: `gc.${yr2}`, source: n7, value: t7.value ?? "", reason: e9.ok ? "out of range" : e9.reason }; + } + })(t5); + if (void 0 !== e7) throw Te(e7.key, e7.source, e7.value, e7.reason); +}; +var mr2 = async (t5) => { + const { tokens: e7, source: n7 } = await rr2(t5); + let a4 = false; + for (const t6 of e7) { if ("header" === t6.kind) { - a6 = Yi2(t6.section, t6.subsection, "core", void 0); + a4 = fr2(t6.section, t6.subsection, "pack", void 0); continue; } - if (!a6 || "entry" !== t6.kind) continue; - const e7 = t6.key.toLowerCase(); - if (!Zi2.has(e7)) continue; - const o6 = `core.${e7}`, i7 = t6.startLine + 1; - if (null === t6.value) return { key: o6, source: n6, line: i7, failure: { kind: "numeric", value: "", reason: "invalid unit" } }; - const s9 = nm(t6.value); - if (!s9.ok) return { key: o6, source: n6, line: i7, failure: { kind: "numeric", value: t6.value, reason: s9.reason } }; - if (s9.value < -1 || s9.value > 9) return { key: o6, source: n6, line: i7, failure: { kind: "zlib", level: s9.value } }; - } -}; -var Qi2 = "maxtreedepth"; -var ts2 = async (t5) => { - const { tokens: e6, source: n6 } = await Gi2(t5); - let a6, o6 = false; - for (const t6 of e6) "header" !== t6.kind ? o6 && "entry" === t6.kind && t6.key.toLowerCase() === Qi2 && (a6 = { value: t6.value }) : o6 = Yi2(t6.section, t6.subsection, "core", void 0); - if (void 0 === a6) return; - const i7 = `core.${Qi2}`; - if (null === a6.value) return { key: i7, source: n6, value: "", reason: "invalid unit" }; - const s9 = nm(a6.value); - return s9.ok ? s9.value < im || s9.value > sm ? { key: i7, source: n6, value: a6.value, reason: "out of range" } : void 0 : { key: i7, source: n6, value: a6.value, reason: s9.reason }; -}; -var es2 = (t5, e6) => { - const n6 = e6.section.toLowerCase(); - void 0 !== e6.subsection ? ((t6, e7, n7) => { - const a6 = e7.section.toLowerCase(); - "remote" === a6 ? us2(t6, n7, e7) : "branch" === a6 ? ls2(t6, n7, e7) : "submodule" === a6 ? ws2(t6, n7, e7) : "merge" === a6 ? ms2(t6, n7, e7) : "diff" === a6 ? ps2(t6, n7, e7) : "filter" === a6 ? gs2(t6, n7, e7) : "gpg" === a6 && Os(t6, n7, e7); - })(t5, e6, e6.subsection) : "remote" === n6 ? fs2(t5, e6) : "core" === n6 ? ss2(t5, e6) : "user" === n6 ? cs2(t5, e6) : "extensions" === n6 ? vs2(t5, e6) : "commit" === n6 ? bs2(t5, e6) : "tag" === n6 ? ks2(t5, e6) : "pack" === n6 ? xs2(t5, e6) : "push" === n6 ? $s2(t5, e6) : "gpg" === n6 && Es2(t5, e6); -}; -var ns2 = (t5) => { - const e6 = {}; - for (const n6 of t5) es2(e6, n6); - return Ls2(e6); -}; -var as2 = { bare: "bare", sparsecheckout: "sparseCheckout", sparsecheckoutcone: "sparseCheckoutCone" }; -var os2 = /* @__PURE__ */ new Set(["logallrefupdates", ...Object.keys(as2)]); -var is2 = (t5, e6, n6) => os2.has(e6) ? ((t6, e7, n7) => { - if ("logallrefupdates" === e7) { - const e8 = rs2(n7); - return void 0 === e8 ? void 0 : { ...t6, logAllRefUpdates: e8 }; - } - const a6 = as2[e7]; - if (void 0 === a6) return; - const o6 = am(n7); - return o6.ok ? { ...t6, [a6]: o6.value } : void 0; -})(t5, e6, n6) : null !== n6 ? "excludesfile" === e6 ? { ...t5, excludesFile: n6 } : "attributesfile" === e6 ? { ...t5, attributesFile: n6 } : "hookspath" === e6 ? { ...t5, hooksPath: n6 } : "notesref" === e6 ? { ...t5, notesRef: n6 } : "sshcommand" === e6 ? { ...t5, sshCommand: n6 } : "loosecompression" === e6 || "compression" === e6 ? ((t6, e7, n7) => { - const a6 = nm(n7); - if (a6.ok) { - if ("loosecompression" === e7) return { ...t6, looseCompression: a6.value, looseCompressionFromLoose: true }; - if (true !== t6.looseCompressionFromLoose) return { ...t6, looseCompression: a6.value }; - } -})(t5, e6, n6) : e6 === Qi2 ? ((t6, e7) => { - const n7 = nm(e7); - if (n7.ok && !(n7.value < im || n7.value > sm)) return { ...t6, maxTreeDepth: n7.value }; -})(t5, n6) : void 0 : void 0; -var ss2 = (t5, e6) => { - for (const { key: n6, value: a6 } of e6.entries) { - const e7 = is2(t5.core ?? {}, n6.toLowerCase(), a6); - void 0 !== e7 && (t5.core = e7); - } -}; -var rs2 = (t5) => { + if (!a4 || "entry" !== t6.kind) continue; + const e8 = t6.key.toLowerCase(), o5 = Kr2(e8); + if (void 0 === o5) continue; + const i11 = o5(t6.value); + if (!i11.ok) return { key: `pack.${e8}`, source: n7, value: t6.value ?? "", reason: i11.reason }; + } +}; +var gr2 = async (t5) => { + const e7 = await mr2(t5); + if (void 0 !== e7) throw Te(e7.key, e7.source, e7.value, e7.reason); +}; +var vr2 = "maxtreedepth"; +var kr2 = async (t5) => { + const { tokens: e7, source: n7 } = await rr2(t5); + let a4, o5 = false; + for (const t6 of e7) "header" !== t6.kind ? o5 && "entry" === t6.kind && t6.key.toLowerCase() === vr2 && (a4 = { value: t6.value }) : o5 = fr2(t6.section, t6.subsection, "core", void 0); + if (void 0 === a4) return; + const i11 = `core.${vr2}`; + if (null === a4.value) return { key: i11, source: n7, value: "", reason: "invalid unit" }; + const s8 = hp(a4.value); + return s8.ok ? s8.value < wp || s8.value > pp ? { key: i11, source: n7, value: a4.value, reason: "out of range" } : void 0 : { key: i11, source: n7, value: a4.value, reason: s8.reason }; +}; +var br2 = (t5, e7) => { + const n7 = e7.section.toLowerCase(); + void 0 !== e7.subsection ? ((t6, e8, n8) => { + const a4 = e8.section.toLowerCase(); + "remote" === a4 ? Lr2(t6, n8, e8) : "branch" === a4 ? Pr2(t6, n8, e8) : "submodule" === a4 ? Tr2(t6, n8, e8) : "merge" === a4 ? Br2(t6, n8, e8) : "diff" === a4 ? Rr2(t6, n8, e8) : "filter" === a4 ? _r2(t6, n8, e8) : "gpg" === a4 && ac2(t6, n8, e8); + })(t5, e7, e7.subsection) : "remote" === n7 ? Mr2(t5, e7) : "core" === n7 ? Dr2(t5, e7) : "user" === n7 ? Or2(t5, e7) : "extensions" === n7 ? Fr2(t5, e7) : "commit" === n7 ? Ur2(t5, e7) : "tag" === n7 ? zr2(t5, e7) : "pack" === n7 ? Vr2(t5, e7) : "gc" === n7 ? Xr2(t5, e7) : "push" === n7 ? tc2(t5, e7) : "gpg" === n7 && nc2(t5, e7); +}; +var xr2 = (t5) => { + const e7 = {}; + for (const n7 of t5) br2(e7, n7); + return oc2(e7); +}; +var Ir2 = { bare: "bare", sparsecheckout: "sparseCheckout", sparsecheckoutcone: "sparseCheckoutCone" }; +var Cr2 = /* @__PURE__ */ new Set(["logallrefupdates", ...Object.keys(Ir2)]); +var Sr2 = (t5, e7, n7) => Cr2.has(e7) ? ((t6, e8, n8) => { + if ("logallrefupdates" === e8) { + const e9 = $r2(n8); + return void 0 === e9 ? void 0 : { ...t6, logAllRefUpdates: e9 }; + } + const a4 = Ir2[e8]; + if (void 0 === a4) return; + const o5 = yp(n8); + return o5.ok ? { ...t6, [a4]: o5.value } : void 0; +})(t5, e7, n7) : null !== n7 ? "excludesfile" === e7 ? { ...t5, excludesFile: n7 } : "attributesfile" === e7 ? { ...t5, attributesFile: n7 } : "hookspath" === e7 ? { ...t5, hooksPath: n7 } : "notesref" === e7 ? { ...t5, notesRef: n7 } : "sshcommand" === e7 ? { ...t5, sshCommand: n7 } : "loosecompression" === e7 || "compression" === e7 ? ((t6, e8, n8) => { + const a4 = hp(n8); + if (a4.ok) { + if ("loosecompression" === e8) return { ...t6, looseCompression: a4.value, looseCompressionFromLoose: true }; + if (true !== t6.looseCompressionFromLoose) return { ...t6, looseCompression: a4.value }; + } +})(t5, e7, n7) : e7 === vr2 ? ((t6, e8) => { + const n8 = hp(e8); + if (n8.ok && !(n8.value < wp || n8.value > pp)) return { ...t6, maxTreeDepth: n8.value }; +})(t5, n7) : void 0 : void 0; +var Dr2 = (t5, e7) => { + for (const { key: n7, value: a4 } of e7.entries) { + const e8 = Sr2(t5.core ?? {}, n7.toLowerCase(), a4); + void 0 !== e8 && (t5.core = e8); + } +}; +var $r2 = (t5) => { if (null !== t5 && "always" === t5.toLowerCase()) return "always"; - const e6 = am(t5); - return e6.ok ? e6.value : void 0; -}; -var cs2 = (t5, e6) => { - for (const { key: n6, value: a6 } of e6.entries) null !== a6 && ("name" === n6 ? t5.user = { ...t5.user, name: a6 } : "email" === n6 ? t5.user = { ...t5.user, email: a6 } : "signingkey" === n6.toLowerCase() && (t5.user = { ...t5.user, signingKey: a6 })); -}; -var ds2 = (t5, e6, n6) => { - const a6 = e6.toLowerCase(); - if ("url" === a6) null !== n6 && (t5.url = n6); - else if ("pushurl" === a6) null !== n6 && (t5.pushUrl = n6); - else if ("fetch" === a6) null !== n6 && (t5.fetch ??= [], t5.fetch.push(n6)); - else if ("promisor" === a6) { - const e7 = am(n6); - e7.ok && (t5.promisor = e7.value); - } else "partialclonefilter" === a6 && null !== n6 && (t5.partialCloneFilter = n6); -}; -var us2 = (t5, e6, n6) => { + const e7 = yp(t5); + return e7.ok ? e7.value : void 0; +}; +var Or2 = (t5, e7) => { + for (const { key: n7, value: a4 } of e7.entries) null !== a4 && ("name" === n7 ? t5.user = { ...t5.user, name: a4 } : "email" === n7 ? t5.user = { ...t5.user, email: a4 } : "signingkey" === n7.toLowerCase() && (t5.user = { ...t5.user, signingKey: a4 })); +}; +var Er2 = (t5, e7, n7) => { + const a4 = e7.toLowerCase(); + if ("url" === a4) null !== n7 && (t5.url = n7); + else if ("pushurl" === a4) null !== n7 && (t5.pushUrl = n7); + else if ("fetch" === a4) null !== n7 && (t5.fetch ??= [], t5.fetch.push(n7)); + else if ("promisor" === a4) { + const e8 = yp(n7); + e8.ok && (t5.promisor = e8.value); + } else "partialclonefilter" === a4 && null !== n7 && (t5.partialCloneFilter = n7); +}; +var Lr2 = (t5, e7, n7) => { t5.remote ??= /* @__PURE__ */ new Map(); - const a6 = t5.remote.get(e6) ?? {}, o6 = { ...a6, fetch: a6.fetch ? [...a6.fetch] : [] }; - for (const { key: t6, value: e7 } of n6.entries) ds2(o6, t6, e7); - t5.remote.set(e6, ((t6) => { - const e7 = {}; - return void 0 !== t6.url && (e7.url = t6.url), void 0 !== t6.pushUrl && (e7.pushUrl = t6.pushUrl), void 0 !== t6.fetch && t6.fetch.length > 0 && (e7.fetch = t6.fetch), void 0 !== t6.promisor && (e7.promisor = t6.promisor), void 0 !== t6.partialCloneFilter && (e7.partialCloneFilter = t6.partialCloneFilter), e7; - })(o6)); + const a4 = t5.remote.get(e7) ?? {}, o5 = { ...a4, fetch: a4.fetch ? [...a4.fetch] : [] }; + for (const { key: t6, value: e8 } of n7.entries) Er2(o5, t6, e8); + t5.remote.set(e7, ((t6) => { + const e8 = {}; + return void 0 !== t6.url && (e8.url = t6.url), void 0 !== t6.pushUrl && (e8.pushUrl = t6.pushUrl), void 0 !== t6.fetch && t6.fetch.length > 0 && (e8.fetch = t6.fetch), void 0 !== t6.promisor && (e8.promisor = t6.promisor), void 0 !== t6.partialCloneFilter && (e8.partialCloneFilter = t6.partialCloneFilter), e8; + })(o5)); }; -var fs2 = (t5, e6) => { - for (const { key: n6, value: a6 } of e6.entries) null !== a6 && "pushdefault" === n6.toLowerCase() && (t5.remotePushDefault = a6); +var Mr2 = (t5, e7) => { + for (const { key: n7, value: a4 } of e7.entries) null !== a4 && "pushdefault" === n7.toLowerCase() && (t5.remotePushDefault = a4); }; -var ls2 = (t5, e6, n6) => { +var Pr2 = (t5, e7, n7) => { t5.branch ??= /* @__PURE__ */ new Map(); - const a6 = { ...t5.branch.get(e6) ?? {} }; - for (const { key: t6, value: e7 } of n6.entries) null !== e7 && ("remote" === t6 ? a6.remote = e7 : "merge" === t6 ? a6.merge = e7 : "pushremote" === t6.toLowerCase() && (a6.pushRemote = e7)); - t5.branch.set(e6, a6); + const a4 = { ...t5.branch.get(e7) ?? {} }; + for (const { key: t6, value: e8 } of n7.entries) null !== e8 && ("remote" === t6 ? a4.remote = e8 : "merge" === t6 ? a4.merge = e8 : "pushremote" === t6.toLowerCase() && (a4.pushRemote = e8)); + t5.branch.set(e7, a4); }; -var hs2 = (t5, e6, n6) => { - const a6 = e6.toLowerCase(); - if ("active" === a6) { - const e7 = am(n6); - return void (e7.ok && (t5.active = e7.value)); +var Nr2 = (t5, e7, n7) => { + const a4 = e7.toLowerCase(); + if ("active" === a4) { + const e8 = yp(n7); + return void (e8.ok && (t5.active = e8.value)); } - null !== n6 && ("url" === a6 ? t5.url = n6 : "update" === a6 && (t5.update = n6)); + null !== n7 && ("url" === a4 ? t5.url = n7 : "update" === a4 && (t5.update = n7)); }; -var ws2 = (t5, e6, n6) => { +var Tr2 = (t5, e7, n7) => { t5.submodule ??= /* @__PURE__ */ new Map(); - const a6 = { ...t5.submodule.get(e6) ?? {} }; - for (const { key: t6, value: e7 } of n6.entries) hs2(a6, t6, e7); - t5.submodule.set(e6, a6); + const a4 = { ...t5.submodule.get(e7) ?? {} }; + for (const { key: t6, value: e8 } of n7.entries) Nr2(a4, t6, e8); + t5.submodule.set(e7, a4); }; -var ms2 = (t5, e6, n6) => { +var Br2 = (t5, e7, n7) => { t5.merge ??= /* @__PURE__ */ new Map(); - const a6 = { ...t5.merge.get(e6) ?? {} }; - for (const { key: t6, value: e7 } of n6.entries) { - if (null === e7) continue; - const n7 = t6.toLowerCase(); - "name" === n7 ? a6.name = e7 : "driver" === n7 ? a6.driver = e7 : "recursive" === n7 && (a6.recursive = e7); + const a4 = { ...t5.merge.get(e7) ?? {} }; + for (const { key: t6, value: e8 } of n7.entries) { + if (null === e8) continue; + const n8 = t6.toLowerCase(); + "name" === n8 ? a4.name = e8 : "driver" === n8 ? a4.driver = e8 : "recursive" === n8 && (a4.recursive = e8); } - t5.merge.set(e6, a6); + t5.merge.set(e7, a4); }; -var ps2 = (t5, e6, n6) => { +var Rr2 = (t5, e7, n7) => { t5.diff ??= /* @__PURE__ */ new Map(); - const a6 = { ...t5.diff.get(e6) ?? {} }; - for (const { key: t6, value: e7 } of n6.entries) { - const n7 = t6.toLowerCase(); - if ("textconv" === n7) { - if (null === e7) continue; - a6.textconv = e7; - } else if ("cachetextconv" === n7) { - const t7 = am(e7); - t7.ok && (a6.cachetextconv = t7.value); + const a4 = { ...t5.diff.get(e7) ?? {} }; + for (const { key: t6, value: e8 } of n7.entries) { + const n8 = t6.toLowerCase(); + if ("textconv" === n8) { + if (null === e8) continue; + a4.textconv = e8; + } else if ("cachetextconv" === n8) { + const t7 = yp(e8); + t7.ok && (a4.cachetextconv = t7.value); } } - t5.diff.set(e6, a6); + t5.diff.set(e7, a4); }; -var ys2 = (t5, e6, n6) => { - const a6 = e6.toLowerCase(); - if ("required" === a6) { - const e7 = am(n6); - return void (e7.ok && (t5.required = e7.value)); +var Ar2 = (t5, e7, n7) => { + const a4 = e7.toLowerCase(); + if ("required" === a4) { + const e8 = yp(n7); + return void (e8.ok && (t5.required = e8.value)); } - null !== n6 && ("clean" === a6 ? t5.clean = n6 : "smudge" === a6 ? t5.smudge = n6 : "process" === a6 && (t5.process = n6)); + null !== n7 && ("clean" === a4 ? t5.clean = n7 : "smudge" === a4 ? t5.smudge = n7 : "process" === a4 && (t5.process = n7)); }; -var gs2 = (t5, e6, n6) => { +var _r2 = (t5, e7, n7) => { t5.filter ??= /* @__PURE__ */ new Map(); - const a6 = { ...t5.filter.get(e6) ?? {} }; - for (const { key: t6, value: e7 } of n6.entries) ys2(a6, t6, e7); - t5.filter.set(e6, a6); -}; -var vs2 = (t5, e6) => { - for (const { key: n6, value: a6 } of e6.entries) "partialclone" === n6.toLowerCase() && null !== a6 && (t5.extensions = { ...t5.extensions, partialClone: a6 }); -}; -var bs2 = (t5, e6) => { - for (const { key: n6, value: a6 } of e6.entries) if ("gpgsign" === n6.toLowerCase()) { - const e7 = am(a6); - e7.ok && (t5.commit = { ...t5.commit, gpgSign: e7.value }); - } -}; -var ks2 = (t5, e6) => { - for (const { key: n6, value: a6 } of e6.entries) if ("gpgsign" === n6.toLowerCase()) { - const e7 = am(a6); - e7.ok && (t5.tag = { ...t5.tag, gpgSign: e7.value }); - } -}; -var xs2 = (t5, e6) => { - for (const { key: n6, value: a6 } of e6.entries) if ("writereverseindex" === n6.toLowerCase()) { - const e7 = am(a6); - e7.ok && (t5.pack = { ...t5.pack, writeReverseIndex: e7.value }); - } -}; -var Is2 = (t5) => { + const a4 = { ...t5.filter.get(e7) ?? {} }; + for (const { key: t6, value: e8 } of n7.entries) Ar2(a4, t6, e8); + t5.filter.set(e7, a4); +}; +var Fr2 = (t5, e7) => { + for (const { key: n7, value: a4 } of e7.entries) "partialclone" === n7.toLowerCase() && null !== a4 && (t5.extensions = { ...t5.extensions, partialClone: a4 }); +}; +var Ur2 = (t5, e7) => { + for (const { key: n7, value: a4 } of e7.entries) if ("gpgsign" === n7.toLowerCase()) { + const e8 = yp(a4); + e8.ok && (t5.commit = { ...t5.commit, gpgSign: e8.value }); + } +}; +var zr2 = (t5, e7) => { + for (const { key: n7, value: a4 } of e7.entries) if ("gpgsign" === n7.toLowerCase()) { + const e8 = yp(a4); + e8.ok && (t5.tag = { ...t5.tag, gpgSign: e8.value }); + } +}; +var jr2 = "window"; +var Hr2 = "depth"; +var Wr2 = (t5) => { + const e7 = hp(t5); + return e7.ok && (e7.value < wp || e7.value > pp) ? { ok: false, reason: "out of range" } : e7; +}; +var Gr2 = (t5) => { + const e7 = hp(t5, lp); + return e7.ok && e7.value < 0 ? { ok: false, reason: "invalid unit" } : e7; +}; +var Kr2 = (t5) => t5 === jr2 || t5 === Hr2 ? Wr2 : "windowmemory" === t5 ? Gr2 : void 0; +var qr2 = (t5, e7, n7) => { + if ("writereverseindex" === e7) return ((t6, e8) => { + const n8 = yp(e8); + return n8.ok ? { ...t6, writeReverseIndex: n8.value } : void 0; + })(t5, n7); + const a4 = Kr2(e7); + return void 0 !== a4 ? ((t6, e8, n8, a5) => { + const o5 = a5(n8); + return o5.ok ? { ...t6, [e8]: o5.value } : void 0; + })(t5, e7 === jr2 ? "window" : e7 === Hr2 ? "depth" : "windowMemory", n7, a4) : void 0; +}; +var Vr2 = (t5, e7) => { + for (const { key: n7, value: a4 } of e7.entries) { + const e8 = qr2(t5.pack ?? {}, n7.toLowerCase(), a4); + void 0 !== e8 && (t5.pack = e8); + } +}; +var Yr2 = (t5, e7, n7) => { + if ("auto" === e7) return ((t6, e8) => { + const n8 = hp(e8); + if (!(!n8.ok || n8.value < wp || n8.value > pp)) return { ...t6, auto: n8.value }; + })(t5, n7); + if ("pruneexpire" === e7) return null === n7 ? void 0 : { ...t5, pruneExpire: n7 }; + if ("cruftpacks" === e7) { + const e8 = yp(n7); + return e8.ok ? { ...t5, cruftPacks: e8.value } : void 0; + } +}; +var Xr2 = (t5, e7) => { + for (const { key: n7, value: a4 } of e7.entries) { + const e8 = Yr2(t5.gc ?? {}, n7.toLowerCase(), a4); + void 0 !== e8 && (t5.gc = e8); + } +}; +var Zr2 = (t5) => { if (null !== t5 && "if-asked" === t5.toLowerCase()) return "if-asked"; - const e6 = am(t5); - return e6.ok ? e6.value ? "true" : "false" : void 0; -}; -var Cs2 = (t5) => "tracking" === t5 ? "upstream" : "nothing" === t5 || "current" === t5 || "upstream" === t5 || "simple" === t5 || "matching" === t5 ? t5 : void 0; -var Ss2 = async (t5) => { - const { tokens: e6, source: n6 } = await Gi2(t5); - let a6 = false; - for (const t6 of e6) if ("header" !== t6.kind) { - if (a6 && "entry" === t6.kind && "default" === t6.key.toLowerCase() && null !== t6.value && void 0 === Cs2(t6.value)) return { key: "push.default", source: n6, line: t6.startLine + 1, value: t6.value }; - } else a6 = Yi2(t6.section, t6.subsection, "push", void 0); -}; -var $s2 = (t5, e6) => { - for (const { key: n6, value: a6 } of e6.entries) if ("gpgsign" === n6.toLowerCase()) { - const e7 = Is2(a6); - void 0 !== e7 && (t5.push = { ...t5.push, gpgSign: e7 }); - } else if ("default" === n6.toLowerCase()) { - const e7 = Cs2(a6); - void 0 !== e7 && (t5.push = { ...t5.push, default: e7 }); - } -}; -var Ds2 = (t5) => "openpgp" === t5 || "ssh" === t5 || "x509" === t5; -var Es2 = (t5, e6) => { - for (const { key: n6, value: a6 } of e6.entries) { - if (null === a6) continue; - const e7 = n6.toLowerCase(); - "format" === e7 && Ds2(a6) ? t5.gpg = { ...t5.gpg, format: a6 } : "program" === e7 && (t5.gpg = { ...t5.gpg, program: a6 }); - } -}; -var Os = (t5, e6, n6) => { - if ("ssh" === e6) for (const { key: e7, value: a6 } of n6.entries) "program" === e7.toLowerCase() && null !== a6 && (t5.gpg = { ...t5.gpg, ssh: { ...t5.gpg?.ssh, program: a6 } }); -}; -var Ls2 = (t5) => { - const e6 = {}, n6 = ((t6) => { + const e7 = yp(t5); + return e7.ok ? e7.value ? "true" : "false" : void 0; +}; +var Jr2 = (t5) => "tracking" === t5 ? "upstream" : "nothing" === t5 || "current" === t5 || "upstream" === t5 || "simple" === t5 || "matching" === t5 ? t5 : void 0; +var Qr2 = async (t5) => { + const { tokens: e7, source: n7 } = await rr2(t5); + let a4 = false; + for (const t6 of e7) if ("header" !== t6.kind) { + if (a4 && "entry" === t6.kind && "default" === t6.key.toLowerCase() && null !== t6.value && void 0 === Jr2(t6.value)) return { key: "push.default", source: n7, line: t6.startLine + 1, value: t6.value }; + } else a4 = fr2(t6.section, t6.subsection, "push", void 0); +}; +var tc2 = (t5, e7) => { + for (const { key: n7, value: a4 } of e7.entries) if ("gpgsign" === n7.toLowerCase()) { + const e8 = Zr2(a4); + void 0 !== e8 && (t5.push = { ...t5.push, gpgSign: e8 }); + } else if ("default" === n7.toLowerCase()) { + const e8 = Jr2(a4); + void 0 !== e8 && (t5.push = { ...t5.push, default: e8 }); + } +}; +var ec2 = (t5) => "openpgp" === t5 || "ssh" === t5 || "x509" === t5; +var nc2 = (t5, e7) => { + for (const { key: n7, value: a4 } of e7.entries) { + if (null === a4) continue; + const e8 = n7.toLowerCase(); + "format" === e8 && ec2(a4) ? t5.gpg = { ...t5.gpg, format: a4 } : "program" === e8 && (t5.gpg = { ...t5.gpg, program: a4 }); + } +}; +var ac2 = (t5, e7, n7) => { + if ("ssh" === e7) for (const { key: e8, value: a4 } of n7.entries) "program" === e8.toLowerCase() && null !== a4 && (t5.gpg = { ...t5.gpg, ssh: { ...t5.gpg?.ssh, program: a4 } }); +}; +var oc2 = (t5) => { + const e7 = {}, n7 = ((t6) => { if (void 0 !== t6) return { ...void 0 !== t6.bare ? { bare: t6.bare } : {}, ...void 0 !== t6.excludesFile ? { excludesFile: t6.excludesFile } : {}, ...void 0 !== t6.attributesFile ? { attributesFile: t6.attributesFile } : {}, ...void 0 !== t6.logAllRefUpdates ? { logAllRefUpdates: t6.logAllRefUpdates } : {}, ...void 0 !== t6.hooksPath ? { hooksPath: t6.hooksPath } : {}, ...void 0 !== t6.notesRef ? { notesRef: t6.notesRef } : {}, ...void 0 !== t6.sparseCheckout ? { sparseCheckout: t6.sparseCheckout } : {}, ...void 0 !== t6.sparseCheckoutCone ? { sparseCheckoutCone: t6.sparseCheckoutCone } : {}, ...void 0 !== t6.looseCompression ? { looseCompression: t6.looseCompression } : {}, ...void 0 !== t6.maxTreeDepth ? { maxTreeDepth: t6.maxTreeDepth } : {}, ...void 0 !== t6.sshCommand ? { sshCommand: t6.sshCommand } : {} }; })(t5.core); - void 0 !== n6 && (e6.core = n6); - const a6 = ((t6) => { + void 0 !== n7 && (e7.core = n7); + const a4 = ((t6) => { if (void 0 !== t6) return void 0 !== t6.name && void 0 !== t6.email || void 0 !== t6.signingKey ? { ...void 0 !== t6.name ? { name: t6.name } : {}, ...void 0 !== t6.email ? { email: t6.email } : {}, ...void 0 !== t6.signingKey ? { signingKey: t6.signingKey } : {} } : void 0; })(t5.user); - return void 0 !== a6 && (e6.user = a6), void 0 !== t5.remote && t5.remote.size > 0 && (e6.remote = t5.remote), void 0 !== t5.remotePushDefault && (e6.remotePushDefault = t5.remotePushDefault), void 0 !== t5.extensions && (e6.extensions = t5.extensions), void 0 !== t5.branch && t5.branch.size > 0 && (e6.branch = t5.branch), void 0 !== t5.submodule && t5.submodule.size > 0 && (e6.submodule = t5.submodule), void 0 !== t5.merge && t5.merge.size > 0 && (e6.merge = t5.merge), ((t6, e7) => { - void 0 !== t6.diff && t6.diff.size > 0 && (e7.diff = t6.diff), void 0 !== t6.filter && t6.filter.size > 0 && (e7.filter = t6.filter); - })(t5, e6), ((t6, e7) => { - void 0 !== t6.commit && (e7.commit = t6.commit), void 0 !== t6.tag && (e7.tag = t6.tag), void 0 !== t6.pack && (e7.pack = t6.pack), void 0 !== t6.push && (e7.push = t6.push), void 0 !== t6.gpg && (e7.gpg = t6.gpg); - })(t5, e6), e6; -}; -var Ms2 = (t5, e6, n6) => true === n6.anySubsection ? t5.toLowerCase() === n6.section.toLowerCase() : Yi2(t5, e6, n6.section, n6.subsection); -var Ps2 = (t5, e6, n6, a6, o6) => !(null === t5 || true === a6.requireSubsection && void 0 === n6 || !o6.has(e6.toLowerCase()) || a6.accepts(t5)); -var Ts2 = (t5, e6, n6) => { - if (void 0 !== n6.fixedKey) return n6.fixedKey; - const a6 = n6.section.toLowerCase(), o6 = t5.toLowerCase(); - return void 0 === e6 ? `${a6}.${o6}` : `${a6}.${e6}.${o6}`; -}; -var Ns2 = async (t5, e6) => { - const { tokens: n6, source: a6 } = await Gi2(t5), o6 = new Set(e6.keys.map((t6) => t6.toLowerCase())); - let i7, s9 = false; - for (const t6 of n6) { + return void 0 !== a4 && (e7.user = a4), void 0 !== t5.remote && t5.remote.size > 0 && (e7.remote = t5.remote), void 0 !== t5.remotePushDefault && (e7.remotePushDefault = t5.remotePushDefault), void 0 !== t5.extensions && (e7.extensions = t5.extensions), void 0 !== t5.branch && t5.branch.size > 0 && (e7.branch = t5.branch), void 0 !== t5.submodule && t5.submodule.size > 0 && (e7.submodule = t5.submodule), void 0 !== t5.merge && t5.merge.size > 0 && (e7.merge = t5.merge), ((t6, e8) => { + void 0 !== t6.diff && t6.diff.size > 0 && (e8.diff = t6.diff), void 0 !== t6.filter && t6.filter.size > 0 && (e8.filter = t6.filter); + })(t5, e7), ((t6, e8) => { + void 0 !== t6.commit && (e8.commit = t6.commit), void 0 !== t6.tag && (e8.tag = t6.tag), void 0 !== t6.pack && (e8.pack = t6.pack), void 0 !== t6.gc && (e8.gc = t6.gc), void 0 !== t6.push && (e8.push = t6.push), void 0 !== t6.gpg && (e8.gpg = t6.gpg); + })(t5, e7), e7; +}; +var ic2 = (t5, e7, n7) => true === n7.anySubsection ? t5.toLowerCase() === n7.section.toLowerCase() : fr2(t5, e7, n7.section, n7.subsection); +var sc2 = (t5, e7, n7, a4, o5) => !(null === t5 || true === a4.requireSubsection && void 0 === n7 || !o5.has(e7.toLowerCase()) || a4.accepts(t5)); +var rc2 = (t5, e7, n7) => { + if (void 0 !== n7.fixedKey) return n7.fixedKey; + const a4 = n7.section.toLowerCase(), o5 = t5.toLowerCase(); + return void 0 === e7 ? `${a4}.${o5}` : `${a4}.${e7}.${o5}`; +}; +var cc2 = async (t5, e7) => { + const { tokens: n7, source: a4 } = await rr2(t5), o5 = new Set(e7.keys.map((t6) => t6.toLowerCase())); + let i11, s8 = false; + for (const t6 of n7) { if ("header" === t6.kind) { - i7 = t6.subsection, s9 = Ms2(t6.section, t6.subsection, e6); + i11 = t6.subsection, s8 = ic2(t6.section, t6.subsection, e7); continue; } - if (!s9 || "entry" !== t6.kind) continue; - const n7 = t6.value; - if (Ps2(n7, t6.key, i7, e6, o6)) return { key: Ts2(t6.key, i7, e6), source: a6, line: t6.startLine + 1, value: n7 }; + if (!s8 || "entry" !== t6.kind) continue; + const n8 = t6.value; + if (sc2(n8, t6.key, i11, e7, o5)) return { key: rc2(t6.key, i11, e7), source: a4, line: t6.startLine + 1, value: n8 }; } }; -var Rs2 = (t5) => am(t5).ok; -var _s2 = async (t5, e6, n6, a6) => Ns2(t5, { section: e6, subsection: n6, keys: a6, accepts: Rs2 }); -var Fs2 = async (t5, e6, n6, { requireSubsection: a6 = false } = {}) => Ns2(t5, { section: e6, anySubsection: true, requireSubsection: a6, keys: n6, accepts: Rs2 }); -var Us2 = async (t5) => Ns2(t5, { section: "core", keys: ["logallrefupdates"], accepts: (t6) => void 0 !== rs2(t6), fixedKey: "core.logallrefupdates" }); -var As2 = async (t5) => Ns2(t5, { section: "push", keys: ["gpgsign"], accepts: (t6) => void 0 !== Is2(t6), fixedKey: "push.gpgsign" }); -async function Bs2(t5) { - const e6 = await Hi2(t5), { name: n6, email: a6 } = (o6 = e6.user, void 0 !== o6?.name && void 0 !== o6?.email ? { name: o6.name, email: o6.email } : { name: "tsgit", email: "tsgit@localhost" }); - var o6; - return { name: n6, email: a6, timestamp: Math.floor(Date.now() / 1e3), timezoneOffset: "+0000" }; +var dc2 = (t5) => yp(t5).ok; +var uc2 = async (t5, e7, n7, a4) => cc2(t5, { section: e7, subsection: n7, keys: a4, accepts: dc2 }); +var fc2 = async (t5, e7, n7, { requireSubsection: a4 = false } = {}) => cc2(t5, { section: e7, anySubsection: true, requireSubsection: a4, keys: n7, accepts: dc2 }); +var lc2 = async (t5) => cc2(t5, { section: "core", keys: ["logallrefupdates"], accepts: (t6) => void 0 !== $r2(t6), fixedKey: "core.logallrefupdates" }); +var hc2 = async (t5) => cc2(t5, { section: "push", keys: ["gpgsign"], accepts: (t6) => void 0 !== Zr2(t6), fixedKey: "push.gpgsign" }); +async function wc2(t5) { + const e7 = await sr2(t5), { name: n7, email: a4 } = (o5 = e7.user, void 0 !== o5?.name && void 0 !== o5?.email ? { name: o5.name, email: o5.email } : { name: "tsgit", email: "tsgit@localhost" }); + var o5; + return { name: n7, email: a4, timestamp: Math.floor(Date.now() / 1e3), timezoneOffset: "+0000" }; } -function js2(t5) { - return "FILE_NOT_FOUND" === Ia2(t5); +function yc2(t5) { + return "FILE_NOT_FOUND" === to2(t5); } -var zs2 = "tables.list"; -var Ws2 = /* @__PURE__ */ new WeakMap(); -var Hs2 = /[/\\]|\.\.|\0/; -function Gs2(t5) { +var pc2 = "tables.list"; +var mc2 = /* @__PURE__ */ new WeakMap(); +var gc2 = /[/\\]|\.\.|\0/; +function vc2(t5) { if ("" === t5) return []; - if (!t5.endsWith("\n")) throw zd("tables-list", "tables.list is not newline-terminated"); - const e6 = t5.slice(0, -1).split("\n"); - if (e6.some((t6) => 0 === t6.length)) throw zd("tables-list", "tables.list contains a blank line"); - if (e6.length > 4096) throw zd("tables-list", `tables.list names ${e6.length} tables, exceeding the 4096-table limit`); - const n6 = e6.find((t6) => { - return !(!(e7 = t6).startsWith(".") && !Hs2.test(e7)); - var e7; + if (!t5.endsWith("\n")) throw _u("tables-list", "tables.list is not newline-terminated"); + const e7 = t5.slice(0, -1).split("\n"); + if (e7.some((t6) => 0 === t6.length)) throw _u("tables-list", "tables.list contains a blank line"); + if (e7.length > 4096) throw _u("tables-list", `tables.list names ${e7.length} tables, exceeding the 4096-table limit`); + const n7 = e7.find((t6) => { + return !(!(e8 = t6).startsWith(".") && !gc2.test(e8)); + var e8; }); - if (void 0 !== n6) throw zd("tables-list", `tables.list entry is unsafe: ${n6}`); - return e6; + if (void 0 !== n7) throw _u("tables-list", `tables.list entry is unsafe: ${n7}`); + return e7; } -async function Ks2(t5, e6) { - const n6 = await t5.fs.stat(e6); - if (n6.size > 67108864) throw zd("tables-list", `table ${e6} is ${n6.size} bytes, exceeding the 67108864-byte limit`); - return t5.fs.read(e6); +async function kc2(t5, e7) { + const n7 = await t5.fs.stat(e7); + if (n7.size > 67108864) throw _u("tables-list", `table ${e7} is ${n7.size} bytes, exceeding the 67108864-byte limit`); + return t5.fs.read(e7); } -async function qs2(t5, e6) { +async function bc2(t5, e7) { try { - return await Ks2(t5, e6); + return await kc2(t5, e7); } catch (t6) { if ((function(t7) { - return t7 instanceof o && "FILE_NOT_FOUND" === t7.data.code; + return t7 instanceof c && "FILE_NOT_FOUND" === t7.data.code; })(t6)) return; throw t6; } } -async function Vs2(t5, e6) { - const n6 = Gs2(await t5.fs.readUtf8(`${e6}/${zs2}`)), a6 = []; - for (const o6 of n6) { - const n7 = await qs2(t5, `${e6}/${o6}`); - if (void 0 === n7) return { ok: false }; - a6.push(await sl(n7, t5.compressor.streamInflate)); +async function xc2(t5, e7) { + const n7 = vc2(await t5.fs.readUtf8(`${e7}/${pc2}`)), a4 = []; + for (const o5 of n7) { + const n8 = await bc2(t5, `${e7}/${o5}`); + if (void 0 === n8) return { ok: false }; + a4.push(await Ul(n8, t5.compressor.streamInflate)); } - return { ok: true, tables: a6 }; + return { ok: true, tables: a4 }; } -function Ys2(t5, e6) { - Ws2.get(t5.deltaCache)?.delete(e6); +function Ic2(t5, e7) { + mc2.get(t5.session)?.delete(e7); } -var Xs2 = new TextEncoder(); -function Zs2(t5) { - return "FILE_EXISTS" === Ia2(t5); +var Cc2 = new TextEncoder(); +function Sc2(t5) { + return "FILE_EXISTS" === to2(t5); } -function Js2(t5) { - return new Promise((e6) => setTimeout(e6, t5)); +function Dc2(t5) { + return new Promise((e7) => setTimeout(e7, t5)); } -function Qs2() { +function $c2() { return 10 + 10 * Math.random(); } -function tr2() { +function Oc2() { return Math.floor(4294967296 * Math.random()).toString(16).padStart(8, "0"); } -async function er2(t5, e6) { +async function Ec2(t5, e7) { try { - await t5.fs.rm(e6); + await t5.fs.rm(e7); } catch (t6) { if (!(function(t7) { - return "FILE_NOT_FOUND" === Ia2(t7); + return "FILE_NOT_FOUND" === to2(t7); })(t6)) throw t6; } } -async function nr2(t5, e6) { +async function Lc2(t5, e7) { try { - return await t5.fs.writeExclusive(e6, new Uint8Array(0)), true; + return await t5.fs.writeExclusive(e7, new Uint8Array(0)), true; } catch (t6) { - if (Zs2(t6)) return false; + if (Sc2(t6)) return false; throw t6; } } -async function ar2(t5, e6, n6) { +async function Mc2(t5, e7, n7) { if (void 0 !== t5.fs.atomicRename) return false; - let a6, o6; + let a4, o5; try { - [a6, o6] = await Promise.all([t5.fs.read(n6), t5.fs.read(Ta2(e6))]); + [a4, o5] = await Promise.all([t5.fs.read(n7), t5.fs.read(fo2(e7))]); } catch { return false; } - return !!It(a6, o6) && (await er2(t5, n6), true); + return !!xt(a4, o5) && (await Ec2(t5, n7), true); } -async function or2(t5, e6) { - const n6 = ((t6) => `${t6}/reftable/tables.list.lock`)(e6), a6 = Date.now() + 100; +async function Pc2(t5, e7) { + const n7 = ((t6) => `${t6}/reftable/tables.list.lock`)(e7), a4 = Date.now() + 100; for (; ; ) { - if (await nr2(t5, n6)) return n6; - if (!await ar2(t5, e6, n6)) { - if (Date.now() >= a6) throw Qd(Pa2(e6), `held: ${n6}`); - await Js2(Qs2()); + if (await Lc2(t5, n7)) return n7; + if (!await Mc2(t5, e7, n7)) { + if (Date.now() >= a4) throw xu(uo2(e7), `held: ${n7}`); + await Dc2($c2()); } } } -async function ir2(t5, e6) { - let n6; +async function Nc2(t5, e7) { + let n7; try { - n6 = await t5.fs.readUtf8(Ta2(e6)); + n7 = await t5.fs.readUtf8(fo2(e7)); } catch (t6) { - if (js2(t6)) return []; + if (yc2(t6)) return []; throw t6; } - return Gs2(n6); + return vc2(n7); } -function sr2(t5) { +function Tc2(t5) { return "set" === t5.kind || "setSymbolic" === t5.kind || "delete" === t5.kind ? t5.expected : void 0; } -function rr2(t5) { +function Bc2(t5) { return void 0 === t5 ? "absent" : "direct" === t5.value.kind || "peeled" === t5.value.kind ? t5.value.id : "absent"; } -function cr2(t5, e6) { - return t5 < e6 ? -1 : t5 > e6 ? 1 : 0; +function Rc2(t5, e7) { + return t5 < e7 ? -1 : t5 > e7 ? 1 : 0; } -function dr2(t5) { - return [...t5].sort((t6, e6) => cr2(t6.name, e6.name)); +function Ac2(t5) { + return [...t5].sort((t6, e7) => Rc2(t6.name, e7.name)); } -function ur2(t5) { - return [...t5].sort((t6, e6) => { - const n6 = cr2(t6.name, e6.name); - return 0 !== n6 ? n6 : t6.updateIndex > e6.updateIndex ? -1 : t6.updateIndex < e6.updateIndex ? 1 : 0; +function _c2(t5) { + return [...t5].sort((t6, e7) => { + const n7 = Rc2(t6.name, e7.name); + return 0 !== n7 ? n7 : t6.updateIndex > e7.updateIndex ? -1 : t6.updateIndex < e7.updateIndex ? 1 : 0; }); } -async function fr2(t5, e6, n6, a6, o6, i7, s9) { - void 0 !== s9 && (true === s9.unconditional || await (async function(t6, e7, n7) { - if (e7(n7)) return true; - const a7 = await Hi2(t6); - return Gd(n7, a7.core ?? {}); - })(t5, e6, a6)) && n6.push({ name: a6, updateIndex: o6, entry: { kind: "entry", oldId: s9.oldId, newId: s9.newId, identity: i7, message: Fd(s9.message) } }); +async function Fc2(t5, e7, n7, a4, o5, i11, s8) { + void 0 !== s8 && (true === s8.unconditional || await (async function(t6, e8, n8) { + if (e8(n8)) return true; + const a5 = await sr2(t6); + return Eu(n8, a5.core ?? {}); + })(t5, e7, a4)) && n7.push({ name: a4, updateIndex: o5, entry: { kind: "entry", oldId: s8.oldId, newId: s8.newId, identity: i11, message: pu(s8.message) } }); } -function lr2(t5, e6, n6) { - for (const a6 of t5.logs(e6)) n6.push({ name: e6, updateIndex: a6.updateIndex, entry: { kind: "deletion" } }); +function Uc2(t5, e7, n7) { + for (const a4 of t5.logs(e7)) n7.push({ name: e7, updateIndex: a4.updateIndex, entry: { kind: "deletion" } }); } -async function hr2(t5, e6, n6, a6, o6, i7, s9, r6) { - switch (a6.kind) { +async function zc2(t5, e7, n7, a4, o5, i11, s8, r8) { + switch (a4.kind) { case "set": - return s9.push({ name: a6.name, updateIndex: o6, value: { kind: "direct", id: a6.id } }), void await fr2(t5, n6, r6, a6.name, o6, i7, a6.reflog); + return s8.push({ name: a4.name, updateIndex: o5, value: { kind: "direct", id: a4.id } }), void await Fc2(t5, n7, r8, a4.name, o5, i11, a4.reflog); case "setSymbolic": - return s9.push({ name: a6.name, updateIndex: o6, value: { kind: "symbolic", target: a6.target } }), void await fr2(t5, n6, r6, a6.name, o6, i7, a6.reflog); + return s8.push({ name: a4.name, updateIndex: o5, value: { kind: "symbolic", target: a4.target } }), void await Fc2(t5, n7, r8, a4.name, o5, i11, a4.reflog); case "delete": - return void (function(t6, e7, n7, a7, o7) { - if (void 0 === t6.lookup(e7)) throw Kd(e7); - a7.push({ name: e7, updateIndex: n7, value: { kind: "deletion" } }), lr2(t6, e7, o7); - })(e6, a6.name, o6, s9, r6); + return void (function(t6, e8, n8, a5, o6) { + if (void 0 === t6.lookup(e8)) throw vu(e8); + a5.push({ name: e8, updateIndex: n8, value: { kind: "deletion" } }), Uc2(t6, e8, o6); + })(e7, a4.name, o5, s8, r8); case "reflogOnly": - return void await fr2(t5, n6, r6, a6.name, o6, i7, a6.reflog); + return void await Fc2(t5, n7, r8, a4.name, o5, i11, a4.reflog); case "reflogReplace": - return void (function(t6, e7, n7, a7) { - lr2(t6, e7.name, a7), e7.entries.forEach((t7, o7) => { - a7.push({ name: e7.name, updateIndex: n7 + BigInt(o7), entry: { kind: "entry", oldId: t7.oldId, newId: t7.newId, identity: t7.identity, message: Fd(t7.message) } }); + return void (function(t6, e8, n8, a5) { + Uc2(t6, e8.name, a5), e8.entries.forEach((t7, o6) => { + a5.push({ name: e8.name, updateIndex: n8 + BigInt(o6), entry: { kind: "entry", oldId: t7.oldId, newId: t7.newId, identity: t7.identity, message: pu(t7.message) } }); }); - })(e6, a6, o6, r6); + })(e7, a4, o5, r8); } } -async function wr2(t5, e6, n6, a6, o6) { - const { stack: i7, existingNames: s9 } = await (async function(t6, e7) { - let n7; +async function jc2(t5, e7, n7, a4, o5) { + const { stack: i11, existingNames: s8 } = await (async function(t6, e8) { + let n8; try { - n7 = await t6.fs.readUtf8(Ta2(e7)); + n8 = await t6.fs.readUtf8(fo2(e8)); } catch (t7) { - if (js2(t7)) return { stack: ll([]), existingNames: [] }; + if (yc2(t7)) return { stack: Hl([]), existingNames: [] }; throw t7; } - const a7 = Gs2(n7), o7 = Pa2(e7), i8 = []; - for (const e8 of a7) { - const n8 = await Ks2(t6, `${o7}/${e8}`); - i8.push(await sl(n8, t6.compressor.streamInflate)); + const a5 = vc2(n8), o6 = uo2(e8), i12 = []; + for (const e9 of a5) { + const n9 = await kc2(t6, `${o6}/${e9}`); + i12.push(await Ul(n9, t6.compressor.streamInflate)); } - return { stack: ll(i8), existingNames: a7 }; - })(t5, e6); - !(function(t6, e7) { - for (const n7 of t6) { - const t7 = sr2(n7); + return { stack: Hl(i12), existingNames: a5 }; + })(t5, e7); + !(function(t6, e8) { + for (const n8 of t6) { + const t7 = Tc2(n8); if (void 0 === t7) continue; - const a7 = rr2(e7.lookup(n7.name)); - if (t7 !== a7) throw Jd(n7.name, t7, a7); - } - })(a6, i7); - const r6 = i7.maxUpdateIndex + 1n, c6 = (function(t6, e7) { - if (e7.size > 1) { - let e8; - return (n8) => (e8 ??= (function(t7) { - const e9 = /* @__PURE__ */ new Set(), n9 = /* @__PURE__ */ new Set(); - for (const a7 of [...t7.tables].reverse()) for (const t8 of tl(a7)) { - const a8 = `${t8.name}\0${t8.updateIndex}`; - n9.has(a8) || (n9.add(a8), "deletion" !== t8.entry.kind && e9.add(t8.name)); - } - return e9; - })(t6), e8.has(n8)); - } - const n7 = /* @__PURE__ */ new Map(); - return (e8) => { - const a7 = n7.get(e8); - if (void 0 !== a7) return a7; - const o7 = (function(t7, e9) { - for (const n8 of t7.logs(e9)) return true; + const a5 = Bc2(e8.lookup(n8.name)); + if (t7 !== a5) throw $u(n8.name, t7, a5); + } + })(a4, i11); + const r8 = i11.maxUpdateIndex + 1n, c5 = (function(t6, e8) { + if (e8.size > 1) { + let e9; + return (n9) => (e9 ??= (function(t7) { + const e10 = /* @__PURE__ */ new Set(), n10 = /* @__PURE__ */ new Set(); + for (const a5 of [...t7.tables].reverse()) for (const t8 of Ll(a5)) { + const a6 = `${t8.name}\0${t8.updateIndex}`; + n10.has(a6) || (n10.add(a6), "deletion" !== t8.entry.kind && e10.add(t8.name)); + } + return e10; + })(t6), e9.has(n9)); + } + const n8 = /* @__PURE__ */ new Map(); + return (e9) => { + const a5 = n8.get(e9); + if (void 0 !== a5) return a5; + const o6 = (function(t7, e10) { + for (const n9 of t7.logs(e10)) return true; return false; - })(t6, e8); - return n7.set(e8, o7), o7; + })(t6, e9); + return n8.set(e9, o6), o6; }; - })(i7, (function(t6) { - const e7 = /* @__PURE__ */ new Set(); - for (const n7 of t6) "set" !== n7.kind && "setSymbolic" !== n7.kind && "reflogOnly" !== n7.kind || void 0 !== n7.reflog && true !== n7.reflog.unconditional && e7.add(n7.name); - return e7; - })(a6)), d5 = [], u6 = []; - for (const e7 of a6) await hr2(t5, i7, c6, e7, r6, o6, d5, u6); - const f2 = (function(t6, e7, n7) { - let a7 = t6, o7 = t6; - for (const t7 of [...e7, ...n7]) t7.updateIndex < a7 && (a7 = t7.updateIndex), t7.updateIndex > o7 && (o7 = t7.updateIndex); - return { min: a7, max: o7 }; - })(r6, d5, u6); - return { gitDir: e6, lockPath: n6, existingNames: s9, refs: dr2(d5), logs: ur2(u6), minUpdateIndex: f2.min, maxUpdateIndex: f2.max }; -} -function mr2(t5, e6) { - return `0x${t5.toString(16).padStart(12, "0")}-0x${e6.toString(16).padStart(12, "0")}`; -} -async function pr2(t5, e6, n6, a6) { + })(i11, (function(t6) { + const e8 = /* @__PURE__ */ new Set(); + for (const n8 of t6) "set" !== n8.kind && "setSymbolic" !== n8.kind && "reflogOnly" !== n8.kind || void 0 !== n8.reflog && true !== n8.reflog.unconditional && e8.add(n8.name); + return e8; + })(a4)), d6 = [], u6 = []; + for (const e8 of a4) await zc2(t5, i11, c5, e8, r8, o5, d6, u6); + const f2 = (function(t6, e8, n8) { + let a5 = t6, o6 = t6; + for (const t7 of [...e8, ...n8]) t7.updateIndex < a5 && (a5 = t7.updateIndex), t7.updateIndex > o6 && (o6 = t7.updateIndex); + return { min: a5, max: o6 }; + })(r8, d6, u6); + return { gitDir: e7, lockPath: n7, existingNames: s8, refs: Ac2(d6), logs: _c2(u6), minUpdateIndex: f2.min, maxUpdateIndex: f2.max }; +} +function Hc2(t5, e7) { + return `0x${t5.toString(16).padStart(12, "0")}-0x${e7.toString(16).padStart(12, "0")}`; +} +async function Wc2(t5, e7, n7, a4) { for (; ; ) { - const o6 = `${e6}/${n6}-${tr2()}.temp`; + const o5 = `${e7}/${n7}-${Oc2()}.temp`; try { - return await t5.fs.writeExclusive(o6, a6), o6; + return await t5.fs.writeExclusive(o5, a4), o5; } catch (t6) { - if (!Zs2(t6)) throw t6; + if (!Sc2(t6)) throw t6; } } } -function yr2(t5, e6, n6) { - return { hashId: "sha256" === t5.hashConfig.algorithm ? "s256" : "sha1", blockSize: Rl, restartInterval: kl, indexObjects: true, minUpdateIndex: e6, maxUpdateIndex: n6 }; +function Gc2(t5, e7, n7) { + return { hashId: "sha256" === t5.hashConfig.algorithm ? "s256" : "sha1", blockSize: ff, restartInterval: hf, indexObjects: true, minUpdateIndex: e7, maxUpdateIndex: n7 }; } -async function gr2(t5, e6) { - const n6 = yr2(t5, e6.minUpdateIndex, e6.maxUpdateIndex), a6 = await af(e6.refs, e6.logs, n6, t5.compressor.deflate), o6 = Pa2(e6.gitDir), i7 = mr2(e6.minUpdateIndex, e6.maxUpdateIndex), s9 = await pr2(t5, o6, i7, a6), r6 = `${i7}-${tr2()}.ref`; - return await t5.fs.rename(s9, `${o6}/${r6}`), { ...e6, tableName: r6 }; +async function Kc2(t5, e7) { + const n7 = Gc2(t5, e7.minUpdateIndex, e7.maxUpdateIndex), a4 = await Ff(e7.refs, e7.logs, n7, t5.compressor.deflate), o5 = uo2(e7.gitDir), i11 = Hc2(e7.minUpdateIndex, e7.maxUpdateIndex), s8 = await Wc2(t5, o5, i11, a4), r8 = `${i11}-${Oc2()}.ref`; + return await t5.fs.rename(s8, `${o5}/${r8}`), { ...e7, tableName: r8 }; } -function vr2(t5) { +function qc2(t5) { return t5.refs.length > 0 || t5.logs.length > 0; } -async function br2(t5, e6, n6, a6) { - const o6 = Xs2.encode((function(t6) { +async function Vc2(t5, e7, n7, a4) { + const o5 = Cc2.encode((function(t6) { return t6.map((t7) => `${t7} `).join(""); - })(a6)); - await t5.fs.write(n6, o6), void 0 === t5.fs.atomicRename ? (await t5.fs.write(Ta2(e6), o6), await t5.fs.rm(n6)) : await t5.fs.atomicRename(n6, Ta2(e6)); + })(a4)); + await t5.fs.write(n7, o5), void 0 === t5.fs.atomicRename ? (await t5.fs.write(fo2(e7), o5), await t5.fs.rm(n7)) : await t5.fs.atomicRename(n7, fo2(e7)); } -async function kr2(t5, e6) { - await br2(t5, e6.gitDir, e6.lockPath, [...e6.existingNames, e6.tableName]); +async function Yc2(t5, e7) { + await Vc2(t5, e7.gitDir, e7.lockPath, [...e7.existingNames, e7.tableName]); } -function xr2(t5, e6) { - return t5.length === e6.length && t5.every((t6, n6) => t6 === e6[n6]); +function Xc2(t5, e7) { + return t5.length === e7.length && t5.every((t6, n7) => t6 === e7[n7]); } -async function Ir2(t5, e6, n6, a6) { - const o6 = await or2(t5, e6); +async function Zc2(t5, e7, n7, a4) { + const o5 = await Pc2(t5, e7); try { - if (!xr2(Gs2(await t5.fs.readUtf8(Ta2(e6))), n6)) return; - return await (async function(t6, e7, n7, a7) { - const o7 = [], i7 = []; - for (const a8 of [...n7].reverse()) { - const n8 = Na2(e7, a8); - if (!await nr2(t6, n8)) break; - o7.push(a8), i7.push(n8); - } - if (o7.length < 2) return void await Mr2(t6, i7); - const s9 = [...o7].reverse(); - return { tableNames: s9, tableLockPaths: [...i7].reverse(), startsAtStackZero: s9[0] === a7 }; - })(t5, e6, a6, n6[0]); + if (!Xc2(vc2(await t5.fs.readUtf8(fo2(e7))), n7)) return; + return await (async function(t6, e8, n8, a5) { + const o6 = [], i11 = []; + for (const a6 of [...n8].reverse()) { + const n9 = lo2(e8, a6); + if (!await Lc2(t6, n9)) break; + o6.push(a6), i11.push(n9); + } + if (o6.length < 2) return void await id2(t6, i11); + const s8 = [...o6].reverse(); + return { tableNames: s8, tableLockPaths: [...i11].reverse(), startsAtStackZero: s8[0] === a5 }; + })(t5, e7, a4, n7[0]); } finally { - await er2(t5, o6); - } -} -async function Cr2(t5, e6, n6) { - const a6 = Pa2(e6), o6 = []; - for (const e7 of n6.tableNames) o6.push(await sl(await Ks2(t5, `${a6}/${e7}`), t5.compressor.streamInflate)); - const i7 = dr2((function(t6, e7) { - const n7 = /* @__PURE__ */ new Map(); - for (const e8 of t6) for (const t7 of Gu(e8)) n7.set(t7.name, t7); - return [...n7.values()].filter((t7) => !(e7 && "deletion" === t7.value.kind)); - })(o6, n6.startsAtStackZero)), s9 = ur2((function(t6, e7) { - const n7 = /* @__PURE__ */ new Map(); - for (const e8 of t6) for (const t7 of tl(e8)) n7.set(`${t7.name}\0${t7.updateIndex}`, t7); - return [...n7.values()].filter((t7) => !(e7 && "deletion" === t7.entry.kind)); - })(o6, n6.startsAtStackZero)); - if (0 === i7.length && 0 === s9.length) return { mergedName: void 0, tempPath: void 0 }; - const r6 = o6[0].header.minUpdateIndex, c6 = o6[o6.length - 1].header.maxUpdateIndex, d5 = yr2(t5, r6, c6), u6 = await af(i7, s9, d5, t5.compressor.deflate), f2 = mr2(r6, c6), l4 = await pr2(t5, a6, f2, u6); - return { mergedName: `${f2}-${tr2()}.ref`, tempPath: l4 }; -} -async function Sr2(t5, e6, n6, a6) { + await Ec2(t5, o5); + } +} +async function Jc2(t5, e7, n7) { + const a4 = uo2(e7), o5 = []; + for (const e8 of n7.tableNames) o5.push(await Ul(await kc2(t5, `${a4}/${e8}`), t5.compressor.streamInflate)); + const i11 = Ac2((function(t6, e8) { + const n8 = /* @__PURE__ */ new Map(); + for (const e9 of t6) for (const t7 of El(e9)) n8.set(t7.name, t7); + return [...n8.values()].filter((t7) => !(e8 && "deletion" === t7.value.kind)); + })(o5, n7.startsAtStackZero)), s8 = _c2((function(t6, e8) { + const n8 = /* @__PURE__ */ new Map(); + for (const e9 of t6) for (const t7 of Ll(e9)) n8.set(`${t7.name}\0${t7.updateIndex}`, t7); + return [...n8.values()].filter((t7) => !(e8 && "deletion" === t7.entry.kind)); + })(o5, n7.startsAtStackZero)); + if (0 === i11.length && 0 === s8.length) return { mergedName: void 0, tempPath: void 0 }; + const r8 = o5[0].header.minUpdateIndex, c5 = o5[o5.length - 1].header.maxUpdateIndex, d6 = Gc2(t5, r8, c5), u6 = await Ff(i11, s8, d6, t5.compressor.deflate), f2 = Hc2(r8, c5), l4 = await Wc2(t5, a4, f2, u6); + return { mergedName: `${f2}-${Oc2()}.ref`, tempPath: l4 }; +} +async function Qc2(t5, e7, n7, a4) { try { - await (async function(t6, e7, n7, a7) { - const o6 = await or2(t6, e7); - let i7 = false; + await (async function(t6, e8, n8, a5) { + const o5 = await Pc2(t6, e8); + let i11 = false; try { - const s9 = (function(t7, e8, n8) { - const a8 = t7.indexOf(e8[0]); - if (-1 === a8) return; - if (!xr2(t7.slice(a8, a8 + e8.length), e8)) return; - const o7 = t7.slice(0, a8), i8 = t7.slice(a8 + e8.length); - return void 0 === n8 ? [...o7, ...i8] : [...o7, n8, ...i8]; - })(Gs2(await t6.fs.readUtf8(Ta2(e7))), n7.tableNames, a7.mergedName); - if (void 0 === s9) return void await (async function(t7, e8) { - void 0 !== e8 && await er2(t7, e8); - })(t6, a7.tempPath); - void 0 !== a7.tempPath && void 0 !== a7.mergedName && await t6.fs.rename(a7.tempPath, `${Pa2(e7)}/${a7.mergedName}`), await br2(t6, e7, o6, s9), i7 = true; + const s8 = (function(t7, e9, n9) { + const a6 = t7.indexOf(e9[0]); + if (-1 === a6) return; + if (!Xc2(t7.slice(a6, a6 + e9.length), e9)) return; + const o6 = t7.slice(0, a6), i12 = t7.slice(a6 + e9.length); + return void 0 === n9 ? [...o6, ...i12] : [...o6, n9, ...i12]; + })(vc2(await t6.fs.readUtf8(fo2(e8))), n8.tableNames, a5.mergedName); + if (void 0 === s8) return void await (async function(t7, e9) { + void 0 !== e9 && await Ec2(t7, e9); + })(t6, a5.tempPath); + void 0 !== a5.tempPath && void 0 !== a5.mergedName && await t6.fs.rename(a5.tempPath, `${uo2(e8)}/${a5.mergedName}`), await Vc2(t6, e8, o5, s8), i11 = true; } finally { - i7 || await er2(t6, o6); + i11 || await Ec2(t6, o5); } - await (async function(t7, e8, n8) { - const a8 = Pa2(e8); - for (const e9 of n8) await er2(t7, `${a8}/${e9}`); - })(t6, e7, n7.tableNames); - })(t5, e6, n6, a6); + await (async function(t7, e9, n9) { + const a6 = uo2(e9); + for (const e10 of n9) await Ec2(t7, `${a6}/${e10}`); + })(t6, e8, n8.tableNames); + })(t5, e7, n7, a4); } finally { - await Mr2(t5, [...n6.tableLockPaths].reverse()); + await id2(t5, [...n7.tableLockPaths].reverse()); } } -async function $r2(t5, e6) { +async function td2(t5, e7) { try { - await (async function(t6, e7) { - const { existingNames: n6, sizes: a6 } = await (async function(t7, e8) { - const n7 = await ir2(t7, e8), a7 = Pa2(e8), o7 = []; - for (const e9 of n7) { - const n8 = `${a7}/${e9}`, i8 = (await t7.fs.stat(n8)).size, s10 = await t7.fs.readSlice(n8, 0, 5), { version: r6 } = vu(s10, i8); - o7.push(zu(i8, r6)); - } - return { existingNames: n7, sizes: o7 }; - })(t6, e7), o6 = (function(t7, e8) { - const n7 = Yu(e8, Wu); - if (n7.start !== n7.end) return { plannedNames: t7.slice(n7.start, n7.end) }; - })(n6, a6); - if (void 0 === o6) return; - const i7 = await Ir2(t6, e7, n6, o6.plannedNames); - if (void 0 === i7) return; - const s9 = await Cr2(t6, e7, i7); - await Sr2(t6, e7, i7, s9); - })(t5, e6); + await (async function(t6, e8) { + const { existingNames: n7, sizes: a4 } = await (async function(t7, e9) { + const n8 = await Nc2(t7, e9), a5 = uo2(e9), o6 = []; + for (const e10 of n8) { + const n9 = `${a5}/${e10}`, i12 = (await t7.fs.stat(n9)).size, s9 = await t7.fs.readSlice(n9, 0, 5), { version: r8 } = Zu(s9, i12); + o6.push(_l(i12, r8)); + } + return { existingNames: n8, sizes: o6 }; + })(t6, e8), o5 = (function(t7, e9) { + const n8 = Ol(e9, bl); + if (n8.start !== n8.end) return { plannedNames: t7.slice(n8.start, n8.end) }; + })(n7, a4); + if (void 0 === o5) return; + const i11 = await Zc2(t6, e8, n7, o5.plannedNames); + if (void 0 === i11) return; + const s8 = await Jc2(t6, e8, i11); + await Qc2(t6, e8, i11, s8); + })(t5, e7); } catch (t6) { - if ("REFTABLE_LOCKED" === Ia2(t6)) return; + if ("REFTABLE_LOCKED" === to2(t6)) return; throw t6; } } -var Dr2 = [".ref", ".temp"]; -function Er2(t5) { - return Dr2.some((e6) => t5.endsWith(e6)); +var ed2 = [".ref", ".temp"]; +function nd2(t5) { + return ed2.some((e7) => t5.endsWith(e7)); } -async function Or2(t5, e6) { - const n6 = await or2(t5, e6); +async function ad2(t5, e7) { + const n7 = await Pc2(t5, e7); + try { + const n8 = vc2(await t5.fs.readUtf8(fo2(e7))), a4 = uo2(e7), o5 = new Set(n8), i11 = await t5.fs.readdir(a4), s8 = i11.some((t6) => !t6.isDirectory && t6.name.endsWith(".ref.lock")); + let r8 = 0; + for (const e8 of i11) e8.isDirectory || o5.has(e8.name) || !nd2(e8.name) || s8 && e8.name.endsWith(".temp") || (await Ec2(t5, `${a4}/${e8.name}`), r8 += 1); + return r8; + } finally { + await Ec2(t5, n7); + } +} +async function od2(t5, e7) { + return await (async function(t6, e8) { + const n7 = await Nc2(t6, e8); + if (n7.length < 2) return; + const a4 = await Zc2(t6, e8, n7, n7); + if (void 0 === a4) return; + const o5 = await Jc2(t6, e8, a4); + await Qc2(t6, e8, a4, o5), Ic2(t6, uo2(e8)); + })(t5, e7), { removedOrphanCount: await ad2(t5, e7) }; +} +async function id2(t5, e7, n7 = /* @__PURE__ */ new Set()) { + for (const a4 of [...e7].reverse()) n7.has(a4) || await Ec2(t5, a4); +} +async function sd2(t5, e7) { + const n7 = (function(t6, e8) { + const n8 = oo2(t6), a5 = t6.layout.gitDir, o6 = /* @__PURE__ */ new Map([[n8, []]]); + a5 !== n8 && o6.set(a5, []); + for (const n9 of e8) { + const e9 = io2(t6, n9.name); + o6.get(e9).push(n9); + } + return [...o6.entries()].map(([t7, e9]) => ({ gitDir: t7, updates: e9 })).filter((t7) => t7.updates.length > 0); + })(t5, e7); + if (0 === n7.length) return; + const a4 = await wc2(t5), o5 = [], i11 = /* @__PURE__ */ new Set(); + let s8 = []; try { - const n7 = Gs2(await t5.fs.readUtf8(Ta2(e6))), a6 = Pa2(e6), o6 = new Set(n7), i7 = await t5.fs.readdir(a6), s9 = i7.some((t6) => !t6.isDirectory && t6.name.endsWith(".ref.lock")); - let r6 = 0; - for (const e7 of i7) e7.isDirectory || o6.has(e7.name) || !Er2(e7.name) || s9 && e7.name.endsWith(".temp") || (await er2(t5, `${a6}/${e7.name}`), r6 += 1); - return r6; + const e8 = []; + for (const i12 of n7) { + const n8 = await Pc2(t5, i12.gitDir); + o5.push(n8), e8.push(await jc2(t5, i12.gitDir, n8, i12.updates, a4)); + } + s8 = await (async function(t6, e9) { + const n8 = []; + for (const a5 of e9.filter(qc2)) n8.push(await Kc2(t6, a5)); + return n8; + })(t5, e8); + for (const e9 of s8) await Yc2(t5, e9), i11.add(e9.lockPath), Ic2(t5, uo2(e9.gitDir)); } finally { - await er2(t5, n6); + await id2(t5, o5, i11); } + for (const e8 of s8) await td2(t5, e8.gitDir); } -async function Lr2(t5, e6) { - return await (async function(t6, e7) { - const n6 = await ir2(t6, e7); - if (n6.length < 2) return; - const a6 = await Ir2(t6, e7, n6, n6); - if (void 0 === a6) return; - const o6 = await Cr2(t6, e7, a6); - await Sr2(t6, e7, a6, o6), Ys2(t6, Pa2(e7)); - })(t5, e6), { removedOrphanCount: await Or2(t5, e6) }; -} -async function Mr2(t5, e6, n6 = /* @__PURE__ */ new Set()) { - for (const a6 of [...e6].reverse()) n6.has(a6) || await er2(t5, a6); +var rd2 = "tables.list"; +function cd2(t5, e7) { + return { table: t5, msgId: "badReftableTable", check: e7 }; } -var Pr2 = "tables.list"; -function Tr2(t5, e6) { - return { table: t5, msgId: "badReftableTable", check: e6 }; +function dd2(t5) { + return t5 instanceof c && "INVALID_REFTABLE" === t5.data.code ? t5.data.check : void 0; } -function Nr2(t5) { - return t5 instanceof o && "INVALID_REFTABLE" === t5.data.code ? t5.data.check : void 0; -} -async function Rr2(t5, e6, n6) { - let a6; +async function ud2(t5, e7, n7) { + let a4; try { - a6 = await Ks2(t5, `${e6}/${n6}`); + a4 = await kc2(t5, `${e7}/${n7}`); } catch (t6) { - if (js2(t6)) return Tr2(n6, "tables-list"); - const e7 = Nr2(t6); - if (void 0 !== e7) return Tr2(n6, e7); + if (yc2(t6)) return cd2(n7, "tables-list"); + const e8 = dd2(t6); + if (void 0 !== e8) return cd2(n7, e8); throw t6; } try { - const e7 = await sl(a6, t5.compressor.streamInflate); - for (const t6 of tl(e7)) ; + const e8 = await Ul(a4, t5.compressor.streamInflate); + for (const t6 of Ll(e8)) ; return; } catch (t6) { - const e7 = Nr2(t6); - if (void 0 !== e7) return Tr2(n6, e7); + const e8 = dd2(t6); + if (void 0 !== e8) return cd2(n7, e8); throw t6; } } -async function _r2(t5, e6) { - let n6, a6; +async function fd2(t5, e7) { + let n7, a4; try { - n6 = await t5.fs.readUtf8(`${e6}/${Pr2}`); + n7 = await t5.fs.readUtf8(`${e7}/${rd2}`); } catch (t6) { - if (js2(t6)) return []; + if (yc2(t6)) return []; throw t6; } try { - a6 = Gs2(n6); + a4 = vc2(n7); } catch (t6) { - const e7 = Nr2(t6); - if (void 0 !== e7) return [Tr2(Pr2, e7)]; + const e8 = dd2(t6); + if (void 0 !== e8) return [cd2(rd2, e8)]; throw t6; } - const o6 = []; - for (const n7 of a6) { - const a7 = await Rr2(t5, e6, n7); - void 0 !== a7 && o6.push(a7); + const o5 = []; + for (const n8 of a4) { + const a5 = await ud2(t5, e7, n8); + void 0 !== a5 && o5.push(a5); } - return o6; + return o5; } -var Fr2 = (t5, e6) => t5 < e6 ? -1 : t5 > e6 ? 1 : 0; -var Ur2 = (t5, e6) => Fr2(t5.name, e6.name); -function Ar2(t5) { +var ld2 = (t5, e7) => t5 < e7 ? -1 : t5 > e7 ? 1 : 0; +var hd2 = (t5, e7) => ld2(t5.name, e7.name); +function wd2(t5) { return "symbolic" === t5.kind ? { kind: "symbolic", target: t5.target } : "direct" === t5.kind || "peeled" === t5.kind ? { kind: "direct", id: t5.id } : { kind: "missing" }; } -var Br2 = new TextEncoder(); -var jr2 = /* @__PURE__ */ new WeakMap(); -function zr2(e6) { - let n6 = jr2.get(e6); - return void 0 === n6 && (n6 = (function(e7) { - return "reftable" === e7.layout.refStorage ? /* @__PURE__ */ (function(t5) { - async function e8(e9) { - return (async function(t6, e10) { +var yd2 = new TextEncoder(); +var pd2 = /* @__PURE__ */ new WeakMap(); +function md2(e7) { + let o5 = pd2.get(e7); + return void 0 === o5 && (o5 = (function(e8) { + return "reftable" === e8.layout.refStorage ? /* @__PURE__ */ (function(t5) { + async function e9(e10) { + return (async function(t6, e11) { let n8; try { - n8 = await t6.fs.stat(`${e10}/${zs2}`); + n8 = await t6.fs.stat(`${e11}/${pc2}`); } catch (t7) { - if (js2(t7)) return ll([]); + if (yc2(t7)) return Hl([]); throw t7; } - const a7 = `${n8.mtimeMs}:${n8.size}`, o7 = (function(t7) { - let e11 = Ws2.get(t7.deltaCache); - return void 0 === e11 && (e11 = r(268435456, 64), Ws2.set(t7.deltaCache, e11)), e11; - })(t6), i8 = o7.get(e10); - if (void 0 !== i8 && i8.mtimeKey === a7) return i8.stack; - const s10 = await (async function(t7, e11) { - const n9 = await Vs2(t7, e11); + const a5 = `${n8.mtimeMs}:${n8.size}`, o7 = (function(t7) { + let e12 = mc2.get(t7.session); + return void 0 === e12 && (e12 = a(268435456, 64), mc2.set(t7.session, e12)), e12; + })(t6), i12 = o7.get(e11); + if (void 0 !== i12 && i12.mtimeKey === a5) return i12.stack; + const r9 = await (async function(t7, e12) { + const n9 = await xc2(t7, e12); if (n9.ok) return n9.tables; - const a8 = await Vs2(t7, e11); - if (a8.ok) return a8.tables; - throw zd("tables-list", `a table named by ${e11}/${zs2} is still missing after one retry`); - })(t6, e10), r7 = ll(s10); - return o7.set(e10, { stack: r7, mtimeKey: a7 }, (function(t7) { - let e11 = 0; + const a6 = await xc2(t7, e12); + if (a6.ok) return a6.tables; + throw _u("tables-list", `a table named by ${e12}/${pc2} is still missing after one retry`); + })(t6, e11), c6 = Hl(r9); + return o7.set(e11, { stack: c6, mtimeKey: a5 }, (function(t7) { + let e12 = 0; for (const n9 of t7.tables) { - e11 += n9._bytes.length; - for (const t8 of n9.logBlocks) e11 += t8.length; + e12 += n9._bytes.length; + for (const t8 of n9.logBlocks) e12 += t8.length; } - return Math.max(1, e11); - })(r7)), r7; - })(t5, Pa2(e9)); - } - const n7 = (n8) => e8(Ea2(t5, n8)); - function a6() { - const e9 = Da2(t5); - return t5.layout.gitDir === e9 ? [e9] : [e9, t5.layout.gitDir]; - } - const o6 = (t6, e9) => void 0 === e9 || t6.startsWith(e9); - async function i7(n8) { - const i8 = /* @__PURE__ */ new Set(); - for (const s10 of a6()) { - const a7 = await e8(s10); - for (const e9 of a7.names()) o6(e9, n8) && Ea2(t5, e9) === s10 && i8.add(e9); - } - return i8; - } - async function s9(n8) { - const i8 = []; - for (const s10 of a6()) { - const a7 = await e8(s10); - for (const e9 of a7.entries()) o6(e9.name, n8) && Ea2(t5, e9.name) === s10 && i8.push({ name: e9.name, value: Ar2(e9.value) }); - } - return i8.sort(Ur2); - } - function r6(t6, e9) { - for (const n8 of t6.logs(e9)) return true; + return Math.max(1, e12); + })(c6)), c6; + })(t5, uo2(e10)); + } + const n7 = (n8) => e9(io2(t5, n8)); + function a4() { + const e10 = oo2(t5); + return t5.layout.gitDir === e10 ? [e10] : [e10, t5.layout.gitDir]; + } + const o6 = (t6, e10) => void 0 === e10 || t6.startsWith(e10); + async function i11(n8) { + const i12 = /* @__PURE__ */ new Set(); + for (const s8 of a4()) { + const a5 = await e9(s8); + for (const e10 of a5.names()) o6(e10, n8) && io2(t5, e10) === s8 && i12.add(e10); + } + return i12; + } + async function r8(n8) { + const i12 = []; + for (const s8 of a4()) { + const a5 = await e9(s8); + for (const e10 of a5.entries()) o6(e10.name, n8) && io2(t5, e10.name) === s8 && i12.push({ name: e10.name, value: wd2(e10.value) }); + } + return i12.sort(hd2); + } + async function c5(t6) { + const e10 = await n7(t6), a5 = []; + for (const n8 of e10.logs(t6)) if ("entry" === n8.entry.kind) { + const { oldId: t7, newId: e11, identity: o7, message: i12 } = n8.entry; + a5.push({ oldId: t7, newId: e11, identity: o7, message: i12.replace(/\n$/, "") }); + } + return a5.reverse(); + } + function d6(t6, e10) { + for (const n8 of t6.logs(e10)) return true; return false; } - function c6(t6) { - const e9 = /* @__PURE__ */ new Set(); + async function u6(t6) { + return d6(await n7(t6), t6); + } + function f2(t6) { + const e10 = /* @__PURE__ */ new Set(); for (const n8 of (function(t7) { - const e10 = /* @__PURE__ */ new Set(); - for (const n9 of t7.tables) for (const t8 of tl(n9)) e10.add(t8.name); - return e10; - })(t6)) r6(t6, n8) && e9.add(n8); - return e9; + const e11 = /* @__PURE__ */ new Set(); + for (const n9 of t7.tables) for (const t8 of Ll(n9)) e11.add(t8.name); + return e11; + })(t6)) d6(t6, n8) && e10.add(n8); + return e10; } return { resolveDirect: async function(t6) { - const e9 = (await n7(t6)).lookup(t6); - return void 0 === e9 ? { kind: "missing" } : Ar2(e9.value); - }, applyRefUpdates: async function(e9) { - await (async function(t6, e10) { - const n8 = (function(t7, e11) { - const n9 = Da2(t7), a8 = t7.layout.gitDir, o8 = /* @__PURE__ */ new Map([[n9, []]]); - a8 !== n9 && o8.set(a8, []); - for (const n10 of e11) { - const e12 = Ea2(t7, n10.name); - o8.get(e12).push(n10); - } - return [...o8.entries()].map(([t8, e12]) => ({ gitDir: t8, updates: e12 })).filter((t8) => t8.updates.length > 0); - })(t6, e10); - if (0 === n8.length) return; - const a7 = await Bs2(t6), o7 = [], i8 = /* @__PURE__ */ new Set(); - let s10 = []; - try { - const e11 = []; - for (const i9 of n8) { - const n9 = await or2(t6, i9.gitDir); - o7.push(n9), e11.push(await wr2(t6, i9.gitDir, n9, i9.updates, a7)); - } - s10 = await (async function(t7, e12) { - const n9 = []; - for (const a8 of e12.filter(vr2)) n9.push(await gr2(t7, a8)); - return n9; - })(t6, e11); - for (const e12 of s10) await kr2(t6, e12), i8.add(e12.lockPath), Ys2(t6, Pa2(e12.gitDir)); - } finally { - await Mr2(t6, o7, i8); - } - for (const e11 of s10) await $r2(t6, e11.gitDir); - })(t5, e9); - }, listRefs: s9, listRefNames: async function(t6) { - return [...await i7(t6)].sort(Fr2); + const e10 = (await n7(t6)).lookup(t6); + return void 0 === e10 ? { kind: "missing" } : wd2(e10.value); + }, applyRefUpdates: async function(e10) { + await sd2(t5, e10); + }, listRefs: r8, listRefNames: async function(t6) { + return [...await i11(t6)].sort(ld2); }, verifyIntegrity: async function() { - const e9 = []; + const e10 = []; for (const n8 of (function() { - const e10 = Da2(t5), n9 = [Pa2(e10)]; - return t5.layout.gitDir !== e10 && n9.push(Pa2(t5.layout.gitDir)), n9; - })()) e9.push(...await _r2(t5, n8)); - return e9; - }, readReflog: async function(t6) { - const e9 = await n7(t6), a7 = []; - for (const n8 of e9.logs(t6)) if ("entry" === n8.entry.kind) { - const { oldId: t7, newId: e10, identity: o7, message: i8 } = n8.entry; - a7.push({ oldId: t7, newId: e10, identity: o7, message: i8.replace(/\n$/, "") }); - } - return a7.reverse(); - }, hasReflog: async function(t6) { - return r6(await n7(t6), t6); - }, listReflogs: async function() { + const e11 = oo2(t5), n9 = [uo2(e11)]; + return t5.layout.gitDir !== e11 && n9.push(uo2(t5.layout.gitDir)), n9; + })()) e10.push(...await fd2(t5, n8)); + return e10; + }, readReflog: c5, readReflogLenient: c5, moveReflog: async function(e10, n8) { + if (!await u6(e10)) return; + const a5 = await c5(e10); + await sd2(t5, [{ kind: "reflogReplace", name: n8, entries: a5 }, { kind: "reflogReplace", name: e10, entries: [] }]); + }, hasReflog: u6, listReflogs: async function() { const n8 = await (async function() { - const n9 = Da2(t5), a8 = await e8(n9); - return t5.layout.gitDir === n9 ? [a8] : [a8, await e8(t5.layout.gitDir)]; - })(), a7 = /* @__PURE__ */ new Set(); - for (const t6 of n8) for (const e9 of c6(t6)) a7.add(e9); - return [...a7]; + const n9 = oo2(t5), a6 = await e9(n9); + return t5.layout.gitDir === n9 ? [a6] : [a6, await e9(t5.layout.gitDir)]; + })(), a5 = /* @__PURE__ */ new Set(); + for (const t6 of n8) for (const e10 of f2(t6)) a5.add(e10); + return [...a5]; }, packRefs: async function() { - let e9 = 0; - for (const n8 of a6()) e9 += (await Lr2(t5, n8)).removedOrphanCount; - return { packedRefCount: (await s9()).length, prunedLooseRefCount: 0, removedOrphanCount: e9 }; + let e10 = 0; + for (const n8 of a4()) e10 += (await od2(t5, n8)).removedOrphanCount; + return { packedRefCount: (await r8()).length, prunedLooseRefCount: 0, removedOrphanCount: e10 }; } }; - })(e7) : /* @__PURE__ */ (function(e8) { - let n7; - const o6 = (t5) => Ea2(e8, t5); - async function i7() { - const t5 = Ma2(Da2(e8)); - if (!await e8.fs.exists(t5)) return tc2; - const a6 = await e8.fs.stat(t5), o7 = `${a6.mtimeMs}:${a6.size}`; - if (void 0 !== n7 && n7.mtimeKey === o7) return n7.loaded; - const i8 = await e8.fs.readUtf8(t5), { entries: s10 } = su(i8), r7 = { entries: s10, byName: Jr2(s10) }; - return n7 = { loaded: r7, mtimeKey: o7 }, r7; - } - async function s9(t5) { - const n8 = La2(o6(t5), t5); + })(e8) : /* @__PURE__ */ (function(e9) { + let o6; + const i11 = (t5) => io2(e9, t5); + async function s8() { + const t5 = co2(oo2(e9)); + if (!await e9.fs.exists(t5)) return Ed2; + const n7 = await e9.fs.stat(t5), a4 = `${n7.mtimeMs}:${n7.size}`; + if (void 0 !== o6 && o6.mtimeKey === a4) return o6.loaded; + const i12 = await e9.fs.readUtf8(t5), { entries: s9 } = Uu(i12), r9 = { entries: s9, byName: $d2(s9) }; + return o6 = { loaded: r9, mtimeKey: a4 }, r9; + } + async function r8(t5) { + const n7 = ro2(i11(t5), t5); try { - return await e8.fs.readUtf8(n8); + return await e9.fs.readUtf8(n7); } catch (t6) { - if (Yr2(t6)) return; + if (Cd2(t6)) return; throw t6; } } - async function r6(t5) { - const e9 = await s9(t5); - if (void 0 !== e9) { - const t6 = nu(e9); + async function c5(t5) { + const e10 = await r8(t5); + if (void 0 !== e10) { + const t6 = Ru(e10); return "symbolic" === t6.type ? { kind: "symbolic", target: t6.target } : { kind: "direct", id: t6.target }; } - const n8 = (await i7()).byName().get(t5); - return void 0 === n8 ? { kind: "missing" } : { kind: "direct", id: n8.id }; - } - async function c6(t5, n8) { - const a6 = await e8.fs.readdir(t5), o7 = []; - for (const e9 of a6) { - const a7 = `${n8}/${e9.name}`; - if (e9.isDirectory) for (const n9 of await c6(`${t5}/${e9.name}`, a7)) o7.push(n9); - else o7.push(a7); + const n7 = (await s8()).byName().get(t5); + return void 0 === n7 ? { kind: "missing" } : { kind: "direct", id: n7.id }; + } + async function d6(t5, n7) { + const a4 = await e9.fs.readdir(t5), o7 = []; + for (const e10 of a4) { + const a5 = `${n7}/${e10.name}`; + if (e10.isDirectory) for (const n8 of await d6(`${t5}/${e10.name}`, a5)) o7.push(n8); + else o7.push(a5); } return o7; } - const d5 = (t5, e9) => void 0 === e9 || t5.startsWith(e9); - async function u6(t5, n8, a6) { + const u6 = (t5, e10) => void 0 === e10 || t5.startsWith(e10); + async function f2(t5, n7, a4) { let o7; try { - o7 = await e8.fs.stat(t5); + o7 = await e9.fs.stat(t5); } catch (t6) { - if (Yr2(t6)) return []; + if (Cd2(t6)) return []; throw t6; } if (!o7.isDirectory) return []; - const i8 = []; - for (const e9 of await c6(t5, n8)) d5(e9, a6) && i8.push(e9); - return i8; + const i12 = []; + for (const e10 of await d6(t5, n7)) u6(e10, a4) && i12.push(e10); + return i12; } - async function f2(t5) { - const n8 = [], a6 = await (async function(t6) { - if (d5(Gr2, t6)) return await e8.fs.exists(`${e8.layout.gitDir}/HEAD`) ? Gr2 : void 0; + async function l4(t5) { + const n7 = [], a4 = await (async function(t6) { + if (u6(kd2, t6)) return await e9.fs.exists(`${e9.layout.gitDir}/HEAD`) ? kd2 : void 0; })(t5); - void 0 !== a6 && n8.push(a6); + void 0 !== a4 && n7.push(a4); const o7 = (function(t6) { - if (void 0 === t6 || t6.length <= Kr2.length) return Kr2.startsWith(t6 ?? "") ? { relative: Kr2 } : void 0; - if (!t6.startsWith(`${Kr2}/`)) return; - const e9 = t6.slice(Kr2.length + 1), n9 = e9.lastIndexOf("/"), a7 = -1 === n9 ? "" : e9.slice(0, n9); - return { relative: "" === a7 ? Kr2 : `${Kr2}/${a7}` }; + if (void 0 === t6 || t6.length <= bd2.length) return bd2.startsWith(t6 ?? "") ? { relative: bd2 } : void 0; + if (!t6.startsWith(`${bd2}/`)) return; + const e10 = t6.slice(bd2.length + 1), n8 = e10.lastIndexOf("/"), a5 = -1 === n8 ? "" : e10.slice(0, n8); + return { relative: "" === a5 ? bd2 : `${bd2}/${a5}` }; })(t5); - if (void 0 === o7) return n8; - const i8 = `${e8.layout.gitDir}/${o7.relative}`, s10 = `${Da2(e8)}/${o7.relative}`, r7 = i8 === s10 ? [i8] : [i8, s10]; - for (const e9 of r7) for (const a7 of await u6(e9, o7.relative, t5)) n8.push(a7); - return n8; + if (void 0 === o7) return n7; + const i12 = `${e9.layout.gitDir}/${o7.relative}`, s9 = `${oo2(e9)}/${o7.relative}`, r9 = i12 === s9 ? [i12] : [i12, s9]; + for (const e10 of r9) for (const a5 of await f2(e10, o7.relative, t5)) n7.push(a5); + return n7; } - async function l4(t5) { - const e9 = /* @__PURE__ */ new Set(); - for (const n9 of await f2(t5)) e9.add(n9); - const n8 = await i7(); - for (const a6 of n8.entries) d5(a6.name, t5) && e9.add(a6.name); - return e9; - } - async function h6(t5) { - let e9; + async function h5(t5) { + const e10 = /* @__PURE__ */ new Set(); + for (const n8 of await l4(t5)) e10.add(n8); + const n7 = await s8(); + for (const a4 of n7.entries) u6(a4.name, t5) && e10.add(a4.name); + return e10; + } + async function w6(t5) { + let e10; try { - e9 = await r6(t5); + e10 = await c5(t5); } catch (t6) { - if (t6 instanceof o) return; + if (t6 instanceof c) return; throw t6; } - return "missing" === e9.kind ? void 0 : { name: t5, value: e9 }; + return "missing" === e10.kind ? void 0 : { name: t5, value: e10 }; + } + async function y5(t5) { + const e10 = await h5(t5), n7 = []; + for (const t6 of e10) { + const e11 = await w6(t6); + void 0 !== e11 && n7.push(e11); + } + return n7.sort(Dd2); + } + async function p6(t5, e10) { + if (void 0 === e10) return; + const n7 = await c5(t5), a4 = "direct" === n7.kind ? n7.id : "absent"; + if (e10 !== a4) throw $u(t5, e10, a4); + } + async function m7(t5, n7) { + void 0 !== n7 && await (async function(t6, e10, n8, a4, o7, i12) { + if (true !== i12?.unconditional && !await (async function(t7, e11) { + if (await (async function(t8, e12) { + return t8.fs.exists(mo2(io2(t8, e12), e12)); + })(t7, e11)) return true; + const n9 = await sr2(t7); + return Eu(e11, n9.core ?? {}); + })(t6, e10)) return; + const s9 = await wc2(t6); + await (async function(t7, e11, n9) { + await t7.fs.appendUtf8(mo2(io2(t7, e11), e11), cu(n9, t7.hashConfig.hexLength)); + })(t6, e10, { oldId: n8, newId: a4, identity: s9, message: pu(o7) }); + })(e9, t5, n7.oldId, n7.newId, n7.message, { unconditional: true === n7.unconditional }); } - async function w4(t5) { - const e9 = await l4(t5), n8 = []; - for (const t6 of e9) { - const e10 = await h6(t6); - void 0 !== e10 && n8.push(e10); + async function g7(t5) { + const n7 = mo2(i11(t5), t5); + let a4; + try { + const t6 = await e9.fs.stat(n7); + if (!t6.isFile) return; + a4 = t6.size; + } catch (t6) { + if (Cd2(t6)) return; + throw t6; } - return n8.sort(Zr2); + if (a4 > 16777216) throw Qd("reflog file exceeds 16777216 bytes"); + return e9.fs.read(n7); } - async function m5(t5, e9) { - if (void 0 === e9) return; - const n8 = await r6(t5), a6 = "direct" === n8.kind ? n8.id : "absent"; - if (e9 !== a6) throw Jd(t5, e9, a6); - } - async function p5(t5, n8) { - void 0 !== n8 && await (async function(t6, e9, n9, a6, o7, i8) { - if (true !== i8?.unconditional && !await (async function(t7, e10) { - if (await (async function(t8, e11) { - return t8.fs.exists(Aa2(Ea2(t8, e11), e11)); - })(t7, e10)) return true; - const n10 = await Hi2(t7); - return Gd(e10, n10.core ?? {}); - })(t6, e9)) return; - const s10 = await Bs2(t6); - await (async function(t7, e10, n10) { - await t7.fs.appendUtf8(Aa2(Ea2(t7, e10), e10), Pd(n10, t7.hashConfig.hexLength)); - })(t6, e9, { oldId: n9, newId: a6, identity: s10, message: Fd(o7) }); - })(e8, t5, n8.oldId, n8.newId, n8.message, { unconditional: true === n8.unconditional }); - } - async function y6(t5, n8) { - const a6 = await e8.fs.readdir(t5), o7 = []; - for (const e9 of a6) { - const a7 = "" === n8 ? e9.name : `${n8}/${e9.name}`; - if (e9.isDirectory) for (const n9 of await y6(`${t5}/${e9.name}`, a7)) o7.push(n9); - else o7.push(a7); + async function v6(t5) { + const n7 = mo2(i11(t5), t5); + try { + return (await e9.fs.stat(n7)).isFile; + } catch (t6) { + if (Cd2(t6)) return false; + throw t6; + } + } + async function k6(t5, n7) { + const a4 = await e9.fs.readdir(t5), o7 = []; + for (const e10 of a4) { + const a5 = "" === n7 ? e10.name : `${n7}/${e10.name}`; + if (e10.isDirectory) for (const n8 of await k6(`${t5}/${e10.name}`, a5)) o7.push(n8); + else o7.push(a5); } return o7; } - async function g7(t5) { + async function b5(t5) { switch (t5.kind) { case "set": return (async function(t6) { - await m5(t6.name, t6.expected); - const n8 = La2(o6(t6.name), t6.name), a6 = Br2.encode(ru(t6.id)); - await Ga2(e8, t6.name, n8, a6), await p5(t6.name, t6.reflog); + await p6(t6.name, t6.expected); + const n7 = ro2(i11(t6.name), t6.name), a4 = yd2.encode(ku(t6.id)); + await Do2(e9, t6.name, n7, a4), await m7(t6.name, t6.reflog); })(t5); case "setSymbolic": return (async function(t6) { - await m5(t6.name, t6.expected); - const n8 = La2(o6(t6.name), t6.name), a6 = Br2.encode(ou(t6.target)); - await Ga2(e8, t6.name, n8, a6), await p5(t6.name, t6.reflog); + await p6(t6.name, t6.expected); + const n7 = ro2(i11(t6.name), t6.name), a4 = yd2.encode(Du(t6.target)); + await Do2(e9, t6.name, n7, a4), await m7(t6.name, t6.reflog); })(t5); case "delete": return (async function(t6) { - await m5(t6.name, t6.expected); - const n8 = La2(o6(t6.name), t6.name); - if (await e8.fs.exists(n8)) return await e8.fs.rm(n8), void await (async function(t7) { - const n9 = Aa2(o6(t7), t7); - await e8.fs.exists(n9) && await e8.fs.rm(n9); + await p6(t6.name, t6.expected); + const n7 = ro2(i11(t6.name), t6.name); + if (await e9.fs.exists(n7)) return await e9.fs.rm(n7), void await (async function(t7) { + const n8 = mo2(i11(t7), t7); + await e9.fs.exists(n8) && await e9.fs.rm(n8); })(t6.name); - if ("direct" === (await r6(t6.name)).kind) throw h("delete-packed-ref", "deleting packed-only refs requires packed-refs rewrite"); - throw Kd(t6.name); + if ("direct" === (await c5(t6.name)).kind) throw w("delete-packed-ref", "deleting packed-only refs requires packed-refs rewrite"); + throw vu(t6.name); })(t5); case "reflogOnly": - return p5(t5.name, t5.reflog); + return m7(t5.name, t5.reflog); case "reflogReplace": return (async function(t6) { - const n8 = t6.entries.map((t7) => Pd(t7, e8.hashConfig.hexLength)).join(""); - await e8.fs.writeUtf8(Aa2(o6(t6.name), t6.name), n8); + const n7 = $t(t6.entries.map((t7) => uu(t7, e9.hashConfig.hexLength))); + await So2(e9, mo2(i11(t6.name), t6.name), n7, () => Au(t6.name)); })(t5); } } - async function v8(t5) { - const { id: n8 } = t5.value, a6 = await (async function(t6) { - let n9 = t6, a7 = 0; + async function x9(t5) { + const { id: n7 } = t5.value, a4 = await (async function(t6) { + let n8 = t6, a5 = 0; for (; ; ) { - const t7 = await Ui2(e8, n9); - if ("tag" !== t7.type) return n9; - if (a7 += 1, No2(a7, 5)) throw Yd(a7, []); - n9 = t7.data.object; - } - })(n8); - return a6 === n8 ? { name: t5.name, id: n8 } : { name: t5.name, id: n8, peeled: a6 }; - } - return { resolveDirect: r6, applyRefUpdates: async function(t5) { - for (const e9 of t5) await g7(e9); - }, listRefs: w4, listRefNames: async function(t5) { - return [...await l4(t5)].sort(Xr2); + const t7 = await Ts2(e9, n8); + if ("tag" !== t7.type) return n8; + if (a5 += 1, Di2(a5, 5)) throw Ou(a5, []); + n8 = t7.data.object; + } + })(n7); + return a4 === n7 ? { name: t5.name, id: n7 } : { name: t5.name, id: n7, peeled: a4 }; + } + return { resolveDirect: c5, applyRefUpdates: async function(t5) { + for (const e10 of t5) await b5(e10); + }, listRefs: y5, listRefNames: async function(t5) { + return [...await h5(t5)].sort(Sd2); }, verifyIntegrity: async function() { const t5 = []; - for (const n8 of await f2(void 0)) { - const a6 = await s9(n8); - if (void 0 === a6) continue; - const o7 = a6.replace(/[\r\n]+$/, ""); - if (o7.startsWith(qr2)) continue; - if (!Vr2.test(o7)) { - t5.push({ ref: n8, msgId: "badRefContent" }); + for (const n7 of await l4(void 0)) { + const a4 = await r8(n7); + if (void 0 === a4) continue; + const o7 = a4.replace(/[\r\n]+$/, ""); + if (o7.startsWith(xd2)) continue; + if (!Id2.test(o7)) { + t5.push({ ref: n7, msgId: "badRefContent" }); continue; } - const i8 = o7; - await e8.fs.exists(Oa2(Da2(e8), i8)) || t5.push({ ref: n8, msgId: "badRefOid", target: i8 }); + const i12 = o7; + await e9.fs.exists(so2(oo2(e9), i12)) || t5.push({ ref: n7, msgId: "badRefOid", target: i12 }); } return t5; }, readReflog: async function(t5) { - const n8 = Aa2(o6(t5), t5); - if (!await e8.fs.exists(n8)) return []; - if ((await e8.fs.stat(n8)).size > 16777216) throw Dd("reflog file exceeds 16777216 bytes"); - return Bd(await e8.fs.readUtf8(n8), e8.hashConfig.hexLength); - }, hasReflog: async function(t5) { - const n8 = Aa2(o6(t5), t5); - try { - return (await e8.fs.stat(n8)).isFile; - } catch (t6) { - if (Yr2(t6)) return false; - throw t6; - } - }, listReflogs: async function() { - const t5 = Ua2(e8.layout.gitDir), n8 = Ua2(Da2(e8)), a6 = t5 === n8 ? [t5] : [t5, n8], o7 = /* @__PURE__ */ new Set(); - for (const t6 of a6) if (await e8.fs.exists(t6)) for (const e9 of await y6(t6, "")) o7.add(e9); + const n7 = await g7(t5); + return void 0 === n7 ? [] : gu(n7, e9.hashConfig.hexLength); + }, readReflogLenient: async function(t5) { + const n7 = await g7(t5); + return void 0 === n7 ? [] : mu(n7, e9.hashConfig.hexLength); + }, moveReflog: async function(t5, n7) { + if (!await v6(t5)) return; + const a4 = mo2(i11(t5), t5); + await e9.fs.rename(a4, mo2(i11(n7), n7)); + }, hasReflog: v6, listReflogs: async function() { + const t5 = po2(e9.layout.gitDir), n7 = po2(oo2(e9)), a4 = t5 === n7 ? [t5] : [t5, n7], o7 = /* @__PURE__ */ new Set(); + for (const t6 of a4) if (await e9.fs.exists(t6)) for (const e10 of await k6(t6, "")) o7.add(e10); return [...o7]; }, packRefs: async function() { - const a6 = await (async function() { - return (await w4()).filter((e9) => "direct" === e9.value.kind && !pu(e9.name)); + const n7 = await (async function() { + return (await y5()).filter((e10) => "direct" === e10.value.kind && !ju(e10.name)); })(); - if (0 === a6.length) return { packedRefCount: 0, prunedLooseRefCount: 0, removedOrphanCount: 0 }; - const i8 = []; - for (const t5 of a6) await e8.fs.exists(La2(o6(t5.name), t5.name)) && i8.push(t5.name); - const s10 = await Promise.all(a6.map(v8)), r7 = iu({ entries: s10 }); - await e8.fs.writeUtf8(Ma2(Da2(e8)), r7), n7 = void 0; - for (const t5 of i8) await e8.fs.rm(La2(o6(t5), t5)); - return { packedRefCount: a6.length, prunedLooseRefCount: i8.length, removedOrphanCount: 0 }; + if (0 === n7.length) return { packedRefCount: 0, prunedLooseRefCount: 0, removedOrphanCount: 0 }; + const a4 = []; + for (const t5 of n7) await e9.fs.exists(ro2(i11(t5.name), t5.name)) && a4.push(t5.name); + const s9 = await Lo2(e9, "ioBound", n7, x9), r9 = Cu({ entries: s9 }); + await e9.fs.writeUtf8(co2(oo2(e9)), r9), o6 = void 0; + for (const t5 of a4) await e9.fs.rm(ro2(i11(t5), t5)); + return { packedRefCount: n7.length, prunedLooseRefCount: a4.length, removedOrphanCount: 0 }; } }; - })(e7); - })(e6), jr2.set(e6, n6)), n6; -} -async function Wr2(t5, e6) { - return "missing" !== (await zr2(t5).resolveDirect(e6)).kind; -} -async function Hr2(t5, e6) { - const n6 = La2(Ea2(t5, e6), e6); - if (!await t5.fs.exists(n6) && "direct" === (await zr2(t5).resolveDirect(e6)).kind) throw h("rename-packed-tracking-ref", `cannot rename packed-only ref ${e6} \u2014 run \`git pack-refs --unpack\` and retry`); -} -var Gr2 = "HEAD"; -var Kr2 = "refs"; -var qr2 = "ref: "; -var Vr2 = /^[0-9a-f]{40}$|^[0-9a-f]{64}$/; -function Yr2(t5) { - return "FILE_NOT_FOUND" === Ia2(t5); -} -var Xr2 = (t5, e6) => t5 < e6 ? -1 : t5 > e6 ? 1 : 0; -var Zr2 = (t5, e6) => Xr2(t5.name, e6.name); -function Jr2(t5) { - let e6; - return () => (e6 ??= new Map(t5.map((t6) => [t6.name, t6])), e6); -} -var Qr2 = /* @__PURE__ */ new Map(); -var tc2 = { entries: [], byName: () => Qr2 }; -var ec2 = "HEAD"; -async function nc2(t5, e6, n6, a6) { - eu(e6); - const o6 = zr2(t5), i7 = await o6.resolveDirect(e6), s9 = await (async function(t6) { + })(e8); + })(e7), pd2.set(e7, o5)), o5; +} +async function gd2(t5, e7) { + return "missing" !== (await md2(t5).resolveDirect(e7)).kind; +} +async function vd2(t5, e7) { + const n7 = ro2(io2(t5, e7), e7); + if (!await t5.fs.exists(n7) && "direct" === (await md2(t5).resolveDirect(e7)).kind) throw w("rename-packed-tracking-ref", `cannot rename packed-only ref ${e7} \u2014 run \`git pack-refs --unpack\` and retry`); +} +var kd2 = "HEAD"; +var bd2 = "refs"; +var xd2 = "ref: "; +var Id2 = /^[0-9a-f]{40}$|^[0-9a-f]{64}$/; +function Cd2(t5) { + return "FILE_NOT_FOUND" === to2(t5); +} +var Sd2 = (t5, e7) => t5 < e7 ? -1 : t5 > e7 ? 1 : 0; +var Dd2 = (t5, e7) => Sd2(t5.name, e7.name); +function $d2(t5) { + let e7; + return () => (e7 ??= new Map(t5.map((t6) => [t6.name, t6])), e7); +} +var Od2 = /* @__PURE__ */ new Map(); +var Ed2 = { entries: [], byName: () => Od2 }; +var Ld2 = "HEAD"; +async function Md2(t5, e7, n7, a4) { + Nu(e7); + const o5 = md2(t5), i11 = await o5.resolveDirect(e7), s8 = await (async function(t6) { try { - return await t6.resolveDirect(ec2); + return await t6.resolveDirect(Ld2); } catch (t7) { - if ("INVALID_REF" === Ia2(t7)) return { kind: "missing" }; + if ("INVALID_REF" === to2(t7)) return { kind: "missing" }; throw t7; } - })(o6); - if (void 0 !== a6.expected) { - const t6 = "direct" === i7.kind ? i7.id : "absent"; - if (a6.expected !== t6) throw Jd(e6, a6.expected, t6); - } - if (true === a6.delete) return void await o6.applyRefUpdates([{ kind: "delete", name: e6 }]); - const r6 = "direct" === i7.kind ? i7.id : cr(t5.hashConfig); - await o6.applyRefUpdates((function(t6, e7, n7, a7, o7) { - const i8 = { kind: "set", name: t6, id: e7, ...n7 !== e7 ? { reflog: { oldId: n7, newId: e7, message: a7 } } : {} }; - return (function(t7, e8) { - return "symbolic" === t7.kind && t7.target === e8; - })(o7, t6) ? [i8, { kind: "reflogOnly", name: ec2, reflog: { oldId: n7, newId: e7, message: a7 } }] : [i8]; - })(e6, n6, r6, a6.reflogMessage, s9)); -} -var ac2 = fr.from("HEAD"); -var oc2 = (t5, e6) => void 0 === t5 ? e6 : void 0 === e6 || t5.line < e6.line ? t5 : e6; -var ic2 = ["bare"]; -var sc2 = ["worktreeconfig"]; -var rc2 = async (t5) => { - if (!await cc2(t5)) throw cf(t5.layout.workDir ?? t5.layout.gitDir); - return await (async (t6) => { - const [e6, n6] = await Promise.all([_s2(t6, "core", void 0, ic2), _s2(t6, "extensions", void 0, sc2)]), a6 = oc2(e6, n6); - if (void 0 !== a6) throw Ie(a6.key, a6.source, a6.value); - })(t5), t5.layout.workDir ?? t5.layout.gitDir; -}; -var cc2 = async (t5) => { - const e6 = `${t5.layout.gitDir}/HEAD`, n6 = await t5.fs.readlink(e6).catch(() => { + })(o5); + if (void 0 !== a4.expected) { + const t6 = "direct" === i11.kind ? i11.id : "absent"; + if (a4.expected !== t6) throw $u(e7, a4.expected, t6); + } + if (true === a4.delete) return void await o5.applyRefUpdates([{ kind: "delete", name: e7 }]); + const r8 = "direct" === i11.kind ? i11.id : gr(t5.hashConfig); + await o5.applyRefUpdates((function(t6, e8, n8, a5, o6) { + const i12 = { kind: "set", name: t6, id: e8, ...n8 !== e8 ? { reflog: { oldId: n8, newId: e8, message: a5 } } : {} }; + return (function(t7, e9) { + return "symbolic" === t7.kind && t7.target === e9; + })(o6, t6) ? [i12, { kind: "reflogOnly", name: Ld2, reflog: { oldId: n8, newId: e8, message: a5 } }] : [i12]; + })(e7, n7, r8, a4.reflogMessage, s8)); +} +var Pd2 = yr.from("HEAD"); +var Nd2 = (t5, e7) => void 0 === t5 ? e7 : void 0 === e7 || t5.line < e7.line ? t5 : e7; +var Td2 = ["bare"]; +var Bd2 = ["worktreeconfig"]; +var Rd2 = async (t5) => { + if (!await _d2(t5)) throw Hf(t5.layout.workDir ?? t5.layout.gitDir); + return await Ad2(t5); +}; +var Ad2 = async (t5) => (await (async (t6) => { + const [e7, n7] = await Promise.all([uc2(t6, "core", void 0, Td2), uc2(t6, "extensions", void 0, Bd2)]), a4 = Nd2(e7, n7); + if (void 0 !== a4) throw Ae(a4.key, a4.source, a4.value); +})(t5), t5.layout.workDir ?? t5.layout.gitDir); +var _d2 = async (t5) => { + const e7 = `${t5.layout.gitDir}/HEAD`, n7 = await t5.fs.lstat(e7).catch(() => { }); - if (void 0 !== n6) return lm(n6); - const a6 = await t5.fs.readUtf8(e6).catch(() => { + if (void 0 === n7) return false; + if (n7.isSymbolicLink) { + const n8 = await t5.fs.readlink(e7).catch(() => { + }); + return void 0 !== n8 && _p(n8); + } + const a4 = await t5.fs.readUtf8(e7).catch(() => { }); - return void 0 !== a6 && um(a6); -}; -var dc2 = ["excludesfile", "attributesfile"]; -var uc2 = ["sparsecheckout", "sparsecheckoutcone"]; -var fc2 = ["cachetextconv"]; -var lc2 = async (t5) => { - const e6 = await rc2(t5); - ((t6, e7) => { - if (true === t6.layout.implicitBare) throw yf(t6.layout.gitDir); + return void 0 !== a4 && Ip(a4); +}; +var Fd2 = ["excludesfile", "attributesfile"]; +var Ud2 = ["sparsecheckout", "sparsecheckoutcone"]; +var zd2 = ["cachetextconv"]; +var jd2 = async (t5) => { + const e7 = await Rd2(t5); + return Hd2(t5, e7); +}; +var Hd2 = (t5, e7) => { + ((t6, e8) => { + if (true === t6.layout.implicitBare) throw Jf(t6.layout.gitDir); if (true === t6.layout.untrusted) { - const { foreignPath: n7 } = t6.layout; - throw wf(e7, void 0 !== n7 && n7 !== e7 ? n7 : void 0); - } - })(t5, e6); - const n6 = t5.layout.formatRefusal; - return void 0 !== n6 && ((t6) => { - if ("version" === t6.kind) throw gf(t6.version); - throw mf(t6.version, t6.extensions); - })(n6), e6; -}; -var hc2 = async (t5) => { - const e6 = await lc2(t5); + const { foreignPath: n8 } = t6.layout; + throw qf(e8, void 0 !== n8 && n8 !== e8 ? n8 : void 0); + } + })(t5, e7); + const n7 = t5.layout.formatRefusal; + return void 0 !== n7 && ((t6) => { + if ("version" === t6.kind) throw Kf(t6.version); + throw Yf(t6.version, t6.extensions); + })(n7), e7; +}; +var Wd2 = async (t5) => { + const e7 = Hd2(t5, await Ad2(t5)); return await (async (t6) => { - const [e7, n6, a6, o6, i7, s9] = await Promise.all([ts2(t6), Xi2(t6, "core", void 0, dc2), Ji2(t6), _s2(t6, "core", void 0, uc2), Us2(t6), Fs2(t6, "diff", fc2, { requireSubsection: true })]); - if (void 0 !== e7) throw be(e7.key, e7.source, e7.value, e7.reason); - const r6 = [void 0 === n6 ? void 0 : { kind: "valueless", line: n6.line, entry: n6 }, void 0 === a6 ? void 0 : { kind: "compression", line: a6.line, entry: a6 }, void 0 === o6 ? void 0 : { kind: "boolean", line: o6.line, entry: o6 }, void 0 === i7 ? void 0 : { kind: "boolean", line: i7.line, entry: i7 }, void 0 === s9 ? void 0 : { kind: "boolean", line: s9.line, entry: s9 }].reduce((t7, e8) => oc2(t7, e8), void 0); - void 0 !== r6 && ((t7) => { + const [e8, n7, a4, o5, i11, s8] = await Promise.all([kr2(t6), lr2(t6, "core", void 0, Fd2), wr2(t6), uc2(t6, "core", void 0, Ud2), lc2(t6), fc2(t6, "diff", zd2, { requireSubsection: true })]); + if (void 0 !== e8) throw Te(e8.key, e8.source, e8.value, e8.reason); + const r8 = [void 0 === n7 ? void 0 : { kind: "valueless", line: n7.line, entry: n7 }, void 0 === a4 ? void 0 : { kind: "compression", line: a4.line, entry: a4 }, void 0 === o5 ? void 0 : { kind: "boolean", line: o5.line, entry: o5 }, void 0 === i11 ? void 0 : { kind: "boolean", line: i11.line, entry: i11 }, void 0 === s8 ? void 0 : { kind: "boolean", line: s8.line, entry: s8 }].reduce((t7, e9) => Nd2(t7, e9), void 0); + void 0 !== r8 && ((t7) => { if ("valueless" === t7.kind) { - const { entry: e9 } = t7; - throw ye(e9.key, e9.source, e9.line); + const { entry: e10 } = t7; + throw ve(e10.key, e10.source, e10.line); } if ("boolean" === t7.kind) { - const { entry: e9 } = t7; - throw Ie(e9.key, e9.source, e9.value); - } - const { entry: e8 } = t7; - if ("numeric" === e8.failure.kind) throw be(e8.key, e8.source, e8.failure.value, e8.failure.reason); - throw Te(e8.failure.level); - })(r6); - })(t5), e6; -}; -var wc2 = (t5, e6) => { - if (true === t5.layout.workTreeConfigBogus) throw lf(t5.layout.gitDir); - const n6 = t5.layout.workDir; - if (void 0 === n6) throw uf(e6); - return n6; -}; -var mc2 = async (t5) => { - const e6 = await zr2(t5).resolveDirect(ac2); - if ("missing" === e6.kind) throw Kd(ac2); - return e6; -}; -var pc2 = (t5) => "symbolic" === t5.kind ? t5.target : void 0; -var yc2 = async (t5) => pc2(await mc2(t5)); -var gc2 = [{ file: au, operation: fg }, { file: uu, operation: gg }, { file: lu, operation: mg }, { file: fu, operation: hg }]; -var vc2 = async (t5, e6 = {}) => { - const n6 = e6.except, a6 = (t6) => Array.isArray(n6) ? n6.includes(t6) : n6 === t6, o6 = await Promise.all(gc2.map((e7) => t5.fs.exists(`${t5.layout.gitDir}/${e7.file}`))); - for (let t6 = 0; t6 < gc2.length; t6 += 1) { - const e7 = gc2[t6]; - if (void 0 !== e7 && !a6(e7.operation) && true === o6[t6]) throw Q(e7.operation); - } -}; -var bc2 = (t5, e6) => t5.endsWith("/") ? `${t5}${e6}` : `${t5}/${e6}`; -var kc2 = (t5, e6) => { - if ("~" === e6) return t5.layout.homeDir; - if (e6.startsWith("~/")) { + const { entry: e10 } = t7; + throw Ae(e10.key, e10.source, e10.value); + } + const { entry: e9 } = t7; + if ("numeric" === e9.failure.kind) throw Te(e9.key, e9.source, e9.failure.value, e9.failure.reason); + throw Ne(e9.failure.level); + })(r8); + })(t5), e7; +}; +var Gd2 = async (t5) => { + if (!await _d2(t5)) throw Hf(t5.layout.workDir ?? t5.layout.gitDir); + return await ((t6, e7) => { + const n7 = ir2.get(t6.session); + if (void 0 !== n7) return n7; + const a4 = e7(t6); + return ir2.set(t6.session, a4), a4.catch(() => { + ir2.get(t6.session) === a4 && ir2.delete(t6.session); + }), a4; + })(t5, Wd2); +}; +var Kd2 = (t5, e7) => { + if (true === t5.layout.workTreeConfigBogus) throw Wf(t5.layout.gitDir); + const n7 = t5.layout.workDir; + if (void 0 === n7) throw Gf(e7); + return n7; +}; +var qd2 = async (t5) => { + const e7 = await md2(t5).resolveDirect(Pd2); + if ("missing" === e7.kind) throw vu(Pd2); + return e7; +}; +var Vd2 = (t5) => "symbolic" === t5.kind ? t5.target : void 0; +var Yd2 = async (t5) => Vd2(await qd2(t5)); +var Xd2 = [{ file: Mu, operation: _m }, { file: Fu, operation: Om }, { file: Hu, operation: Tm }, { file: Vu, operation: vm }]; +var Zd2 = async (t5, e7 = {}) => { + const n7 = e7.except, a4 = (t6) => Array.isArray(n7) ? n7.includes(t6) : n7 === t6, o5 = await Promise.all(Xd2.map((e8) => t5.fs.exists(`${t5.layout.gitDir}/${e8.file}`))); + for (let t6 = 0; t6 < Xd2.length; t6 += 1) { + const e8 = Xd2[t6]; + if (void 0 !== e8 && !a4(e8.operation) && true === o5[t6]) throw re(e8.operation); + } +}; +var Jd2 = (t5, e7) => t5.endsWith("/") ? `${t5}${e7}` : `${t5}/${e7}`; +var Qd2 = (t5, e7) => { + if ("~" === e7) return t5.layout.homeDir; + if (e7.startsWith("~/")) { if (void 0 === t5.layout.homeDir) return; - return `${t5.layout.homeDir}/${e6.slice(2)}`; + return `${t5.layout.homeDir}/${e7.slice(2)}`; } - return e6; + return e7; }; -var xc2 = async (t5, e6, n6, o6) => { - let i7; +var tu2 = async (t5, e7, a4, o5) => { + let i11; try { - i7 = await t5.fs.lstat(e6); + i11 = await t5.fs.lstat(e7); } catch (t6) { - if (t6 instanceof o && "FILE_NOT_FOUND" === t6.data.code) return; + if (t6 instanceof c && "FILE_NOT_FOUND" === t6.data.code) return; throw t6; } - if (i7.isFile && !i7.isSymbolicLink) { - if (i7.size > n6) throw o6(((t6) => { - const e7 = t6.lastIndexOf("/"); - return -1 === e7 ? t6 : t6.slice(e7 + 1); - })(e6), i7.size, n6); - return t5.fs.readUtf8(e6); - } -}; -var Ic2 = async (t5, e6) => { - const n6 = await xc2(t5, e6, 1048576, ue); - return void 0 === n6 ? void 0 : Om(n6); -}; -var Cc2 = (t5, e6) => Ic2(t5, bc2(wc2(t5, "buildAttributeProvider"), "" === e6 ? ".gitattributes" : `${e6}/.gitattributes`)); -var Sc2 = (t5) => ".." === t5 || t5.startsWith("..") && /^[. ]*$/.test(t5.slice(2)); -var $c2 = /^[A-Za-z]:/; -var Dc2 = async (t5) => { - const e6 = await ((t6) => Ic2(t6, `${Da2(t6)}/info/attributes`))(t5), n6 = await (async (t6) => { - const e7 = (await Hi2(t6)).core?.attributesFile; - if (void 0 === e7 || "" === e7) return; - const n7 = kc2(t6, e7); - return void 0 !== n7 ? Ic2(t6, n7) : void 0; - })(t5), a6 = await Cc2(t5, ""), o6 = wm([...e6?.macros ?? [], ...a6?.macros ?? [], ...n6?.macros ?? []]), i7 = /* @__PURE__ */ new Map([["", a6]]), s9 = async (e7) => { - if (i7.has(e7)) return i7.get(e7); + if (i11.isFile && !i11.isSymbolicLink) { + if (i11.size > a4) throw o5(((t6) => { + const e8 = t6.lastIndexOf("/"); + return -1 === e8 ? t6 : t6.slice(e8 + 1); + })(e7), i11.size, a4); + return t5.fs.readUtf8(e7); + } +}; +var eu2 = async (t5, e7) => { + const n7 = await tu2(t5, e7, 1048576, me); + return void 0 === n7 ? void 0 : Cp(n7); +}; +var nu2 = (t5, e7) => eu2(t5, Jd2(Kd2(t5, "buildAttributeProvider"), "" === e7 ? ".gitattributes" : `${e7}/.gitattributes`)); +var au2 = (t5) => ".." === t5 || t5.startsWith("..") && /^[. ]*$/.test(t5.slice(2)); +var ou2 = /^[A-Za-z]:/; +var iu2 = async (t5) => { + const e7 = await ((t6) => eu2(t6, `${oo2(t6)}/info/attributes`))(t5), n7 = await (async (t6) => { + const e8 = (await sr2(t6)).core?.attributesFile; + if (void 0 === e8 || "" === e8) return; + const n8 = Qd2(t6, e8); + return void 0 !== n8 ? eu2(t6, n8) : void 0; + })(t5), a4 = await nu2(t5, ""), o5 = xp([...e7?.macros ?? [], ...a4?.macros ?? [], ...n7?.macros ?? []]), i11 = /* @__PURE__ */ new Map([["", a4]]), s8 = async (e8) => { + if (i11.has(e8)) return i11.get(e8); if (((t6) => { - const e8 = t6.replace(/\\/g, "/"); - return !(!e8.startsWith("/") && !$c2.test(e8)) || e8.includes("..") && e8.split("/").some(Sc2); - })(e7)) return void i7.set(e7, void 0); - const n7 = await Cc2(t5, e7); - return i7.set(e7, n7), n7; + const e9 = t6.replace(/\\/g, "/"); + return !(!e9.startsWith("/") && !ou2.test(e9)) || e9.includes("..") && e9.split("/").some(au2); + })(e8)) return void i11.set(e8, void 0); + const n8 = await nu2(t5, e8); + return i11.set(e8, n8), n8; }; return { sourcesForPath: async (t6) => { - const a7 = []; - void 0 !== e6 && a7.push({ basedir: "", rules: e6.rules }); - for (const e7 of ((t7) => { - const e8 = t7.split("/"); - e8.pop(); - const n7 = []; - for (let t8 = e8.length; t8 >= 1; t8 -= 1) n7.push(e8.slice(0, t8).join("/")); - return n7.push(""), n7; + const a5 = []; + void 0 !== e7 && a5.push({ basedir: "", rules: e7.rules }); + for (const e8 of ((t7) => { + const e9 = t7.split("/"); + e9.pop(); + const n8 = []; + for (let t8 = e9.length; t8 >= 1; t8 -= 1) n8.push(e9.slice(0, t8).join("/")); + return n8.push(""), n8; })(t6)) { - const t7 = await s9(e7); - void 0 !== t7 && a7.push({ basedir: e7, rules: t7.rules }); + const t7 = await s8(e8); + void 0 !== t7 && a5.push({ basedir: e8, rules: t7.rules }); } - return void 0 !== n6 && a7.push({ basedir: "", rules: n6.rules }), { sources: a7, macros: o6 }; + return void 0 !== n7 && a5.push({ basedir: "", rules: n7.rules }), { sources: a5, macros: o5 }; } }; }; -var Ec2 = (t5) => void 0 !== t5.command ? Dc2(t5) : Promise.resolve(void 0); -var Oc2 = async (t5, e6) => { - const n6 = Lr(e6, t5.hashConfig), a6 = await t5.hash.hashHex(n6); - if (!Dr(a6, t5.hashConfig)) throw xt(a6); - return { bytes: n6, id: a6 }; -}; -var Lc2 = (t5) => { - const e6 = /* @__PURE__ */ new Map(), n6 = wc2(t5, "createLeadingPathScanner"), o6 = async (t6) => { - const n7 = e6.get(t6); - if (void 0 !== n7) return n7; - const a6 = await i7(t6); - return e6.set(t6, a6), a6; - }, i7 = async (e7) => { +var su2 = (t5) => void 0 !== t5.command ? iu2(t5) : Promise.resolve(void 0); +var ru2 = async (t5, e7) => { + const n7 = Xr(e7, t5.hashConfig), a4 = await t5.hash.hashHex(n7); + if (!Qr(a4, t5.hashConfig)) throw Pt(a4); + return { bytes: n7, id: a4 }; +}; +var cu2 = (t5) => { + const e7 = /* @__PURE__ */ new Map(), a4 = /* @__PURE__ */ new Map(), o5 = Kd2(t5, "createLeadingPathScanner"), i11 = (t6) => { + let n7 = e7.get(t6); + return void 0 === n7 && (n7 = Gi2(() => r8(t6)), e7.set(t6, n7)), n7.get(); + }, s8 = (n7) => { + let i12 = a4.get(n7); + return void 0 === i12 && (i12 = Gi2(async () => { + await t5.fs.rm(Jd2(o5, n7)), e7.delete(n7); + }), a4.set(n7, i12)), i12.get(); + }, r8 = async (e8) => { try { - return (await t5.fs.lstat(bc2(n6, e7))).isSymbolicLink ? "symlink" : "plain"; + return (await t5.fs.lstat(Jd2(o5, e8))).isSymbolicLink ? "symlink" : "plain"; } catch (t6) { - if (t6 instanceof o && "FILE_NOT_FOUND" === t6.data.code) return "missing"; + if (t6 instanceof c && "FILE_NOT_FOUND" === t6.data.code) return "missing"; throw t6; } }; return { hasSymlinkedLeadingPath: async (t6) => { - const e7 = t6.split("/"); - let n7 = e7[0] ?? ""; - for (let t7 = 1; t7 < e7.length; t7 += 1) { - const a6 = await o6(n7); - if ("missing" === a6) return false; - if ("symlink" === a6) return true; - n7 = `${n7}/${e7[t7]}`; + const e8 = t6.split("/"); + let n7 = e8[0] ?? ""; + for (let t7 = 1; t7 < e8.length; t7 += 1) { + const a5 = await i11(n7); + if ("missing" === a5) return false; + if ("symlink" === a5) return true; + n7 = `${n7}/${e8[t7]}`; } return false; - }, unlinkSymlinkedLeadingComponent: async (a6) => { - const i8 = a6.split("/"); - let s9 = i8[0] ?? ""; - for (let a7 = 1; a7 < i8.length; a7 += 1) { - const r6 = await o6(s9); - if ("missing" === r6) return void e6.delete(s9); - if ("symlink" === r6) return await t5.fs.rm(bc2(n6, s9)), void e6.delete(s9); - s9 = `${s9}/${i8[a7]}`; + }, unlinkSymlinkedLeadingComponent: async (t6) => { + const n7 = t6.split("/"); + let a5 = n7[0] ?? ""; + for (let t7 = 1; t7 < n7.length; t7 += 1) { + const o6 = await i11(a5); + if ("missing" === o6) return void e7.delete(a5); + if ("symlink" === o6) return void await s8(a5); + a5 = `${a5}/${n7[t7]}`; } }, invalidate: (t6) => { - e6.delete(t6); + e7.delete(t6); } }; }; -var Mc2 = new TextDecoder(); -var Pc2 = async (t5, e6) => { - let n6; +var du2 = new TextDecoder(); +var uu2 = async (t5, e7) => { + let a4; try { - await t5.fs.lstat(e6), n6 = true; + await t5.fs.lstat(e7), a4 = true; } catch (t6) { - if (!(t6 instanceof o && "FILE_NOT_FOUND" === t6.data.code)) throw t6; - n6 = false; - } - n6 && await t5.fs.rm(e6); -}; -var Tc2 = (t5, e6) => e6 ?? Lc2(t5); -var Nc2 = async (t5, e6, n6, a6) => { - await Pc2(t5, e6), await t5.fs.write(e6, n6), void 0 !== a6 && await t5.fs.chmod(e6, a6 === Wt.EXECUTABLE ? 493 : 420); -}; -var Rc2 = async (t5, e6, n6, a6) => { - await Tc2(t5, a6).unlinkSymlinkedLeadingComponent(e6), await Nc2(t5, bc2(wc2(t5, "writeWorkingTreeFile"), e6), n6); -}; -var _c2 = async (t5, e6, n6, a6, o6) => { - const i7 = Tc2(t5, o6); - await i7.unlinkSymlinkedLeadingComponent(e6); - const s9 = bc2(wc2(t5, "writeWorkingTreeFile"), e6); - if (a6 === Wt.SYMLINK) return await Pc2(t5, s9), await t5.fs.symlink(Mc2.decode(n6), s9), void i7.invalidate(e6); - a6 !== Wt.GITLINK ? await Nc2(t5, s9, n6, a6) : await t5.fs.mkdir(s9); -}; -var Fc2 = async (t5, e6, n6, a6) => { - await Pc2(t5, e6), await t5.fs.writeStream(e6, n6), void 0 !== a6 && await t5.fs.chmod(e6, a6 === Wt.EXECUTABLE ? 493 : 420); -}; -var Uc2 = async (t5, e6, n6, a6) => { - await Tc2(t5, a6).unlinkSymlinkedLeadingComponent(e6), await Fc2(t5, bc2(wc2(t5, "writeWorkingTreeFile"), e6), n6); -}; -var Ac2 = async (t5, e6) => { - const n6 = bc2(wc2(t5, "writeWorkingTreeFile"), e6); - await Pc2(t5, n6); -}; -async function Bc2(t5, e6, n6) { - const a6 = await Ui2(t5, e6, n6); - if ("blob" !== a6.type) throw Bt("blob", a6.type, e6); - return a6; -} -var jc2 = async (t5, e6, n6, a6) => { - const o6 = await _s2(t5, e6, n6, a6); - if (void 0 !== o6) throw Ie(o6.key, o6.source, o6.value); -}; -var zc2 = async (t5, e6, n6, a6 = {}) => { - const o6 = await Fs2(t5, e6, n6, a6); - if (void 0 !== o6) throw Ie(o6.key, o6.source, o6.value); -}; -var Wc2 = (t5) => zc2(t5, "remote", ["promisor"]); -var Hc2 = { kind: "identity" }; -var Gc2 = async (t5, e6, n6, a6 = {}) => { - true === a6.eagerSectionValidation && await zc2(t5, "filter", ["required"], { requireSubsection: true }); - const { sources: o6, macros: i7 } = await e6.sourcesForPath(n6); - return ((t6, e7) => false === e7 || true === e7 || "unspecified" === e7 ? Promise.resolve(Hc2) : (async (t7, e8) => { - await zc2(t7, "filter", ["required"], { requireSubsection: true }); - const n7 = (await Hi2(t7)).filter?.get(e8); - return void 0 === n7 ? Hc2 : { kind: "external", name: e8, ...void 0 !== n7.clean && { clean: n7.clean }, ...void 0 !== n7.smudge && { smudge: n7.smudge }, required: n7.required ?? false }; - })(t6, e7.set))(t5, Am(o6, n6, "filter", i7)); -}; -var Kc2 = async (t5, e6, n6, a6) => { - const { gitDir: o6 } = t5.layout, i7 = await e6.run({ command: n6, cwd: $a2(t5.layout), env: { GIT_DIR: o6 }, stdin: a6, ...void 0 !== t5.signal ? { signal: t5.signal } : {} }); - return 0 !== i7.exitCode ? { ok: false, exitCode: i7.exitCode } : { ok: true, bytes: i7.stdout ?? new Uint8Array(0) }; -}; -async function qc2(t5, e6, n6, a6) { - const o6 = { maxBufferedBytes: n6, verifyHash: a6?.verifyHash ?? true }; - if (Vc2(t5), await Ti2(t5).assertLoadable(), o6.maxBufferedBytes > 0) { - const n7 = t5.deltaCache.get(e6); - if (void 0 !== n7) return await (async function(t6, e7, n8, a7) { - return await Jc2(t6, e7, n8, a7.verifyHash), Xc2(n8); - })(t5, e6, n7, o6); - } - const i7 = await xi2(t5, e6); - if (void 0 !== i7) return Vc2(t5), await (async function(t6, e7, n7, a7) { - if (Yc2(n7.length, a7.maxBufferedBytes)) { - const o8 = await t6.compressor.inflate(n7); - return await Jc2(t6, e7, o8, a7.verifyHash), Xc2(o8); - } - const o7 = td2(t6, n7); - return { kind: "stream", type: void 0, materialised: false, stream: nd2(t6, e7, n3(o7), a7.verifyHash), release: () => ed2(o7) }; - })(t5, e6, i7, o6); - Vc2(t5); - const s9 = Ti2(t5), r6 = await s9.lookup(e6); - if (void 0 === r6) throw Mt(e6); - const c6 = di2(await r6.pack.offsetTable(), r6.offset), { header: d5, chunk: u6, headerEndInChunk: f2 } = await $i2(t5, r6, c6); - return Si2(d5) ? await (async function(t6, e7, n7, a7, o7, i8) { - const s10 = (function(t7) { + if (!(t6 instanceof c && "FILE_NOT_FOUND" === t6.data.code)) throw t6; + a4 = false; + } + a4 && await t5.fs.rm(e7); +}; +var fu2 = (t5, e7) => e7 ?? cu2(t5); +var lu2 = async (t5, e7, n7, a4) => { + await uu2(t5, e7), await t5.fs.write(e7, n7), void 0 !== a4 && await t5.fs.chmod(e7, a4 === Qt.EXECUTABLE ? 493 : 420); +}; +var hu2 = async (t5, e7, n7, a4) => { + await fu2(t5, a4).unlinkSymlinkedLeadingComponent(e7), await lu2(t5, Jd2(Kd2(t5, "writeWorkingTreeFile"), e7), n7); +}; +var wu2 = async (t5, e7, n7, a4, o5) => { + const i11 = fu2(t5, o5); + await i11.unlinkSymlinkedLeadingComponent(e7); + const s8 = Jd2(Kd2(t5, "writeWorkingTreeFile"), e7); + if (a4 === Qt.SYMLINK) return await uu2(t5, s8), await t5.fs.symlink(du2.decode(n7), s8), void i11.invalidate(e7); + a4 !== Qt.GITLINK ? await lu2(t5, s8, n7, a4) : await t5.fs.mkdir(s8); +}; +var yu2 = async (t5, e7, n7, a4) => { + await uu2(t5, e7), await t5.fs.writeStream(e7, n7), void 0 !== a4 && await t5.fs.chmod(e7, a4 === Qt.EXECUTABLE ? 493 : 420); +}; +var pu2 = async (t5, e7, n7, a4) => { + await fu2(t5, a4).unlinkSymlinkedLeadingComponent(e7), await yu2(t5, Jd2(Kd2(t5, "writeWorkingTreeFile"), e7), n7); +}; +var mu2 = async (t5, e7) => { + const n7 = Jd2(Kd2(t5, "writeWorkingTreeFile"), e7); + await uu2(t5, n7); +}; +async function gu2(t5, e7, n7) { + const a4 = await Ts2(t5, e7, n7); + if ("blob" !== a4.type) throw Kt("blob", a4.type, e7); + return a4; +} +var vu2 = async (t5, e7, n7, a4) => { + const o5 = await uc2(t5, e7, n7, a4); + if (void 0 !== o5) throw Ae(o5.key, o5.source, o5.value); +}; +var ku2 = async (t5, e7, n7, a4 = {}) => { + const o5 = await fc2(t5, e7, n7, a4); + if (void 0 !== o5) throw Ae(o5.key, o5.source, o5.value); +}; +var bu2 = (t5) => ku2(t5, "remote", ["promisor"]); +var xu2 = { kind: "identity" }; +var Iu2 = async (t5, e7, n7, a4 = {}) => { + true === a4.eagerSectionValidation && await ku2(t5, "filter", ["required"], { requireSubsection: true }); + const { sources: o5, macros: i11 } = await e7.sourcesForPath(n7); + return ((t6, e8) => false === e8 || true === e8 || "unspecified" === e8 ? Promise.resolve(xu2) : (async (t7, e9) => { + await ku2(t7, "filter", ["required"], { requireSubsection: true }); + const n8 = (await sr2(t7)).filter?.get(e9); + return void 0 === n8 ? xu2 : { kind: "external", name: e9, ...void 0 !== n8.clean && { clean: n8.clean }, ...void 0 !== n8.smudge && { smudge: n8.smudge }, required: n8.required ?? false }; + })(t6, e8.set))(t5, Pp(o5, n7, "filter", i11)); +}; +var Cu2 = async (t5, e7, n7, a4) => { + const { gitDir: o5 } = t5.layout, i11 = await e7.run({ command: n7, cwd: ao2(t5.layout), env: { GIT_DIR: o5 }, stdin: a4, ...void 0 !== t5.signal ? { signal: t5.signal } : {} }); + return 0 !== i11.exitCode ? { ok: false, exitCode: i11.exitCode } : { ok: true, bytes: i11.stdout ?? new Uint8Array(0) }; +}; +async function Su2(t5, e7, n7, a4) { + const o5 = { maxBufferedBytes: n7, verifyHash: a4?.verifyHash ?? false }; + if (Du2(t5), await Ls2(t5).assertLoadable(), o5.maxBufferedBytes > 0) { + const n8 = t5.deltaCache.get(e7); + if (void 0 !== n8) return await (async function(t6, e8, n9, a5) { + return await Lu2(t6, e8, n9, a5.verifyHash), Ou2(n9); + })(t5, e7, n8, o5); + } + const i11 = await ms(t5, e7); + if (void 0 !== i11) return Du2(t5), await (async function(t6, e8, n8, a5) { + if ($u2(n8.length, a5.maxBufferedBytes)) { + const o7 = await t6.compressor.inflate(n8); + return await Lu2(t6, e8, o7, a5.verifyHash), Ou2(o7); + } + const o6 = Pu2(t6, n8); + return { kind: "stream", type: void 0, materialised: false, stream: Tu2(t6, e8, n3(o6), a5.verifyHash), release: () => Nu2(o6) }; + })(t5, e7, i11, o5); + Du2(t5); + const s8 = Ls2(t5), r8 = await s8.lookup(e7); + if (void 0 === r8) throw zt(e7); + const c5 = await r8.pack.offsetTable(), d6 = as2(c5, r8.offset), { header: u6, chunk: f2, headerEndInChunk: l4 } = await Is2(t5, r8, d6, c5.packFileSize); + return xs2(u6) ? await (async function(t6, e8, n8, a5, o6, i12) { + const s9 = (function(t7) { switch (t7) { - case bl.COMMIT: + case Ql.COMMIT: return "commit"; - case bl.TREE: + case Ql.TREE: return "tree"; - case bl.BLOB: + case Ql.BLOB: return "blob"; - case bl.TAG: + case Ql.TAG: return "tag"; } - })(n7); - if (Yc2(o7.length, i8.maxBufferedBytes) && Yc2(a7, i8.maxBufferedBytes)) { - const n8 = await t6.compressor.inflate(o7); - return await (async function(t7, e8, n9, a8, o8, i9) { - const s11 = i9 ? t7.hash.createHasher() : void 0; - s11?.update(Zc2(n9, a8)), s11?.update(o8), await Qc2(s11, e8); - })(t6, e7, s10, a7, n8, i8.verifyHash), { kind: "bytes", type: s10, content: n8 }; - } - const r7 = td2(t6, o7); - return { kind: "stream", type: s10, materialised: false, stream: ad2(t6, e7, n3(r7), s10, a7, i8.verifyHash), release: () => ed2(r7) }; - })(t5, e6, d5.type, d5.size, u6.subarray(f2), o6) : (Vc2(t5), await (async function(t6, e7, n7, a7, o7) { - const i8 = await Ci2(t6, e7, n7, a7, void 0); - return await Jc2(t6, a7, i8, o7.verifyHash), Xc2(i8); - })(t5, s9, r6, e6, o6)); -} -function Vc2(t5) { - if (true === t5.signal?.aborted) throw I(); -} -function Yc2(t5, e6) { - return t5 <= e6; -} -function Xc2(t5) { - const { type: e6, content: n6 } = Sr(t5); - return { kind: "bytes", type: e6, content: n6 }; -} -function Zc2(t5, e6) { - return new TextEncoder().encode(`${t5} ${e6}\0`); -} -async function Jc2(t5, e6, n6, a6) { - if (!a6) return; - const o6 = await t5.hash.hashHex(n6); - if (o6 !== e6) throw Pt(e6, o6); -} -async function Qc2(t5, e6) { + })(n8); + if ($u2(o6.length, i12.maxBufferedBytes) && $u2(a5, i12.maxBufferedBytes)) { + const n9 = await t6.compressor.inflate(o6); + return await (async function(t7, e9, n10, a6, o7, i13) { + const s10 = i13 ? t7.hash.createHasher() : void 0; + s10?.update(Eu2(n10, a6)), s10?.update(o7), await Mu2(s10, e9); + })(t6, e8, s9, a5, n9, i12.verifyHash), { kind: "bytes", type: s9, content: n9 }; + } + const r9 = Pu2(t6, o6); + return { kind: "stream", type: s9, materialised: false, stream: Bu2(t6, e8, n3(r9), s9, a5, i12.verifyHash), release: () => Nu2(r9) }; + })(t5, e7, u6.type, u6.size, f2.subarray(l4), o5) : (Du2(t5), await (async function(t6, e8, n8, a5, o6) { + const i12 = await (async function(t7, e9, n9, a6) { + return (await bs2(t7, e9, n9, a6, void 0, 0)).bytes; + })(t6, e8, n8, a5); + return await Lu2(t6, a5, i12, o6.verifyHash), Ou2(i12); + })(t5, s8, r8, e7, o5)); +} +function Du2(t5) { + if (true === t5.signal?.aborted) throw A(); +} +function $u2(t5, e7) { + return t5 <= e7; +} +function Ou2(t5) { + const { type: e7, content: n7 } = Kr(t5); + return { kind: "bytes", type: e7, content: n7 }; +} +function Eu2(t5, e7) { + return new TextEncoder().encode(`${t5} ${e7}\0`); +} +async function Lu2(t5, e7, n7, a4) { + if (!a4) return; + const o5 = await t5.hash.hashHex(n7); + if (o5 !== e7) throw jt(e7, o5); +} +async function Mu2(t5, e7) { if (void 0 === t5) return; - const n6 = await t5.digestHex(); - if (n6 !== e6) throw Pt(e6, n6); + const n7 = await t5.digestHex(); + if (n7 !== e7) throw jt(e7, n7); } -function td2(t5, e6) { +function Pu2(t5, e7) { return new ReadableStream({ start(t6) { - t6.enqueue(e6), t6.close(); + t6.enqueue(e7), t6.close(); } }).pipeThrough(t5.compressor.createInflateStream()); } -async function ed2(t5) { +async function Nu2(t5) { try { await t5.cancel(); } catch { } } -async function* nd2(t5, e6, n6, a6) { - const o6 = a6 ? t5.hash.createHasher() : void 0, i7 = n6[Symbol.asyncIterator](); +async function* Tu2(t5, e7, n7, a4) { + const o5 = a4 ? t5.hash.createHasher() : void 0, i11 = n7[Symbol.asyncIterator](); try { - const n7 = await i7.next(); - if (true === n7.done) throw Lt(`inflate stream produced no output for object ${e6}`); - const a7 = await (async function(t6, e7, n8) { - let a8 = n8; + const n8 = await i11.next(); + if (true === n8.done) throw Bt(`inflate stream produced no output for object ${e7}`); + const a5 = await (async function(t6, e8, n9) { + let a6 = n9; for (; ; ) { - const n9 = a8.indexOf(0); - if (-1 !== n9) { - const { type: e8 } = Ir(a8); - if ("blob" !== e8) throw Bt("blob", e8, t6); - return { headerBytes: a8.subarray(0, n9 + 1), content: a8.subarray(n9 + 1) }; - } - const o7 = await e7.next(); - if (true === o7.done) throw Lt(`no NUL terminator found in inflated object ${t6}`); - a8 = od2(a8, o7.value); - } - })(e6, i7, n7.value); - o6?.update(a7.headerBytes), a7.content.length > 0 && (o6?.update(a7.content), yield a7.content); - for await (const e7 of { [Symbol.asyncIterator]: () => i7 }) { - if (true === t5.signal?.aborted) throw I(); - o6?.update(e7), yield e7; - } - await Qc2(o6, e6); + const n10 = a6.indexOf(0); + if (-1 !== n10) { + const { type: e9 } = Sr(a6); + if ("blob" !== e9) throw Kt("blob", e9, t6); + return { headerBytes: a6.subarray(0, n10 + 1), content: a6.subarray(n10 + 1) }; + } + const o6 = await e8.next(); + if (true === o6.done) throw Bt(`no NUL terminator found in inflated object ${t6}`); + a6 = Ru2(a6, o6.value); + } + })(e7, i11, n8.value); + o5?.update(a5.headerBytes), a5.content.length > 0 && (o5?.update(a5.content), yield a5.content); + for await (const e8 of { [Symbol.asyncIterator]: () => i11 }) { + if (true === t5.signal?.aborted) throw A(); + o5?.update(e8), yield e8; + } + await Mu2(o5, e7); } finally { - await i7.return?.(); + await i11.return?.(); } } -async function* ad2(t5, e6, n6, a6, o6, i7) { - const s9 = i7 ? t5.hash.createHasher() : void 0; - s9?.update(Zc2(a6, o6)); - for await (const e7 of n6) { - if (true === t5.signal?.aborted) throw I(); - s9?.update(e7), yield e7; +async function* Bu2(t5, e7, n7, a4, o5, i11) { + const s8 = i11 ? t5.hash.createHasher() : void 0; + s8?.update(Eu2(a4, o5)); + for await (const e8 of n7) { + if (true === t5.signal?.aborted) throw A(); + s8?.update(e8), yield e8; } - await Qc2(s9, e6); + await Mu2(s8, e7); } -function od2(t5, e6) { - const n6 = new Uint8Array(t5.length + e6.length); - return n6.set(t5, 0), n6.set(e6, t5.length), n6; +function Ru2(t5, e7) { + const n7 = new Uint8Array(t5.length + e7.length); + return n7.set(t5, 0), n7.set(e7, t5.length), n7; } -async function id2(t5, e6, n6) { - const a6 = await qc2(t5, e6, 0, n6); - if (void 0 !== a6.type && "blob" !== a6.type) throw "stream" === a6.kind && await a6.release(), Bt("blob", a6.type, e6); - return "stream" === a6.kind ? Object.assign(a6.stream, { materialised: false }) : (o6 = a6.content, Object.assign((async function* () { - o6.length > 0 && (yield o6); +async function Au2(t5, e7, n7) { + const a4 = await Su2(t5, e7, 0, n7); + if (void 0 !== a4.type && "blob" !== a4.type) throw "stream" === a4.kind && await a4.release(), Kt("blob", a4.type, e7); + return "stream" === a4.kind ? Object.assign(a4.stream, { materialised: false }) : (o5 = a4.content, Object.assign((async function* () { + o5.length > 0 && (yield o5); })(), { materialised: true })); - var o6; + var o5; } -var sd2 = new TextEncoder(); -var rd2 = async (t5, e6, n6) => !!await t5.fs.exists(e6) && !await (async (t6, e7, n7) => { - let o6; - try { - o6 = (await t6.fs.lstat(e7)).isSymbolicLink ? sd2.encode(await t6.fs.readlink(e7)) : await t6.fs.read(e7); - } catch (t7) { - if (t7 instanceof o && "FILE_NOT_FOUND" === t7.data.code) return true; - throw t7; - } - const { id: i7 } = await Oc2(t6, { type: "blob", content: o6 }); - return i7 === n7; -})(t5, e6, n6); -var cd2 = async (t5, e6, n6) => { - const a6 = bc2(e6, n6.path); - if ("update" === n6.kind || "delete" === n6.kind) { - if (void 0 === n6.previousId) return; - return await rd2(t5, a6, n6.previousId) ? { class: "local-changes", path: n6.path } : void 0; - } - if ("add" === n6.kind) return await (async (t6, e7) => t6.fs.exists(e7))(t5, a6) ? { class: "untracked", path: n6.path } : void 0; -}; -var dd2 = (t5) => { - "add" !== t5.kind && "update" !== t5.kind || to(t5.path, Qr, t5.mode); -}; -var ud2 = async (t5, e6, n6, a6, o6) => { - const i7 = bc2(e6, n6.path); - if ("noop" !== n6.kind) if ("delete" !== n6.kind) { - if (void 0 !== n6.id) return await (async (t6, e7, n7, a7, o7, i8) => { - if (a7 === Wt.GITLINK) return void await _c2(t6, e7, new Uint8Array(), a7, o7); - if (a7 === Wt.SYMLINK) { - const i9 = await Bc2(t6, n7); - return void await _c2(t6, e7, i9.content, a7, o7); - } - if (void 0 !== i8 && void 0 !== t6.command) { - const s10 = await Gc2(t6, i8, e7, { eagerSectionValidation: true }); - if ("external" === s10.kind && void 0 !== s10.smudge) { - const i9 = await Bc2(t6, n7), r6 = await Kc2(t6, t6.command, s10.smudge, i9.content); - if (!r6.ok) { - if (s10.required) throw ge(e7, s10.name, r6.exitCode); - return void await _c2(t6, e7, i9.content, a7, o7); - } - return void await _c2(t6, e7, r6.bytes, a7, o7); - } - } - const s9 = await id2(t6, n7); - await (async (t7, e8, n8, a8, o8) => { - await Tc2(t7, o8).unlinkSymlinkedLeadingComponent(e8), await Fc2(t7, bc2(wc2(t7, "writeWorkingTreeFile"), e8), n8, a8); - })(t6, e7, s9, a7, o7); - })(t5, n6.path, n6.id, n6.mode, a6, o6), (async (t6, e7, n7, a7, o7) => { - const i8 = await t6.fs.lstat(e7); - return { ctimeSeconds: Math.floor(i8.ctimeMs / 1e3), ctimeNanoseconds: Number(i8.ctimeNs ?? 0n) % 1e9, mtimeSeconds: Math.floor(i8.mtimeMs / 1e3), mtimeNanoseconds: Number(i8.mtimeNs ?? 0n) % 1e9, dev: i8.dev, ino: i8.ino, mode: o7, uid: i8.uid, gid: i8.gid, fileSize: i8.size, id: a7, flags: Zn, path: n7 }; - })(t5, i7, n6.path, n6.id, n6.mode); - } else { - if (await a6.hasSymlinkedLeadingPath(n6.path)) return; - await Pc2(t5, i7); - } -}; -var fd2 = async (t5, e6) => { - const { changeset: n6, force: a6, workdir: o6 } = e6; - if (((t6) => { - for (const e7 of t6.entries) dd2(e7); - })(n6), !a6) { - const e7 = await (async (t6, e8, n7) => { - const a7 = [], o7 = []; - for (const i8 of n7.entries) { - const n8 = await cd2(t6, e8, i8); - void 0 !== n8 && ("local-changes" === n8.class ? a7.push(n8.path) : o7.push(n8.path)); - } - return { localChanges: a7.sort(Eo), untracked: o7.sort(Eo) }; - })(t5, o6, n6); - if (e7.localChanges.length > 0 || e7.untracked.length > 0) throw K(e7); - } - let i7; - const s9 = Lc2(t5); - return (async (t6, e7, n7, a7, o7) => { - const i8 = []; - let s10 = 0, r6 = 0; - for (const c6 of e7.entries) { - const d5 = void 0 !== t6.command ? await a7() : void 0, u6 = await ud2(t6, n7, c6, o7, d5); - "delete" === c6.kind ? r6 += 1 : "add" !== c6.kind && "update" !== c6.kind || (s10 += 1, void 0 !== u6 && i8.push(u6)), "noop" !== c6.kind && t6.progress.update("checkout:materialize", s10 + r6, e7.stats.add + e7.stats.update + e7.stats.delete, c6.path); - } - return { writtenEntries: i8, written: s10, deleted: r6 }; - })(t5, n6, o6, () => i7 ??= Dc2(t5), s9); -}; -var ld2 = (t5, e6, n6) => void 0 === e6 && void 0 !== n6 ? { kind: "add", path: t5, mode: n6.mode, id: n6.id, previousId: void 0, previousMode: void 0 } : void 0 !== e6 && void 0 === n6 ? { kind: "delete", path: t5, mode: e6.mode, id: void 0, previousId: e6.id, previousMode: e6.mode } : { kind: e6.id === n6.id && e6.mode === n6.mode ? "noop" : "update", path: t5, mode: n6.mode, id: n6.id, previousId: e6.id, previousMode: e6.mode }; -var hd2 = (t5, e6) => { - const n6 = ((t6) => { - const e7 = /* @__PURE__ */ new Map(); - for (const n7 of t6.entries) 0 === n7.flags.stage && e7.set(n7.path, { id: n7.id, mode: n7.mode }); - return e7; - })(t5), a6 = ((t6) => { - const e7 = /* @__PURE__ */ new Map(); - for (const n7 of t6) e7.set(n7.path, n7); - return e7; - })(e6), o6 = /* @__PURE__ */ new Set(); - for (const t6 of n6.keys()) o6.add(t6); - for (const t6 of a6.keys()) o6.add(t6); - const i7 = [], s9 = { add: 0, update: 0, delete: 0, noop: 0 }; - for (const t6 of [...o6].sort()) { - const e7 = ld2(t6, n6.get(t6), a6.get(t6)); - i7.push(e7), s9[e7.kind] += 1; - } - return { entries: i7, stats: s9 }; -}; -var wd2 = async (t5) => { - const e6 = await ts2(t5); - if (void 0 !== e6) throw be(e6.key, e6.source, e6.value, e6.reason); - const n6 = await Hi2(t5); - return n6.core?.maxTreeDepth ?? qn; -}; -function md2(t5, e6, n6, a6, o6) { - if (o6.has(e6.id)) throw Ft(e6.id); - if (_o2(a6, t5)) throw Ht(a6); - return o6.add(e6.id), { entries: e6.entries, index: 0, prefix: n6, depth: a6, id: e6.id }; -} -function pd2(t5, e6, n6) { - const a6 = n6.entries[n6.index]; - if (n6.index += 1, t5.ctx.signal?.aborted) throw I(); - const o6 = "" === n6.prefix ? a6.name : `${n6.prefix}/${a6.name}`; - if (e6.value += 1, Fo2(e6.value, t5.maxEntries)) throw Vt(e6.value, t5.maxEntries); - return { path: o6, entry: a6 }; -} -async function* yd2(t5, e6, n6) { - const a6 = await (async function(t6, e7) { - return { ctx: t6, recursive: e7?.recursive ?? true, maxDepth: e7?.maxDepth ?? await wd2(t6), maxEntries: e7?.maxEntries ?? Xn }; - })(t5, n6), o6 = { value: 0 }, i7 = "string" == typeof e6 ? await (async function(t6, e7) { - const n7 = await Ui2(t6, e7); - if ("tree" !== n7.type) throw Bt("tree", n7.type, e7); - return n7; - })(t5, e6) : e6, s9 = /* @__PURE__ */ new Set(), r6 = [md2(a6.maxDepth, i7, "", 0, s9)]; - for (; r6.length > 0; ) { - const t6 = r6[r6.length - 1]; +var _u2 = new TextEncoder(); +var Fu2 = async (t5, e7, a4) => !!await t5.fs.exists(e7) && !await (async (t6, e8, a5) => { + let o5; + try { + o5 = (await t6.fs.lstat(e8)).isSymbolicLink ? _u2.encode(await t6.fs.readlink(e8)) : await t6.fs.read(e8); + } catch (t7) { + if (t7 instanceof c && "FILE_NOT_FOUND" === t7.data.code) return true; + throw t7; + } + const { id: i11 } = await ru2(t6, { type: "blob", content: o5 }); + return i11 === a5; +})(t5, e7, a4); +var Uu2 = (t5) => { + "add" !== t5.kind && "update" !== t5.kind || bo(t5.path, wo, t5.mode); +}; +var zu2 = async (t5, e7, n7, a4, o5, i11) => { + if (void 0 === n7.id) return; + const s8 = Jd2(e7, n7.path); + return await (async (t6, e8, n8, a5, o6, i12, s9) => { + if (a5 === Qt.GITLINK) return void await wu2(t6, e8, new Uint8Array(), a5, o6); + if (a5 === Qt.SYMLINK) { + const i13 = await gu2(t6, n8); + return void await wu2(t6, e8, i13.content, a5, o6); + } + if (void 0 !== s9 && void 0 !== t6.command) { + const r9 = t6.command, c5 = await Iu2(t6, s9, e8, { eagerSectionValidation: true }); + if ("external" === c5.kind && void 0 !== c5.smudge) { + const s10 = await gu2(t6, n8), d6 = c5.smudge, u6 = await i12.run(() => Cu2(t6, r9, d6, s10.content)); + if (!u6.ok) { + if (c5.required) throw Ee(e8, c5.name, u6.exitCode); + return void await wu2(t6, e8, s10.content, a5, o6); + } + return void await wu2(t6, e8, u6.bytes, a5, o6); + } + } + const r8 = await Au2(t6, n8); + await (async (t7, e9, n9, a6, o7) => { + await fu2(t7, o7).unlinkSymlinkedLeadingComponent(e9), await yu2(t7, Jd2(Kd2(t7, "writeWorkingTreeFile"), e9), n9, a6); + })(t6, e8, r8, a5, o6); + })(t5, n7.path, n7.id, n7.mode, a4, o5, i11), (async (t6, e8, n8, a5, o6) => { + const i12 = await t6.fs.lstat(e8); + return { ctimeSeconds: Math.floor(i12.ctimeMs / 1e3), ctimeNanoseconds: Number(i12.ctimeNs ?? 0n) % 1e9, mtimeSeconds: Math.floor(i12.mtimeMs / 1e3), mtimeNanoseconds: Number(i12.mtimeNs ?? 0n) % 1e9, dev: i12.dev, ino: i12.ino, mode: o6, uid: i12.uid, gid: i12.gid, fileSize: i12.size, id: a5, flags: sr, path: n8 }; + })(t5, s8, n7.path, n7.id, n7.mode); +}; +var ju2 = (t5, e7, n7, a4) => { + n7.current += 1, t5.progress.update("checkout:materialize", n7.current, e7, a4); +}; +var Hu2 = async (t5, e7, n7) => { + const a4 = Mo2(t5, "ioBound"), o5 = []; + let i11; + const s8 = e7.map((t6) => a4.run(() => n7(t6)).then((t7) => { + o5.push(t7); + }, (t7) => { + i11 ??= { error: t7 }; + })); + if (await Promise.all(s8), void 0 !== i11) throw i11.error; + return o5; +}; +var Wu2 = async (t5, e7, n7, a4, o5, i11, s8, r8) => { + const c5 = ((t6) => { + const e8 = [], n8 = /* @__PURE__ */ new Map(); + for (const a5 of t6) { + const t7 = a5.path.toLowerCase(); + let o6 = n8.get(t7); + void 0 === o6 && (o6 = [], n8.set(t7, o6), e8.push(t7)), o6.push(a5); + } + return e8.map((t7) => n8.get(t7)); + })(n7); + return (await Hu2(t5, c5, async (n8) => { + const c6 = []; + for (const d6 of n8) { + const n9 = void 0 !== t5.command ? await a4() : void 0, u6 = await zu2(t5, e7, d6, o5, i11, n9); + ju2(t5, s8, r8, d6.path), void 0 !== u6 && c6.push(u6); + } + return c6; + })).flat(); +}; +var Gu2 = async (t5, e7) => { + const { changeset: n7, force: a4, workdir: o5 } = e7; + ((t6) => { + for (const e8 of t6.entries) Uu2(e8); + })(n7); + const { deletes: i11, writes: s8 } = ((t6) => { + const e8 = [], n8 = []; + for (const a5 of t6) "delete" === a5.kind ? e8.push(a5) : "add" !== a5.kind && "update" !== a5.kind || n8.push(a5); + return { deletes: e8, writes: n8 }; + })(n7.entries); + if (!a4) { + const e8 = await (async (t6, e9, n8) => { + const a5 = await Lo2(t6, "ioBound", n8, (n9) => (async (t7, e10, n10) => { + const a6 = Jd2(e10, n10.path); + if ("update" === n10.kind || "delete" === n10.kind) { + if (void 0 === n10.previousId) return; + return await Fu2(t7, a6, n10.previousId) ? { class: "local-changes", path: n10.path } : void 0; + } + if ("add" === n10.kind) return await (async (t8, e11) => t8.fs.exists(e11))(t7, a6) ? { class: "untracked", path: n10.path } : void 0; + })(t6, e9, n9)), o6 = [], i12 = []; + for (const t7 of a5) void 0 !== t7 && ("local-changes" === t7.class ? o6.push(t7.path) : i12.push(t7.path)); + return { localChanges: o6.sort(Mo), untracked: i12.sort(Mo) }; + })(t5, o5, [...i11, ...s8]); + if (e8.localChanges.length > 0 || e8.untracked.length > 0) throw Q(e8); + } + let r8; + const c5 = cu2(t5), d6 = Mo2(t5, "cpuBound"); + return (async (t6, e8, n8, a5, o6, i12, s9) => { + const r9 = e8.length + n8.length, c6 = { current: 0 }, d7 = await (async (t7, e9, n9, a6, o7, i13) => (await Hu2(t7, n9, async (n10) => { + await (async (t8, e10, n11, a7) => { + await a7.hasSymlinkedLeadingPath(n11.path) || await uu2(t8, Jd2(e10, n11.path)); + })(t7, e9, n10, a6), ju2(t7, o7, i13, n10.path); + }), n9.length))(t6, a5, e8, i12, r9, c6); + return { writtenEntries: await Wu2(t6, a5, n8, o6, i12, s9, r9, c6), written: n8.length, deleted: d7 }; + })(t5, i11, s8, o5, () => r8 ??= iu2(t5), c5, d6); +}; +var Ku2 = (t5, e7, n7) => void 0 === e7 && void 0 !== n7 ? { kind: "add", path: t5, mode: n7.mode, id: n7.id, previousId: void 0, previousMode: void 0 } : void 0 !== e7 && void 0 === n7 ? { kind: "delete", path: t5, mode: e7.mode, id: void 0, previousId: e7.id, previousMode: e7.mode } : { kind: e7.id === n7.id && e7.mode === n7.mode ? "noop" : "update", path: t5, mode: n7.mode, id: n7.id, previousId: e7.id, previousMode: e7.mode }; +var qu2 = (t5, e7) => { + const n7 = ((t6) => { + const e8 = /* @__PURE__ */ new Map(); + for (const n8 of t6.entries) 0 === n8.flags.stage && e8.set(n8.path, { id: n8.id, mode: n8.mode }); + return e8; + })(t5), a4 = ((t6) => { + const e8 = /* @__PURE__ */ new Map(); + for (const n8 of t6) e8.set(n8.path, n8); + return e8; + })(e7), o5 = /* @__PURE__ */ new Set(); + for (const t6 of n7.keys()) o5.add(t6); + for (const t6 of a4.keys()) o5.add(t6); + const i11 = [], s8 = { add: 0, update: 0, delete: 0, noop: 0 }; + for (const t6 of [...o5].sort()) { + const e8 = Ku2(t6, n7.get(t6), a4.get(t6)); + i11.push(e8), s8[e8.kind] += 1; + } + return { entries: i11, stats: s8 }; +}; +var Vu2 = async (t5) => { + const e7 = await kr2(t5); + if (void 0 !== e7) throw Te(e7.key, e7.source, e7.value, e7.reason); + const n7 = await sr2(t5); + return n7.core?.maxTreeDepth ?? nr; +}; +var Yu2 = Uint8Array.of(47); +function Xu2(t5, e7, n7) { + return Kg(t5, e7.hashState, n7, "" === e7.text); +} +function Zu2(t5, e7) { + const n7 = t5.bytes; + return 0 === n7.length ? e7.slice() : $t([n7, Yu2, e7]); +} +function Ju2(t5, e7, n7, a4, o5) { + if (o5.has(e7.id)) throw Yt(e7.id); + if (Oi2(a4, t5)) throw Xt(a4); + return o5.add(e7.id), { entries: e7.entries, index: 0, framePrefix: n7, depth: a4, id: e7.id }; +} +function Qu2(t5, e7, n7) { + const a4 = n7.entries[n7.index]; + if (n7.index += 1, t5.ctx.signal?.aborted) throw A(); + const o5 = (s8 = a4.name, "" === (i11 = n7.framePrefix).text ? s8 : `${i11.text}/${s8}`); + var i11, s8; + if (e7.value += 1, Ei2(e7.value, t5.maxEntries)) throw qt(e7.value, t5.maxEntries); + return { path: o5, entry: a4, nameHash: t5.pathHasher ? Xu2(t5.pathHasher, n7.framePrefix, a4.nameBytes) : void 0, pathBytes: t5.pathBytes ? Zu2(n7.framePrefix, a4.nameBytes) : void 0 }; +} +function tf2(t5) { + return { text: "", hashState: t5.pathHasher?.seed ?? 0, bytes: t5.pathBytes ? new Uint8Array(0) : void 0 }; +} +function ef2(t5, e7, n7, a4, o5) { + return { text: n7, hashState: o5 ?? 0, bytes: t5.pathBytes ? Zu2(e7.framePrefix, a4.nameBytes) : void 0 }; +} +function nf2(t5, e7, n7, a4) { + const o5 = e7.id, i11 = e7.mode; + return void 0 === n7 ? void 0 === a4 ? { path: t5, id: o5, mode: i11 } : { path: t5, id: o5, mode: i11, pathBytes: a4 } : void 0 === a4 ? { path: t5, id: o5, mode: i11, nameHash: n7 } : { path: t5, id: o5, mode: i11, nameHash: n7, pathBytes: a4 }; +} +async function* af2(t5, e7, n7) { + const a4 = await (async function(t6, e8) { + return { ctx: t6, recursive: e8?.recursive ?? true, maxDepth: e8?.maxDepth ?? await Vu2(t6), maxEntries: e8?.maxEntries ?? tr, pathBytes: e8?.pathBytes ?? false, ...void 0 !== e8?.pathHasher ? { pathHasher: e8.pathHasher } : {} }; + })(t5, n7), o5 = { value: 0 }, i11 = "string" == typeof e7 ? await (async function(t6, e8) { + const n8 = await Ts2(t6, e8); + if ("tree" !== n8.type) throw Kt("tree", n8.type, e8); + return n8; + })(t5, e7) : e7, s8 = /* @__PURE__ */ new Set(), r8 = [Ju2(a4.maxDepth, i11, tf2(a4), 0, s8)]; + for (; r8.length > 0; ) { + const t6 = r8[r8.length - 1]; if (t6.index >= t6.entries.length) { - r6.pop(), s9.delete(t6.id); + r8.pop(), s8.delete(t6.id); continue; } - const { path: e7, entry: n7 } = pd2(a6, o6, t6); - if (yield { path: e7, id: n7.id, mode: n7.mode }, !gd2(a6.recursive, n7.mode)) continue; - const i8 = await Ui2(a6.ctx, n7.id); - "tree" === i8.type && r6.push(md2(a6.maxDepth, i8, e7, t6.depth + 1, s9)); - } -} -function gd2(t5, e6) { - return !!t5 && Yt(e6); -} -var vd2 = (t5, e6) => t5.filter((t6) => e6.has(t6.path)); -var bd2 = (t5, e6, n6) => e6.get(t5) ?? n6.get(t5); -var kd2 = (t5) => { - const e6 = { add: 0, update: 0, delete: 0, noop: 0 }; - for (const n6 of t5) e6[n6.kind] += 1; - return e6; -}; -var xd2 = async (t5, e6) => { - const n6 = await (async (t6, e7) => { - const n7 = []; - for await (const a7 of yd2(t6, e7)) a7.mode !== Wt.DIRECTORY && n7.push({ path: a7.path, id: a7.id, mode: a7.mode }); - return n7; - })(t5, e6.targetTree), a6 = ((t6, e7) => { - if (void 0 !== e7.paths) return { target: vd2(t6, e7.paths), indexForDiff: { ...e7.currentIndex, entries: vd2(e7.currentIndex.entries, e7.paths) }, excluded: [] }; - const n7 = e7.sparse; - if (void 0 !== n7) { - const a7 = [], o7 = []; - for (const e8 of t6) (n7(e8.path) ? a7 : o7).push(e8); - return { target: a7, indexForDiff: { ...e7.currentIndex, entries: e7.currentIndex.entries.filter((t7) => !t7.flags.skipWorktree) }, excluded: o7 }; - } - return { target: t6, indexForDiff: e7.currentIndex, excluded: [] }; - })(n6, e6), o6 = hd2(a6.indexForDiff, a6.target), i7 = true === e6.forceRewriteAll ? ((t6) => { - const e7 = t6.entries.map((t7) => "noop" === t7.kind ? { ...t7, kind: "update" } : t7); - return { entries: e7, stats: kd2(e7) }; - })(o6) : o6, s9 = await fd2(t5, { changeset: i7, force: e6.force ?? false, workdir: wc2(t5, "materializeTree") }), r6 = ((t6, e7, n7, a7) => { - const o7 = ((t7) => { - const e8 = /* @__PURE__ */ new Map(); - for (const n8 of t7) e8.set(n8.path, n8); - return e8; - })(t6), i8 = ((t7) => { - const e8 = /* @__PURE__ */ new Map(); - for (const n8 of t7.entries) 0 === n8.flags.stage && e8.set(n8.path, n8); - return e8; - })(e7), s10 = ((t7, e8) => { - if (void 0 === e8) return []; - const n8 = []; - for (const [a8, o8] of t7) e8.has(a8) || n8.push(o8); - return n8; - })(i8, a7); - for (const t7 of n7) { - const e8 = bd2(t7.path, o7, i8); - void 0 !== e8 && s10.push(e8); - } - return s10.sort((t7, e8) => t7.path < e8.path ? -1 : 1), s10; - })(s9.writtenEntries, e6.currentIndex, a6.target, e6.paths); - var c6; - return { newIndexEntries: 0 === a6.excluded.length ? r6 : (c6 = [...r6, ...a6.excluded.map(er)], [...c6].sort(lo)), written: s9.written, deleted: s9.deleted }; -}; -var Id2 = (t5) => ({ seconds: Math.floor(t5.mtimeMs / 1e3), nanoseconds: void 0 === t5.mtimeNs ? 0 : Number(t5.mtimeNs % 1000000000n) }); -async function Cd2(t5) { - const e6 = Ra2(t5.layout.gitDir); - if (!await t5.fs.exists(e6)) return { version: 2, entries: [], extensions: [], trailerSha: new Uint8Array(0) }; - const n6 = await t5.fs.stat(e6); - if (Do2(n6.size)) throw Jn(So2); - const a6 = await t5.fs.read(e6); - if (Do2(a6.length)) throw Jn(So2); - const o6 = t5.hashConfig.digestLength; - if (a6.length < o6) throw Jn("file is shorter than the hash trailer"); - const i7 = a6.subarray(0, a6.length - o6), s9 = a6.subarray(a6.length - o6), r6 = wt(s9); - if (await t5.hash.hashHex(i7) !== r6) throw Jn("index trailer checksum mismatch"); - return { ...oo(a6, t5.hashConfig.digestLength), indexMtime: Id2(n6) }; -} -var Sd2 = 1048576; -var $d2 = new TextDecoder(); -var Dd2 = async (t5) => { - const e6 = Ba2(t5.layout.gitDir); - let n6; + const { path: e8, entry: n8, nameHash: i12, pathBytes: c5 } = Qu2(a4, o5, t6); + if (yield nf2(e8, n8, i12, c5), !of2(a4.recursive, n8.mode)) continue; + const d6 = await Ts2(a4.ctx, n8.id); + if ("tree" === d6.type) { + const o6 = ef2(a4, t6, e8, n8, i12); + r8.push(Ju2(a4.maxDepth, d6, o6, t6.depth + 1, s8)); + } + } +} +function of2(t5, e7) { + return !!t5 && tn(e7); +} +var sf2 = (t5, e7) => t5.filter((t6) => e7.has(t6.path)); +var rf2 = (t5, e7, n7) => e7.get(t5) ?? n7.get(t5); +var cf2 = (t5) => { + const e7 = { add: 0, update: 0, delete: 0, noop: 0 }; + for (const n7 of t5) e7[n7.kind] += 1; + return e7; +}; +var df2 = async (t5, e7) => { + const n7 = await (async (t6, e8) => { + const n8 = []; + for await (const a5 of af2(t6, e8)) a5.mode !== Qt.DIRECTORY && n8.push({ path: a5.path, id: a5.id, mode: a5.mode }); + return n8; + })(t5, e7.targetTree), a4 = ((t6, e8) => { + if (void 0 !== e8.paths) return { target: sf2(t6, e8.paths), indexForDiff: { ...e8.currentIndex, entries: sf2(e8.currentIndex.entries, e8.paths) }, excluded: [] }; + const n8 = e8.sparse; + if (void 0 !== n8) { + const a5 = [], o6 = []; + for (const e9 of t6) (n8(e9.path) ? a5 : o6).push(e9); + return { target: a5, indexForDiff: { ...e8.currentIndex, entries: e8.currentIndex.entries.filter((t7) => !t7.flags.skipWorktree) }, excluded: o6 }; + } + return { target: t6, indexForDiff: e8.currentIndex, excluded: [] }; + })(n7, e7), o5 = qu2(a4.indexForDiff, a4.target), i11 = true === e7.forceRewriteAll ? ((t6) => { + const e8 = t6.entries.map((t7) => "noop" === t7.kind ? { ...t7, kind: "update" } : t7); + return { entries: e8, stats: cf2(e8) }; + })(o5) : o5, s8 = await Gu2(t5, { changeset: i11, force: e7.force ?? false, workdir: Kd2(t5, "materializeTree") }), r8 = ((t6, e8, n8, a5) => { + const o6 = ((t7) => { + const e9 = /* @__PURE__ */ new Map(); + for (const n9 of t7) e9.set(n9.path, n9); + return e9; + })(t6), i12 = ((t7) => { + const e9 = /* @__PURE__ */ new Map(); + for (const n9 of t7.entries) 0 === n9.flags.stage && e9.set(n9.path, n9); + return e9; + })(e8), s9 = ((t7, e9) => { + if (void 0 === e9) return []; + const n9 = []; + for (const [a6, o7] of t7) e9.has(a6) || n9.push(o7); + return n9; + })(i12, a5); + for (const t7 of n8) { + const e9 = rf2(t7.path, o6, i12); + void 0 !== e9 && s9.push(e9); + } + return s9.sort((t7, e9) => t7.path < e9.path ? -1 : 1), s9; + })(s8.writtenEntries, e7.currentIndex, a4.target, e7.paths); + var c5; + return { newIndexEntries: 0 === a4.excluded.length ? r8 : (c5 = [...r8, ...a4.excluded.map(ir)], [...c5].sort(So)), written: s8.written, deleted: s8.deleted }; +}; +var uf2 = (t5) => ({ seconds: Math.floor(t5.mtimeMs / 1e3), nanoseconds: void 0 === t5.mtimeNs ? 0 : Number(t5.mtimeNs % 1000000000n) }); +var ff2 = /* @__PURE__ */ new WeakMap(); +var lf2 = async (t5, e7, n7) => { + const a4 = await t5.fs.read(e7); + if (vi2(a4.length)) throw rr(mi2); + const o5 = t5.hashConfig.digestLength; + if (a4.length < o5) throw rr("file is shorter than the hash trailer"); + const i11 = a4.subarray(0, a4.length - o5), s8 = a4.subarray(a4.length - o5), r8 = vt(s8); + if (await t5.hash.hashHex(i11) !== r8) throw rr("index trailer checksum mismatch"); + return { ...vo(a4, t5.hashConfig.digestLength), indexMtime: uf2(n7) }; +}; +async function hf2(t5) { + const e7 = ho2(t5.layout.gitDir); + if (!await t5.fs.exists(e7)) return { version: 2, entries: [], extensions: [], trailerSha: new Uint8Array(0) }; + const n7 = await t5.fs.stat(e7); + if (vi2(n7.size)) throw rr(mi2); + if (n7.size > 33554432) return lf2(t5, e7, n7); + const a4 = ((t6) => ({ size: t6.size, mtimeMs: t6.mtimeMs, mtimeNs: t6.mtimeNs, ino: t6.ino }))(n7), o5 = ff2.get(t5.session); + if (void 0 !== o5 && (i11 = o5.key).size === (s8 = a4).size && i11.mtimeMs === s8.mtimeMs && i11.mtimeNs === s8.mtimeNs && i11.ino === s8.ino) { + const i12 = !((t6, e8) => void 0 === t6.mtimeNs || void 0 === e8.mtimeNs)(o5.key, a4) || await (async (t6, e8, n8, a5) => { + const o6 = await a5, i13 = o6.trailerSha.length; + return !(0 === i13 || n8.size < i13) && ((t7, e9) => { + if (t7.length !== e9.length) return false; + for (let n9 = 0; n9 < t7.length; n9 += 1) if (t7[n9] !== e9[n9]) return false; + return true; + })(await t6.fs.readSlice(e8, n8.size - i13, i13), o6.trailerSha); + })(t5, e7, n7, o5.index); + if (i12) return o5.index; + } + var i11, s8; + const r8 = lf2(t5, e7, n7); + return ff2.set(t5.session, { key: a4, index: r8 }), r8; +} +var wf2 = (t5) => { + ff2.delete(t5.session); +}; +var yf2 = 1048576; +var pf2 = new TextDecoder(); +var mf2 = async (t5) => { + const e7 = go2(t5.layout.gitDir); + let a4; try { - n6 = await t5.fs.read(e6); + a4 = await t5.fs.read(e7); } catch (t6) { - if (t6 instanceof o && "FILE_NOT_FOUND" === t6.data.code) return; + if (t6 instanceof c && "FILE_NOT_FOUND" === t6.data.code) return; throw t6; } - if (n6.byteLength > Sd2) throw le("info/sparse-checkout", n6.byteLength, Sd2); - return $d2.decode(n6); + if (a4.byteLength > yf2) throw pe("info/sparse-checkout", a4.byteLength, yf2); + return pf2.decode(a4); }; -var Ed2 = async (t5) => { - const e6 = await Hi2(t5); - if (true !== e6.core?.sparseCheckout) return; - const n6 = true === e6.core.sparseCheckoutCone, a6 = await Dd2(t5), o6 = Nf(a6 ?? "", n6); - return o6.degraded && void 0 !== a6 && t5.logger?.warn?.(".git/info/sparse-checkout is not cone-shaped; falling back to non-cone matching"), Sf(o6.spec); +var gf2 = async (t5) => { + const e7 = await sr2(t5); + if (true !== e7.core?.sparseCheckout) return; + const n7 = true === e7.core.sparseCheckoutCone, a4 = await mf2(t5), o5 = ah(a4 ?? "", n7); + return o5.degraded && void 0 !== a4 && t5.logger?.warn?.(".git/info/sparse-checkout is not cone-shaped; falling back to non-cone matching"), ch(o5.spec); }; -var Od2 = (t5, e6) => new o(void 0 === e6 ? { code: "RESOURCE_LOCKED", resource: "index", path: t5 } : { code: "RESOURCE_LOCKED", resource: "index", path: t5, mtimeMs: e6 }); -var Ld2 = async (t5, e6 = {}) => { - const n6 = `${Ra2(t5.layout.gitDir)}${Ha2}`, o6 = Ra2(t5.layout.gitDir), i7 = e6.now ?? (() => Date.now()), s9 = t5.config?.breakStaleLockMs; +var vf2 = (t5, e7) => new c(void 0 === e7 ? { code: "RESOURCE_LOCKED", resource: "index", path: t5 } : { code: "RESOURCE_LOCKED", resource: "index", path: t5, mtimeMs: e7 }); +var kf2 = async (t5, e7 = {}) => { + const a4 = `${ho2(t5.layout.gitDir)}${Co2}`, o5 = ho2(t5.layout.gitDir), i11 = e7.now ?? (() => Date.now()), s8 = t5.config?.breakStaleLockMs; try { - await t5.fs.writeExclusive(n6, new Uint8Array()); - } catch (e7) { - if (!(e7 instanceof o) || "FILE_EXISTS" !== e7.data.code) throw e7; - if (void 0 === s9) throw Od2(n6, await Md2(t5, n6)); - await Pd2(t5, n6, s9, i7); + await t5.fs.writeExclusive(a4, new Uint8Array()); + } catch (e8) { + if (!(e8 instanceof c) || "FILE_EXISTS" !== e8.data.code) throw e8; + if (void 0 === s8) throw vf2(a4, await bf2(t5, a4)); + await xf2(t5, a4, s8, i11); } - return Td2(t5, n6, o6); + return If2(t5, a4, o5); }; -var Md2 = async (t5, e6) => { +var bf2 = async (t5, e7) => { try { - return (await t5.fs.lstat(e6)).mtimeMs; + return (await t5.fs.lstat(e7)).mtimeMs; } catch { return; } }; -var Pd2 = async (t5, e6, n6, o6) => { - const i7 = await Md2(t5, e6); - if (void 0 === i7) return void await t5.fs.writeExclusive(e6, new Uint8Array()); - const s9 = o6() - i7; - if (s9 < 0) throw Od2(e6, i7); - if (s9 < n6) throw Od2(e6, i7); - await t5.fs.rm(e6); +var xf2 = async (t5, e7, a4, o5) => { + const i11 = await bf2(t5, e7); + if (void 0 === i11) return void await t5.fs.writeExclusive(e7, new Uint8Array()); + const s8 = o5() - i11; + if (s8 < 0) throw vf2(e7, i11); + if (s8 < a4) throw vf2(e7, i11); + await t5.fs.rm(e7); try { - await t5.fs.writeExclusive(e6, new Uint8Array()); - } catch (n7) { - if (n7 instanceof o && "FILE_EXISTS" === n7.data.code) throw Od2(e6, await Md2(t5, e6)); - throw n7; + await t5.fs.writeExclusive(e7, new Uint8Array()); + } catch (a5) { + if (a5 instanceof c && "FILE_EXISTS" === a5.data.code) throw vf2(e7, await bf2(t5, e7)); + throw a5; } }; -var Td2 = (t5, e6, n6) => { - let o6 = false, i7 = false; +var If2 = (t5, e7, a4) => { + let o5 = false, i11 = false; return { release: async () => { - if (!o6 && !i7) { - i7 = true; + if (!o5 && !i11) { + i11 = true; try { - await t5.fs.rm(e6); + await t5.fs.rm(e7); } catch (t6) { - if (!(t6 instanceof o) || "FILE_NOT_FOUND" !== t6.data.code) throw t6; + if (!(t6 instanceof c) || "FILE_NOT_FOUND" !== t6.data.code) throw t6; } } - }, commit: async (a6) => { - if (o6 || i7) return; - const s9 = fo({ entries: [...a6], extensions: [] }, t5.hashConfig.digestLength), r6 = await t5.hash.hash(s9), c6 = new Uint8Array(s9.length + r6.length); - c6.set(s9, 0), c6.set(r6, s9.length), await t5.fs.write(e6, c6), await t5.fs.rename(e6, n6), o6 = true; + }, commit: async (n7) => { + if (o5 || i11) return; + const s8 = No({ entries: [...n7], extensions: [] }, t5.hashConfig.digestLength), r8 = await t5.hash.hash(s8), c5 = new Uint8Array(s8.length + r8.length); + c5.set(s8, 0), c5.set(r8, s8.length), await t5.fs.write(e7, c5), await t5.fs.rename(e7, a4), o5 = true, wf2(t5); } }; }; -var Nd2 = (t5) => void 0 === t5 ? 0 : Number(t5 % 1000000000n); -var Rd2 = (t5, e6, n6, a6) => ({ ctimeSeconds: Math.floor(t5.ctimeMs / 1e3), ctimeNanoseconds: Nd2(t5.ctimeNs), mtimeSeconds: Math.floor(t5.mtimeMs / 1e3), mtimeNanoseconds: Nd2(t5.mtimeNs), dev: t5.dev, ino: t5.ino, mode: e6, uid: t5.uid, gid: t5.gid, fileSize: t5.size, id: n6, flags: Zn, path: a6 }); -var _d2 = 1000000000n; -var Fd2 = (t5) => t5 >>> 0; -var Ud2 = (t5, e6, n6) => !!t5.flags.assumeValid || !((t6, e7) => t6.mtimeSeconds > e7.seconds || !(t6.mtimeSeconds < e7.seconds) && t6.mtimeNanoseconds >= e7.nanoseconds)(t5, n6) && ((t6, e7) => ((t7, e8) => t7.mtimeSeconds === Math.floor(e8.mtimeMs / 1e3) && (void 0 === e8.mtimeNs || t7.mtimeNanoseconds === Number(e8.mtimeNs % _d2)))(t6, e7) && ((t7, e8) => t7.ctimeSeconds === Math.floor(e8.ctimeMs / 1e3) && (void 0 === e8.ctimeNs || t7.ctimeNanoseconds === Number(e8.ctimeNs % _d2)))(t6, e7) && t6.uid === e7.uid && t6.gid === e7.gid && Fd2(t6.ino) === Fd2(e7.ino) && Fd2(t6.fileSize) === Fd2(e7.size))(t5, e6); -var Ad2 = (t5, e6) => "" === t5 ? e6 : `${t5}/${e6}`; -async function Bd2(t5, e6, n6) { - if (n6 > t5.maxDepth) throw Ht(n6); - return { entries: await t5.ctx.fs.readdir(Gd2(t5, e6)), index: 0, prefix: e6, depth: n6 }; -} -async function jd2(t5, e6, n6, a6) { - const o6 = Ad2(n6.prefix, a6.name); - if (xm(o6), a6.isDirectory && !a6.isSymbolicLink) { - if (void 0 !== t5.ignore && await t5.ignore(o6, true)) return { kind: "skip" }; - const e7 = await (async function(t6, e8, n7) { - const a7 = await Bd2(t6, e8, n7); - if (!a7.entries.some(Kd2)) return a7; - })(t5, o6, n6.depth + 1); - return void 0 === e7 ? { kind: "skip" } : { kind: "push", frame: e7 }; - } - if (!a6.isFile && !a6.isSymbolicLink) return { kind: "skip" }; - if (void 0 !== t5.ignore && await t5.ignore(o6, false)) return { kind: "skip" }; - if (e6.value += 1, e6.value > t5.maxEntries) throw Vt(e6.value, t5.maxEntries); - return { kind: "yield", entry: { path: o6, isFile: a6.isFile, isDirectory: a6.isDirectory, isSymbolicLink: a6.isSymbolicLink, stat: Wd2(t5, o6) } }; -} -async function* zd2(t5, e6) { - const n6 = { ctx: t5, workDir: wc2(t5, "walkWorkingTree"), maxDepth: e6?.maxDepth ?? await wd2(t5), maxEntries: e6?.maxEntries ?? Xn, ignore: e6?.ignore, stats: e6?.stats }, a6 = { value: 0 }, o6 = [await Bd2(n6, "", 0)]; - for (; o6.length > 0; ) { - const t6 = o6[o6.length - 1]; +var Cf2 = (t5) => void 0 === t5 ? 0 : Number(t5 % 1000000000n); +var Sf2 = (t5, e7, n7, a4) => ({ ctimeSeconds: Math.floor(t5.ctimeMs / 1e3), ctimeNanoseconds: Cf2(t5.ctimeNs), mtimeSeconds: Math.floor(t5.mtimeMs / 1e3), mtimeNanoseconds: Cf2(t5.mtimeNs), dev: t5.dev, ino: t5.ino, mode: e7, uid: t5.uid, gid: t5.gid, fileSize: t5.size, id: n7, flags: sr, path: a4 }); +var Df2 = 1000000000n; +var $f2 = (t5) => t5 >>> 0; +var Of2 = (t5, e7, n7) => !!t5.flags.assumeValid || !((t6, e8) => t6.mtimeSeconds > e8.seconds || !(t6.mtimeSeconds < e8.seconds) && t6.mtimeNanoseconds >= e8.nanoseconds)(t5, n7) && ((t6, e8) => ((t7, e9) => t7.mtimeSeconds === Math.floor(e9.mtimeMs / 1e3) && (void 0 === e9.mtimeNs || t7.mtimeNanoseconds === Number(e9.mtimeNs % Df2)))(t6, e8) && ((t7, e9) => t7.ctimeSeconds === Math.floor(e9.ctimeMs / 1e3) && (void 0 === e9.ctimeNs || t7.ctimeNanoseconds === Number(e9.ctimeNs % Df2)))(t6, e8) && t6.uid === e8.uid && t6.gid === e8.gid && $f2(t6.ino) === $f2(e8.ino) && $f2(t6.fileSize) === $f2(e8.size))(t5, e7); +var Ef2 = (t5, e7) => "" === t5 ? e7 : `${t5}/${e7}`; +async function Lf2(t5, e7, n7) { + if (n7 > t5.maxDepth) throw Xt(n7); + return { entries: await t5.ctx.fs.readdir(Tf2(t5, e7)), index: 0, prefix: e7, depth: n7 }; +} +async function Mf2(t5, e7, n7, a4) { + const o5 = Ef2(n7.prefix, a4.name); + if (Hp(o5), a4.isDirectory && !a4.isSymbolicLink) { + if (void 0 !== t5.ignore && await t5.ignore(o5, true)) return { kind: "skip" }; + const e8 = await (async function(t6, e9, n8) { + const a5 = await Lf2(t6, e9, n8); + if (!a5.entries.some(Bf2)) return a5; + })(t5, o5, n7.depth + 1); + return void 0 === e8 ? { kind: "skip" } : { kind: "push", frame: e8 }; + } + if (!a4.isFile && !a4.isSymbolicLink) return { kind: "skip" }; + if (void 0 !== t5.ignore && await t5.ignore(o5, false)) return { kind: "skip" }; + if (e7.value += 1, e7.value > t5.maxEntries) throw qt(e7.value, t5.maxEntries); + return { kind: "yield", entry: { path: o5, isFile: a4.isFile, isDirectory: a4.isDirectory, isSymbolicLink: a4.isSymbolicLink, stat: Nf2(t5, o5) } }; +} +async function* Pf2(t5, e7) { + const n7 = { ctx: t5, workDir: Kd2(t5, "walkWorkingTree"), maxDepth: e7?.maxDepth ?? await Vu2(t5), maxEntries: e7?.maxEntries ?? tr, ignore: e7?.ignore }, a4 = { value: 0 }, o5 = [await Lf2(n7, "", 0)]; + for (; o5.length > 0; ) { + const t6 = o5[o5.length - 1]; if (t6.index >= t6.entries.length) { - o6.pop(); + o5.pop(); continue; } - const e7 = t6.entries[t6.index]; - if (t6.index += 1, n6.ctx.signal?.aborted) throw I(); - if (Kr(e7.name)) continue; - const i7 = await jd2(n6, a6, t6, e7); - "push" === i7.kind && o6.push(i7.frame), "yield" === i7.kind && (yield i7.entry); - } -} -var Wd2 = (t5, e6) => { - let n6; - return () => (n6 ??= Hd2(t5, e6), n6); -}; -var Hd2 = async (t5, e6) => { - const n6 = t5.stats?.sampled(e6); - if (void 0 !== n6) return n6; - const a6 = await t5.ctx.fs.lstat(bc2(t5.workDir, e6)); - return t5.stats?.record(e6, a6), a6; -}; -var Gd2 = (t5, e6) => "" === e6 ? t5.workDir : bc2(t5.workDir, e6); -var Kd2 = (t5) => !!Kr(t5.name) && (t5.isDirectory || t5.isFile && !t5.isSymbolicLink); -async function qd2(t5, e6) { - if (t5.signal?.aborted) throw I(); - const { bytes: n6, id: o6 } = await Oc2(t5, e6), i7 = e6.id; - if ("" !== i7 && i7 !== o6) throw Pt(e6.id, o6); - if (t5.signal?.aborted) throw I(); - const s9 = await Hi2(t5), r6 = s9.core?.looseCompression, c6 = o6.slice(0, 2); - await t5.fs.mkdir(_a2(Da2(t5), c6)); - const d5 = Oa2(Da2(t5), o6), u6 = void 0 !== r6 && r6 >= -1 && r6 <= 9 ? await t5.compressor.deflate(n6, r6) : await t5.compressor.deflate(n6); + const e8 = t6.entries[t6.index]; + if (t6.index += 1, n7.ctx.signal?.aborted) throw A(); + if (fo(e8.name)) continue; + const i11 = await Mf2(n7, a4, t6, e8); + "push" === i11.kind && o5.push(i11.frame), "yield" === i11.kind && (yield i11.entry); + } +} +var Nf2 = (t5, e7) => { + let n7; + return () => (n7 ??= t5.ctx.fs.lstat(Jd2(t5.workDir, e7)), n7); +}; +var Tf2 = (t5, e7) => "" === e7 ? t5.workDir : Jd2(t5.workDir, e7); +var Bf2 = (t5) => !!fo(t5.name) && (t5.isDirectory || t5.isFile && !t5.isSymbolicLink); +async function Rf2(t5, e7) { + if (t5.signal?.aborted) throw A(); + const { bytes: a4, id: o5 } = await ru2(t5, e7), i11 = e7.id; + if ("" !== i11 && i11 !== o5) throw jt(e7.id, o5); + if (t5.signal?.aborted) throw A(); + const s8 = await sr2(t5), r8 = s8.core?.looseCompression, c5 = o5.slice(0, 2); + await t5.fs.mkdir(wo2(oo2(t5), c5)); + const d6 = so2(oo2(t5), o5), u6 = void 0 !== r8 && r8 >= -1 && r8 <= 9 ? await t5.compressor.deflate(a4, r8) : await t5.compressor.deflate(a4); try { - await t5.fs.writeExclusive(d5, u6); - } catch (e7) { + await t5.fs.writeExclusive(d6, u6); + } catch (e8) { if ((function(t6) { - return t6 instanceof o && "FILE_EXISTS" === t6.data.code; - })(e7)) return Xa2(t5, o6), o6; - throw e7; - } - return Xa2(t5, o6), o6; -} -var Vd2 = async (t5, e6) => { - const n6 = bc2(wc2(t5, "readGitignore"), "" === e6 ? ".gitignore" : `${e6}/.gitignore`); - return Yd2(t5, n6); -}; -var Yd2 = async (t5, e6) => { - const n6 = await xc2(t5, e6, 1048576, de); - return void 0 === n6 ? void 0 : Ai(n6); -}; -var Xd2 = async (t5) => { - const e6 = [], n6 = await (async (t6) => { - const e7 = await Hi2(t6), n7 = e7.core?.excludesFile; - if (void 0 === n7 || "" === n7) return; - const a7 = kc2(t6, n7); - return void 0 !== a7 ? Yd2(t6, a7) : void 0; + return t6 instanceof c && "FILE_EXISTS" === t6.data.code; + })(e8)) return Ro2(t5, o5), o5; + throw e8; + } + return Ro2(t5, o5), o5; +} +var Af2 = async (t5, e7) => { + const n7 = Jd2(Kd2(t5, "readGitignore"), "" === e7 ? ".gitignore" : `${e7}/.gitignore`); + return _f2(t5, n7); +}; +var _f2 = async (t5, e7) => { + const n7 = await tu2(t5, e7, 1048576, ge); + return void 0 === n7 ? void 0 : ji(n7); +}; +var Ff2 = async (t5) => { + const e7 = [], n7 = await (async (t6) => { + const e8 = await sr2(t6), n8 = e8.core?.excludesFile; + if (void 0 === n8 || "" === n8) return; + const a5 = Qd2(t6, n8); + return void 0 !== a5 ? _f2(t6, a5) : void 0; })(t5); - void 0 !== n6 && e6.push({ basedir: "", rules: n6, kind: "global" }); - const a6 = await (async (t6) => Yd2(t6, `${Da2(t6)}/info/exclude`))(t5); - void 0 !== a6 && e6.push({ basedir: "", rules: a6, kind: "info" }); - const o6 = await Vd2(t5, ""); - void 0 !== o6 && e6.push({ basedir: "", rules: o6, kind: "gitignore" }); - const i7 = /* @__PURE__ */ new Map(); - return { base: e6, loadDirRules: async (e7) => { - const n7 = i7.get(e7); - if (void 0 !== n7) return n7; - const a7 = await Vd2(t5, e7) ?? []; - return i7.set(e7, a7), a7; + void 0 !== n7 && e7.push({ basedir: "", rules: n7, kind: "global" }); + const a4 = await (async (t6) => _f2(t6, `${oo2(t6)}/info/exclude`))(t5); + void 0 !== a4 && e7.push({ basedir: "", rules: a4, kind: "info" }); + const o5 = await Af2(t5, ""); + void 0 !== o5 && e7.push({ basedir: "", rules: o5, kind: "gitignore" }); + const i11 = /* @__PURE__ */ new Map(); + return { base: e7, loadDirRules: async (e8) => { + const n8 = i11.get(e8); + if (void 0 !== n8) return n8; + const a5 = await Af2(t5, e8) ?? []; + return i11.set(e8, a5), a5; } }; }; -var Zd2 = async (t5) => { - const e6 = await Xd2(t5), n6 = [...e6.base], a6 = /* @__PURE__ */ new Set([]); - return async (t6, o6) => { - for (const o7 of Jd2(t6)) { - if (a6.has(o7)) continue; - a6.add(o7); - const t7 = await e6.loadDirRules(o7); - t7.length > 0 && n6.push({ basedir: o7, rules: t7 }); +var Uf2 = async (t5) => { + const e7 = await Ff2(t5), n7 = [...e7.base], a4 = /* @__PURE__ */ new Set([]); + return async (t6, o5) => { + for (const o6 of zf2(t6)) { + if (a4.has(o6)) continue; + a4.add(o6); + const t7 = await e7.loadDirRules(o6); + t7.length > 0 && n7.push({ basedir: o6, rules: t7 }); } - return "ignored" === mi(n6, t6, o6); + return "ignored" === Di(n7, t6, o5); }; }; -var Jd2 = (t5) => { - const e6 = t5.split("/"); - if (e6.length <= 1) return []; - const n6 = []; - for (let t6 = 1; t6 < e6.length; t6 += 1) n6.push(e6.slice(0, t6).join("/")); - return n6; +var zf2 = (t5) => { + const e7 = t5.split("/"); + if (e7.length <= 1) return []; + const n7 = []; + for (let t6 = 1; t6 < e7.length; t6 += 1) n7.push(e7.slice(0, t6).join("/")); + return n7; }; -var Qd2 = async (t5, e6, n6) => { - let a6 = e6; - for (let e7 = 0; e7 < 5; e7 += 1) { - const e8 = await Ui2(t5, a6); - if (e8.type === n6) return a6; - if ("tag" !== e8.type) { - if ("tree" === n6 && "commit" === e8.type) return e8.data.tree; - throw Mt(a6); +var jf2 = async (t5, e7, n7) => { + let a4 = e7; + for (let e8 = 0; e8 < 5; e8 += 1) { + const e9 = await Ts2(t5, a4); + if (e9.type === n7) return a4; + if ("tag" !== e9.type) { + if ("tree" === n7 && "commit" === e9.type) return e9.data.tree; + throw zt(a4); } - a6 = e8.data.object; + a4 = e9.data.object; } - throw Mt(a6); + throw zt(a4); }; -async function tu2(t5, e6, n6, a6) { - let o6 = e6, i7 = await n6(t5, o6), s9 = 0; +async function Hf2(t5, e7, n7, a4) { + let o5 = e7, i11 = await n7(t5, o5), s8 = 0; for (; ; ) { - const e7 = a6(i7, o6); - if (void 0 === e7) return { id: o6, result: i7 }; - if (s9 += 1, No2(s9)) throw Yd(s9, []); - o6 = e7, i7 = await n6(t5, o6); + const e8 = a4(i11, o5); + if (void 0 === e8) return { id: o5, result: i11 }; + if (s8 += 1, Di2(s8)) throw Ou(s8, []); + o5 = e8, i11 = await n7(t5, o5); } } -async function eu2(t5, e6, n6) { - const a6 = n6?.maxSymbolicDepth ?? 5, o6 = n6?.maxPeelDepth ?? 5, i7 = n6?.peel ?? false, s9 = zr2(t5), r6 = await (async function(t6, e7, n7) { - const a7 = []; - let o7 = e7, i8 = 0; +async function Wf2(t5, e7, n7) { + const a4 = n7?.maxSymbolicDepth ?? 5, o5 = n7?.maxPeelDepth ?? 5, i11 = n7?.peel ?? false, s8 = md2(t5), r8 = await (async function(t6, e8, n8) { + const a5 = []; + let o6 = e8, i12 = 0; for (; ; ) { - if ("HEAD" !== o7 && eu(o7), a7.includes(o7)) throw Xd([...a7, o7]); - a7.push(o7); - const e8 = await t6.resolveDirect(o7); - if ("missing" === e8.kind) throw Kd(o7); - if ("direct" === e8.kind) return e8.id; - if (i8 += 1, To2(i8, n7)) throw Yd(i8, a7); - o7 = e8.target; - } - })(s9, e6, a6); - return i7 ? (async function(t6, e7, n7) { - let a7 = e7, o7 = 0; + if ("HEAD" !== o6 && Nu(o6), a5.includes(o6)) throw Tu([...a5, o6]); + a5.push(o6); + const e9 = await t6.resolveDirect(o6); + if ("missing" === e9.kind) throw vu(o6); + if ("direct" === e9.kind) return e9.id; + if (i12 += 1, Si2(i12, n8)) throw Ou(i12, a5); + o6 = e9.target; + } + })(s8, e7, a4); + return i11 ? (async function(t6, e8, n8) { + let a5 = e8, o6 = 0; for (; ; ) { - const e8 = await Ui2(t6, a7); - if ("tag" !== e8.type) return a7; - if (o7 += 1, No2(o7, n7)) throw Yd(o7, []); - a7 = e8.data.object; - } - })(t5, r6, o6) : r6; -} -async function nu2(t5, e6) { - const n6 = Dr(e6, t5.hashConfig) ? e6 : await eu2(t5, e6), { id: a6, result: o6 } = await tu2(t5, n6, Ui2, (t6) => "commit" === t6.type ? t6.data.tree : "tag" === t6.type ? t6.data.object : void 0); - if ("tree" !== o6.type) throw Bt("tree", o6.type, a6); - return o6; -} -var au2 = async (t5, e6, n6, a6) => { - const o6 = await ou2(t5, e6, n6); - if (void 0 === o6) throw X(a6, n6); - return o6; -}; -var ou2 = async (t5, e6, n6) => { - const a6 = n6.split("/"), o6 = a6.length - 1; - let i7 = "string" == typeof e6 ? await nu2(t5, e6) : e6; - for (let e7 = 0; e7 < o6; e7 += 1) { - const n7 = iu2(i7, a6[e7]); - if (void 0 === n7) return; - const o7 = await Ui2(t5, n7.id); - if ("tree" !== o7.type) return; - i7 = o7; - } - return iu2(i7, a6[o6]); -}; -var iu2 = (t5, e6) => t5.entries.find((t6) => t6.name === e6); -var su2 = 5e5; -var ru2 = { 40: /^[0-9a-fA-F]{40}$/, 64: /^[0-9a-fA-F]{64}$/ }; -var cu2 = (t5, e6) => { - const n6 = []; - let a6 = 0; - for (; a6 < t5.length; ) { - if (n6.length >= su2) throw b(bo2, n6.length + 1); - const o6 = du2(t5, a6), i7 = Math.min(a6 + e6, o6); - n6.push(uu2(t5.slice(a6, i7), n6.length + 1, e6)), a6 = o6 + 1; - } - return n6; -}; -var du2 = (t5, e6) => { - const n6 = t5.indexOf("\n", e6); - return -1 === n6 ? t5.length : n6; -}; -var uu2 = (t5, e6, n6) => { - if (!ru2[n6].test(t5)) throw b("bad shallow line", e6); - return sr.from(t5.toLowerCase()); -}; -var fu2 = { present: false, set: /* @__PURE__ */ new Set() }; -var lu2 = /* @__PURE__ */ new WeakMap(); -function hu2(t5) { - const e6 = Ia2(t5); - return "FILE_NOT_FOUND" === e6 || "NOT_A_DIRECTORY" === e6; -} -function wu2(t5) { - const e6 = lu2.get(t5); - if (void 0 !== e6) return e6; - const n6 = (async function(t6) { - let e7; + const e9 = await Ts2(t6, a5); + if ("tag" !== e9.type) return a5; + if (o6 += 1, Di2(o6, n8)) throw Ou(o6, []); + a5 = e9.data.object; + } + })(t5, r8, o5) : r8; +} +async function Gf2(t5, e7) { + const n7 = Qr(e7, t5.hashConfig) ? e7 : await Wf2(t5, e7), { id: a4, result: o5 } = await Hf2(t5, n7, Ts2, (t6) => "commit" === t6.type ? t6.data.tree : "tag" === t6.type ? t6.data.object : void 0); + if ("tree" !== o5.type) throw Kt("tree", o5.type, a4); + return o5; +} +var Kf2 = async (t5, e7, n7, a4) => { + const o5 = await qf2(t5, e7, n7); + if (void 0 === o5) throw ee(a4, n7); + return o5; +}; +var qf2 = async (t5, e7, n7) => { + const a4 = n7.split("/"), o5 = "string" == typeof e7 ? await Gf2(t5, e7) : e7; + let i11 = Zf2(o5, a4), s8 = i11?.consumed ?? 0; + for (; void 0 !== i11 && s8 < a4.length; ) i11 = await Qf2(t5, i11.entry.id, a4, s8), void 0 !== i11 && (s8 += i11.consumed); + return i11?.entry; +}; +var Vf2 = async (t5, e7, n7, a4) => { + if (e7 === a4[0]) return { kind: "treesame", oidChain: a4 }; + let o5 = await Jf2(t5, e7, n7); + const i11 = [e7]; + let s8 = 0; + for (; void 0 !== o5; ) { + if (i11.push(o5.entry.id), o5.entry.id === a4[i11.length - 1]) return { kind: "treesame", oidChain: i11.concat(a4.slice(i11.length)) }; + if (s8 += o5.consumed, s8 >= n7.length) break; + o5 = await Qf2(t5, o5.entry.id, n7, s8); + } + return void 0 !== o5 ? { kind: "changed", entry: o5.entry, oidChain: i11 } : void 0; +}; +var Yf2 = async (t5, e7, n7) => { + const a4 = await Vf2(t5, e7, n7, []); + return "changed" === a4?.kind ? a4 : void 0; +}; +var Xf2 = (t5, e7, n7) => { + const a4 = t5(Rt(e7[n7])); + if (void 0 !== a4) return { entry: a4, consumed: 1 }; + const o5 = e7.length - n7; + for (let a5 = 2; a5 <= o5; a5 += 1) { + const i11 = t5(Rt(e7.slice(n7, n7 + a5).join("/"))); + if (void 0 !== i11 && (a5 === o5 || tn(i11.mode))) return { entry: i11, consumed: a5 }; + } +}; +var Zf2 = (t5, e7) => Xf2((e8) => t5.entries.find((t6) => xt(t6.nameBytes, e8)), e7, 0); +var Jf2 = async (t5, e7, n7) => { + const a4 = await Bs2(t5, e7); + if ("tree" !== a4.type) throw Kt("tree", a4.type, e7); + return Xf2((e8) => tl2(a4.content, t5.hashConfig, e8), n7, 0); +}; +var Qf2 = async (t5, e7, n7, a4) => { + const o5 = await Bs2(t5, e7); + if ("tree" === o5.type) return Xf2((e8) => tl2(o5.content, t5.hashConfig, e8), n7, a4); +}; +var tl2 = (t5, e7, n7) => { + const a4 = Zp(t5, e7); + let o5; + for (; !a4.done; ) { + const t6 = el2(a4, n7); + o5 ??= t6, ew(a4); + } + return o5; +}; +var el2 = (t5, e7) => { + const n7 = aw(t5); + if (rw(t5, e7)) return Vr(n7, t5.buf.subarray(t5.nameStart, t5.nameEnd), iw(t5)); +}; +var nl2 = 5e5; +var al2 = { 40: /^[0-9a-fA-F]{40}$/, 64: /^[0-9a-fA-F]{64}$/ }; +var ol2 = (t5, e7) => { + const n7 = []; + let a4 = 0; + for (; a4 < t5.length; ) { + if (n7.length >= nl2) throw T(li2, n7.length + 1); + const o5 = il2(t5, a4), i11 = Math.min(a4 + e7, o5); + n7.push(sl2(t5.slice(a4, i11), n7.length + 1, e7)), a4 = o5 + 1; + } + return n7; +}; +var il2 = (t5, e7) => { + const n7 = t5.indexOf("\n", e7); + return -1 === n7 ? t5.length : n7; +}; +var sl2 = (t5, e7, n7) => { + if (!al2[n7].test(t5)) throw T("bad shallow line", e7); + return lr.from(t5.toLowerCase()); +}; +var rl2 = { present: false, set: /* @__PURE__ */ new Set() }; +var cl2 = /* @__PURE__ */ new WeakMap(); +function dl2(t5) { + const e7 = to2(t5); + return "FILE_NOT_FOUND" === e7 || "NOT_A_DIRECTORY" === e7; +} +function ul2(t5) { + const e7 = cl2.get(t5.session); + if (void 0 !== e7) return e7; + const n7 = (async function(t6) { + let e8; try { - e7 = await t6.fs.readUtf8(ja2(Da2(t6))); + e8 = await t6.fs.readUtf8(vo2(oo2(t6))); } catch (t7) { - if (hu2(t7)) return fu2; + if (dl2(t7)) return rl2; throw t7; } - return { present: true, set: new Set(cu2(e7, t6.hashConfig.hexLength)) }; + return { present: true, set: new Set(ol2(e8, t6.hashConfig.hexLength)) }; })(t5); - return lu2.set(t5, n6), n6.catch(() => { - lu2.get(t5) === n6 && lu2.delete(t5); - }), n6; -} -var mu2 = async (t5) => (await wu2(t5)).set; -var pu2 = async (t5, e6) => e6 ?? mu2(t5); -var yu2 = (t5) => { - lu2.delete(t5); -}; -async function vu2(t5, e6) { - return zr2(t5).readReflog(e6); -} -async function Iu2(t5) { - return zr2(t5).listReflogs(); -} -var Cu2 = async (t5, e6) => { - const n6 = _a2(Da2(t5), e6.slice(0, 2)); - if (!await t5.fs.exists(n6)) return []; - const a6 = e6.slice(2), o6 = new RegExp(`^[0-9a-f]{${t5.hashConfig.hexLength - 2}}$`), i7 = []; - for (const s9 of await t5.fs.readdir(n6)) s9.isFile && o6.test(s9.name) && s9.name.startsWith(a6) && i7.push(e6.slice(0, 2) + s9.name); - return i7; -}; -var Su2 = async (t5, e6) => { - const n6 = await Ti2(t5).all(), a6 = []; - for (const t6 of n6) { - const n7 = await t6.index(); - for (const t7 of Sh(n7, e6)) a6.push(t7); - } - return a6; -}; -var $u2 = async (t5, e6) => { - if (Dr(e6, t5.hashConfig)) return e6; - if (!(n6 = t5.hashConfig.hexLength, new RegExp(`^[0-9a-f]{4,${n6 - 1}}$`)).test(e6)) return; - var n6; - const [a6, o6] = await Promise.all([Cu2(t5, e6), Su2(t5, e6)]), i7 = [.../* @__PURE__ */ new Set([...a6, ...o6])]; - if (0 !== i7.length) { - if (1 === i7.length) return i7[0]; - throw We(e6, i7.slice(0, 16)); - } -}; -var Du2 = 32; -async function Eu2(t5, e6, n6) { - const a6 = new Array(t5.length); - let o6 = 0; - const i7 = async () => { - for (; o6 < t5.length; ) { - const e7 = o6++; - a6[e7] = await n6(t5[e7]); - } - }, s9 = Math.min(e6, t5.length), r6 = []; - for (let t6 = 0; t6 < s9; t6++) r6.push(i7()); - return await Promise.all(r6), a6; -} -async function Ou2(t5, e6) { - return Eu2(e6, Du2, async (e7) => ({ id: e7, bytes: (await Bc2(t5, e7)).content })); -} -function Lu2(t5, e6) { - const n6 = []; - for (const e7 of t5) n6.push({ oldPath: e7.oldPath, oldId: e7.oldId, oldMode: e7.oldMode }); - for (const t6 of e6) "modify" !== t6.type && "type-change" !== t6.type || wo(t6.oldMode) || n6.push({ oldPath: t6.path, oldId: t6.oldId, oldMode: t6.oldMode }); - return n6; -} -function Mu2(t5, e6) { - const n6 = /* @__PURE__ */ new Map(); - for (const a6 of t5) { - if (n6.has(a6)) continue; - const t6 = e6.get(a6); - void 0 !== t6 && n6.set(a6, { chunkMap: _s(t6), size: t6.length }); - } - return n6; -} -function Pu2(t5, e6, n6, a6, o6) { - if ((function(t6, e7, n7) { - const a7 = Math.max(t6, e7), o7 = Math.min(t6, e7); - return a7 * (ws - n7) < (a7 - o7) * ws; - })(t5.size, e6.size, n6)) return; - const i7 = $s(t5.chunkMap, t5.size, e6.chunkMap, e6.size); - i7 >= n6 && (function(t6, e7) { - if (t6.length < 4) return void t6.push(e7); - let n7 = 0; - for (let e8 = 1; e8 < t6.length; e8++) { - const a8 = t6[e8], o7 = t6[n7]; - void 0 !== a8 && void 0 !== o7 && a8.score < o7.score && (n7 = e8); - } - const a7 = t6[n7]; - void 0 !== a7 && e7.score > a7.score && (t6[n7] = e7); - })(o6, { ...a6, score: i7 }); -} -function Tu2(t5, e6, n6) { - return { type: "rename", oldPath: t5.oldPath, newPath: e6.newPath, oldId: t5.oldId, newId: e6.newId, oldMode: t5.oldMode, newMode: e6.newMode, similarity: { score: n6, maxScore: ws } }; -} -function Nu2(t5, e6, n6) { - return { type: "copy", oldPath: t5.oldPath, newPath: e6.newPath, oldId: t5.oldId, newId: e6.newId, oldMode: t5.oldMode, newMode: e6.newMode, similarity: { score: n6, maxScore: ws } }; -} -function Ru2(t5, e6) { - const n6 = t5.length, a6 = Math.max(n6, e6.length), { srcCopied: o6, literalAdded: i7 } = Ts(t5, e6), s9 = n6 - o6, r6 = Math.min(s9 + i7, a6); - return { computedBreakScore: a6 > 0 ? Math.trunc(r6 * ws / a6) : 0, dissimilarity: n6 > 0 ? Math.trunc(s9 * ws / n6) : 0 }; -} -function _u2(t5, e6, n6) { - const a6 = new Map(e6.map((t6) => [t6.original.path, t6])), o6 = []; - for (const e7 of t5.changes) { - const t6 = "modify" === e7.type && n6.has(e7.path) ? a6.get(e7.path) : void 0; - void 0 !== t6 ? o6.push(t6.del, t6.add) : o6.push(e7); - } - return { changes: o6 }; -} -function Fu2(t5, e6) { - return t5.dissimilarity >= e6 ? { ...t5.original, broken: { score: t5.dissimilarity, maxScore: ws } } : t5.original; -} -function Uu2(t5, e6, n6) { - if (0 === e6.length) return { changes: bo(t5, go) }; - const a6 = (function(t6, e7, n7) { - if (0 === e7.length) return t6; - const { presentDels: a7, presentAdds: o6 } = (function(t7, e8) { - const n8 = new Set(e8.map((t8) => t8.del)), a8 = new Set(e8.map((t8) => t8.add)), o7 = /* @__PURE__ */ new Set(), i8 = /* @__PURE__ */ new Set(); - for (const e9 of t7) "delete" === e9.type && n8.has(e9) ? o7.add(e9) : "add" === e9.type && a8.has(e9) && i8.add(e9); - return { presentDels: o7, presentAdds: i8 }; - })(t6, e7), i7 = /* @__PURE__ */ new Set(), s9 = []; - for (const t7 of e7) { - const e8 = a7.has(t7.del), r6 = o6.has(t7.add); - (e8 || r6) && e8 && r6 && (i7.add(t7.del), i7.add(t7.add), s9.push(Fu2(t7, n7))); - } - return 0 === i7.size ? t6 : [...t6.filter((t7) => !i7.has(t7)), ...s9]; - })(t5, e6, n6); - return { changes: bo(a6, go) }; -} -async function Au2(t5, e6, n6, a6) { - const { threshold: o6, copyThreshold: i7, limit: s9, copies: r6, breakRewrites: c6 } = (function(t6) { - const e7 = t6?.threshold ?? ys; - return { threshold: e7, copyThreshold: t6?.copyThreshold ?? e7, limit: t6?.limit ?? 1e3, copies: t6?.copies ?? "off", breakRewrites: t6?.breakRewrites ?? false }; - })(n6), d5 = (function(t6) { + return cl2.set(t5.session, n7), n7.catch(() => { + cl2.get(t5.session) === n7 && cl2.delete(t5.session); + }), n7; +} +var fl2 = async (t5) => (await ul2(t5)).set; +var ll2 = async (t5, e7) => e7 ?? fl2(t5); +var hl2 = async (t5) => (await ul2(t5)).present; +var wl2 = (t5) => { + cl2.delete(t5.session); +}; +async function pl2(t5, e7) { + return md2(t5).readReflog(e7); +} +async function ml2(t5, e7) { + return md2(t5).readReflogLenient(e7); +} +async function bl2(t5) { + return md2(t5).listReflogs(); +} +var xl2 = async (t5, e7) => { + const n7 = wo2(oo2(t5), e7.slice(0, 2)); + if (!await t5.fs.exists(n7)) return []; + const a4 = e7.slice(2), o5 = new RegExp(`^[0-9a-f]{${t5.hashConfig.hexLength - 2}}$`), i11 = []; + for (const s8 of await t5.fs.readdir(n7)) s8.isFile && o5.test(s8.name) && s8.name.startsWith(a4) && i11.push(e7.slice(0, 2) + s8.name); + return i11; +}; +var Il2 = async (t5, e7) => { + const n7 = await Ls2(t5).all(), a4 = []; + for (const t6 of n7) { + const n8 = await t6.index(); + for (const t7 of Hg(n8, e7)) a4.push(t7); + } + return a4; +}; +var Cl2 = async (t5, e7) => { + if (Qr(e7, t5.hashConfig)) return e7; + if (!(n7 = t5.hashConfig.hexLength, new RegExp(`^[0-9a-f]{4,${n7 - 1}}$`)).test(e7)) return; + var n7; + const [a4, o5] = await Promise.all([xl2(t5, e7), Il2(t5, e7)]), i11 = [.../* @__PURE__ */ new Set([...a4, ...o5])]; + if (0 !== i11.length) { + if (1 === i11.length) return i11[0]; + throw qe(e7, i11.slice(0, 16)); + } +}; +async function Sl2(t5, e7) { + return Lo2(t5, "ioBound", e7, async (e8) => ({ id: e8, bytes: (await gu2(t5, e8)).content })); +} +function Dl2(t5, e7) { + const n7 = []; + for (const e8 of t5) n7.push({ oldPath: e8.oldPath, oldId: e8.oldId, oldMode: e8.oldMode }); + for (const t6 of e7) "modify" !== t6.type && "type-change" !== t6.type || Uo(t6.oldMode) || n7.push({ oldPath: t6.path, oldId: t6.oldId, oldMode: t6.oldMode }); + return n7; +} +function $l2(t5, e7) { + const n7 = /* @__PURE__ */ new Map(); + for (const a4 of t5) { + if (n7.has(a4)) continue; + const t6 = e7.get(a4); + void 0 !== t6 && n7.set(a4, { chunkMap: Hs(t6), size: t6.length }); + } + return n7; +} +function Ol2(t5, e7, n7, a4, o5) { + if ((function(t6, e8, n8) { + const a5 = Math.max(t6, e8), o6 = Math.min(t6, e8); + return a5 * (Cs - n8) < (a5 - o6) * Cs; + })(t5.size, e7.size, n7)) return; + const i11 = zs(t5.chunkMap, t5.size, e7.chunkMap, e7.size); + i11 >= n7 && (function(t6, e8) { + if (t6.length < 4) return void t6.push(e8); + let n8 = 0; + for (let e9 = 1; e9 < t6.length; e9++) { + const a6 = t6[e9], o6 = t6[n8]; + void 0 !== a6 && void 0 !== o6 && a6.score < o6.score && (n8 = e9); + } + const a5 = t6[n8]; + void 0 !== a5 && e8.score > a5.score && (t6[n8] = e8); + })(o5, { ...a4, score: i11 }); +} +function El2(t5, e7, n7) { + return { type: "rename", oldPath: t5.oldPath, newPath: e7.newPath, oldId: t5.oldId, newId: e7.newId, oldMode: t5.oldMode, newMode: e7.newMode, similarity: { score: n7, maxScore: Cs } }; +} +function Ll2(t5, e7, n7) { + return { type: "copy", oldPath: t5.oldPath, newPath: e7.newPath, oldId: t5.oldId, newId: e7.newId, oldMode: t5.oldMode, newMode: e7.newMode, similarity: { score: n7, maxScore: Cs } }; +} +function Ml2(t5, e7) { + const n7 = t5.length, a4 = Math.max(n7, e7.length), { srcCopied: o5, literalAdded: i11 } = Gs(t5, e7), s8 = n7 - o5, r8 = Math.min(s8 + i11, a4); + return { computedBreakScore: a4 > 0 ? Math.trunc(r8 * Cs / a4) : 0, dissimilarity: n7 > 0 ? Math.trunc(s8 * Cs / n7) : 0 }; +} +function Pl2(t5, e7, n7) { + const a4 = new Map(e7.map((t6) => [t6.original.path, t6])), o5 = []; + for (const e8 of t5.changes) { + const t6 = "modify" === e8.type && n7.has(e8.path) ? a4.get(e8.path) : void 0; + void 0 !== t6 ? o5.push(t6.del, t6.add) : o5.push(e8); + } + return { changes: o5 }; +} +function Nl2(t5, e7) { + return t5.dissimilarity >= e7 ? { ...t5.original, broken: { score: t5.dissimilarity, maxScore: Cs } } : t5.original; +} +function Tl2(t5, e7, n7) { + if (0 === e7.length) return { changes: Po(t5, Ro) }; + const a4 = (function(t6, e8, n8) { + if (0 === e8.length) return t6; + const { presentDels: a5, presentAdds: o5 } = (function(t7, e9) { + const n9 = new Set(e9.map((t8) => t8.del)), a6 = new Set(e9.map((t8) => t8.add)), o6 = /* @__PURE__ */ new Set(), i12 = /* @__PURE__ */ new Set(); + for (const e10 of t7) "delete" === e10.type && n9.has(e10) ? o6.add(e10) : "add" === e10.type && a6.has(e10) && i12.add(e10); + return { presentDels: o6, presentAdds: i12 }; + })(t6, e8), i11 = /* @__PURE__ */ new Set(), s8 = []; + for (const t7 of e8) { + const e9 = a5.has(t7.del), r8 = o5.has(t7.add); + (e9 || r8) && e9 && r8 && (i11.add(t7.del), i11.add(t7.add), s8.push(Nl2(t7, n8))); + } + return 0 === i11.size ? t6 : [...t6.filter((t7) => !i11.has(t7)), ...s8]; + })(t5, e7, n7); + return { changes: Po(a4, Ro) }; +} +async function Bl2(t5, e7, n7, a4) { + const { threshold: o5, copyThreshold: i11, limit: s8, copies: r8, breakRewrites: c5 } = (function(t6) { + const e8 = t6?.threshold ?? Ms; + return { threshold: e8, copyThreshold: t6?.copyThreshold ?? e8, limit: t6?.limit ?? 1e3, copies: t6?.copies ?? "off", breakRewrites: t6?.breakRewrites ?? false }; + })(n7), d6 = (function(t6) { return (function(t7) { - return { breakScore: t7.score, mergeScore: 0 === t7.merge ? bs : t7.merge }; - })(false !== t6 && void 0 !== t6 ? t6 : { score: Es, merge: bs }).mergeScore; - })(c6), { broken: u6, workingDiff: f2 } = await (async function(t6, e7, n7) { - if (false === n7 || void 0 === n7) return { broken: [], workingDiff: e7 }; - const a7 = 0 !== n7.score ? n7.score : Es, o7 = await (async function(t7, e8, n8) { - const a8 = e8.changes.filter((t8) => "modify" === t8.type && !wo(t8.oldMode)); - if (0 === a8.length) return { broken: [], patchedDiff: e8 }; - const { records: o8, paths: i8 } = await (async function(t8, e9, n9) { - const a9 = e9.flatMap((t9) => [t9.oldId, t9.newId]), o9 = await Ou2(t8, a9), i9 = new Map(o9.map((t9) => [t9.id, t9.bytes])), s10 = [], r7 = /* @__PURE__ */ new Set(); - for (const t9 of e9) { - const e10 = i9.get(t9.oldId) ?? new Uint8Array(0), a10 = i9.get(t9.newId) ?? new Uint8Array(0), { computedBreakScore: o10, dissimilarity: c7 } = Ru2(e10, a10); - o10 < n9 || (s10.push({ original: t9, del: { type: "delete", oldPath: t9.path, oldId: t9.oldId, oldMode: t9.oldMode }, add: { type: "add", newPath: t9.path, newId: t9.newId, newMode: t9.newMode }, dissimilarity: c7 }), r7.add(t9.path)); - } - return { records: s10, paths: r7 }; - })(t7, a8, n8); - return 0 === o8.length ? { broken: [], patchedDiff: e8 } : { broken: o8, patchedDiff: _u2(e8, o8, i8) }; - })(t6, e7, a7); - return { broken: o7.broken, workingDiff: o7.patchedDiff }; - })(t5, e6, c6), l4 = ni(f2, { ...n6, limit: Number.MAX_SAFE_INTEGER }), { adds: h6, deletes: w4, other: m5 } = (function(t6) { - const e7 = [], n7 = [], a7 = []; - for (const o7 of t6) "add" === o7.type ? wo(o7.newMode) ? a7.push(o7) : e7.push(o7) : "delete" === o7.type ? wo(o7.oldMode) ? a7.push(o7) : n7.push(o7) : a7.push(o7); - return { adds: e7, deletes: n7, other: a7 }; + return { breakScore: t7.score, mergeScore: 0 === t7.merge ? Bs : t7.merge }; + })(false !== t6 && void 0 !== t6 ? t6 : { score: Ps, merge: Bs }).mergeScore; + })(c5), { broken: u6, workingDiff: f2 } = await (async function(t6, e8, n8) { + if (false === n8 || void 0 === n8) return { broken: [], workingDiff: e8 }; + const a5 = 0 !== n8.score ? n8.score : Ps, o6 = await (async function(t7, e9, n9) { + const a6 = e9.changes.filter((t8) => "modify" === t8.type && !Uo(t8.oldMode)); + if (0 === a6.length) return { broken: [], patchedDiff: e9 }; + const { records: o7, paths: i12 } = await (async function(t8, e10, n10) { + const a7 = e10.flatMap((t9) => [t9.oldId, t9.newId]), o8 = await Sl2(t8, a7), i13 = new Map(o8.map((t9) => [t9.id, t9.bytes])), s9 = [], r9 = /* @__PURE__ */ new Set(); + for (const t9 of e10) { + const e11 = i13.get(t9.oldId) ?? new Uint8Array(0), a8 = i13.get(t9.newId) ?? new Uint8Array(0), { computedBreakScore: o9, dissimilarity: c6 } = Ml2(e11, a8); + o9 < n10 || (s9.push({ original: t9, del: { type: "delete", oldPath: t9.path, oldId: t9.oldId, oldMode: t9.oldMode }, add: { type: "add", newPath: t9.path, newId: t9.newId, newMode: t9.newMode }, dissimilarity: c6 }), r9.add(t9.path)); + } + return { records: s9, paths: r9 }; + })(t7, a6, n9); + return 0 === o7.length ? { broken: [], patchedDiff: e9 } : { broken: o7, patchedDiff: Pl2(e9, o7, i12) }; + })(t6, e8, a5); + return { broken: o6.broken, workingDiff: o6.patchedDiff }; + })(t5, e7, c5), l4 = Ii(f2, { ...n7, limit: Number.MAX_SAFE_INTEGER }), { adds: h5, deletes: w6, other: y5 } = (function(t6) { + const e8 = [], n8 = [], a5 = []; + for (const o6 of t6) "add" === o6.type ? Uo(o6.newMode) ? a5.push(o6) : e8.push(o6) : "delete" === o6.type ? Uo(o6.oldMode) ? a5.push(o6) : n8.push(o6) : a5.push(o6); + return { adds: e8, deletes: n8, other: a5 }; })(l4.changes); - if (!(h6.length > 0 && w4.length > 0 || "off" !== r6 && h6.length > 0)) return Uu2(l4.changes, u6, d5); - const p5 = (function(t6, e7, n7, a7, o7, i8) { + if (!(h5.length > 0 && w6.length > 0 || "off" !== r8 && h5.length > 0)) return Tl2(l4.changes, u6, d6); + const p6 = (function(t6, e8, n8, a5, o6, i12) { if ("off" === t6) return []; - if ("on" === t6) return Lu2(n7, a7); - const s10 = void 0 !== o7 ? (function(t7) { - const e8 = []; - for (const [n8, a8] of t7) wo(a8.mode) || e8.push({ oldPath: n8, oldId: a8.id, oldMode: a8.mode }); - return e8; - })(o7) : Lu2(n7, a7); - return 0 !== i8 && e7.length * s10.length > i8 * i8 ? Lu2(n7, a7) : s10; - })(r6, h6, w4, m5, a6, s9); - return Uu2(0 !== s9 && h6.length * (w4.length + p5.length) > s9 * s9 ? l4.changes : (function(t6, e7, n7, a7) { - const o7 = a7?.consumedDeletes ?? /* @__PURE__ */ new Set(), i8 = a7?.consumedAdds ?? /* @__PURE__ */ new Set(), s10 = a7?.renames ?? [], r7 = a7?.copyChanges ?? []; - return [...t6.filter((t7) => !i8.has(t7)), ...e7.filter((t7) => !o7.has(t7)), ...s10, ...r7, ...n7]; - })(h6, w4, m5, await (async function(t6, e7) { - const { adds: n7, deletes: a7, threshold: o7, copyThreshold: i8, copies: s10, copySources: r7 } = e7; - if (0 === a7.length && 0 === r7.length) return null; - const c7 = [...a7.map((t7) => t7.oldId), ...r7.map((t7) => t7.oldId)], d6 = await (async function(t7, e8, n8) { - const [a8, o8] = await Promise.all([Ou2(t7, e8), Ou2(t7, n8.map((t8) => t8.newId))]), i9 = new Map(a8.map((t8) => [t8.id, t8.bytes])), s11 = new Map(o8.map((t8) => [t8.id, t8.bytes])); - return { srcFingerprints: Mu2(e8, i9), dstFingerprints: Mu2(n8.map((t8) => t8.newId), s11) }; - })(t6, c7, n7), u7 = (function(t7) { - const e8 = /* @__PURE__ */ new Set(), n8 = /* @__PURE__ */ new Set(), a8 = []; - for (const o8 of t7) if (!n8.has(o8.add)) if ("rename" === o8.kind) { - if (e8.has(o8.src)) continue; - e8.add(o8.src), n8.add(o8.add), a8.push({ kind: "rename", change: Tu2(o8.src, o8.add, o8.score), del: o8.src, add: o8.add }); - } else n8.add(o8.add), a8.push({ kind: "copy", change: Nu2(o8.src, o8.add, o8.score), add: o8.add }); - return a8; - })((function(t7, e8, n8, a8, o8, i9, { srcFingerprints: s11, dstFingerprints: r8 }) { - const c8 = (function(t8, e9, n9, a9, o9) { - const i10 = []; - for (const s12 of e9) { - const e10 = a9.get(s12.newId); - if (void 0 === e10) continue; - const r9 = []; - for (const a10 of t8) { - const t9 = n9.get(a10.oldId); - void 0 !== t9 && Pu2(t9, e10, o9, { kind: "rename", src: a10, add: s12, score: 0 }, r9); - } - for (const t9 of r9) i10.push(t9); - } - return i10; - })(t7, e8, s11, r8, o8), d7 = "off" !== a8 ? (function(t8, e9, n9, a9, o9) { - const i10 = []; - for (const s12 of e9) { - const e10 = a9.get(s12.newId); - if (void 0 === e10) continue; - const r9 = []; - for (const a10 of t8) { - const t9 = n9.get(a10.oldId); - void 0 !== t9 && Pu2(t9, e10, o9, { kind: "copy", src: a10, add: s12, score: 0 }, r9); - } - for (const t9 of r9) i10.push(t9); - } - return i10; - })(n8, e8, s11, r8, i9) : [], u8 = [...c8, ...d7]; - return u8.sort((t8, e9) => e9.score !== t8.score ? e9.score - t8.score : "rename" === t8.kind && "copy" === e9.kind ? -1 : "copy" === t8.kind && "rename" === e9.kind ? 1 : 0), u8; - })(a7, n7, r7, s10, o7, i8, d6)), f3 = u7.filter((t7) => "rename" === t7.kind), l5 = u7.filter((t7) => "copy" === t7.kind); + if ("on" === t6) return Dl2(n8, a5); + const s9 = void 0 !== o6 ? (function(t7) { + const e9 = []; + for (const [n9, a6] of t7) Uo(a6.mode) || e9.push({ oldPath: n9, oldId: a6.id, oldMode: a6.mode }); + return e9; + })(o6) : Dl2(n8, a5); + return 0 !== i12 && e8.length * s9.length > i12 * i12 ? Dl2(n8, a5) : s9; + })(r8, h5, w6, y5, a4, s8); + return Tl2(0 !== s8 && h5.length * (w6.length + p6.length) > s8 * s8 ? l4.changes : (function(t6, e8, n8, a5) { + const o6 = a5?.consumedDeletes ?? /* @__PURE__ */ new Set(), i12 = a5?.consumedAdds ?? /* @__PURE__ */ new Set(), s9 = a5?.renames ?? [], r9 = a5?.copyChanges ?? []; + return [...t6.filter((t7) => !i12.has(t7)), ...e8.filter((t7) => !o6.has(t7)), ...s9, ...r9, ...n8]; + })(h5, w6, y5, await (async function(t6, e8) { + const { adds: n8, deletes: a5, threshold: o6, copyThreshold: i12, copies: s9, copySources: r9 } = e8; + if (0 === a5.length && 0 === r9.length) return null; + const c6 = [...a5.map((t7) => t7.oldId), ...r9.map((t7) => t7.oldId)], d7 = await (async function(t7, e9, n9) { + const a6 = n9.map((t8) => t8.newId), o7 = await Sl2(t7, [...e9, ...a6]), i13 = o7.slice(0, e9.length), s10 = o7.slice(e9.length), r10 = new Map(i13.map((t8) => [t8.id, t8.bytes])), c7 = new Map(s10.map((t8) => [t8.id, t8.bytes])); + return { srcFingerprints: $l2(e9, r10), dstFingerprints: $l2(n9.map((t8) => t8.newId), c7) }; + })(t6, c6, n8), u7 = (function(t7) { + const e9 = /* @__PURE__ */ new Set(), n9 = /* @__PURE__ */ new Set(), a6 = []; + for (const o7 of t7) if (!n9.has(o7.add)) if ("rename" === o7.kind) { + if (e9.has(o7.src)) continue; + e9.add(o7.src), n9.add(o7.add), a6.push({ kind: "rename", change: El2(o7.src, o7.add, o7.score), del: o7.src, add: o7.add }); + } else n9.add(o7.add), a6.push({ kind: "copy", change: Ll2(o7.src, o7.add, o7.score), add: o7.add }); + return a6; + })((function(t7, e9, n9, a6, o7, i13, { srcFingerprints: s10, dstFingerprints: r10 }) { + const c7 = (function(t8, e10, n10, a7, o8) { + const i14 = []; + for (const s11 of e10) { + const e11 = a7.get(s11.newId); + if (void 0 === e11) continue; + const r11 = []; + for (const a8 of t8) { + const t9 = n10.get(a8.oldId); + void 0 !== t9 && Ol2(t9, e11, o8, { kind: "rename", src: a8, add: s11, score: 0 }, r11); + } + for (const t9 of r11) i14.push(t9); + } + return i14; + })(t7, e9, s10, r10, o7), d8 = "off" !== a6 ? (function(t8, e10, n10, a7, o8) { + const i14 = []; + for (const s11 of e10) { + const e11 = a7.get(s11.newId); + if (void 0 === e11) continue; + const r11 = []; + for (const a8 of t8) { + const t9 = n10.get(a8.oldId); + void 0 !== t9 && Ol2(t9, e11, o8, { kind: "copy", src: a8, add: s11, score: 0 }, r11); + } + for (const t9 of r11) i14.push(t9); + } + return i14; + })(n9, e9, s10, r10, i13) : [], u8 = [...c7, ...d8]; + return u8.sort((t8, e10) => e10.score !== t8.score ? e10.score - t8.score : "rename" === t8.kind && "copy" === e10.kind ? -1 : "copy" === t8.kind && "rename" === e10.kind ? 1 : 0), u8; + })(a5, n8, r9, s9, o6, i12, d7)), f3 = u7.filter((t7) => "rename" === t7.kind), l5 = u7.filter((t7) => "copy" === t7.kind); return { renames: f3.map((t7) => t7.change), copyChanges: l5.map((t7) => t7.change), consumedDeletes: new Set(f3.map((t7) => t7.del)), consumedAdds: new Set(u7.map((t7) => t7.add)) }; - })(t5, { adds: h6, deletes: w4, threshold: o6, copyThreshold: i7, copies: r6, copySources: p5 })), u6, d5); -} -function Bu2(t5) { - let e6 = 0; - const n6 = []; - return { async run(a6) { - await (e6 < t5 ? (e6 += 1, Promise.resolve()) : new Promise((t6) => { - n6.push(t6); - })); - try { - return await a6(); - } finally { - !(function() { - const t6 = n6.shift(); - void 0 !== t6 ? t6() : e6 -= 1; - })(); - } - } }; + })(t5, { adds: h5, deletes: w6, threshold: o5, copyThreshold: i11, copies: r8, copySources: p6 })), u6, d6); } -function ju2(t5, e6, n6, a6) { - const o6 = /* @__PURE__ */ new Map(), i7 = (function(t6) { - return void 0 === t6 ? 64 : Math.min(64, t6); - })(a6); +function Rl2(t5, e7, n7, a4) { + const o5 = /* @__PURE__ */ new Map(), i11 = (function(t6, e8) { + const n8 = 2 * Oo2(t6, "ioBound"); + return void 0 === e8 ? n8 : Math.min(n8, e8); + })(t5, a4); try { - !(function(t6, e7, n7, a7, o7) { - const i8 = ip(e7, t6.hashConfig); - for (; !i8.done && a7.size < o7; ) i8.isDir && zu2(t6, n7, a7, fp(i8)), ap(i8); - })(t5, e6, n6, o6, i7); + !(function(t6, e8, n8, a5, o6) { + const i12 = Zp(e8, t6.hashConfig); + for (; !i12.done && a5.size < o6; ) i12.isDir && Al2(t6, n8, a5, iw(i12)), ew(i12); + })(t5, e7, n7, o5, i11); } catch { } - return o6; -} -function zu2(t5, e6, n6, a6) { - if (n6.has(a6)) return; - const o6 = e6.run(() => Ai2(t5, a6)); - o6.catch(() => { - }), n6.set(a6, o6); -} -async function Wu2(t5, e6) { - const n6 = await Ai2(t5, e6); - if ("tree" !== n6.type) throw Bt("tree", n6.type, e6); - return n6.content; -} -function Hu2(t5, e6) { - return "" === t5 ? e6 : `${t5}/${e6}`; -} -var Gu2 = async (t5) => ({ maxDepth: await wd2(t5), maxEntries: Xn }); -async function Ku2(t5, e6, n6, a6) { - const o6 = "string" == typeof e6 ? e6 : e6.id, i7 = a6 ?? await Wu2(t5, o6), s9 = { ctx: t5, bounds: n6, limiter: Bu2(Du2) }, r6 = { counter: { value: 0 }, entries: /* @__PURE__ */ new Map() }; - return await qu2(s9, r6, i7, o6, "", 0, /* @__PURE__ */ new Set()), { entries: r6.entries }; -} -async function qu2(t5, e6, n6, a6, o6, i7, s9) { - if (s9.has(a6)) throw Ft(a6); - if (_o2(i7, t5.bounds.maxDepth)) throw Ht(i7); - s9.add(a6); - const r6 = ju2(t5.ctx, n6, t5.limiter, t5.bounds.maxEntries - e6.counter.value), c6 = ip(n6, t5.ctx.hashConfig); - for (; !c6.done; ) { - const n7 = Vu2(t5, e6, c6, o6); - void 0 !== n7 && await Yu2(t5, e6, n7.id, n7.path, i7, s9, r6), ap(c6); - } - s9.delete(a6); -} -function Vu2(t5, e6, n6, a6) { - if (t5.ctx.signal?.aborted) throw I(); - const o6 = Hu2(a6, (function(t6) { - const e7 = lp(t6); - if ("." === e7 || ".." === e7 || e7.includes("/")) throw Rt(t6.offset, `invalid entry name: ${e7}`); - return e7; - })(n6)); - if (e6.counter.value += 1, Fo2(e6.counter.value, t5.bounds.maxEntries)) throw Vt(e6.counter.value, t5.bounds.maxEntries); - const i7 = hp(n6), s9 = fp(n6); - if (i7 === Wt.DIRECTORY) return { id: s9, path: o6 }; - e6.entries.set(o6, { id: s9, mode: i7 }); -} -async function Yu2(t5, e6, n6, a6, o6, i7, s9) { - const r6 = await (s9.get(n6) ?? Ai2(t5.ctx, n6)); - "tree" === r6.type && await qu2(t5, e6, r6.content, n6, a6, o6 + 1, i7); -} -async function Xu2(t5, e6, n6, a6, o6, i7, s9 = Bu2(Du2)) { - const r6 = await Wu2(t5, e6), c6 = { ctx: t5, bounds: n6, limiter: s9, emit: i7 }; - await Zu2(c6, o6, r6, e6, a6, 0, /* @__PURE__ */ new Set()); -} -async function Zu2(t5, e6, n6, a6, o6, i7, s9) { - if (s9.has(a6)) throw Ft(a6); - if (_o2(i7, t5.bounds.maxDepth)) throw Ht(i7); - s9.add(a6); - const r6 = ju2(t5.ctx, n6, t5.limiter, t5.bounds.maxEntries - e6.value), c6 = ip(n6, t5.ctx.hashConfig); - for (; !c6.done; ) await Ju2(t5, e6, c6, o6, i7, s9, r6), ap(c6); - s9.delete(a6); -} -async function Ju2(t5, e6, n6, a6, o6, i7, s9) { - if (t5.ctx.signal?.aborted) throw I(); - const r6 = (function(t6, e7) { - return `${t6}/${e7}`; - })(a6, lp(n6)); - if (e6.value += 1, Fo2(e6.value, t5.bounds.maxEntries)) throw Vt(e6.value, t5.bounds.maxEntries); - const c6 = hp(n6), d5 = fp(n6); - if (c6 !== Wt.DIRECTORY) return void t5.emit({ path: r6, id: d5, mode: c6 }); - const u6 = await (s9.get(d5) ?? Ai2(t5.ctx, d5)); - "tree" === u6.type && await Zu2(t5, e6, u6.content, d5, r6, o6 + 1, i7); -} -var Qu2 = new Uint8Array(0); -function tf2(t5, e6) { - if (void 0 !== e6.type && "blob" !== e6.type) throw Bt("blob", e6.type, t5); -} -function ef2(t5, e6, n6) { - const a6 = tp(e6, n6); - return "bytes" === t5.kind ? (a6.push(t5.content), a6.end(), { scanner: a6 }) : { scanner: a6, iterator: t5.stream[Symbol.asyncIterator]() }; -} -async function nf2(t5) { - let e6 = t5.scanner.next(); - for (; "needs-input" === e6.kind && void 0 !== t5.iterator; ) { - const n6 = await t5.iterator.next(); - if (true === n6.done) return t5.scanner.end(), t5.scanner.next(); - t5.scanner.push(n6.value), e6 = t5.scanner.next(); - } - return e6; -} -async function af2(t5) { + return o5; +} +function Al2(t5, e7, n7, a4) { + if (n7.has(a4)) return; + const o5 = e7.run(() => Bs2(t5, a4)); + o5.catch(() => { + }), n7.set(a4, o5); +} +async function _l2(t5, e7) { + const n7 = await Bs2(t5, e7); + if ("tree" !== n7.type) throw Kt("tree", n7.type, e7); + return n7.content; +} +function Fl2(t5, e7) { + return "" === t5 ? e7 : `${t5}/${e7}`; +} +var Ul2 = async (t5) => ({ maxDepth: await Vu2(t5), maxEntries: tr }); +async function zl2(t5, e7, n7, a4) { + const o5 = "string" == typeof e7 ? e7 : e7.id, i11 = a4 ?? await _l2(t5, o5), s8 = { ctx: t5, bounds: n7, limiter: Mo2(t5, "ioBound") }, r8 = { counter: { value: 0 }, entries: /* @__PURE__ */ new Map() }; + return await jl2(s8, r8, i11, o5, "", 0, /* @__PURE__ */ new Set()), { entries: r8.entries }; +} +async function jl2(t5, e7, n7, a4, o5, i11, s8) { + if (s8.has(a4)) throw Yt(a4); + if (Oi2(i11, t5.bounds.maxDepth)) throw Xt(i11); + s8.add(a4); + const r8 = Rl2(t5.ctx, n7, t5.limiter, t5.bounds.maxEntries - e7.counter.value), c5 = Zp(n7, t5.ctx.hashConfig); + for (; !c5.done; ) { + const n8 = Hl2(t5, e7, c5, o5); + void 0 !== n8 && await Wl2(t5, e7, n8.id, n8.path, i11, s8, r8), ew(c5); + } + s8.delete(a4); +} +function Hl2(t5, e7, n7, a4) { + if (t5.ctx.signal?.aborted) throw A(); + const o5 = Fl2(a4, sw(n7)); + if (e7.counter.value += 1, Ei2(e7.counter.value, t5.bounds.maxEntries)) throw qt(e7.counter.value, t5.bounds.maxEntries); + const i11 = aw(n7), s8 = iw(n7); + if (i11 === Qt.DIRECTORY) return { id: s8, path: o5 }; + e7.entries.set(o5, { id: s8, mode: i11 }); +} +async function Wl2(t5, e7, n7, a4, o5, i11, s8) { + const r8 = await (s8.get(n7) ?? Bs2(t5.ctx, n7)); + "tree" === r8.type && await jl2(t5, e7, r8.content, n7, a4, o5 + 1, i11); +} +async function Gl2(t5, e7, n7, a4, o5, i11, s8 = Mo2(t5, "ioBound")) { + const r8 = await _l2(t5, e7), c5 = { ctx: t5, bounds: n7, limiter: s8, emit: i11 }; + await Kl2(c5, o5, r8, e7, a4, 0, /* @__PURE__ */ new Set()); +} +async function Kl2(t5, e7, n7, a4, o5, i11, s8) { + if (s8.has(a4)) throw Yt(a4); + if (Oi2(i11, t5.bounds.maxDepth)) throw Xt(i11); + s8.add(a4); + const r8 = Rl2(t5.ctx, n7, t5.limiter, t5.bounds.maxEntries - e7.value), c5 = Zp(n7, t5.ctx.hashConfig); + for (; !c5.done; ) await ql2(t5, e7, c5, o5, i11, s8, r8), ew(c5); + s8.delete(a4); +} +async function ql2(t5, e7, n7, a4, o5, i11, s8) { + if (t5.ctx.signal?.aborted) throw A(); + const r8 = (function(t6, e8) { + return `${t6}/${e8}`; + })(a4, sw(n7)); + if (e7.value += 1, Ei2(e7.value, t5.bounds.maxEntries)) throw qt(e7.value, t5.bounds.maxEntries); + const c5 = aw(n7), d6 = iw(n7); + if (c5 !== Qt.DIRECTORY) return void t5.emit({ path: r8, id: d6, mode: c5 }); + const u6 = await (s8.get(d6) ?? Bs2(t5.ctx, d6)); + "tree" === u6.type && await Kl2(t5, e7, u6.content, d6, r8, o5 + 1, i11); +} +var Vl2 = new Uint8Array(0); +function Yl2(t5, e7) { + if (void 0 !== e7.type && "blob" !== e7.type) throw Kt("blob", e7.type, t5); +} +function Xl2(t5, e7, n7) { + const a4 = Iw(e7, n7); + return "bytes" === t5.kind ? (a4.push(t5.content), a4.end(), { scanner: a4 }) : { scanner: a4, iterator: t5.stream[Symbol.asyncIterator]() }; +} +async function Zl2(t5) { + let e7 = t5.scanner.next(); + for (; "needs-input" === e7.kind && void 0 !== t5.iterator; ) { + const n7 = await t5.iterator.next(); + if (true === n7.done) return t5.scanner.end(), t5.scanner.next(); + t5.scanner.push(n7.value), e7 = t5.scanner.next(); + } + return e7; +} +async function Jl2(t5) { await t5.iterator?.return?.(); } -async function of2(t5) { +async function Ql2(t5) { "bytes" !== t5.kind && await t5.release(); } -async function sf2(t5) { - await t5.then(of2, () => { +async function th2(t5) { + await t5.then(Ql2, () => { }); } -async function rf2(t5, e6, n6) { - const a6 = [qc2(t5, e6.oldId, n6), qc2(t5, e6.newId, n6)]; +async function eh2(t5, e7, n7) { + const a4 = [Su2(t5, e7.oldId, n7), Su2(t5, e7.newId, n7)]; try { - const t6 = await Promise.all(a6); - return tf2(e6.oldId, t6[0]), tf2(e6.newId, t6[1]), t6; + const t6 = await Promise.all(a4); + return Yl2(e7.oldId, t6[0]), Yl2(e7.newId, t6[1]), t6; } catch (t6) { - throw await Promise.all(a6.map(sf2)), t6; + throw await Promise.all(a4.map(th2)), t6; } } -function cf2(t5, e6) { - if (0 === t5.length) return e6; - const n6 = new Uint8Array(t5.length + e6.length); - return n6.set(t5, 0), n6.set(e6, t5.length), n6; +function nh2(t5, e7) { + if (0 === t5.length) return e7; + const n7 = new Uint8Array(t5.length + e7.length); + return n7.set(t5, 0), n7.set(e7, t5.length), n7; } -function df2(t5, e6, n6) { - const a6 = ko(t5, e6); - if (!n6 || !Mo(a6)) return a6; +function ah2(t5, e7, n7) { + const a4 = Jo(t5, e7); + if (!n7 || !ts(a4)) return a4; } -async function* uf2(t5, e6, n6) { - let a6 = Qu2; - for await (const o7 of (async function* (t6) { +async function* oh2(t5, e7, n7) { + let a4 = Vl2; + for await (const o6 of (async function* (t6) { "bytes" !== t6.kind ? yield* t6.stream : yield t6.content; })(t5)) { - let t6 = cf2(a6, o7); - for (let a7 = t6.indexOf(10); -1 !== a7; a7 = t6.indexOf(10)) { - const o8 = df2(t6.subarray(0, a7 + 1), e6, n6); - void 0 !== o8 && (yield o8), t6 = t6.subarray(a7 + 1); - } - a6 = t6; - } - if (0 === a6.length) return; - const o6 = df2(a6, e6, n6); - void 0 !== o6 && (yield o6); -} -var ff2 = new Uint8Array(0); -var lf2 = {}; -var hf2 = { patch: "binary", numstat: "binary" }; -var wf2 = { patch: "text", numstat: "text" }; -var mf2 = { patch: "text", numstat: "binary" }; -var pf2 = new TextEncoder(); -function yf2(t5) { - return pf2.encode(`Subproject commit ${t5} + let t6 = nh2(a4, o6); + for (let a5 = t6.indexOf(10); -1 !== a5; a5 = t6.indexOf(10)) { + const o7 = ah2(t6.subarray(0, a5 + 1), e7, n7); + void 0 !== o7 && (yield o7), t6 = t6.subarray(a5 + 1); + } + a4 = t6; + } + if (0 === a4.length) return; + const o5 = ah2(a4, e7, n7); + void 0 !== o5 && (yield o5); +} +var ih2 = new Uint8Array(0); +var sh2 = {}; +var rh2 = { patch: "binary", numstat: "binary" }; +var ch2 = { patch: "text", numstat: "text" }; +var dh2 = { patch: "text", numstat: "binary" }; +var uh2 = new TextEncoder(); +function fh2(t5) { + return uh2.encode(`Subproject commit ${t5} `); } -async function gf2(t5, e6, n6) { - return wo(e6) ? yf2(n6) : (await Bc2(t5, n6)).content; -} -async function vf2(t5, e6, n6, a6) { - const { sources: o6, macros: i7 } = await e6.sourcesForPath(n6), s9 = Am(o6, n6, "diff", i7); - let r6, c6 = false; - var d5, u6; - return false !== s9 && true !== s9 && "unspecified" !== s9 && (r6 = await (async function(t6, e7) { - const n7 = (await Hi2(t6)).diff?.get(e7), a7 = n7?.textconv; - return void 0 !== a7 && "" !== a7 ? a7 : void 0; - })(t5, s9.set), c6 = void 0 !== r6), { pair: (d5 = s9, u6 = { textconvConfigured: c6, rawIsBinary: !!c6 && await a6() }, false === d5 ? hf2 : true === d5 ? wf2 : "unspecified" === d5 ? lf2 : u6.textconvConfigured ? u6.rawIsBinary ? mf2 : wf2 : lf2), command: r6 }; -} -async function bf2(t5, e6, n6, a6, o6, i7, s9) { - return wo(i7) ? s9 : (async (t6, e7, n7, a7, o7) => { - const i8 = `${t6.layout.gitDir}/TEXTCONV_INPUT_${o7}`; - await t6.fs.write(i8, a7); +async function lh2(t5, e7, n7) { + return Uo(e7) ? fh2(n7) : (await gu2(t5, n7)).content; +} +async function hh2(t5, e7, n7, a4) { + const { sources: o5, macros: i11 } = await e7.sourcesForPath(n7), s8 = Pp(o5, n7, "diff", i11); + let r8, c5 = false; + var d6, u6; + return false !== s8 && true !== s8 && "unspecified" !== s8 && (r8 = await (async function(t6, e8) { + const n8 = (await sr2(t6)).diff?.get(e8), a5 = n8?.textconv; + return void 0 !== a5 && "" !== a5 ? a5 : void 0; + })(t5, s8.set), c5 = void 0 !== r8), { pair: (d6 = s8, u6 = { textconvConfigured: c5, rawIsBinary: !!c5 && await a4() }, false === d6 ? rh2 : true === d6 ? ch2 : "unspecified" === d6 ? sh2 : u6.textconvConfigured ? u6.rawIsBinary ? dh2 : ch2 : sh2), command: r8 }; +} +async function wh2(t5, e7, n7, a4, o5, i11, s8) { + return Uo(i11) ? s8 : (async (t6, e8, n8, a5, o6) => { + const i12 = `${t6.layout.gitDir}/TEXTCONV_INPUT_${o6}`; + await t6.fs.write(i12, a5); try { - return (await e7.run({ command: `${n7} ${i8}`, cwd: $a2(t6.layout), env: { GIT_DIR: t6.layout.gitDir }, ...void 0 !== t6.signal ? { signal: t6.signal } : {} })).stdout ?? ff2; + return (await e8.run({ command: `${n8} ${i12}`, cwd: ao2(t6.layout), env: { GIT_DIR: t6.layout.gitDir }, ...void 0 !== t6.signal ? { signal: t6.signal } : {} })).stdout ?? ih2; } finally { - await t6.fs.rm(i8); - } - })(t5, e6, n6, s9, `${o6}_${r6 = go(a6), r6.replace(/[^a-zA-Z0-9]/g, "_").slice(0, 64)}`); - var r6; -} -function kf2(t5, e6) { - return { ...t5, ...void 0 !== e6.patch ? { patchBinaryOverride: e6.patch } : {}, ...void 0 !== e6.numstat ? { numstatBinaryOverride: e6.numstat } : {} }; -} -async function xf2(t5, e6, n6, a6, o6, i7, s9, r6) { - return void 0 === e6.runner || void 0 === n6 ? [o6, i7] : Promise.all([bf2(t5, e6.runner, n6, a6, "old", s9, o6), bf2(t5, e6.runner, n6, a6, "new", r6, i7)]); -} -async function If2(t5, e6, n6) { - let a6; - const o6 = true === n6?.applyTextconv ? { runner: t5.command, getProvider: n6.getProvider ?? (() => a6 ??= Dc2(t5)) } : void 0; - return Eu2(e6, Du2, (e7) => (async function(t6, e8, n7) { - return "add" === e8.type ? (async function(t7, e9, n8) { - if (wo(e9.newMode)) return { change: e9, newContent: yf2(e9.newId) }; - const a7 = (await Bc2(t7, e9.newId)).content; - if (void 0 === n8) return { change: e9, newContent: a7 }; - const o7 = await n8.getProvider(), { pair: i7, command: s9 } = await vf2(t7, o7, go(e9), () => ts(a7)); - return kf2({ change: e9, newContent: void 0 !== n8.runner && void 0 !== s9 ? await bf2(t7, n8.runner, s9, e9, "new", e9.newMode, a7) : a7 }, i7); - })(t6, e8, n7) : "delete" === e8.type ? (async function(t7, e9, n8) { - if (wo(e9.oldMode)) return { change: e9, oldContent: yf2(e9.oldId) }; - const a7 = (await Bc2(t7, e9.oldId)).content; - if (void 0 === n8) return { change: e9, oldContent: a7 }; - const o7 = await n8.getProvider(), { pair: i7, command: s9 } = await vf2(t7, o7, go(e9), () => ts(a7)); - return kf2({ change: e9, oldContent: void 0 !== n8.runner && void 0 !== s9 ? await bf2(t7, n8.runner, s9, e9, "old", e9.oldMode, a7) : a7 }, i7); - })(t6, e8, n7) : "rename" === e8.type || "copy" === e8.type ? (async function(t7, e9, n8) { - if (e9.similarity.score === ws) { - if (void 0 === n8) return { change: e9 }; - const a8 = await n8.getProvider(), { pair: o8 } = await vf2(t7, a8, go(e9), async () => !wo(e9.newMode) && ts((await Bc2(t7, e9.newId)).content)); - return kf2({ change: e9 }, o8); - } - const [a7, o7] = await Promise.all([Bc2(t7, e9.oldId), Bc2(t7, e9.newId)]); - if (void 0 === n8) return { change: e9, oldContent: a7.content, newContent: o7.content }; - const i7 = await n8.getProvider(), { pair: s9, command: r6 } = await vf2(t7, i7, go(e9), () => ts(a7.content) || ts(o7.content)), [c6, d5] = await xf2(t7, n8, r6, e9, a7.content, o7.content, e9.oldMode, e9.newMode); - return kf2({ change: e9, oldContent: c6, newContent: d5 }, s9); - })(t6, e8, n7) : e8.oldId !== e8.newId || wo(e8.oldMode) || wo(e8.newMode) ? (async function(t7, e9, n8) { - const [a7, o7] = await Promise.all([gf2(t7, e9.oldMode, e9.oldId), gf2(t7, e9.newMode, e9.newId)]); - if (void 0 === n8) return { change: e9, oldContent: a7, newContent: o7 }; - const i7 = wo(e9.oldMode) ? new Uint8Array(0) : a7, s9 = wo(e9.newMode) ? new Uint8Array(0) : o7, r6 = await n8.getProvider(), { pair: c6, command: d5 } = await vf2(t7, r6, go(e9), () => ts(i7) || ts(s9)), [u6, f2] = await xf2(t7, n8, d5, e9, a7, o7, e9.oldMode, e9.newMode); - return kf2({ change: e9, oldContent: u6, newContent: f2 }, c6); - })(t6, e8, n7) : (async function(t7, e9, n8) { - const a7 = (await Bc2(t7, e9.oldId)).content; - if (void 0 === n8) return { change: e9, oldContent: a7, newContent: a7 }; - const o7 = await n8.getProvider(), { pair: i7, command: s9 } = await vf2(t7, o7, go(e9), () => ts(a7)), [r6, c6] = await xf2(t7, n8, s9, e9, a7, a7, e9.oldMode, e9.newMode); - return kf2({ change: e9, oldContent: r6, newContent: c6 }, i7); - })(t6, e8, n7); - })(t5, e7, o6)); -} -var Cf2 = new Uint8Array(0); -async function Sf2(t5, e6, n6, a6) { - const o6 = await (async function(t6, e7, n7, a7) { - if (true === a7?.recursive) { - const [a8, o8] = await Promise.all([Of2(t6, e7), Of2(t6, n7)]); - return (async function(t7, e8, n8, a9 = Xn) { - const o9 = { counter: { value: 0 }, maxEntries: a9, maxDepth: await wd2(t7), limiter: Bu2(Du2) }; - return { changes: await Tf2(t7, e8, n8, Pf2, o9) }; - })(t6, a8, o8); - } - const [o7, i8] = await Promise.all([Ef2(t6, e7), Ef2(t6, n7)]); - return fi(o7, i8); - })(t5, e6, n6, a6), i7 = true === a6?.detectRenames ? await Au2(t5, o6, a6.renameOptions, await (async function(t6, e7, n7) { - if ("harder" !== n7?.copies || void 0 === e7) return; - const a7 = await Gu2(t6); - if ("string" != typeof e7) return (await Ku2(t6, e7, a7)).entries; - const o7 = await Lf2(t6, e7); - return (await Ku2(t6, o7.id, a7, o7.content)).entries; - })(t5, e6, a6.renameOptions)) : o6, r6 = Uo(a6 ?? {}), c6 = Bo(r6), d5 = true === a6?.ignoreBlankLines, u6 = true === a6?.withStat; - return c6 || u6 ? (async function(t6, e7, n7, a7, o7, i8) { - return a7 && !i8 ? (async function(t7, e8, n8, a8) { - let o8; - const i9 = () => (o8 ??= Dc2(t7), o8), r7 = await Eu2(e8.changes, Du2, (e9) => (async function(t8, e10, n9, a9, o9) { + await t6.fs.rm(i12); + } + })(t5, e7, n7, s8, `${o5}_${r8 = Ro(a4), r8.replace(/[^a-zA-Z0-9]/g, "_").slice(0, 64)}`); + var r8; +} +function yh2(t5, e7) { + return { ...t5, ...void 0 !== e7.patch ? { patchBinaryOverride: e7.patch } : {}, ...void 0 !== e7.numstat ? { numstatBinaryOverride: e7.numstat } : {} }; +} +async function ph2(t5, e7, n7, a4, o5, i11, s8, r8) { + return void 0 === e7.runner || void 0 === n7 ? [o5, i11] : Promise.all([wh2(t5, e7.runner, n7, a4, "old", s8, o5), wh2(t5, e7.runner, n7, a4, "new", r8, i11)]); +} +async function mh2(t5, e7, n7) { + let a4; + const o5 = true === n7?.applyTextconv ? { runner: t5.command, getProvider: n7.getProvider ?? (() => a4 ??= iu2(t5)) } : void 0; + return Lo2(t5, "ioBound", e7, (e8) => (async function(t6, e9, n8) { + return "add" === e9.type ? (async function(t7, e10, n9) { + if (Uo(e10.newMode)) return { change: e10, newContent: fh2(e10.newId) }; + const a5 = (await gu2(t7, e10.newId)).content; + if (void 0 === n9) return { change: e10, newContent: a5 }; + const o6 = await n9.getProvider(), { pair: i11, command: s8 } = await hh2(t7, o6, Ro(e10), () => Es(a5)); + return yh2({ change: e10, newContent: void 0 !== n9.runner && void 0 !== s8 ? await wh2(t7, n9.runner, s8, e10, "new", e10.newMode, a5) : a5 }, i11); + })(t6, e9, n8) : "delete" === e9.type ? (async function(t7, e10, n9) { + if (Uo(e10.oldMode)) return { change: e10, oldContent: fh2(e10.oldId) }; + const a5 = (await gu2(t7, e10.oldId)).content; + if (void 0 === n9) return { change: e10, oldContent: a5 }; + const o6 = await n9.getProvider(), { pair: i11, command: s8 } = await hh2(t7, o6, Ro(e10), () => Es(a5)); + return yh2({ change: e10, oldContent: void 0 !== n9.runner && void 0 !== s8 ? await wh2(t7, n9.runner, s8, e10, "old", e10.oldMode, a5) : a5 }, i11); + })(t6, e9, n8) : "rename" === e9.type || "copy" === e9.type ? (async function(t7, e10, n9) { + if (e10.similarity.score === Cs) { + if (void 0 === n9) return { change: e10 }; + const a6 = await n9.getProvider(), { pair: o7 } = await hh2(t7, a6, Ro(e10), async () => !Uo(e10.newMode) && Es((await gu2(t7, e10.newId)).content)); + return yh2({ change: e10 }, o7); + } + const [a5, o6] = await Promise.all([gu2(t7, e10.oldId), gu2(t7, e10.newId)]); + if (void 0 === n9) return { change: e10, oldContent: a5.content, newContent: o6.content }; + const i11 = await n9.getProvider(), { pair: s8, command: r8 } = await hh2(t7, i11, Ro(e10), () => Es(a5.content) || Es(o6.content)), [c5, d6] = await ph2(t7, n9, r8, e10, a5.content, o6.content, e10.oldMode, e10.newMode); + return yh2({ change: e10, oldContent: c5, newContent: d6 }, s8); + })(t6, e9, n8) : e9.oldId !== e9.newId || Uo(e9.oldMode) || Uo(e9.newMode) ? (async function(t7, e10, n9) { + const [a5, o6] = await Promise.all([lh2(t7, e10.oldMode, e10.oldId), lh2(t7, e10.newMode, e10.newId)]); + if (void 0 === n9) return { change: e10, oldContent: a5, newContent: o6 }; + const i11 = Uo(e10.oldMode) ? new Uint8Array(0) : a5, s8 = Uo(e10.newMode) ? new Uint8Array(0) : o6, r8 = await n9.getProvider(), { pair: c5, command: d6 } = await hh2(t7, r8, Ro(e10), () => Es(i11) || Es(s8)), [u6, f2] = await ph2(t7, n9, d6, e10, a5, o6, e10.oldMode, e10.newMode); + return yh2({ change: e10, oldContent: u6, newContent: f2 }, c5); + })(t6, e9, n8) : (async function(t7, e10, n9) { + const a5 = (await gu2(t7, e10.oldId)).content; + if (void 0 === n9) return { change: e10, oldContent: a5, newContent: a5 }; + const o6 = await n9.getProvider(), { pair: i11, command: s8 } = await hh2(t7, o6, Ro(e10), () => Es(a5)), [r8, c5] = await ph2(t7, n9, s8, e10, a5, a5, e10.oldMode, e10.newMode); + return yh2({ change: e10, oldContent: r8, newContent: c5 }, i11); + })(t6, e9, n8); + })(t5, e8, o5)); +} +var gh2 = new Uint8Array(0); +async function vh2(t5, e7, n7, a4) { + const o5 = await (async function(t6, e8, n8, a5) { + if (true === a5?.recursive) { + const [a6, o7] = await Promise.all([Ih2(t6, e8), Ih2(t6, n8)]); + return (async function(t7, e9, n9, a7 = tr) { + const o8 = { counter: { value: 0 }, maxEntries: a7, maxDepth: await Vu2(t7), limiter: Mo2(t7, "ioBound") }; + return { changes: await $h2(t7, e9, n9, Dh2, o8) }; + })(t6, a6, o7); + } + const [o6, i12] = await Promise.all([xh2(t6, e8), xh2(t6, n8)]); + return Li(o6, i12); + })(t5, e7, n7, a4), i11 = true === a4?.detectRenames ? await Bl2(t5, o5, a4.renameOptions, await (async function(t6, e8, n8) { + if ("harder" !== n8?.copies || void 0 === e8) return; + const a5 = await Ul2(t6); + if ("string" != typeof e8) return (await zl2(t6, e8, a5)).entries; + const o6 = await Ch2(t6, e8); + return (await zl2(t6, o6.id, a5, o6.content)).entries; + })(t5, e7, a4.renameOptions)) : o5, s8 = Zo(a4 ?? {}), r8 = rs(s8), c5 = true === a4?.ignoreBlankLines, u6 = true === a4?.withStat; + return r8 || u6 ? (async function(t6, e8, n8, a5, o6, i12) { + return a5 && !i12 ? (async function(t7, e9, n9, a6) { + let o7; + const i13 = () => (o7 ??= iu2(t7), o7), s9 = await Lo2(t7, "ioBound", e9.changes, (e10) => (async function(t8, e11, n10, a7, o8) { return !!(function(t9) { - return "add" === t9.type ? Yt(t9.newMode) : "delete" === t9.type ? Yt(t9.oldMode) : "modify" === t9.type && Yt(t9.oldMode) && Yt(t9.newMode); - })(e10) || "modify" === e10.type && (await (async function(t9, e11) { - const n10 = await e11(), a10 = go(t9), { sources: o10, macros: i10 } = await n10.sourcesForPath(a10); - return "unspecified" !== Am(o10, a10, "diff", i10); - })(e10, o9) ? (async function(t9, e11, n10, a10, o10) { - const i10 = (await If2(t9, [e11], { applyTextconv: true, getProvider: o10 }))[0]; - return Df2(i10.change, i10.oldContent ?? Cf2, i10.newContent ?? Cf2, n10, a10, i10.numstatBinaryOverride); - })(t8, e10, n9, a9, o9) : (async function(t9, e11, n10, a10, o10 = 65536) { - const [i10, r8] = await rf2(t9, e11, o10); - return "bytes" === i10.kind && "bytes" === r8.kind ? sp(i10.content, r8.content, n10, a10) : !!await (async function(t10, e12, n11, a11) { - const o11 = ef2(t10, n11, a11), i11 = ef2(e12, n11, a11); + return "add" === t9.type ? tn(t9.newMode) : "delete" === t9.type ? tn(t9.oldMode) : "modify" === t9.type && tn(t9.oldMode) && tn(t9.newMode); + })(e11) || "modify" === e11.type && (await (async function(t9, e12) { + const n11 = await e12(), a8 = Ro(t9), { sources: o9, macros: i14 } = await n11.sourcesForPath(a8); + return "unspecified" !== Pp(o9, a8, "diff", i14); + })(e11, o8) ? (async function(t9, e12, n11, a8, o9) { + const i14 = (await mh2(t9, [e12], { applyTextconv: true, getProvider: o9 }))[0]; + return bh2(i14.change, i14.oldContent ?? gh2, i14.newContent ?? gh2, n11, a8, i14.numstatBinaryOverride); + })(t8, e11, n10, a7, o8) : (async function(t9, e12, n11, a8, o9 = 65536) { + const [i14, s10] = await eh2(t9, e12, o9); + return "bytes" === i14.kind && "bytes" === s10.kind ? Tw(i14.content, s10.content, n11, a8) : !!await (async function(t10, e13, n12, a9) { + const o10 = Xl2(t10, n12, a9), i15 = Xl2(e13, n12, a9); try { for (; ; ) { - const [t11, e13] = await Promise.all([nf2(o11), nf2(i11)]), n12 = np(o11.scanner, i11.scanner, t11, e13); - if ("continue" !== n12) return n12; + const [t11, e14] = await Promise.all([Zl2(o10), Zl2(i15)]), n13 = _w(o10.scanner, i15.scanner, t11, e14); + if ("continue" !== n13) return n13; } } finally { - await Promise.all([af2(o11), af2(i11)]); + await Promise.all([Jl2(o10), Jl2(i15)]); } - })(i10, r8, n10, a10) && await (async function(t10, e12, n11, a11, o11) { - const [i11, r9] = await rf2(t10, e12, o11), c7 = uf2(i11, n11, a11)[Symbol.asyncIterator](), d6 = uf2(r9, n11, a11)[Symbol.asyncIterator](); + })(i14, s10, n11, a8) && await (async function(t10, e13, n12, a9, o10) { + const [i15, s11] = await eh2(t10, e13, o10), r9 = oh2(i15, n12, a9)[Symbol.asyncIterator](), c6 = oh2(s11, n12, a9)[Symbol.asyncIterator](); try { - return await (async function(t11, e13) { + return await (async function(t11, e14) { for (; ; ) { - const [n12, a12] = await Promise.all([t11.next(), e13.next()]); - if (true === n12.done || true === a12.done) return true === n12.done && true === a12.done; - if (!It(n12.value, a12.value)) return false; + const [n13, a10] = await Promise.all([t11.next(), e14.next()]); + if (true === n13.done || true === a10.done) return true === n13.done && true === a10.done; + if (!xt(n13.value, a10.value)) return false; } - })(c7, d6); + })(r9, c6); } finally { - await Promise.all([c7.return?.(), d6.return?.()]); + await Promise.all([r9.return?.(), c6.return?.()]); } - })(t9, e11, n10, a10, o10); - })(t8, e10, n9, a9)); - })(t7, e9, n8, a8, i9)); - return { changes: e8.changes.filter((t8, e9) => !r7[e9]) }; - })(t6, e7, n7, o7) : (async function(t7, e8, n8, a8, o8, i9) { - const s9 = await (async function(t8, e9) { - const n9 = { counter: { value: 0 }, maxEntries: Xn, maxDepth: await wd2(t8), limiter: Bu2(Du2) }; - return (await Eu2(e9, Du2, (e10) => Nf2(t8, e10, Pf2, n9))).flat(); - })(t7, e8.changes), r7 = await If2(t7, s9, { applyTextconv: true }), c7 = []; - for (const t8 of r7) { - const e9 = t8.oldContent ?? Cf2, s10 = t8.newContent ?? Cf2; - if (a8 && Df2(t8.change, e9, s10, n8, o8, t8.numstatBinaryOverride)) continue; - const r8 = ii(e9, s10, $f2(n8, a8, o8, t8.numstatBinaryOverride)); - c7.push(i9 ? { ...t8.change, ...r8 } : t8.change); - } - return { changes: c7 }; - })(t6, e7, n7, a7, o7, i8); - })(t5, i7, r6, c6, d5, u6) : i7; -} -function $f2(t5, e6, n6, a6) { - const o6 = void 0 !== a6 ? { numstatBinaryOverride: a6 } : {}; - return e6 ? { lineKey: t5, ignoreBlankLines: n6, ...o6 } : n6 ? { ignoreBlankLines: n6, ...o6 } : void 0 !== a6 ? { numstatBinaryOverride: a6 } : void 0; -} -function Df2(t5, e6, n6, a6, o6, i7) { - return "modify" === t5.type && sp(e6, n6, a6, o6, i7); -} -async function Ef2(t5, e6) { - if (void 0 !== e6) return "string" == typeof e6 ? nu2(t5, e6) : e6; -} -async function Of2(t5, e6) { - if (void 0 !== e6) return "string" != typeof e6 ? Wu2(t5, e6.id) : (await Lf2(t5, e6)).content; -} -async function Lf2(t5, e6) { - const { id: n6, result: a6 } = await tu2(t5, e6, Ai2, (t6, e7) => "commit" === t6.type ? gr(e7, t6.content).data.tree : "tag" === t6.type ? Tr(e7, t6.content).data.object : void 0); - if ("tree" !== a6.type) throw Bt("tree", a6.type, n6); - return { id: n6, content: a6.content }; -} -var Mf2 = (t5, e6) => { - for (let n6 = t5; void 0 !== n6; n6 = n6.parent) if (n6.id === e6) return true; + })(t9, e12, n11, a8, o9); + })(t8, e11, n10, a7)); + })(t7, e10, n9, a6, i13)); + return { changes: e9.changes.filter((t8, e10) => !s9[e10]) }; + })(t6, e8, n8, o6) : (async function(t7, e9, n9, a6, o7, i13) { + const s9 = await (async function(t8, e10) { + const n10 = { counter: { value: 0 }, maxEntries: tr, maxDepth: await Vu2(t8), limiter: Mo2(t8, "ioBound") }; + return (await Lo2(t8, "ioBound", e10, (e11) => Oh2(t8, e11, Dh2, n10))).flat(); + })(t7, e9.changes), r9 = await mh2(t7, s9, { applyTextconv: true }), c6 = []; + for (const t8 of r9) { + const e10 = t8.oldContent ?? gh2, s10 = t8.newContent ?? gh2; + if (a6 && bh2(t8.change, e10, s10, n9, o7, t8.numstatBinaryOverride)) continue; + const r10 = Ti(e10, s10, kh2(n9, a6, o7, t8.numstatBinaryOverride)); + c6.push(i13 ? { ...t8.change, ...r10 } : t8.change); + } + return { changes: c6 }; + })(t6, e8, n8, a5, o6, i12); + })(t5, i11, s8, r8, c5, u6) : i11; +} +function kh2(t5, e7, n7, a4) { + const o5 = void 0 !== a4 ? { numstatBinaryOverride: a4 } : {}; + return e7 ? { lineKey: t5, ignoreBlankLines: n7, ...o5 } : n7 ? { ignoreBlankLines: n7, ...o5 } : void 0 !== a4 ? { numstatBinaryOverride: a4 } : void 0; +} +function bh2(t5, e7, n7, a4, o5, i11) { + return "modify" === t5.type && Tw(e7, n7, a4, o5, i11); +} +async function xh2(t5, e7) { + if (void 0 !== e7) return "string" == typeof e7 ? Gf2(t5, e7) : e7; +} +async function Ih2(t5, e7) { + if (void 0 !== e7) return "string" != typeof e7 ? _l2(t5, e7.id) : (await Ch2(t5, e7)).content; +} +async function Ch2(t5, e7) { + const { id: n7, result: a4 } = await Hf2(t5, e7, Bs2, (t6, e8) => "commit" === t6.type ? _r(e8, t6.content).data.tree : "tag" === t6.type ? Rr(e8, t6.content).data.object : void 0); + if ("tree" !== a4.type) throw Kt("tree", a4.type, n7); + return { id: n7, content: a4.content }; +} +var Sh2 = (t5, e7) => { + for (let n7 = t5; void 0 !== n7; n7 = n7.parent) if (n7.id === e7) return true; return false; }; -var Pf2 = { prefix: "", depth: 0, oldStack: void 0, newStack: void 0 }; -async function Tf2(t5, e6, n6, a6, o6) { - const i7 = mp(e6, n6, t5.hashConfig).changes; - if (o6.counter.value += i7.length, Fo2(o6.counter.value, o6.maxEntries)) throw Vt(o6.maxEntries + 1, o6.maxEntries); - return (await Eu2(i7, Du2, (e7) => Nf2(t5, e7, a6, o6))).flat(); -} -async function Nf2(t5, e6, n6, a6) { - return "modify" === e6.type && Yt(e6.oldMode) && Yt(e6.newMode) ? (async function(t6, e7, n7, a7) { - if (_o2(n7.depth, a7.maxDepth)) throw Ht(n7.depth); - if (Mf2(n7.oldStack, e7.oldId)) throw Ft(e7.oldId); - if (Mf2(n7.newStack, e7.newId)) throw Ft(e7.newId); - const [o6, i7] = await Promise.all([Wu2(t6, e7.oldId), Wu2(t6, e7.newId)]); - return Tf2(t6, o6, i7, { prefix: Hu2(n7.prefix, e7.path), depth: n7.depth + 1, oldStack: { id: e7.oldId, parent: n7.oldStack }, newStack: { id: e7.newId, parent: n7.newStack } }, a7); - })(t5, e6, n6, a6) : "add" === e6.type && Yt(e6.newMode) ? (async function(t6, e7, n7, a7) { - const o6 = []; - return await Xu2(t6, e7, _f2(a7), n7, a7.counter, (t7) => { - o6.push((function(t8, e8) { - return { type: "add", newPath: t8, newId: e8.id, newMode: e8.mode }; +var Dh2 = { prefix: "", depth: 0, oldStack: void 0, newStack: void 0 }; +async function $h2(t5, e7, n7, a4, o5) { + const i11 = $w(e7, n7, t5.hashConfig).changes; + if (o5.counter.value += i11.length, Ei2(o5.counter.value, o5.maxEntries)) throw qt(o5.maxEntries + 1, o5.maxEntries); + return (await Lo2(t5, "ioBound", i11, (e8) => Oh2(t5, e8, a4, o5))).flat(); +} +async function Oh2(t5, e7, n7, a4) { + return "modify" === e7.type && tn(e7.oldMode) && tn(e7.newMode) ? (async function(t6, e8, n8, a5) { + if (Oi2(n8.depth, a5.maxDepth)) throw Xt(n8.depth); + if (Sh2(n8.oldStack, e8.oldId)) throw Yt(e8.oldId); + if (Sh2(n8.newStack, e8.newId)) throw Yt(e8.newId); + const [o5, i11] = await Promise.all([_l2(t6, e8.oldId), _l2(t6, e8.newId)]); + return $h2(t6, o5, i11, { prefix: Fl2(n8.prefix, e8.path), depth: n8.depth + 1, oldStack: { id: e8.oldId, parent: n8.oldStack }, newStack: { id: e8.newId, parent: n8.newStack } }, a5); + })(t5, e7, n7, a4) : "add" === e7.type && tn(e7.newMode) ? (async function(t6, e8, n8, a5) { + const o5 = []; + return await Gl2(t6, e8, Lh2(a5), n8, a5.counter, (t7) => { + o5.push((function(t8, e9) { + return { type: "add", newPath: t8, newId: e9.id, newMode: e9.mode }; })(t7.path, t7)); - }, a7.limiter), o6; - })(t5, e6.newId, Hu2(n6.prefix, e6.newPath), a6) : "delete" === e6.type && Yt(e6.oldMode) ? (async function(t6, e7, n7, a7) { - const o6 = []; - return await Xu2(t6, e7, _f2(a7), n7, a7.counter, (t7) => { - o6.push((function(t8, e8) { - return { type: "delete", oldPath: t8, oldId: e8.id, oldMode: e8.mode }; + }, a5.limiter), o5; + })(t5, e7.newId, Fl2(n7.prefix, e7.newPath), a4) : "delete" === e7.type && tn(e7.oldMode) ? (async function(t6, e8, n8, a5) { + const o5 = []; + return await Gl2(t6, e8, Lh2(a5), n8, a5.counter, (t7) => { + o5.push((function(t8, e9) { + return { type: "delete", oldPath: t8, oldId: e9.id, oldMode: e9.mode }; })(t7.path, t7)); - }, a7.limiter), o6; - })(t5, e6.oldId, Hu2(n6.prefix, e6.oldPath), a6) : [Rf2(e6, n6.prefix)]; + }, a5.limiter), o5; + })(t5, e7.oldId, Fl2(n7.prefix, e7.oldPath), a4) : [Eh2(e7, n7.prefix)]; } -function Rf2(t5, e6) { - if ("" === e6) return t5; +function Eh2(t5, e7) { + if ("" === e7) return t5; switch (t5.type) { case "add": - return { ...t5, newPath: Hu2(e6, t5.newPath) }; + return { ...t5, newPath: Fl2(e7, t5.newPath) }; case "delete": - return { ...t5, oldPath: Hu2(e6, t5.oldPath) }; + return { ...t5, oldPath: Fl2(e7, t5.oldPath) }; case "modify": case "type-change": - return { ...t5, path: Hu2(e6, t5.path) }; + return { ...t5, path: Fl2(e7, t5.path) }; case "rename": case "copy": return t5; } } -function _f2(t5) { +function Lh2(t5) { return { maxDepth: t5.maxDepth, maxEntries: t5.maxEntries }; } -var Ff2 = async (t5, e6) => { - const n6 = await Ui2(t5, e6); - if ("commit" !== n6.type) throw Bt("commit", n6.type, e6); - return Hm(e6, n6.data, await mu2(t5)); -}; -var Uf2 = async (t5, e6, n6) => { - const a6 = eu(e6), o6 = eu(n6); - await zr2(t5).applyRefUpdates([{ kind: "setSymbolic", name: a6, target: o6 }]); -}; -var Af2 = async (t5, e6) => { - const n6 = []; - for (const a7 of e6.oids) { - const e7 = await Ui2(t5, a7); - n6.push(await Bf2(t5, e7)); - } - const a6 = Rh(n6), o6 = await t5.hash.hash(a6.data), i7 = wt(o6), s9 = new Uint8Array(a6.data.length + o6.length); - return s9.set(a6.data, 0), s9.set(o6, a6.data.length), { bytes: s9, sha: i7, objectCount: n6.length, entries: a6.entries }; -}; -var Bf2 = async (t5, e6) => { - const n6 = Lr(e6, t5.hashConfig), a6 = n6.indexOf(0), o6 = n6.subarray(a6 + 1), i7 = await t5.compressor.deflate(o6); - return { type: jf2(e6.type), uncompressedSize: o6.length, compressedData: i7 }; -}; -var jf2 = (t5) => { - switch (t5) { - case "commit": - return bl.COMMIT; - case "tree": - return bl.TREE; - case "blob": - return bl.BLOB; - case "tag": - return bl.TAG; - } -}; -var zf2 = (t5, e6) => { - if (t5.emitted.has(e6)) return false; - if (t5.emitted.size >= t5.cap) throw new o({ code: "PACK_TOO_LARGE", objectCount: t5.emitted.size + 1, limit: t5.cap }); - return t5.emitted.add(e6), true; -}; -var Wf2 = async (t5, e6, n6) => { - let a6 = e6; - for (let e7 = 0; e7 < 16; e7 += 1) { - const e8 = await Ui2(t5, a6); - if ("tag" !== e8.type) return a6; - n6(a6), a6 = e8.data.object; - } - return a6; -}; -function Hf2(t5, e6) { - const n6 = /* @__PURE__ */ new Map(); - let a6 = 0; - const o6 = []; - return { start: (i7) => { - const s9 = n6.get(i7); - if (void 0 !== s9) return s9; - const r6 = (async () => { - await (a6 < t5 ? (a6 += 1, Promise.resolve()) : new Promise((t6) => { - o6.push(() => { - a6 += 1, t6(); - }); - })); - try { - return await e6(i7); - } finally { - (() => { - a6 -= 1; - const t6 = o6.shift(); - void 0 !== t6 && t6(); - })(); - } - })(); - return n6.set(i7, r6), r6.catch(() => { - }), r6; - }, forget: (t6) => { - n6.delete(t6); - } }; -} -var Gf2 = async (t5, e6, n6) => { +var Mh2 = async (t5, e7) => { + const n7 = await Ts2(t5, e7); + if ("commit" !== n7.type) throw Kt("commit", n7.type, e7); + return Qp(e7, n7.data, await fl2(t5)); +}; +var Ph2 = async (t5, e7, n7) => { + const a4 = Nu(e7), o5 = Nu(n7); + await md2(t5).applyRefUpdates([{ kind: "setSymbolic", name: a4, target: o5 }]); +}; +function Nh2(t5, e7, n7, a4, o5, i11) { + if (t5.type !== n7 || t5.chainDepth >= a4.maxDepth) return; + const s8 = (function(t6, e8, n8, a5, o6) { + const [i12, s9] = void 0 === n8 ? [Math.floor(t6 / 2) - e8, 1] : [n8.delta.length, n8.chainDepth + 1]; + if (!(i12 < 0)) return Math.floor(i12 * (o6 - a5) / (o6 - s9 + 1)); + })(e7.length, o5, i11, t5.chainDepth, a4.maxDepth); + if (0 === s8) return; + const r8 = Xh(t5.index, e7, s8); + return void 0 !== r8 ? void 0 !== i11 && r8.length === i11.delta.length && t5.chainDepth >= i11.chainDepth ? void 0 : { delta: r8, chainDepth: t5.chainDepth, emissionIndex: t5.emissionIndex } : void 0; +} +function Th2(t5, e7, n7) { + return { type: t5, uncompressedSize: e7.length, compressedData: n7 }; +} +function Bh2(t5, e7) { + return { type: Ql.OFS_DELTA, uncompressedSize: t5.delta.length, compressedData: e7, baseIndex: t5.emissionIndex }; +} +function Rh2(t5, e7) { + return t5.length >= e7.window; +} +function Ah2(t5, e7, n7) { + return n7.windowMemoryBudget > 0 && t5 + e7 > n7.windowMemoryBudget; +} +function _h2(t5) { + return t5.content.length + t5.index.heads.byteLength + t5.index.next.byteLength; +} +function Fh2(t5, e7, n7, a4) { + let o5 = t5, i11 = e7; + for (; o5.length > 0 && Rh2(o5, n7); ) i11 -= _h2(o5[0]), o5 = o5.slice(1); + for (; o5.length > 0 && Ah2(i11, a4, n7); ) i11 -= _h2(o5[0]), o5 = o5.slice(1); + return { window: o5, residentBytes: i11 }; +} +function Uh2(t5, e7, n7, a4) { + const o5 = { ...a4, index: Vh(a4.content) }, i11 = _h2(o5); + if (n7.windowMemoryBudget > 0 && i11 > n7.windowMemoryBudget) return { window: t5, residentBytes: e7 }; + const s8 = Fh2(t5, e7, n7, i11); + return { window: [...s8.window, o5], residentBytes: s8.residentBytes + i11 }; +} +function zh2(t5, e7, n7, a4) { + const { entry: o5 } = a4; + if (o5.type !== Ql.OFS_DELTA) return Uh2(t5.window, t5.residentBytes, e7, n7); + if (a4.chainDepth >= e7.maxDepth) return t5; + const i11 = t5.window.find((t6) => t6.emissionIndex === o5.baseIndex), s8 = (function(t6, e8) { + return { window: t6.window.filter((t7) => t7.emissionIndex !== e8.emissionIndex), residentBytes: t6.residentBytes - _h2(e8) }; + })(t5, i11); + return (function(t6, e8, n8) { + const a5 = _h2(n8), o6 = Fh2(t6.window, t6.residentBytes, e8, a5); + return { window: [...o6.window, n8], residentBytes: o6.residentBytes + a5 }; + })(Uh2(s8.window, s8.residentBytes, e7, n7), e7, i11); +} +async function jh2(t5, e7, n7, a4, o5) { + const i11 = e7.content ?? (await Bs2(t5, e7.id)).content, s8 = i11.length < 50, r8 = s8 ? void 0 : (function(t6, e8, n8, a5, o6) { + let i12; + for (let s9 = e8.length - 1; s9 >= 0; s9 -= 1) { + const r9 = Nh2(e8[s9], t6, n8, a5, o6, i12); + void 0 !== r9 && (i12 = r9); + } + return i12; + })(i11, a4.window, e7.type, o5, t5.hash.digestLength), c5 = await (async function(t6, e8, n8, a5) { + if (void 0 === a5) return { entry: Th2(e8, n8, await t6.compressor.deflate(n8)), chainDepth: 0 }; + const [o6, i12] = await Promise.all([t6.compressor.deflate(a5.delta), t6.compressor.deflate(n8)]); + return Qh(o6.length, i12.length) ? { entry: Bh2(a5, o6), chainDepth: a5.chainDepth + 1 } : { entry: Th2(e8, n8, i12), chainDepth: 0 }; + })(t5, e7.type, i11, r8), d6 = { id: e7.id, entry: c5.entry, sourceIndex: e7.sourceIndex }; + return s8 ? { result: d6, state: a4 } : { result: d6, state: zh2(a4, o5, { id: e7.id, type: e7.type, chainDepth: c5.chainDepth, content: i11, emissionIndex: n7 }, c5) }; +} +var Hh2 = async (t5, e7) => { + !(function(t6) { + let e8 = 0, n8 = 0; + for (const a5 of t6) void 0 === a5.recency ? n8 += 1 : e8 += 1; + if (e8 > 0 && n8 > 0) throw Jl("mixed-recency", e8, n8); + })(e7.objects); + const n7 = await (async function(t6, e8) { + if (true !== e8.delta) return Wh2(t6, e8.objects); + const n8 = await sr2(t6), a5 = Zh(n8.pack ?? {}); + if (!a5.enabled) return Wh2(t6, e8.objects); + const o6 = await (async function(t7, e9, n9) { + const a6 = await (async function(t8, e10) { + const n10 = (function(t9, e11, n11) { + const a7 = []; + let o8 = 0; + for (const [i14, s9] of t9.entries()) { + const t10 = e11[i14], r8 = { id: s9.id, sourceIndex: i14, type: df(t10.type), nameHash: s9.nameHash ?? 0, uncompressedSize: t10.uncompressedSize, recency: s9.recency ?? qh }, c6 = t10.content; + void 0 === c6 || o8 + c6.length > n11 ? a7.push(r8) : (o8 += c6.length, a7.push({ ...r8, content: c6 })); + } + return a7; + })(e10, await Lo2(t8, "ioBound", e10, (e11) => (async function(t9, e12) { + const n11 = Ls2(t9); + return Ns2(t9, e12, n11, () => (async function(t10, e13, n12) { + const a7 = await e13.lookup(n12); + if (void 0 === a7) { + const e14 = await Bs2(t10, n12); + return { type: e14.type, uncompressedSize: e14.content.length, content: e14.content }; + } + return (async function(t11, e14, n13, a8) { + const { header: o8, chunk: i14, headerEndInChunk: s9 } = await As2(t11, n13); + if (!Rs2(o8)) return { type: af(o8.type), uncompressedSize: o8.size }; + const r8 = await t11.compressor.inflate(i14.subarray(s9)), c6 = await (async function(t12, e15, n14, a9, o9) { + let i15 = n14, s10 = a9, r9 = 1; + for (; ; ) { + const n15 = await _s2(e15, i15, s10, o9), { header: a10 } = await As2(t12, n15); + if (!Rs2(a10)) return af(a10.type); + r9 += 1, vs2(r9), i15 = n15, s10 = a10; + } + })(t11, e14, n13, o8, a8); + return { type: c6, uncompressedSize: Uh(r8) }; + })(t10, e13, a7, n12); + })(t9, n11, e12)); + })(t8, e11.id)), t8.deltaCache.maxSize); + return [...n10].sort(Jh); + })(t7, e9); + let o7 = { window: [], residentBytes: 0 }; + const i13 = []; + for (const [e10, s9] of a6.entries()) { + const a7 = await jh2(t7, s9, e10, o7, n9); + i13.push(a7.result), o7 = a7.state; + } + return i13; + })(t6, e8.objects, a5), i12 = new Uint32Array(o6.length); + for (let t7 = 0; t7 < o6.length; t7 += 1) i12[t7] = o6[t7].sourceIndex; + return { ids: o6.map((t7) => t7.id), entries: o6.map((t7) => t7.entry), emissionOrder: i12 }; + })(t5, e7), a4 = Jg(n7.entries), o5 = await t5.hash.hash(a4.data), i11 = vt(o5), s8 = new Uint8Array(a4.data.length + o5.length); + s8.set(a4.data, 0), s8.set(o5, a4.data.length); + const c5 = t5.hash.digestLength, d6 = n7.ids.length, u6 = new Uint8Array(d6 * c5), f2 = new Uint32Array(d6), l4 = new Float64Array(d6); + for (let t6 = 0; t6 < d6; t6 += 1) { + u6.set(Ot(n7.ids[t6]), t6 * c5); + const e8 = a4.entries[t6]; + f2[t6] = e8.crc32, l4[t6] = e8.offset; + } + return { bytes: s8, sha: i11, objectCount: n7.entries.length, entries: { count: d6, digestLength: c5, oids: u6, crcValues: f2, offsets: l4 }, emissionOrder: n7.emissionOrder }; +}; +async function Wh2(t5, e7) { + const n7 = []; + for (const a5 of e7) { + const e8 = await Ts2(t5, a5.id); + n7.push(await Gh2(t5, e8)); + } + const a4 = new Uint32Array(e7.length); + for (let t6 = 0; t6 < e7.length; t6 += 1) a4[t6] = t6; + return { ids: e7.map((t6) => t6.id), entries: n7, emissionOrder: a4 }; +} +var Gh2 = async (t5, e7) => { + const n7 = Xr(e7, t5.hashConfig), a4 = n7.indexOf(0), o5 = n7.subarray(a4 + 1), i11 = await t5.compressor.deflate(o5); + return { type: df(e7.type), uncompressedSize: o5.length, compressedData: i11 }; +}; +var Kh2 = (t5, e7) => { + if (t5.emitted.has(e7)) return false; + if (t5.emitted.size >= t5.cap) throw new c({ code: "PACK_TOO_LARGE", objectCount: t5.emitted.size + 1, limit: t5.cap }); + return t5.emitted.add(e7), true; +}; +var qh2 = async (t5, e7, n7) => { + let a4 = e7; + for (let e8 = 0; e8 < 16; e8 += 1) { + const e9 = await Ts2(t5, a4); + if ("tag" !== e9.type) return a4; + n7(a4), a4 = e9.data.object; + } + return a4; +}; +var Vh2 = async (t5, e7, n7) => { try { - const a6 = await Ui2(t5, e6, { verifyHash: n6.verifyHash }); - return "commit" === a6.type ? Fm(a6, n6.shallow) : void 0; + const a4 = await Ts2(t5, e7, { verifyHash: n7.verifyHash }); + return "commit" === a4.type ? Jp(a4, n7.shallow) : void 0; } catch (t6) { - if (n6.ignoreMissing && Kf2(t6)) return void n6.missing.add(e6); + if (n7.ignoreMissing && Yh2(t6)) return void n7.missing.add(e7); throw t6; } }; -var Kf2 = (t5) => t5 instanceof o && "OBJECT_NOT_FOUND" === t5.data.code; -var qf2 = /* @__PURE__ */ new WeakMap(); -var Vf2 = /* @__PURE__ */ new WeakMap(); -function Yf2(t5) { - return t5 instanceof o && "FILE_NOT_FOUND" === t5.data.code; +var Yh2 = (t5) => t5 instanceof c && "OBJECT_NOT_FOUND" === t5.data.code; +var Xh2 = /* @__PURE__ */ new WeakMap(); +var Zh2 = /* @__PURE__ */ new WeakMap(); +function Jh2(t5) { + return t5 instanceof c && "FILE_NOT_FOUND" === t5.data.code; } -async function Xf2(t5, e6) { - if (await t5.fs.exists(e6)) try { - return await t5.fs.read(e6); +async function Qh2(t5, e7) { + if (await t5.fs.exists(e7)) try { + return await t5.fs.read(e7); } catch (t6) { - if (Yf2(t6)) return; + if (Jh2(t6)) return; throw t6; } } -function Zf2(t5) { - const e6 = []; - let n6 = 0; - for (const a6 of t5) e6.push(n6), n6 += a6.commitCount; - return e6; -} -function Jf2(t5) { - return t5 instanceof RangeError || t5 instanceof o && t5.data.code.startsWith("INVALID_COMMIT_GRAPH"); -} -function Qf2(t5, e6) { - const n6 = []; - return void 0 !== e6.parent1Pos && n6.push(e6.parent1Pos), void 0 !== e6.parent2Pos && n6.push(e6.parent2Pos), n6.push(...e6.additionalParentPositions), n6.map((e7) => { - const { layer: n7, localPos: a6 } = (function(t6, e8) { - for (let n8 = t6.layers.length - 1; n8 >= 0; n8 -= 1) { - const a7 = t6.layerOffsets[n8]; - if (e8 >= a7) return { layer: t6.layers[n8], localPos: e8 - a7 }; - } - throw kp(`parent position ${e8} out of range`); - })(t5, e7); - return (function(t6, e8) { - const n8 = t6._oidLookupOffset + e8 * t6._hashLength; - return sr.fromRaw(t6._bytes.subarray(n8, n8 + t6._hashLength)); - })(n7, a6); +function tw2(t5) { + const e7 = []; + let n7 = 0; + for (const a4 of t5) e7.push(n7), n7 += a4.commitCount; + return e7; +} +function ew2(t5) { + return t5 instanceof RangeError || t5 instanceof c && t5.data.code.startsWith("INVALID_COMMIT_GRAPH"); +} +function nw2(t5, e7) { + const n7 = []; + return void 0 !== e7.parent1Pos && n7.push(e7.parent1Pos), void 0 !== e7.parent2Pos && n7.push(e7.parent2Pos), n7.push(...e7.additionalParentPositions), n7.map((e8) => { + const { layer: n8, localPos: a4 } = (function(t6, e9) { + for (let n9 = t6.layers.length - 1; n9 >= 0; n9 -= 1) { + const a5 = t6.layerOffsets[n9]; + if (e9 >= a5) return { layer: t6.layers[n9], localPos: e9 - a5 }; + } + throw zw(`parent position ${e9} out of range`); + })(t5, e8); + return (function(t6, e9) { + const n9 = t6._oidLookupOffset + e9 * t6._hashLength; + return lr.fromRaw(t6._bytes.subarray(n9, n9 + t6._hashLength)); + })(n8, a4); }); } -async function tl2(t5, e6) { - const n6 = (function(t6) { - let e7 = Vf2.get(t6); - return void 0 === e7 && (e7 = /* @__PURE__ */ new Map(), Vf2.set(t6, e7)), e7; - })(t5), a6 = n6.get(e6); - if (void 0 !== a6) return a6; - const o6 = await (function(t6) { - let e7 = qf2.get(t6); - return void 0 === e7 && (e7 = (async function(t7) { - if (await (async (t8) => (await wu2(t8)).present)(t7)) return; - const e8 = Da2(t7); +async function aw2(t5, e7) { + const n7 = (function(t6) { + let e8 = Zh2.get(t6.session); + return void 0 === e8 && (e8 = /* @__PURE__ */ new Map(), Zh2.set(t6.session, e8)), e8; + })(t5), a4 = n7.get(e7); + if (void 0 !== a4) return a4; + const o5 = await (function(t6) { + let e8 = Xh2.get(t6.session); + return void 0 === e8 && (e8 = (async function(t7) { + if (await hl2(t7)) return; + const e9 = oo2(t7); try { - const n7 = await Xf2(t7, ((t8) => `${t8}/objects/info/commit-graph`)(e8)); - return void 0 !== n7 ? { layers: [Vp(n7)], layerOffsets: [0] } : (async function(t8, e9) { - const n8 = await (async function(t9, e10) { - if (await t9.fs.exists(e10)) try { - return await t9.fs.readUtf8(e10); + const n8 = await Qh2(t7, ko2(e9)); + return void 0 !== n8 ? { layers: [ry(n8)], layerOffsets: [0] } : (async function(t8, e10) { + const n9 = await (async function(t9, e11) { + if (await t9.fs.exists(e11)) try { + return await t9.fs.readUtf8(e11); } catch (t10) { - if (Yf2(t10)) return; + if (Jh2(t10)) return; throw t10; } - })(t8, ((t9) => `${t9}/objects/info/commit-graphs/commit-graph-chain`)(e9)); - if (void 0 === n8) return; - const a7 = (function(t9) { + })(t8, ((t9) => `${t9}/objects/info/commit-graphs/commit-graph-chain`)(e10)); + if (void 0 === n9) return; + const a5 = (function(t9) { return t9.split("\n").map((t10) => t10.trim()).filter((t10) => t10.length > 0); - })(n8); - if (0 === a7.length) return; - const o7 = []; - for (const n9 of a7) { - const a8 = await Xf2(t8, za2(e9, n9)); - if (void 0 === a8) return; - o7.push(Vp(a8)); - } - return { layers: o7, layerOffsets: Zf2(o7) }; - })(t7, e8); + })(n9); + if (0 === a5.length) return; + const o6 = []; + for (const n10 of a5) { + const a6 = await Qh2(t8, bo2(e10, n10)); + if (void 0 === a6) return; + o6.push(ry(a6)); + } + return { layers: o6, layerOffsets: tw2(o6) }; + })(t7, e9); } catch (t8) { - if (Jf2(t8)) return; + if (ew2(t8)) return; throw t8; } - })(t6), qf2.set(t6, e7), e7.catch(() => qf2.delete(t6))), e7; + })(t6), Xh2.set(t6.session, e8), e8.catch(() => Xh2.delete(t6.session))), e8; })(t5); - if (void 0 !== o6) try { - const t6 = (function(t7, e7) { - for (let n7 = 0; n7 < t7.layers.length; n7 += 1) { - const a8 = t7.layers[n7], o7 = jp(a8, e7); - if (void 0 !== o7) return { layer: a8, localPos: o7 }; + if (void 0 !== o5) try { + const t6 = (function(t7, e8) { + for (let n8 = 0; n8 < t7.layers.length; n8 += 1) { + const a6 = t7.layers[n8], o6 = ay(a6, e8); + if (void 0 !== o6) return { layer: a6, localPos: o6 }; } - })(o6, e6); + })(o5, e7); if (void 0 === t6) return; - const a7 = Kp(t6.layer, t6.localPos), i7 = { rootTree: a7.rootTree, parents: Qf2(o6, a7), committerDate: a7.committerDate, generation: a7.generation }; - return (function(t7, e7, n7, a8) { - if (!t7.has(n7) && t7.size >= 65536) for (const e8 of t7.keys()) { - t7.delete(e8); + const a5 = dy(t6.layer, t6.localPos), i11 = { rootTree: a5.rootTree, parents: nw2(o5, a5), committerDate: a5.committerDate, generation: a5.generation }; + return (function(t7, e8, n8, a6) { + if (!t7.has(n8) && t7.size >= 65536) for (const e9 of t7.keys()) { + t7.delete(e9); break; } - t7.set(n7, a8); - })(n6, 0, e6, i7), i7; - } catch (e7) { - if (Jf2(e7)) return void qf2.set(t5, Promise.resolve(void 0)); - throw e7; + t7.set(n8, a6); + })(n7, 0, e7, i11), i11; + } catch (e8) { + if (ew2(e8)) return void Xh2.set(t5.session, Promise.resolve(void 0)); + throw e8; } } -async function el2(t5, e6, n6) { - const { state: a6, bodies: o6, order: i7, ignoreMissing: s9 } = e6, r6 = a6.shallow.has(n6) ? void 0 : await tl2(t5, n6); - void 0 === r6 || s9 || il2(a6, al2(r6.parents, i7), o6); - const c6 = await o6.start(n6); - return o6.forget(n6), void 0 !== r6 && s9 && void 0 !== c6 && il2(a6, al2(r6.parents, i7), o6), { commit: c6, enqueuedFromHeader: void 0 !== r6 }; +async function ow2(t5, e7, n7) { + const { state: a4, bodies: o5, order: i11, ignoreMissing: s8 } = e7, r8 = a4.shallow.has(n7) ? void 0 : await aw2(t5, n7); + void 0 === r8 || s8 || cw2(a4, sw2(r8.parents, i11), o5); + const c5 = await o5.start(n7); + return o5.forget(n7), void 0 !== r8 && s8 && void 0 !== c5 && cw2(a4, sw2(r8.parents, i11), o5), { commit: c5, enqueuedFromHeader: void 0 !== r8 }; } -async function* nl2(t5, e6) { +async function* iw2(t5, e7) { !(function(t6) { - if (go2(t6.from)) throw E(po2); - if (vo2(t6.from)) throw E(yo2); - })(e6); - const n6 = await (async function(t6, e7) { - const n7 = e7.order ?? "topo", a7 = e7.ignoreMissing ?? false, o7 = e7.verifyHash ?? true, i8 = await pu2(t6, e7.shallow), s9 = { queue: [...e7.from], visited: /* @__PURE__ */ new Set(), missing: /* @__PURE__ */ new Set(), until: new Set(e7.until ?? []), shallow: i8 }, r6 = Hf2(t6.config?.parallelism ?? 8, (e8) => Gf2(t6, e8, { verifyHash: o7, ignoreMissing: a7, missing: s9.missing, shallow: i8 })); - for (const t7 of s9.queue) r6.start(t7); - return { state: s9, bodies: r6, order: n7, ignoreMissing: a7 }; - })(t5, e6), { state: a6, bodies: o6, order: i7 } = n6; - for (; a6.queue.length > 0; ) { - if (t5.signal?.aborted) throw I(); - const e7 = a6.queue.shift(); - if (a6.visited.has(e7) || a6.missing.has(e7) || a6.until.has(e7)) continue; - const { commit: s9, enqueuedFromHeader: r6 } = await el2(t5, n6, e7); - void 0 !== s9 && (a6.visited.add(e7), yield s9, r6 || ol2(a6, s9, i7, o6)); - } -} -function al2(t5, e6) { - return "first-parent" === e6 && t5.length > 0 ? [t5[0]] : t5; -} -function ol2(t5, e6, n6, a6) { - t5.shallow.has(e6.id) || il2(t5, al2(e6.data.parents, n6), a6); -} -function il2(t5, e6, n6) { - for (const a6 of e6) if (!(t5.visited.has(a6) || t5.missing.has(a6) || t5.until.has(a6))) { - if (t5.queue.length >= 65536) throw E("walk queue exceeds bound"); - t5.queue.push(a6), n6.start(a6); - } -} -var sl2 = async (t5, e6, n6, a6, o6, i7 = 0) => { - if (a6.has(e6)) return; - if (a6.add(e6), i7 > o6) throw Ht(i7); - if (t5.signal?.aborted) throw I(); - n6.add(e6); - const s9 = await Ui2(t5, e6); - if ("tree" === s9.type) for (const e7 of s9.entries) Ro2(e7.mode) || (Yt(e7.mode) ? await sl2(t5, e7.id, n6, a6, o6, i7 + 1) : n6.add(e7.id)); -}; -var rl2 = async (t5, e6, n6, a6, o6, i7, s9 = 0) => { - if (o6.has(e6)) return; - if (o6.add(e6), s9 > i7) throw Ht(s9); - if (t5.signal?.aborted) throw I(); - n6.has(e6) || zf2(a6, e6); - const r6 = await Ui2(t5, e6); - if ("tree" === r6.type) for (const e7 of r6.entries) Ro2(e7.mode) || (Yt(e7.mode) ? await rl2(t5, e7.id, n6, a6, o6, i7, s9 + 1) : n6.has(e7.id) || zf2(a6, e7.id)); -}; -var cl2 = async (t5, e6) => { - if (0 === e6.wants.length) return { objects: [], boundary: [] }; - const n6 = await wd2(t5), a6 = { emitted: /* @__PURE__ */ new Set(), boundary: /* @__PURE__ */ new Set(), cap: e6.maxObjects ?? ho2 }, o6 = /* @__PURE__ */ new Set(), i7 = await (async (t6, e7, n7, a7) => { - const o7 = /* @__PURE__ */ new Set(), i8 = /* @__PURE__ */ new Set(); - if (0 === e7.length) return { commits: o7, objects: i8 }; - for await (const s10 of nl2(t6, { from: e7, ignoreMissing: true })) o7.add(s10.id), i8.add(s10.id), await sl2(t6, s10.data.tree, i8, n7, a7); - return { commits: o7, objects: i8 }; - })(t5, e6.haves, o6, n6), s9 = []; - for (const n7 of e6.wants) s9.push(await Wf2(t5, n7, (t6) => { - zf2(a6, t6); + if (ui2(t6.from)) throw v(ci2); + if (fi2(t6.from)) throw v(di2); + })(e7); + const n7 = await (async function(t6, e8) { + const n8 = e8.order ?? "topo", a5 = e8.ignoreMissing ?? false, o6 = e8.verifyHash ?? false, i12 = await ll2(t6, e8.shallow), s8 = { queue: [...e8.from], visited: /* @__PURE__ */ new Set(), missing: /* @__PURE__ */ new Set(), until: new Set(e8.until ?? []), shallow: i12 }, r8 = $o2(Oo2(t6, "ioBound"), (e9) => Vh2(t6, e9, { verifyHash: o6, ignoreMissing: a5, missing: s8.missing, shallow: i12 })); + for (const t7 of s8.queue) r8.start(t7); + return { state: s8, bodies: r8, order: n8, ignoreMissing: a5 }; + })(t5, e7), { state: a4, bodies: o5, order: i11 } = n7; + for (; a4.queue.length > 0; ) { + if (t5.signal?.aborted) throw A(); + const e8 = a4.queue.shift(); + if (a4.visited.has(e8) || a4.missing.has(e8) || a4.until.has(e8)) continue; + const { commit: s8, enqueuedFromHeader: r8 } = await ow2(t5, n7, e8); + void 0 !== s8 && (a4.visited.add(e8), yield s8, r8 || rw2(a4, s8, i11, o5)); + } +} +function sw2(t5, e7) { + return "first-parent" === e7 && t5.length > 0 ? [t5[0]] : t5; +} +function rw2(t5, e7, n7, a4) { + t5.shallow.has(e7.id) || cw2(t5, sw2(e7.data.parents, n7), a4); +} +function cw2(t5, e7, n7) { + for (const a4 of e7) if (!(t5.visited.has(a4) || t5.missing.has(a4) || t5.until.has(a4))) { + if (t5.queue.length >= 65536) throw v("walk queue exceeds bound"); + t5.queue.push(a4), n7.start(a4); + } +} +var dw2 = Yg; +function uw2(t5, e7, n7) { + return Kg(dw2, t5, e7, 0 === n7); +} +function fw2(t5, e7, n7) { + Kh2(t5, e7) && t5.packInputs.push({ id: e7, nameHash: n7 }); +} +var lw2 = async (t5, e7, n7, a4, o5, i11 = 0) => { + if (a4.has(e7)) return; + if (a4.add(e7), i11 > o5) throw Xt(i11); + if (t5.signal?.aborted) throw A(); + n7.add(e7); + const s8 = await Ts2(t5, e7); + if ("tree" === s8.type) for (const e8 of s8.entries) $i2(e8.mode) || (tn(e8.mode) ? await lw2(t5, e8.id, n7, a4, o5, i11 + 1) : n7.add(e8.id)); +}; +var hw2 = async (t5, e7, n7, a4 = 0) => { + if (t5.seenTrees.has(e7)) return; + if (t5.seenTrees.add(e7), a4 > t5.maxDepth) throw Xt(a4); + if (t5.ctx.signal?.aborted) throw A(); + t5.uninteresting.has(e7) || fw2(t5.state, e7, n7); + const o5 = await Ts2(t5.ctx, e7); + if ("tree" === o5.type) for (const e8 of o5.entries) { + if ($i2(e8.mode)) continue; + const o6 = uw2(n7, e8.nameBytes, a4); + tn(e8.mode) ? await hw2(t5, e8.id, o6, a4 + 1) : t5.uninteresting.has(e8.id) || fw2(t5.state, e8.id, o6); + } +}; +var ww2 = async (t5, e7) => { + if (0 === e7.wants.length) return { objects: [], boundary: [] }; + const n7 = await Vu2(t5), a4 = { emitted: /* @__PURE__ */ new Set(), boundary: /* @__PURE__ */ new Set(), cap: e7.maxObjects ?? ii2, packInputs: [] }, o5 = /* @__PURE__ */ new Set(), i11 = await (async (t6, e8, n8, a5) => { + const o6 = /* @__PURE__ */ new Set(), i12 = /* @__PURE__ */ new Set(); + if (0 === e8.length) return { commits: o6, objects: i12 }; + for await (const s9 of iw2(t6, { from: e8, ignoreMissing: true })) o6.add(s9.id), i12.add(s9.id), await lw2(t6, s9.data.tree, i12, n8, a5); + return { commits: o6, objects: i12 }; + })(t5, e7.haves, o5, n7), s8 = []; + for (const n8 of e7.wants) s8.push(await qh2(t5, n8, (t6) => { + fw2(a4, t6, 0); })); - return await (async (t6, e7, n7, a7, o7, i8) => { - for await (const s10 of nl2(t6, { from: e7, until: [...n7.commits], ignoreMissing: true })) { - zf2(a7, s10.id), await rl2(t6, s10.data.tree, n7.objects, a7, o7, i8); - for (const t7 of s10.data.parents) n7.commits.has(t7) && a7.boundary.add(t7); - } - })(t5, s9, i7, a6, o6, n6), { objects: [...a6.emitted], boundary: [...a6.boundary] }; -}; -async function dl2(t5) { - return zr2(t5).listRefNames(); -} -var ul2 = (t5, e6) => t5.some((t6) => !(4 & (e6.get(t6.oid) ?? 0))); -var fl2 = async (t5, e6, n6) => { - const a6 = /* @__PURE__ */ new Map(), o6 = new qm(Jm), i7 = async (e7, n7) => { - var i8; - a6.set(e7, (a6.get(e7) ?? 0) | n7), o6.push({ oid: e7, date: (i8 = await t5(e7), i8?.data.committer.timestamp ?? 0), value: void 0 }); + return await (async (t6, e8, n8, a5, o6, i12) => { + const s9 = { ctx: t6, uninteresting: n8.objects, state: a5, seenTrees: o6, maxDepth: i12 }; + for await (const o7 of iw2(t6, { from: e8, until: [...n8.commits], ignoreMissing: true })) { + fw2(a5, o7.id, 0), await hw2(s9, o7.data.tree, dw2.seed); + for (const t7 of o7.data.parents) n8.commits.has(t7) && a5.boundary.add(t7); + } + })(t5, s8, i11, a4, o5, n7), { objects: a4.packInputs, boundary: [...a4.boundary] }; +}; +async function yw2(t5) { + return md2(t5).listRefNames(); +} +var pw2 = (t5, e7) => t5.some((t6) => !(4 & (e7.get(t6.oid) ?? 0))); +var mw2 = async (t5, e7, n7) => { + const a4 = /* @__PURE__ */ new Map(), o5 = new pw(ww), i11 = async (e8, n8) => { + var i12; + a4.set(e8, (a4.get(e8) ?? 0) | n8), o5.push({ oid: e8, date: (i12 = await t5(e8), i12?.data.committer.timestamp ?? 0), value: void 0 }); }; - await i7(e6, 1); - for (const t6 of n6) await i7(t6, 2); - for (; ul2(o6.entries(), a6); ) { - const { oid: e7 } = o6.pop(); - let n7 = 7 & (a6.get(e7) ?? 0); - 3 === n7 && (a6.set(e7, 8 | (a6.get(e7) ?? 0)), n7 |= 4); - const s9 = await t5(e7); - for (const t6 of s9?.data.parents ?? []) ((a6.get(t6) ?? 0) & n7) !== n7 && await i7(t6, n7); - } - return a6; -}; -var ll2 = async (t5, e6) => { - const n6 = [...new Set(e6)]; - if (n6.length <= 1) return n6; - const a6 = []; - for (const e7 of n6) { - const o6 = n6.filter((t6) => t6 !== e7); - 2 & ((await fl2(t5, e7, o6)).get(e7) ?? 0) || a6.push(e7); - } - return a6; -}; -var hl2 = async (t5, e6, n6) => { - if (0 === n6.length) return [e6]; - const a6 = ((t6) => { - const e7 = []; - for (const [n7, a7] of t6) 8 & a7 && e7.push(n7); - return e7; - })(await fl2(t5, e6, n6)); - return ll2(t5, a6); -}; -var wl2 = async (t5, e6, n6) => { - if (0 === e6.length) throw E("mergeBase requires at least one commit"); - const a6 = /* @__PURE__ */ ((t6) => { - const e7 = /* @__PURE__ */ new Map(); - return async (n7) => { - if (!e7.has(n7)) { - const a7 = await Ui2(t6, n7), o7 = await mu2(t6); - e7.set(n7, "commit" === a7.type ? Fm(a7, o7) : void 0); - } - return e7.get(n7); + await i11(e7, 1); + for (const t6 of n7) await i11(t6, 2); + for (; pw2(o5.entries(), a4); ) { + const { oid: e8 } = o5.pop(); + let n8 = 7 & (a4.get(e8) ?? 0); + 3 === n8 && (a4.set(e8, 8 | (a4.get(e8) ?? 0)), n8 |= 4); + const s8 = await t5(e8); + for (const t6 of s8?.data.parents ?? []) ((a4.get(t6) ?? 0) & n8) !== n8 && await i11(t6, n8); + } + return a4; +}; +var gw2 = async (t5, e7) => { + const n7 = [...new Set(e7)]; + if (n7.length <= 1) return n7; + const a4 = []; + for (const e8 of n7) { + const o5 = n7.filter((t6) => t6 !== e8); + 2 & ((await mw2(t5, e8, o5)).get(e8) ?? 0) || a4.push(e8); + } + return a4; +}; +var vw2 = async (t5, e7, n7) => { + if (0 === n7.length) return [e7]; + const a4 = ((t6) => { + const e8 = []; + for (const [n8, a5] of t6) 8 & a5 && e8.push(n8); + return e8; + })(await mw2(t5, e7, n7)); + return gw2(t5, a4); +}; +var kw2 = async (t5, e7, n7) => { + if (0 === e7.length) throw v("mergeBase requires at least one commit"); + const a4 = /* @__PURE__ */ ((t6) => { + const e8 = /* @__PURE__ */ new Map(); + return async (n8) => { + if (!e8.has(n8)) { + const a5 = await Ts2(t6, n8), o6 = await fl2(t6); + e8.set(n8, "commit" === a5.type ? Jp(a5, o6) : void 0); + } + return e8.get(n8); }; - })(t5), o6 = [...n6?.octopus ? await (async (t6, e7) => { - let n7 = [e7[0]]; - for (let a7 = 1; a7 < e7.length; a7 += 1) { - const o7 = []; - for (const i7 of n7) o7.push(...await hl2(t6, e7[a7], [i7])); - n7 = o7; - } - return ll2(t6, n7); - })(a6, e6) : await hl2(a6, e6[0], e6.slice(1))].sort(); - return true === n6?.all ? o6 : o6.slice(0, 1); -}; -var ml2 = async (t5, e6) => { - const n6 = await (async (t6) => (await jc2(t6, "pack", void 0, ["writeReverseIndex"]), (await Hi2(t6)).pack?.writeReverseIndex ?? true))(t5), a6 = { packPath: `${i7 = e6.packDir}/pack-${s9 = e6.packSha}.pack`, idxPath: `${i7}/pack-${s9}.idx`, promisorPath: `${i7}/pack-${s9}.promisor`, revPath: `${i7}/pack-${s9}.rev` }; - var i7, s9; - await t5.fs.mkdir(e6.packDir); - const r6 = Lh(e6.entries), c6 = await (async (t6, e7, n7, a7) => { - const i8 = yt(n7), s10 = kh(e7, i8, a7), r7 = await t6.hash.hashHex(s10), c7 = yt(r7), d5 = new Uint8Array(s10.length + c7.length); - return d5.set(s10, 0), d5.set(c7, s10.length), d5; - })(t5, e6.entries, e6.packSha, r6); - return await t5.fs.writeExclusive(a6.packPath, e6.packBytes), await t5.fs.writeExclusive(a6.idxPath, c6), e6.promisor && await ((t6, e7) => t6.fs.writeExclusive(e7, new Uint8Array(0)))(t5, a6.promisorPath), n6 && await (async (t6, e7, n7, a7, i8) => { - const s10 = await (async (t7, e8, n8, a8) => { - const i9 = yt(n8), s11 = Hh(e8, i9, a8), r7 = s11.length - i9.length, c7 = await t7.hash.hash(s11.subarray(0, r7)); - return s11.set(c7, r7), s11; - })(t6, n7, a7, i8); - await t6.fs.writeExclusive(e7, s10); - })(t5, a6.revPath, e6.entries, e6.packSha, r6), { packPath: a6.packPath, idxPath: a6.idxPath, objectCount: e6.entries.length, indexBytes: c6.length, packSha: e6.packSha }; -}; -var pl2 = new TextEncoder(); -var yl2 = /* @__PURE__ */ new Set(["side-band-64k", "side-band"]); -var gl2 = async (t5, e6, n6) => { - t5.progress.start(n6.progressOp); + })(t5), o5 = [...n7?.octopus ? await (async (t6, e8) => { + let n8 = [e8[0]]; + for (let a5 = 1; a5 < e8.length; a5 += 1) { + const o6 = []; + for (const i11 of n8) o6.push(...await vw2(t6, e8[a5], [i11])); + n8 = o6; + } + return gw2(t6, n8); + })(a4, e7) : await vw2(a4, e7[0], e7.slice(1))].sort(); + return true === n7?.all ? o5 : o5.slice(0, 1); +}; +function bw2(t5, e7, n7 = {}) { + const a4 = ((t6, e8) => void 0 !== e8.layout ? no2(e8.layout) !== no2(t6.layout) : void 0 !== e8.fs)(t5, e7) || ((t6) => void 0 !== t6.hash || void 0 !== t6.hashConfig)(e7) && true !== n7.keepSessionAcrossHashChange; + return Object.freeze({ ...t5, ...e7, session: a4 ? e2() : t5.session }); +} +function xw2(t5, e7, n7) { + let a4 = t5 > 0 ? t5 : 4; + for (; a4 < e7; ) a4 *= 2; + return Math.max(e7, Math.min(a4, n7)); +} +var Iw2 = (t5) => (t5.found ? t5.content.byteLength : 0) + 200; +var Cw2 = /* @__PURE__ */ new WeakMap(); +var Sw2 = (t5, e7) => `o:${t5}:${e7}`; +var Dw2 = (t5) => t5 === Ql.COMMIT || t5 === Ql.TREE || t5 === Ql.BLOB || t5 === Ql.TAG; +var $w2 = async (t5, e7, n7, a4, o5, i11, s8, c5) => { + if (Tw2(s8)) { + const r8 = Bw2(s8.type); + e7.setOid(o5, await Aw2(t5, r8, c5)), e7.markResolved(o5); + const d6 = { found: true, type: r8, content: c5 }; + n7.set(Sw2(a4, i11), d6, Iw2(d6)); + } else s8.type === Ql.OFS_DELTA ? e7.recordOfsDelta(o5, i11 - s8.baseDistance) : e7.recordRefDelta(o5, Ot(s8.baseId)); +}; +var Ow2 = (t5, e7, n7) => { + const a4 = [], o5 = t5.ofsChildren(e7); + for (let e8 = o5.start; e8 < o5.end; e8 += 1) a4.push(t5.ofsChildOrdinalAt(e8)); + const i11 = t5.refChildren(n7); + for (let e8 = i11.start; e8 < i11.end; e8 += 1) a4.push(t5.refChildOrdinalAt(e8)); + return a4; +}; +var Ew2 = async (t5, e7, n7, a4, o5, i11) => { + const s8 = []; + for (i11.length > 0 && s8.push({ content: a4, typeName: o5, children: i11, cursor: 0 }); s8.length > 0; ) { + const a5 = s8[s8.length - 1], o6 = a5.children[a5.cursor]; + if (a5.cursor += 1, a5.cursor >= a5.children.length && s8.pop(), n7.isResolved(o6)) continue; + const i12 = n7.offsetOf(o6), r8 = await e7.entryHeader(i12), c5 = await e7.inflateEntry(i12, r8.dataOffset, r8.size), d6 = Ch(a5.content, c5.result.output), u6 = await Aw2(t5, a5.typeName, d6); + n7.setOid(o6, u6), n7.markResolved(o6); + const f2 = Ow2(n7, i12, u6); + f2.length > 0 && s8.push({ content: d6, typeName: a5.typeName, children: f2, cursor: 0 }); + } +}; +var Lw2 = async (t5, e7, n7, a4) => { + const o5 = e7.get(Sw2(n7, a4)); + if (true === o5?.found) return o5.content; + const i11 = await t5.entryHeader(a4); + return (await t5.inflateEntry(a4, i11.dataOffset, i11.size)).result.output; +}; +var Mw2 = async (t5, e7, n7) => { + const a4 = `x:${e7}`, o5 = t5.get(a4); + if (void 0 !== o5) return o5; + const i11 = await n7(e7), s8 = void 0 === i11 ? { found: false } : { found: true, ...i11 }; + return t5.set(a4, s8, Iw2(s8)), s8; +}; +var Pw2 = async (t5, e7, a4, o5) => { + const i11 = ((t6, e8, n7) => { + const a5 = Cw2.get(t6.session); + if (void 0 !== a5 && a5.maxBytes === e8 && a5.maxEntries === n7) return a5; + const o6 = { cache: a(e8, n7), maxBytes: e8, maxEntries: n7, passId: a5?.passId ?? 0 }; + return Cw2.set(t6.session, o6), o6; + })(t5, 8388608, 65536), r8 = i11.passId; + i11.passId += 1; try { - const a6 = await kl2(t5, e6, n6); - return 0 === a6.packBytes.length ? vl2(a6.shallow, a6.unshallow) : await bl2(t5, a6, n6); + const o6 = await (async (t6, e8, a5, o7) => { + const i12 = await e8.header(), s9 = t6.config?.maxObjectsPerPack ?? 5e7; + if (i12.objectCount > s9) throw new c({ code: "PACK_TOO_LARGE", objectCount: i12.objectCount, limit: s9 }); + const r9 = e8.totalBytes - t6.hash.digestLength, c5 = (function(t7, e9) { + const n7 = Math.max(e9, 0); + let a6 = Math.min(4, n7), o8 = new Float64Array(a6), i13 = new Uint32Array(a6), s10 = new Uint8Array(a6), r10 = new Uint8Array(a6 * t7), c6 = 0, d7 = 0, u6 = Math.min(4, n7), f2 = new Int32Array(u6), l4 = new Float64Array(u6), h5 = 0, w6 = Math.min(4, n7), y5 = new Uint8Array(w6 * t7), p6 = new Int32Array(w6), m7 = 0, g7 = new Int32Array(0), v6 = new Int32Array(0); + const k6 = (t8) => o8[t8]; + return { get count() { + return c6; + }, get resolvedCount() { + return d7; + }, get refDeltaCount() { + return m7; + }, append: (e10, d8, u7) => { + ((e11) => { + if (e11 <= a6) return; + const c7 = xw2(a6, e11, n7), d9 = new Float64Array(c7); + d9.set(o8); + const u8 = new Uint32Array(c7); + u8.set(i13); + const f4 = new Uint8Array(c7); + f4.set(s10); + const l5 = new Uint8Array(c7 * t7); + l5.set(r10), o8 = d9, i13 = u8, s10 = f4, r10 = l5, a6 = c7; + })(c6 + 1); + const f3 = c6; + return o8[f3] = e10, i13[f3] = d8, s10[f3] = 7 & u7, c6 += 1, f3; + }, setOid: (e10, n8) => { + r10.set(n8, e10 * t7); + }, markResolved: (t8) => { + s10[t8] = 8 | s10[t8], d7 += 1; + }, isResolved: (t8) => !!(8 & s10[t8]), typeOf: (t8) => 7 & s10[t8], offsetOf: k6, oidRangeOf: (e10) => ({ start: e10 * t7, end: (e10 + 1) * t7 }), recordOfsDelta: (t8, e10) => { + const a7 = k6(t8); + if (e10 < tf || e10 >= a7) throw Wl(a7, "delta base offset is out of bound"); + ((t9) => { + if (t9 <= u6) return; + const e11 = xw2(u6, t9, n7), a8 = new Int32Array(e11); + a8.set(f2); + const o9 = new Float64Array(e11); + o9.set(l4), f2 = a8, l4 = o9, u6 = e11; + })(h5 + 1), f2[h5] = t8, l4[h5] = e10, h5 += 1; + }, recordRefDelta: (e10, a7) => { + ((e11) => { + if (e11 <= w6) return; + const a8 = xw2(w6, e11, n7), o9 = new Uint8Array(a8 * t7); + o9.set(y5); + const i14 = new Int32Array(a8); + i14.set(p6), y5 = o9, p6 = i14, w6 = a8; + })(m7 + 1), y5.set(a7, m7 * t7), p6[m7] = e10, m7 += 1; + }, buildChildIndexes: () => { + const e10 = new Int32Array(h5); + for (let t8 = 0; t8 < h5; t8 += 1) e10[t8] = t8; + e10.sort((t8, e11) => l4[t8] - l4[e11]), g7 = e10; + const n8 = new Int32Array(m7); + for (let t8 = 0; t8 < m7; t8 += 1) n8[t8] = t8; + const a7 = (e11) => y5.subarray(e11 * t7, (e11 + 1) * t7); + n8.sort((t8, e11) => At(a7(t8), a7(e11))), v6 = n8; + }, ofsChildren: (t8) => { + let e10 = 0, n8 = g7.length; + for (; e10 < n8; ) { + const a8 = e10 + n8 >>> 1; + l4[g7[a8]] < t8 ? e10 = a8 + 1 : n8 = a8; + } + let a7 = e10; + for (; a7 < g7.length && l4[g7[a7]] === t8; ) a7 += 1; + return { start: e10, end: a7 }; + }, ofsChildOrdinalAt: (t8) => f2[g7[t8]], refChildren: (e10) => { + const n8 = (e11) => { + const n9 = v6[e11]; + return y5.subarray(n9 * t7, (n9 + 1) * t7); + }; + let a7 = 0, o9 = v6.length; + for (; a7 < o9; ) { + const t8 = a7 + o9 >>> 1; + At(n8(t8), e10) < 0 ? a7 = t8 + 1 : o9 = t8; + } + let i14 = a7; + for (; i14 < v6.length && 0 === At(n8(i14), e10); ) i14 += 1; + return { start: a7, end: i14 }; + }, refChildOrdinalAt: (t8) => p6[v6[t8]], refDeltaOrdinalAt: (t8) => p6[t8], refDeltaBaseOidAt: (e10) => y5.subarray(e10 * t7, (e10 + 1) * t7), view: () => ({ count: c6, digestLength: t7, oids: r10, crcValues: i13, offsets: o8 }) }; + })(t6.hash.digestLength, Math.max(0, Math.floor((e8.totalBytes - tf - t6.hash.digestLength) / 9))); + let d6 = tf; + for (let n7 = 0; n7 < i12.objectCount; n7 += 1) { + const n8 = await e8.entryHeader(d6), i13 = await e8.inflateEntry(d6, n8.dataOffset, n8.size), s10 = n8.dataOffset + i13.result.bytesConsumed; + if (s10 > r9) throw Vl("entry extends past pack trailer"); + const u6 = await e8.entryCrc32(d6, s10, i13.crcContext), f2 = c5.append(d6, u6, n8.type); + await $w2(t6, c5, a5, o7, f2, d6, n8, i13.result.output), d6 = s10; + } + if (d6 !== r9) throw Vl("extra bytes between last entry and trailer"); + return c5.buildChildIndexes(), c5; + })(t5, e7, i11.cache, r8); + await (async (t6, e8, n7, a5, o7) => { + const { oids: i12 } = n7.view(); + for (let s9 = 0; s9 < n7.count; s9 += 1) { + const r9 = n7.typeOf(s9); + if (!Dw2(r9)) continue; + const c5 = n7.offsetOf(s9), d6 = n7.oidRangeOf(s9), u6 = i12.subarray(d6.start, d6.end), f2 = Ow2(n7, c5, u6); + if (f2.every((t7) => n7.isResolved(t7))) continue; + const l4 = await Lw2(e8, a5, o7, c5); + await Ew2(t6, e8, n7, l4, Bw2(r9), f2); + } + })(t5, e7, o6, i11.cache, r8), void 0 !== a4 && o6.resolvedCount < o6.count && await (async (t6, e8, n7, a5, o7) => { + for (let i12 = 0; i12 < n7.refDeltaCount; i12 += 1) { + const s9 = n7.refDeltaOrdinalAt(i12); + if (n7.isResolved(s9)) continue; + const r9 = vt(n7.refDeltaBaseOidAt(i12)), c5 = await Mw2(o7, r9, a5); + if (!c5.found) continue; + const d6 = n7.offsetOf(s9), u6 = await e8.entryHeader(d6), f2 = await e8.inflateEntry(d6, u6.dataOffset, u6.size), l4 = Ch(c5.content, f2.result.output), h5 = await Aw2(t6, c5.type, l4); + n7.setOid(s9, h5), n7.markResolved(s9); + const w6 = Ow2(n7, d6, h5); + w6.length > 0 && await Ew2(t6, e8, n7, l4, c5.type, w6); + } + })(t5, e7, o6, a4, i11.cache); + const s8 = o6.count - o6.resolvedCount; + if (s8 > 0) throw Vl(`pack has ${s8} unresolved delta${1 === s8 ? "" : "s"}`); + return o6.view(); } finally { - t5.progress.end(n6.progressOp); - } -}; -var vl2 = (t5, e6) => ({ packPath: "", idxPath: "", objectCount: 0, packSha: "", shallow: t5, unshallow: e6 }); -var bl2 = async (t5, e6, n6) => { - const a6 = await Sl2(e6.packBytes, t5), o6 = await $l2(t5, e6.packBytes); - if (0 === o6.length) return vl2(e6.shallow, e6.unshallow); - const i7 = await ml2(t5, { packDir: Fa2(Da2(t5)), packBytes: e6.packBytes, entries: o6, packSha: a6, promisor: true === n6.promisor }); - return Ri2(t5), { packPath: i7.packPath, idxPath: i7.idxPath, objectCount: i7.objectCount, packSha: i7.packSha, shallow: e6.shallow, unshallow: e6.unshallow }; -}; -var kl2 = async (t5, e6, n6) => e6(t5, n6); -var xl2 = async (t5, e6, n6) => { - const a6 = t5.config?.maxResponseBytes ?? 536870912, o6 = []; - let i7 = 0, s9 = 0; - for await (const r7 of n6) { - if (i7 + r7.byteLength > a6) throw Il2(a6); - o6.push(r7), i7 += r7.byteLength, i7 - s9 >= 65536 && (t5.progress.update(e6.progressOp, i7), s9 = i7); - } - 0 !== i7 && i7 !== s9 && t5.progress.update(e6.progressOp, i7); - const r6 = new Uint8Array(i7); - let c6 = 0; - for (const t6 of o6) r6.set(t6, c6), c6 += t6.byteLength; - return r6; -}; -var Il2 = (t5) => new o({ code: "PACK_TOO_LARGE", objectCount: 0, limit: t5 }); -var Cl2 = (t5) => t5.some((t6) => yl2.has(t6)); -var Sl2 = async (t5, e6) => { - const n6 = e6.hash.digestLength; - if (t5.length < 12 + n6) throw fl("trailer mismatch: pack too short for header + trailer"); - const a6 = t5.length - n6, o6 = t5.subarray(0, a6), i7 = t5.subarray(a6), s9 = await e6.hash.hashHex(o6), r6 = wt(i7); - if (s9 !== r6) throw fl(`trailer mismatch: expected ${s9}, got ${r6}`); - return s9; -}; -var $l2 = async (t5, e6, n6) => { - const a6 = await Dl2(t5, e6); - return (await El2(t5, a6, n6)).slice().sort((t6, e7) => t6.offset - e7.offset).map((t6) => ({ id: t6.id, crc32: t6.crc32, offset: t6.offset })); -}; -var Dl2 = async (t5, e6) => { - const n6 = Tl(e6), o6 = t5.config?.maxObjectsPerPack ?? 5e7; - if (n6.objectCount > o6) throw new o({ code: "PACK_TOO_LARGE", objectCount: n6.objectCount, limit: o6 }); - const i7 = e6.length - t5.hash.digestLength, s9 = []; - let r6 = 12; - for (let a6 = 0; a6 < n6.objectCount; a6 += 1) { - const n7 = Ol(e6, r6, t5.hashConfig), a7 = await t5.compressor.streamInflate(e6, n7.dataOffset), o7 = n7.dataOffset + a7.bytesConsumed; - if (o7 > i7) throw fl("entry extends past pack trailer"); - const c6 = Tn(e6.subarray(r6, o7)); - s9.push({ offset: r6, header: n7, inflated: a7.output, crc32: c6 }), r6 = o7; - } - if (r6 !== i7) throw fl("extra bytes between last entry and trailer"); - return s9; -}; -var El2 = async (t5, e6, n6) => { - const a6 = /* @__PURE__ */ new Map(), o6 = /* @__PURE__ */ new Map(); - let i7 = e6; - for (; i7.length > 0; ) { - const e7 = []; - let s9 = false; - for (const r6 of i7) { - const i8 = await Ml2(t5, r6, a6, o6, n6); - void 0 === i8 ? e7.push(r6) : (a6.set(i8.offset, i8), o6.set(i8.id, i8), s9 = true); - } - if (!s9) throw Ol2(e7); - i7 = e7; - } - return [...a6.values()]; -}; -var Ol2 = (t5) => { - const e6 = t5[0]; - if (void 0 === e6) return fl("unresolved deltas: empty queue (internal invariant violated)"); - const n6 = Ll2(e6.header); - return fl(void 0 !== n6 ? `unresolved REF_DELTA: base ${n6} not in pack` : `unresolved entry at offset ${e6.offset}`); -}; -var Ll2 = (t5) => { - if (!Tl2(t5) && t5.type !== bl.OFS_DELTA) return t5.baseId; -}; -var Ml2 = async (t5, e6, n6, a6, o6) => { - if (Tl2(e6.header)) { - const n7 = Nl2(e6.header.type); - return { id: await Rl2(t5, n7, e6.inflated), type: n7, content: e6.inflated, crc32: e6.crc32, offset: e6.offset }; - } - if (e6.header.type === bl.OFS_DELTA) { - const a7 = e6.offset - e6.header.baseDistance; - if (a7 < 12) throw fl(`OFS_DELTA at offset ${e6.offset} points before pack body: distance ${e6.header.baseDistance}`); - const o7 = n6.get(a7); - if (void 0 === o7) return; - return Pl2(t5, e6, o7); - } - const i7 = a6.get(e6.header.baseId); - if (void 0 !== i7) return Pl2(t5, e6, i7); - if (void 0 === o6) return; - const s9 = await o6(e6.header.baseId); - return void 0 !== s9 ? Pl2(t5, e6, { type: s9.type, content: s9.content }) : void 0; -}; -var Pl2 = async (t5, e6, n6) => { - const a6 = qf(n6.content, e6.inflated); - return { id: await Rl2(t5, n6.type, a6), type: n6.type, content: a6, crc32: e6.crc32, offset: e6.offset }; -}; -var Tl2 = (t5) => t5.type === bl.COMMIT || t5.type === bl.TREE || t5.type === bl.BLOB || t5.type === bl.TAG; -var Nl2 = (t5) => { + i11.cache.clear(); + } +}; +var Nw2 = async (t5, e7, n7, a4) => { + const o5 = await Pw2(t5, ((t6, e8) => ({ totalBytes: e8.length, header: async () => nf(e8), entryHeader: async (n8) => rf(e8, n8, t6.hashConfig), inflateEntry: async (n8, a5, o6) => ({ result: await t6.compressor.streamInflate(e8, a5, o6), crcContext: void 0 }), entryCrc32: async (t7, n8) => Nn(e8.subarray(t7, n8)) }))(t5, e7), n7), i11 = []; + for (let t6 = 0; t6 < o5.count; t6 += 1) { + const e8 = t6 * o5.digestLength; + i11.push({ id: vt(o5.oids.subarray(e8, e8 + o5.digestLength)), crc32: o5.crcValues[t6], offset: o5.offsets[t6] }); + } + return i11; +}; +var Tw2 = (t5) => t5.type === Ql.COMMIT || t5.type === Ql.TREE || t5.type === Ql.BLOB || t5.type === Ql.TAG; +var Bw2 = (t5) => { switch (t5) { - case bl.COMMIT: + case Ql.COMMIT: return "commit"; - case bl.TREE: + case Ql.TREE: return "tree"; - case bl.BLOB: + case Ql.BLOB: return "blob"; - case bl.TAG: + case Ql.TAG: return "tag"; } }; -var Rl2 = async (t5, e6, n6) => { - const a6 = pl2.encode(`${e6} ${n6.length}\0`), o6 = new Uint8Array(a6.length + n6.length); - return o6.set(a6, 0), o6.set(n6, a6.length), t5.hash.hashHex(o6); +var Rw2 = new TextEncoder(); +var Aw2 = async (t5, e7, n7) => { + const a4 = Rw2.encode(`${e7} ${n7.length}\0`), o5 = t5.hash.createHasher(); + return o5.update(a4), o5.update(n7), Ot(await o5.digestHex()); +}; +var _w2 = async (t5, e7, n7) => { + const a4 = Ot(n7), o5 = Qg(e7, a4), i11 = o5.length - t5.hash.digestLength, s8 = await t5.hash.hashHex(o5.subarray(0, i11)); + return o5.set(Ot(s8), i11), o5; +}; +var Fw2 = (t5, e7) => `${t5}/pack-${e7}.mtimes`; +var Uw2 = async (t5) => (await vu2(t5, "pack", void 0, ["writeReverseIndex"]), (await sr2(t5)).pack?.writeReverseIndex ?? true); +var zw2 = (t5, e7) => `${t5}/pack-${e7}.pack`; +var jw2 = (t5, e7) => `${t5}/pack-${e7}.idx`; +var Hw2 = (t5, e7) => ({ packPath: zw2(t5, e7), idxPath: jw2(t5, e7), promisorPath: `${t5}/pack-${e7}.promisor`, revPath: `${t5}/pack-${e7}.rev` }); +var Ww2 = async (t5, e7, n7) => { + try { + await t5.fs.writeExclusive(e7, n7); + } catch (a4) { + if ("FILE_EXISTS" !== to2(a4)) throw a4; + const o5 = await t5.fs.stat(e7); + if (!o5.isFile || o5.size !== n7.length) throw O(e7); + if (!xt(await t5.fs.read(e7), n7)) throw O(e7); + } +}; +var Gw2 = async (t5, e7) => { + try { + await t5.fs.writeExclusive(e7, new Uint8Array(0)); + } catch (t6) { + if ("FILE_EXISTS" !== to2(t6)) throw t6; + } +}; +var Kw2 = async (t5, e7, n7, a4) => { + const o5 = await (async (t6, e8, n8) => { + const a5 = Ot(n8), o6 = Tg(e8, a5), i11 = o6.length - a5.length, s8 = await t6.hash.hash(o6.subarray(0, i11)); + return o6.set(s8, i11), o6; + })(t5, n7, a4); + await Ww2(t5, e7, o5); +}; +var qw2 = async (t5, e7, n7) => { + const a4 = Hw2(e7.packDir, e7.packSha); + await t5.fs.mkdir(e7.packDir); + const o5 = vh(e7.entries), i11 = await _w2(t5, o5, e7.packSha); + return await Ww2(t5, a4.idxPath, i11), e7.promisor && await Gw2(t5, a4.promisorPath), n7 && await Kw2(t5, a4.revPath, o5, e7.packSha), { packPath: a4.packPath, idxPath: a4.idxPath, objectCount: e7.entries.count, indexBytes: i11.length, packSha: e7.packSha, sorted: o5 }; +}; +var Vw2 = async (t5, e7) => { + const n7 = await Uw2(t5), a4 = zw2(e7.packDir, e7.packSha); + return await Ww2(t5, a4, e7.packBytes), await qw2(t5, e7, n7); +}; +var Yw2 = () => { + let t5 = ""; + for (let e7 = 0; e7 < 6; e7 += 1) t5 += "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(62 * Math.random())]; + return t5; +}; +var Xw2 = async (t5, e7, n7) => { + const a4 = t5.fs.atomicRename ?? t5.fs.rename; + await a4(e7, n7); +}; +async function Zw2(t5, e7) { + try { + await t5.fs.rm(e7); + } catch (t6) { + if (!(function(t7) { + return "FILE_NOT_FOUND" === to2(t7); + })(t6)) throw t6; + } +} +var Jw2 = async (t5, e7) => { + const n7 = await Uw2(t5), a4 = Hw2(e7.packDir, e7.packSha); + await t5.fs.mkdir(e7.packDir); + const o5 = vh(e7.entries), i11 = await _w2(t5, o5, e7.packSha), s8 = `${e7.packDir}/tmp_pack_${Yw2()}`, r8 = `${e7.packDir}/tmp_idx_${Yw2()}`, c5 = { pack: false, idx: false }; + try { + await t5.fs.writeExclusive(s8, e7.packBytes), await t5.fs.writeExclusive(r8, i11), await Xw2(t5, s8, a4.packPath), c5.pack = true, await Xw2(t5, r8, a4.idxPath), c5.idx = true; + } finally { + c5.pack || await Zw2(t5, s8), c5.idx || await Zw2(t5, r8); + } + return e7.promisor && (await Zw2(t5, a4.promisorPath), await Gw2(t5, a4.promisorPath)), n7 && (await Zw2(t5, a4.revPath), await Kw2(t5, a4.revPath, o5, e7.packSha)), { packPath: a4.packPath, idxPath: a4.idxPath, objectCount: e7.entries.count, indexBytes: i11.length, packSha: e7.packSha, sorted: o5 }; +}; +var Qw2 = /* @__PURE__ */ new Set(["side-band-64k", "side-band"]); +var ty2 = "tmp_pack_"; +var ey2 = async (t5, e7, n7) => { + t5.progress.start(n7.progressOp); + try { + const a4 = await cy2(t5, e7, n7); + return await ny2(t5, a4, n7); + } finally { + t5.progress.end(n7.progressOp); + } +}; +var ny2 = async (t5, e7, n7) => { + const a4 = yo2(oo2(t5)), o5 = await ay2(t5, n7, a4, e7.packBody); + if (void 0 === o5) return { packPath: "", idxPath: "", objectCount: 0, packSha: "", shallow: e7.shallow, unshallow: e7.unshallow }; + const { receipt: i11, entries: s8 } = o5; + await sy2(t5, i11, zw2(a4, i11.packSha)); + const r8 = await (async (t6, e8) => await qw2(t6, e8, await Uw2(t6)))(t5, { packDir: a4, entries: s8, packSha: i11.packSha, promisor: true === n7.promisor }); + return Ms2(t5), oy2(r8, e7); +}; +var ay2 = async (t5, e7, n7, a4) => { + const o5 = await hy2(t5, e7, n7, a4); + if (0 === o5.totalBytes) return; + const i11 = await (async (t6, e8, n8, a5) => { + try { + return await Pw2(t6, ((t7, e9, n9) => { + const a6 = n9 - t7.hash.digestLength; + let o6; + const i12 = async (n10, a7) => { + const i13 = { start: n10, bytes: await t7.fs.readSlice(e9, n10, a7) }; + return o6 = i13, i13; + }, s8 = (t8) => Math.min(262144, Math.max(0, a6 - t8)), r8 = async (t8, e10, n10, o7, r9, c6) => { + if (!((t9) => { + const e11 = ((t10) => { + if ("object" != typeof t10 || null === t10) return; + const e12 = t10.data; + return "string" == typeof e12?.reason ? e12.reason : void 0; + })(t9); + if (void 0 === e11) return false; + switch (to2(t9)) { + case "INVALID_PACK_ENTRY": + return e11.startsWith("unexpected end of"); + case "DECOMPRESS_FAILED": + return "unexpected end of deflate stream" === e11; + default: + return false; + } + })(t8)) throw t8; + if (e10.start + e10.bytes.length >= a6) throw t8; + const d6 = ((t9, e11, n11) => 0 === t9 ? s8(e11) : Math.min(2 * t9, a6 - e11, n11))(o7, n10, c6), u6 = await i12(n10, d6); + if (void 0 !== r9 && u6.bytes.length <= r9) throw t8; + return { w: u6, rung: d6, deliveredAtAnchor: u6.bytes.length }; + }, c5 = async (t8, e10, n10) => { + let a7 = await (async (t9) => void 0 !== o6 && t9 >= o6.start && t9 < o6.start + o6.bytes.length ? o6 : i12(t9, s8(t9)))(t8); + const c6 = s8(t8); + let d6 = ((t9, e11, n11) => t9.start === e11 && t9.bytes.length === n11)(a7, t8, c6) ? c6 : 0, u6 = ((t9, e11) => t9.start === e11)(a7, t8) ? a7.bytes.length : void 0; + for (; ; ) try { + return await n10(a7); + } catch (n11) { + ({ w: a7, rung: d6, deliveredAtAnchor: u6 } = await r8(n11, a7, t8, d6, u6, e10)); + } + }; + return { totalBytes: n9, header: async () => nf(await t7.fs.readSlice(e9, 0, tf)), entryHeader: (e10) => c5(e10, 2 * s8(e10), (n10) => { + try { + const a7 = rf(n10.bytes, e10 - n10.start, t7.hashConfig); + return { ...a7, dataOffset: a7.dataOffset + n10.start }; + } catch (t8) { + throw ((t9, e11) => { + if ("INVALID_PACK_ENTRY" !== to2(t9)) return t9; + const n11 = t9.data; + return Wl(n11.offset + e11, n11.reason); + })(t8, n10.start); + } + }), inflateEntry: (e10, n10, a7) => c5(e10, ((t8, e11) => Math.max(s8(t8), e11 + Math.ceil(e11 / 64) + 4096))(e10, a7), async (e11) => ({ result: await t7.compressor.streamInflate(e11.bytes, n10 - e11.start, a7), crcContext: e11 })), entryCrc32: async (t8, e10, n10) => Nn(n10.bytes.subarray(t8 - n10.start, e10 - n10.start)) }; + })(t6, e8, n8), void 0); + } catch (t7) { + throw await a5(e8), t7; + } + })(t5, o5.tmpPath, o5.totalBytes, (e8) => fy2(t5, e8)); + if (i11.count > 0) return { receipt: o5, entries: i11 }; + await fy2(t5, o5.tmpPath); +}; +var oy2 = (t5, e7) => ({ packPath: t5.packPath, idxPath: t5.idxPath, objectCount: t5.objectCount, packSha: t5.packSha, shallow: e7.shallow, unshallow: e7.unshallow }); +var iy2 = 1 << 20; +var sy2 = async (t5, e7, n7) => { + if (!await t5.fs.exists(n7)) return void await ry2(t5, e7.tmpPath, n7); + let a4; + try { + a4 = await (async (t6, e8, n8) => { + const a5 = (await t6.fs.stat(e8)).size, o5 = await t6.fs.stat(n8); + if (!o5.isFile || o5.size !== a5) return false; + for (let o6 = 0; o6 < a5; o6 += iy2) { + const i11 = Math.min(iy2, a5 - o6), [s8, r8] = await Promise.all([t6.fs.readSlice(e8, o6, i11), t6.fs.readSlice(n8, o6, i11)]); + if (!xt(s8, r8)) return false; + } + return true; + })(t5, e7.tmpPath, n7); + } finally { + await fy2(t5, e7.tmpPath); + } + if (!a4) throw O(n7); +}; +var ry2 = async (t5, e7, n7) => { + try { + await ly2(t5, e7, n7); + } catch (n8) { + throw await fy2(t5, e7), n8; + } +}; +var cy2 = async (t5, e7, n7) => e7(t5, n7); +var dy2 = () => { + let t5 = ""; + for (let e7 = 0; e7 < 6; e7 += 1) t5 += "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"[Math.floor(62 * Math.random())]; + return `${ty2}${t5}`; +}; +var uy2 = (t5, e7) => { + const n7 = new Uint8Array(t5.length + e7.length); + return n7.set(t5, 0), n7.set(e7, t5.length), n7; }; -var _l2 = (t5) => { - if (t5.signal?.aborted) throw I(); +var fy2 = (t5, e7) => (async (t6, e8) => { + try { + await t6.fs.rm(e8); + } catch (t7) { + if ("FILE_NOT_FOUND" === to2(t7)) return; + throw t7; + } +})(t5, e7).catch(() => { +}); +var ly2 = async (t5, e7, n7) => { + await t5.fs.rename(e7, n7); }; -var Fl2 = async (t5, e6, n6) => { +var hy2 = async (t5, e7, n7, a4) => { + const o5 = t5.config?.maxResponseBytes ?? 536870912, i11 = t5.hash.digestLength, s8 = t5.hash.createHasher(), r8 = await (async (t6, e8) => { + for (let n8 = 0; n8 < 8; n8 += 1) { + const n9 = `${e8}/${dy2()}`; + try { + return await t6.fs.writeExclusive(n9, new Uint8Array(0)), n9; + } catch (t7) { + if ("FILE_EXISTS" !== to2(t7)) throw t7; + } + } + throw h(`${e8}/${ty2}`); + })(t5, n7); + let c5 = 0, d6 = 0, u6 = new Uint8Array(0); + try { + await t5.fs.writeStream(r8, (async function* () { + for await (const n8 of a4) { + if (c5 += n8.byteLength, c5 > o5) throw wy2(o5); + const a5 = uy2(u6, n8); + if (a5.length > i11) { + const t6 = a5.length - i11; + s8.update(a5.subarray(0, t6)), u6 = a5.slice(t6); + } else u6 = a5; + c5 - d6 >= 65536 && (t5.progress.update(e7.progressOp, c5), d6 = c5), yield n8; + } + })()); + } catch (e8) { + throw await fy2(t5, r8), e8; + } + if (0 !== c5 && c5 !== d6 && t5.progress.update(e7.progressOp, c5), 0 === c5) return await fy2(t5, r8), { tmpPath: r8, totalBytes: 0, packSha: "" }; + if (c5 < tf + i11) throw await fy2(t5, r8), Vl("trailer mismatch: pack too short for header + trailer"); + const f2 = await s8.digestHex(), l4 = vt(u6); + if (f2 !== l4) throw await fy2(t5, r8), Vl(`trailer mismatch: expected ${f2}, got ${l4}`); + return { tmpPath: r8, totalBytes: c5, packSha: f2 }; +}; +var wy2 = (t5) => new c({ code: "PACK_TOO_LARGE", objectCount: 0, limit: t5 }); +var yy2 = (t5) => t5.some((t6) => Qw2.has(t6)); +var py2 = async (t5, e7) => { + const n7 = e7.hash.digestLength; + if (t5.length < tf + n7) throw Vl("trailer mismatch: pack too short for header + trailer"); + const a4 = t5.length - n7, o5 = t5.subarray(0, a4), i11 = t5.subarray(a4), s8 = await e7.hash.hashHex(o5), r8 = vt(i11); + if (s8 !== r8) throw Vl(`trailer mismatch: expected ${s8}, got ${r8}`); + return s8; +}; +var my2 = (t5) => { + if (t5.signal?.aborted) throw A(); +}; +var gy2 = async (t5, e7, a4) => { try { - return ((t6, e7, n7) => ({ ok: true, id: e7, type: n7.type, size: Ur(n7, t6.hashConfig), object: n7 }))(t5, e6, await Ui2(t5, e6, n6)); + return ((t6, e8, n7) => ({ ok: true, id: e8, type: n7.type, size: Zr(n7, t6.hashConfig), object: n7 }))(t5, e7, await Ts2(t5, e7, a4)); } catch (t6) { - if (((t7) => t7 instanceof o && "OBJECT_NOT_FOUND" === t7.data.code)(t6)) return /* @__PURE__ */ ((t7) => ({ ok: false, id: t7, reason: "missing" }))(e6); + if (((t7) => t7 instanceof c && "OBJECT_NOT_FOUND" === t7.data.code)(t6)) return /* @__PURE__ */ ((t7) => ({ ok: false, id: t7, reason: "missing" }))(e7); throw t6; } }; -async function* Ul2(t5, e6, n6) { - const a6 = void 0 === n6?.maxBytes ? void 0 : { maxBytes: n6.maxBytes }; - for await (const n7 of e6) { - _l2(t5); - const e7 = await Fl2(t5, n7, a6); - yield e7, _l2(t5); +async function* vy2(t5, e7, n7) { + const a4 = void 0 === n7?.maxBytes ? void 0 : { maxBytes: n7.maxBytes }; + for await (const n8 of e7) { + my2(t5); + const e8 = await gy2(t5, n8, a4); + yield e8, my2(t5); } } -var Al2 = async (t5, e6, n6, a6) => { - const o6 = await Xi2(t5, e6, n6, a6); - if (void 0 !== o6) throw ye(o6.key, o6.source, o6.line); +var ky2 = async (t5, e7, n7, a4) => { + const o5 = await lr2(t5, e7, n7, a4); + if (void 0 !== o5) throw ve(o5.key, o5.source, o5.line); }; -var Bl2 = (t5, e6) => { - const n6 = `${Sa2(e6)}/hooks`; - return void 0 === t5 ? n6 : "" === t5 ? `${Sa2(e6)}/.tsgit-no-hooks` : t5.startsWith("~/") ? void 0 === e6.homeDir ? n6 : `${e6.homeDir}/${t5.slice(2)}` : (a6 = t5).startsWith("/") || /^[A-Za-z]:[\\/]/.test(a6) ? t5 : bc2(e6.workDir ?? e6.gitDir, t5); - var a6; +var by2 = (t5, e7) => { + const n7 = `${no2(e7)}/hooks`; + return void 0 === t5 ? n7 : "" === t5 ? `${no2(e7)}/.tsgit-no-hooks` : t5.startsWith("~/") ? void 0 === e7.homeDir ? n7 : `${e7.homeDir}/${t5.slice(2)}` : (a4 = t5).startsWith("/") || /^[A-Za-z]:[\\/]/.test(a4) ? t5 : Jd2(e7.workDir ?? e7.gitDir, t5); + var a4; }; -var jl2 = async (t5, e6, n6) => { - const a6 = t5.hooks; - if (void 0 === a6) return; - await Al2(t5, "core", void 0, ["hookspath"]); - const o6 = await Hi2(t5), i7 = { name: e6, hooksDir: Bl2(o6.core?.hooksPath, t5.layout), workDir: $a2(t5.layout), gitDir: t5.layout.gitDir, args: n6.args ?? [], stdin: n6.stdin ?? "", ...void 0 !== t5.signal ? { signal: t5.signal } : {} }; - return a6.run(i7); +var xy2 = async (t5, e7, n7) => { + const a4 = t5.hooks; + if (void 0 === a4) return; + await ky2(t5, "core", void 0, ["hookspath"]); + const o5 = await sr2(t5), i11 = { name: e7, hooksDir: by2(o5.core?.hooksPath, t5.layout), workDir: ao2(t5.layout), gitDir: t5.layout.gitDir, args: n7.args ?? [], stdin: n7.stdin ?? "", ...void 0 !== t5.signal ? { signal: t5.signal } : {} }; + return a4.run(i11); }; -var zl2 = async (t5, e6, n6 = {}) => { - const a6 = await jl2(t5, e6, n6); - if (void 0 !== a6 && "skipped" !== a6.kind && 0 !== a6.exitCode) throw fe(e6, a6.exitCode, a6.stderr); +var Iy2 = async (t5, e7, n7 = {}) => { + const a4 = await xy2(t5, e7, n7); + if (void 0 !== a4 && "skipped" !== a4.kind && 0 !== a4.exitCode) throw we(e7, a4.exitCode, a4.stderr); }; -var Wl2 = async (t5, e6, n6 = {}) => { - await jl2(t5, e6, n6); +var Cy2 = async (t5, e7, n7 = {}) => { + await xy2(t5, e7, n7); }; -async function Hl2(t5, e6) { - if (e6.length > Xn) throw Vt(e6.length, Xn); - return qd2(t5, { type: "tree", id: "", entries: e6 }); +async function Sy2(t5, e7) { + if (e7.length > tr) throw qt(e7.length, tr); + return Rf2(t5, { type: "tree", id: "", entries: e7 }); } -var Gl2 = (t5, e6) => { - let n6 = 0; - for (const e7 of t5) "/" === e7 && (n6 += 1); - if (n6 > e6) throw Ht(n6); +var Dy2 = (t5, e7) => { + let n7 = 0; + for (const e8 of t5) "/" === e8 && (n7 += 1); + if (n7 > e7) throw Xt(n7); }; -var Kl2 = (t5) => { - const e6 = [], n6 = /* @__PURE__ */ new Map(); - for (const a6 of t5) { - const t6 = a6.path.indexOf("/"); +var $y2 = (t5) => { + const e7 = [], n7 = /* @__PURE__ */ new Map(); + for (const a4 of t5) { + const t6 = a4.path.indexOf("/"); if (-1 === t6) { - e6.push(a6); + e7.push(a4); continue; } - const o6 = a6.path.slice(0, t6), i7 = a6.path.slice(t6 + 1), s9 = n6.get(o6), r6 = { path: i7, id: a6.id, mode: a6.mode }; - void 0 === s9 ? n6.set(o6, [r6]) : s9.push(r6); - } - return { files: e6, subdirs: n6 }; -}; -var ql2 = (t5) => t5.map((t6) => ({ name: t6.path, id: t6.id, mode: t6.mode })); -var Vl2 = async (t5, e6) => { - const n6 = ((t6, e7) => { - const n7 = []; - for (const a6 of t6) 0 === a6.flags.stage && (to(a6.path, Qr, a6.mode), Gl2(a6.path, e7), n7.push({ path: a6.path, id: a6.id, mode: a6.mode })); - return n7; - })(e6, await wd2(t5)); - return (async (t6, e7) => { - const { rootFiles: n7, frames: a6 } = e7, o6 = ql2(n7), i7 = a6.map((t7) => ql2(t7.files)); - for (let e8 = a6.length - 1; e8 >= 0; e8 -= 1) { - const n8 = a6[e8], s9 = await Hl2(t6, i7[e8]); - (-1 === n8.parentIndex ? o6 : i7[n8.parentIndex]).push({ name: n8.name, id: s9, mode: Wt.DIRECTORY }); - } - return Hl2(t6, o6); + const o5 = a4.path.slice(0, t6), i11 = a4.path.slice(t6 + 1), s8 = n7.get(o5), r8 = { path: i11, id: a4.id, mode: a4.mode }; + void 0 === s8 ? n7.set(o5, [r8]) : s8.push(r8); + } + return { files: e7, subdirs: n7 }; +}; +var Oy2 = (t5) => t5.map((t6) => Vr(t6.mode, t6.path, t6.id)); +var Ey2 = async (t5, e7) => { + const n7 = ((t6, e8) => { + const n8 = []; + for (const a4 of t6) 0 === a4.flags.stage && (bo(a4.path, wo, a4.mode), Dy2(a4.path, e8), n8.push({ path: a4.path, id: a4.id, mode: a4.mode })); + return n8; + })(e7, await Vu2(t5)); + return (async (t6, e8) => { + const { rootFiles: n8, frames: a4 } = e8, o5 = Oy2(n8), i11 = a4.map((t7) => Oy2(t7.files)); + for (let e9 = a4.length - 1; e9 >= 0; e9 -= 1) { + const n9 = a4[e9], s8 = await Sy2(t6, i11[e9]); + (-1 === n9.parentIndex ? o5 : i11[n9.parentIndex]).push(Vr(Qt.DIRECTORY, n9.name, s8)); + } + return Sy2(t6, o5); })(t5, ((t6) => { - const { files: e7, subdirs: n7 } = Kl2(t6), a6 = [], o6 = []; - for (const [t7, e8] of n7) o6.push({ name: t7, entries: e8, parentIndex: -1 }); - for (; o6.length > 0; ) { - const { name: t7, entries: e8, parentIndex: n8 } = o6.pop(), { files: i7, subdirs: s9 } = Kl2(e8), r6 = a6.length; - a6.push({ name: t7, files: i7, parentIndex: n8 }); - for (const [t8, e9] of s9) o6.push({ name: t8, entries: e9, parentIndex: r6 }); - } - return { rootFiles: e7, frames: a6 }; - })(n6)); -}; -var Yl2 = { kind: "text" }; -var Xl2 = { kind: "union" }; -var Zl2 = { kind: "binary" }; -var Jl2 = (t5, e6) => false === e6 ? Promise.resolve(Zl2) : true === e6 || "unspecified" === e6 ? Promise.resolve(Yl2) : (async (t6, e7) => { - const n6 = (await Hi2(t6)).merge?.get(e7); - return void 0 !== n6?.driver ? void 0 === n6.name ? { kind: "external", command: n6.driver } : { kind: "external", command: n6.driver, name: n6.name } : void 0 === n6 || void 0 === n6.name && void 0 === n6.recursive ? "binary" === e7 ? Zl2 : "union" === e7 ? Xl2 : Yl2 : { kind: "missing-command", name: e7 }; -})(t5, e6.set); -var Ql2 = new Uint8Array(0); -var th2 = (t5, e6 = Gi) => { - let n6, a6; - return async (o6) => { - await (a6 ??= (async (t6, e7, n7, { requireSubsection: a7 = false } = {}) => { - const { tokens: o7, source: i8 } = await Gi2(t6), s10 = new Set(n7.map((t7) => t7.toLowerCase())), r7 = e7.toLowerCase(); - let c7, d6 = false; - for (const t7 of o7) { + const { files: e8, subdirs: n8 } = $y2(t6), a4 = [], o5 = []; + for (const [t7, e9] of n8) o5.push({ name: t7, entries: e9, parentIndex: -1 }); + for (; o5.length > 0; ) { + const { name: t7, entries: e9, parentIndex: n9 } = o5.pop(), { files: i11, subdirs: s8 } = $y2(e9), r8 = a4.length; + a4.push({ name: t7, files: i11, parentIndex: n9 }); + for (const [t8, e10] of s8) o5.push({ name: t8, entries: e10, parentIndex: r8 }); + } + return { rootFiles: e8, frames: a4 }; + })(n7)); +}; +var Ly2 = { kind: "text" }; +var My2 = { kind: "union" }; +var Py2 = { kind: "binary" }; +var Ny2 = (t5, e7) => false === e7 ? Promise.resolve(Py2) : true === e7 || "unspecified" === e7 ? Promise.resolve(Ly2) : (async (t6, e8) => { + const n7 = (await sr2(t6)).merge?.get(e8); + return void 0 !== n7?.driver ? void 0 === n7.name ? { kind: "external", command: n7.driver } : { kind: "external", command: n7.driver, name: n7.name } : void 0 === n7 || void 0 === n7.name && void 0 === n7.recursive ? "binary" === e8 ? Py2 : "union" === e8 ? My2 : Ly2 : { kind: "missing-command", name: e8 }; +})(t5, e7.set); +var Ty2 = new Uint8Array(0); +var By2 = (t5, e7 = ca) => { + let n7, a4; + return async (o5) => { + await (a4 ??= (async (t6, e8, n8, { requireSubsection: a5 = false } = {}) => { + const { tokens: o6, source: i12 } = await rr2(t6), s9 = new Set(n8.map((t7) => t7.toLowerCase())), r9 = e8.toLowerCase(); + let c6, d7 = false; + for (const t7 of o6) { if ("header" === t7.kind) { - d6 = t7.section.toLowerCase() === r7, c7 = t7.subsection; + d7 = t7.section.toLowerCase() === r9, c6 = t7.subsection; continue; } - if (!d6 || "entry" !== t7.kind || null !== t7.value) continue; - if (a7 && void 0 === c7) continue; - const e8 = t7.key.toLowerCase(); - if (s10.has(e8)) return { key: void 0 === c7 ? `${r7}.${e8}` : `${r7}.${c7}.${e8}`, source: i8, line: t7.startLine + 1 }; + if (!d7 || "entry" !== t7.kind || null !== t7.value) continue; + if (a5 && void 0 === c6) continue; + const e9 = t7.key.toLowerCase(); + if (s9.has(e9)) return { key: void 0 === c6 ? `${r9}.${e9}` : `${r9}.${c6}.${e9}`, source: i12, line: t7.startLine + 1 }; } })(t5, "merge", ["driver", "name", "recursive"], { requireSubsection: true }).then((t6) => { - if (void 0 !== t6) throw ye(t6.key, t6.source, t6.line); + if (void 0 !== t6) throw ve(t6.key, t6.source, t6.line); })); - const [i7, s9, r6] = await Promise.all([Bc2(t5, o6.ourId, { maxBytes: xi }), Bc2(t5, o6.theirId, { maxBytes: xi }), void 0 !== o6.baseId ? Bc2(t5, o6.baseId, { maxBytes: xi }) : Promise.resolve(void 0)]), { driver: c6, markerSize: d5 } = await (async (t6, e7, n7) => { - const { sources: a7, macros: o7 } = await e7.sourcesForPath(n7); - return { driver: await Jl2(t6, Am(a7, n7, "merge", o7)), markerSize: fm(Am(a7, n7, "conflict-marker-size", o7)) }; - })(t5, await (n6 ??= Dc2(t5)), o6.path); - if ("missing-command" === c6.kind) throw Ee(c6.name); - return "binary" === c6.kind ? { status: "conflict", conflictType: "binary", markedBytes: i7.content } : "external" === c6.kind && void 0 !== t5.command ? (async (t6, e7, n7) => { - const { gitDir: a7 } = t6.layout, o7 = `${a7}/MERGE_DRIVER_O`, i8 = `${a7}/MERGE_DRIVER_A`, s10 = `${a7}/MERGE_DRIVER_B`; - await Promise.all([t6.fs.write(o7, n7.base ?? Ql2), t6.fs.write(i8, n7.ours), t6.fs.write(s10, n7.theirs)]); + const [i11, s8, r8] = await Promise.all([gu2(t5, o5.ourId, { maxBytes: Xi }), gu2(t5, o5.theirId, { maxBytes: Xi }), void 0 !== o5.baseId ? gu2(t5, o5.baseId, { maxBytes: Xi }) : Promise.resolve(void 0)]), { driver: c5, markerSize: d6 } = await (async (t6, e8, n8) => { + const { sources: a5, macros: o6 } = await e8.sourcesForPath(n8); + return { driver: await Ny2(t6, Pp(a5, n8, "merge", o6)), markerSize: vp(Pp(a5, n8, "conflict-marker-size", o6)) }; + })(t5, await (n7 ??= iu2(t5)), o5.path); + if ("missing-command" === c5.kind) throw Oe(c5.name); + return "binary" === c5.kind ? { status: "conflict", conflictType: "binary", markedBytes: i11.content } : "external" === c5.kind && void 0 !== t5.command ? (async (t6, e8, n8) => { + const { gitDir: a5 } = t6.layout, o6 = `${a5}/MERGE_DRIVER_O`, i12 = `${a5}/MERGE_DRIVER_A`, s9 = `${a5}/MERGE_DRIVER_B`; + await Promise.all([t6.fs.write(o6, n8.base ?? Ty2), t6.fs.write(i12, n8.ours), t6.fs.write(s9, n8.theirs)]); try { - const r7 = gm(n7.command, { O: o7, A: i8, B: s10, L: String(n7.markerSize), P: n7.path, S: n7.labels.base, X: n7.labels.ours, Y: n7.labels.theirs }), { exitCode: c7 } = await e7.run({ command: r7, cwd: $a2(t6.layout), env: { GIT_DIR: a7 }, ...void 0 !== t6.signal ? { signal: t6.signal } : {} }), d6 = await t6.fs.read(i8); - return 0 === c7 ? { status: "clean", bytes: d6 } : { status: "conflict", conflictType: "content", markedBytes: d6 }; + const r9 = Tp(n8.command, { O: o6, A: i12, B: s9, L: String(n8.markerSize), P: n8.path, S: n8.labels.base, X: n8.labels.ours, Y: n8.labels.theirs }), { exitCode: c6 } = await e8.run({ command: r9, cwd: ao2(t6.layout), env: { GIT_DIR: a5 }, ...void 0 !== t6.signal ? { signal: t6.signal } : {} }), d7 = await t6.fs.read(i12); + return 0 === c6 ? { status: "clean", bytes: d7 } : { status: "conflict", conflictType: "content", markedBytes: d7 }; } finally { - await Promise.all([t6.fs.rm(o7), t6.fs.rm(i8), t6.fs.rm(s10)]); + await Promise.all([t6.fs.rm(o6), t6.fs.rm(i12), t6.fs.rm(s9)]); } - })(t5, t5.command, { command: c6.command, base: r6?.content, ours: i7.content, theirs: s9.content, path: o6.path, markerSize: d5, labels: e6 }) : Zi(r6?.content, i7.content, s9.content, { favor: "union" === c6.kind ? "union" : "none", markerSize: d5, labels: { ours: e6.ours, theirs: e6.theirs } }); + })(t5, t5.command, { command: c5.command, base: r8?.content, ours: i11.content, theirs: s8.content, path: o5.path, markerSize: d6, labels: e7 }) : ya(r8?.content, i11.content, s8.content, { favor: "union" === c5.kind ? "union" : "none", markerSize: d6, labels: { ours: e7.ours, theirs: e7.theirs } }); }; }; -var eh2 = (t5) => "unchanged" !== t5 && "absent" !== t5; -var nh2 = new TextEncoder(); -var ah2 = async (t5, e6, n6, a6, o6) => { - const i7 = bc2(wc2(t5, "compareWorkingTreeEntry"), e6.path), s9 = o6?.sampled(e6.path), r6 = s9 ?? await t5.fs.lstat(i7).catch(() => { +var Ry2 = (t5) => "unchanged" !== t5 && "absent" !== t5; +var Ay2 = new TextEncoder(); +var _y2 = async (t5, e7, n7, a4) => { + const o5 = Jd2(Kd2(t5, "compareWorkingTreeEntry"), e7.path), i11 = await t5.fs.lstat(o5).catch(() => { }); - if (void 0 === r6) return { status: "absent" }; - void 0 === s9 && o6?.record(e6.path, r6); - const c6 = nn(r6), d5 = ((t6, e7, n7, a7) => { - if (t6.mode !== Wt.GITLINK) { - if (!po(n7, t6.mode)) return { status: "type-changed", worktreeMode: n7 }; - if (void 0 !== a7) return Ud2(t6, e7, a7) ? { status: n7 === t6.mode ? "unchanged" : "mode-changed", worktreeMode: n7 } : e7.isSymbolicLink || t6.fileSize >>> 0 == e7.size >>> 0 ? void 0 : { status: "modified", worktreeMode: n7 }; - } - })(e6, r6, c6, a6); - if (void 0 !== d5) return d5; + if (void 0 === i11) return { status: "absent" }; + const s8 = dn(i11), r8 = ((t6, e8, n8, a5) => { + if (t6.mode !== Qt.GITLINK) { + if (!Do(n8, t6.mode)) return { status: "type-changed", worktreeMode: n8 }; + if (void 0 !== a5) return Of2(t6, e8, a5) ? { status: n8 === t6.mode ? "unchanged" : "mode-changed", worktreeMode: n8 } : e8.isSymbolicLink || t6.fileSize >>> 0 == e8.size >>> 0 ? void 0 : { status: "modified", worktreeMode: n8 }; + } + })(e7, i11, s8, a4); + if (void 0 !== r8) return r8; try { - const a7 = r6.isSymbolicLink ? nh2.encode(await t5.fs.readlink(i7)) : await t5.fs.read(i7), o7 = r6.isSymbolicLink || void 0 === n6 || void 0 === t5.command ? a7 : await (async (t6, e7, n7, a8, o8) => { - const i8 = await Gc2(t6, n7, a8, { eagerSectionValidation: true }); - if ("external" !== i8.kind || void 0 === i8.clean) return o8; - const s11 = await Kc2(t6, e7, i8.clean, o8); - return s11.ok ? s11.bytes : o8; - })(t5, t5.command, n6, e6.path, a7), { id: s10 } = await Oc2(t5, { type: "blob", id: "", content: o7 }); - return s10 !== e6.id ? { status: "modified", worktreeMode: c6 } : { status: c6 === e6.mode ? "unchanged" : "mode-changed", worktreeMode: c6 }; + const a5 = i11.isSymbolicLink ? Ay2.encode(await t5.fs.readlink(o5)) : await t5.fs.read(o5), r9 = i11.isSymbolicLink || void 0 === n7 || void 0 === t5.command ? a5 : await (async (t6, e8, n8, a6, o6) => { + const i12 = await Iu2(t6, n8, a6, { eagerSectionValidation: true }); + if ("external" !== i12.kind || void 0 === i12.clean) return o6; + const s9 = await Cu2(t6, e8, i12.clean, o6); + return s9.ok ? s9.bytes : o6; + })(t5, t5.command, n7, e7.path, a5), { id: c5 } = await ru2(t5, { type: "blob", id: "", content: r9 }); + return c5 !== e7.id ? { status: "modified", worktreeMode: s8 } : { status: s8 === e7.mode ? "unchanged" : "mode-changed", worktreeMode: s8 }; } catch { - return { status: "modified", worktreeMode: c6 }; + return { status: "modified", worktreeMode: s8 }; } }; -var oh2 = async (t5, e6, n6) => (await ah2(t5, e6, n6)).status; -var ih2 = (t5, e6) => { +var Fy2 = async (t5, e7, n7) => (await _y2(t5, e7, n7)).status; +var Uy2 = (t5, e7) => { if ("unchanged" === t5.status) return false; if ("resolved-known" === t5.status) { - const n6 = e6.get(t5.path); - return void 0 === n6 || n6.id !== t5.id || n6.mode !== t5.mode; + const n7 = e7.get(t5.path); + return void 0 === n7 || n7.id !== t5.id || n7.mode !== t5.mode; } - return "resolved-merged" === t5.status || "resolved-deleted" === t5.status && e6.has(t5.path); + return "resolved-merged" === t5.status || "resolved-deleted" === t5.status && e7.has(t5.path); }; -var sh2 = (t5, e6, n6) => { - const a6 = /* @__PURE__ */ new Set(); - for (const e7 of t5) "conflict" !== e7.status && ih2(e7, n6) && a6.add(e7.path); - for (const t6 of e6) for (const e7 of $o(t6)) a6.add(e7); - return a6; +var zy2 = (t5, e7, n7) => { + const a4 = /* @__PURE__ */ new Set(); + for (const e8 of t5) "conflict" !== e8.status && Uy2(e8, n7) && a4.add(e8.path); + for (const t6 of e7) for (const e8 of Wo(t6)) a4.add(e8); + return a4; }; -var rh2 = async (t5, e6) => { +var jy2 = async (t5, e7) => { try { - return await t5.fs.lstat(bc2(wc2(t5, "findWouldOverwrite"), e6)), true; + return await t5.fs.lstat(Jd2(Kd2(t5, "findWouldOverwrite"), e7)), true; } catch { return false; } }; -var ch2 = async (t5, e6, n6) => { - const a6 = ((t6) => { - const e7 = /* @__PURE__ */ new Map(); - for (const n7 of t6.entries) 0 === n7.flags.stage && e7.set(n7.path, n7); - return e7; - })(n6), o6 = await Ec2(t5), i7 = [], s9 = []; - for (const n7 of e6) { - const e7 = a6.get(n7); - void 0 !== e7 ? eh2(await oh2(t5, e7, o6)) && i7.push(n7) : await rh2(t5, n7) && s9.push(n7); - } - return { localChanges: [...i7].sort(Eo), untracked: [...s9].sort(Eo) }; -}; -var dh2 = async (t5, e6) => Ku2(t5, e6, await Gu2(t5)); -var uh2 = (t5) => ({ ctimeSeconds: 0, ctimeNanoseconds: 0, mtimeSeconds: 0, mtimeNanoseconds: 0, dev: 0, ino: 0, mode: t5, uid: 0, gid: 0, fileSize: 0 }); -var fh2 = (t5, e6, n6) => ({ ...uh2(n6), id: e6, flags: Zn, path: t5 }); -var lh2 = async (t5, e6, n6) => { - const { ourPath: a6, theirPath: o6, ourId: i7, ourMode: s9, theirId: r6, theirMode: c6 } = e6; - if (void 0 !== a6 && void 0 !== i7 && void 0 !== s9) { - const e7 = await Bc2(t5, i7, { maxBytes: xi }); - await _c2(t5, a6, e7.content, s9, n6); - } - if (void 0 !== o6 && void 0 !== r6 && void 0 !== c6) { - const e7 = await Bc2(t5, r6, { maxBytes: xi }); - await _c2(t5, o6, e7.content, c6, n6); - } -}; -var hh2 = /* @__PURE__ */ new Set(["rename-rename", "gitlink"]); -var wh2 = async (t5, e6) => { - const n6 = []; - for (const a6 of e6) if ("resolved-deleted" !== a6.status && "conflict" !== a6.status) { - if ("resolved-merged" === a6.status) { - const e7 = await qd2(t5, { type: "blob", content: a6.bytes, id: "" }); - n6.push(fh2(a6.path, e7, a6.mode)); +var Hy2 = async (t5, e7, n7) => { + const a4 = ((t6) => { + const e8 = /* @__PURE__ */ new Map(); + for (const n8 of t6.entries) 0 === n8.flags.stage && e8.set(n8.path, n8); + return e8; + })(n7), o5 = await su2(t5), i11 = [], s8 = []; + for (const n8 of e7) { + const e8 = a4.get(n8); + void 0 !== e8 ? Ry2(await Fy2(t5, e8, o5)) && i11.push(n8) : await jy2(t5, n8) && s8.push(n8); + } + return { localChanges: [...i11].sort(Mo), untracked: [...s8].sort(Mo) }; +}; +var Wy2 = async (t5, e7) => zl2(t5, e7, await Ul2(t5)); +var Gy2 = (t5) => ({ ctimeSeconds: 0, ctimeNanoseconds: 0, mtimeSeconds: 0, mtimeNanoseconds: 0, dev: 0, ino: 0, mode: t5, uid: 0, gid: 0, fileSize: 0 }); +var Ky2 = (t5, e7, n7) => ({ ...Gy2(n7), id: e7, flags: sr, path: t5 }); +var qy2 = (t5, e7, n7) => { + for (const e8 of t5) "conflict" !== e8.status && n7.has(e8.path) && bo(e8.path, wo, "resolved-deleted" === e8.status ? Qt.REGULAR : e8.mode); + for (const t6 of e7) bo(t6.path, wo, t6.mergedMode ?? t6.ourMode ?? t6.theirMode ?? Qt.REGULAR); +}; +var Vy2 = async (t5, e7, n7) => { + const { ourPath: a4, theirPath: o5, ourId: i11, ourMode: s8, theirId: r8, theirMode: c5 } = e7; + if (void 0 !== a4 && void 0 !== i11 && void 0 !== s8) { + const e8 = await gu2(t5, i11, { maxBytes: Xi }); + await wu2(t5, a4, e8.content, s8, n7); + } + if (void 0 !== o5 && void 0 !== r8 && void 0 !== c5) { + const e8 = await gu2(t5, r8, { maxBytes: Xi }); + await wu2(t5, o5, e8.content, c5, n7); + } +}; +var Yy2 = /* @__PURE__ */ new Set(["rename-rename", "gitlink"]); +var Xy2 = async (t5, e7) => { + const n7 = []; + for (const a4 of e7) if ("resolved-deleted" !== a4.status && "conflict" !== a4.status) { + if ("resolved-merged" === a4.status) { + const e8 = await Rf2(t5, { type: "blob", content: a4.bytes, id: "" }); + n7.push(Ky2(a4.path, e8, a4.mode)); continue; } - n6.push(fh2(a6.path, a6.id, a6.mode)); - } - return Vl2(t5, n6); -}; -var mh2 = async (t5, e6, n6) => { - const a6 = e6.mergedMode ?? e6.ourMode ?? e6.theirMode; - if (void 0 === a6) return; - const o6 = await (async (t6, e7) => { - if (void 0 !== e7.conflictContent) return e7.conflictContent; - if ("modify-delete" === e7.type) { - const n7 = e7.ourId ?? e7.theirId; - return void 0 !== n7 ? (await Bc2(t6, n7, { maxBytes: xi })).content : void 0; - } - return void 0 !== e7.ourId ? (await Bc2(t6, e7.ourId, { maxBytes: xi })).content : void 0; - })(t5, e6); - void 0 !== o6 && await _c2(t5, e6.path, o6, a6, n6); -}; -var ph2 = (t5, e6) => { - const n6 = []; - for (const e7 of t5) "unchanged" !== e7.status && "resolved-known" !== e7.status || n6.push(fh2(e7.path, e7.id, e7.mode)); - const a6 = [...n6, ...So(e6, uh2)]; - return a6.sort((t6, e7) => t6.path < e7.path ? -1 : t6.path > e7.path ? 1 : t6.flags.stage - e7.flags.stage), a6; -}; -var yh2 = async (t5, e6) => { - const [n6, a6, o6] = await Promise.all([void 0 !== e6.baseTree ? dh2(t5, e6.baseTree) : Promise.resolve(void 0), dh2(t5, e6.oursTree), dh2(t5, e6.theirsTree)]), i7 = await ga(n6, a6, o6, th2(t5, e6.labels), e6.labels); - i7.cleanMerge || ((t6) => { - for (const e7 of t6) if (hh2.has(e7.type)) throw h("apply-merge", `conflict type '${e7.type}' not supported (path=${e7.path})`); - })(i7.conflicts); - const s9 = sh2(i7.outcomes, i7.conflicts, a6.entries), r6 = await ch2(t5, s9, e6.currentIndex); - if (r6.localChanges.length > 0 || r6.untracked.length > 0) return { kind: "would-overwrite", localChanges: r6.localChanges, untracked: r6.untracked }; - if (i7.cleanMerge) { - const n7 = await wh2(t5, i7.outcomes); - return { kind: "clean", mergedTree: n7, result: await xd2(t5, { targetTree: n7, currentIndex: e6.currentIndex, force: true }) }; - } - return await (async (t6, e7, n7, a7) => { - const o7 = Lc2(t6); - for (const n8 of e7) if ("conflict" !== n8.status && a7.has(n8.path)) if ("resolved-deleted" !== n8.status) if ("resolved-merged" !== n8.status) { - if ("resolved-known" === n8.status) { - const e8 = await id2(t6, n8.id); - await Uc2(t6, n8.path, e8, o7); - } - } else await Rc2(t6, n8.path, n8.bytes, o7); - else await Ac2(t6, n8.path); - for (const e8 of n7) "distinct-types" !== e8.type ? await mh2(t6, e8, o7) : await lh2(t6, e8, o7); - })(t5, i7.outcomes, i7.conflicts, s9), { kind: "conflict", conflicts: i7.conflicts, indexEntries: ph2(i7.outcomes, i7.conflicts) }; -}; -var gh2 = async (t5, e6) => { - const [n6, a6, o6] = await Promise.all([void 0 !== e6.baseTree ? dh2(t5, e6.baseTree) : Promise.resolve(void 0), dh2(t5, e6.oursTree), dh2(t5, e6.theirsTree)]), i7 = await ga(n6, a6, o6, th2(t5, e6.labels), e6.labels); - return i7.cleanMerge ? { kind: "clean", mergedTree: await wh2(t5, i7.outcomes) } : { kind: "conflict", conflicts: i7.conflicts }; -}; -async function vh2(t5, e6) { - if ((function(t6, e7) { - for (const n7 of t6) if (xo2(n7, e7)) throw kt("parent is not a well-formed object id"); - })(e6.parents, t5.hashConfig), e6.message.includes("\0")) throw kt("message contains NUL"); - var n6, a6; - if (a6 = e6.message, new TextEncoder().encode(a6).byteLength > 16777216) throw kt("message exceeds 16 MiB"); - if (void 0 !== e6.gpgSignature && ((n6 = e6.gpgSignature).includes("\0") || n6.includes("\r"))) throw kt("gpgSignature contains header-boundary chars"); - if (void 0 !== e6.extraHeaders) for (const t6 of e6.extraHeaders) { - if (Co2(t6.key)) throw kt("extraHeader key contains forbidden characters"); - if (Io2(t6.value)) throw kt("extraHeader value contains header-boundary chars"); - } - return rr(e6.author), rr(e6.committer), qd2(t5, { type: "commit", id: "", data: { tree: e6.tree, parents: e6.parents, author: e6.author, committer: e6.committer, message: e6.message, ...void 0 !== e6.gpgSignature ? { gpgSignature: e6.gpgSignature } : {}, extraHeaders: e6.extraHeaders ?? [] } }); -} -var bh2 = (t5) => t5 instanceof o && "FILE_NOT_FOUND" === t5.data.code; -var kh2 = async (t5) => { - let e6; + n7.push(Ky2(a4.path, a4.id, a4.mode)); + } + return Ey2(t5, n7); +}; +var Zy2 = async (t5, e7, n7) => { + if (bo(e7.path, wo, "resolved-deleted" === e7.status ? Qt.REGULAR : e7.mode), "resolved-deleted" !== e7.status) if ("resolved-merged" !== e7.status) { + if ("resolved-known" === e7.status) { + const a4 = await Au2(t5, e7.id); + await pu2(t5, e7.path, a4, n7); + } + } else await hu2(t5, e7.path, e7.bytes, n7); + else await mu2(t5, e7.path); +}; +var Jy2 = async (t5, e7, n7) => { + bo(e7.path, wo, e7.mergedMode ?? e7.ourMode ?? e7.theirMode ?? Qt.REGULAR), "distinct-types" !== e7.type ? await (async (t6, e8, n8) => { + const a4 = e8.mergedMode ?? e8.ourMode ?? e8.theirMode; + if (void 0 === a4) return; + const o5 = await (async (t7, e9) => { + if (void 0 !== e9.conflictContent) return e9.conflictContent; + if ("modify-delete" === e9.type) { + const n9 = e9.ourId ?? e9.theirId; + return void 0 !== n9 ? (await gu2(t7, n9, { maxBytes: Xi })).content : void 0; + } + return void 0 !== e9.ourId ? (await gu2(t7, e9.ourId, { maxBytes: Xi })).content : void 0; + })(t6, e8); + void 0 !== o5 && await wu2(t6, e8.path, o5, a4, n8); + })(t5, e7, n7) : await Vy2(t5, e7, n7); +}; +var Qy2 = (t5, e7) => { + const n7 = []; + for (const e8 of t5) "unchanged" !== e8.status && "resolved-known" !== e8.status || n7.push(Ky2(e8.path, e8.id, e8.mode)); + const a4 = [...n7, ...Ko(e7, Gy2)]; + return a4.sort((t6, e8) => t6.path < e8.path ? -1 : t6.path > e8.path ? 1 : t6.flags.stage - e8.flags.stage), a4; +}; +var tp2 = async (t5, e7) => { + const [n7, a4, o5] = await Promise.all([void 0 !== e7.baseTree ? Wy2(t5, e7.baseTree) : Promise.resolve(void 0), Wy2(t5, e7.oursTree), Wy2(t5, e7.theirsTree)]), i11 = await ka(n7, a4, o5, By2(t5, e7.labels), e7.labels); + i11.cleanMerge || ((t6) => { + for (const e8 of t6) if (Yy2.has(e8.type)) throw w("apply-merge", `conflict type '${e8.type}' not supported (path=${e8.path})`); + })(i11.conflicts); + const s8 = zy2(i11.outcomes, i11.conflicts, a4.entries), r8 = await Hy2(t5, s8, e7.currentIndex); + if (r8.localChanges.length > 0 || r8.untracked.length > 0) return { kind: "would-overwrite", localChanges: r8.localChanges, untracked: r8.untracked }; + if (i11.cleanMerge) { + const n8 = await Xy2(t5, i11.outcomes); + return { kind: "clean", mergedTree: n8, result: await df2(t5, { targetTree: n8, currentIndex: e7.currentIndex, force: true }) }; + } + return qy2(i11.outcomes, i11.conflicts, s8), await (async (t6, e8, n8, a5) => { + const o6 = cu2(t6); + for (const n9 of e8) "conflict" !== n9.status && a5.has(n9.path) && await Zy2(t6, n9, o6); + for (const e9 of n8) await Jy2(t6, e9, o6); + })(t5, i11.outcomes, i11.conflicts, s8), { kind: "conflict", conflicts: i11.conflicts, indexEntries: Qy2(i11.outcomes, i11.conflicts) }; +}; +var ep2 = async (t5, e7) => { + const [n7, a4, o5] = await Promise.all([void 0 !== e7.baseTree ? Wy2(t5, e7.baseTree) : Promise.resolve(void 0), Wy2(t5, e7.oursTree), Wy2(t5, e7.theirsTree)]), i11 = await ka(n7, a4, o5, By2(t5, e7.labels), e7.labels); + return i11.cleanMerge ? { kind: "clean", mergedTree: await Xy2(t5, i11.outcomes) } : { kind: "conflict", conflicts: i11.conflicts }; +}; +async function np2(t5, e7) { + if ((function(t6, e8) { + for (const n8 of t6) if (wi2(n8, e8)) throw Ht("parent is not a well-formed object id"); + })(e7.parents, t5.hashConfig), e7.message.includes("\0")) throw Ht("message contains NUL"); + var n7, a4; + if (a4 = e7.message, new TextEncoder().encode(a4).byteLength > 16777216) throw Ht("message exceeds 16 MiB"); + if (void 0 !== e7.gpgSignature && ((n7 = e7.gpgSignature).includes("\0") || n7.includes("\r"))) throw Ht("gpgSignature contains header-boundary chars"); + if (void 0 !== e7.extraHeaders) for (const t6 of e7.extraHeaders) { + if (pi2(t6.key)) throw Ht("extraHeader key contains forbidden characters"); + if (yi2(t6.value)) throw Ht("extraHeader value contains header-boundary chars"); + } + return dr(e7.author), dr(e7.committer), Rf2(t5, { type: "commit", id: "", data: { tree: e7.tree, parents: e7.parents, author: e7.author, committer: e7.committer, message: e7.message, ...void 0 !== e7.gpgSignature ? { gpgSignature: e7.gpgSignature } : {}, extraHeaders: e7.extraHeaders ?? [] } }); +} +var ap2 = (t5) => t5 instanceof c && "FILE_NOT_FOUND" === t5.data.code; +var op2 = async (t5) => { + let e7; try { - e6 = await t5.fs.readUtf8(ja2(Da2(t5))); + e7 = await t5.fs.readUtf8(vo2(oo2(t5))); } catch (t6) { - if (hu2(t6)) return /* @__PURE__ */ new Set(); + if (dl2(t6)) return /* @__PURE__ */ new Set(); throw t6; } - return new Set(cu2(e6, t5.hashConfig.hexLength)); -}; -var xh2 = async (t5, e6) => { - const n6 = new Set(await kh2(t5)); - let a6 = 0; - for (const n7 of e6.shallow) if (a6 += 1, n7.length !== t5.hashConfig.hexLength) throw b("shallow oid width does not match the repository hash", a6); - for (const t6 of e6.shallow) n6.add(t6); - for (const t6 of e6.unshallow) n6.delete(t6); - if (n6.size > su2) throw b(bo2, n6.size); - const o6 = ja2(Da2(t5)); - if (0 === n6.size) return await Ch2(t5, o6), void yu2(t5); - const i7 = [...n6].sort(), s9 = new TextEncoder().encode(i7.map((t6) => `${t6} + return new Set(ol2(e7, t5.hashConfig.hexLength)); +}; +var ip2 = async (t5, e7) => { + const n7 = new Set(await op2(t5)); + let a4 = 0; + for (const n8 of e7.shallow) if (a4 += 1, n8.length !== t5.hashConfig.hexLength) throw T("shallow oid width does not match the repository hash", a4); + for (const t6 of e7.shallow) n7.add(t6); + for (const t6 of e7.unshallow) n7.delete(t6); + if (n7.size > nl2) throw T(li2, n7.size); + const o5 = vo2(oo2(t5)); + if (0 === n7.size) return await rp2(t5, o5), void wl2(t5); + const i11 = [...n7].sort(), s8 = new TextEncoder().encode(i11.map((t6) => `${t6} `).join("")); - await Ih2(t5, o6, s9), yu2(t5); + await sp2(t5, o5, s8), wl2(t5); }; -var Ih2 = async (t5, e6, n6) => { - const a6 = `${Da2(t5)}/shallow.lock`; - await t5.fs.writeExclusive(a6, n6); +var sp2 = async (t5, e7, n7) => { + const a4 = `${oo2(t5)}/shallow.lock`; + await t5.fs.writeExclusive(a4, n7); try { - await t5.fs.rename(a6, e6); - } catch (e7) { + await t5.fs.rename(a4, e7); + } catch (e8) { try { - await t5.fs.rm(a6); + await t5.fs.rm(a4); } catch (t6) { - if (!bh2(t6)) throw t6; + if (!ap2(t6)) throw t6; } - throw e7; + throw e8; } }; -var Ch2 = async (t5, e6) => { +var rp2 = async (t5, e7) => { try { - await t5.fs.rm(e6); + await t5.fs.rm(e7); } catch (t6) { - if (bh2(t6)) return; + if (ap2(t6)) return; throw t6; } }; -var Sh2 = (t5, e6) => { - const n6 = e6.toLowerCase(); - if ("" === t5.section && void 0 === t5.subsection) return n6; - const a6 = t5.section.toLowerCase(); - return void 0 === t5.subsection ? `${a6}.${n6}` : `${a6}.${t5.subsection}.${n6}`; -}; -var $h2 = (t5, e6) => t5.section.toLowerCase() === e6.section && (void 0 === e6.subsection ? void 0 === t5.subsection : t5.subsection === e6.subsection); -var Dh2 = (t5, e6) => { - const n6 = []; - for (const a6 of t5) if ($h2(a6, e6)) for (const t6 of a6.entries) t6.key.toLowerCase() === e6.name && n6.push({ value: t6.value }); - return n6; -}; -var Eh2 = ["system", "global", "local", "worktree"]; -var Oh2 = async (t5, e6) => { - try { - return await t5.fs.exists(e6); - } catch { - return false; - } -}; -var Lh2 = (t5, e6) => { - try { - return e6(); - } catch (e7) { - if (e7 instanceof o && "UNSUPPORTED_OPERATION" === e7.data.code) throw Ne(t5, "browser-adapter"); - throw e7; - } +var cp2 = (t5, e7) => ` ${t5} = ${((t6) => { + const e8 = t6.replaceAll("\\", "\\\\").replaceAll('"', '\\"').replaceAll("\n", "\\n").replaceAll(" ", "\\t"); + return ((t7) => t7.startsWith(" ") || t7.endsWith(" ") || t7.includes(";") || t7.includes("#") || t7.includes("\r"))(t6) ? `"${e8}"` : e8; +})(e7)}`; +var dp2 = (t5, e7) => void 0 === e7 ? `[${t5}]` : `[${t5} "${((t6) => t6.replaceAll("\\", "\\\\").replaceAll('"', '\\"'))(e7)}"]`; +var up2 = (t5, e7) => { + if (/[\n\r\0]/.test(e7)) throw de("config", `${t5} must not contain a newline or NUL`); }; -var Mh2 = async (t5, e6) => { - if ("local" === e6) return `${Da2(t5)}/config`; - if ("worktree" === e6) { - if (ji2(t5.layout)) throw Ne("worktree", "repository-not-accepted"); - if (!await (async (t6) => { - if (ji2(t6.layout)) return false; - const e7 = `${Da2(t6)}/config`, n7 = await (async (t7, e8) => { - try { - return await t7.fs.readUtf8(e8); - } catch (t8) { - if (t8 instanceof o && "FILE_NOT_FOUND" === t8.data.code) return; - throw t8; - } - })(t6, e7); - if (void 0 === n7) return false; - const o6 = Cg(n7, e7); - for (const t7 of o6) if ("extensions" === t7.section.toLowerCase() && void 0 === t7.subsection) for (const e8 of t7.entries) { - if ("worktreeconfig" !== e8.key.toLowerCase()) continue; - const t8 = am(e8.value); - return t8.ok && t8.value; - } - return false; - })(t5)) throw Ne("worktree", "worktree-extension-unset"); - return `${t5.layout.gitDir}/config.worktree`; - } - if ("global" === e6) { - const e7 = Lh2("global", () => t5.fs.xdgConfigHome()), n7 = Lh2("global", () => t5.fs.homedir()), a6 = `${e7}/git/config`; - if (await Oh2(t5, a6)) return a6; - const o6 = `${n7}/.gitconfig`; - return await Oh2(t5, o6), o6; - } - const n6 = Lh2("system", () => t5.fs.systemConfigPath()); - if (0 === n6.length) throw Se(); - return n6; +var fp2 = (t5) => { + if (t5.includes("\0")) throw de("config", "value must not contain a NUL byte"); }; -var Ph2 = /* @__PURE__ */ new WeakMap(); -var Th2 = (t5) => { - Ph2.delete(t5); +var lp2 = (t5) => { + if (/[\n\0]/.test(t5)) throw de("config", "subsection must not contain a newline or NUL"); }; -var Nh2 = (t5, e6) => { - if (ji2(t5.layout) && ("local" === e6 || "worktree" === e6)) throw Ne(e6, "repository-not-accepted"); - const n6 = ((t6) => { - const e7 = Ph2.get(t6); - if (void 0 !== e7) return e7; - const n7 = /* @__PURE__ */ new Map(); - return Ph2.set(t6, n7), n7; - })(t5), o6 = n6.get(e6); - if (void 0 !== o6) return o6; - const i7 = (async (t6, e7) => { - const n7 = await Mh2(t6, e7); - try { - const e8 = await t6.fs.readUtf8(n7); - return Cg(e8, n7); - } catch (t7) { - if (t7 instanceof o) { - const e8 = t7.data.code; - if ("FILE_NOT_FOUND" === e8 || "PERMISSION_DENIED" === e8) return []; - } - throw t7; - } - })(t5, e6); - return n6.set(e6, i7), i7; +var hp2 = (t5) => { + if (/[\s\0[\]"\\]/.test(t5)) throw de("config", "section must not contain whitespace, NUL, brackets, quotes, or backslashes"); }; -var Rh2 = async (t5, e6) => { - try { - return { scope: e6, sections: await Nh2(t5, e6) }; - } catch (t6) { - if (t6 instanceof o) { - const e7 = t6.data.code; - if ("CONFIG_SCOPE_NOT_AVAILABLE" === e7) return; - if ("CONFIG_SYSTEM_PATH_UNRESOLVED" === e7) return; - } - throw t6; - } +var wp2 = (t5, e7) => { + if ("" === t5 && void 0 === e7) throw de("config", "section name must not be empty without a subsection"); }; -var _h2 = async ({ ctx: t5, scope: e6 }) => { - if (void 0 !== e6) return (await Nh2(t5, e6)).map((t6) => ({ scope: e6, section: t6 })); - const n6 = []; - for (const e7 of Eh2) { - const a6 = await Rh2(t5, e7); - void 0 !== a6 && n6.push(a6); - } - return ((t6) => { - const e7 = /* @__PURE__ */ new Map(); - for (const { scope: n8, sections: a6 } of t6) e7.set(n8, a6); - const n7 = []; - for (const t7 of Eh2) { - const a6 = e7.get(t7); - if (void 0 !== a6) for (const e8 of a6) n7.push({ scope: t7, section: e8 }); - } - return n7; - })(n6); +var yp2 = (t5) => void 0 === t5.subsection ? t5.section : `${t5.section}.${t5.subsection}`; +var pp2 = (t5) => { + const e7 = rp(t5); + if ("header" === e7.parse.kind) return { rawName: yp2(e7.parse), endOffset: e7.endOffset }; }; -var Fh2 = async (t5, e6, n6) => { - if (void 0 !== n6) { - const a6 = await Nh2(t5, n6); - return Dh2(a6, e6).map((t6) => ({ value: t6.value, scope: n6 })); - } - return ((t6, e7) => { - const n7 = []; - for (const { scope: a6, section: o6 } of t6) if ($h2(o6, e7)) for (const t7 of o6.entries) t7.key.toLowerCase() === e7.name && n7.push({ value: t7.value, scope: a6 }); - return n7; - })((await _h2({ ctx: t5 })).map(({ scope: t6, section: e7 }) => ({ scope: t6, section: e7 })), e6); -}; -var Uh2 = async ({ ctx: t5, key: e6, scope: n6 }) => { - const a6 = jn(e6), o6 = await Fh2(t5, a6, n6); - if (0 === o6.length) return { key: e6, value: void 0 }; - if (o6.length > 1) throw $e(e6, o6.length, "read", n6); - const [i7] = o6; - return { key: e6, value: i7.value, scope: i7.scope }; -}; -var Ah2 = async ({ ctx: t5, key: e6, scope: n6 }) => { - const a6 = jn(e6); - return { key: e6, values: await Fh2(t5, a6, n6) }; -}; -var Bh2 = (t5, e6) => ` ${t5} = ${((t6) => { - const e7 = t6.replaceAll("\\", "\\\\").replaceAll('"', '\\"').replaceAll("\n", "\\n").replaceAll(" ", "\\t"); - return ((t7) => t7.startsWith(" ") || t7.endsWith(" ") || t7.includes(";") || t7.includes("#") || t7.includes("\r"))(t6) ? `"${e7}"` : e7; -})(e6)}`; -var jh2 = (t5, e6) => void 0 === e6 ? `[${t5}]` : `[${t5} "${((t6) => t6.replaceAll("\\", "\\\\").replaceAll('"', '\\"'))(e6)}"]`; -var zh2 = (t5, e6) => { - if (/[\n\r\0]/.test(e6)) throw oe("config", `${t5} must not contain a newline or NUL`); -}; -var Wh2 = (t5) => { - if (t5.includes("\0")) throw oe("config", "value must not contain a NUL byte"); -}; -var Hh2 = (t5) => { - if (/[\n\0]/.test(t5)) throw oe("config", "subsection must not contain a newline or NUL"); -}; -var Gh2 = (t5) => { - if (/[\s\0[\]"\\]/.test(t5)) throw oe("config", "section must not contain whitespace, NUL, brackets, quotes, or backslashes"); -}; -var Kh2 = (t5, e6) => { - if ("" === t5 && void 0 === e6) throw oe("config", "section name must not be empty without a subsection"); -}; -var qh2 = (t5) => void 0 === t5.subsection ? t5.section : `${t5.section}.${t5.subsection}`; -var Vh2 = (t5) => { - const e6 = Kg(t5); - if ("header" === e6.parse.kind) return { rawName: qh2(e6.parse), endOffset: e6.endOffset }; -}; -var Yh2 = (t5, e6) => { - for (let n6 = 0; n6 < t5.length; n6 += 1) if (Vh2(t5[n6])?.rawName === e6) return n6; +var mp2 = (t5, e7) => { + for (let n7 = 0; n7 < t5.length; n7 += 1) if (pp2(t5[n7])?.rawName === e7) return n7; return -1; }; -var Xh2 = (t5, e6) => { - const n6 = t5.split("\n"), a6 = []; - let o6 = false; - for (const t6 of n6) { - const n7 = Vh2(t6); - void 0 === n7 || (o6 = n7.rawName === e6), o6 || a6.push(t6); - } - return ((t6, e7) => "" === t6[t6.length - 1] && e7.length > 0 && "" !== e7[e7.length - 1] ? [...e7, ""] : e7)(n6, a6).join("\n"); -}; -var Zh2 = (t5, e6, n6) => { - Gh2(n6.section), Kh2(n6.section, n6.subsection), void 0 !== n6.subsection && Hh2(n6.subsection); - const a6 = t5.split("\n").map((t6) => { - const a7 = Vh2(t6); - return void 0 === a7 || a7.rawName !== e6 ? t6 : ((t7, e7, n7) => { - const a8 = jh2(n7.section, n7.subsection), o6 = Ug(t7, e7); - return o6 >= t7.length ? a8 : `${a8} - ${t7.slice(o6)}`; - })(t6, a7.endOffset, n6); +var gp2 = (t5, e7) => { + const n7 = t5.split("\n"), a4 = []; + let o5 = false; + for (const t6 of n7) { + const n8 = pp2(t6); + void 0 === n8 || (o5 = n8.rawName === e7), o5 || a4.push(t6); + } + return ((t6, e8) => "" === t6[t6.length - 1] && e8.length > 0 && "" !== e8[e8.length - 1] ? [...e8, ""] : e8)(n7, a4).join("\n"); +}; +var vp2 = (t5, e7, n7) => { + hp2(n7.section), wp2(n7.section, n7.subsection), void 0 !== n7.subsection && lp2(n7.subsection); + const a4 = t5.split("\n").map((t6) => { + const a5 = pp2(t6); + return void 0 === a5 || a5.rawName !== e7 ? t6 : ((t7, e8, n8) => { + const a6 = dp2(n8.section, n8.subsection), o5 = zm(t7, e8); + return o5 >= t7.length ? a6 : `${a6} + ${t7.slice(o5)}`; + })(t6, a5.endOffset, n7); }); - return a6.join("\n"); + return a4.join("\n"); }; -var Jh2 = async (t5, e6) => { +var kp2 = async (t5, e7) => { try { - return await t5.fs.readUtf8(e6); + return await t5.fs.readUtf8(e7); } catch (t6) { - if (t6 instanceof o && "FILE_NOT_FOUND" === t6.data.code) return ""; + if (t6 instanceof c && "FILE_NOT_FOUND" === t6.data.code) return ""; throw t6; } }; -var Qh2 = async ({ ctx: t5, oldName: e6, newName: n6, scope: a6 }) => { - const o6 = ((t6) => { - if ("" === t6) throw oe("config", `invalid section name: ${t6}`); - const e7 = t6.indexOf("."), n7 = -1 === e7 ? t6 : t6.slice(0, e7); - if (n7.length > 0 && !/^[a-zA-Z0-9-]+$/.test(n7)) throw oe("config", `invalid section name: ${t6}`); - return -1 === e7 ? { section: n7 } : { section: n7, subsection: t6.slice(e7 + 1) }; - })(n6); - void 0 !== o6.subsection && Hh2(o6.subsection); - const i7 = a6 ?? "local", s9 = await Mh2(t5, i7), r6 = await Jh2(t5, s9); - if (-1 === Yh2(r6.split("\n"), e6)) throw Ae(e6, i7); - const c6 = Zh2(r6, e6, o6); - await t5.fs.writeUtf8(s9, c6), Ki2(t5), Th2(t5); -}; -var tw2 = async ({ ctx: t5, sectionName: e6, scope: n6 }) => { - const a6 = n6 ?? "local", o6 = await Mh2(t5, a6), i7 = await Jh2(t5, o6); - if (-1 === Yh2(i7.split("\n"), e6)) throw Ae(e6, a6); - const s9 = Xh2(i7, e6); - await t5.fs.writeUtf8(o6, s9), Ki2(t5), Th2(t5); -}; -var ew2 = (t5, e6) => ({ sectionLc: t5.toLowerCase(), subsection: e6 }); -var nw2 = (t5, e6) => t5.section.toLowerCase() === e6.sectionLc && t5.subsection === e6.subsection; -var aw2 = (t5, e6) => { - let n6, a6, o6 = false; - for (const i7 of t5) "header" === i7.kind ? (o6 && (n6 = a6), o6 = nw2(i7, e6), a6 = o6 ? i7.line + 1 : void 0) : o6 && "entry" === i7.kind && (a6 = i7.endLine); - return o6 && (n6 = a6), n6; -}; -var ow2 = (t5, e6, n6, a6) => { - const o6 = a6.endsWith("\n") ? t5.length - 1 : t5.length, i7 = Math.min(e6, o6), s9 = [...t5.slice(0, i7), n6, ...t5.slice(i7)]; - return i7 === t5.length && s9.push(""), s9; -}; -var iw2 = (t5, e6, n6, a6, o6) => { - Gh2(e6), Kh2(e6, n6), zh2("key", a6), Wh2(o6), void 0 !== n6 && Hh2(n6); - const i7 = t5.split("\n"), s9 = Sg(i7, t5.endsWith("\n")), r6 = ew2(e6, n6), c6 = ((t6, e7, n7) => { - const a7 = n7.toLowerCase(); - let o7 = false; - for (const n8 of t6) if ("header" === n8.kind) o7 = nw2(n8, e7); - else if (o7 && "entry" === n8.kind && n8.key.toLowerCase() === a7) return n8; - })(s9, r6, a6); - if (void 0 !== c6) return ((t6, e7, n7, a7) => { - const o7 = n7.sharesHeaderLine ? ((t7, e8) => { - for (const n8 of t7) if ("header" === n8.kind && n8.line === e8.startLine) return n8; - })(e7, n7) : void 0, i8 = void 0 !== o7 ? [jh2(o7.section, o7.subsection), a7] : [a7], s10 = [...t6.slice(0, n7.startLine), ...i8, ...t6.slice(n7.endLine)]; - return (n7.endLine === t6.length ? [...s10, ""] : s10).join("\n"); - })(i7, s9, c6, Bh2(a6, o6)); - const d5 = aw2(s9, r6); - return void 0 === d5 ? `${"" === t5 ? "" : t5.endsWith("\n") ? t5 : `${t5} -`}${jh2(e6, n6)} -${Bh2(a6, o6)} -` : ow2(i7, d5, Bh2(a6, o6), t5).join("\n"); -}; -var rw2 = (t5) => [t5.header.line, ...t5.bodyTokens.flatMap((t6) => "entry" === t6.kind ? cw2([t6]) : [t6.line])]; -var cw2 = (t5) => t5.flatMap((t6) => Array.from({ length: t6.endLine - t6.startLine }, (e6, n6) => t6.startLine + n6)); -var dw2 = (t5, e6, n6, a6) => { - Gh2(e6), void 0 !== n6 && Hh2(n6), zh2("key", a6); - const o6 = t5.split("\n"), i7 = ew2(e6, n6), s9 = ((t6) => { - const e7 = []; - for (let n7 = 0; n7 < t6.length; n7++) { - const a7 = t6[n7]; - if ("header" !== a7.kind) continue; - const o7 = []; - let i8 = n7 + 1; - for (; i8 < t6.length && "header" !== t6[i8].kind; ) o7.push(t6[i8]), i8++; - e7.push({ header: a7, bodyTokens: o7 }), n7 = i8 - 1; - } - return e7; - })(Sg(o6, t5.endsWith("\n"))), r6 = a6.toLowerCase(), c6 = s9.filter((t6) => nw2(t6.header, i7)).map((t6) => ((t7, e7) => { - const n7 = ((t8, e8) => t8.bodyTokens.flatMap((t9) => "entry" === t9.kind && t9.key.toLowerCase() === e8 ? [{ startLine: t9.startLine, endLine: t9.endLine }] : []))(t7, e7); - return 0 === n7.length ? { excluded: [] } : ((t8, e8) => t8.header.hasComment || t8.bodyTokens.some((t9) => "comment" === t9.kind || "entry" === t9.kind && t9.key.toLowerCase() !== e8))(t7, e7) ? n7.some((e8) => e8.startLine === t7.header.line) ? { excluded: cw2(n7).filter((e8) => e8 !== t7.header.line), headerRewrite: { line: t7.header.line, text: jh2(t7.header.section, t7.header.subsection) } } : { excluded: cw2(n7) } : { excluded: rw2(t7) }; - })(t6, r6)); - return ((t6, e7) => { - const n7 = new Set(e7.flatMap((t7) => t7.excluded)), a7 = new Map(e7.flatMap((t7) => t7.headerRewrite ? [[t7.headerRewrite.line, t7.headerRewrite.text]] : [])); - if (0 === n7.size && 0 === a7.size) return; - const o7 = []; - for (const [e8, i8] of t6.entries()) n7.has(e8) || o7.push(a7.get(e8) ?? i8); - return (n7.has(t6.length - 1) ? [...o7, ""] : o7).join("\n"); - })(o6, c6) ?? t5; -}; -var uw2 = async (t5, e6) => { - const n6 = `${Da2(t5)}/config`, a6 = await Jh2(t5, n6); - mw2(a6, n6); - const o6 = e6.reduce((t6, e7) => iw2(t6, e7.section, e7.subsection, e7.key, e7.value), a6); - await t5.fs.writeUtf8(n6, o6), Ki2(t5); -}; -var fw2 = async (t5, e6) => { - await uw2(t5, Object.entries(e6).map(([t6, e7]) => ({ section: "core", key: t6, value: e7 }))); -}; -var lw2 = (t5, e6) => "set" === e6.kind ? iw2(t5, e6.section, e6.subsection, e6.key, e6.value) : "appendEntry" === e6.kind ? hw2(t5, e6.section, e6.subsection, e6.key, e6.value) : "removeEntry" === e6.kind ? dw2(t5, e6.section, e6.subsection, e6.key) : "removeSection" === e6.kind ? Xh2(t5, qh2({ section: e6.section, subsection: e6.subsection })) : Zh2(t5, qh2({ section: e6.section, subsection: e6.from }), { section: e6.section, subsection: e6.to }); -var hw2 = (t5, e6, n6, a6, o6) => { - Gh2(e6), Kh2(e6, n6), zh2("key", a6), Wh2(o6), void 0 !== n6 && Hh2(n6); - const i7 = t5.split("\n"), s9 = Sg(i7, t5.endsWith("\n")), r6 = ew2(e6, n6), c6 = aw2(s9, r6); - return void 0 === c6 ? `${"" === t5 ? "" : t5.endsWith("\n") ? t5 : `${t5} -`}${jh2(e6, n6)} -${Bh2(a6, o6)} -` : ow2(i7, c6, Bh2(a6, o6), t5).join("\n"); -}; -var ww2 = async (t5, e6) => { - const n6 = `${Da2(t5)}/config`, a6 = await Jh2(t5, n6); - mw2(a6, n6); - const o6 = e6.reduce(lw2, a6); - await t5.fs.writeUtf8(n6, o6), Ki2(t5); -}; -var mw2 = (t5, e6) => { +var bp2 = async ({ ctx: t5, oldName: e7, newName: n7, scope: a4 }) => { + const o5 = ((t6) => { + if ("" === t6) throw de("config", `invalid section name: ${t6}`); + const e8 = t6.indexOf("."), n8 = -1 === e8 ? t6 : t6.slice(0, e8); + if (n8.length > 0 && !/^[a-zA-Z0-9-]+$/.test(n8)) throw de("config", `invalid section name: ${t6}`); + return -1 === e8 ? { section: n8 } : { section: n8, subsection: t6.slice(e8 + 1) }; + })(n7); + void 0 !== o5.subsection && lp2(o5.subsection); + const i11 = a4 ?? "local", s8 = await Vs2(t5, i11), r8 = await kp2(t5, s8); + if (-1 === mp2(r8.split("\n"), e7)) throw ke(e7, i11); + const c5 = vp2(r8, e7, o5); + await t5.fs.writeUtf8(s8, c5), cr2(t5), Xs2(t5); +}; +var xp2 = async ({ ctx: t5, sectionName: e7, scope: n7 }) => { + const a4 = n7 ?? "local", o5 = await Vs2(t5, a4), i11 = await kp2(t5, o5); + if (-1 === mp2(i11.split("\n"), e7)) throw ke(e7, a4); + const s8 = gp2(i11, e7); + await t5.fs.writeUtf8(o5, s8), cr2(t5), Xs2(t5); +}; +var Ip2 = (t5, e7) => ({ sectionLc: t5.toLowerCase(), subsection: e7 }); +var Cp2 = (t5, e7) => t5.section.toLowerCase() === e7.sectionLc && t5.subsection === e7.subsection; +var Sp2 = (t5, e7) => { + let n7, a4, o5 = false; + for (const i11 of t5) "header" === i11.kind ? (o5 && (n7 = a4), o5 = Cp2(i11, e7), a4 = o5 ? i11.line + 1 : void 0) : o5 && "entry" === i11.kind && (a4 = i11.endLine); + return o5 && (n7 = a4), n7; +}; +var Dp2 = (t5, e7, n7, a4) => { + const o5 = a4.endsWith("\n") ? t5.length - 1 : t5.length, i11 = Math.min(e7, o5), s8 = [...t5.slice(0, i11), n7, ...t5.slice(i11)]; + return i11 === t5.length && s8.push(""), s8; +}; +var $p2 = (t5, e7, n7, a4, o5) => { + hp2(e7), wp2(e7, n7), up2("key", a4), fp2(o5), void 0 !== n7 && lp2(n7); + const i11 = t5.split("\n"), s8 = Bm(i11, t5.endsWith("\n")), r8 = Ip2(e7, n7), c5 = ((t6, e8, n8) => { + const a5 = n8.toLowerCase(); + let o6 = false; + for (const n9 of t6) if ("header" === n9.kind) o6 = Cp2(n9, e8); + else if (o6 && "entry" === n9.kind && n9.key.toLowerCase() === a5) return n9; + })(s8, r8, a4); + if (void 0 !== c5) return ((t6, e8, n8, a5) => { + const o6 = n8.sharesHeaderLine ? ((t7, e9) => { + for (const n9 of t7) if ("header" === n9.kind && n9.line === e9.startLine) return n9; + })(e8, n8) : void 0, i12 = void 0 !== o6 ? [dp2(o6.section, o6.subsection), a5] : [a5], s9 = [...t6.slice(0, n8.startLine), ...i12, ...t6.slice(n8.endLine)]; + return (n8.endLine === t6.length ? [...s9, ""] : s9).join("\n"); + })(i11, s8, c5, cp2(a4, o5)); + const d6 = Sp2(s8, r8); + return void 0 === d6 ? `${"" === t5 ? "" : t5.endsWith("\n") ? t5 : `${t5} +`}${dp2(e7, n7)} +${cp2(a4, o5)} +` : Dp2(i11, d6, cp2(a4, o5), t5).join("\n"); +}; +var Ep2 = (t5) => [t5.header.line, ...t5.bodyTokens.flatMap((t6) => "entry" === t6.kind ? Lp2([t6]) : [t6.line])]; +var Lp2 = (t5) => t5.flatMap((t6) => Array.from({ length: t6.endLine - t6.startLine }, (e7, n7) => t6.startLine + n7)); +var Mp2 = (t5, e7, n7, a4) => { + hp2(e7), void 0 !== n7 && lp2(n7), up2("key", a4); + const o5 = t5.split("\n"), i11 = Ip2(e7, n7), s8 = ((t6) => { + const e8 = []; + for (let n8 = 0; n8 < t6.length; n8++) { + const a5 = t6[n8]; + if ("header" !== a5.kind) continue; + const o6 = []; + let i12 = n8 + 1; + for (; i12 < t6.length && "header" !== t6[i12].kind; ) o6.push(t6[i12]), i12++; + e8.push({ header: a5, bodyTokens: o6 }), n8 = i12 - 1; + } + return e8; + })(Bm(o5, t5.endsWith("\n"))), r8 = a4.toLowerCase(), c5 = s8.filter((t6) => Cp2(t6.header, i11)).map((t6) => ((t7, e8) => { + const n8 = ((t8, e9) => t8.bodyTokens.flatMap((t9) => "entry" === t9.kind && t9.key.toLowerCase() === e9 ? [{ startLine: t9.startLine, endLine: t9.endLine }] : []))(t7, e8); + return 0 === n8.length ? { excluded: [] } : ((t8, e9) => t8.header.hasComment || t8.bodyTokens.some((t9) => "comment" === t9.kind || "entry" === t9.kind && t9.key.toLowerCase() !== e9))(t7, e8) ? n8.some((e9) => e9.startLine === t7.header.line) ? { excluded: Lp2(n8).filter((e9) => e9 !== t7.header.line), headerRewrite: { line: t7.header.line, text: dp2(t7.header.section, t7.header.subsection) } } : { excluded: Lp2(n8) } : { excluded: Ep2(t7) }; + })(t6, r8)); + return ((t6, e8) => { + const n8 = new Set(e8.flatMap((t7) => t7.excluded)), a5 = new Map(e8.flatMap((t7) => t7.headerRewrite ? [[t7.headerRewrite.line, t7.headerRewrite.text]] : [])); + if (0 === n8.size && 0 === a5.size) return; + const o6 = []; + for (const [e9, i12] of t6.entries()) n8.has(e9) || o6.push(a5.get(e9) ?? i12); + return (n8.has(t6.length - 1) ? [...o6, ""] : o6).join("\n"); + })(o5, c5) ?? t5; +}; +var Pp2 = async (t5, e7) => { + const n7 = `${oo2(t5)}/config`, a4 = await kp2(t5, n7); + Ap2(a4, n7); + const o5 = e7.reduce((t6, e8) => $p2(t6, e8.section, e8.subsection, e8.key, e8.value), a4); + await t5.fs.writeUtf8(n7, o5), cr2(t5), Xs2(t5); +}; +var Np2 = async (t5, e7) => { + await Pp2(t5, Object.entries(e7).map(([t6, e8]) => ({ section: "core", key: t6, value: e8 }))); +}; +var Tp2 = (t5, e7) => "set" === e7.kind ? $p2(t5, e7.section, e7.subsection, e7.key, e7.value) : "appendEntry" === e7.kind ? Bp2(t5, e7.section, e7.subsection, e7.key, e7.value) : "removeEntry" === e7.kind ? Mp2(t5, e7.section, e7.subsection, e7.key) : "removeSection" === e7.kind ? gp2(t5, yp2({ section: e7.section, subsection: e7.subsection })) : vp2(t5, yp2({ section: e7.section, subsection: e7.from }), { section: e7.section, subsection: e7.to }); +var Bp2 = (t5, e7, n7, a4, o5) => { + hp2(e7), wp2(e7, n7), up2("key", a4), fp2(o5), void 0 !== n7 && lp2(n7); + const i11 = t5.split("\n"), s8 = Bm(i11, t5.endsWith("\n")), r8 = Ip2(e7, n7), c5 = Sp2(s8, r8); + return void 0 === c5 ? `${"" === t5 ? "" : t5.endsWith("\n") ? t5 : `${t5} +`}${dp2(e7, n7)} +${cp2(a4, o5)} +` : Dp2(i11, c5, cp2(a4, o5), t5).join("\n"); +}; +var Rp2 = async (t5, e7) => { + const n7 = `${oo2(t5)}/config`, a4 = await kp2(t5, n7); + Ap2(a4, n7); + const o5 = e7.reduce(Tp2, a4); + await t5.fs.writeUtf8(n7, o5), cr2(t5), Xs2(t5); +}; +var Ap2 = (t5, e7) => { try { - return Cg(t5, e6); + return jm(t5, e7); } catch (t6) { - if (t6 instanceof o && "CONFIG_PARSE_ERROR" === t6.data.code && void 0 !== t6.data.partialSectionName) throw Oe(t6.data.partialSectionName, e6); + if (t6 instanceof c && "CONFIG_PARSE_ERROR" === t6.data.code && void 0 !== t6.data.partialSectionName) throw Le(t6.data.partialSectionName, e7); throw t6; } }; -var pw2 = async ({ ctx: t5, key: e6, value: n6, scope: a6 }) => { - const o6 = jn(e6); - ((t6, e7) => { - for (let n7 = 0; n7 < e7.length; n7 += 1) if (0 === e7.charCodeAt(n7)) throw pe(t6, n7); - })(e6, n6); - const i7 = a6 ?? "local"; - await (async (t6, e7) => { - const a7 = await Mh2(t6, e7), i8 = await Jh2(t6, a7); - mw2(i8, a7); - const s9 = iw2(i8, o6.section, o6.subsection, o6.name, n6); - await t6.fs.writeUtf8(a7, s9), Ki2(t6), Th2(t6); - })(t5, i7); -}; -var yw2 = async ({ ctx: t5, key: e6, scope: n6 }) => { - const a6 = jn(e6), o6 = n6 ?? "local", i7 = await Mh2(t5, o6), s9 = await Jh2(t5, i7), r6 = mw2(s9, i7), c6 = Dh2(r6, a6); - if (0 === c6.length) return; - if (c6.length > 1) throw $e(e6, c6.length, "remove", o6); - const d5 = dw2(s9, a6.section, a6.subsection, a6.name); - await t5.fs.writeUtf8(i7, d5), Ki2(t5), Th2(t5); -}; -var gw2 = async ({ ctx: t5, key: e6, scope: n6 }) => { - const a6 = jn(e6), o6 = n6 ?? "local", i7 = await Mh2(t5, o6), s9 = await Jh2(t5, i7), r6 = mw2(s9, i7); - if (0 === Dh2(r6, a6).length) return; - const c6 = dw2(s9, a6.section, a6.subsection, a6.name); - await t5.fs.writeUtf8(i7, c6), Ki2(t5), Th2(t5); -}; -var vw2 = (t5) => `'${t5.replaceAll("'", "'\\''")}'`; -var bw2 = new Uint8Array(0); -var kw2 = new TextDecoder(); -var xw2 = /-----BEGIN (?:PGP|SSH) SIGNATURE-----[\s\S]*-----END (?:PGP|SSH) SIGNATURE-----/; -var Iw2 = (t5) => t5.keyOverride ?? t5.signingKey ?? t5.fallbackIdent; -var Cw2 = (t5) => xw2.test(t5); -var Sw2 = (t5) => t5 instanceof o && "FILE_NOT_FOUND" === t5.data.code; -var $w2 = async (t5, e6) => { +var _p2 = async ({ ctx: t5, key: e7, value: n7, scope: a4 }) => { + const o5 = Jn(e7); + ((t6, e8) => { + for (let n8 = 0; n8 < e8.length; n8 += 1) if (0 === e8.charCodeAt(n8)) throw Ie(t6, n8); + })(e7, n7); + const i11 = a4 ?? "local"; + await (async (t6, e8) => { + const a5 = await Vs2(t6, e8), i12 = await kp2(t6, a5); + Ap2(i12, a5); + const s8 = $p2(i12, o5.section, o5.subsection, o5.name, n7); + await t6.fs.writeUtf8(a5, s8), cr2(t6), Xs2(t6); + })(t5, i11); +}; +var Fp2 = async ({ ctx: t5, key: e7, scope: n7 }) => { + const a4 = Jn(e7), o5 = n7 ?? "local", i11 = await Vs2(t5, o5), s8 = await kp2(t5, i11), r8 = Ap2(s8, i11), c5 = zs2(r8, a4); + if (0 === c5.length) return; + if (c5.length > 1) throw Re(e7, c5.length, "remove", o5); + const d6 = Mp2(s8, a4.section, a4.subsection, a4.name); + await t5.fs.writeUtf8(i11, d6), cr2(t5), Xs2(t5); +}; +var Up2 = async ({ ctx: t5, key: e7, scope: n7 }) => { + const a4 = Jn(e7), o5 = n7 ?? "local", i11 = await Vs2(t5, o5), s8 = await kp2(t5, i11), r8 = Ap2(s8, i11); + if (0 === zs2(r8, a4).length) return; + const c5 = Mp2(s8, a4.section, a4.subsection, a4.name); + await t5.fs.writeUtf8(i11, c5), cr2(t5), Xs2(t5); +}; +var zp2 = (t5) => `'${t5.replaceAll("'", "'\\''")}'`; +var jp2 = new Uint8Array(0); +var Hp2 = new TextDecoder(); +var Wp2 = /-----BEGIN (?:PGP|SSH) SIGNATURE-----[\s\S]*-----END (?:PGP|SSH) SIGNATURE-----/; +var Gp2 = (t5) => t5.keyOverride ?? t5.signingKey ?? t5.fallbackIdent; +var Kp2 = (t5) => Wp2.test(t5); +var qp2 = (t5) => t5 instanceof c && "FILE_NOT_FOUND" === t5.data.code; +var Vp2 = async (t5, e7) => { try { - await t5.fs.rm(e6); + await t5.fs.rm(e7); } catch (t6) { - if (!Sw2(t6)) throw t6; + if (!qp2(t6)) throw t6; } }; -var Dw2 = async (t5, e6, n6) => { - const a6 = t5.command; - return void 0 === a6 ? { ok: false, reason: "off-node" } : "x509" === n6.format ? { ok: false, reason: "unsupported-format" } : "ssh" === n6.format ? (async (t6, e7, n7, a7) => { - const o6 = a7.program ?? "ssh-keygen", i7 = `${t6.layout.gitDir}/GIT_SIGNING_BUFFER`, s9 = `${i7}.sig`; - await t6.fs.write(i7, n7); +var Yp2 = async (t5, e7, n7) => { + const a4 = t5.command; + return void 0 === a4 ? { ok: false, reason: "off-node" } : "x509" === n7.format ? { ok: false, reason: "unsupported-format" } : "ssh" === n7.format ? (async (t6, e8, n8, a5) => { + const o5 = a5.program ?? "ssh-keygen", i11 = `${t6.layout.gitDir}/GIT_SIGNING_BUFFER`, s8 = `${i11}.sig`; + await t6.fs.write(i11, n8); try { - if (0 !== (await e7.run({ command: `${vw2(o6)} -Y sign -n git -f ${vw2(a7.selector)} ${vw2(i7)}`, cwd: $a2(t6.layout), env: { GIT_DIR: t6.layout.gitDir }, ...void 0 !== t6.signal ? { signal: t6.signal } : {} })).exitCode) return { ok: false, reason: "signer-failed" }; - const n8 = await (async (t7, e8) => { + if (0 !== (await e8.run({ command: `${zp2(o5)} -Y sign -n git -f ${zp2(a5.selector)} ${zp2(i11)}`, cwd: ao2(t6.layout), env: { GIT_DIR: t6.layout.gitDir }, ...void 0 !== t6.signal ? { signal: t6.signal } : {} })).exitCode) return { ok: false, reason: "signer-failed" }; + const n9 = await (async (t7, e9) => { try { - return kw2.decode(await t7.fs.read(e8)); + return Hp2.decode(await t7.fs.read(e9)); } catch (t8) { - if (Sw2(t8)) return; + if (qp2(t8)) return; throw t8; } - })(t6, s9); - return void 0 !== n8 && Cw2(n8) ? { ok: true, armor: n8 } : { ok: false, reason: "signer-failed" }; + })(t6, s8); + return void 0 !== n9 && Kp2(n9) ? { ok: true, armor: n9 } : { ok: false, reason: "signer-failed" }; } finally { - await $w2(t6, i7), await $w2(t6, s9); - } - })(t5, a6, e6, n6) : (async (t6, e7, n7, a7) => { - const o6 = a7.program ?? "gpg", i7 = await e7.run({ command: `${vw2(o6)} --status-fd=2 -bsau ${vw2(a7.selector)}`, cwd: $a2(t6.layout), env: { GIT_DIR: t6.layout.gitDir }, stdin: n7, ...void 0 !== t6.signal ? { signal: t6.signal } : {} }), s9 = kw2.decode(i7.stdout ?? bw2); - return 0 === i7.exitCode && Cw2(s9) ? { ok: true, armor: s9 } : { ok: false, reason: "signer-failed" }; - })(t5, a6, e6, n6); -}; -var Ew2 = (t5, e6) => e6 ? t5.data.parents.slice(0, 1) : t5.data.parents; -async function* Ow2(t5, e6) { - const n6 = await pu2(t5, e6.shallow), a6 = e6.verifyHash ?? true, o6 = e6.ignoreMissing ?? false, i7 = /* @__PURE__ */ new Set(), s9 = t5.config?.parallelism ?? 8, r6 = { heap: new qm(Jm), seen: new Set(e6.from), until: new Set(e6.until ?? []), firstParent: e6.firstParent ?? false, bodies: Hf2(s9, (e7) => Gf2(t5, e7, { verifyHash: a6, ignoreMissing: o6, missing: i7, shallow: n6 })), ignoreMissing: o6 }; - for (await Lw2(t5, r6); r6.heap.size() > 0; ) { - if (t5.signal?.aborted) throw I(); - const { oid: e7, value: a7 } = r6.heap.pop(), o7 = await a7; - r6.bodies.forget(e7), void 0 !== o7 && (yield { commit: o7, frontierEmpty: 0 === r6.heap.size(), frontier: () => r6.heap.entries().map((t6) => t6.oid) }, n6.has(o7.id) || await Mw2(t5, r6, o7)); - } -} -var Lw2 = async (t5, e6) => { - for (const n6 of e6.seen) e6.until.has(n6) || await Pw2(t5, e6, n6); -}; -var Mw2 = async (t5, e6, n6) => { - for (const a6 of Ew2(n6, e6.firstParent)) e6.seen.has(a6) || e6.until.has(a6) || (e6.seen.add(a6), await Pw2(t5, e6, a6)); -}; -var Pw2 = async (t5, e6, n6) => { - const a6 = await tl2(t5, n6), o6 = e6.bodies.start(n6); - if (void 0 !== a6 && !e6.ignoreMissing) return void e6.heap.push({ oid: n6, date: a6.committerDate, value: o6 }); - const i7 = await o6; - void 0 !== i7 && e6.heap.push({ oid: n6, date: a6?.committerDate ?? i7.data.committer.timestamp, value: o6 }); -}; -var Tw2 = async (t5, e6) => { - let n6 = await Ui2(t5, e6), a6 = false, o6 = 0; - for (let e7 = 0; "tag" === n6.type; e7 += 1) { - if (No2(e7)) return; - a6 || (o6 = n6.data.tagger?.timestamp ?? 0), a6 = true, n6 = await Ui2(t5, n6.data.object); - } - if ("commit" === n6.type) return { commit: n6, viaTag: a6, taggerDate: o6 }; -}; -var Nw2 = () => { - const t5 = /* @__PURE__ */ new Map(); - return { sampled: (e6) => t5.get(e6), record: (e6, n6) => { - t5.set(e6, n6); - } }; -}; -var Rw2 = async (t5) => { - const e6 = await eu2(t5, "HEAD").catch((t6) => { - if (!(t6 instanceof o && "REF_NOT_FOUND" === t6.data.code)) throw t6; + await Vp2(t6, i11), await Vp2(t6, s8); + } + })(t5, a4, e7, n7) : (async (t6, e8, n8, a5) => { + const o5 = a5.program ?? "gpg", i11 = await e8.run({ command: `${zp2(o5)} --status-fd=2 -bsau ${zp2(a5.selector)}`, cwd: ao2(t6.layout), env: { GIT_DIR: t6.layout.gitDir }, stdin: n8, ...void 0 !== t6.signal ? { signal: t6.signal } : {} }), s8 = Hp2.decode(i11.stdout ?? jp2); + return 0 === i11.exitCode && Kp2(s8) ? { ok: true, armor: s8 } : { ok: false, reason: "signer-failed" }; + })(t5, a4, e7, n7); +}; +var Xp2 = (t5, e7) => e7 ? t5.data.parents.slice(0, 1) : t5.data.parents; +async function* Zp2(t5, e7) { + const n7 = await ll2(t5, e7.shallow), a4 = e7.verifyHash ?? false, o5 = e7.ignoreMissing ?? false, i11 = /* @__PURE__ */ new Set(), s8 = Oo2(t5, "ioBound"), r8 = { heap: new pw(ww), seen: new Set(e7.from), until: new Set(e7.until ?? []), firstParent: e7.firstParent ?? false, bodies: $o2(s8, (e8) => Vh2(t5, e8, { verifyHash: a4, ignoreMissing: o5, missing: i11, shallow: n7 })), ignoreMissing: o5 }; + for (await Jp2(t5, r8); r8.heap.size() > 0; ) { + if (t5.signal?.aborted) throw A(); + const { oid: e8, value: a5 } = r8.heap.pop(), o6 = await a5; + r8.bodies.forget(e8), void 0 !== o6 && (yield { commit: o6, frontierEmpty: 0 === r8.heap.size(), frontier: () => r8.heap.entries().map((t6) => t6.oid) }, n7.has(o6.id) || await Qp2(t5, r8, o6)); + } +} +var Jp2 = async (t5, e7) => { + for (const n7 of e7.seen) e7.until.has(n7) || await tm2(t5, e7, n7); +}; +var Qp2 = async (t5, e7, n7) => { + const a4 = Xp2(n7, e7.firstParent).filter((t6) => !e7.seen.has(t6) && !e7.until.has(t6) && (e7.seen.add(t6), true)), o5 = await Promise.allSettled(a4.map((n8) => em2(t5, e7, n8))); + for (const t6 of o5) if ("rejected" === t6.status) throw t6.reason; + for (const t6 of o5) "fulfilled" === t6.status && void 0 !== t6.value && e7.heap.push(t6.value); +}; +var tm2 = async (t5, e7, n7) => { + const a4 = await em2(t5, e7, n7); + void 0 !== a4 && e7.heap.push(a4); +}; +var em2 = async (t5, e7, n7) => { + const a4 = await aw2(t5, n7), o5 = e7.bodies.start(n7); + if (void 0 !== a4 && !e7.ignoreMissing) return { oid: n7, date: a4.committerDate, value: o5 }; + const i11 = await o5; + return void 0 !== i11 ? { oid: n7, date: a4?.committerDate ?? i11.data.committer.timestamp, value: o5 } : void 0; +}; +var nm2 = async (t5, e7) => { + let n7 = await Ts2(t5, e7), a4 = false, o5 = 0; + for (let e8 = 0; "tag" === n7.type; e8 += 1) { + if (Di2(e8)) return; + a4 || (o5 = n7.data.tagger?.timestamp ?? 0), a4 = true, n7 = await Ts2(t5, n7.data.object); + } + if ("commit" === n7.type) return { commit: n7, viaTag: a4, taggerDate: o5 }; +}; +var am2 = /* @__PURE__ */ new WeakMap(); +var om2 = async (t5) => { + const e7 = await Wf2(t5, "HEAD").catch((t6) => { + if (!(t6 instanceof c && "REF_NOT_FOUND" === t6.data.code)) throw t6; }); - if (void 0 === e6) return; - const n6 = await Ui2(t5, e6); - if ("commit" !== n6.type) throw Bt("commit", n6.type, e6); - return dh2(t5, n6.data.tree); -}; -var _w2 = async (t5, e6) => void 0 !== await Ti2(t5).lookup(e6) || t5.fs.exists(Oa2(Da2(t5), e6)); -async function Fw2(t5, e6) { - const n6 = false !== e6?.includePacks, a6 = true === e6?.accessiblePacksOnly, o6 = /* @__PURE__ */ new Set(); - if (await (async function(t6, e7) { - const n7 = Da2(t6); - for (const a7 of Uw2) { - const o7 = _a2(n7, a7); - if (!await t6.fs.exists(o7)) continue; - const i7 = await t6.fs.readdir(o7); - for (const t7 of i7) t7.isFile && e7.add(`${a7}${t7.name}`); - } - })(t5, o6), n6) { - const e7 = Ti2(t5), n7 = a6 ? (await e7.health()).accessible : await e7.all(); - await (async function(t6, e8) { - for (const n8 of t6) for (const t7 of xh(await n8.index())) e8.add(t7); - })(n7, o6); - } - return [...o6].sort(); -} -var Uw2 = Array.from({ length: 256 }, (t5, e6) => e6.toString(16).padStart(2, "0")); -var Aw2 = async (t5, e6) => { - const n6 = await Ui2(t5, e6); - if ("commit" !== n6.type) throw E(`bisectMidpoint: ${e6} is not a commit`); - const a6 = Fm(n6, await mu2(t5)); - return { date: a6.data.committer.timestamp, parents: a6.data.parents }; -}; -var Bw2 = (t5, e6) => t5.date > e6.date || t5.date === e6.date && t5.ins < e6.ins; -var jw2 = async (t5, e6, n6) => { - const a6 = await (async (t6, e7) => { - const n7 = /* @__PURE__ */ new Map(), a7 = [...e7]; - let o7 = 0; - for (; o7 < a7.length; ) { - const e8 = a7[o7++]; - if (n7.has(e8)) continue; - const i8 = await Aw2(t6, e8); - n7.set(e8, i8); - for (const t7 of i8.parents) n7.has(t7) || a7.push(t7); - } - return n7; - })(t5, e6), o6 = await (async (t6, e7, n7) => { - const a7 = /* @__PURE__ */ ((t7) => { - const e8 = /* @__PURE__ */ new Map(); - return async (n8) => { - const a8 = e8.get(n8); - if (void 0 !== a8) return a8; - const o8 = await Aw2(t7, n8); - return e8.set(n8, o8), o8; + if (void 0 === e7) return; + const a4 = await Ts2(t5, e7); + if ("commit" !== a4.type) throw Kt("commit", a4.type, e7); + const { maxDepth: o5 } = await Ul2(t5), i11 = (function(t6) { + if (!zo2(t6)) return; + const e8 = am2.get(t6.session); + if (void 0 !== e8) return e8; + const n7 = a(0.0625 * t6.deltaCache.maxSize, 65536); + return am2.set(t6.session, n7), n7; + })(t5), r8 = (function(t6, e8) { + return `${t6}:${e8}`; + })(a4.data.tree, o5), c5 = i11?.get(r8); + if (void 0 !== c5) return c5; + const d6 = await Wy2(t5, a4.data.tree); + return i11?.set(r8, d6, (function(t6) { + let e8 = 48; + for (const [n7, a5] of t6.entries) e8 += n7.length + a5.id.length + 110; + return e8; + })(d6)), d6; +}; +var im2 = async (t5, e7) => void 0 !== await Ls2(t5).lookup(e7) || t5.fs.exists(so2(oo2(t5), e7)); +async function sm2(t5, e7) { + const n7 = false !== e7?.includePacks, a4 = true === e7?.accessiblePacksOnly, o5 = /* @__PURE__ */ new Set(); + if (await (async function(t6, e8) { + const n8 = oo2(t6), a5 = await Lo2(t6, "ioBound", dm2, (e9) => (async function(t7, e10, n9) { + const a6 = wo2(e10, n9); + if (!await t7.fs.exists(a6)) return []; + const o6 = await t7.fs.readdir(a6), i11 = t7.hashConfig.hexLength - n9.length, s8 = []; + for (const t8 of o6) t8.isFile && cm2(t8.name, i11) && s8.push(`${n9}${t8.name}`); + return s8; + })(t6, n8, e9)); + for (const t7 of a5) for (const n9 of t7) e8.add(n9); + })(t5, o5), n7) { + const e8 = Ls2(t5), n8 = a4 ? (await e8.health()).accessible : await e8.all(); + await (async function(t6, e9) { + for (const n9 of t6) for (const t7 of Vg(await n9.index())) e9.add(t7); + })(n8, o5); + } + return [...o5].sort(); +} +var rm2 = /^[0-9a-f]+$/; +function cm2(t5, e7) { + return t5.length === e7 && rm2.test(t5); +} +var dm2 = Array.from({ length: 256 }, (t5, e7) => e7.toString(16).padStart(2, "0")); +var um2 = (t5, e7) => t5.worktreeFs?.(e7) ?? t5.fs; +var fm2 = (t5, e7, n7) => { + const a4 = oo2(t5), o5 = `${a4}/worktrees/${e7}`, { promisor: i11, hooks: s8, command: r8, ...c5 } = t5; + return bw2(c5, { fs: um2(t5, n7), layout: Object.freeze({ workDir: n7, gitDir: o5, commonDir: a4, bare: false, refStorage: t5.layout.refStorage, ...void 0 !== t5.layout.homeDir ? { homeDir: t5.layout.homeDir } : {}, ...Ws(t5.layout) }), cwd: n7 }); +}; +var lm2 = async (t5, e7) => { + const n7 = await Ts2(t5, e7); + if ("commit" !== n7.type) throw v(`bisectMidpoint: ${e7} is not a commit`); + const a4 = Jp(n7, await fl2(t5)); + return { date: a4.data.committer.timestamp, parents: a4.data.parents }; +}; +var hm2 = (t5, e7) => t5.date > e7.date || t5.date === e7.date && t5.ins < e7.ins; +var wm2 = async (t5, e7, n7) => { + const a4 = await (async (t6, e8) => { + const n8 = /* @__PURE__ */ new Map(), a5 = [...e8]; + let o6 = 0; + for (; o6 < a5.length; ) { + const e9 = a5[o6++]; + if (n8.has(e9)) continue; + const i12 = await lm2(t6, e9); + n8.set(e9, i12); + for (const t7 of i12.parents) n8.has(t7) || a5.push(t7); + } + return n8; + })(t5, e7), o5 = await (async (t6, e8, n8) => { + const a5 = /* @__PURE__ */ ((t7) => { + const e9 = /* @__PURE__ */ new Map(); + return async (n9) => { + const a6 = e9.get(n9); + if (void 0 !== a6) return a6; + const o7 = await lm2(t7, n9); + return e9.set(n9, o7), o7; }; - })(t6), o7 = await a7(e7); - if (n7.has(e7)) return []; - const i8 = await (async (t7, e8, n8, a8) => { - let o8 = 0; - const i9 = /* @__PURE__ */ new Set(), s9 = [], r6 = new qm(Bw2); - for (r6.push({ id: e8, date: n8, ins: o8++ }); r6.size() > 0; ) { - const { id: e9 } = r6.pop(); - if (i9.has(e9)) continue; - i9.add(e9); - const n9 = await t7(e9); - s9.push({ id: e9, date: n9.date, parents: n9.parents }); - for (const e10 of n9.parents) { - if (i9.has(e10) || a8.has(e10)) continue; - const n10 = await t7(e10); - r6.push({ id: e10, date: n10.date, ins: o8++ }); - } - } - return s9; - })(a7, e7, o7.date, n7); + })(t6), o6 = await a5(e8); + if (n8.has(e8)) return []; + const i12 = await (async (t7, e9, n9, a6) => { + let o7 = 0; + const i13 = /* @__PURE__ */ new Set(), s8 = [], r8 = new pw(hm2); + for (r8.push({ id: e9, date: n9, ins: o7++ }); r8.size() > 0; ) { + const { id: e10 } = r8.pop(); + if (i13.has(e10)) continue; + i13.add(e10); + const n10 = await t7(e10); + s8.push({ id: e10, date: n10.date, parents: n10.parents }); + for (const e11 of n10.parents) { + if (i13.has(e11) || a6.has(e11)) continue; + const n11 = await t7(e11); + r8.push({ id: e11, date: n11.date, ins: o7++ }); + } + } + return s8; + })(a5, e8, o6.date, n8); return ((t7) => { - const e8 = /* @__PURE__ */ new Set(); - for (const n8 of t7) e8.add(n8.id); - return t7.slice().reverse().map((t8) => ({ id: t8.id, parents: t8.parents.filter((t9) => e8.has(t9)), date: t8.date })); - })(i8); - })(t5, n6, a6), i7 = Uy(o6); - return void 0 === i7 ? void 0 : ((t6) => ({ nextCommit: t6.nextCommit, candidateCount: t6.candidateCount, remainingIfGood: t6.candidateCount - t6.reaches - 1, remainingIfBad: t6.reaches - 1, remainingSteps: Ly(t6.candidateCount) }))(i7); -}; -var zw2 = (t5, e6) => void 0 !== e6 ? { ...t5, stage: 0, skipWorktree: false } : { ...t5, stage: 0 }; -var Ww2 = (t5, e6) => t5.path < e6.path ? -1 : t5.path > e6.path ? 1 : 0; -var Hw2 = async (t5, e6) => { - const n6 = ((t6) => { - const e7 = /* @__PURE__ */ new Map(); - for (const n7 of t6.entries) 0 === n7.flags.stage && e7.set(n7.path, n7); - return e7; - })(e6.currentIndex), a6 = await (async (t6, e7) => { - const n7 = []; - for await (const a7 of yd2(t6, e7)) a7.mode !== Wt.DIRECTORY && n7.push({ path: a7.path, id: a7.id, mode: a7.mode }); - return n7; - })(t5, e6.targetTree), o6 = a6.map((t6) => ((t7, e7, n7) => { - if (to(t7.path, Qr, t7.mode), void 0 !== n7 && !n7(t7.path)) return er(t7); - const a7 = e7.get(t7.path); - return void 0 !== a7 && a7.id === t7.id && a7.mode === t7.mode ? { ...a7, flags: zw2(a7.flags, n7) } : ((t8) => ({ ctimeSeconds: 0, ctimeNanoseconds: 0, mtimeSeconds: 0, mtimeNanoseconds: 0, dev: 0, ino: 0, mode: t8.mode, uid: 0, gid: 0, fileSize: 0, id: t8.id, flags: Zn, path: t8.path }))(t7); - })(t6, n6, e6.sparse)); - return o6.sort(Ww2), o6; -}; -async function Gw2(t5, e6) { - return rr(e6.tagger), qd2(t5, { type: "tag", id: "", data: { object: e6.object, objectType: e6.objectType, tagName: e6.tagName, tagger: e6.tagger, message: e6.message, ...void 0 !== e6.gpgSignature ? { gpgSignature: e6.gpgSignature } : {}, extraHeaders: e6.extraHeaders ?? [] } }); -} -async function* Kw2(t5, e6) { - const n6 = { emitted: /* @__PURE__ */ new Set(), cap: e6.maxObjects ?? ho2 }, a6 = await (async (t6, e7, n7) => { - const a7 = []; - for (const o6 of n7) { - const n8 = await Wf2(t6, o6, (t7) => { - zf2(e7, t7); + const e9 = /* @__PURE__ */ new Set(); + for (const n9 of t7) e9.add(n9.id); + return t7.slice().reverse().map((t8) => ({ id: t8.id, parents: t8.parents.filter((t9) => e9.has(t9)), date: t8.date })); + })(i12); + })(t5, n7, a4), i11 = JE(o5); + return void 0 === i11 ? void 0 : ((t6) => ({ nextCommit: t6.nextCommit, candidateCount: t6.candidateCount, remainingIfGood: t6.candidateCount - t6.reaches - 1, remainingIfBad: t6.reaches - 1, remainingSteps: KE(t6.candidateCount) }))(i11); +}; +var ym2 = (t5, e7) => void 0 !== e7 ? { ...t5, stage: 0, skipWorktree: false } : { ...t5, stage: 0 }; +var pm2 = (t5, e7) => t5.path < e7.path ? -1 : t5.path > e7.path ? 1 : 0; +var mm2 = async (t5, e7) => { + const n7 = ((t6) => { + const e8 = /* @__PURE__ */ new Map(); + for (const n8 of t6.entries) 0 === n8.flags.stage && e8.set(n8.path, n8); + return e8; + })(e7.currentIndex), a4 = await (async (t6, e8) => { + const n8 = []; + for await (const a5 of af2(t6, e8)) a5.mode !== Qt.DIRECTORY && n8.push({ path: a5.path, id: a5.id, mode: a5.mode }); + return n8; + })(t5, e7.targetTree), o5 = a4.map((t6) => ((t7, e8, n8) => { + if (bo(t7.path, wo, t7.mode), void 0 !== n8 && !n8(t7.path)) return ir(t7); + const a5 = e8.get(t7.path); + return void 0 !== a5 && a5.id === t7.id && a5.mode === t7.mode ? { ...a5, flags: ym2(a5.flags, n8) } : ((t8) => ({ ctimeSeconds: 0, ctimeNanoseconds: 0, mtimeSeconds: 0, mtimeNanoseconds: 0, dev: 0, ino: 0, mode: t8.mode, uid: 0, gid: 0, fileSize: 0, id: t8.id, flags: sr, path: t8.path }))(t7); + })(t6, n7, e7.sparse)); + return o5.sort(pm2), o5; +}; +async function gm2(t5, e7) { + return dr(e7.tagger), Rf2(t5, { type: "tag", id: "", data: { object: e7.object, objectType: e7.objectType, tagName: e7.tagName, tagger: e7.tagger, message: e7.message, ...void 0 !== e7.gpgSignature ? { gpgSignature: e7.gpgSignature } : {}, extraHeaders: e7.extraHeaders ?? [] } }); +} +async function* vm2(t5, e7) { + const n7 = { emitted: /* @__PURE__ */ new Set(), cap: e7.maxObjects ?? ii2 }, a4 = await (async (t6, e8, n8) => { + const a5 = []; + for (const o5 of n8) { + const n9 = await qh2(t6, o5, (t7) => { + Kh2(e8, t7); }); - a7.push(n8); - } - return a7; - })(t5, n6, e6.wants); - for (const t6 of n6.emitted) yield t6; - yield* (async function* (t6, e7, n7, a7) { - for await (const o6 of nl2(t6, { from: n7, until: a7, ignoreMissing: true })) { - zf2(e7, o6.id) && (yield o6.id), zf2(e7, o6.data.tree) && (yield o6.data.tree); - for await (const n8 of yd2(t6, o6.data.tree, { recursive: true })) Ro2(n8.mode) || zf2(e7, n8.id) && (yield n8.id); - } - })(t5, n6, a6, e6.haves); -} -var qw2 = async (t5, e6, n6 = {}) => { - if (t5.signal?.aborted) throw I(); - if (e6.byteLength > fo2) throw ce("(hashBlob-content)", e6.byteLength, fo2); - const { id: a6 } = await Oc2(t5, { type: "blob", content: e6 }); - return true !== n6.write ? a6 : qd2(t5, { type: "blob", id: a6, content: e6 }); -}; -var Vw2 = async (t5, e6) => { - if (t5.signal?.aborted) throw I(); - if (0 === e6.length) return []; - const n6 = await Xd2(t5), a6 = [...n6.base], o6 = /* @__PURE__ */ new Set(), i7 = async (t6) => { - for (const e7 of ((t7) => { - const e8 = t7.split("/"); - if (e8.length <= 1) return []; - const n7 = []; - for (let t8 = 1; t8 < e8.length; t8 += 1) n7.push(e8.slice(0, t8).join("/")); - return n7; + a5.push(n9); + } + return a5; + })(t5, n7, e7.wants); + for (const t6 of n7.emitted) yield t6; + yield* (async function* (t6, e8, n8, a5) { + for await (const o5 of iw2(t6, { from: n8, until: a5, ignoreMissing: true })) { + Kh2(e8, o5.id) && (yield o5.id), Kh2(e8, o5.data.tree) && (yield o5.data.tree); + for await (const n9 of af2(t6, o5.data.tree, { recursive: true })) $i2(n9.mode) || Kh2(e8, n9.id) && (yield n9.id); + } + })(t5, n7, a4, e7.haves); +} +var km2 = async (t5, e7, n7 = {}) => { + if (t5.signal?.aborted) throw A(); + if (e7.byteLength > ai2) throw he("(hashBlob-content)", e7.byteLength, ai2); + const { id: a4 } = await ru2(t5, { type: "blob", content: e7 }); + return true !== n7.write ? a4 : Rf2(t5, { type: "blob", id: a4, content: e7 }); +}; +var bm2 = async (t5, e7) => { + if (t5.signal?.aborted) throw A(); + if (0 === e7.length) return []; + const n7 = await Ff2(t5), a4 = [...n7.base], o5 = /* @__PURE__ */ new Set(), i11 = async (t6) => { + for (const e8 of ((t7) => { + const e9 = t7.split("/"); + if (e9.length <= 1) return []; + const n8 = []; + for (let t8 = 1; t8 < e9.length; t8 += 1) n8.push(e9.slice(0, t8).join("/")); + return n8; })(t6)) { - if (o6.has(e7)) continue; - o6.add(e7); - const t7 = await n6.loadDirRules(e7); - t7.length > 0 && a6.push({ basedir: e7, rules: t7, kind: "gitignore" }); - } - }, s9 = []; - for (const n7 of e6) { - if (t5.signal?.aborted) throw I(); - await i7(n7.path); - const e7 = pi(a6, n7.path, true === n7.isDirectory); - if ("ignored" !== e7.verdict || void 0 === e7.level || void 0 === e7.ruleIndex) { - s9.push({ path: n7.path, ignored: false }); + if (o5.has(e8)) continue; + o5.add(e8); + const t7 = await n7.loadDirRules(e8); + t7.length > 0 && a4.push({ basedir: e8, rules: t7, kind: "gitignore" }); + } + }, s8 = []; + for (const n8 of e7) { + if (t5.signal?.aborted) throw A(); + await i11(n8.path); + const e8 = Ui(a4, n8.path, true === n8.isDirectory); + if ("ignored" !== e8.verdict || void 0 === e8.level || void 0 === e8.ruleIndex) { + s8.push({ path: n8.path, ignored: false }); continue; } - const o7 = e7.level.rules[e7.ruleIndex]; - s9.push(void 0 !== o7 ? { path: n7.path, ignored: true, source: { kind: e7.level.kind ?? "gitignore", basedir: e7.level.basedir, line: o7.lineNumber, pattern: o7.pattern } } : { path: n7.path, ignored: false }); + const o6 = e8.level.rules[e8.ruleIndex]; + s8.push(void 0 !== o6 ? { path: n8.path, ignored: true, source: { kind: e8.level.kind ?? "gitignore", basedir: e8.level.basedir, line: o6.lineNumber, pattern: o6.pattern } } : { path: n8.path, ignored: false }); } - return s9; + return s8; }; -async function Yw2(t5, e6) { - const n6 = /* @__PURE__ */ new Map(), o6 = (e7) => { - const a6 = n6.get(e7); - if (void 0 !== a6) return a6; - const o7 = (async function(t6, e8) { - const n7 = await Ui2(t6, e8); - if ("tree" !== n7.type) throw Bt("tree", n7.type, e8); - return n7.entries; - })(t5, e7); - return n6.set(e7, o7), o7; - }, i7 = await eu2(t5, e6).catch((t6) => { - if (!(t6 instanceof o && "REF_NOT_FOUND" === t6.data.code)) throw t6; +async function xm2(t5, e7) { + const a4 = /* @__PURE__ */ new Map(), o5 = (e8) => { + const n7 = a4.get(e8); + if (void 0 !== n7) return n7; + const o6 = (async function(t6, e9) { + const n8 = await Ts2(t6, e9); + if ("tree" !== n8.type) throw Kt("tree", n8.type, e9); + return n8.entries; + })(t5, e8); + return a4.set(e8, o6), o6; + }, i11 = await Wf2(t5, e7).catch((t6) => { + if (!(t6 instanceof c && "REF_NOT_FOUND" === t6.data.code)) throw t6; }); - if (void 0 === i7) return { trie: Ky([]), read: o6, notesCommitOid: void 0, notesTreeOid: void 0 }; - const s9 = await Ui2(t5, i7); - if ("commit" !== s9.type) throw Bt("commit", s9.type, i7); - const r6 = s9.data.tree, c6 = await Ui2(t5, r6); - if ("tree" !== c6.type) throw Bt("tree", c6.type, r6); - return { trie: Ky(c6.entries), read: o6, notesCommitOid: i7, notesTreeOid: r6 }; -} -var Xw2 = async (t5) => { - const e6 = await nu2(t5, "HEAD"), n6 = await Ld2(t5); + if (void 0 === i11) return { trie: db([]), read: o5, notesCommitOid: void 0, notesTreeOid: void 0 }; + const s8 = await Ts2(t5, i11); + if ("commit" !== s8.type) throw Kt("commit", s8.type, i11); + const r8 = s8.data.tree, c5 = await Ts2(t5, r8); + if ("tree" !== c5.type) throw Kt("tree", c5.type, r8); + return { trie: db(c5.entries), read: o5, notesCommitOid: i11, notesTreeOid: r8 }; +} +var Im2 = async (t5) => { + const e7 = await Gf2(t5, "HEAD"), n7 = await kf2(t5); try { - const a6 = await Cd2(t5), o6 = await xd2(t5, { targetTree: e6.id, currentIndex: a6 }); - return await n6.commit(o6.newIndexEntries), o6; + const a4 = await hf2(t5), o5 = await df2(t5, { targetTree: e7.id, currentIndex: a4 }); + return await n7.commit(o5.newIndexEntries), o5; } finally { - await n6.release(); + await n7.release(); } }; -var Zw2 = "refs/notes/"; -var Jw2 = `${Zw2}commits`; -var Qw2 = (t5) => { - if (!t5.startsWith(Zw2)) throw ct(t5); +var Cm2 = "refs/notes/"; +var Sm2 = `${Cm2}commits`; +var Dm2 = (t5) => { + if (!t5.startsWith(Cm2)) throw gt(t5); return t5; }; -async function tm2(t5, e6) { - if (void 0 !== e6) return eu(((t6) => t6.startsWith(Zw2) ? t6 : t6.startsWith("notes/") ? `refs/${t6}` : `${Zw2}${t6}`)(e6)); - const n6 = t5.env?.get("GIT_NOTES_REF"); - if (void 0 !== n6) return eu(Qw2(n6)); - const a6 = await Hi2(t5), o6 = a6.core?.notesRef; - return void 0 !== o6 ? eu(Qw2(o6)) : Jw2; -} -async function* em2(t5, e6) { - nm2(e6.from); - for await (const n6 of Ow2(t5, e6)) yield n6.commit; -} -var nm2 = (t5) => { - if (go2(t5)) throw E(po2); - if (vo2(t5)) throw E(yo2); -}; -var am2 = (t5, e6, n6) => { - const a6 = `${t5.layout.gitDir}/modules/${e6}`, o6 = bc2(wc2(t5, "deriveSubmoduleContext"), n6), { promisor: i7, hooks: s9, ...r6 } = t5; - return Object.freeze({ ...r6, layout: Object.freeze({ workDir: o6, gitDir: a6, bare: false, refStorage: "files", ...void 0 !== t5.layout.homeDir ? { homeDir: t5.layout.homeDir } : {}, ...zi2(t5.layout) }), cwd: o6 }); -}; -var om2 = async (t5, e6, n6, a6 = /* @__PURE__ */ new Set()) => { - if (void 0 === e6) return; - const o6 = `${t5.layout.gitDir}/modules/${e6}`; - return !a6.has(o6) && await t5.fs.exists(`${o6}/HEAD`) ? am2(t5, e6, n6) : void 0; -}; -var im2 = (t5, e6, n6) => am2(t5, e6, n6); -var sm2 = (t5, e6) => { - if (null === e6.value) return t5; - const n6 = e6.key.toLowerCase(); - return "path" === n6 ? { ...t5, path: e6.value } : "url" === n6 ? { ...t5, url: e6.value } : "update" === n6 ? { ...t5, update: e6.value } : "branch" === n6 ? { ...t5, branch: e6.value } : t5; -}; -var rm2 = (t5) => { +async function $m2(t5, e7) { + if (void 0 !== e7) return Nu(((t6) => t6.startsWith(Cm2) ? t6 : t6.startsWith("notes/") ? `refs/${t6}` : `${Cm2}${t6}`)(e7)); + const n7 = t5.env?.get("GIT_NOTES_REF"); + if (void 0 !== n7) return Nu(Dm2(n7)); + const a4 = await sr2(t5), o5 = a4.core?.notesRef; + return void 0 !== o5 ? Nu(Dm2(o5)) : Sm2; +} +function Om2(t5, e7) { + let n7, a4 = false; + const o5 = { next: async () => { + a4 || (a4 = true, Em2(e7.from)), n7 ??= Zp2(t5, e7)[Symbol.asyncIterator](); + const o6 = await n7.next(); + return true === o6.done ? { done: true, value: void 0 } : { done: false, value: o6.value.commit }; + }, return: async () => (await n7?.return?.(), { done: true, value: void 0 }) }; + return { [Symbol.asyncIterator]: () => o5 }; +} +var Em2 = (t5) => { + if (ui2(t5)) throw v(ci2); + if (fi2(t5)) throw v(di2); +}; +var Lm2 = (t5, e7, n7) => { + const a4 = `${t5.layout.gitDir}/modules/${e7}`, o5 = Jd2(Kd2(t5, "deriveSubmoduleContext"), n7), { promisor: i11, hooks: s8, ...r8 } = t5; + return bw2(r8, { layout: Object.freeze({ workDir: o5, gitDir: a4, bare: false, refStorage: "files", ...void 0 !== t5.layout.homeDir ? { homeDir: t5.layout.homeDir } : {}, ...Ws(t5.layout) }), cwd: o5 }); +}; +var Mm2 = async (t5, e7, n7, a4 = /* @__PURE__ */ new Set()) => { + if (void 0 === e7) return; + bo(n7, wo, Qt.GITLINK); + const o5 = `${t5.layout.gitDir}/modules/${e7}`; + return !a4.has(o5) && await t5.fs.exists(`${o5}/HEAD`) ? Lm2(t5, e7, n7) : void 0; +}; +var Pm2 = (t5, e7, n7) => Lm2(t5, e7, n7); +var Nm2 = (t5, e7) => { + if (null === e7.value) return t5; + const n7 = e7.key.toLowerCase(); + return "path" === n7 ? { ...t5, path: e7.value } : "url" === n7 ? { ...t5, url: e7.value } : "update" === n7 ? { ...t5, update: e7.value } : "branch" === n7 ? { ...t5, branch: e7.value } : t5; +}; +var Tm2 = (t5) => { if ("submodule" !== t5.section.toLowerCase()) return; if (void 0 === t5.subsection) return; - if (gw(t5.subsection)) return; - const e6 = t5.entries.reduce(sm2, {}); - return { name: t5.subsection, ...void 0 !== e6.path ? { path: e6.path } : {}, ...void 0 !== e6.url ? { url: e6.url } : {}, ...void 0 !== e6.update ? { update: e6.update } : {}, ...void 0 !== e6.branch ? { branch: e6.branch } : {} }; -}; -var cm2 = (t5) => { - const e6 = []; - for (const n6 of Cg(t5, ".gitmodules")) { - const t6 = rm2(n6); - void 0 !== t6 && e6.push(t6); - } - return e6; -}; -var dm2 = fr.from("HEAD"); -var um2 = new TextDecoder(); -async function* fm2(t5, e6) { - const n6 = e6?.ref ?? dm2, a6 = true === e6?.recursive, o6 = e6?.maxDepth ?? 100, i7 = await nu2(t5, n6), s9 = /* @__PURE__ */ new Set([t5.layout.gitDir]); - yield* lm2(t5, i7, 0, void 0, "", s9, a6, o6); -} -async function* lm2(t5, e6, n6, a6, o6, i7, s9, r6) { - const c6 = await wm2(t5, e6); - for await (const d5 of yd2(t5, e6, { recursive: true })) { - if (d5.mode !== Wt.GITLINK) continue; - const e7 = Ad2(o6, d5.path), u6 = c6.get(d5.path); - if (yield hm2(u6, d5.path, d5.id, e7, n6, a6), !s9) continue; - if (n6 >= r6) continue; - const f2 = await om2(t5, u6?.name, d5.path, i7); + if (Ny(t5.subsection)) return; + const e7 = t5.entries.reduce(Nm2, {}); + return { name: t5.subsection, ...void 0 !== e7.path ? { path: e7.path } : {}, ...void 0 !== e7.url ? { url: e7.url } : {}, ...void 0 !== e7.update ? { update: e7.update } : {}, ...void 0 !== e7.branch ? { branch: e7.branch } : {} }; +}; +var Bm2 = (t5) => { + const e7 = []; + for (const n7 of jm(t5, ".gitmodules")) { + const t6 = Tm2(n7); + void 0 !== t6 && e7.push(t6); + } + return e7; +}; +var Rm2 = yr.from("HEAD"); +var Am2 = new TextDecoder(); +async function* _m2(t5, e7) { + const n7 = e7?.ref ?? Rm2, a4 = true === e7?.recursive, o5 = e7?.maxDepth ?? 100, i11 = await Gf2(t5, n7), s8 = /* @__PURE__ */ new Set([t5.layout.gitDir]); + yield* Fm2(t5, i11, 0, void 0, "", s8, a4, o5); +} +async function* Fm2(t5, e7, n7, a4, o5, i11, s8, r8) { + const c5 = await jm2(t5, e7); + for await (const d6 of af2(t5, e7, { recursive: true })) { + if (d6.mode !== Qt.GITLINK) continue; + const e8 = Ef2(o5, d6.path), u6 = c5.get(d6.path); + if (yield Um2(u6, d6.path, d6.id, e8, n7, a4), !s8) continue; + if (n7 >= r8) continue; + const f2 = await Mm2(t5, u6?.name, d6.path, i11); if (void 0 === f2) continue; - const l4 = await mm2(f2, d5.id); + const l4 = await Hm2(f2, d6.id); if (void 0 === l4) continue; - const h6 = new Set(i7).add(f2.layout.gitDir); - yield* lm2(f2, l4, n6 + 1, e7, e7, h6, s9, r6); + const h5 = new Set(i11).add(f2.layout.gitDir); + yield* Fm2(f2, l4, n7 + 1, e8, e8, h5, s8, r8); } } -var hm2 = (t5, e6, n6, a6, o6, i7) => ({ name: t5?.name ?? e6, path: a6, commit: n6, depth: o6, ...void 0 !== t5?.url ? { url: t5.url } : {}, ...void 0 !== t5?.branch ? { branch: t5.branch } : {}, ...void 0 !== i7 ? { parent: i7 } : {} }); -var wm2 = async (t5, e6) => { - const n6 = e6.entries.find((t6) => ".gitmodules" === t6.name); - if (void 0 === n6) return /* @__PURE__ */ new Map(); - if (n6.mode !== Wt.REGULAR && n6.mode !== Wt.EXECUTABLE) return /* @__PURE__ */ new Map(); - const a6 = await Bc2(t5, n6.id, { maxBytes: wo2 }), o6 = um2.decode(a6.content), i7 = /* @__PURE__ */ new Map(); - for (const t6 of cm2(o6)) void 0 !== t6.path && i7.set(t6.path, t6); - return i7; +var Um2 = (t5, e7, n7, a4, o5, i11) => ({ name: t5?.name ?? e7, path: a4, commit: n7, depth: o5, ...void 0 !== t5?.url ? { url: t5.url } : {}, ...void 0 !== t5?.branch ? { branch: t5.branch } : {}, ...void 0 !== i11 ? { parent: i11 } : {} }); +var zm2 = Rt(".gitmodules"); +var jm2 = async (t5, e7) => { + const n7 = e7.entries.find((t6) => xt(t6.nameBytes, zm2)); + if (void 0 === n7) return /* @__PURE__ */ new Map(); + if (n7.mode !== Qt.REGULAR && n7.mode !== Qt.EXECUTABLE) return /* @__PURE__ */ new Map(); + const a4 = await gu2(t5, n7.id, { maxBytes: si2 }), o5 = Am2.decode(a4.content), i11 = /* @__PURE__ */ new Map(); + for (const t6 of Bm2(o5)) void 0 !== t6.path && i11.set(t6.path, t6); + return i11; }; -var mm2 = async (t5, e6) => { +var Hm2 = async (t5, e7) => { try { - return await nu2(t5, e6); + return await Gf2(t5, e7); } catch (t6) { - if (t6 instanceof o && "OBJECT_NOT_FOUND" === t6.data.code) return; + if (t6 instanceof c && "OBJECT_NOT_FOUND" === t6.data.code) return; throw t6; } }; -async function pm2(t5, e6) { - const n6 = await Zy(e6.trie, e6.read); - return vh2(t5, { tree: await ym2(t5, n6.entries), parents: void 0 !== e6.prevCommitOid ? [e6.prevCommitOid] : [], author: e6.author, committer: e6.author, message: e6.message }); +async function Wm2(t5, e7) { + const n7 = await mb(e7.trie, e7.read); + return np2(t5, { tree: await Gm2(t5, n7.entries), parents: void 0 !== e7.prevCommitOid ? [e7.prevCommitOid] : [], author: e7.author, committer: e7.author, message: e7.message }); } -async function ym2(t5, e6) { - const n6 = [], a6 = /* @__PURE__ */ new Map(); - for (const t6 of e6) { - const e7 = t6.name.indexOf("/"); - if (-1 === e7) n6.push({ id: t6.oid, mode: t6.mode, name: t6.name }); +async function Gm2(t5, e7) { + const n7 = [], a4 = /* @__PURE__ */ new Map(); + for (const t6 of e7) { + const e8 = t6.name.indexOf("/"); + if (-1 === e8) n7.push(Vr(t6.mode, t6.nameBytes ?? t6.name, t6.oid)); else { - const n7 = t6.name.slice(0, e7), o7 = t6.name.slice(e7 + 1), i7 = a6.get(n7) ?? []; - i7.push({ name: o7, mode: t6.mode, oid: t6.oid }), a6.set(n7, i7); + const n8 = t6.name.slice(0, e8), o6 = t6.name.slice(e8 + 1), i11 = a4.get(n8) ?? []; + i11.push({ name: o6, mode: t6.mode, oid: t6.oid, ...void 0 !== t6.nameBytes ? { nameBytes: t6.nameBytes } : {} }), a4.set(n8, i11); } } - const o6 = []; - for (const [e7, n7] of a6) { - const a7 = await ym2(t5, n7); - o6.push({ id: a7, mode: Wt.DIRECTORY, name: e7 }); + const o5 = []; + for (const [e8, n8] of a4) { + const a5 = await Gm2(t5, n8); + o5.push(Vr(Qt.DIRECTORY, e8, a5)); } - return Hl2(t5, Ar([...n6, ...o6])); + return Sy2(t5, zr([...n7, ...o5])); } -var gm2 = async (t5, e6) => { - await t5.fs.mkdir(`${t5.layout.gitDir}/info`), await t5.fs.writeUtf8(Ba2(t5.layout.gitDir), e6); +var Km2 = async (t5, e7) => { + await t5.fs.mkdir(`${t5.layout.gitDir}/info`), await t5.fs.writeUtf8(go2(t5.layout.gitDir), e7); }; -var vm2 = new TextEncoder(); -var bm2 = new Uint8Array(); -var km2 = async (t5, e6) => { - const n6 = await Ff2(t5, e6), a6 = n6.parents[0], o6 = void 0 !== a6 ? (await Ff2(t5, a6)).tree : void 0, i7 = await Sf2(t5, o6, n6.tree, { recursive: true }), s9 = await If2(t5, i7.changes), r6 = ei(s9, { contextLines: 3, pathPrefix: { old: "a/", new: "b/" } }), c6 = s9.filter((t6) => ts(t6.oldContent ?? bm2) || ts(t6.newContent ?? bm2)).map((t6) => { - return `${"oldId" in (e7 = t6.change) ? e7.oldId : ""}${"newId" in e7 && void 0 !== e7.newId ? e7.newId : ""}`; - var e7; +var qm2 = new TextEncoder(); +var Vm2 = new Uint8Array(); +var Ym2 = async (t5, e7) => { + const n7 = await Mh2(t5, e7), a4 = n7.parents[0], o5 = void 0 !== a4 ? (await Mh2(t5, a4)).tree : void 0, i11 = await vh2(t5, o5, n7.tree, { recursive: true }), s8 = await mh2(t5, i11.changes), r8 = Ei(s8, { contextLines: 3, pathPrefix: { old: "a/", new: "b/" } }), c5 = s8.filter((t6) => Es(t6.oldContent ?? Vm2) || Es(t6.newContent ?? Vm2)).map((t6) => { + return `${"oldId" in (e8 = t6.change) ? e8.oldId : ""}${"newId" in e8 && void 0 !== e8.newId ? e8.newId : ""}`; + var e8; }).join(""); - return t5.hash.hashHex(vm2.encode(((t6) => { - const e7 = []; - let n7 = 0; - for (; n7 <= t6.length; ) { - const a7 = t6.indexOf("\n", n7), o7 = -1 === a7 ? t6.length : a7, i8 = t6.slice(n7, o7); - i8.startsWith("@@ ") || i8.startsWith("index ") || e7.push(i8.replace(/\s/g, "")), n7 = o7 + 1; - } - return e7.join(""); - })(r6) + c6)); -}; -var xm2 = "refs/stash"; -var Im2 = async (t5) => { - const e6 = await vu2(t5, xm2), n6 = e6.length - 1; - return e6.map((t6, a6) => { - const o6 = e6[n6 - a6]; - return { index: a6, selector: `stash@{${a6}}`, stash: o6.newId, message: o6.message }; + return t5.hash.hashHex(qm2.encode(((t6) => { + const e8 = []; + let n8 = 0; + for (; n8 <= t6.length; ) { + const a5 = t6.indexOf("\n", n8), o6 = -1 === a5 ? t6.length : a5, i12 = t6.slice(n8, o6); + i12.startsWith("@@ ") || i12.startsWith("index ") || e8.push(i12.replace(/\s/g, "")), n8 = o6 + 1; + } + return e8.join(""); + })(r8) + c5)); +}; +var Xm2 = "refs/stash"; +var Zm2 = async (t5) => { + const e7 = await ml2(t5, Xm2), n7 = e7.length - 1; + return e7.map((t6, a4) => { + const o5 = e7[n7 - a4]; + return { index: a4, selector: `stash@{${a4}}`, stash: o5.newId, message: o5.message }; }); }; -var Cm2 = async (t5, e6) => { - const n6 = await vu2(t5, xm2), a6 = n6[n6.length - 1 - e6]; - if (void 0 === a6) throw Ve(e6, n6.length); - return a6.newId; +var Jm2 = async (t5, e7) => { + const n7 = await ml2(t5, Xm2), a4 = n7[n7.length - 1 - e7]; + if (void 0 === a4) throw Ye(e7, n7.length); + return a4.newId; }; -var Sm2 = async (t5, e6, n6) => { - const a6 = await (async (t6) => { - const e7 = await zr2(t6).resolveDirect(xm2); - return "direct" === e7.kind ? e7.id : cr(t6.hashConfig); +var Qm2 = async (t5, e7, n7) => { + const a4 = await (async (t6) => { + const e8 = await md2(t6).resolveDirect(Xm2); + return "direct" === e8.kind ? e8.id : gr(t6.hashConfig); })(t5); - await zr2(t5).applyRefUpdates([{ kind: "set", name: xm2, id: e6, reflog: { oldId: a6, newId: e6, message: n6, unconditional: true } }]); -}; -var $m2 = async (t5, e6) => { - const n6 = await vu2(t5, xm2), a6 = n6.length - 1 - e6, o6 = n6[a6]; - if (void 0 === o6) throw Ve(e6, n6.length); - const i7 = n6[a6 + 1], s9 = n6.filter((t6, e7) => e7 !== a6).map((t6) => t6 === i7 ? { ...t6, oldId: o6.oldId } : t6); - if (0 === s9.length) return await zr2(t5).applyRefUpdates([{ kind: "delete", name: xm2 }]), { dropped: o6.newId, remaining: 0 }; - const r6 = s9[s9.length - 1]; - return await zr2(t5).applyRefUpdates([{ kind: "set", name: xm2, id: r6.newId }, { kind: "reflogReplace", name: xm2, entries: s9 }]), { dropped: o6.newId, remaining: s9.length }; -}; -var Dm2 = (t5, e6) => t5.worktreeFs?.(e6) ?? t5.fs; -var Em2 = (t5, e6, n6) => { - const a6 = Da2(t5), o6 = `${a6}/worktrees/${e6}`, { promisor: i7, hooks: s9, command: r6, ...c6 } = t5; - return Object.freeze({ ...c6, fs: Dm2(t5, n6), layout: Object.freeze({ workDir: n6, gitDir: o6, commonDir: a6, bare: false, refStorage: t5.layout.refStorage, ...void 0 !== t5.layout.homeDir ? { homeDir: t5.layout.homeDir } : {}, ...zi2(t5.layout) }), cwd: n6 }); -}; -var Om2 = "HEAD"; -var Lm2 = async (t5) => { - const e6 = await zr2(t5).resolveDirect(Om2); - if ("missing" === e6.kind) throw Kd(Om2); - if ("direct" === e6.kind) return { head: e6.id, detached: true }; - const n6 = await zr2(t5).resolveDirect(e6.target); - return { branch: e6.target, detached: false, ..."direct" === n6.kind ? { head: n6.id } : {} }; -}; -var Mm2 = (t5) => t5.endsWith("/.git") ? t5.slice(0, -5) : t5; -var Pm2 = async (t5, e6, n6) => { - const a6 = HE(n6, (await t5.fs.readUtf8(`${n6}/gitdir`)).trim()), o6 = Mm2(a6), i7 = await Lm2(Em2(t5, e6, o6)), s9 = await (async (t6, e7) => { - if (await t6.fs.exists(`${e7}/locked`)) return { reason: (await t6.fs.readUtf8(`${e7}/locked`)).trim() }; - })(t5, n6), r6 = Dm2(t5, o6), c6 = await r6.exists(a6) ? void 0 : { reason: "gitdir file points to non-existent location" }; - return { id: e6, path: o6, bare: false, main: false, ...i7, ...void 0 !== s9 ? { locked: s9 } : {}, ...void 0 !== c6 ? { prunable: c6 } : {} }; -}; -var Tm2 = (t5, e6) => t5.path < e6.path ? -1 : t5.path > e6.path ? 1 : 0; -var Nm2 = async (t5) => { - const e6 = await (async (t6) => { - const e7 = Mm2(Da2(t6)); - if (await (async (t7) => { + await md2(t5).applyRefUpdates([{ kind: "set", name: Xm2, id: e7, reflog: { oldId: a4, newId: e7, message: n7, unconditional: true } }]); +}; +var tg2 = async (t5, e7) => { + const n7 = await ml2(t5, Xm2), a4 = n7.length - 1 - e7, o5 = n7[a4]; + if (void 0 === o5) throw Ye(e7, n7.length); + const i11 = n7[a4 + 1], s8 = n7.filter((t6, e8) => e8 !== a4).map((t6) => t6 === i11 ? { ...t6, oldId: o5.oldId } : t6); + if (0 === s8.length) return await md2(t5).applyRefUpdates([{ kind: "delete", name: Xm2 }]), { dropped: o5.newId, remaining: 0 }; + const r8 = s8[s8.length - 1]; + return await md2(t5).applyRefUpdates([{ kind: "set", name: Xm2, id: r8.newId }, { kind: "reflogReplace", name: Xm2, entries: s8 }]), { dropped: o5.newId, remaining: s8.length }; +}; +var eg2 = "HEAD"; +var ng2 = async (t5, e7) => { + const n7 = await md2(t5).resolveDirect(eg2); + if ("missing" === n7.kind) throw vu(eg2); + if ("direct" === n7.kind) return { head: n7.id, detached: true }; + const a4 = await md2(e7).resolveDirect(n7.target); + return { branch: n7.target, detached: false, ..."direct" === a4.kind ? { head: a4.id } : {} }; +}; +var ag2 = (t5) => t5.endsWith("/.git") ? t5.slice(0, -5) : t5; +var og2 = async (t5, e7, n7, a4) => { + const o5 = GE(a4, (await t5.fs.readUtf8(`${a4}/gitdir`)).trim()), i11 = ag2(o5), s8 = await ng2(fm2(t5, n7, i11), e7), r8 = await (async (t6, e8) => { + if (await t6.fs.exists(`${e8}/locked`)) return { reason: (await t6.fs.readUtf8(`${e8}/locked`)).trim() }; + })(t5, a4), c5 = um2(t5, i11), d6 = await c5.exists(o5) ? void 0 : { reason: "gitdir file points to non-existent location" }; + return { id: n7, path: i11, bare: false, main: false, ...s8, ...void 0 !== r8 ? { locked: r8 } : {}, ...void 0 !== d6 ? { prunable: d6 } : {} }; +}; +var ig2 = (t5, e7) => t5.path < e7.path ? -1 : t5.path > e7.path ? 1 : 0; +var sg2 = async (t5) => { + const e7 = ((t6) => bw2(t6, { layout: { ...t6.layout, gitDir: oo2(t6) } }))(t5), n7 = await (async (t6, e8) => { + const n8 = ag2(oo2(t6)); + return await (async (t7) => { if (void 0 === t7.layout.commonDir) return t7.layout.bare; - const e8 = await Hi2(t7); - return true === e8.core?.bare; - })(t6)) return { path: e7, detached: false, bare: true, main: true }; - const n7 = await Lm2(((t7) => ({ ...t7, layout: { ...t7.layout, gitDir: Da2(t7) } }))(t6)); - return { path: e7, bare: false, main: true, ...n7 }; - })(t5), n6 = `${Da2(t5)}/worktrees`; - if (!await t5.fs.exists(n6)) return [e6]; - const a6 = []; - for (const e7 of await t5.fs.readdir(n6)) e7.isDirectory && a6.push(await Pm2(t5, e7.name, `${n6}/${e7.name}`)); - return a6.sort(Tm2), [e6, ...a6]; -}; -function Rm2(t5, e6) { - const n6 = t5.cache.get(String(e6)); - if (void 0 !== n6) return n6; - const a6 = [e6]; - let o6, i7 = e6; + const e9 = await sr2(t7); + return true === e9.core?.bare; + })(t6) ? { path: n8, detached: false, bare: true, main: true } : { path: n8, bare: false, main: true, ...await ng2(e8, e8) }; + })(t5, e7), a4 = `${oo2(t5)}/worktrees`; + if (!await t5.fs.exists(a4)) return [n7]; + const o5 = []; + for (const n8 of await t5.fs.readdir(a4)) n8.isDirectory && o5.push(await og2(t5, e7, n8.name, `${a4}/${n8.name}`)); + return o5.sort(ig2), [n7, ...o5]; +}; +var rg2 = (t5) => new c({ code: "RESOURCE_LOCKED", resource: "commit-graph", path: t5 }); +async function cg2(t5) { + if (await hl2(t5)) return { commitCount: 0 }; + const e7 = await (async function(t6) { + const e8 = await yw2(t6), n8 = /* @__PURE__ */ new Set(); + for (const a5 of e8) try { + n8.add(await Wf2(t6, a5, { peel: true })); + } catch { + } + return [...n8]; + })(t5), n7 = await (async function(t6, e8) { + const n8 = []; + if (0 === e8.length) return n8; + for await (const a5 of iw2(t6, { from: e8 })) n8.push({ id: a5.id, rootTree: a5.data.tree, parents: a5.data.parents, committerDate: a5.data.committer.timestamp }); + return n8; + })(t5, e7); + if (0 === n7.length) return { commitCount: 0 }; + const a4 = rI(n7, t5.hashConfig), o5 = a4.length - t5.hashConfig.digestLength, i11 = await t5.hash.hash(a4.subarray(0, o5)); + a4.set(i11, o5); + const s8 = ko2(oo2(t5)); + return await So2(t5, s8, a4, rg2), { commitCount: n7.length }; +} +var dg2 = (t5, e7) => "false" === t5 ? Number.NEGATIVE_INFINITY : "all" === t5 || "now" === t5 ? Number.POSITIVE_INFINITY : "never" === t5.trim().toLowerCase() ? Number.NEGATIVE_INFINITY : qd(t5, e7); +var ug2 = (t5, e7 = {}) => { + const n7 = Math.floor((e7.now ?? (() => Date.now()))() / 1e3), a4 = dg2(t5, n7); + if (void 0 === a4) throw xe(t5); + return a4; +}; +function fg2(t5, e7) { + const n7 = t5.cache.get(String(e7)); + if (void 0 !== n7) return n7; + const a4 = [e7]; + let o5, i11 = e7; for (; ; ) { - const e7 = t5.headers[i7]; - if (0 === e7.xorOffset) break; - const n7 = i7 - e7.xorOffset, s10 = t5.cache.get(String(n7)); - if (void 0 !== s10) { - o6 = s10; + const e8 = t5.headers[i11]; + if (0 === e8.xorOffset) break; + const n8 = i11 - e8.xorOffset, s9 = t5.cache.get(String(n8)); + if (void 0 !== s9) { + o5 = s9; break; } - a6.push(n7), i7 = n7; - } - const s9 = void 0 === o6 ? new Uint32Array(t5.laneCount) : o6.slice(); - for (let e7 = a6.length - 1; e7 >= 0; e7 -= 1) { - const n7 = a6[e7], o7 = t5.headers[n7]; - Mf(t5.bitmap._bytes, t5.bitmap._view, o7.stream, s9, 0 === o7.xorOffset ? "or" : "xor"), t5.cache.set(String(n7), s9.slice(), s9.byteLength); - } - return s9; -} -function _m2(t5, e6) { - for (let n6 = 0; n6 < t5.length; n6 += 1) t5[n6] = (t5[n6] | e6[n6]) >>> 0; -} -function Fm2(t5, e6) { - return 1 == (t5[e6 >>> 5] >>> (31 & e6) & 1); -} -function Um2(t5, e6, n6, o6) { - const i7 = t5.resolveOwnPosition(o6), s9 = void 0 === i7 ? void 0 : t5.ownPositionToBitPosition[i7]; - void 0 === s9 ? n6.extended.add((function(t6, e7) { - const n7 = t6.indexByOid.get(e7); - if (void 0 !== n7) return n7; - if (t6.oids.length >= ho2) throw new o({ code: "PACK_TOO_LARGE", objectCount: t6.oids.length + 1, limit: ho2 }); - const o7 = t6.oids.length; - return t6.oids.push(e7), t6.indexByOid.set(e7, o7), o7; - })(e6, o6)) : (function(t6, e7) { - const n7 = e7 >>> 5; - t6[n7] = (t6[n7] | 1 << (31 & e7)) >>> 0; - })(n6.bits, s9); -} -function Am2(t5, e6) { - const n6 = t5.resolveOwnPosition(e6); - if (void 0 !== n6) return t5.entryByOwnPosition.get(n6); -} -async function Bm2(t5, e6, n6, a6, o6) { - Um2(e6, n6, a6, o6); - for await (const i7 of yd2(t5, o6)) Ro2(i7.mode) || Um2(e6, n6, a6, i7.id); -} -async function jm2(t5, e6, n6, a6, o6, i7) { - const s9 = { bits: new Uint32Array(e6.laneCount), extended: /* @__PURE__ */ new Set() }, r6 = []; - for (const a7 of o6) { - const o7 = await Wf2(t5, a7, (t6) => Um2(e6, n6, s9, t6)), i8 = await Ui2(t5, o7); - "commit" !== i8.type ? "tree" !== i8.type ? Um2(e6, n6, s9, o7) : await Bm2(t5, e6, n6, s9, o7) : r6.push(o7); - } - return await (async function(t6, e7, n7, a7, o7, i8, s10) { - const r7 = /* @__PURE__ */ new Set(), c6 = [...i8]; - let d5 = 0; - for (; d5 < c6.length; ) { - const i9 = c6[d5]; - if (d5 += 1, r7.has(i9)) continue; - r7.add(i9); - const u6 = Am2(e7, i9); + a4.push(n8), i11 = n8; + } + const s8 = void 0 === o5 ? new Uint32Array(t5.laneCount) : o5.slice(); + for (let e8 = a4.length - 1; e8 >= 0; e8 -= 1) { + const n8 = a4[e8], o6 = t5.headers[n8]; + ph(t5.bitmap._bytes, t5.bitmap._view, o6.stream, s8, 0 === o6.xorOffset ? "or" : "xor"), t5.cache.set(String(n8), s8.slice(), s8.byteLength); + } + return s8; +} +function lg2(t5, e7) { + for (let n7 = 0; n7 < t5.length; n7 += 1) t5[n7] = (t5[n7] | e7[n7]) >>> 0; +} +function hg2(t5, e7) { + return 1 == (t5[e7 >>> 5] >>> (31 & e7) & 1); +} +function wg2(t5, e7, a4, o5) { + const i11 = t5.resolveOwnPosition(o5), s8 = void 0 === i11 ? void 0 : t5.ownPositionToBitPosition[i11]; + void 0 === s8 ? a4.extended.add((function(t6, e8) { + const a5 = t6.indexByOid.get(e8); + if (void 0 !== a5) return a5; + if (t6.oids.length >= ii2) throw new c({ code: "PACK_TOO_LARGE", objectCount: t6.oids.length + 1, limit: ii2 }); + const o6 = t6.oids.length; + return t6.oids.push(e8), t6.indexByOid.set(e8, o6), o6; + })(e7, o5)) : (function(t6, e8) { + const n7 = e8 >>> 5; + t6[n7] = (t6[n7] | 1 << (31 & e8)) >>> 0; + })(a4.bits, s8); +} +function yg2(t5, e7) { + const n7 = t5.resolveOwnPosition(e7); + if (void 0 !== n7) return t5.entryByOwnPosition.get(n7); +} +async function pg2(t5, e7, n7, a4, o5) { + wg2(e7, n7, a4, o5); + for await (const i11 of af2(t5, o5)) $i2(i11.mode) || wg2(e7, n7, a4, i11.id); +} +async function mg2(t5, e7, n7, a4, o5, i11) { + const s8 = { bits: new Uint32Array(e7.laneCount), extended: /* @__PURE__ */ new Set() }, r8 = []; + for (const a5 of o5) { + const o6 = await qh2(t5, a5, (t6) => wg2(e7, n7, s8, t6)), i12 = await Ts2(t5, o6); + "commit" !== i12.type ? "tree" !== i12.type ? wg2(e7, n7, s8, o6) : await pg2(t5, e7, n7, s8, o6) : r8.push(o6); + } + return await (async function(t6, e8, n8, a5, o6, i12, s9) { + const r9 = /* @__PURE__ */ new Set(), c5 = [...i12]; + let d6 = 0; + for (; d6 < c5.length; ) { + const i13 = c5[d6]; + if (d6 += 1, r9.has(i13)) continue; + r9.add(i13); + const u6 = yg2(e8, i13); if (void 0 !== u6) { - _m2(o7.bits, Rm2(a7, u6)); + lg2(o6.bits, fg2(a5, u6)); continue; } - Um2(e7, n7, o7, i9); - const f2 = await Ui2(t6, i9); + wg2(e8, n8, o6, i13); + const f2 = await Ts2(t6, i13); if ("commit" === f2.type) { - s10 && await Bm2(t6, e7, n7, o7, f2.data.tree); - for (const t7 of f2.data.parents) r7.has(t7) || c6.push(t7); - } - } - })(t5, e6, n6, a6, s9, r6, i7), s9; -} -function zm2(t5, e6) { - return Fm2(t5.typeBits[0], e6) ? "commit" : Fm2(t5.typeBits[1], e6) ? "tree" : Fm2(t5.typeBits[2], e6) ? "blob" : "tag"; -} -function Wm2(t5, e6) { - return e6 || "commit" === t5 || "tag" === t5; -} -async function Hm2(t5, e6, n6) { - const a6 = { bitmap: e6.bitmap, headers: e6.headers, laneCount: e6.laneCount, cache: r(8388608) }, o6 = { indexByOid: /* @__PURE__ */ new Map(), oids: [] }, i7 = await jm2(t5, e6, o6, a6, n6.wants, n6.objects), s9 = await jm2(t5, e6, o6, a6, n6.not, n6.objects), r6 = []; - !(function(t6, e7, n7, a7, o7) { - for (let i8 = 0; i8 < t6.laneCount; i8 += 1) { - let s10 = (e7.bits[i8] & ~n7.bits[i8] & Km2(i8, t6.objectCount)) >>> 0; - for (; 0 !== s10; ) { - const e8 = s10 & -s10; - s10 = (s10 ^ e8) >>> 0; - const n8 = 32 * i8 + (31 - Math.clz32(e8)), r7 = zm2(t6, n8); - if (!Wm2(r7, a7)) continue; - const c6 = t6.oidAtBitPosition(n8); - void 0 !== c6 && Gm2(o7, { id: c6, type: r7 }); - } - } - })(e6, i7, s9, n6.objects, r6); - for (const e7 of i7.extended) { - if (s9.extended.has(e7)) continue; - const a7 = o6.oids[e7], i8 = await Ui2(t5, a7); - Wm2(i8.type, n6.objects) && Gm2(r6, { id: a7, type: i8.type }); - } - return r6; -} -function Gm2(t5, e6) { - if (t5.length >= ho2) throw new o({ code: "PACK_TOO_LARGE", objectCount: t5.length + 1, limit: ho2 }); - t5.push(e6); -} -function Km2(t5, e6) { - const n6 = e6 - 32 * t5; - return n6 >= 32 ? 4294967295 : (1 << n6) - 1 >>> 0; -} -async function qm2(t5, e6, n6, a6, o6, i7 = 0) { - if (a6.has(e6)) return; - if (a6.add(e6), i7 > o6) throw Ht(i7); - if (t5.signal?.aborted) throw I(); - n6.add(e6); - const s9 = await Ui2(t5, e6); - if ("tree" === s9.type) for (const e7 of s9.entries) Ro2(e7.mode) || (Yt(e7.mode) ? await qm2(t5, e7.id, n6, a6, o6, i7 + 1) : n6.add(e7.id)); -} -async function Vm2(t5, e6, n6, a6, o6, i7, s9) { - const r6 = await Ui2(t5, e6); - if ("tag" !== r6.type) return "commit" === r6.type ? (await (async function(t6, e7, n7, a7) { - for await (const o7 of nl2(t6, { from: [e7], until: [...n7], ignoreMissing: true })) n7.add(o7.id), a7.set(o7.id, o7.data.tree); - })(t5, e6, n6, a6), void await qm2(t5, r6.data.tree, o6, i7, s9)) : void ("tree" !== r6.type ? o6.add(e6) : await qm2(t5, e6, o6, i7, s9)); - await Vm2(t5, r6.data.object, n6, a6, o6, i7, s9); -} -function Ym2(t5) { + s9 && await pg2(t6, e8, n8, o6, f2.data.tree); + for (const t7 of f2.data.parents) r9.has(t7) || c5.push(t7); + } + } + })(t5, e7, n7, a4, s8, r8, i11), s8; +} +function gg2(t5, e7) { + return hg2(t5.typeBits[0], e7) ? "commit" : hg2(t5.typeBits[1], e7) ? "tree" : hg2(t5.typeBits[2], e7) ? "blob" : "tag"; +} +function vg2(t5, e7) { + return e7 || "commit" === t5 || "tag" === t5; +} +async function kg2(t5, e7, n7) { + const a4 = { bitmap: e7.bitmap, headers: e7.headers, laneCount: e7.laneCount, cache: a(8388608) }, o5 = { indexByOid: /* @__PURE__ */ new Map(), oids: [] }, i11 = await mg2(t5, e7, o5, a4, n7.wants, n7.objects), r8 = await mg2(t5, e7, o5, a4, n7.not, n7.objects), c5 = []; + !(function(t6, e8, n8, a5, o6) { + for (let i12 = 0; i12 < t6.laneCount; i12 += 1) { + let s8 = (e8.bits[i12] & ~n8.bits[i12] & xg2(i12, t6.objectCount)) >>> 0; + for (; 0 !== s8; ) { + const e9 = s8 & -s8; + s8 = (s8 ^ e9) >>> 0; + const n9 = 32 * i12 + (31 - Math.clz32(e9)), r9 = gg2(t6, n9); + if (!vg2(r9, a5)) continue; + const c6 = t6.oidAtBitPosition(n9); + void 0 !== c6 && bg2(o6, { id: c6, type: r9 }); + } + } + })(e7, i11, r8, n7.objects, c5); + for (const e8 of i11.extended) { + if (r8.extended.has(e8)) continue; + const a5 = o5.oids[e8], i12 = await Ts2(t5, a5); + vg2(i12.type, n7.objects) && bg2(c5, { id: a5, type: i12.type }); + } + return c5; +} +function bg2(t5, e7) { + if (t5.length >= ii2) throw new c({ code: "PACK_TOO_LARGE", objectCount: t5.length + 1, limit: ii2 }); + t5.push(e7); +} +function xg2(t5, e7) { + const n7 = e7 - 32 * t5; + return n7 >= 32 ? 4294967295 : (1 << n7) - 1 >>> 0; +} +async function Ig2(t5, e7, n7, a4, o5, i11 = 0) { + if (a4.has(e7)) return; + if (a4.add(e7), i11 > o5) throw Xt(i11); + if (t5.signal?.aborted) throw A(); + n7.add(e7); + const s8 = await Ts2(t5, e7); + if ("tree" === s8.type) for (const e8 of s8.entries) $i2(e8.mode) || (tn(e8.mode) ? await Ig2(t5, e8.id, n7, a4, o5, i11 + 1) : n7.add(e8.id)); +} +async function Cg2(t5, e7, n7, a4, o5, i11, s8) { + const r8 = await Ts2(t5, e7); + if ("tag" !== r8.type) return "commit" === r8.type ? (await (async function(t6, e8, n8, a5) { + for await (const o6 of iw2(t6, { from: [e8], until: [...n8], ignoreMissing: true })) n8.add(o6.id), a5.set(o6.id, o6.data.tree); + })(t5, e7, n7, a4), void await Ig2(t5, r8.data.tree, o5, i11, s8)) : void ("tree" !== r8.type ? o5.add(e7) : await Ig2(t5, e7, o5, i11, s8)); + await Cg2(t5, r8.data.object, n7, a4, o5, i11, s8); +} +function Sg2(t5) { return Math.ceil(t5 / 32); } -function Xm2(t5, e6, n6, a6, o6) { - if (n6.fill(0), Mf(t5._bytes, t5._view, e6, n6, "or"), !(function(t6, e7) { - const n7 = Math.floor(e7 / 32); - if (n7 < t6.length && (t6[n7] & 4294967295 << e7 % 32 >>> 0) >>> 0 != 0) return true; - for (let e8 = n7 + 1; e8 < t6.length; e8 += 1) if (0 !== t6[e8]) return true; +function Dg2(t5, e7, n7, a4, o5) { + if (n7.fill(0), ph(t5._bytes, t5._view, e7, n7, "or"), !(function(t6, e8) { + const n8 = Math.floor(e8 / 32); + if (n8 < t6.length && (t6[n8] & 4294967295 << e8 % 32 >>> 0) >>> 0 != 0) return true; + for (let e9 = n8 + 1; e9 < t6.length; e9 += 1) if (0 !== t6[e9]) return true; return false; - })(n6, o6)) return n6.slice(0, a6); + })(n7, o5)) return n7.slice(0, a4); } -function Zm2(t5) { - return new Map(t5.map((t6, e6) => [t6.position, e6])); +function $g2(t5) { + return new Map(t5.map((t6, e7) => [t6.position, e7])); } -function Jm2(t5) { - const e6 = new Uint32Array(t5.length), n6 = new Uint8Array(t5.length); - for (const [a6, o6] of t5.entries()) { - if (o6 >= t5.length || 1 === n6[o6]) return; - n6[o6] = 1, e6[o6] = a6; +function Og2(t5) { + const e7 = new Uint32Array(t5.length), n7 = new Uint8Array(t5.length); + for (const [a4, o5] of t5.entries()) { + if (o5 >= t5.length || 1 === n7[o5]) return; + n7[o5] = 1, e7[o5] = a4; } - return e6; + return e7; } -function Qm2(t5, e6, n6) { - t5.logger?.warn?.(`bitmapBinding: ${e6}`, { bitmap: n6 }); +function Eg2(t5, e7, n7) { + t5.logger?.warn?.(`bitmapBinding: ${e7}`, { bitmap: n7 }); } -function tp2(t5, e6, n6, a6) { - if ("absent" !== a6.kind && "unreadable" !== a6.kind) { - if ("refused" !== a6.kind) return a6.bytes; - t5.logger?.warn?.(`bitmapBinding: discarding unusable ${e6} bitmap`, { bitmap: n6, ...to2(a6.data) }); +function Lg2(t5, e7, n7, a4) { + if ("absent" !== a4.kind && "unreadable" !== a4.kind) { + if ("refused" !== a4.kind) return a4.bytes; + t5.logger?.warn?.(`bitmapBinding: discarding unusable ${e7} bitmap`, { bitmap: n7, ...qo2(a4.data) }); } } -var ep2 = /* @__PURE__ */ new WeakMap(); -function np2(t5, e6, n6, o6, i7) { - const s9 = ep2.get(o6); - if (void 0 !== s9) return s9; - const r6 = (function(t6, e7, n7, o7, i8) { +var Mg2 = /* @__PURE__ */ new WeakMap(); +function Pg2(t5, e7, a4, o5, i11) { + const s8 = Mg2.get(o5); + if (void 0 !== s8) return s8; + const r8 = (function(t6, e8, a5, o6, i12) { try { - const a6 = Hf(e7, t6.hashConfig.digestLength); - return a6.entryCount > i8 ? Qm2(t6, `${o7} bitmap declares more entries than the artefact has objects, declining`, n7) : { bitmap: a6, headers: Vf(a6) }; - } catch (e8) { - if (!(e8 instanceof o) || "INVALID_PACK_BITMAP" !== e8.data.code) throw e8; - return void t6.logger?.warn?.(`bitmapBinding: discarding unusable ${o7} bitmap`, { bitmap: n7, ...to2(e8.data) }); - } - })(t5, o6, n6, e6, i7); - if (void 0 === r6) return; - const { bitmap: c6, headers: d5 } = r6, u6 = (function(t6, e7, n7) { - const a6 = Ym2(n7), o7 = new Uint32Array(a6 + 1), i8 = Xm2(t6, t6.typeStreams[0], o7, a6, n7); - if (void 0 === i8) return; - const s10 = Xm2(t6, t6.typeStreams[1], o7, a6, n7); - if (void 0 === s10) return; - const r7 = Xm2(t6, t6.typeStreams[2], o7, a6, n7); - if (void 0 === r7) return; - const c7 = Xm2(t6, t6.typeStreams[3], o7, a6, n7); - if (void 0 !== c7) { - for (const a7 of e7) { - if (a7.position >= n7) return; - if (Bf(t6._bytes, t6._view, a7.stream) >= n7) return; - } - return { typeBits: [i8, s10, r7, c7] }; - } - })(c6, d5, i7); - if (void 0 === u6) return Qm2(t5, `${e6} bitmap position out of range, declining`, n6); - const f2 = { bitmap: c6, headers: d5, objectCount: i7, laneCount: Ym2(i7), typeBits: u6.typeBits }; - return ep2.set(o6, f2), f2; -} -async function ap2(t5, e6) { - if (!e6.hasBitmap) return; - const n6 = await e6.bitmapBytes(), a6 = `${e6.name}.bitmap`, o6 = tp2(t5, "pack", a6, n6); - if (void 0 === o6) return; - const i7 = await e6.index(), s9 = np2(t5, "pack", a6, o6, i7.objectCount); - if (void 0 === s9) return; - const { bitmap: r6, headers: c6, objectCount: d5, laneCount: u6, typeBits: f2 } = s9, l4 = await e6.packPositions(), h6 = Jm2(l4); - return void 0 === h6 ? Qm2(t5, "pack position table is not a permutation, declining pack bitmap", a6) : { artefactName: a6, bitmap: r6, headers: c6, objectCount: d5, laneCount: u6, typeBits: f2, resolveOwnPosition: (t6) => $h(i7, t6), entryByOwnPosition: Zm2(c6), ownPositionToBitPosition: h6, oidAtBitPosition: (t6) => { - const e7 = l4[t6]; - return void 0 === e7 ? void 0 : Ah(i7, e7); + const n7 = bh(e8, t6.hashConfig.digestLength); + return n7.entryCount > i12 ? Eg2(t6, `${o6} bitmap declares more entries than the artefact has objects, declining`, a5) : { bitmap: n7, headers: Ih(n7) }; + } catch (e9) { + if (!(e9 instanceof c) || "INVALID_PACK_BITMAP" !== e9.data.code) throw e9; + return void t6.logger?.warn?.(`bitmapBinding: discarding unusable ${o6} bitmap`, { bitmap: a5, ...qo2(e9.data) }); + } + })(t5, o5, a4, e7, i11); + if (void 0 === r8) return; + const { bitmap: c5, headers: d6 } = r8, u6 = (function(t6, e8, n7) { + const a5 = Sg2(n7), o6 = new Uint32Array(a5 + 1), i12 = Dg2(t6, t6.typeStreams[0], o6, a5, n7); + if (void 0 === i12) return; + const s9 = Dg2(t6, t6.typeStreams[1], o6, a5, n7); + if (void 0 === s9) return; + const r9 = Dg2(t6, t6.typeStreams[2], o6, a5, n7); + if (void 0 === r9) return; + const c6 = Dg2(t6, t6.typeStreams[3], o6, a5, n7); + if (void 0 !== c6) { + for (const a6 of e8) { + if (a6.position >= n7) return; + if (yh(t6._bytes, t6._view, a6.stream) >= n7) return; + } + return { typeBits: [i12, s9, r9, c6] }; + } + })(c5, d6, i11); + if (void 0 === u6) return Eg2(t5, `${e7} bitmap position out of range, declining`, a4); + const f2 = { bitmap: c5, headers: d6, objectCount: i11, laneCount: Sg2(i11), typeBits: u6.typeBits }; + return Mg2.set(o5, f2), f2; +} +async function Ng2(t5, e7) { + if (!e7.hasBitmap) return; + const n7 = await e7.bitmapBytes(), a4 = `${e7.name}.bitmap`, o5 = Lg2(t5, "pack", a4, n7); + if (void 0 === o5) return; + const i11 = await e7.index(), s8 = Pg2(t5, "pack", a4, o5, i11.objectCount); + if (void 0 === s8) return; + const { bitmap: r8, headers: c5, objectCount: d6, laneCount: u6, typeBits: f2 } = s8, l4 = await e7.packPositions(), h5 = Og2(l4); + return void 0 === h5 ? Eg2(t5, "pack position table is not a permutation, declining pack bitmap", a4) : { artefactName: a4, bitmap: r8, headers: c5, objectCount: d6, laneCount: u6, typeBits: f2, resolveOwnPosition: (t6) => Pg(i11, t6), entryByOwnPosition: $g2(c5), ownPositionToBitPosition: h5, oidAtBitPosition: (t6) => { + const e8 = l4[t6]; + return void 0 === e8 ? void 0 : Bg(i11, e8); } }; } -var op2 = /* @__PURE__ */ new Set(); -async function ip2(t5, e6, n6, a6) { - n6.has(e6) || a6(e6, "tree", ""); - for await (const o6 of yd2(t5, e6)) Ro2(o6.mode) || n6.has(o6.id) || a6(o6.id, Yt(o6.mode) ? "tree" : "blob", o6.path); -} -async function sp2(t5, e6) { - const n6 = { emitted: /* @__PURE__ */ new Set(), cap: ho2 }, a6 = [], o6 = (t6, e7, o7) => { - zf2(n6, t6) && a6.push(void 0 === o7 ? { id: t6, type: e7 } : { id: t6, type: e7, path: o7 }); - }, i7 = await (async function(t6, e7) { - const n7 = /* @__PURE__ */ new Set(), a7 = /* @__PURE__ */ new Map(), o7 = /* @__PURE__ */ new Set(), i8 = /* @__PURE__ */ new Set(), s10 = await wd2(t6); - for (const r6 of e7) await Vm2(t6, r6, n7, a7, o7, i8, s10); - return { commits: n7, commitTrees: a7, objects: o7, seenTrees: i8, maxDepth: s10 }; - })(t5, e6.not), s9 = await (async function(t6, e7, n7) { - const a7 = []; - for (const o7 of e7) { - const e8 = await Wf2(t6, o7, (t7) => n7(t7, "tag")), i8 = await Ui2(t6, e8); - "commit" !== i8.type ? "tree" !== i8.type ? n7(e8, "blob") : await ip2(t6, e8, op2, n7) : a7.push(i8); - } - return a7; - })(t5, e6.wants, o6); - return await (async function(t6, e7, n7, a7, o7) { - if (0 !== e7.length && 0 !== a7.maxCount) return true === a7.noWalk ? (async function(t7, e8, n8, a8, o8) { - let i8 = 0; - for (const s10 of e8) if (!n8.commits.has(s10.id)) { - if (void 0 !== a8.maxCount && i8 >= a8.maxCount) return; - o8(s10.id, "commit"), i8 += 1, a8.objects && await ip2(t7, s10.data.tree, n8.objects, o8); - } - })(t6, e7, n7, a7, o7) : (async function(t7, e8, n8, a8, o8) { - const i8 = []; - for await (const o9 of nl2(t7, { from: e8.map((t8) => t8.id), until: [...n8.commits], ignoreMissing: true, order: true === a8.firstParent ? "first-parent" : "topo" })) if (i8.push(o9), void 0 !== a8.maxCount && i8.length >= a8.maxCount) break; - a8.objects && await (async function(t8, e9, n9) { - const a9 = /* @__PURE__ */ new Set(); - for (const o9 of e9) for (const e10 of o9.data.parents) { - if (!n9.commits.has(e10) || a9.has(e10)) continue; - a9.add(e10); - const o10 = n9.commitTrees.get(e10); - await qm2(t8, o10, n9.objects, n9.seenTrees, n9.maxDepth); - } - })(t7, i8, n8); - for (const e9 of i8) o8(e9.id, "commit"), a8.objects && await ip2(t7, e9.data.tree, n8.objects, o8); - })(t6, e7, n7, a7, o7); - })(t5, s9, i7, e6, o6), a6; -} -function rp2(t5) { +var Tg2 = /* @__PURE__ */ new Set(); +async function Bg2(t5, e7, n7, a4) { + n7.has(e7) || a4({ id: e7, type: "tree", path: "", nameHash: Wg }); + for await (const o5 of af2(t5, e7, { pathHasher: Yg })) $i2(o5.mode) || n7.has(o5.id) || a4({ id: o5.id, type: tn(o5.mode) ? "tree" : "blob", path: o5.path, nameHash: o5.nameHash ?? 0 }); +} +async function Rg2(t5, e7) { + const n7 = { emitted: /* @__PURE__ */ new Set(), cap: ii2 }, a4 = [], o5 = (t6) => { + Kh2(n7, t6.id) && a4.push(t6); + }, i11 = await (async function(t6, e8) { + const n8 = /* @__PURE__ */ new Set(), a5 = /* @__PURE__ */ new Map(), o6 = /* @__PURE__ */ new Set(), i12 = /* @__PURE__ */ new Set(), s9 = await Vu2(t6); + for (const r8 of e8) await Cg2(t6, r8, n8, a5, o6, i12, s9); + return { commits: n8, commitTrees: a5, objects: o6, seenTrees: i12, maxDepth: s9 }; + })(t5, e7.not), s8 = await (async function(t6, e8, n8) { + const a5 = []; + for (const o6 of e8) { + const e9 = await qh2(t6, o6, (t7) => n8({ id: t7, type: "tag", nameHash: 0 })), i12 = await Ts2(t6, e9); + "commit" !== i12.type ? "tree" !== i12.type ? n8({ id: e9, type: "blob", nameHash: 0 }) : await Bg2(t6, e9, Tg2, n8) : a5.push(i12); + } + return a5; + })(t5, e7.wants, o5); + return await (async function(t6, e8, n8, a5, o6) { + if (0 !== e8.length && 0 !== a5.maxCount) return true === a5.noWalk ? (async function(t7, e9, n9, a6, o7) { + let i12 = 0; + for (const s9 of e9) if (!n9.commits.has(s9.id)) { + if (void 0 !== a6.maxCount && i12 >= a6.maxCount) return; + o7({ id: s9.id, type: "commit", nameHash: 0 }), i12 += 1, a6.objects && await Bg2(t7, s9.data.tree, n9.objects, o7); + } + })(t6, e8, n8, a5, o6) : (async function(t7, e9, n9, a6, o7) { + const i12 = []; + for await (const o8 of iw2(t7, { from: e9.map((t8) => t8.id), until: [...n9.commits], ignoreMissing: true, order: true === a6.firstParent ? "first-parent" : "topo" })) if (i12.push(o8), void 0 !== a6.maxCount && i12.length >= a6.maxCount) break; + a6.objects && await (async function(t8, e10, n10) { + const a7 = /* @__PURE__ */ new Set(); + for (const o8 of e10) for (const e11 of o8.data.parents) { + if (!n10.commits.has(e11) || a7.has(e11)) continue; + a7.add(e11); + const o9 = n10.commitTrees.get(e11); + await Ig2(t8, o9, n10.objects, n10.seenTrees, n10.maxDepth); + } + })(t7, i12, n9); + for (const e10 of i12) o7({ id: e10.id, type: "commit", nameHash: 0 }), a6.objects && await Bg2(t7, e10.data.tree, n9.objects, o7); + })(t6, e8, n8, a5, o6); + })(t5, s8, i11, e7, o5), a4; +} +function Ag2(t5) { return { wants: t5.wants, not: t5.not, objects: t5.objects }; } -async function cp2(t5, e6) { - if (0 === e6.wants.length) return { objects: [], tier: e6.tier }; - if ("bitmap" === e6.tier && void 0 === e6.maxCount) { - const n6 = await (async function(t6, e7) { - const n7 = Ti2(t6), a6 = await (async function(t7, e8) { - if (void 0 === e8) return; - if (void 0 === e8.midx.reverseIndexOffset) return; - const n8 = tp2(t7, "midx", e8.artefact, e8); - if (void 0 === n8) return; - const { midx: a7 } = e8, o7 = np2(t7, "midx", e8.artefact, n8, a7.objectCount); - if (void 0 === o7) return; - const { bitmap: i7, headers: s9, objectCount: r6, laneCount: d5, typeBits: u6 } = o7, f2 = hh(a7); - if (void 0 === f2) return Qm2(t7, "midx reverse index position out of range, declining midx bitmap", e8.artefact); - const l4 = Jm2(f2); - return void 0 === l4 ? Qm2(t7, "midx reverse index is not a permutation, declining midx bitmap", e8.artefact) : { artefactName: e8.artefact, bitmap: i7, headers: s9, objectCount: r6, laneCount: d5, typeBits: u6, resolveOwnPosition: (t8) => fh(a7, t8), entryByOwnPosition: Zm2(s9), ownPositionToBitPosition: l4, oidAtBitPosition: (t8) => { - const e9 = f2[t8]; - return void 0 === e9 ? void 0 : mh(a7, e9); - } }; - })(t6, await n7.midxBitmap()); - if (void 0 !== a6) return [...await Hm2(t6, a6, rp2(e7))]; - const o6 = await n7.all(); - for (const n8 of o6) { - const a7 = await ap2(t6, n8); - if (void 0 !== a7) return [...await Hm2(t6, a7, rp2(e7))]; - } - })(t5, e6); - if (void 0 !== n6) return { objects: n6, tier: "bitmap" }; - } - return { objects: await sp2(t5, e6), tier: "walk" }; -} -var dp2 = (t5, e6) => ((t6, e7) => ({ ...e7, read: async () => (await Bc2(t6, e7.oid)).content }))(t5, { source: "index", path: e6.path, oid: e6.id, mode: e6.mode, stage: e6.flags.stage, flags: { assumeUnchanged: e6.flags.assumeValid, skipWorktree: e6.flags.skipWorktree, intentToAdd: e6.flags.intentToAdd }, cachedStat: { size: e6.fileSize, mtimeMs: 1e3 * e6.mtimeSeconds + Math.floor(e6.mtimeNanoseconds / 1e6), ino: BigInt(e6.ino) } }); -var up2 = (t5) => "120000" === t5 ? "symlink" : "160000" === t5 ? "submodule" : "file"; -var fp2 = (t5, e6, n6, a6) => ((t6, e7) => ({ ...e7, read: async () => (await Bc2(t6, e7.oid)).content }))(t5, { source: "tree", path: e6, oid: n6, mode: a6, kind: up2(a6) }); -var lp2 = new TextEncoder(); -var hp2 = (t5) => t5.isSymbolicLink ? "120000" : 73 & t5.mode ? "100755" : "100644"; -var wp2 = (t5, e6) => { - const n6 = bc2(wc2(t5, "createWorkdirEntry"), e6.path), a6 = async () => "symlink" === e6.kind ? (async (t6, e7) => { - const n7 = await t6.fs.readlink(e7); - return lp2.encode(n7); - })(t5, n6) : t5.fs.read(n6); - return { ...e6, hash: async () => (async (t6, e7) => { - const n7 = lp2.encode(`blob ${e7.length}\0`), a7 = new Uint8Array(n7.length + e7.length); - a7.set(n7, 0), a7.set(e7, n7.length); - const o6 = await t6.hash.hashHex(a7); - return sr.from(o6); - })(t5, await a6()), read: a6, readLink: async () => { - if ("symlink" !== e6.kind) throw h("readLink", `entry is not a symlink (kind=${e6.kind})`); - return t5.fs.readlink(n6); +async function _g2(t5, e7) { + if (0 === e7.wants.length) return { objects: [], tier: e7.tier }; + if ("bitmap" === e7.tier && void 0 === e7.maxCount) { + const n7 = await (async function(t6, e8) { + const n8 = Ls2(t6), a4 = await (async function(t7, e9) { + if (void 0 === e9) return; + if (void 0 === e9.midx.reverseIndexOffset) return; + const n9 = Lg2(t7, "midx", e9.artefact, e9); + if (void 0 === n9) return; + const { midx: a5 } = e9, o6 = Pg2(t7, "midx", e9.artefact, n9, a5.objectCount); + if (void 0 === o6) return; + const { bitmap: i11, headers: s8, objectCount: r8, laneCount: c5, typeBits: d6 } = o6, u6 = pg(a5); + if (void 0 === u6) return Eg2(t7, "midx reverse index position out of range, declining midx bitmap", e9.artefact); + const l4 = Og2(u6); + return void 0 === l4 ? Eg2(t7, "midx reverse index is not a permutation, declining midx bitmap", e9.artefact) : { artefactName: e9.artefact, bitmap: i11, headers: s8, objectCount: r8, laneCount: c5, typeBits: d6, resolveOwnPosition: (t8) => mg(a5, t8), entryByOwnPosition: $g2(s8), ownPositionToBitPosition: l4, oidAtBitPosition: (t8) => { + const e10 = u6[t8]; + return void 0 === e10 ? void 0 : yg(a5, e10); + } }; + })(t6, await n8.midxBitmap()); + if (void 0 !== a4) return [...await kg2(t6, a4, Ag2(e8))]; + const o5 = await n8.all(); + for (const n9 of o5) { + const a5 = await Ng2(t6, n9); + if (void 0 !== a5) return [...await kg2(t6, a5, Ag2(e8))]; + } + })(t5, e7); + if (void 0 !== n7) return { objects: n7, tier: "bitmap" }; + } + return { objects: await Rg2(t5, e7), tier: "walk" }; +} +var Fg2 = { mtimes: /* @__PURE__ */ new Map(), packShas: [] }; +function Ug2(t5, e7) { + for (const [n7, a4] of e7) { + const e8 = t5.get(n7); + t5.set(n7, void 0 === e8 ? a4 : Math.max(e8, a4)); + } +} +async function zg2(t5, e7, n7) { + const a4 = Vg(await n7.index()), o5 = await t5.fs.read(Fw2(e7, n7.name.slice(5))), i11 = await (async function(t6, e8, n8) { + const a5 = (function(t7) { + if (t7.length < 12) return; + const e9 = new DataView(t7.buffer, t7.byteOffset, t7.byteLength).getUint32(8); + return 1 === e9 ? 20 : 2 === e9 ? 32 : void 0; + })(e8); + if (void 0 === a5) return; + const o6 = 12 + 4 * n8 + a5; + return e8.length === o6 + a5 ? t6.hash.hash(e8.subarray(0, o6)) : void 0; + })(t5, o5, a4.length), s8 = xh(o5, a4, i11); + return { packSha: n7.name.slice(5), mtimes: s8 }; +} +var jg2 = (t5, e7) => t5.name < e7.name ? -1 : t5.name > e7.name ? 1 : 0; +async function Hg2(t5, e7) { + if (0 === e7.length) return Fg2; + const n7 = yo2(oo2(t5)), a4 = /* @__PURE__ */ new Map(), o5 = []; + for (const i11 of [...e7].sort(jg2)) { + const e8 = await zg2(t5, n7, i11); + Ug2(a4, e8.mtimes), o5.push(e8.packSha); + } + return { mtimes: a4, packShas: o5 }; +} +function Wg2(t5, e7) { + return void 0 === t5 ? e7 : void 0 === e7 ? t5 : Math.max(t5, e7); +} +async function Gg2(t5, e7, n7, a4, o5) { + const i11 = await Lo2(t5, "ioBound", e7, async (e8) => { + const i12 = n7.has(e8) ? await (async function(t6, e9) { + const n8 = await t6.fs.lstat(so2(oo2(t6), e9)); + return Math.floor(n8.mtimeMs / 1e3); + })(t5, e8) : void 0, s8 = a4.get(e8), r8 = o5.get(e8); + return [e8, Wg2(Wg2(i12, s8), r8)]; + }); + return new Map(i11); +} +function Kg2(t5, e7, n7) { + return 1 === n7 && t5.length === e7.size && t5.every((t6) => e7.has(t6)) ? "noop" : 0 === t5.length ? "delete" : "rewrite"; +} +async function qg2(t5, e7) { + const n7 = await Vw2(t5, { packDir: e7.packDir, packBytes: e7.packBytes, entries: e7.entries, packSha: e7.packSha, promisor: false }), a4 = await (async (t6, e8, n8, a5) => { + const o5 = Ot(n8), i11 = $h(e8, o5, a5), s8 = i11.length - o5.length, c5 = await t6.hash.hash(i11.subarray(0, s8)); + return i11.set(c5, s8), i11; + })(t5, n7.sorted, n7.packSha, e7.mtimeAt); + return await t5.fs.writeExclusive(Fw2(e7.packDir, n7.packSha), a4), { packSha: n7.packSha }; +} +async function Vg2(t5, e7) { + try { + await t5.fs.rm(e7); + } catch (t6) { + if (!(function(t7) { + return "FILE_NOT_FOUND" === to2(t7); + })(t6)) throw t6; + } +} +async function Yg2(t5, e7, n7) { + await Vg2(t5, `${e7}/pack-${n7}.idx`), await Vg2(t5, zw2(e7, n7)), await Vg2(t5, `${e7}/pack-${n7}.rev`), await Vg2(t5, Fw2(e7, n7)); +} +async function Xg2(t5, e7, n7) { + await Vg2(t5, Fw2(e7, n7)); +} +var Zg2 = (t5, e7) => ((t6, e8) => ({ ...e8, read: async () => (await gu2(t6, e8.oid)).content }))(t5, { source: "index", path: e7.path, oid: e7.id, mode: e7.mode, stage: e7.flags.stage, flags: { assumeUnchanged: e7.flags.assumeValid, skipWorktree: e7.flags.skipWorktree, intentToAdd: e7.flags.intentToAdd }, cachedStat: { size: e7.fileSize, mtimeMs: 1e3 * e7.mtimeSeconds + Math.floor(e7.mtimeNanoseconds / 1e6), ino: BigInt(e7.ino) } }); +var Jg2 = (t5) => "120000" === t5 ? "symlink" : "160000" === t5 ? "submodule" : "file"; +var Qg2 = (t5, e7, n7, a4) => ((t6, e8) => ({ ...e8, read: async () => (await gu2(t6, e8.oid)).content }))(t5, { source: "tree", path: e7, oid: n7, mode: a4, kind: Jg2(a4) }); +var tv = new TextEncoder(); +var ev = (t5) => t5.isSymbolicLink ? "120000" : 73 & t5.mode ? "100755" : "100644"; +var nv = (t5, e7) => { + const n7 = Jd2(Kd2(t5, "createWorkdirEntry"), e7.path), a4 = async () => "symlink" === e7.kind ? (async (t6, e8) => { + const n8 = await t6.fs.readlink(e8); + return tv.encode(n8); + })(t5, n7) : t5.fs.read(n7); + return { ...e7, hash: async () => (async (t6, e8) => { + const n8 = tv.encode(`blob ${e8.length}\0`), a5 = new Uint8Array(n8.length + e8.length); + a5.set(n8, 0), a5.set(e8, n8.length); + const o5 = await t6.hash.hashHex(a5); + if (!Qr(o5, t6.hashConfig)) throw Pt(o5); + return o5; + })(t5, await a4()), read: a4, readLink: async () => { + if ("symlink" !== e7.kind) throw w("readLink", `entry is not a symlink (kind=${e7.kind})`); + return t5.fs.readlink(n7); }, verify: async () => { - const a7 = await (async (t6, e7) => { - const n7 = await t6.fs.lstat(e7); - return { mode: hp2(n7), size: n7.size, mtimeMs: n7.mtimeMs, ...void 0 === n7.mtimeNs ? {} : { mtimeNs: n7.mtimeNs }, ino: BigInt(n7.ino) }; - })(t5, n6); - if (!((t6, e7) => t6.mode === e7.mode && t6.size === e7.size && t6.mtimeMs === e7.mtimeMs)(e6.stat, a7)) throw v(e6.path, e6.stat, a7); + const a5 = await (async (t6, e8) => { + const n8 = await t6.fs.lstat(e8); + return { mode: ev(n8), size: n8.size, mtimeMs: n8.mtimeMs, ...void 0 === n8.mtimeNs ? {} : { mtimeNs: n8.mtimeNs }, ino: BigInt(n8.ino) }; + })(t5, n7); + if (!((t6, e8) => t6.mode === e8.mode && t6.size === e8.size && t6.mtimeMs === e8.mtimeMs)(e7.stat, a5)) throw x(e7.path, e7.stat, a5); } }; }; -var mp2 = (t5, e6) => /* @__PURE__ */ ((t6, e7) => { - let n6 = null; - return { kind: "tree", entries: async function* (a6) { - const o6 = await (async (a7) => { - if (null !== n6 && !a7) return n6; - const o7 = await t6.treeResolver.resolve(t6.ctx, e7, { bypassCache: a7 }); - return n6 = o7, o7; - })(true === a6?.bypassCache), i7 = { recursive: false !== a6?.recurse, ...void 0 === a6?.maxDepth ? {} : { maxDepth: a6.maxDepth }, ...void 0 === a6?.maxEntries ? {} : { maxEntries: a6.maxEntries } }; - for await (const e8 of yd2(t6.ctx, o6, i7)) Yt(e8.mode) || (void 0 === a6?.paths || vi(a6.paths, e8.path)) && (yield fp2(t6.ctx, e8.path, e8.id, e8.mode)); +var av = (t5, e7) => /* @__PURE__ */ ((t6, e8) => { + let n7 = null; + return { kind: "tree", entries: async function* (a4) { + const o5 = await (async (a5) => { + if (null !== n7 && !a5) return n7; + const o6 = await t6.treeResolver.resolve(t6.ctx, e8, { bypassCache: a5 }); + return n7 = o6, o6; + })(true === a4?.bypassCache), i11 = { recursive: false !== a4?.recurse, ...void 0 === a4?.maxDepth ? {} : { maxDepth: a4.maxDepth }, ...void 0 === a4?.maxEntries ? {} : { maxEntries: a4.maxEntries } }; + for await (const e9 of af2(t6.ctx, o5, i11)) tn(e9.mode) || (void 0 === a4?.paths || Vi(a4.paths, e9.path)) && (yield Qg2(t6.ctx, e9.path, e9.id, e9.mode)); } }; -})({ ctx: t5.ctx, treeResolver: t5.treeResolver }, e6); -var pp2 = async (t5, e6) => { - const n6 = await Ui2(t5, e6); - if ("commit" !== n6.type) throw Bt("commit", n6.type, e6); - return n6.data.tree; -}; -var yp2 = async (t5, e6) => { - const n6 = await eu2(t5.ctx, e6, { peel: true }), a6 = await pp2(t5.ctx, n6); - return mp2(t5, a6); -}; -var gp2 = /* @__PURE__ */ new Set(["FILE_NOT_FOUND", "REF_NOT_FOUND"]); -var vp2 = (t5, e6) => async () => (async (t6, e7) => { - const n6 = `${t6.ctx.layout.gitDir}/${e7}`; - if (!await t6.ctx.fs.exists(n6)) return null; +})({ ctx: t5.ctx, treeResolver: t5.treeResolver }, e7); +var ov = async (t5, e7) => { + const n7 = await Ts2(t5, e7); + if ("commit" !== n7.type) throw Kt("commit", n7.type, e7); + return n7.data.tree; +}; +var iv = async (t5, e7) => { + const n7 = await Wf2(t5.ctx, e7, { peel: true }), a4 = await ov(t5.ctx, n7); + return av(t5, a4); +}; +var sv = /* @__PURE__ */ new Set(["FILE_NOT_FOUND", "REF_NOT_FOUND"]); +var rv = (t5, e7) => async () => (async (t6, e8) => { + const a4 = `${t6.ctx.layout.gitDir}/${e8}`; + if (!await t6.ctx.fs.exists(a4)) return null; try { - return await yp2(t6, e7); + return await iv(t6, e8); } catch (t7) { - if (t7 instanceof o && gp2.has(t7.data.code)) return null; + if (t7 instanceof c && sv.has(t7.data.code)) return null; throw t7; } -})(t5, e6); -var bp2 = (t5) => ({ head: () => ({ kind: "commit", entries: async function* (e6) { - const n6 = await yp2(t5, "HEAD"); - yield* n6.entries(e6); -} }), commit: (e6) => ({ kind: "commit", entries: async function* (n6) { - const a6 = await pp2(t5.ctx, e6); - yield* mp2(t5, a6).entries(n6); -} }), tree: (e6) => mp2(t5, e6), index: () => /* @__PURE__ */ ((t6) => { - let e6 = null; - return { kind: "index", entries: async function* (n6) { - const a6 = await (async (n7) => { - if (null !== e6) return e6; - const a7 = await t6.indexResolver.resolve(t6.ctx, { bypassCache: n7 }); - return e6 = a7, a7; - })(true === n6?.bypassCache); - let o6 = 0; - const i7 = n6?.maxEntries ?? Number.POSITIVE_INFINITY; - for (const e7 of a6.entries) { - if (o6 >= i7) return; - (void 0 === n6?.paths || vi(n6.paths, e7.path)) && (yield dp2(t6.ctx, e7), o6 += 1); +})(t5, e7); +var cv = (t5) => ({ head: () => ({ kind: "commit", entries: async function* (e7) { + const n7 = await iv(t5, "HEAD"); + yield* n7.entries(e7); +} }), commit: (e7) => ({ kind: "commit", entries: async function* (n7) { + const a4 = await ov(t5.ctx, e7); + yield* av(t5, a4).entries(n7); +} }), tree: (e7) => av(t5, e7), index: () => /* @__PURE__ */ ((t6) => { + let e7 = null; + return { kind: "index", entries: async function* (n7) { + const a4 = await (async (n8) => { + if (null !== e7) return e7; + const a5 = await t6.indexResolver.resolve(t6.ctx, { bypassCache: n8 }); + return e7 = a5, a5; + })(true === n7?.bypassCache); + let o5 = 0; + const i11 = n7?.maxEntries ?? Number.POSITIVE_INFINITY; + for (const e8 of a4.entries) { + if (o5 >= i11) return; + (void 0 === n7?.paths || Vi(n7.paths, e8.path)) && (yield Zg2(t6.ctx, e8), o5 += 1); } } }; -})({ ctx: t5.ctx, indexResolver: t5.indexResolver }), workdir: (e6) => /* @__PURE__ */ ((t6, e7) => ({ kind: "workdir", entries: async function* (n6) { - const a6 = ((t7, e8) => { - const n7 = e8?.paths ?? t7?.paths, a7 = e8?.maxDepth ?? t7?.maxDepth, o7 = e8?.maxEntries ?? t7?.maxEntries, i7 = e8?.signal ?? t7?.signal, s9 = t7?.excludes; - return { ...void 0 === n7 ? {} : { paths: n7 }, ...void 0 === s9 ? {} : { excludes: s9 }, ...void 0 === a7 ? {} : { maxDepth: a7 }, ...void 0 === o7 ? {} : { maxEntries: o7 }, ...void 0 === i7 ? {} : { signal: i7 } }; - })(e7, n6), o6 = t6.enumerator.enumerate(t6.ctx, a6); - if ("verified" === e7?.consistency) { - const e8 = []; - for await (const t7 of o6) e8.push(t7); - for (const n7 of e8) yield wp2(t6.ctx, n7); +})({ ctx: t5.ctx, indexResolver: t5.indexResolver }), workdir: (e7) => /* @__PURE__ */ ((t6, e8) => ({ kind: "workdir", entries: async function* (n7) { + const a4 = ((t7, e9) => { + const n8 = e9?.paths ?? t7?.paths, a5 = e9?.maxDepth ?? t7?.maxDepth, o6 = e9?.maxEntries ?? t7?.maxEntries, i11 = e9?.signal ?? t7?.signal, s8 = t7?.excludes; + return { ...void 0 === n8 ? {} : { paths: n8 }, ...void 0 === s8 ? {} : { excludes: s8 }, ...void 0 === a5 ? {} : { maxDepth: a5 }, ...void 0 === o6 ? {} : { maxEntries: o6 }, ...void 0 === i11 ? {} : { signal: i11 } }; + })(e8, n7), o5 = t6.enumerator.enumerate(t6.ctx, a4); + if ("verified" === e8?.consistency) { + const e9 = []; + for await (const t7 of o5) e9.push(t7); + for (const n8 of e9) yield nv(t6.ctx, n8); return; } - for await (const e8 of o6) yield wp2(t6.ctx, e8); -} }))({ ctx: t5.ctx, enumerator: t5.workdirEnumerator }, e6), mergeHead: vp2(t5, au), cherryPickHead: vp2(t5, uu), revertHead: vp2(t5, lu), fetchHead: vp2(t5, hu), stashEntry: (e6) => xp2(t5, e6) }); -var kp2 = async (t5, e6) => { - const n6 = await Ui2(t5, e6); - if ("commit" !== n6.type) throw Bt("commit", n6.type, e6); - return n6.data.tree; -}; -var xp2 = async (t5, e6) => { - const n6 = await vu2(t5.ctx, "refs/stash"), a6 = n6[n6.length - 1 - e6]; - if (void 0 === a6) return null; - const o6 = await Ui2(t5.ctx, a6.newId); - if ("commit" !== o6.type) throw Bt("commit", o6.type, a6.newId); - const [, i7, s9] = o6.data.parents; - if (void 0 === i7) return null; - const r6 = await kp2(t5.ctx, i7), c6 = void 0 !== s9 ? mp2(t5, await kp2(t5.ctx, s9)) : null; - return d5 = { index: mp2(t5, r6), workdir: mp2(t5, o6.data.tree), untracked: c6 }, { kind: "stash", ...d5 }; - var d5; + for await (const e9 of o5) yield nv(t6.ctx, e9); +} }))({ ctx: t5.ctx, enumerator: t5.workdirEnumerator }, e7), mergeHead: rv(t5, Mu), cherryPickHead: rv(t5, Fu), revertHead: rv(t5, Hu), fetchHead: rv(t5, Gu), stashEntry: (e7) => uv(t5, e7) }); +var dv = async (t5, e7) => { + const n7 = await Ts2(t5, e7); + if ("commit" !== n7.type) throw Kt("commit", n7.type, e7); + return n7.data.tree; +}; +var uv = async (t5, e7) => { + const n7 = await ml2(t5.ctx, "refs/stash"), a4 = n7[n7.length - 1 - e7]; + if (void 0 === a4) return null; + const o5 = await Ts2(t5.ctx, a4.newId); + if ("commit" !== o5.type) throw Kt("commit", o5.type, a4.newId); + const [, i11, s8] = o5.data.parents; + if (void 0 === i11) return null; + const r8 = await dv(t5.ctx, i11), c5 = void 0 !== s8 ? av(t5, await dv(t5.ctx, s8)) : null; + return d6 = { index: av(t5, r8), workdir: av(t5, o5.data.tree), untracked: c5 }, { kind: "stash", ...d6 }; + var d6; }; -// node_modules/@scolladon/tsgit/dist/esm/chunks/adapters-shared-wKctRkdF.js +// node_modules/@scolladon/tsgit/dist/esm/chunks/adapters-shared-B7Fhcs36.js var b2 = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; var m2 = b2.length; -function B2(e6, n6) { - const s9 = (function(t5) { - const e7 = new Uint16Array(16); - for (const n7 of t5) n7 > 0 && (e7[n7] = e7[n7] + 1); - return e7; - })(e6); - !(function(e7, n7) { - if ("fixed" !== n7 && 0 !== e7.maxUsedLength && 0 !== e7.unusedCodes && ("code-length" === n7 || 1 !== e7.maxUsedLength)) throw p(/* @__PURE__ */ (function(t5) { +function B2(e7, n7) { + const s8 = (function(t5) { + const e8 = new Uint16Array(16); + for (const n8 of t5) n8 > 0 && (e8[n8] = e8[n8] + 1); + return e8; + })(e7); + !(function(e8, n8) { + if ("fixed" !== n8 && 0 !== e8.maxUsedLength && 0 !== e8.unusedCodes && ("code-length" === n8 || 1 !== e8.maxUsedLength)) throw b(/* @__PURE__ */ (function(t5) { return "code-length" === t5 ? "invalid code lengths set" : "literal-length" === t5 ? "invalid literal/lengths set" : "invalid distances set"; - })(n7)); - })((function(e7) { - let n7 = 1, s10 = 0; - for (let i8 = 1; i8 <= 15; i8 += 1) { - const r6 = e7[i8]; - if (r6 > 0 && (s10 = i8), n7 = 2 * n7 - r6, n7 < 0) throw p("invalid huffman code lengths"); - } - return { unusedCodes: n7, maxUsedLength: s10 }; - })(s9), n6); - const i7 = (function(t5, e7) { - const n7 = (function(t6) { - const e8 = new Uint16Array(17); - for (let n8 = 1; n8 <= 15; n8 += 1) e8[n8 + 1] = e8[n8] + t6[n8]; - return e8; - })(e7), s10 = new Uint16Array(t5.length); - return t5.forEach((t6, e8) => { + })(n8)); + })((function(e8) { + let n8 = 1, s9 = 0; + for (let i12 = 1; i12 <= 15; i12 += 1) { + const r8 = e8[i12]; + if (r8 > 0 && (s9 = i12), n8 = 2 * n8 - r8, n8 < 0) throw b("invalid huffman code lengths"); + } + return { unusedCodes: n8, maxUsedLength: s9 }; + })(s8), n7); + const i11 = (function(t5, e8) { + const n8 = (function(t6) { + const e9 = new Uint16Array(17); + for (let n9 = 1; n9 <= 15; n9 += 1) e9[n9 + 1] = e9[n9] + t6[n9]; + return e9; + })(e8), s9 = new Uint16Array(t5.length); + return t5.forEach((t6, e9) => { if (0 === t6) return; - const i8 = n7[t6]; - s10[i8] = e8, n7[t6] = i8 + 1; - }), s10; - })(e6, s9); - return { counts: s9, symbols: i7, root: x2(s9, i7) }; -} -function x2(t5, e6) { - const n6 = new Uint8Array(512), s9 = new Uint16Array(512); - let i7 = 0, r6 = 0; - for (let o6 = 1; o6 <= 9; o6 += 1) { - const a6 = t5[o6]; - for (let t6 = 0; t6 < a6; t6 += 1) C2(n6, s9, i7 + t6, o6, e6[r6 + t6]); - r6 += a6, i7 += a6, i7 <<= 1; - } - return { lengths: n6, symbols: s9 }; -} -function C2(t5, e6, n6, s9, i7) { - const r6 = 1 << s9; - for (let o6 = (function(t6, e7) { - let n7 = 0; - for (let s10 = 0; s10 < e7; s10 += 1) n7 = n7 << 1 | t6 >> s10 & 1; - return n7; - })(n6, s9); o6 < 512; o6 += r6) t5[o6] = s9, e6[o6] = i7; -} -var U2 = B2([[144, 8], [112, 9], [24, 7], [8, 8]].flatMap(([t5, e6]) => Array(t5).fill(e6)), "fixed"); + const i12 = n8[t6]; + s9[i12] = e9, n8[t6] = i12 + 1; + }), s9; + })(e7, s8); + return { counts: s8, symbols: i11, root: x2(s8, i11) }; +} +function x2(t5, e7) { + const n7 = new Uint8Array(512), s8 = new Uint16Array(512); + let i11 = 0, r8 = 0; + for (let o5 = 1; o5 <= 9; o5 += 1) { + const a4 = t5[o5]; + for (let t6 = 0; t6 < a4; t6 += 1) C2(n7, s8, i11 + t6, o5, e7[r8 + t6]); + r8 += a4, i11 += a4, i11 <<= 1; + } + return { lengths: n7, symbols: s8 }; +} +function C2(t5, e7, n7, s8, i11) { + const r8 = 1 << s8; + for (let o5 = (function(t6, e8) { + let n8 = 0; + for (let s9 = 0; s9 < e8; s9 += 1) n8 = n8 << 1 | t6 >> s9 & 1; + return n8; + })(n7, s8); o5 < 512; o5 += r8) t5[o5] = s8, e7[o5] = i11; +} +var U2 = B2([[144, 8], [112, 9], [24, 7], [8, 8]].flatMap(([t5, e7]) => Array(t5).fill(e7)), "fixed"); var A2 = B2(Array(30).fill(5), "fixed"); -var T2 = (t5, n6, s9, i7) => { - let o6 = null; - return s9.subscribe(() => { - }), { resolve: async (s10, a6) => { - const l4 = i7.current("index"), c6 = true === a6?.bypassCache; - if (!c6 && null !== o6 && o6.cachedGen === l4) return o6.parsed; - const u6 = Ra2(s10.layout.gitDir), h6 = await (async (t6) => { +var T2 = (t5, n7, s8, i11) => { + let o5 = null; + return s8.subscribe(() => { + }), { resolve: async (s9, a4) => { + const l4 = i11.current("index"), c5 = true === a4?.bypassCache; + if (!c5 && null !== o5 && o5.cachedGen === l4) return o5.parsed; + const u6 = ho2(s9.layout.gitDir), h5 = await (async (t6) => { try { - return await n6.stat(t6); + return await n7.stat(t6); } catch (t7) { - if (t7 instanceof o && "FILE_NOT_FOUND" === t7.data.code) return null; + if (t7 instanceof c && "FILE_NOT_FOUND" === t7.data.code) return null; throw t7; } })(u6); - if (!c6 && null !== o6 && null !== h6 && await (async (t6, e6, s11) => { - return (i8 = s11).size === (r6 = t6.observed).size && i8.ino === r6.ino && i8.mtimeMs === r6.mtimeMs && (void 0 === i8.mtimeNs || void 0 === r6.mtimeNs || i8.mtimeNs === r6.mtimeNs) && (!((t7, e7) => void 0 === t7.mtimeNs || void 0 === e7.mtimeNs)(s11, t6.observed) || (async (t7, e7, s12) => { - const i9 = t7.parsed.trailerSha.length; - if (0 === i9 || s12.size < i9) return false; - const r7 = await (async (t8, e8, n7, s13) => t8.readSlice(e8, s13 - n7, n7))(n6, e7, i9, s12.size); - return ((t8, e8) => { - if (t8.length !== e8.length) return false; - for (let n7 = 0; n7 < t8.length; n7 += 1) if (t8[n7] !== e8[n7]) return false; + if (!c5 && null !== o5 && null !== h5 && await (async (t6, e7, s10) => { + return (i12 = s10).size === (r8 = t6.observed).size && i12.ino === r8.ino && i12.mtimeMs === r8.mtimeMs && (void 0 === i12.mtimeNs || void 0 === r8.mtimeNs || i12.mtimeNs === r8.mtimeNs) && (!((t7, e8) => void 0 === t7.mtimeNs || void 0 === e8.mtimeNs)(s10, t6.observed) || (async (t7, e8, s11) => { + const i13 = t7.parsed.trailerSha.length; + if (0 === i13 || s11.size < i13) return false; + const r9 = await (async (t8, e9, n8, s12) => t8.readSlice(e9, s12 - n8, n8))(n7, e8, i13, s11.size); + return ((t8, e9) => { + if (t8.length !== e9.length) return false; + for (let n8 = 0; n8 < t8.length; n8 += 1) if (t8[n8] !== e9[n8]) return false; return true; - })(r7, t7.parsed.trailerSha); - })(t6, e6, s11)); - var i8, r6; - })(o6, u6, h6)) return o6.cachedGen = l4, o6.parsed; - const f2 = await t5.resolve(s10, a6); - return o6 = null !== h6 ? { parsed: f2, observed: h6, cachedGen: l4 } : null, f2; + })(r9, t7.parsed.trailerSha); + })(t6, e7, s10)); + var i12, r8; + })(o5, u6, h5)) return o5.cachedGen = l4, o5.parsed; + const f2 = await t5.resolve(s9, a4); + return o5 = null !== h5 ? { parsed: f2, observed: h5, cachedGen: l4 } : null, f2; } }; }; -var L2 = (t5, e6 = {}) => { - const n6 = e6.maxSize ?? 256, s9 = /* @__PURE__ */ new Map(), i7 = async (e7, i8, r6) => { - const o6 = await t5.resolve(e7, i8, r6); - if (s9.set(i8, o6), s9.size > n6) { - const t6 = s9.keys().next().value; - void 0 !== t6 && s9.delete(t6); +var L2 = (t5, e7 = {}) => { + const n7 = e7.maxSize ?? 256, s8 = /* @__PURE__ */ new Map(), i11 = async (e8, i12, r8) => { + const o5 = await t5.resolve(e8, i12, r8); + if (s8.set(i12, o5), s8.size > n7) { + const t6 = s8.keys().next().value; + void 0 !== t6 && s8.delete(t6); } - return o6; + return o5; }; - return { resolve: async (t6, e7, n7) => { - if (true === n7?.bypassCache) return i7(t6, e7, n7); - const r6 = s9.get(e7); - return void 0 !== r6 ? (s9.delete(e7), s9.set(e7, r6), r6) : i7(t6, e7, n7); + return { resolve: async (t6, e8, n8) => { + if (true === n8?.bypassCache) return i11(t6, e8, n8); + const r8 = s8.get(e8); + return void 0 !== r8 ? (s8.delete(e8), s8.set(e8, r8), r8) : i11(t6, e8, n8); } }; }; var D2 = () => { const t5 = { index: 0, refs: 0, objects: 0 }; - return { current: (e6) => t5[e6], bump: (e6) => { - t5[e6] += 1; + return { current: (e7) => t5[e7], bump: (e7) => { + t5[e7] += 1; } }; }; var E2 = (t5) => t5.isSymbolicLink ? "120000" : 73 & t5.mode ? "100755" : "100644"; -var j2 = (t5, e6) => { - const n6 = ((t6) => ({ mode: E2(t6), size: t6.size, mtimeMs: t6.mtimeMs, ...void 0 === t6.mtimeNs ? {} : { mtimeNs: t6.mtimeNs }, ino: BigInt(t6.ino) }))(e6); - return { source: "workdir", path: t5, mode: n6.mode, kind: e6.isSymbolicLink ? "symlink" : "file", stat: n6 }; -}; -var O2 = () => ({ enumerate: (t5, e6) => (async function* (t6, e7) { - const i7 = () => true === e7.signal?.aborted || true === t6.signal?.aborted; - if (i7()) throw I(); - const r6 = e7.excludes, a6 = zd2(t6, { ...void 0 === e7.maxDepth ? {} : { maxDepth: e7.maxDepth }, ...void 0 === e7.maxEntries ? {} : { maxEntries: e7.maxEntries }, ...void 0 === r6 ? {} : { ignore: r6 } }); - for await (const { path: t7, stat: r7 } of a6) { - if (i7()) throw I(); - (void 0 === e7.paths || vi(e7.paths, t7)) && (yield j2(t7, await r7())); - } -})(t5, e6) }); +var j2 = (t5, e7) => { + const n7 = ((t6) => ({ mode: E2(t6), size: t6.size, mtimeMs: t6.mtimeMs, ...void 0 === t6.mtimeNs ? {} : { mtimeNs: t6.mtimeNs }, ino: BigInt(t6.ino) }))(e7); + return { source: "workdir", path: t5, mode: n7.mode, kind: e7.isSymbolicLink ? "symlink" : "file", stat: n7 }; +}; +var O2 = () => ({ enumerate: (t5, e7) => (async function* (t6, e8) { + const i11 = () => true === e8.signal?.aborted || true === t6.signal?.aborted; + if (i11()) throw A(); + const r8 = e8.excludes, a4 = Pf2(t6, { ...void 0 === e8.maxDepth ? {} : { maxDepth: e8.maxDepth }, ...void 0 === e8.maxEntries ? {} : { maxEntries: e8.maxEntries }, ...void 0 === r8 ? {} : { ignore: r8 } }); + for await (const { path: t7, stat: r9 } of a4) { + if (i11()) throw A(); + (void 0 === e8.paths || Vi(e8.paths, t7)) && (yield j2(t7, await r9())); + } +})(t5, e7) }); var G2 = (t5) => { - const e6 = /* @__PURE__ */ new Set(); - return { emitter: { emit: (n6) => { - t5.bump(n6); - for (const t6 of e6) t6(n6); - } }, stream: { subscribe: (t6) => (e6.add(t6), { dispose: () => { - e6.delete(t6); + const e7 = /* @__PURE__ */ new Set(); + return { emitter: { emit: (n7) => { + t5.bump(n7); + for (const t6 of e7) t6(n7); + } }, stream: { subscribe: (t6) => (e7.add(t6), { dispose: () => { + e7.delete(t6); } }) } }; }; -var F2 = () => ({ resolve: (t5) => Cd2(t5) }); -var I2 = () => ({ resolve: async (t5, e6) => { - const n6 = await Ui2(t5, e6); - if ("tree" !== n6.type) throw Bt("tree", n6.type, e6); - return n6; +var F2 = () => ({ resolve: (t5) => hf2(t5) }); +var I2 = () => ({ resolve: async (t5, e7) => { + const n7 = await Ts2(t5, e7); + if ("tree" !== n7.type) throw Kt("tree", n7.type, e7); + return n7; } }); var R2 = (t5) => { - let e6 = null; - return { resolve: (n6, s9) => true === s9?.bypassCache ? t5.resolve(n6, s9) : e6 ?? ((n7, s10) => { - const i7 = t5.resolve(n7, s10).finally(() => { - e6 = null; + let e7 = null; + return { resolve: (n7, s8) => true === s8?.bypassCache ? t5.resolve(n7, s8) : e7 ?? ((n8, s9) => { + const i11 = t5.resolve(n8, s9).finally(() => { + e7 = null; }); - return e6 = i7, i7; - })(n6, s9) }; + return e7 = i11, i11; + })(n7, s8) }; }; -// node_modules/@scolladon/tsgit/dist/esm/chunks/adapter-browser-D19sSXDR.js +// node_modules/@scolladon/tsgit/dist/esm/chunks/adapter-browser-GEZmFO5Y.js var g2 = Object.freeze({ start: () => { }, update: () => { }, end: () => { } }); -// node_modules/@scolladon/tsgit/dist/esm/chunks/adapter-node-DxFJdJAh.js +// node_modules/@scolladon/tsgit/dist/esm/chunks/adapter-node-BQbKSbA5.js var import_node_child_process = require("node:child_process"); +var import_node_util = require("node:util"); var import_node_zlib = require("node:zlib"); -var S2 = __toESM(require("node:fs"), 1); +var k2 = __toESM(require("node:fs"), 1); var import_promises = require("node:stream/promises"); -var b3 = __toESM(require("node:fs/promises"), 1); +var W2 = __toESM(require("node:fs/promises"), 1); var import_promises2 = require("node:fs/promises"); var import_node_crypto2 = require("node:crypto"); -var k2 = __toESM(require("node:http"), 1); -var D3 = __toESM(require("node:https"), 1); +var I3 = __toESM(require("node:http"), 1); +var F3 = __toESM(require("node:https"), 1); var import_node_stream = require("node:stream"); -var x3 = { spawn: import_node_child_process.spawn }; -var T3 = (t5) => { - const e6 = t5.reduce((t6, e7) => t6 + e7.length, 0), s9 = new Uint8Array(e6); - let i7 = 0; - for (const e7 of t5) s9.set(e7, i7), i7 += e7.length; - return s9; -}; -var I3 = class { +var _2 = { spawn: import_node_child_process.spawn }; +var z2 = (t5) => { + const e7 = t5.reduce((t6, e8) => t6 + e8.length, 0), s8 = new Uint8Array(e7); + let i11 = 0; + for (const e8 of t5) s8.set(e8, i11), i11 += e8.length; + return s8; +}; +var M2 = class { isWindows; ops; - constructor(t5 = process.platform, e6 = x3) { - this.isWindows = "win32" === t5, this.ops = e6; + constructor(t5 = process.platform, e7 = _2) { + this.isWindows = "win32" === t5, this.ops = e7; } run(t5) { - return ((t6, e6, s9, i7) => new Promise((r6) => { - const o6 = t6.spawn(e6, [s9, i7.command], { cwd: i7.cwd, env: { ...process.env, ...i7.env }, stdio: ["pipe", "pipe", "inherit"] }), a6 = i7.signal, n6 = () => { - o6.kill(); + return ((t6, e7, s8, i11) => new Promise((r8) => { + const a4 = t6.spawn(e7, [s8, i11.command], { cwd: i11.cwd, env: { ...process.env, ...i11.env }, stdio: ["pipe", "pipe", "inherit"] }), o5 = i11.signal, n7 = () => { + a4.kill(); }; - a6?.addEventListener("abort", n6), true === a6?.aborted && o6.kill(), void 0 !== i7.stdin && (o6.stdin.write(i7.stdin), o6.stdin.end()); - const c6 = []; - o6.stdout.on("data", (t7) => { - c6.push(t7); + o5?.addEventListener("abort", n7), true === o5?.aborted && a4.kill(); + const c5 = []; + a4.stdout.on("data", (t7) => { + c5.push(t7); }); - const h6 = (t7) => { - a6?.removeEventListener("abort", n6), r6(c6.length > 0 ? { exitCode: t7, stdout: T3(c6) } : { exitCode: t7 }); + const h5 = (t7) => { + o5?.removeEventListener("abort", n7), r8(c5.length > 0 ? { exitCode: t7, stdout: z2(c5) } : { exitCode: t7 }); }; - o6.on("error", () => { - h6(127); - }), o6.on("close", (t7) => { - h6(t7 ?? 128); - }); + a4.on("error", () => { + h5(127); + }), a4.on("close", (t7) => { + h5(t7 ?? 128); + }), void 0 !== i11.stdin && (a4.stdin.on("error", (t7) => { + "EPIPE" !== t7.code && h5(127); + }), a4.stdin.write(i11.stdin), a4.stdin.end()); }))(this.ops, this.isWindows ? "cmd" : "sh", this.isWindows ? "/c" : "-c", t5); } }; -function F3(t5) { +var j3 = (0, import_node_util.promisify)(import_node_zlib.deflate); +var H2 = (0, import_node_util.promisify)(import_node_zlib.deflateRaw); +function B3(t5) { return t5 instanceof Error ? t5.message : String(t5); } -var A3 = class { +var q2 = class { maxInflatedBytes; constructor(t5) { this.maxInflatedBytes = t5?.maxInflatedBytes ?? 2147483648; @@ -32647,555 +17324,628 @@ var A3 = class { effectiveCap(t5) { return void 0 === t5 ? this.maxInflatedBytes : Math.min(t5, this.maxInflatedBytes); } - deflate = async (t5, e6) => { + usesCallbackDispatch(t5) { + return t5.length > 16384; + } + deflate = async (t5, e7) => { try { - return new Uint8Array(void 0 === e6 ? (0, import_node_zlib.deflateSync)(t5) : (0, import_node_zlib.deflateSync)(t5, { level: e6 })); + return this.usesCallbackDispatch(t5) ? new Uint8Array(void 0 === e7 ? await j3(t5) : await j3(t5, { level: e7 })) : new Uint8Array(void 0 === e7 ? (0, import_node_zlib.deflateSync)(t5) : (0, import_node_zlib.deflateSync)(t5, { level: e7 })); } catch (t6) { - throw m(F3(t6)); + throw E(B3(t6)); } }; - deflateRaw = async (t5, e6) => { + deflateRaw = async (t5, e7) => { try { - return new Uint8Array(void 0 === e6 ? (0, import_node_zlib.deflateRawSync)(t5) : (0, import_node_zlib.deflateRawSync)(t5, { level: e6 })); + return this.usesCallbackDispatch(t5) ? new Uint8Array(void 0 === e7 ? await H2(t5) : await H2(t5, { level: e7 })) : new Uint8Array(void 0 === e7 ? (0, import_node_zlib.deflateRawSync)(t5) : (0, import_node_zlib.deflateRawSync)(t5, { level: e7 })); } catch (t6) { - throw m(F3(t6)); + throw E(B3(t6)); } }; inflate = async (t5) => { try { return new Uint8Array((0, import_node_zlib.inflateSync)(t5, { maxOutputLength: this.maxInflatedBytes })); } catch (t6) { - throw p(F3(t6)); + throw b(B3(t6)); } }; - streamInflate = async (t5, e6, s9) => { - const i7 = this.effectiveCap(s9); - return new Promise((s10, o6) => { - const a6 = (0, import_node_zlib.createInflate)(), n6 = []; - let c6 = 0; - const h6 = t5.subarray(e6); - a6.on("data", (t6) => { - if (c6 += t6.length, c6 > i7) return a6.destroy(), void o6(p("inflated output exceeds safety cap")); - n6.push(new Uint8Array(t6)); - }), a6.on("end", () => { - const t6 = a6.bytesWritten, e7 = (function(t7) { - const e8 = t7.reduce((t8, e9) => t8 + e9.length, 0), s11 = new Uint8Array(e8); - let i8 = 0; - for (const e9 of t7) s11.set(e9, i8), i8 += e9.length; - return s11; - })(n6); - s10({ output: e7, bytesConsumed: t6 }); - }), a6.on("error", (t6) => { - o6(p(t6.message)); - }), a6.end(h6); + streamInflate = async (t5, e7, s8) => { + const i11 = this.effectiveCap(s8); + return new Promise((s9, r8) => { + const n7 = (0, import_node_zlib.createInflate)(), c5 = []; + let h5 = 0; + const l4 = t5.subarray(e7); + n7.on("data", (t6) => { + if (h5 += t6.length, h5 > i11) return n7.destroy(), void r8(b("inflated output exceeds safety cap")); + c5.push(new Uint8Array(t6)); + }), n7.on("end", () => { + const t6 = n7.bytesWritten, e8 = $t(c5); + s9({ output: e8, bytesConsumed: t6 }); + }), n7.on("error", (t6) => { + r8(b(((t7) => "Z_BUF_ERROR" === t7.code)(t6) ? "unexpected end of deflate stream" : t6.message)); + }), n7.end(l4); }); }; createInflateStream = () => { - const t5 = this.maxInflatedBytes, e6 = (0, import_node_zlib.createInflate)(); - let s9, i7, o6, a6 = 0; - const n6 = new Promise((t6, e7) => { - i7 = t6, o6 = e7; + const t5 = this.maxInflatedBytes, e7 = (0, import_node_zlib.createInflate)(); + let s8, i11, r8, o5 = 0; + const n7 = new Promise((t6, e8) => { + i11 = t6, r8 = e8; }); - function c6() { - e6.destroy(), i7(); + function c5() { + e7.destroy(), i11(); } - return new TransformStream({ start(n7) { - s9 = n7, e6.on("data", (o7) => { - if (a6 += o7.length, a6 > t5) return s9?.error(p("inflated output exceeds safety cap")), e6.destroy(), void i7(); + return new TransformStream({ start(n8) { + s8 = n8, e7.on("data", (r9) => { + if (o5 += r9.length, o5 > t5) return s8?.error(b("inflated output exceeds safety cap")), e7.destroy(), void i11(); try { - s9?.enqueue(new Uint8Array(o7)); + s8?.enqueue(new Uint8Array(r9)); } catch { - c6(); + c5(); } - }), e6.on("end", () => { - s9?.terminate(), i7(); - }), e6.on("error", (t6) => { - const e7 = p(t6.message); - s9?.error(e7), o6(e7); + }), e7.on("end", () => { + s8?.terminate(), i11(); + }), e7.on("error", (t6) => { + const e8 = b(t6.message); + s8?.error(e8), r8(e8); }); }, transform(t6) { - e6.write(t6); - }, flush: () => (e6.end(), n6), cancel() { - c6(); + e7.write(t6); + }, flush: () => (e7.end(), n7), cancel() { + c5(); } }); }; }; -var U3 = class { +function Y2() { + return { cores: (0, import_node_os2.availableParallelism)(), threadpoolWidth: Number(process.env.UV_THREADPOOL_SIZE) || 4 }; +} +var G3 = class { get(t5) { return process.env[t5]; } }; -var _2 = b3; -var j3 = (t5) => { +var K2 = W2; +var X2 = (t5) => { if ("\\" !== t5 && "/" !== t5) throw new Error(`PathPolicy: unsupported separator ${JSON.stringify(t5)}`); return t5; }; -var z2 = /^[\\/]{2}[^\\/]+[\\/][^\\/]+[\\/]?/; -var M2 = /^[a-zA-Z]:[\\/]/; -var H2 = /^[a-zA-Z]:/; -var B3 = (t5, e6) => ({ sep: j3(t5.sep), ...e6, isAbsolute: (e7) => t5.isAbsolute(e7), resolve: (...e7) => t5.resolve(...e7), join: (...e7) => t5.join(...e7), dirname: (e7) => t5.dirname(e7), basename: (e7) => t5.basename(e7), rootOf: (t6) => ((t7, e7) => t7 ? ((t8) => { - const e8 = z2.exec(t8); - if (null !== e8) return e8[0]; - if (M2.test(t8)) return t8.slice(0, 3); - if (H2.test(t8)) return t8.slice(0, 2); - const s9 = t8.charAt(0); - return "\\" === s9 || "/" === s9 ? s9 : ""; -})(e7) : ((t8) => t8.startsWith("/") ? "/" : "")(e7))(e6.windowsSyntax, t6), normalizeForCompare: (t6) => ((t7, e7) => { - const s9 = t7.windowsSyntax ? (i7 = e7, i7.startsWith("\\\\?\\UNC\\") ? "\\\\" + i7.slice(8) : i7.startsWith("\\\\?\\") ? i7.slice(4) : i7).replaceAll("/", "\\") : e7; - var i7; - return t7.caseInsensitive ? s9.toLowerCase() : s9; -})(e6, t6) }); -var Y2 = B3(s2.posix, { caseInsensitive: false, windowsSyntax: false, honoursNoFollow: true }); -var q2 = B3(s2.win32, { caseInsensitive: true, windowsSyntax: true, honoursNoFollow: false }); -var G3 = "win32" === process.platform ? q2 : Y2; -function X2(t5, e6) { - const s9 = /* @__PURE__ */ new Map(); - for (const i7 of [...t5, ...e6]) s9.set(i7.normalized, i7); - return [...s9.values()]; -} -var $2 = S2.constants.O_WRONLY | S2.constants.O_CREAT | S2.constants.O_TRUNC | S2.constants.O_NOFOLLOW; -var Z2 = S2.constants.O_WRONLY | S2.constants.O_CREAT | S2.constants.O_EXCL | S2.constants.O_NOFOLLOW; -var J2 = S2.constants.O_WRONLY | S2.constants.O_APPEND | S2.constants.O_CREAT | S2.constants.O_NOFOLLOW; -function K2(t5, e6, s9 = G3) { - return s9.isAbsolute(t5) ? t5 : s9.join(e6, t5); -} -function Q2(t5) { +var Z2 = /^[\\/]{2}[^\\/]+[\\/][^\\/]+[\\/]?/; +var $2 = /^[a-zA-Z]:[\\/]/; +var J2 = /^[a-zA-Z]:/; +var V2 = (t5, e7) => ({ sep: X2(t5.sep), ...e7, isAbsolute: (e8) => t5.isAbsolute(e8), resolve: (...e8) => t5.resolve(...e8), join: (...e8) => t5.join(...e8), dirname: (e8) => t5.dirname(e8), basename: (e8) => t5.basename(e8), rootOf: (t6) => ((t7, e8) => t7 ? ((t8) => { + const e9 = Z2.exec(t8); + if (null !== e9) return e9[0]; + if ($2.test(t8)) return t8.slice(0, 3); + if (J2.test(t8)) return t8.slice(0, 2); + const s8 = t8.charAt(0); + return "\\" === s8 || "/" === s8 ? s8 : ""; +})(e8) : ((t8) => t8.startsWith("/") ? "/" : "")(e8))(e7.windowsSyntax, t6), normalizeForCompare: (t6) => ((t7, e8) => { + const s8 = t7.windowsSyntax ? (i11 = e8, i11.startsWith("\\\\?\\UNC\\") ? "\\\\" + i11.slice(8) : i11.startsWith("\\\\?\\") ? i11.slice(4) : i11).replaceAll("/", "\\") : e8; + var i11; + return t7.caseInsensitive ? s8.toLowerCase() : s8; +})(e7, t6) }); +var Q2 = V2(i3.posix, { caseInsensitive: false, windowsSyntax: false, honoursNoFollow: true, honoursRenameKinds: true }); +var tt2 = V2(i3.win32, { caseInsensitive: true, windowsSyntax: true, honoursNoFollow: false, honoursRenameKinds: false }); +var et2 = "win32" === process.platform ? tt2 : Q2; +function st2(t5, e7) { + const s8 = /* @__PURE__ */ new Map(); + for (const i11 of [...t5, ...e7]) s8.set(i11.normalized, i11); + return [...s8.values()]; +} +var it2 = k2.constants.O_WRONLY | k2.constants.O_CREAT | k2.constants.O_TRUNC | k2.constants.O_NOFOLLOW; +var rt2 = k2.constants.O_WRONLY | k2.constants.O_CREAT | k2.constants.O_EXCL | k2.constants.O_NOFOLLOW; +var at2 = k2.constants.O_WRONLY | k2.constants.O_APPEND | k2.constants.O_CREAT | k2.constants.O_NOFOLLOW; +function ot2(t5) { + return 0n !== t5.ino; +} +function nt2(t5, e7, s8 = et2) { + return s8.isAbsolute(t5) ? t5 : s8.join(e7, t5); +} +function ct2(t5) { return t5 instanceof Error && "code" in t5; } -function V2(t5, e6, s9) { - return t5 === e6 || t5.startsWith(s9); +async function ht2(t5) { + try { + return await t5(); + } catch (t6) { + if (ct2(t6) && ("ENOENT" === t6.code || "ENOTDIR" === t6.code)) return; + throw t6; + } +} +function lt2(t5, e7, s8) { + return t5 === e7 || t5.startsWith(s8); } -function tt2(t5, e6) { +function dt2(t5, e7) { switch (t5.code) { case "ENOENT": - return c(e6); + return f(e7); case "EEXIST": - return d(e6); + return h(e7); case "ENOTDIR": - return u(e6); + return g(e7); case "ENOTEMPTY": - return l(e6); + return m(e7); case "EACCES": case "EPERM": case "ELOOP": case "EISDIR": - return f(e6); + return p(e7); default: - return h("filesystem", t5.code ?? "UNKNOWN"); + return w("filesystem", t5.code ?? "UNKNOWN"); } } -async function et2(t5, e6) { +async function ut2(t5, e7) { try { return await t5(); } catch (t6) { - if (Q2(t6)) throw tt2(t6, e6); + if (ct2(t6)) throw dt2(t6, e7); throw t6; } } -async function st2(t5, e6 = G3, s9 = _2) { - const i7 = e6.rootOf(t5), r6 = t5.slice(i7.length).split(e6.sep).filter(Boolean); - for (let t6 = r6.length; t6 > 0; t6--) { - const o7 = i7 + r6.slice(0, t6).join(e6.sep); +async function wt2(t5, e7 = et2, s8 = K2) { + const i11 = e7.rootOf(t5), r8 = t5.slice(i11.length).split(e7.sep).filter(Boolean); + for (let t6 = r8.length; t6 > 0; t6--) { + const a5 = i11 + r8.slice(0, t6).join(e7.sep); try { - const i8 = await s9.realpath(o7), a6 = r6.slice(t6).join(e6.sep); - return a6.length > 0 ? e6.join(i8, a6) : i8; + const i12 = await s8.realpath(a5), o5 = r8.slice(t6).join(e7.sep); + return o5.length > 0 ? e7.join(i12, o5) : i12; } catch (t7) { - if (Q2(t7) && "ENOENT" === t7.code) continue; + if (ct2(t7) && "ENOENT" === t7.code) continue; throw t7; } } - const o6 = await s9.realpath(i7); - return r6.length > 0 ? e6.join(o6, r6.join(e6.sep)) : o6; + const a4 = await s8.realpath(i11); + return r8.length > 0 ? e7.join(a4, r8.join(e7.sep)) : a4; } -function it2(t5) { - const e6 = { ctimeMs: Number(t5.ctimeMs), mtimeMs: Number(t5.mtimeMs), dev: Number(t5.dev), ino: Number(t5.ino), mode: Number(t5.mode), uid: Number(t5.uid), gid: Number(t5.gid), size: Number(t5.size), isFile: t5.isFile(), isDirectory: t5.isDirectory(), isSymbolicLink: t5.isSymbolicLink() }; - return void 0 !== t5.ctimeNs && void 0 !== t5.mtimeNs ? { ...e6, ctimeNs: t5.ctimeNs, mtimeNs: t5.mtimeNs } : e6; +function ft2(t5) { + const e7 = Number(t5.ctimeMs), s8 = Number(t5.mtimeMs), i11 = Number(t5.dev), r8 = Number(t5.ino), a4 = Number(t5.mode), o5 = Number(t5.uid), n7 = Number(t5.gid), c5 = Number(t5.size), h5 = t5.isFile(), l4 = t5.isDirectory(), d6 = t5.isSymbolicLink(); + return void 0 !== t5.ctimeNs && void 0 !== t5.mtimeNs ? { ctimeMs: e7, mtimeMs: s8, dev: i11, ino: r8, mode: a4, uid: o5, gid: n7, size: c5, isFile: h5, isDirectory: l4, isSymbolicLink: d6, ctimeNs: t5.ctimeNs, mtimeNs: t5.mtimeNs } : { ctimeMs: e7, mtimeMs: s8, dev: i11, ino: r8, mode: a4, uid: o5, gid: n7, size: c5, isFile: h5, isDirectory: l4, isSymbolicLink: d6 }; } -var rt2 = class { +var pt2 = class { rootDirs; rootDir; pathPolicy; fsOps; rootsArePreResolved; - parentRealpathCache = r(131072, 512); + removeTreeConcurrency; + parentRealpathCache = a(131072, 512); rootSetPromise = void 0; resolvedRootSet = void 0; - constructor(t5, e6 = G3, s9 = _2, i7 = false) { - const r6 = "string" == typeof t5 ? [t5] : t5, [o6] = r6; - if (void 0 === o6) throw h("constructor", "NodeFileSystem requires at least one root"); - this.rootDirs = r6, this.rootDir = o6, this.pathPolicy = e6, this.fsOps = s9, this.rootsArePreResolved = i7; + constructor(t5, e7 = et2, s8 = K2, i11 = false, r8 = 8) { + const a4 = "string" == typeof t5 ? [t5] : t5, [o5] = a4; + if (void 0 === o5) throw w("constructor", "NodeFileSystem requires at least one root"); + this.rootDirs = a4, this.rootDir = o5, this.pathPolicy = e7, this.fsOps = s8, this.rootsArePreResolved = i11, this.removeTreeConcurrency = r8; } getRootDirPrefixes() { return this.rootDirs.map((t5) => this.toRootPrefix(t5)); } toRootPrefix(t5) { - return { normalized: e6 = this.pathPolicy.normalizeForCompare(t5), withSep: e6 + this.pathPolicy.sep }; - var e6; + return { normalized: e7 = this.pathPolicy.normalizeForCompare(t5), withSep: e7 + this.pathPolicy.sep }; + var e7; } async canonicalizeRoots() { return this.rootsArePreResolved ? this.getRootDirPrefixes() : (await Promise.all(this.rootDirs.map(async (t5) => { try { return await this.fsOps.realpath(t5); - } catch (e6) { - if (Q2(e6) && "ENOENT" === e6.code) return st2(t5, this.pathPolicy, this.fsOps).catch((e7) => { - if (Q2(e7) && "ENOENT" === e7.code) return t5; - throw e7; + } catch (e7) { + if (ct2(e7) && "ENOENT" === e7.code) return wt2(t5, this.pathPolicy, this.fsOps).catch((e8) => { + if (ct2(e8) && "ENOENT" === e8.code) return t5; + throw e8; }); - throw e6; + throw e7; } }))).map((t5) => this.toRootPrefix(t5)); } async loadRootSet() { return void 0 === this.rootSetPromise && (this.rootSetPromise = this.canonicalizeRoots().then((t5) => { - const e6 = { canonical: t5, all: X2(this.getRootDirPrefixes(), t5) }; - return this.resolvedRootSet = e6, e6; + const e7 = { canonical: t5, all: st2(this.getRootDirPrefixes(), t5) }; + return this.resolvedRootSet = e7, e7; }).catch((t5) => { throw this.rootSetPromise = void 0, this.resolvedRootSet = void 0, t5; })), this.rootSetPromise; } read = async (t5) => { - const { all: e6 } = this.resolvedRootSet ?? await this.loadRootSet(), s9 = this.resolveRead(t5, e6); - return et2(async () => new Uint8Array(await this.fsOps.readFile(s9)), t5); + const { all: e7 } = this.resolvedRootSet ?? await this.loadRootSet(), s8 = this.resolveRead(t5, e7); + return ut2(async () => new Uint8Array(await this.fsOps.readFile(s8)), t5); }; - readSlice = async (t5, e6, s9) => { - if (e6 < 0 || s9 < 0) throw f(t5); - const { all: i7 } = this.resolvedRootSet ?? await this.loadRootSet(), r6 = this.resolveRead(t5, i7); - let o6; + readSlice = async (t5, e7, s8) => { + if (e7 < 0 || s8 < 0) throw p(t5); + const { all: i11 } = this.resolvedRootSet ?? await this.loadRootSet(), r8 = this.resolveRead(t5, i11); + let a4; try { - return await et2(async () => { - o6 = await this.fsOps.open(r6, "r"); - const t6 = Buffer.allocUnsafe(s9), { bytesRead: i8 } = await o6.read(t6, 0, s9, e6); - return new Uint8Array(t6.buffer, t6.byteOffset, i8); + return await ut2(async () => { + a4 = await this.fsOps.open(r8, "r"); + const t6 = Buffer.allocUnsafe(s8), { bytesRead: i12 } = await a4.read(t6, 0, s8, e7); + return new Uint8Array(t6.buffer, t6.byteOffset, i12); }, t5); } finally { - await o6?.close(); + await a4?.close(); } }; readUtf8 = async (t5) => { - const { all: e6 } = this.resolvedRootSet ?? await this.loadRootSet(), s9 = this.resolveRead(t5, e6); - return et2(() => this.fsOps.readFile(s9, "utf-8"), t5); + const { all: e7 } = this.resolvedRootSet ?? await this.loadRootSet(), s8 = this.resolveRead(t5, e7); + return ut2(() => this.fsOps.readFile(s8, "utf-8"), t5); }; - write = async (t5, e6) => { - const s9 = await this.resolveWrite(t5); - await this.assertWritableLeaf(s9, t5), await et2(async () => { - await this.fsOps.mkdir(this.pathPolicy.dirname(s9), { recursive: true }), await this.fsOps.writeFile(s9, e6, { flag: $2 }); + write = async (t5, e7) => { + const s8 = await this.resolveWrite(t5); + await this.assertWritableLeaf(s8, t5), await ut2(async () => { + await this.fsOps.mkdir(this.pathPolicy.dirname(s8), { recursive: true }), await this.fsOps.writeFile(s8, e7, { flag: it2 }); }, t5); }; - writeStream = async (t5, e6) => { - const s9 = await this.resolveWrite(t5); - await this.assertWritableLeaf(s9, t5), await et2(async () => { - await this.fsOps.mkdir(this.pathPolicy.dirname(s9), { recursive: true }); - const t6 = { flags: $2 }; - await (0, import_promises.pipeline)(e6, S2.createWriteStream(s9, t6)); + writeStream = async (t5, e7) => { + const s8 = await this.resolveWrite(t5); + await this.assertWritableLeaf(s8, t5), await ut2(async () => { + await this.fsOps.mkdir(this.pathPolicy.dirname(s8), { recursive: true }); + const t6 = { flags: it2 }; + await (0, import_promises.pipeline)(e7, k2.createWriteStream(s8, t6)); }, t5); }; - writeExclusive = async (t5, e6) => { - const s9 = await this.resolveWrite(t5); - await this.assertWritableLeaf(s9, t5), await et2(async () => { - await this.fsOps.mkdir(this.pathPolicy.dirname(s9), { recursive: true }), await this.fsOps.writeFile(s9, e6, { flag: Z2 }); + writeExclusive = async (t5, e7) => { + const s8 = await this.resolveWrite(t5); + await this.assertExclusiveCreateLeaf(s8, t5), await ut2(async () => { + await this.fsOps.mkdir(this.pathPolicy.dirname(s8), { recursive: true }), await this.fsOps.writeFile(s8, e7, { flag: rt2 }); }, t5); }; - writeUtf8 = async (t5, e6) => { - const s9 = await this.resolveWrite(t5); - await this.assertWritableLeaf(s9, t5), await et2(async () => { - await this.fsOps.mkdir(this.pathPolicy.dirname(s9), { recursive: true }), await this.fsOps.writeFile(s9, e6, { encoding: "utf-8", flag: $2 }); + writeUtf8 = async (t5, e7) => { + const s8 = await this.resolveWrite(t5); + await this.assertWritableLeaf(s8, t5), await ut2(async () => { + await this.fsOps.mkdir(this.pathPolicy.dirname(s8), { recursive: true }), await this.fsOps.writeFile(s8, e7, { encoding: "utf-8", flag: it2 }); }, t5); }; - appendUtf8 = async (t5, e6) => { - const s9 = await this.resolveWrite(t5); - await this.assertWritableLeaf(s9, t5), await et2(async () => { - await this.fsOps.mkdir(this.pathPolicy.dirname(s9), { recursive: true }), await this.fsOps.appendFile(s9, e6, { encoding: "utf-8", flag: J2 }); + appendUtf8 = async (t5, e7) => { + const s8 = await this.resolveWrite(t5); + await this.assertWritableLeaf(s8, t5), await ut2(async () => { + await this.fsOps.mkdir(this.pathPolicy.dirname(s8), { recursive: true }), await this.fsOps.appendFile(s8, e7, { encoding: "utf-8", flag: at2 }); }, t5); }; exists = async (t5) => { - const { all: e6 } = this.resolvedRootSet ?? await this.loadRootSet(), s9 = this.resolveRead(t5, e6); + const { all: e7 } = this.resolvedRootSet ?? await this.loadRootSet(), s8 = this.resolveRead(t5, e7); try { - return await this.fsOps.stat(s9), true; - } catch (e7) { - if (Q2(e7) && "ENOENT" === e7.code) return false; - if (Q2(e7)) throw tt2(e7, t5); - throw e7; + return await this.fsOps.stat(s8), true; + } catch (e8) { + if (ct2(e8) && "ENOENT" === e8.code) return false; + if (ct2(e8)) throw dt2(e8, t5); + throw e8; } }; stat = async (t5) => { - const { all: e6 } = this.resolvedRootSet ?? await this.loadRootSet(), s9 = this.resolveRead(t5, e6); - return et2(async () => it2(await this.fsOps.stat(s9, { bigint: true })), t5); + const { all: e7 } = this.resolvedRootSet ?? await this.loadRootSet(), s8 = this.resolveRead(t5, e7); + return ut2(async () => ft2(await this.fsOps.stat(s8, { bigint: true })), t5); }; lstat = async (t5) => { - const { all: e6 } = this.resolvedRootSet ?? await this.loadRootSet(), s9 = this.resolveRead(t5, e6); - return et2(async () => it2(await this.fsOps.lstat(s9, { bigint: true })), t5); + const { all: e7 } = this.resolvedRootSet ?? await this.loadRootSet(), s8 = this.resolveRead(t5, e7); + return ut2(async () => ft2(await this.fsOps.lstat(s8, { bigint: true })), t5); }; readdir = async (t5) => { - const { all: e6 } = this.resolvedRootSet ?? await this.loadRootSet(), s9 = this.resolveRead(t5, e6); - return et2(async () => (await this.fsOps.readdir(s9, { withFileTypes: true })).map((t6) => ({ name: t6.name, isFile: t6.isFile(), isDirectory: t6.isDirectory(), isSymbolicLink: t6.isSymbolicLink() })), t5); + const { all: e7 } = this.resolvedRootSet ?? await this.loadRootSet(), s8 = this.resolveRead(t5, e7); + return ut2(async () => (await this.fsOps.readdir(s8, { withFileTypes: true })).map((t6) => ({ name: t6.name, isFile: t6.isFile(), isDirectory: t6.isDirectory(), isSymbolicLink: t6.isSymbolicLink() })), t5); }; mkdir = async (t5) => { - const e6 = await this.resolveWrite(t5); - await et2(() => this.fsOps.mkdir(e6, { recursive: true }), t5); + const e7 = await this.resolveWrite(t5); + await ut2(() => this.fsOps.mkdir(e7, { recursive: true }), t5); }; rm = async (t5) => { - const e6 = await this.resolveWrite(t5); - await et2(() => this.fsOps.rm(e6), t5); + const e7 = await this.resolveWrite(t5); + await ut2(() => this.fsOps.rm(e7), t5); }; - rename = async (t5, e6) => { - const s9 = await this.resolveWrite(t5), i7 = await this.resolveWrite(e6); - await et2(async () => { - await this.fsOps.mkdir(this.pathPolicy.dirname(i7), { recursive: true }), await this.fsOps.rename(s9, i7); - }, t5), this.parentRealpathCache.clear(); + rename = async (t5, e7) => { + const s8 = await this.resolveWrite(t5), i11 = await this.resolveWrite(e7); + try { + await ut2(async () => { + const e8 = await this.mustReplaceDirectory(s8, i11, t5); + await this.fsOps.mkdir(this.pathPolicy.dirname(i11), { recursive: true }), e8 ? await this.replaceDirectory(s8, i11) : await this.fsOps.rename(s8, i11); + }, t5); + } finally { + this.parentRealpathCache.clear(); + } }; - atomicRename = async (t5, e6) => { - await this.rename(t5, e6); + async mustReplaceDirectory(t5, e7, s8) { + if (this.pathPolicy.honoursRenameKinds) return false; + if (t5 === e7) return false; + if (this.strictlyContains(t5, e7)) return false; + const i11 = await this.lstatOrMissing(t5); + if (void 0 === i11 || !i11.isDirectory()) return false; + const r8 = await this.lstatOrMissing(e7); + if (void 0 === r8) return false; + if (!r8.isDirectory()) throw g(s8); + const a4 = await this.fsOps.realpath(t5); + return !await this.sameDirectory(i11, r8, a4, e7) && !this.strictlyContains(a4, e7); + } + async sameDirectory(t5, e7, s8, i11) { + return ot2(t5) && ot2(e7) ? (r8 = t5).ino === (a4 = e7).ino && r8.dev === a4.dev : await this.realpathOrMissing(i11) === s8; + var r8, a4; + } + async realpathOrMissing(t5) { + return ht2(() => this.fsOps.realpath(t5)); + } + strictlyContains(t5, e7) { + const s8 = this.pathPolicy, i11 = s8.normalizeForCompare(t5); + return s8.normalizeForCompare(e7) !== i11 && (function(t6, e8, s9 = et2) { + const i12 = s9.normalizeForCompare(e8); + return i12 === t6 || i12.startsWith(t6 + s9.sep); + })(i11, e7, s8); + } + async replaceDirectory(t5, e7) { + const s8 = await this.removeEmptyDirectory(e7); + try { + await this.fsOps.rename(t5, e7); + } catch (t6) { + throw s8 && await this.restoreEmptyDirectory(e7), t6; + } + } + async removeEmptyDirectory(t5) { + try { + return await this.fsOps.rmdir(t5), true; + } catch (t6) { + if (ct2(t6) && "ENOENT" === t6.code) return false; + throw t6; + } + } + async restoreEmptyDirectory(t5) { + try { + await this.fsOps.mkdir(t5); + } catch (t6) { + if (!ct2(t6)) throw t6; + } + } + async lstatOrMissing(t5) { + return ht2(() => this.fsOps.lstat(t5, { bigint: true })); + } + atomicRename = async (t5, e7) => { + await this.rename(t5, e7); }; readlink = async (t5) => { - const { all: e6 } = this.resolvedRootSet ?? await this.loadRootSet(), s9 = this.resolveRead(t5, e6); - return et2(() => this.fsOps.readlink(s9), t5); + const { all: e7 } = this.resolvedRootSet ?? await this.loadRootSet(), s8 = this.resolveRead(t5, e7); + return ut2(() => this.fsOps.readlink(s8), t5); }; - symlink = async (t5, e6) => { - const s9 = await this.resolveWrite(e6); - await et2(async () => { - await this.fsOps.mkdir(this.pathPolicy.dirname(s9), { recursive: true }), await this.fsOps.symlink(t5, s9); - }, e6); + symlink = async (t5, e7) => { + const s8 = await this.resolveWrite(e7); + await ut2(async () => { + await this.fsOps.mkdir(this.pathPolicy.dirname(s8), { recursive: true }), await this.fsOps.symlink(t5, s8); + }, e7); }; - chmod = async (t5, e6) => { - const s9 = await this.resolveWrite(t5); - await this.assertLeafSafeToWrite(s9, t5), await et2(() => this.fsOps.chmod(s9, e6), t5); + chmod = async (t5, e7) => { + const s8 = await this.resolveWrite(t5); + await this.assertLeafSafeToWrite(s8, t5), await ut2(() => this.fsOps.chmod(s8, e7), t5); }; rmRecursive = async (t5) => { - let e6; + let e7; try { - e6 = await this.resolveWrite(t5), await et2(() => this.fsOps.lstat(e6), t5); + e7 = await this.resolveWrite(t5), await ut2(() => this.fsOps.lstat(e7), t5); } catch (t6) { - if (t6 instanceof o && "FILE_NOT_FOUND" === t6.data.code) return; + if (t6 instanceof c && "FILE_NOT_FOUND" === t6.data.code) return; throw t6; } - await this.removeTree(e6, t5), this.parentRealpathCache.clear(); + await this.removeTree(e7, t5), this.parentRealpathCache.clear(); }; - openWithNoFollow = async (t5, e6) => { - let s9; - if ("write" === e6) s9 = await this.resolveWrite(t5); + openWithNoFollow = async (t5, e7) => { + let s8; + if ("write" === e7) s8 = await this.resolveWrite(t5); else { - const { all: e7 } = this.resolvedRootSet ?? await this.loadRootSet(); - s9 = this.resolveRead(t5, e7); + const { all: e8 } = this.resolvedRootSet ?? await this.loadRootSet(); + s8 = this.resolveRead(t5, e8); } - if (!this.pathPolicy.honoursNoFollow && await this.isSymlinkLeaf(s9)) throw f(t5); - const i7 = "write" === e6 ? S2.constants.O_WRONLY : S2.constants.O_RDONLY; + if (!this.pathPolicy.honoursNoFollow && await this.isSymlinkLeaf(s8)) throw p(t5); + const i11 = "write" === e7 ? k2.constants.O_WRONLY : k2.constants.O_RDONLY; return /* @__PURE__ */ (function(t6) { - let e7 = false; - return { read: async (e8, s10, i8, r6) => { - const { bytesRead: o6 } = await t6.read(e8, s10, i8, r6 ?? null); - return o6; - }, write: async (e8) => { - await t6.write(e8, 0, e8.length); - }, stat: async () => it2(await t6.stat({ bigint: true })), close: async () => { - e7 || (e7 = true, await t6.close()); + let e8 = false; + return { read: async (e9, s9, i12, r8) => { + const { bytesRead: a4 } = await t6.read(e9, s9, i12, r8 ?? null); + return a4; + }, write: async (e9) => { + await t6.write(e9, 0, e9.length); + }, stat: async () => ft2(await t6.stat({ bigint: true })), close: async () => { + e8 || (e8 = true, await t6.close()); } }; - })(await et2(() => this.fsOps.open(s9, i7 | S2.constants.O_NOFOLLOW), t5).catch((e7) => { - if ((function(t6, e8 = G3) { - return !e8.honoursNoFollow && t6 instanceof o && ("PERMISSION_DENIED" === t6.data.code || "UNSUPPORTED_OPERATION" === t6.data.code); - })(e7, this.pathPolicy)) throw f(t5); - throw e7; + })(await ut2(() => this.fsOps.open(s8, i11 | k2.constants.O_NOFOLLOW), t5).catch((e8) => { + if ((function(t6, e9 = et2) { + return !e9.honoursNoFollow && t6 instanceof c && ("PERMISSION_DENIED" === t6.data.code || "UNSUPPORTED_OPERATION" === t6.data.code); + })(e8, this.pathPolicy)) throw p(t5); + throw e8; })); }; async isSymlinkLeaf(t5) { try { return (await this.fsOps.lstat(t5)).isSymbolicLink(); } catch (t6) { - if (Q2(t6) && "ENOENT" === t6.code) return false; + if (ct2(t6) && "ENOENT" === t6.code) return false; throw t6; } } - async removeTree(t5, e6) { - const s9 = await et2(() => this.fsOps.lstat(t5), e6); - if (!s9.isDirectory() || s9.isSymbolicLink()) return void await et2(() => this.fsOps.rm(t5, { force: true }), e6); - const i7 = await et2(() => this.fsOps.readdir(t5, { withFileTypes: true }), e6); - await (async function(t6, e7, s10) { + async removeTree(t5, e7) { + const s8 = await ut2(() => this.fsOps.lstat(t5), e7); + if (!s8.isDirectory() || s8.isSymbolicLink()) return void await ut2(() => this.fsOps.rm(t5, { force: true }), e7); + const i11 = await ut2(() => this.fsOps.readdir(t5, { withFileTypes: true }), e7); + await (async function(t6, e8, s9) { if (0 === t6.length) return; - let i8 = 0; - const r6 = Math.min(8, t6.length), o6 = Array.from({ length: r6 }, async () => { + let i12 = 0; + const r8 = Math.min(e8, t6.length), a4 = Array.from({ length: r8 }, async () => { for (; ; ) { - const e8 = i8; - if (i8 += 1, e8 >= t6.length) return; - const r7 = t6[e8]; - if (void 0 === r7) return; - await s10(r7); + const e9 = i12; + if (i12 += 1, e9 >= t6.length) return; + const r9 = t6[e9]; + if (void 0 === r9) return; + await s9(r9); } }); - await Promise.all(o6); - })(i7, 0, (s10) => this.removeTree(this.pathPolicy.join(t5, s10.name), e6)), await et2(() => this.fsOps.rmdir(t5), e6); + await Promise.all(a4); + })(i11, this.removeTreeConcurrency, (s9) => this.removeTree(this.pathPolicy.join(t5, s9.name), e7)), await ut2(() => this.fsOps.rmdir(t5), e7); } - async assertLeafSafeToWrite(t5, e6) { - let s9; + async creationLeafIsSymlink(t5, e7) { + let s8; try { - s9 = { ok: true, isSymlink: (await this.fsOps.lstat(t5)).isSymbolicLink() }; + s8 = { ok: true, isSymlink: (await this.fsOps.lstat(t5)).isSymbolicLink() }; } catch (t6) { - s9 = { ok: false, err: t6 }; + s8 = { ok: false, err: t6 }; } - !(function(t6, e7) { - if (t6.ok) { - if (t6.isSymlink) throw f(e7); - return; - } - const { err: s10 } = t6; - if (Q2(s10)) { - if ("ENOENT" === s10.code) return; - throw tt2(s10, e7); + return (function(t6, e8) { + if (t6.ok) return t6.isSymlink; + const { err: s9 } = t6; + if (ct2(s9)) { + if ("ENOENT" === s9.code) return false; + throw dt2(s9, e8); } - throw s10; - })(s9, e6); + throw s9; + })(s8, e7); + } + async assertLeafSafeToWrite(t5, e7) { + if (await this.creationLeafIsSymlink(t5, e7)) throw p(e7); + } + async assertExclusiveCreateLeaf(t5, e7) { + if (!this.pathPolicy.honoursNoFollow && await this.creationLeafIsSymlink(t5, e7)) throw h(e7); } - async assertWritableLeaf(t5, e6) { - this.pathPolicy.honoursNoFollow || await this.assertLeafSafeToWrite(t5, e6); + async assertWritableLeaf(t5, e7) { + this.pathPolicy.honoursNoFollow || await this.assertLeafSafeToWrite(t5, e7); } async cachedParentRealpath(t5) { - const e6 = this.parentRealpathCache.get(t5); - if (void 0 !== e6) return e6; - const s9 = await this.fsOps.realpath(t5); - return this.parentRealpathCache.set(t5, s9, t5.length + s9.length), s9; + const e7 = this.parentRealpathCache.get(t5); + if (void 0 !== e7) return e7; + const s8 = await this.fsOps.realpath(t5); + return this.parentRealpathCache.set(t5, s8, t5.length + s8.length), s8; } async realpathForCreation(t5) { - const e6 = this.pathPolicy.dirname(t5), s9 = this.pathPolicy.basename(t5); + const e7 = this.pathPolicy.dirname(t5), s8 = this.pathPolicy.basename(t5); try { - const t6 = await this.cachedParentRealpath(e6); - return this.pathPolicy.join(t6, s9); - } catch (e7) { - if (Q2(e7) && "ENOENT" === e7.code) return st2(t5, this.pathPolicy, this.fsOps); - throw e7; + const t6 = await this.cachedParentRealpath(e7); + return this.pathPolicy.join(t6, s8); + } catch (e8) { + if (ct2(e8) && "ENOENT" === e8.code) return wt2(t5, this.pathPolicy, this.fsOps); + throw e8; } } - isContainedInAnyRoot(t5, e6) { - const s9 = this.pathPolicy.normalizeForCompare(t5); - return e6.some((t6) => V2(s9, t6.normalized, t6.withSep)); + isContainedInAnyRoot(t5, e7) { + const s8 = this.pathPolicy.normalizeForCompare(t5); + return e7.some((t6) => lt2(s8, t6.normalized, t6.withSep)); } - resolveRead(t5, e6) { - const s9 = K2(t5, this.rootDir, this.pathPolicy), i7 = -1 === s9.indexOf("..") ? s9 : this.pathPolicy.resolve(s9), r6 = this.pathPolicy.normalizeForCompare(i7); - if (!e6.some((t6) => V2(r6, t6.normalized, t6.withSep))) throw f(t5); - return i7; + resolveRead(t5, e7) { + const s8 = nt2(t5, this.rootDir, this.pathPolicy), i11 = -1 === s8.indexOf("..") ? s8 : this.pathPolicy.resolve(s8), r8 = this.pathPolicy.normalizeForCompare(i11); + if (!e7.some((t6) => lt2(r8, t6.normalized, t6.withSep))) throw p(t5); + return i11; } async resolveWrite(t5) { - const e6 = this.pathPolicy.resolve(K2(t5, this.rootDir, this.pathPolicy)), { all: s9 } = this.resolvedRootSet ?? await this.loadRootSet(); + const e7 = nt2(t5, this.rootDir, this.pathPolicy), s8 = -1 !== e7.indexOf("..") || this.pathPolicy.windowsSyntax && e7.includes("/") ? this.pathPolicy.resolve(e7) : e7, { all: i11 } = this.resolvedRootSet ?? await this.loadRootSet(); try { - const i7 = await this.realpathForCreation(e6); - if (!this.isContainedInAnyRoot(i7, s9)) throw f(t5); - return i7; - } catch (e7) { - if (e7 instanceof o) throw e7; - if (Q2(e7) && "ENOENT" === e7.code) throw c(t5); - if (Q2(e7)) throw tt2(e7, t5); - throw e7; + const e8 = await this.realpathForCreation(s8); + if (!this.isContainedInAnyRoot(e8, i11)) throw p(t5); + return e8; + } catch (e8) { + if (e8 instanceof c) throw e8; + if (ct2(e8) && "ENOENT" === e8.code) throw f(t5); + if (ct2(e8)) throw dt2(e8, t5); + throw e8; } } homedir() { return t3.homedir(); } xdgConfigHome() { - const e6 = process.env.XDG_CONFIG_HOME; - return void 0 !== e6 && e6.length > 0 ? e6 : s2.join(t3.homedir(), ".config"); + const e7 = process.env.XDG_CONFIG_HOME; + return void 0 !== e7 && e7.length > 0 ? e7 : i3.join(t3.homedir(), ".config"); } systemConfigPath() { return "win32" === process.platform ? `${process.env.ProgramData ?? "C:\\ProgramData"}\\Git\\config` : "/etc/gitconfig"; } }; -var ot2 = { sha1: 20, sha256: 32 }; -var at2 = class _at { +var mt2 = { sha1: 20, sha256: 32 }; +var yt2 = class _yt { algorithm; digestLength; constructor(t5 = "sha1") { - this.algorithm = t5, this.digestLength = ot2[t5]; + this.algorithm = t5, this.digestLength = mt2[t5]; } - withAlgorithm = (t5) => new _at(t5); + withAlgorithm = (t5) => new _yt(t5); hash = async (t5) => new Uint8Array((0, import_node_crypto2.createHash)(this.algorithm).update(t5).digest()); hashHex = async (t5) => (0, import_node_crypto2.createHash)(this.algorithm).update(t5).digest("hex"); createHasher = () => { const t5 = (0, import_node_crypto2.createHash)(this.algorithm); - let e6 = false; - return { update: (s9) => { - if (e6) throw g("cannot update after digest"); - t5.update(s9); + let e7 = false; + return { update: (s8) => { + if (e7) throw y("cannot update after digest"); + t5.update(s8); }, digest: async () => { - if (e6) throw g("cannot digest after digest"); - return e6 = true, new Uint8Array(t5.digest()); + if (e7) throw y("cannot digest after digest"); + return e7 = true, new Uint8Array(t5.digest()); }, digestHex: async () => { - if (e6) throw g("cannot digest after digest"); - return e6 = true, t5.digest("hex"); + if (e7) throw y("cannot digest after digest"); + return e7 = true, t5.digest("hex"); } }; }; }; -var nt2 = { stat: import_promises2.stat, spawn: import_node_child_process.spawn }; -var ct2 = class { +var vt2 = { stat: import_promises2.stat, spawn: import_node_child_process.spawn }; +var Ot2 = class { chunks = []; size = 0; append(t5) { - const e6 = t5.subarray(0, Math.max(0, 1048576 - this.size)); - this.chunks.push(e6), this.size += e6.length; + const e7 = t5.subarray(0, Math.max(0, 1048576 - this.size)); + this.chunks.push(e7), this.size += e7.length; } value() { return Buffer.concat(this.chunks).toString("utf8"); } }; -var ht2 = class { +var gt2 = class { isWindows; ops; - constructor(t5 = process.platform, e6 = nt2) { - this.isWindows = "win32" === t5, this.ops = e6; + constructor(t5 = process.platform, e7 = vt2) { + this.isWindows = "win32" === t5, this.ops = e7; } async run(t5) { - const e6 = s2.join(t5.hooksDir, t5.name); - return await this.isRunnable(e6) ? lt2(this.ops.spawn, e6, t5) : { kind: "skipped" }; + const e7 = i3.join(t5.hooksDir, t5.name); + return await this.isRunnable(e7) ? Rt2(this.ops.spawn, e7, t5) : { kind: "skipped" }; } async isRunnable(t5) { - let e6, s9; + let e7, s8; try { - const i7 = await this.ops.stat(t5); - e6 = i7.mode, s9 = i7.isFile(); + const i11 = await this.ops.stat(t5); + e7 = i11.mode, s8 = i11.isFile(); } catch { return false; } - return !!s9 && (this.isWindows || !!(73 & e6)); + return !!s8 && (this.isWindows || !!(73 & e7)); } }; -var lt2 = (t5, e6, s9) => new Promise((i7) => { - const r6 = t5(e6, s9.args, { cwd: s9.workDir, env: { ...process.env, GIT_DIR: s9.gitDir, GIT_INDEX_FILE: `${s9.gitDir}/index` } }), o6 = new ct2(), a6 = new ct2(); - r6.stdout.on("data", (t6) => { - o6.append(t6); - }), r6.stderr.on("data", (t6) => { - a6.append(t6); +var Rt2 = (t5, e7, s8) => new Promise((i11) => { + const r8 = t5(e7, s8.args, { cwd: s8.workDir, env: { ...process.env, GIT_DIR: s8.gitDir, GIT_INDEX_FILE: `${s8.gitDir}/index` } }), a4 = new Ot2(), o5 = new Ot2(); + r8.stdout.on("data", (t6) => { + a4.append(t6); + }), r8.stderr.on("data", (t6) => { + o5.append(t6); }); - const n6 = s9.signal, c6 = () => { - r6.kill(); + const n7 = s8.signal, c5 = () => { + r8.kill(); }; - n6?.addEventListener("abort", c6), true === n6?.aborted && r6.kill(); - const h6 = (t6) => { - n6?.removeEventListener("abort", c6), i7(t6); + n7?.addEventListener("abort", c5), true === n7?.aborted && r8.kill(); + const h5 = (t6) => { + n7?.removeEventListener("abort", c5), i11(t6); }; - r6.on("error", (t6) => { - h6({ kind: "ran", exitCode: 126, stdout: "", stderr: String(t6) }); - }), r6.on("close", (t6) => { - h6({ kind: "ran", exitCode: t6 ?? 128, stdout: o6.value(), stderr: a6.value() }); - }), r6.stdin.on("error", () => { - }), r6.stdin.end(s9.stdin); + r8.on("error", (t6) => { + h5({ kind: "ran", exitCode: 126, stdout: "", stderr: String(t6) }); + }), r8.on("close", (t6) => { + h5({ kind: "ran", exitCode: t6 ?? 128, stdout: a4.value(), stderr: o5.value() }); + }), r8.stdin.on("error", () => { + }), r8.stdin.end(s8.stdin); }); -function dt2(t5) { - const e6 = {}; - for (const [s9, i7] of Object.entries(t5)) void 0 !== i7 && (e6[s9.toLowerCase()] = Array.isArray(i7) ? i7.join(", ") : i7); - return e6; +function Nt2(t5) { + const e7 = {}; + for (const [s8, i11] of Object.entries(t5)) void 0 !== i11 && (e7[s8.toLowerCase()] = Array.isArray(i11) ? i11.join(", ") : i11); + return e7; } -var wt2 = class { +var St2 = class { allowInsecureHttp; constructor(t5 = {}) { this.allowInsecureHttp = t5.allowInsecureHttp ?? false; } request = async (t5) => { - const e6 = new URL(t5.url); - if ("http:" === e6.protocol && !this.allowInsecureHttp) throw y("HTTPS required \u2014 set allowInsecureHttp to allow plaintext HTTP"); - const s9 = "https:" === e6.protocol ? D3 : k2; - return new Promise((i7, r6) => { - const o6 = { method: t5.method, headers: { ...t5.headers } }; - void 0 !== t5.signal && (o6.signal = t5.signal); - const a6 = s9.request(e6, o6, (t6) => { - i7({ statusCode: t6.statusCode, headers: dt2(t6.headers), body: import_node_stream.Readable.toWeb(t6) }); + const e7 = new URL(t5.url); + if ("http:" === e7.protocol && !this.allowInsecureHttp) throw _("HTTPS required \u2014 set allowInsecureHttp to allow plaintext HTTP"); + const s8 = "https:" === e7.protocol ? F3 : I3; + return new Promise((i11, r8) => { + const a4 = { method: t5.method, headers: { ...t5.headers } }; + void 0 !== t5.signal && (a4.signal = t5.signal); + const o5 = s8.request(e7, a4, (t6) => { + i11({ statusCode: t6.statusCode, headers: Nt2(t6.headers), body: import_node_stream.Readable.toWeb(t6) }); }); - a6.on("error", (t6) => { - r6(y((function(t7) { + o5.on("error", (t6) => { + r8(_((function(t7) { switch (t7.code) { case "ENOTFOUND": return "DNS resolution failed"; @@ -33207,1171 +17957,1167 @@ var wt2 = class { return "network error"; } })(t6))); - }), void 0 !== t5.body && a6.write(Buffer.from(t5.body)), a6.end(); + }), void 0 !== t5.body && o5.write(Buffer.from(t5.body)), o5.end(); }); }; }; -var ft2 = { spawn: import_node_child_process.spawn }; -var pt2 = class { +var Et2 = { spawn: import_node_child_process.spawn }; +var Pt2 = class { ops; - constructor(t5 = ft2) { + constructor(t5 = Et2) { this.ops = t5; } open = async (t5) => { - const e6 = this.ops.spawn(t5.command, t5.args, ((t6) => ({ env: { ...process.env, ...t6.env }, stdio: ["pipe", "pipe", "inherit"], ...void 0 !== t6.signal ? { signal: t6.signal } : {} }))(t5)), s9 = ((t6) => new Promise((e7) => { - t6.on("error", () => e7(127)), t6.on("close", (t7) => e7(t7 ?? 128)); - }))(e6); - return { stdin: import_node_stream.Writable.toWeb(e6.stdin), stdout: import_node_stream.Readable.toWeb(e6.stdout), exit: s9, close: async () => { - e6.kill(), await s9; + const e7 = this.ops.spawn(t5.command, t5.args, ((t6) => ({ env: { ...process.env, ...t6.env }, stdio: ["pipe", "pipe", "inherit"], ...void 0 !== t6.signal ? { signal: t6.signal } : {} }))(t5)), s8 = ((t6) => new Promise((e8) => { + t6.on("error", () => e8(127)), t6.on("close", (t7) => e8(t7 ?? 128)); + }))(e7); + return { stdin: import_node_stream.Writable.toWeb(e7.stdin), stdout: import_node_stream.Readable.toWeb(e7.stdout), exit: s8, close: async () => { + e7.kill(), await s8; } }; }; }; -var vt2 = (t5) => async (e6) => { - const s9 = t5.callerUid(); - if (void 0 === s9) return true; - const i7 = await t5.ownerUid(e6); - return void 0 === i7 || i7 === s9; +var kt2 = (t5) => async (e7) => { + const s8 = t5.callerUid(); + if (void 0 === s8) return true; + const i11 = await t5.ownerUid(e7); + return void 0 === i11 || i11 === s8; }; // node_modules/@scolladon/tsgit/dist/esm/transport/index.js -var e3 = new TextEncoder(); -var r2 = (r6) => (((e6) => { - "bearer" === e6.type && ((e7) => { - if ("" === e7) throw new TypeError("withAuth: token is empty"); - })(e6.token), "basic" === e6.type && ((e7) => { - if (e7.includes(":")) throw new TypeError('withAuth: basic username must not contain ":"'); - })(e6.username); -})(r6), (t5) => ({ request: async (o6) => { - if (Object.keys(o6.headers).some((e6) => "authorization" === e6.toLowerCase())) return t5.request(o6); - const s9 = await (async (r7, t6) => { - if ("bearer" === r7.type) return `Bearer ${r7.token}`; - if ("basic" === r7.type) return `Basic ${((r8) => { - const t7 = e3.encode(r8); - let o8 = ""; - for (let e6 = 0; e6 < t7.byteLength; e6 += 1) o8 += String.fromCharCode(t7[e6] ?? 0); - return btoa(o8); - })(`${r7.username}:${r7.password}`)}`; - const o7 = await r7.header(t6); - if ("" === o7 || null == o7) throw new TypeError("withAuth: custom returned empty value"); - return o7; - })(r6, o6); - return t5.request(((e6, r7) => ({ ...e6, headers: { ...e6.headers, authorization: r7 } }))(o6, s9)); +var e4 = new TextEncoder(); +var r2 = (r8) => (((e7) => { + "bearer" === e7.type && ((e8) => { + if ("" === e8) throw new TypeError("withAuth: token is empty"); + })(e7.token), "basic" === e7.type && ((e8) => { + if (e8.includes(":")) throw new TypeError('withAuth: basic username must not contain ":"'); + })(e7.username); +})(r8), (t5) => ({ request: async (o5) => { + if (Object.keys(o5.headers).some((e7) => "authorization" === e7.toLowerCase())) return t5.request(o5); + const s8 = await (async (r9, t6) => { + if ("bearer" === r9.type) return `Bearer ${r9.token}`; + if ("basic" === r9.type) return `Basic ${((r10) => { + const t7 = e4.encode(r10); + let o7 = ""; + for (let e7 = 0; e7 < t7.byteLength; e7 += 1) o7 += String.fromCharCode(t7[e7] ?? 0); + return btoa(o7); + })(`${r9.username}:${r9.password}`)}`; + const o6 = await r9.header(t6); + if ("" === o6 || null == o6) throw new TypeError("withAuth: custom returned empty value"); + return o6; + })(r8, o5); + return t5.request(((e7, r9) => ({ ...e7, headers: { ...e7.headers, authorization: r9 } }))(o5, s8)); } })); var t4 = /* @__PURE__ */ new Set(["authorization", "cookie", "set-cookie", "proxy-authorization"]); var o2 = /^(access[_-]?token|api[_-]?key|password|secret|token|sig|signature)$/i; -var s3 = (e6, r6) => { - const o6 = r6.map((e7) => e7.toLowerCase()), s9 = {}; - for (const [r7, n6] of Object.entries(e6)) { - const e7 = r7.toLowerCase(); - t4.has(e7) || o6.includes(e7) || (s9[r7] = n6); +var s3 = (e7, r8) => { + const o5 = r8.map((e8) => e8.toLowerCase()), s8 = {}; + for (const [r9, n7] of Object.entries(e7)) { + const e8 = r9.toLowerCase(); + t4.has(e8) || o5.includes(e8) || (s8[r9] = n7); } - return s9; + return s8; }; -var n4 = (e6, r6) => { +var n4 = (e7, r8) => { try { - e6.log(r6); + e7.log(r8); } catch { } }; -var a2 = (e6) => e6 instanceof Error ? e6.message : String(e6); -var i2 = (e6) => { - const r6 = e6.now ?? (() => performance.now()), t5 = e6.redactHeaders ?? []; - return (i7) => ({ request: async (c6) => { - const u6 = ((e7) => { - let r7; +var a2 = (e7) => e7 instanceof Error ? e7.message : String(e7); +var i4 = (e7) => { + const r8 = e7.now ?? (() => performance.now()), t5 = e7.redactHeaders ?? []; + return (i11) => ({ request: async (c5) => { + const u6 = ((e8) => { + let r9; try { - r7 = new URL(e7); + r9 = new URL(e8); } catch { - return e7; + return e8; } const t6 = []; - for (const e8 of r7.searchParams.keys()) o2.test(e8) && t6.push(e8); - for (const e8 of t6) r7.searchParams.delete(e8); - return r7.toString(); - })(c6.url), h6 = s3(c6.headers, t5), m5 = r6(); - n4(e6.logger, ((e7, r7, t6) => ({ kind: "request", method: e7.method, url: r7, headers: t6, bodyBytes: e7.body?.byteLength ?? 0 }))(c6, u6, h6)); + for (const e9 of r9.searchParams.keys()) o2.test(e9) && t6.push(e9); + for (const e9 of t6) r9.searchParams.delete(e9); + return r9.toString(); + })(c5.url), h5 = s3(c5.headers, t5), m7 = r8(); + n4(e7.logger, ((e8, r9, t6) => ({ kind: "request", method: e8.method, url: r9, headers: t6, bodyBytes: e8.body?.byteLength ?? 0 }))(c5, u6, h5)); try { - const o6 = await i7.request(c6), a6 = s3(o6.headers, t5); - return n4(e6.logger, ((e7, r7, t6, o7) => ({ kind: "response", statusCode: e7.statusCode, url: r7, elapsedMs: t6, headers: o7 }))(o6, u6, r6() - m5, a6)), o6; + const o5 = await i11.request(c5), a4 = s3(o5.headers, t5); + return n4(e7.logger, ((e8, r9, t6, o6) => ({ kind: "response", statusCode: e8.statusCode, url: r9, elapsedMs: t6, headers: o6 }))(o5, u6, r8() - m7, a4)), o5; } catch (t6) { - throw n4(e6.logger, ((e7, r7, t7) => ({ kind: "error", url: e7, elapsedMs: r7, errorMessage: a2(t7) }))(u6, r6() - m5, t6)), t6; + throw n4(e7.logger, ((e8, r9, t7) => ({ kind: "error", url: e8, elapsedMs: r9, errorMessage: a2(t7) }))(u6, r8() - m7, t6)), t6; } } }); }; -var c2 = ({ error: e6, response: r6 }) => { - return r6 ? !((t5 = r6.statusCode) < 429 || t5 > 429 && t5 < 500 || 501 === t5 || t5 >= 600) : !(e6 instanceof DOMException && "AbortError" === e6.name) && void 0 !== e6; +var c2 = ({ error: e7, response: r8 }) => { + return r8 ? !((t5 = r8.statusCode) < 429 || t5 > 429 && t5 < 500 || 501 === t5 || t5 >= 600) : !(e7 instanceof DOMException && "AbortError" === e7.name) && void 0 !== e7; var t5; }; -var u2 = (e6) => { - if (e6) try { - e6.cancel().catch(() => { +var u2 = (e7) => { + if (e7) try { + e7.cancel().catch(() => { }); } catch { } }; -var h2 = (e6, r6) => r6?.aborted ? Promise.reject(r6.reason) : 0 === e6 ? Promise.resolve() : new Promise((t5, o6) => { - let s9; - const n6 = () => { - void 0 !== s9 && clearTimeout(s9), o6(r6?.reason); +var h2 = (e7, r8) => r8?.aborted ? Promise.reject(r8.reason) : 0 === e7 ? Promise.resolve() : new Promise((t5, o5) => { + let s8; + const n7 = () => { + void 0 !== s8 && clearTimeout(s8), o5(r8?.reason); }; - s9 = setTimeout(() => { - r6?.removeEventListener("abort", n6), t5(); - }, e6), r6 && r6.addEventListener("abort", n6, { once: true }); + s8 = setTimeout(() => { + r8?.removeEventListener("abort", n7), t5(); + }, e7), r8 && r8.addEventListener("abort", n7, { once: true }); }); -var m3 = (e6, r6) => { - const t5 = r6.baseMs ?? 250, o6 = r6.jitter ?? 0.2, s9 = Math.min("exponential" === (r6.backoff ?? "fixed") ? t5 * 2 ** (e6 - 1) : t5, r6.maxDelayMs ?? 3e4), n6 = 1 - o6 + 2 * o6 * Math.random(); - return Math.floor(s9 * n6); +var m3 = (e7, r8) => { + const t5 = r8.baseMs ?? 250, o5 = r8.jitter ?? 0.2, s8 = Math.min("exponential" === (r8.backoff ?? "fixed") ? t5 * 2 ** (e7 - 1) : t5, r8.maxDelayMs ?? 3e4), n7 = 1 - o5 + 2 * o5 * Math.random(); + return Math.floor(s8 * n7); }; -var d2 = async (e6, r6) => { +var d2 = async (e7, r8) => { try { - return { response: await e6.request(r6) }; - } catch (e7) { - return { error: e7 }; - } -}; -var w2 = (e6) => { - if (void 0 !== e6.response) return e6.response; - throw e6.error; -}; -var p2 = (e6, r6) => { - return void 0 !== e6.outcome.error && (t5 = e6.outcome.error) instanceof DOMException && "AbortError" === t5.name || !!e6.isLast || !r6((o6 = e6.outcome, s9 = e6.attempt, void 0 !== o6.response ? { response: o6.response, attempt: s9 } : { error: o6.error, attempt: s9 })); - var t5, o6, s9; -}; -var y2 = (e6) => { - ((e7) => { - ((e8) => { - if (!Number.isFinite(e8) || !Number.isInteger(e8) || e8 < 1 || e8 > 10) throw new RangeError("withRetry: attempts must be 1..10"); - })(e7.attempts), ((e8) => { - if (void 0 !== e8 && (!Number.isFinite(e8) || e8 < 0)) throw new RangeError("withRetry: baseMs must be \u2265 0"); - })(e7.baseMs), ((e8, r7) => { - if (void 0 === r7) return; - const t6 = e8 ?? 250; - if (!Number.isFinite(r7) || r7 < t6) throw new RangeError("withRetry: maxDelayMs must be \u2265 baseMs"); - })(e7.baseMs, e7.maxDelayMs), ((e8) => { - if (void 0 !== e8 && (!Number.isFinite(e8) || e8 < 0 || e8 > 1)) throw new RangeError("withRetry: jitter must be in [0, 1]"); - })(e7.jitter); - })(e6); - const r6 = e6.isRetryable ?? c2, t5 = e6.delay ?? h2; - return (o6) => ({ request: async (s9) => { - if (s9.signal?.aborted) throw s9.signal.reason; - let n6 = {}; - for (let a6 = 1; a6 <= e6.attempts; a6 += 1) { - if (n6 = await d2(o6, s9), p2({ attempt: a6, isLast: a6 === e6.attempts, outcome: n6 }, r6)) return w2(n6); - void 0 !== n6.response && u2(n6.response.body), await t5(m3(a6, e6), s9.signal); - } - return w2(n6); + return { response: await e7.request(r8) }; + } catch (e8) { + return { error: e8 }; + } +}; +var w2 = (e7) => { + if (void 0 !== e7.response) return e7.response; + throw e7.error; +}; +var p2 = (e7, r8) => { + return void 0 !== e7.outcome.error && (t5 = e7.outcome.error) instanceof DOMException && "AbortError" === t5.name || !!e7.isLast || !r8((o5 = e7.outcome, s8 = e7.attempt, void 0 !== o5.response ? { response: o5.response, attempt: s8 } : { error: o5.error, attempt: s8 })); + var t5, o5, s8; +}; +var y2 = (e7) => { + ((e8) => { + ((e9) => { + if (!Number.isFinite(e9) || !Number.isInteger(e9) || e9 < 1 || e9 > 10) throw new RangeError("withRetry: attempts must be 1..10"); + })(e8.attempts), ((e9) => { + if (void 0 !== e9 && (!Number.isFinite(e9) || e9 < 0)) throw new RangeError("withRetry: baseMs must be \u2265 0"); + })(e8.baseMs), ((e9, r9) => { + if (void 0 === r9) return; + const t6 = e9 ?? 250; + if (!Number.isFinite(r9) || r9 < t6) throw new RangeError("withRetry: maxDelayMs must be \u2265 baseMs"); + })(e8.baseMs, e8.maxDelayMs), ((e9) => { + if (void 0 !== e9 && (!Number.isFinite(e9) || e9 < 0 || e9 > 1)) throw new RangeError("withRetry: jitter must be in [0, 1]"); + })(e8.jitter); + })(e7); + const r8 = e7.isRetryable ?? c2, t5 = e7.delay ?? h2; + return (o5) => ({ request: async (s8) => { + if (s8.signal?.aborted) throw s8.signal.reason; + let n7 = {}; + for (let a4 = 1; a4 <= e7.attempts; a4 += 1) { + if (n7 = await d2(o5, s8), p2({ attempt: a4, isLast: a4 === e7.attempts, outcome: n7 }, r8)) return w2(n7); + void 0 !== n7.response && u2(n7.response.body), await t5(m3(a4, e7), s8.signal); + } + return w2(n7); } }); }; -// node_modules/@scolladon/tsgit/dist/esm/chunks/commands-internal-DawMTp8B.js -var Cn = (t5) => `${t5.layout.gitDir}/${au}`; -var Tn2 = (t5) => `${t5.layout.gitDir}/${cu}`; -var Dn = (t5) => `${t5.layout.gitDir}/${du}`; -var Hn = async (t5, e6) => { - await t5.fs.writeUtf8(Tn2(t5), e6); -}; -var An2 = async (t5, e6) => { - await t5.fs.writeUtf8(Dn(t5), `${e6} +// node_modules/@scolladon/tsgit/dist/esm/chunks/commands-internal-W2mDoLoo.js +var Qn2 = (t5) => `${t5.layout.gitDir}/${Mu}`; +var Zn2 = (t5) => `${t5.layout.gitDir}/${Pu}`; +var tr3 = (t5) => `${t5.layout.gitDir}/${Bu}`; +var ar3 = async (t5, a4) => { + await t5.fs.writeUtf8(Zn2(t5), a4); +}; +var er3 = async (t5, a4) => { + await t5.fs.writeUtf8(tr3(t5), `${a4} `); }; -var Rn = async (e6) => { - const a6 = Cn(e6); - if (!await e6.fs.exists(a6)) return; - const s9 = (await e6.fs.readUtf8(a6)).trim(); - return 0 !== s9.length ? sr.from(s9) : void 0; +var sr3 = async (a4) => { + const e7 = Qn2(a4); + if (!await a4.fs.exists(e7)) return; + const s8 = (await a4.fs.readUtf8(e7)).trim(); + return 0 !== s8.length ? lr.from(s8) : void 0; }; -var On2 = async (t5) => { - const e6 = Tn2(t5); - if (await t5.fs.exists(e6)) return t5.fs.readUtf8(e6); +var ir3 = async (t5) => { + const a4 = Zn2(t5); + if (await t5.fs.exists(a4)) return t5.fs.readUtf8(a4); }; -var Sn = async (t5) => { - for (const e6 of [Cn(t5), Tn2(t5)]) await t5.fs.exists(e6) && await t5.fs.rm(e6); +var nr3 = async (t5) => { + for (const a4 of [Qn2(t5), Zn2(t5)]) await t5.fs.exists(a4) && await t5.fs.rm(a4); }; -var Un = async (t5) => { - const e6 = Tn2(t5); - await t5.fs.exists(e6) && await t5.fs.rm(e6); +var rr3 = async (t5) => { + const a4 = Zn2(t5); + await t5.fs.exists(a4) && await t5.fs.rm(a4); }; -var jn2 = async (t5, e6) => { - const a6 = await Ed2(t5), s9 = await Ui2(t5, e6); - if ("commit" !== s9.type) throw Bt("commit", s9.type, e6); - const n6 = await Ld2(t5); +var or3 = async (t5, a4) => { + const e7 = await gf2(t5), s8 = await Ts2(t5, a4); + if ("commit" !== s8.type) throw Kt("commit", s8.type, a4); + const n7 = await kf2(t5); try { - const e7 = await Cd2(t5), i7 = await xd2(t5, { targetTree: s9.data.tree, currentIndex: e7, force: true, forceRewriteAll: true, ...void 0 !== a6 ? { sparse: a6 } : {} }); - await n6.commit(i7.newIndexEntries); + const a5 = await hf2(t5), i11 = await df2(t5, { targetTree: s8.data.tree, currentIndex: a5, force: true, forceRewriteAll: true, ...void 0 !== e7 ? { sparse: e7 } : {} }); + await n7.commit(i11.newIndexEntries); } finally { - await n6.release(); - } -}; -var Nn = async (e6) => { - if (await hc2(e6), wc2(e6, pg), void 0 === await Rn(e6)) throw Z(fg); - const a6 = await (async (e7) => { - const a7 = Dn(e7); - if (!await e7.fs.exists(a7)) return; - const s10 = (await e7.fs.readUtf8(a7)).trim(); - return 0 !== s10.length ? sr.from(s10) : void 0; - })(e6); - if (void 0 === a6) throw Z(fg); - const s9 = await mc2(e6); - if ("symbolic" !== s9.kind) throw h(pg, "cannot abort with detached HEAD"); - return await jn2(e6, a6), await nc2(e6, s9.target, a6, { reflogMessage: qh("HEAD") }), await Sn(e6), { origHead: a6, branch: s9.target }; -}; -var Mn = Sm; -var Pn = (t5, e6) => bc2(wc2(t5, "workingTree"), e6); -var _n = async (t5, e6) => { - const a6 = Mn(e6), s9 = Pn(t5, a6); - let i7; + await n7.release(); + } +}; +var cr3 = async (a4) => { + if (await Gd2(a4), Kd2(a4, Am), void 0 === await sr3(a4)) throw oe(_m); + const e7 = await (async (a5) => { + const e8 = tr3(a5); + if (!await a5.fs.exists(e8)) return; + const s9 = (await a5.fs.readUtf8(e8)).trim(); + return 0 !== s9.length ? lr.from(s9) : void 0; + })(a4); + if (void 0 === e7) throw oe(_m); + const s8 = await qd2(a4); + if ("symbolic" !== s8.kind) throw w(Am, "cannot abort with detached HEAD"); + return await or3(a4, e7), await Md2(a4, s8.target, e7, { reflogMessage: im("HEAD") }), await nr3(a4), { origHead: e7, branch: s8.target }; +}; +var dr3 = Fp; +var fr3 = (t5, a4) => Jd2(Kd2(t5, "workingTree"), a4); +var ur3 = async (t5, a4) => { + const e7 = dr3(a4), s8 = fr3(t5, e7); + let i11; try { - i7 = await t5.fs.lstat(s9); + i11 = await t5.fs.lstat(s8); } catch { - throw K({ localChanges: [a6], untracked: [] }); + throw Q({ localChanges: [e7], untracked: [] }); } - if (!i7.isFile && !i7.isSymbolicLink) throw K({ localChanges: [a6], untracked: [] }); - await t5.fs.rm(s9); + if (!i11.isFile && !i11.isSymbolicLink) throw Q({ localChanges: [e7], untracked: [] }); + await t5.fs.rm(s8); }; -var Ln = async (t5, e6, a6) => { - const s9 = Mn(e6), i7 = Mn(a6); - await Fn(t5, Pn(t5, s9), Pn(t5, i7)); +var wr3 = async (t5, a4, e7) => { + const s8 = dr3(a4), i11 = dr3(e7); + await hr3(t5, fr3(t5, s8), fr3(t5, i11)); }; -var Fn = async (t5, e6, a6) => { - const s9 = await t5.fs.lstat(e6); - if (s9.isDirectory && !s9.isSymbolicLink) { - for (const s10 of await t5.fs.readdir(e6)) await Fn(t5, `${e6}/${s10.name}`, `${a6}/${s10.name}`); - return void await t5.fs.rmRecursive(e6); +var hr3 = async (t5, a4, e7) => { + const s8 = await t5.fs.lstat(a4); + if (s8.isDirectory && !s8.isSymbolicLink) { + for (const s9 of await t5.fs.readdir(a4)) await hr3(t5, `${a4}/${s9.name}`, `${e7}/${s9.name}`); + return void await t5.fs.rmRecursive(a4); } - const i7 = i(a6); - "" !== i7 && await t5.fs.mkdir(i7), await t5.fs.rename(e6, a6); + const i11 = u(e7); + "" !== i11 && await t5.fs.mkdir(i11), await t5.fs.rename(a4, e7); }; -var qn2 = new TextEncoder(); -var Bn = (t5) => { - for (const e7 of t5) { - const t6 = e7.startsWith("!") ? e7.slice(1) : e7; - Mn(t6), Wn2(e7); +var lr3 = new TextEncoder(); +var mr3 = (t5) => { + for (const a5 of t5) { + const t6 = a5.startsWith("!") ? a5.slice(1) : a5; + dr3(t6), pr3(a5); } - const e6 = Ii(t5), a6 = e6.filter(Gn2).map((t6) => Yn2(t6)), s9 = e6.some(Jn2), i7 = e6.map((t6) => Yn2(t6)); - return { matcher: e6, literalMustMatch: a6, hasGlob: s9, symlinkScanTargets: i7 }; + const a4 = Fi(t5), e7 = a4.filter(br3).map((t6) => xr3(t6)), s8 = a4.some(kr3), i11 = a4.map((t6) => xr3(t6)); + return { matcher: a4, literalMustMatch: e7, hasGlob: s8, symlinkScanTargets: i11 }; }; -var Wn2 = (t5) => { - if (qn2.encode(t5).byteLength > 256) throw oe("paths", "pattern exceeds max length 256 bytes"); - if (zn2(t5) > 4) throw oe("paths", "pattern exceeds max **-token count 4"); +var pr3 = (t5) => { + if (lr3.encode(t5).byteLength > 256) throw de("paths", "pattern exceeds max length 256 bytes"); + if (gr3(t5) > 4) throw de("paths", "pattern exceeds max **-token count 4"); }; -var zn2 = (t5) => { - let e6 = 0, a6 = 0; - for (; a6 < t5.length; ) "*" !== t5[a6] || "*" !== t5[a6 + 1] ? a6 += 1 : (e6 += 1, a6 += 2); - return e6; +var gr3 = (t5) => { + let a4 = 0, e7 = 0; + for (; e7 < t5.length; ) "*" !== t5[e7] || "*" !== t5[e7 + 1] ? e7 += 1 : (a4 += 1, e7 += 2); + return a4; }; -var Vn2 = (t5, e6) => { +var yr3 = (t5, a4) => { if (0 === t5.length) return; - const a6 = new Set(e6); - for (const s9 of t5) if (!a6.has(s9) && !e6.some((t6) => t6.startsWith(`${s9}/`))) throw A(s9); -}; -var Kn2 = async (t5, e6) => { - const a6 = Lc2(t5); - for (const t6 of e6) if (await a6.hasSymlinkedLeadingPath(t6)) throw S(t6); -}; -var Gn2 = (t5) => !t5.negated && t5.isLiteral; -var Jn2 = (t5) => !t5.negated && !t5.isLiteral; -var Yn2 = (t5) => t5.body; -var Xn2 = /* @__PURE__ */ new Set(["commit", "tree", "blob", "tag"]); -var Qn2 = /^:(\d):(.+)$/; -var Zn2 = /^[0-9a-f]{1,3}$/; -var tr3 = (t5) => { - throw Y(t5); -}; -var er3 = (t5) => { - if ("" === t5 && tr3(t5), t5.startsWith(":")) return sr3(t5); - const e6 = ar3(t5); - return -1 !== e6 ? { kind: "tree-path", rev: t5.slice(0, e6), path: t5.slice(e6 + 1) } : t5.includes("@{") ? rr3(t5) : ir3(t5); -}; -var ar3 = (t5) => { - let e6 = false; - for (let a6 = 0; a6 < t5.length; a6 += 1) if (e6 || "@" !== t5[a6] || "{" !== t5[a6 + 1]) { - if (e6 && "}" === t5[a6]) e6 = false; - else if (!e6 && ":" === t5[a6]) return a6; - } else e6 = true, a6 += 1; + const e7 = new Set(a4); + for (const s8 of t5) if (!e7.has(s8) && !a4.some((t6) => t6.startsWith(`${s8}/`))) throw R(s8); +}; +var vr3 = async (t5, a4) => { + const e7 = cu2(t5); + for (const t6 of a4) if (await e7.hasSymlinkedLeadingPath(t6)) throw D(t6); +}; +var br3 = (t5) => !t5.negated && t5.isLiteral; +var kr3 = (t5) => !t5.negated && !t5.isLiteral; +var xr3 = (t5) => t5.body; +var $r3 = /* @__PURE__ */ new Set(["commit", "tree", "blob", "tag"]); +var Ir3 = /^:(\d):(.+)$/; +var Er3 = /^[0-9a-f]{1,3}$/; +var Cr3 = (t5) => { + throw Z(t5); +}; +var Dr3 = (t5) => { + if ("" === t5 && Cr3(t5), t5.startsWith(":")) return Hr3(t5); + const a4 = Tr3(t5); + return -1 !== a4 ? { kind: "tree-path", rev: t5.slice(0, a4), path: t5.slice(a4 + 1) } : t5.includes("@{") ? Sr3(t5) : Or3(t5); +}; +var Tr3 = (t5) => { + let a4 = false; + for (let e7 = 0; e7 < t5.length; e7 += 1) if (a4 || "@" !== t5[e7] || "{" !== t5[e7 + 1]) { + if (a4 && "}" === t5[e7]) a4 = false; + else if (!a4 && ":" === t5[e7]) return e7; + } else a4 = true, e7 += 1; return -1; }; -var sr3 = (t5) => { - const e6 = Qn2.exec(t5); - null === e6 && tr3(t5); - const a6 = e6[2], s9 = Number(e6[1]); - return s9 > 3 && tr3(t5), { kind: "index-stage", stage: s9, path: a6 }; +var Hr3 = (t5) => { + const a4 = Ir3.exec(t5); + null === a4 && Cr3(t5); + const e7 = a4[2], s8 = Number(a4[1]); + return s8 > 3 && Cr3(t5), { kind: "index-stage", stage: s8, path: e7 }; }; -var ir3 = (t5) => { - const e6 = or3(t5), a6 = -1 === e6 ? t5 : t5.slice(0, e6); - return "" === a6 && tr3(t5), Zn2.test(a6) && -1 === e6 && tr3(t5), { kind: "ref-or-hex", base: a6, operations: -1 === e6 ? [] : cr3(t5, e6) }; +var Or3 = (t5) => { + const a4 = Rr3(t5), e7 = -1 === a4 ? t5 : t5.slice(0, a4); + return "" === e7 && Cr3(t5), Er3.test(e7) && -1 === a4 && Cr3(t5), { kind: "ref-or-hex", base: e7, operations: -1 === a4 ? [] : jr3(t5, a4) }; }; -var nr3 = /^\d+$/; -var rr3 = (t5) => { - const e6 = t5.indexOf("@{"), a6 = t5.indexOf("}", e6 + 2), s9 = t5.slice(0, e6), i7 = t5.slice(e6 + 2, a6); - return "" === i7 && tr3(t5), { kind: "ref-or-hex", base: s9, reflog: nr3.test(i7) ? { kind: "index", n: Number(i7) } : { kind: "date", raw: i7 }, operations: cr3(t5.slice(a6 + 1), 0) }; +var Ar3 = /^\d+$/; +var Sr3 = (t5) => { + const a4 = t5.indexOf("@{"), e7 = t5.indexOf("}", a4 + 2), s8 = t5.slice(0, a4), i11 = t5.slice(a4 + 2, e7); + return "" === i11 && Cr3(t5), { kind: "ref-or-hex", base: s8, reflog: Ar3.test(i11) ? { kind: "index", n: Number(i11) } : { kind: "date", raw: i11 }, operations: jr3(t5.slice(e7 + 1), 0) }; }; -var or3 = (t5) => { - for (let e6 = 0; e6 < t5.length; e6 += 1) { - const a6 = t5[e6]; - if ("~" === a6 || "^" === a6) return e6; +var Rr3 = (t5) => { + for (let a4 = 0; a4 < t5.length; a4 += 1) { + const e7 = t5[a4]; + if ("~" === e7 || "^" === e7) return a4; } return -1; }; -var cr3 = (t5, e6) => { - const a6 = []; - let s9 = e6; - for (; s9 < t5.length; ) { - const e7 = t5[s9]; - if ("~" === e7) { - const e8 = dr3(t5, s9); - a6.push(e8.op), s9 = e8.next; - } else if ("^" === e7) { - const e8 = fr3(t5, s9); - a6.push(e8.op), s9 = e8.next; - } else tr3(t5); - } - return a6; -}; -var dr3 = (t5, e6) => { - let a6 = e6 + 1; - for (; a6 < t5.length && ur3(t5.charCodeAt(a6)); ) a6 += 1; - return a6 === e6 + 1 && tr3(t5), { op: { kind: "ancestor", n: Number(t5.slice(e6 + 1, a6)) }, next: a6 }; -}; -var fr3 = (t5, e6) => { - if ("{" === t5[e6 + 1]) { - const a7 = t5.indexOf("}", e6 + 2); - -1 === a7 && tr3(t5); - const s10 = t5.slice(e6 + 2, a7); - return Xn2.has(s10) || tr3(t5), { op: { kind: "peel", target: s10 }, next: a7 + 1 }; - } - let a6 = e6 + 1; - for (; a6 < t5.length && ur3(t5.charCodeAt(a6)); ) a6 += 1; - const s9 = t5.slice(e6 + 1, a6); - return { op: { kind: "parent", n: "" === s9 ? 1 : Number(s9) }, next: a6 }; -}; -var ur3 = (t5) => t5 >= 48 && t5 <= 57; -var wr3 = async (t5, e6) => { - await hc2(t5); - const a6 = er3(e6); - return hr3(t5, a6, e6); -}; -var hr3 = async (t5, e6, a6) => { - if ("index-stage" === e6.kind) return Ir3(t5, e6); - if ("tree-path" === e6.kind) return Er3(t5, e6.rev, e6.path); - const s9 = Math.floor(Date.now() / 1e3); - let i7 = void 0 !== e6.reflog ? await mr3(t5, e6.base, e6.reflog, s9, a6) : await lr3(t5, e6.base); - for (const a7 of e6.operations) i7 = await xr3(t5, i7, a7); - return i7; -}; -var lr3 = async (e6, a6) => { - if (Dr(a6, e6.hashConfig)) return sr.from(a6); - for (const t5 of wu(a6)) try { - return await eu2(e6, t5); +var jr3 = (t5, a4) => { + const e7 = []; + let s8 = a4; + for (; s8 < t5.length; ) { + const a5 = t5[s8]; + if ("~" === a5) { + const a6 = Nr3(t5, s8); + e7.push(a6.op), s8 = a6.next; + } else if ("^" === a5) { + const a6 = Ur3(t5, s8); + e7.push(a6.op), s8 = a6.next; + } else Cr3(t5); + } + return e7; +}; +var Nr3 = (t5, a4) => { + let e7 = a4 + 1; + for (; e7 < t5.length && Mr3(t5.charCodeAt(e7)); ) e7 += 1; + return e7 === a4 + 1 && Cr3(t5), { op: { kind: "ancestor", n: Number(t5.slice(a4 + 1, e7)) }, next: e7 }; +}; +var Ur3 = (t5, a4) => { + if ("{" === t5[a4 + 1]) { + const e8 = t5.indexOf("}", a4 + 2); + -1 === e8 && Cr3(t5); + const s9 = t5.slice(a4 + 2, e8); + return $r3.has(s9) || Cr3(t5), { op: { kind: "peel", target: s9 }, next: e8 + 1 }; + } + let e7 = a4 + 1; + for (; e7 < t5.length && Mr3(t5.charCodeAt(e7)); ) e7 += 1; + const s8 = t5.slice(a4 + 1, e7); + return { op: { kind: "parent", n: "" === s8 ? 1 : Number(s8) }, next: e7 }; +}; +var Mr3 = (t5) => t5 >= 48 && t5 <= 57; +var Pr3 = async (t5, a4) => { + await Gd2(t5); + const e7 = Dr3(a4); + return _r3(t5, e7, a4); +}; +var _r3 = async (t5, a4, e7) => { + if ("index-stage" === a4.kind) return Xr3(t5, a4); + if ("tree-path" === a4.kind) return Jr3(t5, a4.rev, a4.path); + const s8 = Math.floor(Date.now() / 1e3); + let i11 = void 0 !== a4.reflog ? await Lr3(t5, a4.base, a4.reflog, s8, e7) : await Br3(t5, a4.base); + for (const e8 of a4.operations) i11 = await Kr3(t5, i11, e8); + return i11; +}; +var Br3 = async (a4, e7) => { + if (Qr(e7, a4.hashConfig)) return lr.from(e7); + for (const t5 of Ku(e7)) try { + return await Wf2(a4, t5); } catch { } - const s9 = await $u2(e6, a6); - if (void 0 !== s9) return s9; - throw Mt(a6); + const s8 = await Cl2(a4, e7); + if (void 0 !== s8) return s8; + throw zt(e7); }; -var mr3 = async (t5, e6, a6, s9, i7) => { - const n6 = "" === e6 ? await pr3(t5) : await gr3(t5, e6), r6 = await vu2(t5, n6); - if (0 === r6.length) throw Y(i7); - return "index" === a6.kind ? br3(r6, a6.n, n6) : kr3(r6, a6.raw, s9, i7); +var Lr3 = async (t5, a4, e7, s8, i11) => { + const n7 = "" === a4 ? await Fr3(t5) : await qr3(t5, a4), r8 = await ml2(t5, n7); + if (0 === r8.length) throw Z(i11); + return "index" === e7.kind ? Vr3(r8, e7.n, n7) : Gr3(r8, e7.raw, s8, i11, t5.hashConfig); }; -var pr3 = async (t5) => { - const e6 = await zr2(t5).resolveDirect("HEAD"); - return "symbolic" === e6.kind ? e6.target : "HEAD"; +var Fr3 = async (t5) => { + const a4 = await md2(t5).resolveDirect("HEAD"); + return "symbolic" === a4.kind ? a4.target : "HEAD"; }; -var gr3 = async (t5, e6) => { - const a6 = yr3(e6), s9 = wu(a6), i7 = new Set(await Iu2(t5)); - for (const t6 of s9) if (i7.has(t6)) return t6; - for (const e7 of s9) if (await vr3(t5, e7)) return e7; - return a6; +var qr3 = async (t5, a4) => { + const e7 = zr3(a4), s8 = Ku(e7), i11 = new Set(await bl2(t5)); + for (const t6 of s8) if (i11.has(t6)) return t6; + for (const a5 of s8) if (await Wr3(t5, a5)) return a5; + return e7; }; -var yr3 = (t5) => { +var zr3 = (t5) => { try { - return eu(t5); + return Nu(t5); } catch { - throw Y(t5); + throw Z(t5); } }; -var vr3 = async (t5, e6) => { +var Wr3 = async (t5, a4) => { try { - return await eu2(t5, e6), true; + return await Wf2(t5, a4), true; } catch { return false; } }; -var br3 = (t5, e6, a6) => { - const s9 = t5[t5.length - 1 - e6]; - if (void 0 === s9) throw Cd(a6, e6, t5.length); - return s9.newId; -}; -var kr3 = (t5, e6, a6, s9) => { - const i7 = Rd(e6, a6); - if (void 0 === i7) throw Y(s9); - for (let e7 = t5.length - 1; e7 >= 0; e7 -= 1) { - const a7 = t5[e7]; - if (a7.identity.timestamp <= i7) return a7.newId; - } - return t5[0].oldId; -}; -var xr3 = async (t5, e6, a6) => { - if ("parent" === a6.kind) return $r3(t5, e6, a6.n); - if ("ancestor" === a6.kind) { - let s9 = e6; - for (let e7 = 0; e7 < a6.n; e7 += 1) s9 = await $r3(t5, s9, 1); - return s9; - } - return Qd2(t5, e6, a6.target); -}; -var $r3 = async (t5, e6, a6) => { - const s9 = await Ui2(t5, e6); - if ("commit" !== s9.type) throw Mt(e6); - const i7 = Fm(s9, await mu2(t5)).data.parents[a6 - 1]; - if (void 0 === i7) throw Mt(e6); - return i7; -}; -var Ir3 = async (t5, e6) => { - const a6 = await Cd2(t5); - for (const t6 of a6.entries) if (t6.path === e6.path && t6.flags.stage === e6.stage) return t6.id; - throw Mt(`${e6.stage}:${e6.path}`); -}; -var Er3 = async (t5, e6, a6) => { - const s9 = await hr3(t5, er3(e6), e6), i7 = await Qd2(t5, s9, "tree"); - if ("" === a6) return i7; - const n6 = await nu2(t5, i7); - return (await au2(t5, n6, a6, e6)).id; -}; -var Cr3 = async (t5, e6) => { - if (Dr(e6, t5.hashConfig)) return e6; - for (const a7 of wu(e6)) try { - return await eu2(t5, a7, { peel: true }); +var Vr3 = (t5, a4, e7) => { + const s8 = t5[t5.length - 1 - a4]; + if (void 0 === s8) throw eu(e7, a4, t5.length); + return s8.newId; +}; +var Gr3 = (t5, a4, e7, s8, i11) => { + const n7 = qd(a4, e7); + if (void 0 === n7) throw Z(s8); + for (let a5 = t5.length - 1; a5 >= 0; a5 -= 1) { + const e8 = t5[a5]; + if (e8.identity.timestamp <= n7) return e8.newId; + } + const r8 = t5[0]; + return r8.oldId === gr(i11) ? r8.newId : r8.oldId; +}; +var Kr3 = async (t5, a4, e7) => { + if ("parent" === e7.kind) return Yr3(t5, a4, e7.n); + if ("ancestor" === e7.kind) { + let s8 = a4; + for (let a5 = 0; a5 < e7.n; a5 += 1) s8 = await Yr3(t5, s8, 1); + return s8; + } + return jf2(t5, a4, e7.target); +}; +var Yr3 = async (t5, a4, e7) => { + const s8 = await Ts2(t5, a4); + if ("commit" !== s8.type) throw zt(a4); + const i11 = Jp(s8, await fl2(t5)).data.parents[e7 - 1]; + if (void 0 === i11) throw zt(a4); + return i11; +}; +var Xr3 = async (t5, a4) => { + const e7 = await hf2(t5); + for (const t6 of e7.entries) if (t6.path === a4.path && t6.flags.stage === a4.stage) return t6.id; + throw zt(`${a4.stage}:${a4.path}`); +}; +var Jr3 = async (t5, a4, e7) => { + const s8 = await _r3(t5, Dr3(a4), a4), i11 = await jf2(t5, s8, "tree"); + if ("" === e7) return i11; + const n7 = await Gf2(t5, i11); + return (await Kf2(t5, n7, e7, a4)).id; +}; +var Qr3 = async (t5, a4) => { + if (Qr(a4, t5.hashConfig)) return a4; + for (const e8 of Ku(a4)) try { + return await Wf2(t5, e8, { peel: true }); } catch { } - const a6 = await $u2(t5, e6); - if (void 0 !== a6) return a6; - throw Kd(e6); + const e7 = await Cl2(t5, a4); + if (void 0 !== e7) return e7; + throw vu(a4); }; -var Tr3 = async (t5, e6) => (await Ff2(t5, e6)).tree; -var Dr3 = async (t5, e6) => { - const a6 = await mc2(t5); - if ("symbolic" !== a6.kind) throw h(e6, "cannot run with detached HEAD"); - return a6.target; +var Zr3 = async (t5, a4) => (await Mh2(t5, a4)).tree; +var to3 = async (t5, a4) => { + const e7 = await qd2(t5); + if ("symbolic" !== e7.kind) throw w(a4, "cannot run with detached HEAD"); + return e7.target; }; -var Hr3 = async (t5) => { - await hc2(t5); - const e6 = await Ar3(t5), a6 = await zr2(t5).listRefs(Ep), s9 = []; - for (const i7 of a6) { - const a7 = "direct" === i7.value.kind ? i7.value.id : await eu2(t5, i7.name); - s9.push({ name: i7.name, id: a7, current: i7.name === e6 }); +var ao3 = async (t5) => { + await Gd2(t5); + const a4 = await eo3(t5), e7 = await md2(t5).listRefs(Lw), s8 = []; + for (const i11 of e7) { + const e8 = "direct" === i11.value.kind ? i11.value.id : await Wf2(t5, i11.name); + s8.push({ name: i11.name, id: e8, current: i11.name === a4 }); } - return s9.sort((t6, e7) => Rr3(t6.name, e7.name)), { branches: s9 }; + return s8.sort((t6, a5) => so3(t6.name, a5.name)), { branches: s8 }; }; -var Ar3 = async (t5) => { +var eo3 = async (t5) => { try { - const e6 = pc2(await mc2(t5)); - return e6?.startsWith(Ep) ? e6 : void 0; + const a4 = Vd2(await qd2(t5)); + return a4?.startsWith(Lw) ? a4 : void 0; } catch (t6) { - if ("REF_NOT_FOUND" === Ia2(t6)) return; + if ("REF_NOT_FOUND" === to2(t6)) return; throw t6; } }; -var Rr3 = (t5, e6) => t5 < e6 ? -1 : t5 > e6 ? 1 : 0; -var Or3 = async (t5, e6) => { - await hc2(t5); - const a6 = eu(`${Ep}${e6.name}`), s9 = e6.startPoint ?? "HEAD", i7 = await jr3(t5, s9), n6 = Yh(s9); +var so3 = (t5, a4) => t5 < a4 ? -1 : t5 > a4 ? 1 : 0; +var io3 = async (t5, a4) => { + await Gd2(t5); + const e7 = Nu(`${Lw}${a4.name}`), s8 = a4.startPoint ?? "HEAD", i11 = await oo3(t5, s8), n7 = om(s8); try { - await nc2(t5, a6, i7, true === e6.force ? { reflogMessage: n6 } : { expected: "absent", reflogMessage: n6 }); + await Md2(t5, e7, i11, true === a4.force ? { reflogMessage: n7 } : { expected: "absent", reflogMessage: n7 }); } catch (t6) { - if (t6 instanceof o && "REF_UPDATE_CONFLICT" === t6.data.code) throw k(a6); + if (t6 instanceof c && "REF_UPDATE_CONFLICT" === t6.data.code) throw P(e7); throw t6; } - return { name: a6, id: i7 }; + return { name: e7, id: i11 }; }; -var Sr3 = async (t5, e6) => { - await hc2(t5); - const a6 = eu(`${Ep}${e6.name}`), s9 = await mc2(t5); - if ("symbolic" === s9.kind && s9.target === a6) throw M(a6); - if (!await Wr2(t5, a6)) throw D(a6); - return await nc2(t5, a6, cr(t5.hashConfig), { delete: true }), { name: a6 }; +var no3 = async (t5, a4) => { + await Gd2(t5); + const e7 = Nu(`${Lw}${a4.name}`), s8 = await qd2(t5); + if ("symbolic" === s8.kind && s8.target === e7) throw V(e7); + if (!await gd2(t5, e7)) throw B(e7); + return await Md2(t5, e7, gr(t5.hashConfig), { delete: true }), { name: e7 }; }; -var Ur3 = async (t5, e6) => { - await hc2(t5); - const a6 = eu(`${Ep}${e6.from}`), s9 = eu(`${Ep}${e6.to}`), i7 = await eu2(t5, a6), n6 = Xh(a6, s9), r6 = await vu2(t5, a6), o6 = zr2(t5); +var ro3 = async (t5, a4) => { + await Gd2(t5); + const e7 = Nu(`${Lw}${a4.from}`), s8 = Nu(`${Lw}${a4.to}`), i11 = await Wf2(t5, e7), n7 = md2(t5); + if (e7 === s8) return await n7.applyRefUpdates([{ kind: "reflogOnly", name: s8, reflog: { oldId: i11, newId: i11, message: sm(e7, s8) } }]), { from: e7, to: s8 }; + const r8 = true === a4.force && await gd2(t5, s8); try { - await o6.applyRefUpdates([{ kind: "set", name: s9, id: i7, ...true === e6.force ? {} : { expected: "absent" }, reflog: { oldId: i7, newId: i7, message: n6 } }]); + await n7.applyRefUpdates([{ kind: "set", name: s8, id: i11, ...true === a4.force ? {} : { expected: "absent" } }]); } catch (t6) { - if (t6 instanceof o && "REF_UPDATE_CONFLICT" === t6.data.code) throw k(s9); + if (t6 instanceof c && "REF_UPDATE_CONFLICT" === t6.data.code) throw P(s8); throw t6; } - r6.length > 0 && await o6.applyRefUpdates([{ kind: "reflogReplace", name: s9, entries: [...r6, ...await vu2(t5, s9)] }]), await nc2(t5, a6, cr(t5.hashConfig), { delete: true }); - const c6 = await mc2(t5); - return "symbolic" === c6.kind && c6.target === a6 && await Uf2(t5, "HEAD", s9), { from: a6, to: s9 }; + r8 && await n7.applyRefUpdates([{ kind: "reflogReplace", name: s8, entries: [] }]), await n7.moveReflog(e7, s8), await n7.applyRefUpdates([{ kind: "reflogOnly", name: s8, reflog: { oldId: i11, newId: i11, message: sm(e7, s8) } }]), await Md2(t5, e7, gr(t5.hashConfig), { delete: true }); + const o5 = await qd2(t5); + return "symbolic" === o5.kind && o5.target === e7 && await Ph2(t5, "HEAD", s8), { from: e7, to: s8 }; }; -var jr3 = async (t5, e6) => { - if (Dr(e6, t5.hashConfig)) return e6; - const a6 = "HEAD" === e6 ? ["HEAD"] : [`${Ep}${e6}`, e6]; - for (const e7 of a6) try { - return await eu2(t5, e7); +var oo3 = async (t5, a4) => { + if (Qr(a4, t5.hashConfig)) return a4; + const e7 = "HEAD" === a4 ? ["HEAD"] : [`${Lw}${a4}`, a4]; + for (const a5 of e7) try { + return await Wf2(t5, a5); } catch { } - throw D(e6); -}; -var Nr3 = ["refs/", "refs/tags/", "refs/heads/", "refs/remotes/"]; -var Mr3 = (t5, e6) => { - const a6 = e6; - if (a6.includes(t5)) return t5; - for (const e7 of Nr3) { - const s9 = `${e7}${t5}`; - if (a6.includes(s9)) return s9; - } -}; -var Pr3 = async (t5, e6, a6) => { - const s9 = await eu2(t5, e6); - a6.refs.push({ name: e6, oid: s9 }), a6.wants.push(s9); -}; -var _r3 = (t5, e6) => e6.filter((e7) => e7.startsWith(t5)).sort(); -var Lr3 = async (t5, e6, a6, s9) => { - const i7 = await wr3(t5, e6), n6 = Mr3(e6, a6); - void 0 !== n6 && s9.refs.push({ name: n6, oid: i7 }), s9.wants.push(i7); -}; -var Fr3 = async (t5, e6, a6) => { - const s9 = await wr3(t5, e6); - a6.haves.push(await Qd2(t5, s9, "commit")); -}; -var qr3 = async (t5, e6, a6, s9) => { - const [i7, n6] = e6, r6 = await wr3(t5, i7); - s9.haves.push(await Qd2(t5, r6, "commit")); - const o6 = await wr3(t5, n6), c6 = Mr3(n6, a6); - void 0 !== c6 && s9.refs.push({ name: c6, oid: o6 }), s9.wants.push(o6); -}; -var Br3 = async (t5, e6, a6, s9) => { - const [i7, n6] = e6, r6 = await wr3(t5, i7), o6 = Mr3(i7, a6); - void 0 !== o6 && s9.refs.push({ name: o6, oid: r6 }), s9.wants.push(r6); - const c6 = await wr3(t5, n6), d5 = Mr3(n6, a6); - void 0 !== d5 && s9.refs.push({ name: d5, oid: c6 }), s9.wants.push(c6); - const f2 = await wl2(t5, [await Qd2(t5, r6, "commit"), await Qd2(t5, c6, "commit")], { all: true }); - s9.haves.push(...f2); -}; -var Wr3 = (t5, e6) => { - if ("commit" !== t5.type) throw ot(e6, t5.type); + throw B(a4); +}; +var co3 = ["refs/", "refs/tags/", "refs/heads/", "refs/remotes/"]; +var fo3 = (t5, a4) => { + const e7 = a4; + if (e7.includes(t5)) return t5; + for (const a5 of co3) { + const s8 = `${a5}${t5}`; + if (e7.includes(s8)) return s8; + } +}; +var uo3 = async (t5, a4, e7) => { + const s8 = await Wf2(t5, a4); + e7.refs.push({ name: a4, oid: s8 }), e7.wants.push(s8); +}; +var wo3 = (t5, a4) => a4.filter((a5) => a5.startsWith(t5)).sort(); +var ho3 = async (t5, a4, e7, s8) => { + const i11 = await Pr3(t5, a4), n7 = fo3(a4, e7); + void 0 !== n7 && s8.refs.push({ name: n7, oid: i11 }), s8.wants.push(i11); +}; +var lo3 = async (t5, a4, e7) => { + const s8 = await Pr3(t5, a4); + e7.haves.push(await jf2(t5, s8, "commit")); +}; +var mo3 = async (t5, a4, e7, s8) => { + const [i11, n7] = a4, r8 = await Pr3(t5, i11); + s8.haves.push(await jf2(t5, r8, "commit")); + const o5 = await Pr3(t5, n7), c5 = fo3(n7, e7); + void 0 !== c5 && s8.refs.push({ name: c5, oid: o5 }), s8.wants.push(o5); +}; +var po3 = async (t5, a4, e7, s8) => { + const [i11, n7] = a4, r8 = await Pr3(t5, i11), o5 = fo3(i11, e7); + void 0 !== o5 && s8.refs.push({ name: o5, oid: r8 }), s8.wants.push(r8); + const c5 = await Pr3(t5, n7), d6 = fo3(n7, e7); + void 0 !== d6 && s8.refs.push({ name: d6, oid: c5 }), s8.wants.push(c5); + const f2 = await kw2(t5, [await jf2(t5, r8, "commit"), await jf2(t5, c5, "commit")], { all: true }); + s8.haves.push(...f2); +}; +var go3 = (t5, a4) => { + if ("commit" !== t5.type) throw ut(a4, t5.type); return t5; }; -var zr3 = (t5) => { - const e6 = "sha1" !== t5.algorithm || t5.filter; - if (void 0 === t5.requested) return e6 ? 3 : 2; - if (2 !== (a6 = t5.requested) && 3 !== a6) throw rt(t5.requested); - var a6; - if (2 === t5.requested && e6) throw rt(2); +var yo3 = (t5) => { + const a4 = "sha1" !== t5.algorithm || t5.filter; + if (void 0 === t5.requested) return a4 ? 3 : 2; + if (2 !== (e7 = t5.requested) && 3 !== e7) throw dt(t5.requested); + var e7; + if (2 === t5.requested && a4) throw dt(2); return t5.requested; }; -var Vr3 = async (t5, e6) => { - await hc2(t5); - const a6 = zr3({ algorithm: t5.hashConfig.algorithm, filter: false, ...void 0 !== e6.version ? { requested: e6.version } : {} }), s9 = await dl2(t5), i7 = { refs: [], wants: [], haves: [] }; - await (async (t6, e7, a7, s10) => { - if (true === e7.branches) for (const e8 of _r3("refs/heads/", a7)) await Pr3(t6, e8, s10); - if (true === e7.tags) for (const e8 of _r3("refs/tags/", a7)) await Pr3(t6, e8, s10); - if (true === e7.all) { - for (const e8 of _r3("refs/", a7)) await Pr3(t6, e8, s10); - await Pr3(t6, "HEAD", s10); - } - })(t5, e6, s9, i7), await (async (t6, e7, a7, s10) => { - for (const i8 of e7) "tip" in i8 ? await Lr3(t6, i8.tip, a7, s10) : "exclude" in i8 ? await Fr3(t6, i8.exclude, s10) : "range" in i8 ? await qr3(t6, i8.range, a7, s10) : await Br3(t6, i8.symmetricRange, a7, s10); - })(t5, e6.revs ?? [], s9, i7); - const n6 = ((t6) => { - const e7 = /* @__PURE__ */ new Set(); - return t6.filter((t7) => !e7.has(t7.name) && (e7.add(t7.name), true)); - })(i7.refs); - if (i7.refs.splice(0, i7.refs.length, ...n6), 0 === i7.refs.length) throw Ze("no-refs"); - const r6 = await cl2(t5, { wants: i7.wants, haves: i7.haves }); - if (0 === r6.objects.length) throw Ze("no-objects"); - const o6 = await (async (t6, e7) => Promise.all([...e7].sort().map(async (e8) => { - const a7 = await Ui2(t6, e8), s10 = Wr3(a7, e8); - return { oid: e8, comment: yr(s10.data.message) }; - })))(t5, r6.boundary), c6 = await Af2(t5, { oids: r6.objects }); - return { version: a6, bytes: ((t6, e7) => { - const a7 = new Uint8Array(t6.length + e7.length); - return a7.set(t6, 0), a7.set(e7, t6.length), a7; - })(Lp({ version: a6, hashAlgorithm: t5.hashConfig.algorithm, prerequisites: o6, refs: i7.refs }), c6.bytes), refs: i7.refs, prerequisites: o6, objectCount: c6.objectCount, packSha: c6.sha }; -}; -var Kr3 = async (t5, e6) => { - const a6 = await Gr3(t5, e6), s9 = Np(a6, e6); - return { header: s9, packBytes: a6.subarray(s9.packOffset) }; -}; -var Gr3 = async (t5, e6) => { +var vo3 = async (t5, a4) => { + await Gd2(t5), await gr2(t5); + const e7 = yo3({ algorithm: t5.hashConfig.algorithm, filter: false, ...void 0 !== a4.version ? { requested: a4.version } : {} }), s8 = await yw2(t5), i11 = { refs: [], wants: [], haves: [] }; + await (async (t6, a5, e8, s9) => { + if (true === a5.branches) for (const a6 of wo3("refs/heads/", e8)) await uo3(t6, a6, s9); + if (true === a5.tags) for (const a6 of wo3("refs/tags/", e8)) await uo3(t6, a6, s9); + if (true === a5.all) { + for (const a6 of wo3("refs/", e8)) await uo3(t6, a6, s9); + await uo3(t6, "HEAD", s9); + } + })(t5, a4, s8, i11), await (async (t6, a5, e8, s9) => { + for (const i12 of a5) "tip" in i12 ? await ho3(t6, i12.tip, e8, s9) : "exclude" in i12 ? await lo3(t6, i12.exclude, s9) : "range" in i12 ? await mo3(t6, i12.range, e8, s9) : await po3(t6, i12.symmetricRange, e8, s9); + })(t5, a4.revs ?? [], s8, i11); + const n7 = ((t6) => { + const a5 = /* @__PURE__ */ new Set(); + return t6.filter((t7) => !a5.has(t7.name) && (a5.add(t7.name), true)); + })(i11.refs); + if (i11.refs.splice(0, i11.refs.length, ...n7), 0 === i11.refs.length) throw st("no-refs"); + const r8 = await ww2(t5, { wants: i11.wants, haves: i11.haves }); + if (0 === r8.objects.length) throw st("no-objects"); + const o5 = await (async (t6, a5) => Lo2(t6, "ioBound", [...a5].sort(), async (a6) => { + const e8 = await Ts2(t6, a6), s9 = go3(e8, a6); + return { oid: a6, comment: Ar(s9.data.message) }; + }))(t5, r8.boundary), c5 = await Hh2(t5, { objects: r8.objects, delta: true }); + return { version: e7, bytes: ((t6, a5) => { + const e8 = new Uint8Array(t6.length + a5.length); + return e8.set(t6, 0), e8.set(a5, t6.length), e8; + })(Gw({ version: e7, hashAlgorithm: t5.hashConfig.algorithm, prerequisites: o5, refs: i11.refs }), c5.bytes), refs: i11.refs, prerequisites: o5, objectCount: c5.objectCount, packSha: c5.sha }; +}; +var bo3 = async (t5, a4) => { + const e7 = await ko3(t5, a4), s8 = Fw(e7, a4); + return { header: s8, packBytes: e7.subarray(s8.packOffset) }; +}; +var ko3 = async (t5, a4) => { try { - return await t5.fs.read(e6); - } catch (a6) { - if (!(a6 instanceof o)) throw a6; - if ("FILE_NOT_FOUND" === a6.data.code || "PERMISSION_DENIED" === a6.data.code) throw await Jr3(t5, e6); - throw a6; + return await t5.fs.read(a4); + } catch (e7) { + if (!(e7 instanceof c)) throw e7; + if ("FILE_NOT_FOUND" === e7.data.code || "PERMISSION_DENIED" === e7.data.code) throw await xo3(t5, a4); + throw e7; } }; -var Jr3 = async (t5, e6) => { +var xo3 = async (t5, a4) => { try { - if ((await t5.fs.stat(e6)).isDirectory) return nt(e6, { reason: "not-a-bundle" }); + if ((await t5.fs.stat(a4)).isDirectory) return ct(a4, { reason: "not-a-bundle" }); } catch { } - return et(e6); + return it(a4); }; -var Yr3 = async (t5, e6) => { - const { header: a6 } = await Kr3(t5, e6.path), s9 = Xr3(a6.refs, e6.names); - return { version: a6.version, refs: s9 }; +var $o3 = async (t5, a4) => { + const { header: e7 } = await bo3(t5, a4.path), s8 = Io3(e7.refs, a4.names); + return { version: e7.version, refs: s8 }; }; -var Xr3 = (t5, e6) => { - if (void 0 === e6) return t5; - const a6 = new Set(e6); - return t5.filter((t6) => a6.has(t6.name)); +var Io3 = (t5, a4) => { + if (void 0 === a4) return t5; + const e7 = new Set(a4); + return t5.filter((t6) => e7.has(t6.name)); }; -var Qr3 = async (t5, e6) => { +var Eo2 = async (t5, a4) => { ((t6) => { - if (ji2(t6.layout)) throw cf(t6.layout.workDir ?? t6.layout.gitDir); + if (Hs2(t6.layout)) throw Hf(t6.layout.workDir ?? t6.layout.gitDir); })(t5); - const { header: a6, packBytes: s9 } = await Kr3(t5, e6.path); - Zr3(t5, a6); - const i7 = await so3(t5, a6.prerequisites); - if (i7.length > 0) return eo3(a6, i7); - const n6 = to3(t5, a6.hashAlgorithm); - await Sl2(s9, n6); - const r6 = a6.prerequisites.length > 0 ? ao3(t5) : void 0; - return await $l2(n6, s9, r6), eo3(a6, []); -}; -var Zr3 = (t5, e6) => { - const a6 = e6.prerequisites[0]; - if (void 0 !== a6 && e6.hashAlgorithm !== t5.hashConfig.algorithm) throw st(a6.oid, e6.hashAlgorithm, t5.hashConfig.algorithm); -}; -var to3 = (t5, e6) => { - if (e6 === t5.hashConfig.algorithm) return t5; - const a6 = t5.hash.withAlgorithm?.(e6); - if (void 0 === a6) throw h("bundle verify", `the supplied hash service cannot switch to the bundle's declared algorithm ${e6}`); - return Object.freeze({ ...t5, hash: a6, hashConfig: n(e6) }); -}; -var eo3 = (t5, e6) => ({ version: t5.version, hashAlgorithm: t5.hashAlgorithm, refs: t5.refs, prerequisites: t5.prerequisites, missingPrerequisites: e6, prerequisitesPresent: 0 === e6.length, recordsCompleteHistory: 0 === t5.prerequisites.length, ...void 0 !== t5.filter ? { filter: t5.filter } : {} }); -var ao3 = (t5) => { - const e6 = /* @__PURE__ */ new Map(); - return async (a6) => { - if (e6.has(a6)) return e6.get(a6); - const s9 = await (async (t6, e7) => { - try { - const a7 = await Ui2(t6, e7), s10 = Lr(a7, t6.hashConfig), { contentOffset: i7 } = Ir(s10); - return { type: a7.type, content: s10.subarray(i7) }; - } catch (t7) { - if (t7 instanceof o && "OBJECT_NOT_FOUND" === t7.data.code) return; - throw t7; - } - })(t5, a6); - return e6.set(a6, s9), s9; - }; + const { header: e7, packBytes: s8 } = await bo3(t5, a4.path); + Co3(t5, e7); + const i11 = await Oo3(t5, e7.prerequisites); + if (i11.length > 0) return To3(e7, i11); + const n7 = Do3(t5, e7.hashAlgorithm); + await py2(s8, n7); + const r8 = e7.prerequisites.length > 0 ? (a5) => Ho3(t5, a5) : void 0; + return await Nw2(n7, s8, r8), To3(e7, []); +}; +var Co3 = (t5, a4) => { + const e7 = a4.prerequisites[0]; + if (void 0 !== e7 && a4.hashAlgorithm !== t5.hashConfig.algorithm) throw lt(e7.oid, a4.hashAlgorithm, t5.hashConfig.algorithm); +}; +var Do3 = (t5, a4) => { + if (a4 === t5.hashConfig.algorithm) return t5; + const e7 = t5.hash.withAlgorithm?.(a4); + if (void 0 === e7) throw w("bundle verify", `the supplied hash service cannot switch to the bundle's declared algorithm ${a4}`); + return bw2(t5, { hash: e7, hashConfig: i(a4) }, { keepSessionAcrossHashChange: true }); +}; +var To3 = (t5, a4) => ({ version: t5.version, hashAlgorithm: t5.hashAlgorithm, refs: t5.refs, prerequisites: t5.prerequisites, missingPrerequisites: a4, prerequisitesPresent: 0 === a4.length, recordsCompleteHistory: 0 === t5.prerequisites.length, ...void 0 !== t5.filter ? { filter: t5.filter } : {} }); +var Ho3 = async (t5, a4) => { + try { + const e7 = await Ts2(t5, a4, { verifyHash: true }), s8 = Xr(e7, t5.hashConfig), { contentOffset: i11 } = Sr(s8); + return { type: e7.type, content: s8.subarray(i11) }; + } catch (t6) { + if (t6 instanceof c && "OBJECT_NOT_FOUND" === t6.data.code) return; + throw t6; + } }; -var so3 = async (t5, e6) => { - const a6 = []; - for (const s9 of e6) await io3(t5, s9.oid) && a6.push(s9.oid); - return a6; +var Oo3 = async (t5, a4) => { + const e7 = []; + for (const s8 of a4) await Ao3(t5, s8.oid) && e7.push(s8.oid); + return e7; }; -var io3 = async (t5, e6) => { +var Ao3 = async (t5, a4) => { try { - return await Ui2(t5, e6), false; + return await Ts2(t5, a4, { verifyHash: true }), false; } catch (t6) { - if (t6 instanceof o && "OBJECT_NOT_FOUND" === t6.data.code) return true; + if (t6 instanceof c && "OBJECT_NOT_FOUND" === t6.data.code) return true; throw t6; } }; -var no3 = "checkout:materialize"; -var ro3 = async (t5, e6) => { - if ("HEAD" === e6) { - const e7 = await eu2(t5, "HEAD"); - return (await nu2(t5, e7)).id; +var So3 = "checkout:materialize"; +var Ro3 = async (t5, a4) => { + if ("HEAD" === a4) { + const a5 = await Wf2(t5, "HEAD"); + return (await Gf2(t5, a5)).id; } - return (await nu2(t5, e6)).id; + return (await Gf2(t5, a4)).id; }; -var oo3 = async (t5, e6) => { - await hc2(t5), wc2(t5, "checkout"), await vc2(t5); - const a6 = ((t6) => "rev" in t6 && void 0 !== t6.rev)(e6), s9 = ((t6) => "paths" in t6 && void 0 !== t6.paths)(e6); - if (a6 && s9) throw oe("paths", "cannot be combined with rev"); - if (!a6 && !s9) throw oe("rev", "either rev or paths must be provided"); - t5.progress.start(no3); +var jo3 = async (t5, a4) => { + await Gd2(t5), Kd2(t5, "checkout"), await Zd2(t5); + const e7 = ((t6) => "rev" in t6 && void 0 !== t6.rev)(a4), s8 = ((t6) => "paths" in t6 && void 0 !== t6.paths)(a4); + if (e7 && s8) throw de("paths", "cannot be combined with rev"); + if (!e7 && !s8) throw de("rev", "either rev or paths must be provided"); + t5.progress.start(So3); try { - return s9 ? await (async (t6, e7) => { - if (0 === e7.paths.length) throw oe("paths", "must not be empty"); - const a7 = e7.source ?? "index", { matcher: s10, literalMustMatch: i7 } = Bn(e7.paths), n6 = (await (async (t7, e8) => { - if ("index" === e8) return (await Cd2(t7)).entries.map((t8) => t8.path); - const a8 = await ro3(t7, e8), s11 = []; - for await (const e9 of yd2(t7, a8)) e9.mode !== Wt.DIRECTORY && s11.push(e9.path); - return s11; - })(t6, a7)).filter((t7) => vi(s10, t7)); - Vn2(i7, n6); - const r6 = new Set(n6); - if (0 === r6.size) return { branch: void 0, id: await eu2(t6, "HEAD"), detached: false, changedPaths: 0 }; - const o6 = "index" === a7 ? await (async (t7, e8) => { - const a8 = await Cd2(t7), s11 = await Vl2(t7, a8.entries); - return xd2(t7, { targetTree: s11, currentIndex: a8, force: true, forceRewriteAll: true, paths: e8 }); - })(t6, r6) : await (async (t7, e8, a8) => { - const s11 = await Ld2(t7); + return s8 ? await (async (t6, a5) => { + if (0 === a5.paths.length) throw de("paths", "must not be empty"); + const e8 = a5.source ?? "index", { matcher: s9, literalMustMatch: i11 } = mr3(a5.paths), n7 = (await (async (t7, a6) => { + if ("index" === a6) return (await hf2(t7)).entries.map((t8) => t8.path); + const e9 = await Ro3(t7, a6), s10 = []; + for await (const a7 of af2(t7, e9)) a7.mode !== Qt.DIRECTORY && s10.push(a7.path); + return s10; + })(t6, e8)).filter((t7) => Vi(s9, t7)); + yr3(i11, n7); + const r8 = new Set(n7); + if (0 === r8.size) return { branch: void 0, id: await Wf2(t6, "HEAD"), detached: false, changedPaths: 0 }; + const o5 = "index" === e8 ? await (async (t7, a6) => { + const e9 = await hf2(t7), s10 = await Ey2(t7, e9.entries); + return df2(t7, { targetTree: s10, currentIndex: e9, force: true, forceRewriteAll: true, paths: a6 }); + })(t6, r8) : await (async (t7, a6, e9) => { + const s10 = await kf2(t7); try { - const i8 = await Cd2(t7), n7 = await xd2(t7, { targetTree: e8, currentIndex: i8, force: true, forceRewriteAll: true, paths: a8 }); - return await s11.commit(n7.newIndexEntries), n7; + const i12 = await hf2(t7), n8 = await df2(t7, { targetTree: a6, currentIndex: i12, force: true, forceRewriteAll: true, paths: e9 }); + return await s10.commit(n8.newIndexEntries), n8; } finally { - await s11.release(); - } - })(t6, await ro3(t6, a7), r6), c6 = await eu2(t6, "HEAD"); - return await Wl2(t6, "post-checkout", { args: [c6, c6, "0"] }), { branch: void 0, id: c6, detached: false, changedPaths: o6.written + o6.deleted }; - })(t5, e6) : await (async (t6, e7) => { - const a7 = true === e7.detach || Dr(e7.rev, t6.hashConfig), s10 = await mc2(t6), i7 = await eu2(t6, "HEAD"); - let n6, r6; - if (a7) r6 = await (async (t7, e8) => Dr(e8, t7.hashConfig) ? e8 : eu2(t7, e8))(t6, e7.rev); + await s10.release(); + } + })(t6, await Ro3(t6, e8), r8), c5 = await Wf2(t6, "HEAD"); + return await Cy2(t6, "post-checkout", { args: [c5, c5, "0"] }), { branch: void 0, id: c5, detached: false, changedPaths: o5.written + o5.deleted }; + })(t5, a4) : await (async (t6, a5) => { + const e8 = true === a5.detach || Qr(a5.rev, t6.hashConfig), s9 = await qd2(t6), i11 = await Wf2(t6, "HEAD"); + let n7, r8; + if (e8) r8 = await (async (t7, a6) => Qr(a6, t7.hashConfig) ? a6 : Wf2(t7, a6))(t6, a5.rev); else { - if (n6 = eu(`${Ep}${e7.rev}`), !await Wr2(t6, n6)) throw D(n6); - r6 = await eu2(t6, n6); + if (n7 = Nu(`${Lw}${a5.rev}`), !await gd2(t6, n7)) throw B(n7); + r8 = await Wf2(t6, n7); } - const o6 = await nu2(t6, r6), c6 = await Ed2(t6), d5 = await Ld2(t6); + const o5 = await Gf2(t6, r8), c5 = await gf2(t6), d6 = await kf2(t6); let f2; try { - const a8 = await Cd2(t6); - f2 = await xd2(t6, { targetTree: o6.id, currentIndex: a8, force: e7.force ?? false, ...void 0 !== c6 ? { sparse: c6 } : {} }), await d5.commit(f2.newIndexEntries); + const e9 = await hf2(t6); + f2 = await df2(t6, { targetTree: o5.id, currentIndex: e9, force: a5.force ?? false, ...void 0 !== c5 ? { sparse: c5 } : {} }), await d6.commit(f2.newIndexEntries); } finally { - await d5.release(); + await d6.release(); } - const u6 = "symbolic" !== (w4 = s10).kind ? w4.id.slice(0, 7) : w4.target.startsWith(Ep) ? w4.target.slice(Ep.length) : w4.target.slice(w4.target.lastIndexOf("/") + 1); - var w4; - return a7 ? await zr2(t6).applyRefUpdates([{ kind: "set", name: "HEAD", id: r6, reflog: { oldId: i7, newId: r6, message: `checkout: moving from ${u6} to ${r6.slice(0, 7)}` } }]) : await zr2(t6).applyRefUpdates([{ kind: "setSymbolic", name: "HEAD", target: n6, reflog: { oldId: i7, newId: r6, message: `checkout: moving from ${u6} to ${e7.rev}` } }]), await Wl2(t6, "post-checkout", { args: [i7, r6, "1"] }), { branch: a7 ? void 0 : n6, id: r6, detached: a7, changedPaths: f2.written + f2.deleted }; - })(t5, e6); + const u6 = "symbolic" !== (w6 = s9).kind ? w6.id.slice(0, 7) : w6.target.startsWith(Lw) ? w6.target.slice(Lw.length) : w6.target.slice(w6.target.lastIndexOf("/") + 1); + var w6; + return e8 ? await md2(t6).applyRefUpdates([{ kind: "set", name: "HEAD", id: r8, reflog: { oldId: i11, newId: r8, message: `checkout: moving from ${u6} to ${r8.slice(0, 7)}` } }]) : await md2(t6).applyRefUpdates([{ kind: "setSymbolic", name: "HEAD", target: n7, reflog: { oldId: i11, newId: r8, message: `checkout: moving from ${u6} to ${a5.rev}` } }]), await Cy2(t6, "post-checkout", { args: [i11, r8, "1"] }), { branch: e8 ? void 0 : n7, id: r8, detached: e8, changedPaths: f2.written + f2.deleted }; + })(t5, a4); } finally { - t5.progress.end(no3); + t5.progress.end(So3); } }; -var co3 = async (e6, a6) => { - if (!await e6.fs.exists(a6)) return; - const s9 = (await e6.fs.readUtf8(a6)).trim(); - return 0 !== s9.length ? sr.from(s9) : void 0; +var No3 = async (a4, e7) => { + if (!await a4.fs.exists(e7)) return; + const s8 = (await a4.fs.readUtf8(e7)).trim(); + return 0 !== s8.length ? lr.from(s8) : void 0; }; -var fo3 = (t5) => `${t5.layout.gitDir}/sequencer`; -var uo3 = (t5) => `${fo3(t5)}/head`; -var wo3 = (t5) => `${fo3(t5)}/todo`; -var ho3 = (t5) => `${fo3(t5)}/opts`; -var lo3 = (t5, e6) => t5.fs.writeUtf8(uo3(t5), `${e6} +var Uo3 = (t5) => `${t5.layout.gitDir}/sequencer`; +var Mo3 = (t5) => `${Uo3(t5)}/head`; +var Po3 = (t5) => `${Uo3(t5)}/todo`; +var _o3 = (t5) => `${Uo3(t5)}/opts`; +var Bo3 = (t5, a4) => t5.fs.writeUtf8(Mo3(t5), `${a4} `); -var mo3 = (t5) => co3(t5, uo3(t5)); -var po3 = (t5, e6) => t5.fs.writeUtf8(((t6) => `${fo3(t6)}/abort-safety`)(t5), `${e6} +var Lo3 = (t5) => No3(t5, Mo3(t5)); +var Fo3 = (t5, a4) => t5.fs.writeUtf8(((t6) => `${Uo3(t6)}/abort-safety`)(t5), `${a4} `); -var go3 = (t5, e6) => t5.fs.writeUtf8(wo3(t5), Xp(e6)); -var yo3 = async (t5) => { - const e6 = wo3(t5); - if (!await t5.fs.exists(e6)) return; - const a6 = qp(await t5.fs.readUtf8(e6)), s9 = []; - for (const e7 of a6) { - const a7 = await $u2(t5, e7.oid); - if (void 0 === a7) throw je(`cannot resolve commit ${e7.oid}`); - s9.push({ command: e7.command, oid: a7, subject: e7.subject }); - } - return s9; -}; -var vo3 = async (t5, e6) => { - (e6.noCommit || e6.recordOrigin || e6.allowEmpty) && await t5.fs.writeUtf8(ho3(t5), ((t6) => { - let e7 = "[options]\n"; - return t6.noCommit && (e7 += " no-commit = true\n"), t6.recordOrigin && (e7 += " record-origin = true\n"), t6.allowEmpty && (e7 += " allow-empty = true\n"), e7; - })(e6)); -}; -var bo3 = (t5, e6) => t5.some((t6) => "options" === t6.section.toLowerCase() && t6.entries.some((t7) => t7.key.toLowerCase() === e6 && null !== t7.value && "true" === t7.value.toLowerCase())); -var ko3 = async (t5) => { - const e6 = fo3(t5); - await t5.fs.exists(e6) && await t5.fs.rmRecursive(e6); -}; -var xo3 = async (t5, e6) => { - await jn2(t5, e6.target), await nc2(t5, e6.branch, e6.target, { reflogMessage: qh(e6.target) }), await e6.clearHead(t5), await Un(t5), await ko3(t5); -}; -var $o3 = (t5) => `${t5.layout.gitDir}/CHERRY_PICK_HEAD`; -var Io3 = (t5) => co3(t5, $o3(t5)); -var Eo3 = async (t5) => { - const e6 = $o3(t5); - await t5.fs.exists(e6) && await t5.fs.rm(e6); -}; -var Co3 = (t5, e6) => `${t5.replace(/\s+$/, "")} +var qo3 = (t5, a4) => t5.fs.writeUtf8(Po3(t5), ly(a4)); +var zo3 = async (t5) => { + const a4 = Po3(t5); + if (!await t5.fs.exists(a4)) return; + const e7 = fy(await t5.fs.readUtf8(a4)), s8 = []; + for (const a5 of e7) { + const e8 = await Cl2(t5, a5.oid); + if (void 0 === e8) throw Je(`cannot resolve commit ${a5.oid}`); + s8.push({ command: a5.command, oid: e8, subject: a5.subject }); + } + return s8; +}; +var Wo3 = async (t5, a4) => { + (a4.noCommit || a4.recordOrigin || a4.allowEmpty) && await t5.fs.writeUtf8(_o3(t5), ((t6) => { + let a5 = "[options]\n"; + return t6.noCommit && (a5 += " no-commit = true\n"), t6.recordOrigin && (a5 += " record-origin = true\n"), t6.allowEmpty && (a5 += " allow-empty = true\n"), a5; + })(a4)); +}; +var Vo3 = (t5, a4) => t5.some((t6) => "options" === t6.section.toLowerCase() && t6.entries.some((t7) => t7.key.toLowerCase() === a4 && null !== t7.value && "true" === t7.value.toLowerCase())); +var Go3 = async (t5) => { + const a4 = Uo3(t5); + await t5.fs.exists(a4) && await t5.fs.rmRecursive(a4); +}; +var Ko3 = async (t5, a4) => { + await or3(t5, a4.target), await Md2(t5, a4.branch, a4.target, { reflogMessage: im(a4.target) }), await a4.clearHead(t5), await rr3(t5), await Go3(t5); +}; +var Yo3 = (t5) => `${t5.layout.gitDir}/CHERRY_PICK_HEAD`; +var Xo3 = (t5) => No3(t5, Yo3(t5)); +var Jo3 = async (t5) => { + const a4 = Yo3(t5); + await t5.fs.exists(a4) && await t5.fs.rm(a4); +}; +var Qo3 = (t5, a4) => `${t5.replace(/\s+$/, "")} # Conflicts: -${e6.map((t6) => `# ${t6} +${a4.map((t6) => `# ${t6} `).join("")}`; -var To3 = async (t5, e6, a6) => { - const s9 = await dh2(t5, a6), i7 = new Set(e6.map((t6) => t6.path)), n6 = []; - for (const t6 of e6) { - const e7 = s9.entries.get(t6.path); - void 0 !== e7 && e7.id === t6.id && e7.mode === t6.mode || n6.push(t6.path); - } - for (const t6 of s9.entries.keys()) i7.has(t6) || n6.push(t6); - return n6; -}; -var Do3 = async (t5, e6) => { - const a6 = await Ec2(t5), s9 = []; - for (const i7 of e6) i7.flags.skipWorktree || "unchanged" !== await oh2(t5, i7, a6) && s9.push(i7.path); - return s9; -}; -var Ho3 = async (t5, e6) => { - const { stage0: a6, unmerged: s9 } = ((t6) => { - const e7 = [], a7 = []; - for (const s10 of t6) 0 === s10.flags.stage ? e7.push(s10) : a7.push(s10.path); - return { stage0: e7, unmerged: a7 }; - })((await Cd2(t5)).entries), i7 = /* @__PURE__ */ new Set([...s9, ...await To3(t5, a6, e6), ...await Do3(t5, a6)]); - if (i7.size > 0) throw $({ localChanges: [...i7].sort(Eo), untracked: [] }); -}; -var Ao3 = (t5) => { +var Zo3 = async (t5, a4, e7) => { + const s8 = await Wy2(t5, e7), i11 = new Set(a4.map((t6) => t6.path)), n7 = []; + for (const t6 of a4) { + const a5 = s8.entries.get(t6.path); + void 0 !== a5 && a5.id === t6.id && a5.mode === t6.mode || n7.push(t6.path); + } + for (const t6 of s8.entries.keys()) i11.has(t6) || n7.push(t6); + return n7; +}; +var tc3 = async (t5, a4) => { + const e7 = await su2(t5), s8 = []; + for (const i11 of a4) i11.flags.skipWorktree || "unchanged" !== await Fy2(t5, i11, e7) && s8.push(i11.path); + return s8; +}; +var ac3 = async (t5, a4) => { + const { stage0: e7, unmerged: s8 } = ((t6) => { + const a5 = [], e8 = []; + for (const s9 of t6) 0 === s9.flags.stage ? a5.push(s9) : e8.push(s9.path); + return { stage0: a5, unmerged: e8 }; + })((await hf2(t5)).entries), i11 = /* @__PURE__ */ new Set([...s8, ...await Zo3(t5, e7, a4), ...await tc3(t5, e7)]); + if (i11.size > 0) throw L({ localChanges: [...i11].sort(Mo), untracked: [] }); +}; +var ec3 = (t5) => { if (void 0 !== t5.explicit) return t5.explicit; if (void 0 !== t5.configUser) return t5.configUser; - throw R(); + throw M(); }; -var Ro3 = (t5) => { +var sc3 = (t5) => { if (void 0 !== t5.explicit) return t5.explicit; if (void 0 !== t5.author) return t5.author; if (void 0 !== t5.configUser) return t5.configUser; - throw R(); -}; -var Oo3 = (t5, e6) => { - const a6 = Er(t5); - if ("" === a6 && !e6.allowEmpty) throw L(); - return a6; -}; -var So3 = (t5) => t5.split("\n").filter((t6) => !t6.startsWith("#")).join("\n"); -var Uo3 = async (t5) => { - const e6 = (await Hi2(t5)).user; - await Al2(t5, "user", void 0, ["name", "email"]); - const a6 = void 0 !== e6?.name && void 0 !== e6?.email ? { name: e6.name, email: e6.email, timestamp: Math.floor(Date.now() / 1e3), timezoneOffset: "+0000" } : void 0; - return Ro3({ configUser: a6 }); -}; -var jo3 = (t5) => t5.parents.length >= 2; -var No3 = (t5) => t5.map((t6) => ({ path: t6.path, type: t6.type })); -var Mo3 = /^(.+)\.\.(.+)$/; -var Po3 = async (t5, e6, a6) => { - const s9 = /* @__PURE__ */ new Set(); - for await (const a7 of nl2(t5, { from: [e6] })) s9.add(a7.id); - const i7 = []; - for await (const e7 of nl2(t5, { from: [a6], until: [...s9] })) i7.push(e7.id); - return i7.reverse(); -}; -var _o3 = async (t5, e6, a6, s9, i7) => { - await lo3(t5, e6.sequenceHead), await go3(t5, await (async (t6, e7) => { - const a7 = []; - for (const s10 of e7) { - const e8 = await Ff2(t6, s10); - a7.push({ command: "pick", oid: s10, subject: wr(e8.message) }); - } - return a7; - })(t5, a6)), await po3(t5, s9), await vo3(t5, { recordOrigin: i7.recordOrigin, allowEmpty: i7.allowEmpty, noCommit: false }); -}; -var Lo3 = async (t5, e6, a6, s9, i7, n6) => { - let r6 = s9; - const o6 = []; - for (let s10 = 0; s10 < e6.length; s10 += 1) { - const c6 = e6[s10], d5 = await Ff2(t5, c6); - if (jo3(d5)) throw n6.multiPick && await _o3(t5, n6, e6.slice(s10), r6, i7), ze(c6); - const f2 = await qo2(t5, c6, d5, a6, r6, i7); + throw M(); +}; +var ic3 = (t5, a4) => { + const e7 = $r(t5); + if ("" === e7 && !a4.allowEmpty) throw C(); + return e7; +}; +var nc3 = (t5) => t5.split("\n").filter((t6) => !t6.startsWith("#")).join("\n"); +var rc3 = async (t5) => { + const a4 = (await sr2(t5)).user; + await ky2(t5, "user", void 0, ["name", "email"]); + const e7 = void 0 !== a4?.name && void 0 !== a4?.email ? { name: a4.name, email: a4.email, timestamp: Math.floor(Date.now() / 1e3), timezoneOffset: "+0000" } : void 0; + return sc3({ configUser: e7 }); +}; +var oc3 = (t5) => t5.parents.length >= 2; +var cc3 = (t5) => t5.map((t6) => ({ path: t6.path, type: t6.type })); +var dc3 = /^(.+)\.\.(.+)$/; +var fc3 = async (t5, a4, e7) => { + const s8 = /* @__PURE__ */ new Set(); + for await (const e8 of iw2(t5, { from: [a4] })) s8.add(e8.id); + const i11 = []; + for await (const a5 of iw2(t5, { from: [e7], until: [...s8] })) i11.push(a5.id); + return i11.reverse(); +}; +var uc3 = async (t5, a4, e7, s8, i11) => { + await Bo3(t5, a4.sequenceHead), await qo3(t5, await (async (t6, a5) => { + const e8 = []; + for (const s9 of a5) { + const a6 = await Mh2(t6, s9); + e8.push({ command: "pick", oid: s9, subject: Tr(a6.message) }); + } + return e8; + })(t5, e7)), await Fo3(t5, s8), await Wo3(t5, { recordOrigin: i11.recordOrigin, allowEmpty: i11.allowEmpty, noCommit: false }); +}; +var wc3 = async (t5, a4, e7, s8, i11, n7) => { + let r8 = s8; + const o5 = []; + for (let s9 = 0; s9 < a4.length; s9 += 1) { + const c5 = a4[s9], d6 = await Mh2(t5, c5); + if (oc3(d6)) throw n7.multiPick && await uc3(t5, n7, a4.slice(s9), r8, i11), Qe(c5); + const f2 = await lc3(t5, c5, d6, e7, r8, i11); if ("committed" === f2.kind) { - o6.push({ source: c6, created: f2.id }), r6 = f2.id; + o5.push({ source: c5, created: f2.id }), r8 = f2.id; continue; } - await Bo3(t5, c6, d5, "conflict" === f2.kind ? f2.conflicts : void 0, i7), n6.multiPick && await _o3(t5, n6, e6.slice(s10), r6, i7); - const u6 = e6.length - (s10 + 1); - return "conflict" === f2.kind ? { kind: "conflict", commit: c6, conflicts: No3(f2.conflicts), remaining: u6 } : { kind: "empty", commit: c6, remaining: u6 }; + await mc3(t5, c5, d6, "conflict" === f2.kind ? f2.conflicts : void 0, i11), n7.multiPick && await uc3(t5, n7, a4.slice(s9), r8, i11); + const u6 = a4.length - (s9 + 1); + return "conflict" === f2.kind ? { kind: "conflict", commit: c5, conflicts: cc3(f2.conflicts), remaining: u6 } : { kind: "empty", commit: c5, remaining: u6 }; } - return await ko3(t5), { kind: "picked", commits: o6 }; + return await Go3(t5), { kind: "picked", commits: o5 }; }; -var Fo3 = (t5, e6, a6) => a6 ? ((t6, e7) => `${t6.replace(/\s+$/, "")} +var hc3 = (t5, a4, e7) => e7 ? ((t6, a5) => `${t6.replace(/\s+$/, "")} -(cherry picked from commit ${e7})`)(t5, e6) : t5; -var qo2 = async (t5, e6, a6, s9, i7, n6) => { - const r6 = a6.parents[0], o6 = void 0 !== r6 ? await Tr3(t5, r6) : void 0, c6 = await Tr3(t5, i7), d5 = await Ld2(t5); +(cherry picked from commit ${a5})`)(t5, a4) : t5; +var lc3 = async (t5, a4, e7, s8, i11, n7) => { + const r8 = e7.parents[0], o5 = void 0 !== r8 ? await Zr3(t5, r8) : void 0, c5 = await Zr3(t5, i11), d6 = await kf2(t5); try { - const r7 = await Cd2(t5), f2 = await yh2(t5, { baseTree: o6, oursTree: c6, theirsTree: a6.tree, currentIndex: r7, labels: Bi(e6, wr(a6.message)) }); - if ("would-overwrite" === f2.kind) throw $({ localChanges: f2.localChanges, untracked: f2.untracked }); - if ("conflict" === f2.kind) return await d5.commit(f2.indexEntries), { kind: "conflict", conflicts: f2.conflicts }; - if (f2.mergedTree === c6 && !n6.allowEmpty) return { kind: "empty" }; - await d5.commit(f2.result.newIndexEntries); - const u6 = await (async (t6, e7, a7, s10, i8, n7) => { - const r8 = await Uo3(t6); - return vh2(t6, { tree: i8, parents: [s10], author: a7.author, committer: r8, message: Oo3(Fo3(a7.message, e7, n7.recordOrigin), { allowEmpty: false }), extraHeaders: [] }); - })(t5, e6, a6, i7, f2.mergedTree, n6); - return await nc2(t5, s9, u6, { expected: i7, reflogMessage: eg(wr(a6.message)) }), { kind: "committed", id: u6 }; + const r9 = await hf2(t5), f2 = await tp2(t5, { baseTree: o5, oursTree: c5, theirsTree: e7.tree, currentIndex: r9, labels: oa(a4, Tr(e7.message)) }); + if ("would-overwrite" === f2.kind) throw L({ localChanges: f2.localChanges, untracked: f2.untracked }); + if ("conflict" === f2.kind) return await d6.commit(f2.indexEntries), { kind: "conflict", conflicts: f2.conflicts }; + if (f2.mergedTree === c5 && !n7.allowEmpty) return { kind: "empty" }; + await d6.commit(f2.result.newIndexEntries); + const u6 = await (async (t6, a5, e8, s9, i12, n8) => { + const r10 = await rc3(t6); + return np2(t6, { tree: i12, parents: [s9], author: e8.author, committer: r10, message: ic3(hc3(e8.message, a5, n8.recordOrigin), { allowEmpty: false }), extraHeaders: [] }); + })(t5, a4, e7, i11, f2.mergedTree, n7); + return await Md2(t5, s8, u6, { expected: i11, reflogMessage: um(Tr(e7.message)) }), { kind: "committed", id: u6 }; } finally { - await d5.release(); + await d6.release(); } }; -var Bo3 = async (t5, e6, a6, s9, i7) => { - await (async (t6, e7) => { - await t6.fs.writeUtf8($o3(t6), `${e7} +var mc3 = async (t5, a4, e7, s8, i11) => { + await (async (t6, a5) => { + await t6.fs.writeUtf8(Yo3(t6), `${a5} `); - })(t5, e6); - const n6 = Fo3(a6.message, e6, i7.recordOrigin), r6 = void 0 !== s9 && s9.length > 0 ? Co3(n6, Ao(s9)) : n6; - await Hn(t5, r6); -}; -var Wo3 = async (t5, e6) => { - await hc2(t5), wc2(t5, gg), await vc2(t5); - const a6 = await mc2(t5); - if ("symbolic" !== a6.kind) throw h(gg, "cannot cherry-pick with detached HEAD"); - const s9 = await (async (t6, e7) => { + })(t5, a4); + const n7 = hc3(e7.message, a4, i11.recordOrigin), r8 = void 0 !== s8 && s8.length > 0 ? Qo3(n7, zo(s8)) : n7; + await ar3(t5, r8); +}; +var pc3 = async (t5, a4) => { + await Gd2(t5), Kd2(t5, Om), await Zd2(t5); + const e7 = await qd2(t5); + if ("symbolic" !== e7.kind) throw w(Om, "cannot cherry-pick with detached HEAD"); + const s8 = await (async (t6, a5) => { try { - return await eu2(t6, e7); + return await Wf2(t6, a5); } catch (t7) { - if (t7 instanceof o && "REF_NOT_FOUND" === t7.data.code) throw He(); + if (t7 instanceof c && "REF_NOT_FOUND" === t7.data.code) throw Ke(); throw t7; } - })(t5, a6.target), i7 = await (async (t6, e7) => { - const a7 = []; - for (const s10 of e7) { - if (s10.includes("...") || s10.includes("^")) throw oe("commits", `unsupported revision form '${s10}' (use a commit-ish or A..B)`); - const e8 = Mo3.exec(s10); - if (null === e8) { - a7.push(await Cr3(t6, s10)); + })(t5, e7.target), i11 = await (async (t6, a5) => { + const e8 = []; + for (const s9 of a5) { + if (s9.includes("...") || s9.includes("^")) throw de("commits", `unsupported revision form '${s9}' (use a commit-ish or A..B)`); + const a6 = dc3.exec(s9); + if (null === a6) { + e8.push(await Qr3(t6, s9)); continue; } - const i8 = await wr3(t6, e8[1]), n6 = await wr3(t6, e8[2]); - a7.push(...await Po3(t6, i8, n6)); + const i12 = await Pr3(t6, a6[1]), n7 = await Pr3(t6, a6[2]); + e8.push(...await fc3(t6, i12, n7)); } - return a7; - })(t5, e6.commits); - return await Ho3(t5, await Tr3(t5, s9)), true === e6.noCommit ? (async (t6, e7) => { - const a7 = await Ld2(t6); + return e8; + })(t5, a4.commits); + return await ac3(t5, await Zr3(t5, s8)), true === a4.noCommit ? (async (t6, a5) => { + const e8 = await kf2(t6); try { - let s10 = await Cd2(t6); - for (let i8 = 0; i8 < e7.length; i8 += 1) { - const n6 = e7[i8], r6 = await Ff2(t6, n6); - if (jo3(r6)) throw ze(n6); - const o6 = r6.parents[0], c6 = void 0 !== o6 ? await Tr3(t6, o6) : void 0, d5 = await Vl2(t6, s10.entries), f2 = await yh2(t6, { baseTree: c6, oursTree: d5, theirsTree: r6.tree, currentIndex: s10, labels: Bi(n6, wr(r6.message)) }); - if ("would-overwrite" === f2.kind) throw $({ localChanges: f2.localChanges, untracked: f2.untracked }); - if ("conflict" === f2.kind) return await a7.commit(f2.indexEntries), { kind: "conflict", commit: n6, conflicts: No3(f2.conflicts), remaining: e7.length - (i8 + 1) }; - s10 = { ...s10, entries: f2.result.newIndexEntries }; - } - return await a7.commit(s10.entries), { kind: "no-commit", sources: e7 }; + let s9 = await hf2(t6); + for (let i12 = 0; i12 < a5.length; i12 += 1) { + const n7 = a5[i12], r8 = await Mh2(t6, n7); + if (oc3(r8)) throw Qe(n7); + const o5 = r8.parents[0], c5 = void 0 !== o5 ? await Zr3(t6, o5) : void 0, d6 = await Ey2(t6, s9.entries), f2 = await tp2(t6, { baseTree: c5, oursTree: d6, theirsTree: r8.tree, currentIndex: s9, labels: oa(n7, Tr(r8.message)) }); + if ("would-overwrite" === f2.kind) throw L({ localChanges: f2.localChanges, untracked: f2.untracked }); + if ("conflict" === f2.kind) return await e8.commit(f2.indexEntries), { kind: "conflict", commit: n7, conflicts: cc3(f2.conflicts), remaining: a5.length - (i12 + 1) }; + s9 = { ...s9, entries: f2.result.newIndexEntries }; + } + return await e8.commit(s9.entries), { kind: "no-commit", sources: a5 }; } finally { - await a7.release(); + await e8.release(); } - })(t5, i7) : Lo3(t5, i7, a6.target, s9, { recordOrigin: e6.recordOrigin ?? false, allowEmpty: e6.allowEmpty ?? false }, { multiPick: i7.length > 1, sequenceHead: s9 }); + })(t5, i11) : wc3(t5, i11, e7.target, s8, { recordOrigin: a4.recordOrigin ?? false, allowEmpty: a4.allowEmpty ?? false }, { multiPick: i11.length > 1, sequenceHead: s8 }); }; -var zo3 = async (t5, e6) => { - if (void 0 !== await mo3(t5)) { - const e7 = await (async (t6) => { - const e8 = ho3(t6); - if (!await t6.fs.exists(e8)) return { recordOrigin: false, allowEmpty: false, noCommit: false }; - const a6 = Cg(await t6.fs.readUtf8(e8), e8); - return { noCommit: bo3(a6, "no-commit"), recordOrigin: bo3(a6, "record-origin"), allowEmpty: bo3(a6, "allow-empty") }; +var gc3 = async (t5, a4) => { + if (void 0 !== await Lo3(t5)) { + const a5 = await (async (t6) => { + const a6 = _o3(t6); + if (!await t6.fs.exists(a6)) return { recordOrigin: false, allowEmpty: false, noCommit: false }; + const e7 = jm(await t6.fs.readUtf8(a6), a6); + return { noCommit: Vo3(e7, "no-commit"), recordOrigin: Vo3(e7, "record-origin"), allowEmpty: Vo3(e7, "allow-empty") }; })(t5); - return { recordOrigin: e7.recordOrigin, allowEmpty: e7.allowEmpty }; - } - return { recordOrigin: false, allowEmpty: e6.allowEmpty ?? false }; -}; -var Vo3 = async (t5, e6 = {}) => { - await hc2(t5), wc2(t5, wg); - const a6 = await Io3(t5), s9 = await yo3(t5); - if (void 0 === a6 && (void 0 === s9 || 0 === s9.length)) throw Z(gg); - const i7 = await mc2(t5); - if ("symbolic" !== i7.kind) throw h(wg, "cannot continue with detached HEAD"); - const o6 = await zo3(t5, e6); - let c6 = await eu2(t5, i7.target); - const d5 = []; - if (void 0 !== a6) { - const e7 = void 0 !== s9 ? s9.length - 1 : 0, n6 = await (async (t6, e8, a7, s10, i8) => { - const n7 = await Cd2(t6); + return { recordOrigin: a5.recordOrigin, allowEmpty: a5.allowEmpty }; + } + return { recordOrigin: false, allowEmpty: a4.allowEmpty ?? false }; +}; +var yc3 = async (t5, a4 = {}) => { + await Gd2(t5), Kd2(t5, $m); + const e7 = await Xo3(t5), s8 = await zo3(t5); + if (void 0 === e7 && (void 0 === s8 || 0 === s8.length)) throw oe(Om); + const i11 = await qd2(t5); + if ("symbolic" !== i11.kind) throw w($m, "cannot continue with detached HEAD"); + const o5 = await gc3(t5, a4); + let c5 = await Wf2(t5, i11.target); + const d6 = []; + if (void 0 !== e7) { + const a5 = void 0 !== s8 ? s8.length - 1 : 0, n7 = await (async (t6, a6, e8, s9, i12) => { + const n8 = await hf2(t6); ((t7) => { - const e9 = /* @__PURE__ */ new Set(); - for (const a8 of t7) 0 !== a8.flags.stage && e9.add(a8.path); - if (e9.size > 0) throw z(e9.size, [...e9]); - })(n7.entries); - const r6 = await Vl2(t6, n7.entries); - if (r6 === await Tr3(t6, s10) && !i8.allowEmpty) return { empty: true }; - const o7 = await (async (t7, e9, a8, s11, i9) => { - const n8 = await Ff2(t7, e9), r7 = await Uo3(t7), o8 = Oo3(So3(await On2(t7) ?? ""), { allowEmpty: false }), c7 = await vh2(t7, { tree: i9, parents: [a8], author: n8.author, committer: r7, message: o8, extraHeaders: [] }); - return await nc2(t7, s11, c7, { expected: a8, reflogMessage: zh(wr(o8)) }), c7; - })(t6, e8, s10, a7, r6); - return await Eo3(t6), await Un(t6), { created: o7 }; - })(t5, a6, i7.target, c6, o6); - if ("empty" in n6) return { kind: "empty", commit: a6, remaining: e7 }; - d5.push({ source: a6, created: n6.created }), c6 = n6.created; - } - const f2 = (s9 ?? []).slice(void 0 !== a6 ? 1 : 0).map((t6) => t6.oid); - if (0 === f2.length) return await ko3(t5), { kind: "picked", commits: d5 }; - const u6 = await mo3(t5) ?? c6, w4 = await Lo3(t5, f2, i7.target, c6, o6, { multiPick: true, sequenceHead: u6 }); - return "picked" === w4.kind ? { kind: "picked", commits: [...d5, ...w4.commits] } : w4; -}; -var Ko3 = async (t5, e6 = {}) => { - await hc2(t5), wc2(t5, yg); - const a6 = await Io3(t5), s9 = await yo3(t5); - if (void 0 === a6 && (void 0 === s9 || 0 === s9.length)) throw Z(gg); - const i7 = await Dr3(t5, yg), r6 = await eu2(t5, i7), o6 = await zo3(t5, e6); - await jn2(t5, r6), await Eo3(t5), await Un(t5); - const c6 = (s9 ?? []).slice(1).map((t6) => t6.oid); - if (0 === c6.length) return await ko3(t5), { kind: "picked", commits: [] }; - const d5 = await mo3(t5) ?? r6; - return Lo3(t5, c6, i7, r6, o6, { multiPick: true, sequenceHead: d5 }); -}; -var Go3 = async (t5) => { - await hc2(t5), wc2(t5, Eg); - const e6 = await Io3(t5), a6 = await mo3(t5); - if (void 0 === e6 && void 0 === a6) throw Z(gg); - const s9 = await Dr3(t5, Eg), i7 = a6 ?? await eu2(t5, s9); - return await xo3(t5, { branch: s9, target: i7, clearHead: Eo3 }), { head: i7, branch: s9 }; -}; -var Jo2 = (t5, e6) => `[core] - repositoryformatversion = ${"sha256" === e6 ? 1 : 0} + const a7 = /* @__PURE__ */ new Set(); + for (const e9 of t7) 0 !== e9.flags.stage && a7.add(e9.path); + if (a7.size > 0) throw J(a7.size, [...a7]); + })(n8.entries); + const r8 = await Ey2(t6, n8.entries); + if (r8 === await Zr3(t6, s9) && !i12.allowEmpty) return { empty: true }; + const o6 = await (async (t7, a7, e9, s10, i13) => { + const n9 = await Mh2(t7, a7), r9 = await rc3(t7), o7 = ic3(nc3(await ir3(t7) ?? ""), { allowEmpty: false }), c6 = await np2(t7, { tree: i13, parents: [e9], author: n9.author, committer: r9, message: o7, extraHeaders: [] }); + return await Md2(t7, s10, c6, { expected: e9, reflogMessage: nm(Tr(o7)) }), c6; + })(t6, a6, s9, e8, r8); + return await Jo3(t6), await rr3(t6), { created: o6 }; + })(t5, e7, i11.target, c5, o5); + if ("empty" in n7) return { kind: "empty", commit: e7, remaining: a5 }; + d6.push({ source: e7, created: n7.created }), c5 = n7.created; + } + const f2 = (s8 ?? []).slice(void 0 !== e7 ? 1 : 0).map((t6) => t6.oid); + if (0 === f2.length) return await Go3(t5), { kind: "picked", commits: d6 }; + const u6 = await Lo3(t5) ?? c5, w6 = await wc3(t5, f2, i11.target, c5, o5, { multiPick: true, sequenceHead: u6 }); + return "picked" === w6.kind ? { kind: "picked", commits: [...d6, ...w6.commits] } : w6; +}; +var vc3 = async (t5, a4 = {}) => { + await Gd2(t5), Kd2(t5, xm); + const e7 = await Xo3(t5), s8 = await zo3(t5); + if (void 0 === e7 && (void 0 === s8 || 0 === s8.length)) throw oe(Om); + const i11 = await to3(t5, xm), r8 = await Wf2(t5, i11), o5 = await gc3(t5, a4); + await or3(t5, r8), await Jo3(t5), await rr3(t5); + const c5 = (s8 ?? []).slice(1).map((t6) => t6.oid); + if (0 === c5.length) return await Go3(t5), { kind: "picked", commits: [] }; + const d6 = await Lo3(t5) ?? r8; + return wc3(t5, c5, i11, r8, o5, { multiPick: true, sequenceHead: d6 }); +}; +var bc3 = async (t5) => { + await Gd2(t5), Kd2(t5, Sm); + const a4 = await Xo3(t5), e7 = await Lo3(t5); + if (void 0 === a4 && void 0 === e7) throw oe(Om); + const s8 = await to3(t5, Sm), i11 = e7 ?? await Wf2(t5, s8); + return await Ko3(t5, { branch: s8, target: i11, clearHead: Jo3 }), { head: i11, branch: s8 }; +}; +var kc3 = (t5, a4) => `[core] + repositoryformatversion = ${"sha256" === a4 ? 1 : 0} filemode = true bare = ${t5 ? "true" : "false"} `; -var Yo3 = async (t5, e6) => { - const a6 = eu(e6.initialBranch), s9 = t5.layout.gitDir; +var xc3 = async (t5, a4) => { + const e7 = Nu(a4.initialBranch), s8 = t5.layout.gitDir; try { - await t5.fs.mkdir(s9), await t5.fs.writeUtf8(`${s9}/HEAD`, `ref: refs/heads/${a6} -`), await t5.fs.writeUtf8(`${s9}/config`, (i7 = e6.bare, n6 = e6.objectFormat, "sha256" === n6 ? `[extensions] + await t5.fs.mkdir(s8), await t5.fs.writeUtf8(`${s8}/HEAD`, `ref: refs/heads/${e7} +`), await t5.fs.writeUtf8(`${s8}/config`, (i11 = a4.bare, n7 = a4.objectFormat, "sha256" === n7 ? `[extensions] objectformat = sha256 -${Jo2(i7, n6)}` : Jo2(i7, n6))), await t5.fs.mkdir(`${s9}/refs/heads`), await t5.fs.mkdir(`${s9}/refs/tags`), await t5.fs.mkdir(`${s9}/objects/info`), await t5.fs.mkdir(`${s9}/objects/pack`), await t5.fs.writeUtf8(`${s9}/info/exclude`, "# git ls-files --others --exclude-from=.git/info/exclude\n# Lines that start with '#' are comments.\n# For a project mostly in C, the following would be a good set of\n# exclude patterns (uncomment them if you want to use them):\n# *.[oa]\n# *~\n"), await t5.fs.writeUtf8(`${s9}/description`, "Unnamed repository; edit this file 'description' to name the repository.\n"); - } catch (e7) { - throw await t5.fs.rmRecursive(s9).catch(() => { - }), e7; - } - var i7, n6; - return { gitDir: s9, initialBranch: a6, bare: e6.bare }; -}; -var Xo3 = new TextDecoder(); -var Qo2 = (t5) => { - return !t5.done && "data" === t5.value.kind && "version 2" === ((e6 = Xo3.decode(t5.value.payload)).endsWith("\n") ? e6.slice(0, -1) : e6); - var e6; -}; -var Zo2 = (t5, e6) => { - let a6 = false; - return { [Symbol.asyncIterator]: () => ({ next: () => a6 ? t5.next() : (a6 = true, Promise.resolve(e6)), return: async (e7) => await t5.return?.(e7) ?? { done: true, value: void 0 } }) }; -}; -var tc3 = async (t5, e6) => { - const a6 = (await e6.advertisement())[Symbol.asyncIterator](), s9 = await a6.next(), i7 = await (async (t6, e7, a7) => !a7 || Qo2(e7) ? e7 : (await Lc(t6, e7, "git-upload-pack"), t6.next()))(a6, s9, e6.servicePrologue); - if (!Qo2(i7)) { - const t6 = await Dc(Zo2(a6, i7), "git-upload-pack", { servicePrologue: false }); - return { version: 1, advertisement: t6, objectFormat: ba(t6.capabilities) }; - } - const n6 = await qc(Zo2(a6, i7)); - if (!Jc(n6)) throw Ma("fetch"); - const r6 = await e6.exchange(_d({ objectFormat: t5.hashConfig.algorithm })); - return { version: 2, advertisement: (o6 = await Nd(r6), c6 = n6.fetchFeatures, c6.has("filter") ? { ...o6, capabilities: [...o6.capabilities, "filter"] } : o6), objectFormat: n6.objectFormat }; - var o6, c6; -}; -var ec3 = (t5) => { - const e6 = []; - return void 0 !== t5.depth && e6.push(`deepen ${t5.depth}`), void 0 !== t5.filter && e6.push(`filter ${t5.filter}`), e6; -}; -var ac3 = (t5, e6, a6, s9) => 2 === a6 ? (async (t6, e7, a7) => { - const s10 = fd({ wants: a7.wants, haves: a7.haves, args: ec3(a7), objectFormat: t6.hashConfig.algorithm }), i7 = await e7.exchange(s10), n6 = await wd(i7, { onProgress: (e8) => t6.progress.update(a7.progressOp, 0, void 0, O(e8)) }); - return { packBytes: await xl2(t6, a7, n6.packBody), shallow: n6.shallow, unshallow: n6.unshallow }; -})(t5, e6, s9) : (async (t6, e7, a7) => { - const s10 = Mc({ wants: a7.wants, haves: a7.haves, capabilities: a7.capabilities, done: true, ...void 0 !== a7.depth ? { depth: a7.depth } : {}, ...void 0 !== a7.filter ? { filter: a7.filter } : {} }), i7 = await e7.exchange(s10), n6 = await Wc(i7, { sideBand: Cl2(a7.capabilities), onProgress: (e8) => t6.progress.update(a7.progressOp, 0, void 0, O(e8)), expectShallow: void 0 !== a7.depth }); - return { packBytes: await xl2(t6, a7, n6.packBody), shallow: n6.shallow, unshallow: n6.unshallow }; -})(t5, e6, s9); -var sc3 = { attempts: 3, backoff: "exponential", baseMs: 250, maxDelayMs: 5e3 }; -var ic3 = (t5) => { - const e6 = {}; - for (const [a6, s9] of Object.entries(t5)) e6[a6] = nc3(s9); - return e6; -}; -var nc3 = (t5) => { - let e6 = ""; - for (let a6 = 0; a6 < t5.length; a6 += 1) { - const s9 = t5.charCodeAt(a6); - e6 += 9 === s9 || 10 === s9 ? t5[a6] : s9 < 32 || s9 > 126 ? `\\x${s9.toString(16).padStart(2, "0").toUpperCase()}` : t5[a6]; - } - return e6; -}; -var rc3 = /[\n\r\0]/; -var oc3 = (t5) => { - const e6 = t5.indexOf("@"); - if (-1 === e6) return t5; - const a6 = t5.indexOf("://"); - if (-1 === a6) return t5.slice(e6 + 1).includes(":") ? t5.slice(e6 + 1) : t5; - const s9 = a6 + 3, i7 = t5.indexOf("/", s9); - return -1 !== i7 && i7 < e6 ? t5 : `${t5.slice(0, s9)}${t5.slice(e6 + 1)}`; -}; -var cc3 = (t5, e6) => void 0 === t5 ? e6 : `${t5}@${e6}`; -var dc3 = (t5, e6, a6, s9) => ({ kind: "ssh", ...void 0 !== t5 ? { user: t5 } : {}, host: e6, ...void 0 !== a6 ? { port: a6 } : {}, path: s9 }); -var fc3 = (t5, e6) => { - uc3("hostname", t5), uc3("pathname", e6); -}; -var uc3 = (t5, e6) => { - if (e6.startsWith("-")) throw P(`strange ${t5} '${O(e6)}' blocked`); -}; -var wc3 = (t5, e6) => `${t5} ${vw2(e6)}`; -var hc3 = (t5) => void 0 !== t5 && "" !== t5; -var lc3 = (t5) => { - const [e6, ...a6] = gc3(t5); - return void 0 === e6 ? { program: t5, baseArgs: [] } : { program: e6, baseArgs: a6 }; -}; -var mc3 = /'([^']*)'|"((?:[^"\\]|\\.)*)"|((?:[^\s'"\\]|\\.)+)/g; -var pc3 = /(?:'[^']*'|"(?:[^"\\]|\\.)*"|(?:[^\s'"\\]|\\.))+/g; -var gc3 = (t5) => Array.from(t5.matchAll(pc3), (t6) => yc3(t6[0])); -var yc3 = (t5) => Array.from(t5.matchAll(mc3), vc3).join(""); -var vc3 = (t5) => { - const [, e6, a6, s9] = t5; - return void 0 !== e6 ? e6 : void 0 !== a6 ? a6.replace(/\\(["\\])/g, "$1") : (s9 ?? "").replace(/\\(.)/g, "$1"); -}; -var bc3 = { "git-upload-pack": { "content-type": "application/x-git-upload-pack-request", accept: "application/x-git-upload-pack-result" }, "git-receive-pack": { "content-type": "application/x-git-receive-pack-request", accept: "application/x-git-receive-pack-result" } }; -var kc3 = { "git-upload-pack": "application/x-git-upload-pack-advertisement", "git-receive-pack": "application/x-git-receive-pack-advertisement" }; -var xc3 = { "git-protocol": "version=2" }; -var $c3 = {}; -var Ic3 = (t5) => "git-upload-pack" === t5 ? xc3 : $c3; -var Ec3 = (t5, e6, a6) => { - const s9 = ((t6) => { +${kc3(i11, n7)}` : kc3(i11, n7))), await t5.fs.mkdir(`${s8}/refs/heads`), await t5.fs.mkdir(`${s8}/refs/tags`), await t5.fs.mkdir(`${s8}/objects/info`), await t5.fs.mkdir(`${s8}/objects/pack`), await t5.fs.writeUtf8(`${s8}/info/exclude`, "# git ls-files --others --exclude-from=.git/info/exclude\n# Lines that start with '#' are comments.\n# For a project mostly in C, the following would be a good set of\n# exclude patterns (uncomment them if you want to use them):\n# *.[oa]\n# *~\n"), await t5.fs.writeUtf8(`${s8}/description`, "Unnamed repository; edit this file 'description' to name the repository.\n"); + } catch (a5) { + throw await t5.fs.rmRecursive(s8).catch(() => { + }), a5; + } + var i11, n7; + return { gitDir: s8, initialBranch: e7, bare: a4.bare }; +}; +var $c3 = new TextDecoder(); +var Ic3 = (t5) => { + return !t5.done && "data" === t5.value.kind && "version 2" === ((a4 = $c3.decode(t5.value.payload)).endsWith("\n") ? a4.slice(0, -1) : a4); + var a4; +}; +var Ec3 = (t5, a4) => { + let e7 = false; + return { [Symbol.asyncIterator]: () => ({ next: () => e7 ? t5.next() : (e7 = true, Promise.resolve(a4)), return: async (a5) => await t5.return?.(a5) ?? { done: true, value: void 0 } }) }; +}; +var Cc3 = async (t5, a4) => { + const e7 = (await a4.advertisement())[Symbol.asyncIterator](), s8 = await e7.next(), i11 = await (async (t6, a5, e8) => !e8 || Ic3(a5) ? a5 : (await Yc(t6, a5, "git-upload-pack"), t6.next()))(e7, s8, a4.servicePrologue); + if (!Ic3(i11)) { + const t6 = await Jc(Ec3(e7, i11), "git-upload-pack", { servicePrologue: false }); + return { version: 1, advertisement: t6, objectFormat: Ba(t6.capabilities) }; + } + const n7 = await hd(Ec3(e7, i11)); + if (!gd(n7)) throw tc("fetch"); + const r8 = await a4.exchange(Bd({ objectFormat: t5.hashConfig.algorithm })); + return { version: 2, advertisement: (o5 = await zd(r8), c5 = n7.fetchFeatures, c5.has("filter") ? { ...o5, capabilities: [...o5.capabilities, "filter"] } : o5), objectFormat: n7.objectFormat }; + var o5, c5; +}; +var Dc3 = (t5) => { + const a4 = []; + return void 0 !== t5.depth && a4.push(`deepen ${t5.depth}`), void 0 !== t5.filter && a4.push(`filter ${t5.filter}`), a4; +}; +var Tc3 = (t5, a4, e7, s8) => 2 === e7 ? (async (t6, a5, e8) => { + const s9 = Sd({ wants: e8.wants, haves: e8.haves, args: Dc3(e8), objectFormat: t6.hashConfig.algorithm }), i11 = await a5.exchange(s9), n7 = await Dd(i11, { onProgress: (a6) => t6.progress.update(e8.progressOp, 0, void 0, N(a6)) }); + return { packBody: n7.packBody, shallow: n7.shallow, unshallow: n7.unshallow }; +})(t5, a4, s8) : (async (t6, a5, e8) => { + const s9 = ed({ wants: e8.wants, haves: e8.haves, capabilities: e8.capabilities, done: true, ...void 0 !== e8.depth ? { depth: e8.depth } : {}, ...void 0 !== e8.filter ? { filter: e8.filter } : {} }), i11 = await a5.exchange(s9), n7 = await ad(i11, { sideBand: yy2(e8.capabilities), onProgress: (a6) => t6.progress.update(e8.progressOp, 0, void 0, N(a6)), expectShallow: void 0 !== e8.depth }); + return { packBody: n7.packBody, shallow: n7.shallow, unshallow: n7.unshallow }; +})(t5, a4, s8); +var Hc3 = { attempts: 3, backoff: "exponential", baseMs: 250, maxDelayMs: 5e3 }; +var Oc3 = (t5) => { + const a4 = {}; + for (const [e7, s8] of Object.entries(t5)) a4[e7] = Ac3(s8); + return a4; +}; +var Ac3 = (t5) => { + let a4 = ""; + for (let e7 = 0; e7 < t5.length; e7 += 1) { + const s8 = t5.charCodeAt(e7); + a4 += 9 === s8 || 10 === s8 ? t5[e7] : s8 < 32 || s8 > 126 ? `\\x${s8.toString(16).padStart(2, "0").toUpperCase()}` : t5[e7]; + } + return a4; +}; +var Sc3 = /[\n\r\0]/; +var Rc3 = (t5) => { + const a4 = t5.indexOf("@"); + if (-1 === a4) return t5; + const e7 = t5.indexOf("://"); + if (-1 === e7) return t5.slice(a4 + 1).includes(":") ? t5.slice(a4 + 1) : t5; + const s8 = e7 + 3, i11 = t5.indexOf("/", s8); + return -1 !== i11 && i11 < a4 ? t5 : `${t5.slice(0, s8)}${t5.slice(a4 + 1)}`; +}; +var jc3 = (t5, a4) => void 0 === t5 ? a4 : `${t5}@${a4}`; +var Nc3 = (t5, a4, e7, s8) => ({ kind: "ssh", ...void 0 !== t5 ? { user: t5 } : {}, host: a4, ...void 0 !== e7 ? { port: e7 } : {}, path: s8 }); +var Uc3 = (t5, a4) => { + Mc3("hostname", t5), Mc3("pathname", a4); +}; +var Mc3 = (t5, a4) => { + if (a4.startsWith("-")) throw G(`strange ${t5} '${N(a4)}' blocked`); +}; +var Pc3 = (t5, a4) => `${t5} ${zp2(a4)}`; +var _c3 = (t5) => void 0 !== t5 && "" !== t5; +var Bc3 = (t5) => { + const [a4, ...e7] = qc3(t5); + return void 0 === a4 ? { program: t5, baseArgs: [] } : { program: a4, baseArgs: e7 }; +}; +var Lc3 = /'([^']*)'|"((?:[^"\\]|\\.)*)"|((?:[^\s'"\\]|\\.)+)/g; +var Fc3 = /(?:'[^']*'|"(?:[^"\\]|\\.)*"|(?:[^\s'"\\]|\\.))+/g; +var qc3 = (t5) => Array.from(t5.matchAll(Fc3), (t6) => zc3(t6[0])); +var zc3 = (t5) => Array.from(t5.matchAll(Lc3), Wc3).join(""); +var Wc3 = (t5) => { + const [, a4, e7, s8] = t5; + return void 0 !== a4 ? a4 : void 0 !== e7 ? e7.replace(/\\(["\\])/g, "$1") : (s8 ?? "").replace(/\\(.)/g, "$1"); +}; +var Vc3 = { "git-upload-pack": { "content-type": "application/x-git-upload-pack-request", accept: "application/x-git-upload-pack-result" }, "git-receive-pack": { "content-type": "application/x-git-receive-pack-request", accept: "application/x-git-receive-pack-result" } }; +var Gc3 = { "git-upload-pack": "application/x-git-upload-pack-advertisement", "git-receive-pack": "application/x-git-receive-pack-advertisement" }; +var Kc3 = { "git-protocol": "version=2" }; +var Yc3 = {}; +var Xc3 = (t5) => "git-upload-pack" === t5 ? Kc3 : Yc3; +var Jc3 = (t5, a4, e7) => { + const s8 = ((t6) => { ((t7) => { - if (rc3.test(t7)) throw P("contains forbidden control character"); + if (Sc3.test(t7)) throw G("contains forbidden control character"); })(t6); - const e7 = ((t7) => { + const a5 = ((t7) => { if (t7.startsWith("http://") || t7.startsWith("https://")) return "http"; if (t7.startsWith("ssh://")) return "sshUrl"; if (((t8) => { - const e8 = t8.indexOf(":"); - if (-1 === e8) return false; - const a7 = t8.indexOf("/"); - return (-1 === a7 || e8 < a7) && !t8.includes("://"); + const a6 = t8.indexOf(":"); + if (-1 === a6) return false; + const e8 = t8.indexOf("/"); + return (-1 === e8 || a6 < e8) && !t8.includes("://"); })(t7)) return "scp"; - throw P("unrecognised remote URL"); + throw G("unrecognised remote URL"); })(t6); - return "http" === e7 ? { kind: "http", url: t6 } : "sshUrl" === e7 ? ((t7) => { - const e8 = ((t8) => { + return "http" === a5 ? { kind: "http", url: t6 } : "sshUrl" === a5 ? ((t7) => { + const a6 = ((t8) => { try { return new URL(t8); } catch { - throw P("not a valid URL"); + throw G("not a valid URL"); } - })(t7), a7 = "" === e8.username ? void 0 : e8.username, s10 = (o6 = e8.hostname).startsWith("[") && o6.endsWith("]") ? o6.slice(1, -1) : o6, i7 = "" === e8.port ? void 0 : Number(e8.port), n6 = (r6 = e8.pathname).startsWith("/~") ? r6.slice(1) : r6; - var r6, o6; - return fc3(cc3(a7, s10), n6), dc3(a7, s10, i7, n6); + })(t7), e8 = "" === a6.username ? void 0 : a6.username, s9 = (o5 = a6.hostname).startsWith("[") && o5.endsWith("]") ? o5.slice(1, -1) : o5, i11 = "" === a6.port ? void 0 : Number(a6.port), n7 = (r8 = a6.pathname).startsWith("/~") ? r8.slice(1) : r8; + var r8, o5; + return Uc3(jc3(e8, s9), n7), Nc3(e8, s9, i11, n7); })(t6) : ((t7) => { - const { hostToken: e8, path: a7 } = ((t8) => { - const e9 = t8.indexOf(":"); - return { hostToken: t8.slice(0, e9), path: t8.slice(e9 + 1) }; + const { hostToken: a6, path: e8 } = ((t8) => { + const a7 = t8.indexOf(":"); + return { hostToken: t8.slice(0, a7), path: t8.slice(a7 + 1) }; })(t7); - fc3(e8, a7); - const { user: s10, host: i7 } = ((t8) => { - const e9 = t8.indexOf("@"); - return -1 === e9 ? { host: t8 } : { user: t8.slice(0, e9), host: t8.slice(e9 + 1) }; - })(e8); - return dc3(s10, i7, void 0, a7); + Uc3(a6, e8); + const { user: s9, host: i11 } = ((t8) => { + const a7 = t8.indexOf("@"); + return -1 === a7 ? { host: t8 } : { user: t8.slice(0, a7), host: t8.slice(a7 + 1) }; + })(a6); + return Nc3(s9, i11, void 0, e8); })(t6); - })(e6); - if ("http" === s9.kind) return Cc3(t5, s9.url, a6); - if (void 0 === t5.ssh) throw ie(t5.runtime, "ssh: transport unavailable in this runtime"); - return new Dc3(t5, t5.ssh, s9, a6); -}; -var Cc3 = (t5, e6, a6) => { - const s9 = ((t6, e7 = {}) => { - const a7 = void 0 !== e7.logger ? (s10 = e7.logger, { log: (t7) => s10.log(((t8) => "request" === t8.kind || "response" === t8.kind ? { ...t8, url: nc3(t8.url), headers: ic3(t8.headers) } : { ...t8, url: nc3(t8.url), errorMessage: nc3(t8.errorMessage) })(t7)) }) : void 0; - var s10; - let i8 = t6.transport; - return i8 = y2(e7.retry ?? sc3)(i8), void 0 !== e7.auth && (i8 = r2(e7.auth)(i8)), void 0 !== a7 && (i8 = i2({ logger: a7 })(i8)), i8; - })(t5, void 0 !== t5.config?.auth ? { auth: t5.config.auth } : {}), i7 = async (e7) => { - const a7 = await s9.request({ url: e7.url, method: e7.method, headers: e7.headers, ...void 0 !== e7.body ? { body: e7.body } : {}, ...void 0 !== t5.signal ? { signal: t5.signal } : {} }); - if (200 !== a7.statusCode) throw w(a7.statusCode, `${e7.reasonLabel} returned ${a7.statusCode}`); - return sc(n3(a7.body), { v2: true }); + })(a4); + if ("http" === s8.kind) return Qc3(t5, s8.url, e7); + if (void 0 === t5.ssh) throw le(t5.runtime, "ssh: transport unavailable in this runtime"); + return new td3(t5, t5.ssh, s8, e7); +}; +var Qc3 = (t5, a4, e7) => { + const s8 = ((t6, a5 = {}) => { + const e8 = void 0 !== a5.logger ? (s9 = a5.logger, { log: (t7) => s9.log(((t8) => "request" === t8.kind || "response" === t8.kind ? { ...t8, url: Ac3(t8.url), headers: Oc3(t8.headers) } : { ...t8, url: Ac3(t8.url), errorMessage: Ac3(t8.errorMessage) })(t7)) }) : void 0; + var s9; + let i12 = t6.transport; + return i12 = y2(a5.retry ?? Hc3)(i12), void 0 !== a5.auth && (i12 = r2(a5.auth)(i12)), void 0 !== e8 && (i12 = i4({ logger: e8 })(i12)), i12; + })(t5, void 0 !== t5.config?.auth ? { auth: t5.config.auth } : {}), i11 = async (a5) => { + const e8 = await s8.request({ url: a5.url, method: a5.method, headers: a5.headers, ...void 0 !== a5.body ? { body: a5.body } : {}, ...void 0 !== t5.signal ? { signal: t5.signal } : {} }); + if (200 !== e8.statusCode) throw I(e8.statusCode, `${a5.reasonLabel} returned ${e8.statusCode}`); + return _c(n3(e8.body), { v2: true }); }; - return { advertisement: () => i7({ url: Ac(e6, a6), method: "GET", headers: { accept: kc3[a6], ...Ic3(a6) }, reasonLabel: `${a6} discovery` }), exchange: (t6) => i7({ url: Tc3(e6, a6), method: "POST", headers: { ...bc3[a6], ...Ic3(a6) }, reasonLabel: a6, body: t6 }), close: async () => { + return { advertisement: () => i11({ url: Wc(a4, e7), method: "GET", headers: { accept: Gc3[e7], ...Xc3(e7) }, reasonLabel: `${e7} discovery` }), exchange: (t6) => i11({ url: Zc3(a4, e7), method: "POST", headers: { ...Vc3[e7], ...Xc3(e7) }, reasonLabel: e7, body: t6 }), close: async () => { }, servicePrologue: true }; }; -var Tc3 = (t5, e6) => { - let a6; +var Zc3 = (t5, a4) => { + let e7; try { - a6 = new URL(t5); + e7 = new URL(t5); } catch { - throw $a("invalid URL"); + throw Wa("invalid URL"); } - if ("" !== a6.hash) throw $a("fragment must not be set"); - const s9 = a6.pathname.endsWith("/") ? a6.pathname.slice(0, -1) : a6.pathname; - return `${a6.protocol}//${a6.host}${s9}/${e6}${a6.search}`; + if ("" !== e7.hash) throw Wa("fragment must not be set"); + const s8 = e7.pathname.endsWith("/") ? e7.pathname.slice(0, -1) : e7.pathname; + return `${e7.protocol}//${e7.host}${s8}/${a4}${e7.search}`; }; -var Dc3 = class { +var td3 = class { servicePrologue = false; ctx; ssh; @@ -34379,13 +19125,13 @@ var Dc3 = class { service; channel; lines; - constructor(t5, e6, a6, s9) { - this.ctx = t5, this.ssh = e6, this.remote = a6, this.service = s9; + constructor(t5, a4, e7, s8) { + this.ctx = t5, this.ssh = a4, this.remote = e7, this.service = s8; } advertisement = () => this.continuation(); exchange = async (t5) => { - const e6 = await this.openChannel(); - return this.continuation(Ac3(e6.stdin, t5)); + const a4 = await this.openChannel(); + return this.continuation(ed3(a4.stdin, t5)); }; close = async () => { if (void 0 === this.channel) return; @@ -34393,517 +19139,528 @@ var Dc3 = class { await t5.close(); }; openChannel() { - return this.channel ??= Hc3(this.ctx, this.ssh, this.remote, this.service), this.channel; + return this.channel ??= ad3(this.ctx, this.ssh, this.remote, this.service), this.channel; } async continuation(t5) { - const e6 = await this.openChannel(), a6 = await this.sharedIterator(e6), s9 = this.ctx.signal; - return { [Symbol.asyncIterator]: () => Rc3({ iterator: a6, channel: e6, signal: s9, awaitWrite: t5 }) }; + const a4 = await this.openChannel(), e7 = await this.sharedIterator(a4), s8 = this.ctx.signal; + return { [Symbol.asyncIterator]: () => sd3({ iterator: e7, channel: a4, signal: s8, awaitWrite: t5 }) }; } sharedIterator(t5) { - return this.lines ??= Promise.resolve(sc(n3(t5.stdout))[Symbol.asyncIterator]()), this.lines; - } -}; -var Hc3 = async (t5, e6, a6, s9) => { - const i7 = await (async (t6) => { - const e7 = t6.env?.get("GIT_SSH_COMMAND"); - if (hc3(e7)) return lc3(e7); - const a7 = await Hi2(t6), s10 = a7.core?.sshCommand; - if (hc3(s10)) return lc3(s10); - const i8 = t6.env?.get("GIT_SSH"); - return hc3(i8) ? { program: i8, baseArgs: [] } : { program: "ssh", baseArgs: [] }; - })(t5), n6 = [...(o6 = { service: s9, parsed: a6, baseArgs: i7.baseArgs }).baseArgs, ...(r6 = o6.parsed.port, void 0 === r6 ? [] : ["-p", String(r6)]), cc3(o6.parsed.user, o6.parsed.host), wc3(o6.service, o6.parsed.path)]; - var r6, o6; - return e6.open({ command: i7.program, args: n6, env: {}, ...void 0 !== t5.signal ? { signal: t5.signal } : {} }); -}; -var Ac3 = (t5, e6) => { - let a6; - const s9 = (async (t6, e7) => { - const a7 = t6.getWriter(); + return this.lines ??= Promise.resolve(_c(n3(t5.stdout))[Symbol.asyncIterator]()), this.lines; + } +}; +var ad3 = async (t5, a4, e7, s8) => { + const i11 = await (async (t6) => { + const a5 = t6.env?.get("GIT_SSH_COMMAND"); + if (_c3(a5)) return Bc3(a5); + const e8 = await sr2(t6), s9 = e8.core?.sshCommand; + if (_c3(s9)) return Bc3(s9); + const i12 = t6.env?.get("GIT_SSH"); + return _c3(i12) ? { program: i12, baseArgs: [] } : { program: "ssh", baseArgs: [] }; + })(t5), n7 = [...(o5 = { service: s8, parsed: e7, baseArgs: i11.baseArgs }).baseArgs, ...(r8 = o5.parsed.port, void 0 === r8 ? [] : ["-p", String(r8)]), jc3(o5.parsed.user, o5.parsed.host), Pc3(o5.service, o5.parsed.path)]; + var r8, o5; + return a4.open({ command: i11.program, args: n7, env: {}, ...void 0 !== t5.signal ? { signal: t5.signal } : {} }); +}; +var ed3 = (t5, a4) => { + let e7; + const s8 = (async (t6, a5) => { + const e8 = t6.getWriter(); try { - await a7.write(e7); + await e8.write(a5); } finally { - a7.releaseLock(); + e8.releaseLock(); } - })(t5, e6).catch((t6) => { - a6 = t6; + })(t5, a4).catch((t6) => { + e7 = t6; }); return async () => { - if (await s9, void 0 !== a6) throw a6; + if (await s8, void 0 !== e7) throw e7; }; }; -var Rc3 = ({ iterator: t5, channel: e6, signal: a6, awaitWrite: s9 }) => ({ next: async () => { - const i7 = await t5.next(); - return i7.done && (await Oc3(e6, a6), await s9?.()), i7; +var sd3 = ({ iterator: t5, channel: a4, signal: e7, awaitWrite: s8 }) => ({ next: async () => { + const i11 = await t5.next(); + return i11.done && (await id3(a4, e7), await s8?.()), i11; }, return: async () => ({ done: true, value: void 0 }) }); -var Oc3 = async (t5, e6) => { - const a6 = await t5.exit; - if (0 !== a6) { - if (true === e6?.aborted) throw I(); - throw y(`ssh exited with code ${a6}`); - } -}; -var Sc3 = (t5, e6) => { - const a6 = pa.filter((t6) => "thin-pack" !== t6 && "no-progress" !== t6 && t6 !== ma), s9 = Ia(t5, a6); - return _a(t5) ? [...s9, `object-format=${e6}`, ma] : [...s9, ma]; -}; -var Uc3 = (t5) => { - const e6 = /* @__PURE__ */ new Set(), a6 = []; - for (const s9 of t5) e6.has(s9.id) || (e6.add(s9.id), a6.push(s9.id)); - return a6; -}; -var jc3 = (t5) => t5.includes("filter"); -var Nc3 = "clone:discover"; -var Mc3 = async (t5, e6) => { - if (await t5.fs.exists(`${t5.layout.gitDir}/HEAD`)) throw H(t5.layout.workDir ?? t5.layout.gitDir); - if ("" === e6.url) throw V(); - const a6 = void 0 !== e6.filter ? Ka(za(e6.filter)) : void 0; - t5.progress.start(Nc3); +var id3 = async (t5, a4) => { + const e7 = await t5.exit; + if (0 !== e7) { + if (true === a4?.aborted) throw A(); + throw _(`ssh exited with code ${e7}`); + } +}; +var nd3 = (t5, a4) => { + const e7 = Ua.filter((t6) => "thin-pack" !== t6 && "no-progress" !== t6 && t6 !== Da), s8 = Fa(t5, e7); + return Ha(t5) ? [...s8, `object-format=${a4}`, Da] : [...s8, Da]; +}; +var rd3 = (t5) => { + const a4 = /* @__PURE__ */ new Set(), e7 = []; + for (const s8 of t5) a4.has(s8.id) || (a4.add(s8.id), e7.push(s8.id)); + return e7; +}; +var od3 = (t5) => t5.includes("filter"); +var cd3 = "clone:discover"; +var dd3 = async (t5, a4) => { + if (await t5.fs.exists(`${t5.layout.gitDir}/HEAD`)) throw j(t5.layout.workDir ?? t5.layout.gitDir); + if ("" === a4.url) throw K(); + const e7 = void 0 !== a4.filter ? lc(uc(a4.filter)) : void 0; + t5.progress.start(cd3); try { - return await Pc3(t5, e6, a6); - } catch (e7) { + return await fd3(t5, a4, e7); + } catch (a5) { throw await t5.fs.rmRecursive(t5.layout.gitDir).catch(() => { - }), e7; + }), a5; } finally { - t5.progress.end(Nc3); + t5.progress.end(cd3); } }; -var Pc3 = async (t5, e6, a6) => { - const s9 = Ec3(t5, e6.url, "git-upload-pack"); +var fd3 = async (t5, a4, e7) => { + const s8 = Jc3(t5, a4.url, "git-upload-pack"); try { - return await _c3(t5, e6, a6, s9); + return await ud3(t5, a4, e7, s8); } finally { - await s9.close(); - } -}; -var _c3 = async (t5, e6, a6, s9) => { - const i7 = await tc3(t5, s9), n6 = ((t6, e7) => { - if (e7 === t6.hash.algorithm) return t6; - if (!va(e7)) throw Fa(e7); - const a7 = t6.hash.withAlgorithm?.(e7); - if (void 0 === a7) throw h("clone", `the supplied hash service cannot switch to the peer's declared algorithm ${e7}`); - return Object.freeze({ ...t6, hash: a7, hashConfig: n(a7.algorithm) }); - })(t5, i7.objectFormat), o6 = await Yo3(n6, { initialBranch: e6.initialBranch ?? "main", bare: e6.bare ?? false, objectFormat: n6.hash.algorithm }), c6 = i7.advertisement; - if (0 === c6.refs.length) throw V(); - if (void 0 !== a6 && !jc3(c6.capabilities)) throw Ua(); - const d5 = Sc3(c6.capabilities, n6.hashConfig.algorithm), f2 = Uc3(c6.refs), u6 = await gl2(n6, (t6, e7) => ac3(t6, s9, i7.version, e7), { wants: f2, haves: [], capabilities: d5, progressOp: "clone:write-objects", ...void 0 !== e6.depth ? { depth: e6.depth } : {}, ...void 0 !== a6 ? { filter: a6, promisor: true } : {} }); - u6.shallow.length > 0 && await xh2(n6, { shallow: u6.shallow, unshallow: u6.unshallow }); - const w4 = oc3(e6.url), h6 = await Fc3(n6, c6, w4), l4 = await zc3(n6, c6, w4); - return await Lc3(n6, e6.url, Wc3(c6), a6), { path: o6.gitDir, head: l4, fetchedRefs: h6, objectFormat: n6.hashConfig.algorithm }; -}; -var Lc3 = async (t5, e6, a6, s9) => { - await uw2(t5, [{ section: "remote", subsection: "origin", key: "url", value: e6 }, { section: "remote", subsection: "origin", key: "fetch", value: "+refs/heads/*:refs/remotes/origin/*" }, ...void 0 !== a6 ? [{ section: "branch", subsection: a6, key: "remote", value: "origin" }, { section: "branch", subsection: a6, key: "merge", value: `refs/heads/${a6}` }] : [], ...void 0 !== s9 ? [{ section: "core", key: "repositoryformatversion", value: "1" }, { section: "remote", subsection: "origin", key: "promisor", value: "true" }, { section: "remote", subsection: "origin", key: "partialclonefilter", value: s9 }, { section: "extensions", key: "partialClone", value: "origin" }] : []]); -}; -var Fc3 = async (t5, e6, a6) => { - const s9 = Wc3(e6), i7 = []; - for (const n6 of e6.refs) if ("HEAD" !== n6.name && tu(n6.name)) { - if (n6.name.startsWith("refs/heads/")) { - const e7 = n6.name.slice(11), r6 = `refs/remotes/origin/${e7}`; - if (await Bc3(t5, r6, n6.id, a6), i7.push({ name: r6, id: n6.id }), void 0 !== s9 && e7 === s9) { - const e8 = n6.name; - await Bc3(t5, e8, n6.id, a6), i7.push({ name: e8, id: n6.id }); + await s8.close(); + } +}; +var ud3 = async (t5, a4, e7, s8) => { + const i11 = await Cc3(t5, s8), n7 = ((t6, a5) => { + if (a5 === t6.hash.algorithm) return t6; + if (!Va(a5)) throw oc(a5); + const e8 = t6.hash.withAlgorithm?.(a5); + if (void 0 === e8) throw w("clone", `the supplied hash service cannot switch to the peer's declared algorithm ${a5}`); + return bw2(t6, { hash: e8, hashConfig: i(e8.algorithm) }, { keepSessionAcrossHashChange: true }); + })(t5, i11.objectFormat), o5 = await xc3(n7, { initialBranch: a4.initialBranch ?? "main", bare: a4.bare ?? false, objectFormat: n7.hash.algorithm }), c5 = i11.advertisement; + if (0 === c5.refs.length) throw K(); + if (void 0 !== e7 && !od3(c5.capabilities)) throw Za(); + const d6 = nd3(c5.capabilities, n7.hashConfig.algorithm), f2 = rd3(c5.refs), u6 = await ey2(n7, (t6, a5) => Tc3(t6, s8, i11.version, a5), { wants: f2, haves: [], capabilities: d6, progressOp: "clone:write-objects", ...void 0 !== a4.depth ? { depth: a4.depth } : {}, ...void 0 !== e7 ? { filter: e7, promisor: true } : {} }); + u6.shallow.length > 0 && await ip2(n7, { shallow: u6.shallow, unshallow: u6.unshallow }); + const w6 = Rc3(a4.url), h5 = await hd3(n7, c5, w6), l4 = await gd3(n7, c5, w6); + return await wd3(n7, a4.url, pd3(c5), e7), { path: o5.gitDir, head: l4, fetchedRefs: h5, objectFormat: n7.hashConfig.algorithm }; +}; +var wd3 = async (t5, a4, e7, s8) => { + await Pp2(t5, [{ section: "remote", subsection: "origin", key: "url", value: a4 }, { section: "remote", subsection: "origin", key: "fetch", value: "+refs/heads/*:refs/remotes/origin/*" }, ...void 0 !== e7 ? [{ section: "branch", subsection: e7, key: "remote", value: "origin" }, { section: "branch", subsection: e7, key: "merge", value: `refs/heads/${e7}` }] : [], ...void 0 !== s8 ? [{ section: "core", key: "repositoryformatversion", value: "1" }, { section: "remote", subsection: "origin", key: "promisor", value: "true" }, { section: "remote", subsection: "origin", key: "partialclonefilter", value: s8 }, { section: "extensions", key: "partialClone", value: "origin" }] : []]); +}; +var hd3 = async (t5, a4, e7) => { + const s8 = pd3(a4), i11 = []; + for (const n7 of a4.refs) if ("HEAD" !== n7.name && Lu(n7.name)) { + if (n7.name.startsWith("refs/heads/")) { + const a5 = n7.name.slice(11), r8 = `refs/remotes/origin/${a5}`; + if (await md3(t5, r8, n7.id, e7), i11.push({ name: r8, id: n7.id }), void 0 !== s8 && a5 === s8) { + const a6 = n7.name; + await md3(t5, a6, n7.id, e7), i11.push({ name: a6, id: n7.id }); } continue; } - if (n6.name.startsWith("refs/tags/")) { - const e7 = n6.name; - await Bc3(t5, e7, n6.id, a6), i7.push({ name: e7, id: n6.id }); + if (n7.name.startsWith("refs/tags/")) { + const a5 = n7.name; + await md3(t5, a5, n7.id, e7), i11.push({ name: a5, id: n7.id }); continue; } - t5.logger?.debug?.("clone: skipping unsupported ref namespace", { name: n6.name }); + t5.logger?.debug?.("clone: skipping unsupported ref namespace", { name: n7.name }); } - return i7; + return i11; }; -var qc3 = "HEAD"; -var Bc3 = async (t5, e6, a6, s9) => { - await zr2(t5).applyRefUpdates([{ kind: "set", name: e6, id: a6, reflog: { oldId: cr(t5.hashConfig), newId: a6, message: Jh(s9) } }]); +var ld3 = "HEAD"; +var md3 = async (t5, a4, e7, s8) => { + await md2(t5).applyRefUpdates([{ kind: "set", name: a4, id: e7, reflog: { oldId: gr(t5.hashConfig), newId: e7, message: am(s8) } }]); }; -var Wc3 = (t5) => { - const e6 = t5.capabilities.find((t6) => t6.startsWith("symref=HEAD:refs/heads/")); - if (void 0 !== e6) return e6.slice(23); +var pd3 = (t5) => { + const a4 = t5.capabilities.find((t6) => t6.startsWith("symref=HEAD:refs/heads/")); + if (void 0 !== a4) return a4.slice(23); }; -var zc3 = async (t5, e6, a6) => { - const s9 = Wc3(e6), i7 = ((t6, e7, a7) => void 0 === e7 ? void 0 : { oldId: cr(t6.hashConfig), newId: e7, message: Jh(a7) })(t5, e6.head?.id, a6); - if (void 0 !== s9) { - const e7 = `refs/heads/${s9}`; - return await zr2(t5).applyRefUpdates([{ kind: "setSymbolic", name: qc3, target: e7, ...void 0 !== i7 ? { reflog: i7 } : {} }]), e7; +var gd3 = async (t5, a4, e7) => { + const s8 = pd3(a4), i11 = ((t6, a5, e8) => void 0 === a5 ? void 0 : { oldId: gr(t6.hashConfig), newId: a5, message: am(e8) })(t5, a4.head?.id, e7); + if (void 0 !== s8) { + const a5 = `refs/heads/${s8}`; + return await md2(t5).applyRefUpdates([{ kind: "setSymbolic", name: ld3, target: a5, ...void 0 !== i11 ? { reflog: i11 } : {} }]), a5; } - void 0 === e6.head || await zr2(t5).applyRefUpdates([{ kind: "set", name: qc3, id: e6.head.id, ...void 0 !== i7 ? { reflog: i7 } : {} }]); + void 0 === a4.head || await md2(t5).applyRefUpdates([{ kind: "set", name: ld3, id: a4.head.id, ...void 0 !== i11 ? { reflog: i11 } : {} }]); }; -var Vc3 = (t5) => `${t5.layout.gitDir}/${lu}`; -var Kc3 = (t5) => co3(t5, Vc3(t5)); -var Gc3 = async (t5) => { - const e6 = Vc3(t5); - await t5.fs.exists(e6) && await t5.fs.rm(e6); +var yd3 = (t5) => `${t5.layout.gitDir}/${Hu}`; +var vd3 = (t5) => No3(t5, yd3(t5)); +var bd3 = async (t5) => { + const a4 = yd3(t5); + await t5.fs.exists(a4) && await t5.fs.rm(a4); }; -var Jc3 = (t5, e6) => { - return `Revert ${a6 = wr(t5.message), `"${a6.replace(/([\\"])/g, "\\$1")}"`} +var kd3 = (t5, a4) => { + return `Revert ${e7 = Tr(t5.message), `"${e7.replace(/([\\"])/g, "\\$1")}"`} -This reverts commit ${e6}. +This reverts commit ${a4}. `; - var a6; -}; -var Yc3 = (t5, e6, a6) => { - const s9 = t5.gpg?.format ?? "openpgp", i7 = "ssh" === s9 ? t5.gpg?.ssh?.program : t5.gpg?.program; - return { format: s9, selector: "ssh" === s9 ? a6 ?? t5.user?.signingKey ?? "" : Iw2({ ...void 0 !== t5.user?.signingKey ? { signingKey: t5.user.signingKey } : {}, ...void 0 !== a6 ? { keyOverride: a6 } : {}, fallbackIdent: `${e6.name} <${e6.email}>` }), ...void 0 !== i7 ? { program: i7 } : {} }; -}; -var Xc3 = async (t5, e6, a6) => { - const s9 = await Dw2(t5, e6, a6); - if (!s9.ok) throw "off-node" === s9.reason ? dt(s9.reason) : dt(s9.reason, a6.format); - return s9.armor; -}; -var Qc3 = async (t5, e6) => { - await hc2(t5), wc2(t5, "commit"), await jc2(t5, "commit", void 0, ["gpgsign"]), await Wc2(t5); - const a6 = await ed3(t5), { mergeHead: s9, cherryPickHead: i7, revertHead: n6 } = a6, r6 = ad3(a6); - await vc2(t5, void 0 !== r6 ? { except: r6 } : {}); - const o6 = e6.noVerify ?? false; - await (async (t6, e7) => { - e7 || await zl2(t6, "pre-commit"); - })(t5, o6); - const c6 = void 0 !== s9 || void 0 !== i7 || void 0 !== n6, d5 = c6 ? "merge" : "message", f2 = await id3(t5, e6, c6), u6 = await Hi2(t5), w4 = cd3(u6.user); - void 0 === e6.author && void 0 === w4 && await Al2(t5, "user", void 0, ["name", "email"]); - const h6 = Ao3(dd3(e6.author, w4)), l4 = Ro3(fd3(e6.committer, h6, w4)), m5 = await Cd2(t5); - od3(m5.entries); - const p5 = await hd3(t5, m5.entries), g7 = await mc2(t5), y6 = "symbolic" === g7.kind ? await ud3(t5, g7.target) : g7.id, v8 = rd3(y6, s9); - if (!e6.allowEmpty && void 0 !== y6 && void 0 === s9 && await wd3(t5, y6) === p5) throw x(); - const b5 = await (async (t6, e7, a7) => { - if (void 0 === t6.hooks) return e7; - const s10 = `${t6.layout.gitDir}/COMMIT_EDITMSG`; - await t6.fs.writeUtf8(s10, e7), await zl2(t6, "prepare-commit-msg", { args: [s10, a7.source] }), a7.noVerify || await zl2(t6, "commit-msg", { args: [s10] }); - const i8 = await t6.fs.readUtf8(s10); - return Oo3(i8, { allowEmpty: a7.allowEmptyMessage }); - })(t5, f2, { noVerify: o6, allowEmptyMessage: e6.allowEmptyMessage ?? false, source: d5 }), k8 = { tree: p5, parents: v8, author: h6, committer: l4, message: b5, extraHeaders: [] }, x10 = await Zc3(t5, u6, k8, l4, e6), $6 = await vh2(t5, { ...k8, ...void 0 !== x10 ? { gpgSignature: x10 } : {} }), I10 = "symbolic" === g7.kind ? g7.target : void 0, E7 = nd3(b5, y6, s9, i7); - return await td3(t5, { branch: I10, id: $6, parentId: y6, reflogMessage: E7 }), await sd3(t5, a6), await Wl2(t5, "post-commit"), { id: $6, tree: p5, branch: I10, parents: v8 }; -}; -var Zc3 = async (t5, e6, a6, s9, i7) => { - if (i7.sign ?? true === e6.commit?.gpgSign) return (async (t6, e7, a7, s10, i8) => { - const n6 = Yc3(e7, s10, i8), r6 = mr({ data: a7 }), o6 = await Xc3(t6, r6, n6); - return o6.endsWith("\n") ? o6.slice(0, -1) : o6; - })(t5, e6, a6, s9, i7.signKey); -}; -var td3 = async (t5, e6) => { - const { branch: a6, id: s9, parentId: i7, reflogMessage: n6 } = e6; - void 0 === a6 ? await zr2(t5).applyRefUpdates([{ kind: "set", name: "HEAD", id: s9, reflog: { oldId: i7 ?? cr(t5.hashConfig), newId: s9, message: n6 } }]) : await nc2(t5, a6, s9, void 0 !== i7 ? { expected: i7, reflogMessage: n6 } : { reflogMessage: n6 }); -}; -var ed3 = async (t5) => ({ mergeHead: await Rn(t5), cherryPickHead: await Io3(t5), revertHead: await Kc3(t5) }); -var ad3 = (t5) => void 0 !== t5.mergeHead ? fg : void 0 !== t5.cherryPickHead ? gg : void 0 !== t5.revertHead ? mg : void 0; -var sd3 = async (t5, e6) => { - if (void 0 === e6.mergeHead) return void 0 !== e6.cherryPickHead ? (await Eo3(t5), void await Un(t5)) : void (void 0 !== e6.revertHead && (await Gc3(t5), await Un(t5))); - await Sn(t5); -}; -var id3 = async (t5, e6, a6) => { - if (e6.message.length > 0 || !a6) return Oo3(e6.message, { allowEmpty: e6.allowEmptyMessage ?? false }); - const s9 = await On2(t5); - return Oo3(So3(s9 ?? ""), { allowEmpty: e6.allowEmptyMessage ?? false }); -}; -var nd3 = (t5, e6, a6, s9) => { - const i7 = wr(t5); - return void 0 === e6 ? Wh(i7) : void 0 !== a6 ? jh(i7) : void 0 !== s9 ? zh(i7) : Kh(i7); -}; -var rd3 = (t5, e6) => { - const a6 = []; - return void 0 !== t5 && a6.push(t5), void 0 !== e6 && a6.push(e6), a6; -}; -var od3 = (t5) => { - const e6 = /* @__PURE__ */ new Set(); - for (const a6 of t5) 0 !== a6.flags.stage && e6.add(a6.path); - if (e6.size > 0) throw z(e6.size, [...e6]); -}; -var cd3 = (t5) => { + var e7; +}; +var xd3 = (t5, a4, e7) => { + const s8 = t5.gpg?.format ?? "openpgp", i11 = "ssh" === s8 ? t5.gpg?.ssh?.program : t5.gpg?.program; + return { format: s8, selector: "ssh" === s8 ? e7 ?? t5.user?.signingKey ?? "" : Gp2({ ...void 0 !== t5.user?.signingKey ? { signingKey: t5.user.signingKey } : {}, ...void 0 !== e7 ? { keyOverride: e7 } : {}, fallbackIdent: `${a4.name} <${a4.email}>` }), ...void 0 !== i11 ? { program: i11 } : {} }; +}; +var $d3 = async (t5, a4, e7) => { + const s8 = await Yp2(t5, a4, e7); + if (!s8.ok) throw "off-node" === s8.reason ? mt(s8.reason) : mt(s8.reason, e7.format); + return s8.armor; +}; +var Id3 = async (t5, a4) => { + await Gd2(t5), Kd2(t5, "commit"), await vu2(t5, "commit", void 0, ["gpgsign"]), await bu2(t5); + const e7 = await Dd3(t5), { mergeHead: s8, cherryPickHead: i11, revertHead: n7 } = e7, r8 = Td3(e7); + await Zd2(t5, void 0 !== r8 ? { except: r8 } : {}); + const o5 = a4.noVerify ?? false; + await (async (t6, a5) => { + a5 || await Iy2(t6, "pre-commit"); + })(t5, o5); + const c5 = void 0 !== s8 || void 0 !== i11 || void 0 !== n7, d6 = c5 ? "merge" : "message", f2 = await Od3(t5, a4, c5), u6 = await sr2(t5), w6 = jd3(u6.user); + void 0 === a4.author && void 0 === w6 && await ky2(t5, "user", void 0, ["name", "email"]); + const h5 = ec3(Nd3(a4.author, w6)), l4 = sc3(Ud3(a4.committer, h5, w6)), m7 = await hf2(t5); + Rd3(m7.entries); + const p6 = await _d3(t5, m7.entries), g7 = await qd2(t5), y5 = "symbolic" === g7.kind ? await Md3(t5, g7.target) : g7.id, v6 = Sd3(y5, s8); + if (!a4.allowEmpty && void 0 !== y5 && void 0 === s8 && await Pd3(t5, y5) === p6) throw U(); + const b5 = await (async (t6, a5, e8) => { + if (void 0 === t6.hooks) return a5; + const s9 = `${t6.layout.gitDir}/COMMIT_EDITMSG`; + await t6.fs.writeUtf8(s9, a5), await Iy2(t6, "prepare-commit-msg", { args: [s9, e8.source] }), e8.noVerify || await Iy2(t6, "commit-msg", { args: [s9] }); + const i12 = await t6.fs.readUtf8(s9); + return ic3(i12, { allowEmpty: e8.allowEmptyMessage }); + })(t5, f2, { noVerify: o5, allowEmptyMessage: a4.allowEmptyMessage ?? false, source: d6 }), k6 = { tree: p6, parents: v6, author: h5, committer: l4, message: b5, extraHeaders: [] }, x9 = await Ed3(t5, u6, k6, l4, a4), $8 = await np2(t5, { ...k6, ...void 0 !== x9 ? { gpgSignature: x9 } : {} }), I10 = "symbolic" === g7.kind ? g7.target : void 0, E7 = Ad3(b5, y5, s8, i11); + return await Cd3(t5, { branch: I10, id: $8, parentId: y5, reflogMessage: E7 }), await Hd3(t5, e7), await Cy2(t5, "post-commit"), { id: $8, tree: p6, branch: I10, parents: v6 }; +}; +var Ed3 = async (t5, a4, e7, s8, i11) => { + if (i11.sign ?? true === a4.commit?.gpgSign) return (async (t6, a5, e8, s9, i12) => { + const n7 = xd3(a5, s9, i12), r8 = vr({ data: e8 }), o5 = await $d3(t6, r8, n7); + return o5.endsWith("\n") ? o5.slice(0, -1) : o5; + })(t5, a4, e7, s8, i11.signKey); +}; +var Cd3 = async (t5, a4) => { + const { branch: e7, id: s8, parentId: i11, reflogMessage: n7 } = a4; + void 0 === e7 ? await md2(t5).applyRefUpdates([{ kind: "set", name: "HEAD", id: s8, reflog: { oldId: i11 ?? gr(t5.hashConfig), newId: s8, message: n7 } }]) : await Md2(t5, e7, s8, void 0 !== i11 ? { expected: i11, reflogMessage: n7 } : { reflogMessage: n7 }); +}; +var Dd3 = async (t5) => ({ mergeHead: await sr3(t5), cherryPickHead: await Xo3(t5), revertHead: await vd3(t5) }); +var Td3 = (t5) => void 0 !== t5.mergeHead ? _m : void 0 !== t5.cherryPickHead ? Om : void 0 !== t5.revertHead ? Tm : void 0; +var Hd3 = async (t5, a4) => { + if (void 0 === a4.mergeHead) return void 0 !== a4.cherryPickHead ? (await Jo3(t5), void await rr3(t5)) : void (void 0 !== a4.revertHead && (await bd3(t5), await rr3(t5))); + await nr3(t5); +}; +var Od3 = async (t5, a4, e7) => { + if (a4.message.length > 0 || !e7) return ic3(a4.message, { allowEmpty: a4.allowEmptyMessage ?? false }); + const s8 = await ir3(t5); + return ic3(nc3(s8 ?? ""), { allowEmpty: a4.allowEmptyMessage ?? false }); +}; +var Ad3 = (t5, a4, e7, s8) => { + const i11 = Tr(t5); + return void 0 === a4 ? em(i11) : void 0 !== e7 ? tm(i11) : void 0 !== s8 ? nm(i11) : rm(i11); +}; +var Sd3 = (t5, a4) => { + const e7 = []; + return void 0 !== t5 && e7.push(t5), void 0 !== a4 && e7.push(a4), e7; +}; +var Rd3 = (t5) => { + const a4 = /* @__PURE__ */ new Set(); + for (const e7 of t5) 0 !== e7.flags.stage && a4.add(e7.path); + if (a4.size > 0) throw J(a4.size, [...a4]); +}; +var jd3 = (t5) => { if (void 0 !== t5?.name && void 0 !== t5?.email) return { name: t5.name, email: t5.email, timestamp: Math.floor(Date.now() / 1e3), timezoneOffset: "+0000" }; }; -var dd3 = (t5, e6) => { - const a6 = {}; - return void 0 !== t5 && (a6.explicit = t5), void 0 !== e6 && (a6.configUser = e6), a6; +var Nd3 = (t5, a4) => { + const e7 = {}; + return void 0 !== t5 && (e7.explicit = t5), void 0 !== a4 && (e7.configUser = a4), e7; }; -var fd3 = (t5, e6, a6) => { - const s9 = {}; - return void 0 !== t5 && (s9.explicit = t5), void 0 !== e6 && (s9.author = e6), void 0 !== a6 && (s9.configUser = a6), s9; +var Ud3 = (t5, a4, e7) => { + const s8 = {}; + return void 0 !== t5 && (s8.explicit = t5), void 0 !== a4 && (s8.author = a4), void 0 !== e7 && (s8.configUser = e7), s8; }; -var ud3 = async (t5, e6) => { +var Md3 = async (t5, a4) => { try { - return await eu2(t5, e6); + return await Wf2(t5, a4); } catch { return; } }; -var wd3 = async (t5, e6) => { - const a6 = await Ui2(t5, e6); - return "commit" !== a6.type ? cr(t5.hashConfig) : a6.data.tree; -}; -var hd3 = async (t5, e6) => { - const a6 = { files: /* @__PURE__ */ new Map(), subdirs: /* @__PURE__ */ new Map() }; - for (const t6 of e6) ld3(a6, t6.path.split("/"), t6); - return md3(t5, a6); -}; -var ld3 = (t5, e6, a6) => { - if (1 === e6.length) return void t5.files.set(e6[0], { id: a6.id, mode: a6.mode }); - const [s9, ...i7] = e6, n6 = s9; - let r6 = t5.subdirs.get(n6); - void 0 === r6 && (r6 = { files: /* @__PURE__ */ new Map(), subdirs: /* @__PURE__ */ new Map() }, t5.subdirs.set(n6, r6)), ld3(r6, i7, a6); -}; -var md3 = async (t5, e6) => { - const a6 = []; - for (const [t6, s10] of e6.files) a6.push({ mode: s10.mode, name: t6, id: s10.id }); - const s9 = await Promise.all(Array.from(e6.subdirs).map(async ([e7, a7]) => ({ name: e7, id: await md3(t5, a7) }))); - for (const { name: t6, id: e7 } of s9) a6.push({ mode: "40000", name: t6, id: e7 }); - return Hl2(t5, a6); -}; -var pd3 = (t5) => t5; -var gd3 = async (t5, e6) => (await rc2(t5), void 0 === e6.scope ? await Uh2({ ctx: t5, key: e6.key }) : await Uh2({ ctx: t5, key: e6.key, scope: e6.scope })); -var yd3 = async (t5, e6) => (await rc2(t5), void 0 === e6.scope ? await Ah2({ ctx: t5, key: e6.key }) : await Ah2({ ctx: t5, key: e6.key, scope: e6.scope })); -var vd3 = async (t5, e6) => { - await rc2(t5); - const a6 = void 0 === e6.scope ? await _h2({ ctx: t5 }) : await _h2({ ctx: t5, scope: e6.scope }), s9 = []; - for (const { scope: t6, section: i7 } of a6) for (const a7 of i7.entries) { - const n6 = Sh2(i7, a7.key); - e6.keyPattern.test(n6) && (void 0 === e6.valuePattern || e6.valuePattern.test(a7.value ?? "")) && s9.push({ key: pd3(n6), value: a7.value, scope: t6 }); - } - return { entries: s9 }; -}; -var bd3 = async (t5, e6) => { - await rc2(t5); - const a6 = void 0 === e6?.scope ? await _h2({ ctx: t5 }) : await _h2({ ctx: t5, scope: e6.scope }), s9 = []; - for (const { scope: t6, section: e7 } of a6) for (const a7 of e7.entries) { - const i7 = Sh2(e7, a7.key); - s9.push({ key: pd3(i7), value: a7.value, scope: t6 }); - } - return { entries: s9 }; -}; -var kd3 = async (t5, e6) => { - await lc2(t5); - const a6 = e6.scope ?? "local", s9 = await Ah2({ ctx: t5, key: e6.key, scope: a6 }); - if (s9.values.length > 1) throw $e(e6.key, s9.values.length, "overwrite", a6); - return await pw2({ ctx: t5, key: e6.key, value: e6.value, scope: a6 }), { key: e6.key, value: e6.value, scope: a6 }; -}; -var xd3 = async (t5, e6) => { - await lc2(t5); - const a6 = e6.scope ?? "local", s9 = await Ah2({ ctx: t5, key: e6.key, scope: a6 }); - if (0 === s9.values.length) return { key: e6.key, scope: a6, removed: false }; - if (s9.values.length > 1) throw $e(e6.key, s9.values.length, "remove", a6); - const [i7] = s9.values; - return await yw2({ ctx: t5, key: e6.key, scope: a6 }), { key: e6.key, scope: a6, removed: true, previousValue: i7.value }; -}; -var $d3 = async (t5, e6) => { - await lc2(t5); - const a6 = e6.scope ?? "local", s9 = await Ah2({ ctx: t5, key: e6.key, scope: a6 }); - return 0 === s9.values.length ? { key: e6.key, scope: a6, removed: 0 } : (await gw2({ ctx: t5, key: e6.key, scope: a6 }), { key: e6.key, scope: a6, removed: s9.values.length }); -}; -var Id3 = async (t5, e6) => { - await lc2(t5); - const a6 = e6.scope ?? "local"; - return await Qh2({ ctx: t5, oldName: e6.oldName, newName: e6.newName, scope: a6 }), { oldName: e6.oldName, newName: e6.newName, scope: a6 }; -}; -var Ed3 = async (t5, e6) => { - await lc2(t5); - const a6 = e6.scope ?? "local"; - return await tw2({ ctx: t5, sectionName: e6.name, scope: a6 }), { name: e6.name, scope: a6 }; -}; -var Cd3 = async (t5, e6 = {}) => { - if (await hc2(t5), wc2(t5, "merge --continue"), void 0 === await Rn(t5)) throw Z("merge"); - return Qc3(t5, Td3(e6)); -}; -var Td3 = (t5) => ({ message: t5.message ?? "", ...void 0 !== t5.author && { author: t5.author }, ...void 0 !== t5.committer && { committer: t5.committer }, ...void 0 !== t5.noVerify && { noVerify: t5.noVerify } }); -var Dd3 = ["candidates", "exactMatch", "firstParent", "dirty", "broken"]; -var Hd3 = (t5) => void 0 === t5 ? [] : "string" == typeof t5 ? [t5] : t5; -var Ad3 = (t5) => { - if (void 0 !== t5.candidates && (!Number.isInteger(t5.candidates) || t5.candidates < 0)) throw oe("candidates", `expected a non-negative integer, got ${t5.candidates}`); +var Pd3 = async (t5, a4) => { + const e7 = await Ts2(t5, a4); + return "commit" !== e7.type ? gr(t5.hashConfig) : e7.data.tree; +}; +var _d3 = async (t5, a4) => { + const e7 = { files: /* @__PURE__ */ new Map(), subdirs: /* @__PURE__ */ new Map() }; + for (const t6 of a4) Bd3(e7, t6.path.split("/"), t6); + return Ld3(t5, e7); +}; +var Bd3 = (t5, a4, e7) => { + if (1 === a4.length) return void t5.files.set(a4[0], { id: e7.id, mode: e7.mode }); + const [s8, ...i11] = a4, n7 = s8; + let r8 = t5.subdirs.get(n7); + void 0 === r8 && (r8 = { files: /* @__PURE__ */ new Map(), subdirs: /* @__PURE__ */ new Map() }, t5.subdirs.set(n7, r8)), Bd3(r8, i11, e7); +}; +var Ld3 = async (t5, a4) => { + const e7 = []; + for (const [t6, s9] of a4.files) e7.push(Vr(s9.mode, t6, s9.id)); + const s8 = await Lo2(t5, "ioBound", Array.from(a4.subdirs), async ([a5, e8]) => ({ name: a5, id: await Ld3(t5, e8) })); + for (const { name: t6, id: a5 } of s8) e7.push(Vr("40000", t6, a5)); + return Sy2(t5, e7); +}; +var Fd3 = (t5) => t5; +var qd3 = async (t5, a4) => (await Rd2(t5), void 0 === a4.scope ? await er2({ ctx: t5, key: a4.key }) : await er2({ ctx: t5, key: a4.key, scope: a4.scope })); +var zd3 = async (t5, a4) => (await Rd2(t5), void 0 === a4.scope ? await nr2({ ctx: t5, key: a4.key }) : await nr2({ ctx: t5, key: a4.key, scope: a4.scope })); +var Wd3 = async (t5, a4) => { + await Rd2(t5); + const e7 = void 0 === a4.scope ? await Qs2({ ctx: t5 }) : await Qs2({ ctx: t5, scope: a4.scope }), s8 = []; + for (const { scope: t6, section: i11 } of e7) for (const e8 of i11.entries) { + const n7 = Fs2(i11, e8.key); + a4.keyPattern.test(n7) && (void 0 === a4.valuePattern || a4.valuePattern.test(e8.value ?? "")) && s8.push({ key: Fd3(n7), value: e8.value, scope: t6 }); + } + return { entries: s8 }; +}; +var Vd3 = async (t5, a4) => { + await Rd2(t5); + const e7 = void 0 === a4?.scope ? await Qs2({ ctx: t5 }) : await Qs2({ ctx: t5, scope: a4.scope }), s8 = []; + for (const { scope: t6, section: a5 } of e7) for (const e8 of a5.entries) { + const i11 = Fs2(a5, e8.key); + s8.push({ key: Fd3(i11), value: e8.value, scope: t6 }); + } + return { entries: s8 }; +}; +var Gd3 = async (t5, a4) => { + await jd2(t5); + const e7 = a4.scope ?? "local", s8 = await nr2({ ctx: t5, key: a4.key, scope: e7 }); + if (s8.values.length > 1) throw Re(a4.key, s8.values.length, "overwrite", e7); + return await _p2({ ctx: t5, key: a4.key, value: a4.value, scope: e7 }), { key: a4.key, value: a4.value, scope: e7 }; +}; +var Kd3 = async (t5, a4) => { + await jd2(t5); + const e7 = a4.scope ?? "local", s8 = await nr2({ ctx: t5, key: a4.key, scope: e7 }); + if (0 === s8.values.length) return { key: a4.key, scope: e7, removed: false }; + if (s8.values.length > 1) throw Re(a4.key, s8.values.length, "remove", e7); + const [i11] = s8.values; + return await Fp2({ ctx: t5, key: a4.key, scope: e7 }), { key: a4.key, scope: e7, removed: true, previousValue: i11.value }; +}; +var Yd3 = async (t5, a4) => { + await jd2(t5); + const e7 = a4.scope ?? "local", s8 = await nr2({ ctx: t5, key: a4.key, scope: e7 }); + return 0 === s8.values.length ? { key: a4.key, scope: e7, removed: 0 } : (await Up2({ ctx: t5, key: a4.key, scope: e7 }), { key: a4.key, scope: e7, removed: s8.values.length }); +}; +var Xd3 = async (t5, a4) => { + await jd2(t5); + const e7 = a4.scope ?? "local"; + return await bp2({ ctx: t5, oldName: a4.oldName, newName: a4.newName, scope: e7 }), { oldName: a4.oldName, newName: a4.newName, scope: e7 }; +}; +var Jd3 = async (t5, a4) => { + await jd2(t5); + const e7 = a4.scope ?? "local"; + return await xp2({ ctx: t5, sectionName: a4.name, scope: e7 }), { name: a4.name, scope: e7 }; +}; +var Qd3 = async (t5, a4 = {}) => { + if (await Gd2(t5), Kd2(t5, "merge --continue"), void 0 === await sr3(t5)) throw oe("merge"); + return Id3(t5, Zd3(a4)); +}; +var Zd3 = (t5) => ({ message: t5.message ?? "", ...void 0 !== t5.author && { author: t5.author }, ...void 0 !== t5.committer && { committer: t5.committer }, ...void 0 !== t5.noVerify && { noVerify: t5.noVerify } }); +var tf3 = ["candidates", "exactMatch", "firstParent", "dirty", "broken"]; +var af3 = (t5) => void 0 === t5 ? [] : "string" == typeof t5 ? [t5] : t5; +var ef3 = (t5) => { + if (void 0 !== t5.candidates && (!Number.isInteger(t5.candidates) || t5.candidates < 0)) throw de("candidates", `expected a non-negative integer, got ${t5.candidates}`); return true === t5.exactMatch ? 0 : t5.candidates ?? 10; }; -var Rd3 = (t5) => { - for (const e6 of Dd3) if (void 0 !== t5[e6]) throw oe(e6, `option ${e6} cannot be combined with contains`); - return { all: true === t5.all, include: Hd3(t5.match), exclude: Hd3(t5.exclude), always: true === t5.always }; -}; -var Od3 = (t5, e6) => { - const a6 = true === t5.dirty, s9 = true === t5.broken; - if ((a6 || s9) && e6) throw oe("dirty", "option dirty and commit-ishes cannot be used together"); - return { tags: true === t5.tags, all: true === t5.all, maxCandidates: Ad3(t5), always: true === t5.always, firstParent: true === t5.firstParent, include: Hd3(t5.match), exclude: Hd3(t5.exclude), dirty: a6, broken: s9 }; -}; -var Sd3 = (t5) => void 0 === t5 ? [] : "string" == typeof t5 ? [t5] : t5; -var Ud3 = (t5) => ({ tags: true === t5.tags, refs: Sd3(t5.refs), exclude: Sd3(t5.exclude) }); -var jd3 = async (t5, e6) => Qd2(t5, await wr3(t5, e6), "commit"); -var Nd3 = async (t5, e6) => Qd2(t5, await wr3(t5, e6), "tree"); -var Md3 = "status:scan"; -var Pd3 = async (t5) => { - await hc2(t5), wc2(t5, "status"), await Wc2(t5); - const e6 = await mc2(t5), a6 = pc2(e6), s9 = "direct" === e6.kind, i7 = await Cd2(t5), n6 = To(i7), r6 = new Map(n6.staged.map((t6) => [t6.path, t6])), o6 = new Set(n6.unmerged.keys()); - for (const t6 of r6.keys()) o6.add(t6); - t5.progress.start(Md3); +var sf3 = (t5) => { + for (const a4 of tf3) if (void 0 !== t5[a4]) throw de(a4, `option ${a4} cannot be combined with contains`); + return { all: true === t5.all, include: af3(t5.match), exclude: af3(t5.exclude), always: true === t5.always }; +}; +var nf3 = (t5, a4) => { + const e7 = true === t5.dirty, s8 = true === t5.broken; + if ((e7 || s8) && a4) throw de("dirty", "option dirty and commit-ishes cannot be used together"); + return { tags: true === t5.tags, all: true === t5.all, maxCandidates: ef3(t5), always: true === t5.always, firstParent: true === t5.firstParent, include: af3(t5.match), exclude: af3(t5.exclude), dirty: e7, broken: s8 }; +}; +var rf3 = (t5) => void 0 === t5 ? [] : "string" == typeof t5 ? [t5] : t5; +var of3 = (t5) => ({ tags: true === t5.tags, refs: rf3(t5.refs), exclude: rf3(t5.exclude) }); +var cf3 = async (t5, a4) => jf2(t5, await Pr3(t5, a4), "commit"); +var df3 = async (t5, a4) => jf2(t5, await Pr3(t5, a4), "tree"); +var ff3 = "status:scan"; +var uf3 = async (t5) => { + await Gd2(t5); + const a4 = Kd2(t5, "status"); + await bu2(t5); + const e7 = await qd2(t5), s8 = Vd2(e7), i11 = "direct" === e7.kind, n7 = await hf2(t5), r8 = Vo(n7), o5 = new Map(r8.staged.map((t6) => [t6.path, t6])), c5 = new Set(r8.unmerged.keys()); + for (const t6 of o5.keys()) c5.add(t6); + t5.progress.start(ff3); try { - const e7 = /* @__PURE__ */ ((t6, e8) => { - let a7 = 0, s10 = 0; + const e8 = /* @__PURE__ */ ((t6, a5) => { + let e9 = 0, s9 = 0; return { tick: () => { - a7 += 1; - const i8 = Math.floor(a7 / 100); - i8 > s10 && (s10 = i8, t6.update(e8, a7)); + e9 += 1; + const i12 = Math.floor(e9 / 100); + i12 > s9 && (s9 = i12, t6.update(a5, e9)); } }; - })(t5.progress, Md3), c6 = await Ec2(t5), d5 = Nw2(), f2 = await _d3(t5, n6.staged, e7, c6, i7.indexMtime, d5), u6 = await Ld3(t5, o6, d5), w4 = await Rw2(t5), h6 = Fd3(i7, w4, n6.unmerged), l4 = qd3(h6, f2, w4, r6), m5 = await Kd3(t5, n6.unmerged); - return { branch: a6, detached: s9, changes: l4, untracked: u6, unmerged: m5, clean: 0 === l4.length && 0 === u6.length && 0 === m5.length }; + })(t5.progress, ff3), d6 = await su2(t5), f2 = await wf3(t5, r8.staged, e8, d6, n7.indexMtime), u6 = await hf3(t5, c5), w6 = await om2(t5), h5 = lf3(n7, w6, r8.unmerged), l4 = mf3(h5, f2, w6, o5), m7 = await bf3(t5, r8.unmerged, a4); + return { branch: s8, detached: i11, changes: l4, untracked: u6, unmerged: m7, clean: 0 === l4.length && 0 === u6.length && 0 === m7.length }; } finally { - t5.progress.end(Md3); - } -}; -var _d3 = async (t5, e6, a6, s9, i7, n6) => { - const r6 = /* @__PURE__ */ new Map(); - return await Promise.all(e6.map(async (e7) => { - e7.flags.skipWorktree || r6.set(e7.path, await ah2(t5, e7, s9, i7, n6)), a6.tick(); - })), r6; -}; -var Ld3 = async (t5, e6, a6) => { - const s9 = await Zd2(t5), i7 = []; - for await (const { path: n6 } of zd2(t5, { ignore: s9, stats: a6 })) e6.has(n6) || i7.push(n6); - return i7.sort(Eo); -}; -var Fd3 = (t5, e6, a6) => { - const s9 = /* @__PURE__ */ new Map(); - for (const i7 of _o(t5, e6).changes) { - const t6 = go(i7); - a6.has(t6) || s9.set(t6, Wd3(i7)); - } - return s9; -}; -var qd3 = (t5, e6, a6, s9) => { - const i7 = new Set(t5.keys()); - for (const [t6, a7] of e6) void 0 !== zd3(a7.status) && i7.add(t6); - return [...i7].map((i8) => Bd3(i8, t5.get(i8), e6.get(i8), a6, s9.get(i8))).sort((t6, e7) => Eo(t6.path, e7.path)); -}; -var Bd3 = (t5, e6, a6, s9, i7) => { - const n6 = s9?.entries.get(t5), r6 = void 0 === a6 ? void 0 : zd3(a6.status); - return { path: t5, ...void 0 !== e6 && { staged: e6 }, ...void 0 !== r6 && { unstaged: r6 }, ...void 0 !== n6 && { head: { id: n6.id, mode: n6.mode } }, ...void 0 !== i7 && { index: { id: i7.id, mode: i7.mode } }, ...void 0 !== a6?.worktreeMode && { worktree: { mode: a6.worktreeMode } } }; -}; -var Wd3 = (t5) => "add" === t5.type ? "added" : "delete" === t5.type ? "deleted" : "type-change" === t5.type ? "type-changed" : "modify" === t5.type && t5.oldId === t5.newId ? "mode-changed" : "modified"; -var zd3 = (t5) => "absent" === t5 ? "deleted" : "type-changed" === t5 ? "type-changed" : "mode-changed" === t5 ? "mode-changed" : "modified" === t5 ? "modified" : void 0; -var Vd3 = (t5) => ({ id: t5.id, mode: t5.mode }); -var Kd3 = (t5, e6) => Promise.all([...e6].map(async ([e7, a6]) => { - const s9 = await Gd3(t5, e7); - return { kind: zn(a6), path: e7, ...a6.stage1 && { base: Vd3(a6.stage1) }, ...a6.stage2 && { ours: Vd3(a6.stage2) }, ...a6.stage3 && { theirs: Vd3(a6.stage3) }, ...void 0 !== s9 && { worktree: { mode: s9 } } }; -})); -var Gd3 = async (t5, e6) => { - const a6 = await t5.fs.lstat(bc2(wc2(t5, "status"), e6)).catch(() => { + t5.progress.end(ff3); + } +}; +var wf3 = async (t5, a4, e7, s8, i11) => { + const n7 = await Lo2(t5, "ioBound", a4, async (a5) => { + const n8 = a5.flags.skipWorktree ? void 0 : await _y2(t5, a5, s8, i11); + return e7.tick(), void 0 === n8 ? void 0 : [a5.path, n8]; + }), r8 = /* @__PURE__ */ new Map(); + for (const t6 of n7) void 0 !== t6 && r8.set(...t6); + return r8; +}; +var hf3 = async (t5, a4) => { + const e7 = await Uf2(t5), s8 = []; + for await (const { path: i11 } of Pf2(t5, { ignore: e7 })) a4.has(i11) || s8.push(i11); + return s8.sort(Mo); +}; +var lf3 = (t5, a4, e7) => { + const s8 = /* @__PURE__ */ new Map(); + for (const i11 of Fo(t5, a4).changes) { + const t6 = Ro(i11); + e7.has(t6) || s8.set(t6, gf3(i11)); + } + return s8; +}; +var mf3 = (t5, a4, e7, s8) => { + const i11 = new Set(t5.keys()); + for (const [t6, e8] of a4) void 0 !== yf3(e8.status) && i11.add(t6); + return [...i11].map((i12) => pf3(i12, t5.get(i12), a4.get(i12), e7, s8.get(i12))).sort((t6, a5) => Mo(t6.path, a5.path)); +}; +var pf3 = (t5, a4, e7, s8, i11) => { + const n7 = s8?.entries.get(t5), r8 = void 0 === e7 ? void 0 : yf3(e7.status); + return { path: t5, ...void 0 !== a4 && { staged: a4 }, ...void 0 !== r8 && { unstaged: r8 }, ...void 0 !== n7 && { head: { id: n7.id, mode: n7.mode } }, ...void 0 !== i11 && { index: { id: i11.id, mode: i11.mode } }, ...void 0 !== e7?.worktreeMode && { worktree: { mode: e7.worktreeMode } } }; +}; +var gf3 = (t5) => "add" === t5.type ? "added" : "delete" === t5.type ? "deleted" : "type-change" === t5.type ? "type-changed" : "modify" === t5.type && t5.oldId === t5.newId ? "mode-changed" : "modified"; +var yf3 = (t5) => "absent" === t5 ? "deleted" : "type-changed" === t5 ? "type-changed" : "mode-changed" === t5 ? "mode-changed" : "modified" === t5 ? "modified" : void 0; +var vf3 = (t5) => ({ id: t5.id, mode: t5.mode }); +var bf3 = (t5, a4, e7) => Lo2(t5, "ioBound", [...a4], async ([a5, s8]) => { + const i11 = await kf3(t5, e7, a5); + return { kind: Qn(s8), path: a5, ...s8.stage1 && { base: vf3(s8.stage1) }, ...s8.stage2 && { ours: vf3(s8.stage2) }, ...s8.stage3 && { theirs: vf3(s8.stage3) }, ...void 0 !== i11 && { worktree: { mode: i11 } } }; +}); +var kf3 = async (t5, a4, e7) => { + const s8 = await t5.fs.lstat(Jd2(a4, e7)).catch(() => { }); - return void 0 === a6 ? void 0 : nn(a6); -}; -var Jd3 = (t5, e6, a6) => { - if (e6 !== t5) { - if (!va(e6)) throw Fa(e6); - if ("push" === a6) throw Ha(t5, e6); - throw Fa(e6, t5); - } -}; -var Yd3 = (t5) => void 0 !== t5.remote && 1 === t5.remote.size ? t5.remote.keys().next().value : void 0; -var Xd3 = (t5, e6, a6) => e6 ?? (void 0 !== a6 ? t5.branch?.get(a6)?.remote : void 0) ?? Yd3(t5) ?? fw; -var Qd3 = (t5, e6, a6) => e6 ?? (void 0 !== a6 ? t5.branch?.get(a6)?.pushRemote : void 0) ?? t5.remotePushDefault ?? (void 0 !== a6 ? t5.branch?.get(a6)?.remote : void 0) ?? Yd3(t5) ?? fw; -var Zd3 = /^[A-Za-z0-9._-]+$/; -var tf3 = (t5) => { - if (!Zd3.test(t5)) throw oe("remote", `invalid remote name: ${t5}`); -}; -var ef3 = 2; -var af3 = 8; -async function sf3(t5, e6, a6, s9) { - return "usable" === s9.kind && !await (async function(t6, e7) { - const a7 = t6.hashConfig.digestLength; - if (e7.length < a7) return false; - const s10 = e7.length - a7, i7 = await t6.hash.hash(e7.subarray(0, s10)); - return It(i7, e7.subarray(s10)); - })(t5, s9.bytes) && (e6.push({ type: "bitmap-checksum-mismatch", artefact: a6 }), true); -} -async function nf3(t5, e6) { - const a6 = Ti2(t5), s9 = await a6.all(), i7 = []; - let n6 = 0; - for (const e7 of s9) { - if (!e7.hasBitmap) continue; - const a7 = await e7.bitmapBytes(); - await sf3(t5, i7, `${e7.name}.bitmap`, a7) && (n6 = 128); - } - const r6 = await a6.midxBitmap(); - return void 0 !== r6 && await sf3(t5, i7, r6.artefact, r6) && (n6 = 128), { findings: i7, exitBit: n6 }; -} -var rf3 = /* @__PURE__ */ new Set([".gitmodules", ".gitattributes"]); -function of3(t5, e6) { - const a6 = /* @__PURE__ */ new Map(); - for (const s9 of t5) { - const t6 = e6.get(s9); - if (null != t6 && "tree" === t6.type) for (const e7 of t6.entries) rf3.has(e7.name) && a6.set(e7.id, e7.name); - } - return a6; -} -async function cf3(t5, e6, a6, s9) { - const i7 = []; - let n6 = 0; - const r6 = await (async function(t6, e7) { - const a7 = await xi2(t6, e7); - if (void 0 !== a7) { - let e8; + return void 0 === s8 ? void 0 : dn(s8); +}; +var xf3 = (t5, a4, e7) => { + if (a4 !== t5) { + if (!Va(a4)) throw oc(a4); + if ("push" === e7) throw sc(t5, a4); + throw oc(a4, t5); + } +}; +var $f3 = (t5) => void 0 !== t5.remote && 1 === t5.remote.size ? t5.remote.keys().next().value : void 0; +var If3 = (t5, a4, e7) => a4 ?? (void 0 !== e7 ? t5.branch?.get(e7)?.remote : void 0) ?? $f3(t5) ?? xy; +var Ef3 = (t5, a4, e7) => a4 ?? (void 0 !== e7 ? t5.branch?.get(e7)?.pushRemote : void 0) ?? t5.remotePushDefault ?? (void 0 !== e7 ? t5.branch?.get(e7)?.remote : void 0) ?? $f3(t5) ?? xy; +var Cf3 = /^[A-Za-z0-9._-]+$/; +var Df3 = (t5) => { + if (!Cf3.test(t5)) throw de("remote", `invalid remote name: ${t5}`); +}; +var Tf3 = 2; +var Hf3 = 8; +async function Of3(t5, a4, e7, s8) { + return "usable" === s8.kind && !await (async function(t6, a5) { + const e8 = t6.hashConfig.digestLength; + if (a5.length < e8) return false; + const s9 = a5.length - e8, i11 = await t6.hash.hash(a5.subarray(0, s9)); + return xt(i11, a5.subarray(s9)); + })(t5, s8.bytes) && (a4.push({ type: "bitmap-checksum-mismatch", artefact: e7 }), true); +} +async function Af3(t5, a4) { + const e7 = Ls2(t5), s8 = await e7.all(), i11 = []; + let n7 = 0; + for (const a5 of s8) { + if (!a5.hasBitmap) continue; + const e8 = await a5.bitmapBytes(); + await Of3(t5, i11, `${a5.name}.bitmap`, e8) && (n7 = 128); + } + const r8 = await e7.midxBitmap(); + return void 0 !== r8 && await Of3(t5, i11, r8.artefact, r8) && (n7 = 128), { findings: i11, exitBit: n7 }; +} +var Sf3 = Rt(".gitmodules"); +var Rf3 = Rt(".gitattributes"); +function jf3(t5) { + return xt(t5, Sf3) ? ".gitmodules" : xt(t5, Rf3) ? ".gitattributes" : void 0; +} +function Nf3(t5, a4) { + const e7 = /* @__PURE__ */ new Map(); + for (const s8 of t5) { + const t6 = a4.get(s8); + if (null != t6 && "tree" === t6.type) for (const a5 of t6.entries) { + const t7 = jf3(a5.nameBytes); + void 0 !== t7 && e7.set(a5.id, t7); + } + } + return e7; +} +async function Uf3(t5, a4, e7, s8) { + const i11 = []; + let n7 = 0; + const r8 = await (async function(t6, a5) { + const e8 = await ms(t6, a5); + if (void 0 !== e8) { + let a6; try { - e8 = await t6.compressor.inflate(a7); + a6 = await t6.compressor.inflate(e8); } catch { return { ok: false, msgId: "unterminatedHeader" }; } try { - const { type: t7, contentOffset: a8 } = Ir(e8); - return { ok: true, kind: t7, rawBody: e8.subarray(a8), hashBytes: e8 }; + const { type: t7, contentOffset: e9 } = Sr(a6); + return { ok: true, kind: t7, rawBody: a6.subarray(e9), hashBytes: a6 }; } catch (t7) { - return { ok: false, msgId: (t7 instanceof o && "INVALID_OBJECT_HEADER" === t7.data.code ? t7.data.reason : "").startsWith("unknown object type") ? "unknownType" : "unterminatedHeader" }; + return { ok: false, msgId: (t7 instanceof c && "INVALID_OBJECT_HEADER" === t7.data.code ? t7.data.reason : "").startsWith("unknown object type") ? "unknownType" : "unterminatedHeader" }; } } try { - const a8 = await Ai2(t6, e7, { verifyHash: false }); - return { ok: true, kind: a8.type, rawBody: a8.content, hashBytes: a8.bytes }; + const e9 = await Bs2(t6, a5, { verifyHash: false }); + return { ok: true, kind: e9.type, rawBody: e9.content, hashBytes: e9.bytes }; } catch { return { ok: false, msgId: "badType" }; } - })(t5, e6); - if (!r6.ok) return i7.push({ type: "bad-object", id: e6, objectType: "unknown", msgId: r6.msgId, severity: "error" }), { findings: i7, exitBit: 1 }; - const { kind: o6, rawBody: c6, hashBytes: d5 } = r6, f2 = "blob" === o6 ? s9.get(e6) : void 0, u6 = Ay((function(t6, e7, a7, s10, i8) { - switch (e7) { + })(t5, a4); + if (!r8.ok) return i11.push({ type: "bad-object", id: a4, objectType: "unknown", msgId: r8.msgId, severity: "error" }), { findings: i11, exitBit: 1 }; + const { kind: o5, rawBody: c5, hashBytes: d6 } = r8, f2 = "blob" === o5 ? s8.get(a4) : void 0, u6 = HE((function(t6, a5, e8, s9, i12) { + switch (a5) { case "blob": - return void 0 !== i8 ? { kind: e7, rawBody: a7, strict: s10, fileName: i8 } : { kind: e7, rawBody: a7, strict: s10 }; + return void 0 !== i12 ? { kind: a5, rawBody: e8, strict: s9, fileName: i12 } : { kind: a5, rawBody: e8, strict: s9 }; case "tree": case "commit": case "tag": - return { kind: e7, rawBody: a7, strict: s10, hashConfig: t6 }; + return { kind: a5, rawBody: e8, strict: s9, hashConfig: t6 }; } - })(t5.hashConfig, o6, c6, a6, f2)); - for (const { msgId: t6, severity: a7 } of u6) i7.push({ type: "bad-object", id: e6, objectType: o6, msgId: t6, severity: a7 }), "error" === a7 && (n6 |= 1); + })(t5.hashConfig, o5, c5, e7, f2)); + for (const { msgId: t6, severity: e8 } of u6) i11.push({ type: "bad-object", id: a4, objectType: o5, msgId: t6, severity: e8 }), "error" === e8 && (n7 |= 1); try { - const a7 = await t5.hash.hashHex(d5); - a7 !== e6 && (i7.push({ type: "hash-mismatch", id: e6, actual: a7 }), n6 |= 1); + const e8 = await t5.hash.hashHex(d6); + e8 !== a4 && (i11.push({ type: "hash-mismatch", id: a4, actual: e8 }), n7 |= 1); } catch { } - return { findings: i7, exitBit: n6 }; -} -async function df3(t5, e6, a6, s9) { - const i7 = []; - let n6 = 0; - for (const r6 of e6) { - const { findings: e7, exitBit: o6 } = await cf3(t5, r6, a6, s9); - i7.push(...e7), n6 |= o6; - } - return { findings: i7, exitBit: n6 }; -} -function ff3(t5) { - const { data: e6 } = t5; - return "INVALID_MULTI_PACK_INDEX" === e6.code && ("pack-int-id" === e6.check || "large-offset" === e6.check); -} -async function uf3(t5, e6) { - const a6 = Ti2(t5), s9 = await a6.midxHealth(), i7 = []; - let n6 = 0; - const r6 = s9.faults.find(ff3); - if (void 0 === s9.artefact && s9.flatFilePresent) { - const t6 = s9.faults[0]; - i7.push({ type: "midx-unusable", artefact: t6.artefact, reason: eo2(t6.data) }), n6 |= 32; - } else void 0 !== r6 && (i7.push({ type: "midx-unusable", artefact: r6.artefact, reason: eo2(r6.data) }), n6 |= 32); - if (void 0 !== s9.artefact) { - false === s9.checksumOk && (i7.push({ type: "midx-checksum-mismatch", artefact: s9.artefact }), n6 |= 32); - for (const t6 of s9.unresolvedPacks) i7.push({ type: "midx-pack-unresolved", artefact: s9.artefact, ...t6 }), n6 |= 32; - for (const t6 of s9.unresolvedEntries) i7.push({ type: "midx-entry-unresolved", artefact: s9.artefact, id: t6 }), n6 |= 32; - } - return { findings: i7, exitBit: n6 }; -} -var wf3 = { type: "blob" }; -function hf3(t5) { + return { findings: i11, exitBit: n7 }; +} +async function Mf3(t5, a4, e7, s8) { + const i11 = []; + let n7 = 0; + for (const r8 of a4) { + const { findings: a5, exitBit: o5 } = await Uf3(t5, r8, e7, s8); + i11.push(...a5), n7 |= o5; + } + return { findings: i11, exitBit: n7 }; +} +function Pf3(t5) { + const { data: a4 } = t5; + return "INVALID_MULTI_PACK_INDEX" === a4.code && ("pack-int-id" === a4.check || "large-offset" === a4.check); +} +async function _f3(t5, a4) { + const e7 = Ls2(t5), s8 = await e7.midxHealth(), i11 = []; + let n7 = 0; + const r8 = s8.faults.find(Pf3); + if (void 0 === s8.artefact && s8.flatFilePresent) { + const t6 = s8.faults[0]; + i11.push({ type: "midx-unusable", artefact: t6.artefact, reason: Vo2(t6.data) }), n7 |= 32; + } else void 0 !== r8 && (i11.push({ type: "midx-unusable", artefact: r8.artefact, reason: Vo2(r8.data) }), n7 |= 32); + if (void 0 !== s8.artefact) { + false === s8.checksumOk && (i11.push({ type: "midx-checksum-mismatch", artefact: s8.artefact }), n7 |= 32); + for (const t6 of s8.unresolvedPacks) i11.push({ type: "midx-pack-unresolved", artefact: s8.artefact, ...t6 }), n7 |= 32; + for (const t6 of s8.unresolvedEntries) i11.push({ type: "midx-entry-unresolved", artefact: s8.artefact, id: t6 }), n7 |= 32; + } + return { findings: i11, exitBit: n7 }; +} +var Bf3 = { type: "blob" }; +function Lf3(t5) { switch (t5.type) { case "blob": - return wf3; + return Bf3; case "tree": return { type: "tree", entries: t5.entries }; case "commit": @@ -34912,3415 +19669,3698 @@ function hf3(t5) { return { type: "tag", object: t5.data.object, objectType: t5.data.objectType, tagName: t5.data.tagName }; } } -function lf3(t5) { - return t5 instanceof o && ("DECOMPRESS_FAILED" === t5.data.code || "INVALID_OBJECT_HEADER" === t5.data.code); +function Ff3(t5) { + return t5 instanceof c && ("DECOMPRESS_FAILED" === t5.data.code || "INVALID_OBJECT_HEADER" === t5.data.code); } -var mf3 = /* @__PURE__ */ new Set(["DECOMPRESS_FAILED", "INVALID_OBJECT_HEADER", "INVALID_TREE_ENTRY", "INVALID_COMMIT", "INVALID_TAG", "INVALID_IDENTITY", "INVALID_FILE_MODE", "INVALID_OBJECT_ID", "TREE_ENTRY_LIMIT_EXCEEDED"]); -function pf3(t5) { - return t5 instanceof o && "UNSUPPORTED_OPERATION" !== t5.data.code; +var qf3 = /* @__PURE__ */ new Set(["DECOMPRESS_FAILED", "INVALID_OBJECT_HEADER", "INVALID_TREE_ENTRY", "INVALID_COMMIT", "INVALID_TAG", "INVALID_IDENTITY", "INVALID_FILE_MODE", "INVALID_OBJECT_ID", "TREE_ENTRY_LIMIT_EXCEEDED"]); +function zf3(t5) { + return t5 instanceof c && "UNSUPPORTED_OPERATION" !== t5.data.code; } -async function gf3(t5, e6) { +async function Wf3(t5, a4) { try { - return await t5.lookup(e6); + return await t5.lookup(a4); } catch (t6) { - if (!pf3(t6)) throw t6; + if (!zf3(t6)) throw t6; return; } } -function yf3(t5, e6, a6) { - return t5.logger?.warn?.("fsck: stored type probe degraded", { objectId: e6, reason: a6 }), { kind: "untyped" }; +function Vf3(t5, a4, e7) { + return t5.logger?.warn?.("fsck: stored type probe degraded", { objectId: a4, reason: e7 }), { kind: "untyped" }; } -async function vf3(t5, e6, a6, s9) { +async function Gf3(t5, a4, e7, s8) { try { - return await (async function(t6, e7, a7, s10) { - let i7 = s10; - for (let s11 = 0; s11 < Wf; s11 += 1) { - const s12 = await i7.pack.readSlice(i7.offset, 64), n6 = Ol(s12, 0, t6.hashConfig); - if (n6.type === bl.OFS_DELTA) { - const e8 = i7.offset - n6.baseDistance; - if (e8 < 0) return yf3(t6, a7, "OFS_DELTA base offset out of range"); - i7 = { pack: i7.pack, offset: e8 }; + return await (async function(t6, a5, e8, s9) { + let i11 = s9; + for (let s10 = 0; s10 <= Nh; s10 += 1) { + const s11 = await i11.pack.readSlice(i11.offset, 64), n7 = rf(s11, 0, t6.hashConfig); + if (n7.type === Ql.OFS_DELTA) { + const a6 = i11.offset - n7.baseDistance; + if (a6 < 0) return Vf3(t6, e8, "OFS_DELTA base offset out of range"); + i11 = { pack: i11.pack, offset: a6 }; continue; } - if (n6.type === bl.REF_DELTA) { - const s13 = await e7.lookup(n6.baseId); - if (void 0 === s13) return yf3(t6, a7, "REF_DELTA base not claimed by any accessible pack"); - i7 = s13; + if (n7.type === Ql.REF_DELTA) { + const s12 = await a5.lookup(n7.baseId); + if (void 0 === s12) return Vf3(t6, e8, "REF_DELTA base not claimed by any accessible pack"); + i11 = s12; continue; } - return { kind: "typed", objectType: Sl(n6.type) }; - } - return yf3(t6, a7, "delta chain exceeds max depth"); - })(t5, e6, a6, s9); - } catch (e7) { - if (!pf3(e7)) throw e7; - return yf3(t5, a6, "pack entry unreadable"); - } -} -async function bf3(t5, e6, a6, s9, i7) { - if (i7.cache.set(e6, null), "classify" !== s9 || !(function(t6) { - return t6 instanceof o && mf3.has(t6.data.code); - })(a6)) return; - const n6 = await (async function(t6, e7, a7) { - const s10 = Ti2(t6), i8 = await xi2(t6, e7); - if (void 0 === i8) return await (async function(t7, e8, a8) { - const s11 = await gf3(e8, a8); - return void 0 === s11 ? yf3(t7, a8, "not loose and claimed by no accessible pack") : await vf3(t7, e8, a8, s11); - })(t6, s10, e7); - if (0 === i8.length) return { kind: "untyped" }; + return { kind: "typed", objectType: af(n7.type) }; + } + return Vf3(t6, e8, "delta chain exceeds max depth"); + })(t5, a4, e7, s8); + } catch (a5) { + if (!zf3(a5)) throw a5; + return Vf3(t5, e7, "pack entry unreadable"); + } +} +async function Kf3(t5, a4, e7, s8, i11) { + if (i11.cache.set(a4, null), "classify" !== s8 || !(function(t6) { + return t6 instanceof c && qf3.has(t6.data.code); + })(e7)) return; + const n7 = await (async function(t6, a5, e8) { + const s9 = Ls2(t6), i12 = await ms(t6, a5); + if (void 0 === i12) return await (async function(t7, a6, e9) { + const s10 = await Wf3(a6, e9); + return void 0 === s10 ? Vf3(t7, e9, "not loose and claimed by no accessible pack") : await Gf3(t7, a6, e9, s10); + })(t6, s9, a5); + if (0 === i12.length) return { kind: "untyped" }; try { - const { type: e8 } = Ir(await t6.compressor.inflate(i8)); - return { kind: "typed", objectType: e8 }; - } catch (i9) { - if (!lf3(i9)) throw i9; - const n7 = await gf3(s10, e7); - return void 0 === n7 ? lf3(a7) ? { kind: "unrecoverable", cause: a7 } : { kind: "untyped" } : await vf3(t6, s10, e7, n7); - } - })(t5, e6, a6); - "typed" === n6.kind && i7.recovered.set(e6, n6.objectType), "unrecoverable" === n6.kind && i7.unrecoverable.set(e6, n6.cause); -} -async function kf3(t5, e6, a6) { - const s9 = { cache: /* @__PURE__ */ new Map(), unrecoverable: /* @__PURE__ */ new Map(), recovered: /* @__PURE__ */ new Map() }, i7 = await mu2(t5); - for (const n6 of e6) try { - const e7 = await Ui2(t5, n6, { verifyHash: false }), a7 = "commit" === e7.type ? Fm(e7, i7) : e7; - s9.cache.set(n6, hf3(a7)); - } catch (e7) { - await bf3(t5, n6, e7, a6, s9); - } - return s9; -} -function xf3(t5) { - let e6 = ""; - for (const a6 of t5) { - const t6 = a6.codePointAt(0) ?? 0, s9 = t6 >= 32 && t6 <= 126 ? a6 : `\\x${t6.toString(16).toUpperCase().padStart(2, "0")}`; - if (e6.length + s9.length > 200) break; - e6 += s9; + const { type: a6 } = Sr(await t6.compressor.inflate(i12)); + return { kind: "typed", objectType: a6 }; + } catch (i13) { + if (!Ff3(i13)) throw i13; + const n8 = await Wf3(s9, a5); + return void 0 === n8 ? Ff3(e8) ? { kind: "unrecoverable", cause: e8 } : { kind: "untyped" } : await Gf3(t6, s9, a5, n8); + } + })(t5, a4, e7); + "typed" === n7.kind && i11.recovered.set(a4, n7.objectType), "unrecoverable" === n7.kind && i11.unrecoverable.set(a4, n7.cause); +} +async function Yf3(t5, a4, e7) { + const s8 = { cache: /* @__PURE__ */ new Map(), unrecoverable: /* @__PURE__ */ new Map(), recovered: /* @__PURE__ */ new Map() }, i11 = await fl2(t5); + for (const n7 of a4) try { + const a5 = await Ts2(t5, n7), e8 = "commit" === a5.type ? Jp(a5, i11) : a5; + s8.cache.set(n7, Lf3(e8)); + } catch (a5) { + await Kf3(t5, n7, a5, e7, s8); + } + return s8; +} +function Xf3(t5) { + let a4 = ""; + for (const e7 of t5) { + const t6 = e7.codePointAt(0) ?? 0, s8 = t6 >= 32 && t6 <= 126 ? e7 : `\\x${t6.toString(16).toUpperCase().padStart(2, "0")}`; + if (a4.length + s8.length > 200) break; + a4 += s8; } - return e6; + return a4; } -function $f3(t5, e6, a6) { - for (const s9 of e6) { - const e7 = a6.get(s9); - if (void 0 === e7) continue; - const i7 = xf3(e7.data.reason); - throw t5.logger?.warn?.("fsck: object type unrecoverable", { objectId: s9, code: e7.data.code, reason: i7 }), "DECOMPRESS_FAILED" === e7.data.code ? p(i7) : Lt(i7); +function Jf3(t5, a4, e7) { + for (const s8 of a4) { + const a5 = e7.get(s8); + if (void 0 === a5) continue; + const i11 = Xf3(a5.data.reason); + throw t5.logger?.warn?.("fsck: object type unrecoverable", { objectId: s8, code: a5.data.code, reason: i11 }), "DECOMPRESS_FAILED" === a5.data.code ? b(i11) : Bt(i11); } } -function If3(t5) { +function Qf3(t5) { return false !== t5.full && true !== t5.connectivityOnly; } -async function Ef3(t5, e6) { - const a6 = Ti2(t5), s9 = If3(e6), i7 = s9 ? (await a6.health()).unusable : await a6.indexFaults(), n6 = []; - let r6 = 0; - for (const t6 of i7) { - const e7 = eo2(t6.data); - s9 && (n6.push({ type: "index" === t6.layer ? "pack-index-unusable" : "pack-inaccessible", pack: t6.name, reason: e7 }), r6 |= 4), "index" === t6.layer && (n6.push({ type: "pack-rev-index-unusable", pack: t6.name, reason: e7 }), r6 |= 64); +async function Zf3(t5, a4) { + const e7 = Ls2(t5), s8 = Qf3(a4), i11 = s8 ? (await e7.health()).unusable : await e7.indexFaults(), n7 = []; + let r8 = 0; + for (const t6 of i11) { + const a5 = Vo2(t6.data); + s8 && (n7.push({ type: "index" === t6.layer ? "pack-index-unusable" : "pack-inaccessible", pack: t6.name, reason: a5 }), r8 |= 4), "index" === t6.layer && (n7.push({ type: "pack-rev-index-unusable", pack: t6.name, reason: a5 }), r8 |= 64); } - return { findings: n6, exitBit: r6 }; + return { findings: n7, exitBit: r8 }; } -function Cf3(t5, e6) { +function tu3(t5, a4) { if ("commit" === t5.type) { - e6.add(t5.tree); - for (const a6 of t5.parents) e6.add(a6); - } else if ("tree" === t5.type) for (const a6 of t5.entries) a6.mode !== Wt.GITLINK && e6.add(a6.id); - else "tag" === t5.type && e6.add(t5.object); -} -function Tf3(t5, e6) { - const a6 = /* @__PURE__ */ new Set(); - for (const s9 of t5) { - const t6 = e6.get(s9); - null != t6 && Cf3(t6, a6); - } - return a6; -} -function Df3(t5, e6) { - t5.reached.has(e6) || t5.worklist.push(e6); -} -function Hf3(t5, e6, a6) { - t5.reached.add(e6), "commit" === a6.type && (function(t6, e7, a7) { - const { tree: s9, parents: i7 } = a7; - t6.universe.has(s9) ? Df3(t6, s9) : (t6.missingIds.add(s9), t6.brokenEdges.push({ fromId: e7, fromType: "commit", toId: s9, toType: "tree" })); - for (const a8 of i7) t6.universe.has(a8) ? Df3(t6, a8) : (t6.missingIds.add(a8), t6.brokenEdges.push({ fromId: e7, fromType: "commit", toId: a8, toType: "commit" })); - 0 === i7.length && t6.rootCommits.push(e7); - })(t5, e6, a6), "tree" === a6.type && (function(t6, e7, a7) { - for (const s9 of a7.entries) { - if (s9.mode === Wt.GITLINK) continue; - const a8 = s9.mode === Wt.DIRECTORY ? "tree" : "blob"; - t6.universe.has(s9.id) ? Df3(t6, s9.id) : (t6.missingIds.add(s9.id), t6.brokenEdges.push({ fromId: e7, fromType: "tree", toId: s9.id, toType: a8 })); - } - })(t5, e6, a6), "tag" === a6.type && (function(t6, e7, a7) { - const { object: s9, objectType: i7, tagName: n6 } = a7; - t6.universe.has(s9) ? (Df3(t6, s9), t6.tagRefs.push({ tagId: e7, tagName: n6, targetId: s9, targetType: i7 })) : (t6.missingIds.add(s9), t6.brokenEdges.push({ fromId: e7, fromType: "tag", toId: s9, toType: i7 })); - })(t5, e6, a6); -} -function Af3(t5, e6, a6) { - const s9 = { universe: t5, reached: /* @__PURE__ */ new Set(), missingIds: /* @__PURE__ */ new Set(), brokenEdges: [], rootCommits: [], tagRefs: [], worklist: [...e6] }; - for (; s9.worklist.length > 0; ) { - const e7 = s9.worklist.pop(); - if (void 0 === e7 || s9.reached.has(e7)) continue; - if (!t5.has(e7)) { - s9.missingIds.add(e7); + a4.add(t5.tree); + for (const e7 of t5.parents) a4.add(e7); + } else if ("tree" === t5.type) for (const e7 of t5.entries) e7.mode !== Qt.GITLINK && a4.add(e7.id); + else "tag" === t5.type && a4.add(t5.object); +} +function au3(t5, a4) { + const e7 = /* @__PURE__ */ new Set(); + for (const s8 of t5) { + const t6 = a4.get(s8); + null != t6 && tu3(t6, e7); + } + return e7; +} +function eu3(t5, a4) { + t5.reached.has(a4) || t5.worklist.push(a4); +} +function su3(t5, a4, e7) { + t5.reached.add(a4), "commit" === e7.type && (function(t6, a5, e8) { + const { tree: s8, parents: i11 } = e8; + t6.universe.has(s8) ? eu3(t6, s8) : (t6.missingIds.add(s8), t6.brokenEdges.push({ fromId: a5, fromType: "commit", toId: s8, toType: "tree" })); + for (const e9 of i11) t6.universe.has(e9) ? eu3(t6, e9) : (t6.missingIds.add(e9), t6.brokenEdges.push({ fromId: a5, fromType: "commit", toId: e9, toType: "commit" })); + 0 === i11.length && t6.rootCommits.push(a5); + })(t5, a4, e7), "tree" === e7.type && (function(t6, a5, e8) { + for (const s8 of e8.entries) { + if (s8.mode === Qt.GITLINK) continue; + const e9 = s8.mode === Qt.DIRECTORY ? "tree" : "blob"; + t6.universe.has(s8.id) ? eu3(t6, s8.id) : (t6.missingIds.add(s8.id), t6.brokenEdges.push({ fromId: a5, fromType: "tree", toId: s8.id, toType: e9 })); + } + })(t5, a4, e7), "tag" === e7.type && (function(t6, a5, e8) { + const { object: s8, objectType: i11, tagName: n7 } = e8; + t6.universe.has(s8) ? (eu3(t6, s8), t6.tagRefs.push({ tagId: a5, tagName: n7, targetId: s8, targetType: i11 })) : (t6.missingIds.add(s8), t6.brokenEdges.push({ fromId: a5, fromType: "tag", toId: s8, toType: i11 })); + })(t5, a4, e7); +} +function iu3(t5, a4, e7) { + const s8 = { universe: t5, reached: /* @__PURE__ */ new Set(), missingIds: /* @__PURE__ */ new Set(), brokenEdges: [], rootCommits: [], tagRefs: [], worklist: [...a4] }; + for (; s8.worklist.length > 0; ) { + const a5 = s8.worklist.pop(); + if (void 0 === a5 || s8.reached.has(a5)) continue; + if (!t5.has(a5)) { + s8.missingIds.add(a5); continue; } - const i7 = a6.get(e7); - null == i7 ? s9.reached.add(e7) : Hf3(s9, e7, i7); - } - return { reached: s9.reached, missingIds: s9.missingIds, brokenEdges: s9.brokenEdges, rootCommits: s9.rootCommits, tagRefs: s9.tagRefs }; -} -function Rf3(t5, e6, a6) { - const s9 = [], i7 = []; - for (const n6 of t5) e6.has(n6) || (s9.push(n6), a6.has(n6) || i7.push(n6)); - return { unreachable: s9, dangling: i7 }; -} -function Of3(t5, e6, a6) { - const s9 = []; - for (const i7 of t5) null == a6.objectCache.get(i7) && "skip" === a6.unreadable || s9.push({ type: e6, id: i7, objectType: Sf3(i7, a6) }); - return s9; -} -function Sf3(t5, e6) { - const a6 = e6.objectCache.get(t5); - return null != a6 ? a6.type : e6.recovered.get(t5) ?? "unknown"; -} -function Uf3(t5, e6) { - for (const a6 of e6) t5.push(a6); -} -function jf3(t5, e6) { - const { missingIds: a6, brokenEdges: s9, unreachable: i7, dangling: n6, rootCommits: r6, tagRefs: o6 } = t5, c6 = []; - return Uf3(c6, (function(t6, e7, a7) { - const s10 = /* @__PURE__ */ new Map(); - for (const t7 of e7) s10.has(t7.toId) || s10.set(t7.toId, t7.toType); - const i8 = []; - for (const e8 of t6) { - const t7 = s10.get(e8) ?? Sf3(e8, a7); - i8.push({ type: "missing", id: e8, objectType: t7 }); - } - for (const t7 of e7) i8.push({ type: "broken-link", ...t7 }); - return i8; - })(a6, s9, e6)), Uf3(c6, Of3(i7, "unreachable", e6)), Uf3(c6, Of3(n6, "dangling", e6)), Uf3(c6, (function(t6, e7) { - const a7 = []; - for (const e8 of t6) a7.push({ type: "root", id: e8 }); - for (const { tagId: t7, tagName: s10, targetId: i8, targetType: n7 } of e7) a7.push({ type: "tagged", id: i8, objectType: n7, tagName: s10, tag: t7 }); - return a7; - })(r6, o6)), c6; -} -async function Nf3(t5, e6) { - return !!await Ya2(t5, e6) || void 0 !== await Ti2(t5).lookup(e6); -} -async function Mf3(t5, e6, a6, s9) { - return !!e6.has(a6) && (!s9 || Nf3(t5, a6)); -} -async function Pf3(t5, e6, a6, s9) { - const i7 = []; - let n6 = 0; - const r6 = zr2(t5), [o6, c6] = await Promise.all([r6.listRefs(), r6.verifyIntegrity()]); - for (const e7 of c6) { - if ("badRefContent" !== e7.msgId) continue; - let s10 = 2; - a6 && (i7.push({ type: "bad-ref", ref: e7.ref, msgId: "badRefContent", severity: "error" }), s10 |= 8), i7.push({ type: "bad-ref", ref: e7.ref, msgId: "badRefOid", severity: "error", target: cr(t5.hashConfig) }), n6 |= s10; - } - for (const a7 of o6) "direct" === a7.value.kind && (await Mf3(t5, e6, a7.value.id, s9) || (i7.push({ type: "bad-ref", ref: a7.name, msgId: "badRefOid", severity: "error", target: a7.value.id }), n6 |= 2)); - return { findings: i7, exitBit: n6 }; -} -async function _f3(t5, e6, a6) { - const s9 = await a6.revIndex(); - return "absent" !== s9.kind && "unreadable" !== s9.kind && ("refused" === s9.kind ? (e6.push({ type: "pack-rev-index-invalid", pack: a6.name, reason: eo2(s9.data) }), true) : (async function(t6, e7, a7, s10) { - const i7 = await (async function(t7, e8) { - const a8 = e8._bytes.length - t7.hashConfig.digestLength, s11 = await t7.hash.hash(e8._bytes.subarray(0, a8)); - return It(s11, e8._bytes.subarray(a8)); - })(t6, s10); - i7 || e7.push({ type: "pack-rev-index-invalid", pack: a7.name, reason: "invalid checksum" }); - const n6 = ri2(await a7.index()), r6 = (function(t7, e8, a8, s11) { - let i8 = false; - for (let n7 = 0; n7 < a8.objectCount; n7 += 1) { - const r7 = Vh(a8, n7), o6 = s11[n7]; - r7 !== o6 && (t7.push({ type: "pack-rev-index-position-mismatch", pack: e8, position: n7, expected: o6, stored: r7 }), i8 = true); - } - return i8; - })(e7, a7.name, s10, n6); - return !i7 || r6; - })(t5, e6, a6, s9.value)); -} -async function Lf3(t5, e6) { - const a6 = Ti2(t5), s9 = await a6.all(), i7 = []; - let n6 = 0; - for (const e7 of s9) e7.hasRevIndex && await _f3(t5, i7, e7) && (n6 = 64); - return { findings: i7, exitBit: n6 }; -} -var Ff3 = /* @__PURE__ */ new Set(["INVALID_INDEX_HEADER", "INVALID_INDEX_ENTRY"]); -function qf3(t5) { - return t5 instanceof o && Ff3.has(t5.data.code); -} -async function Bf3(t5, e6) { + const i11 = e7.get(a5); + null == i11 ? s8.reached.add(a5) : su3(s8, a5, i11); + } + return { reached: s8.reached, missingIds: s8.missingIds, brokenEdges: s8.brokenEdges, rootCommits: s8.rootCommits, tagRefs: s8.tagRefs }; +} +function nu3(t5, a4, e7) { + const s8 = [], i11 = []; + for (const n7 of t5) a4.has(n7) || (s8.push(n7), e7.has(n7) || i11.push(n7)); + return { unreachable: s8, dangling: i11 }; +} +function ru3(t5, a4, e7) { + const s8 = []; + for (const i11 of t5) null == e7.objectCache.get(i11) && "skip" === e7.unreadable || s8.push({ type: a4, id: i11, objectType: ou3(i11, e7) }); + return s8; +} +function ou3(t5, a4) { + const e7 = a4.objectCache.get(t5); + return null != e7 ? e7.type : a4.recovered.get(t5) ?? "unknown"; +} +function cu3(t5, a4) { + for (const e7 of a4) t5.push(e7); +} +function du3(t5, a4) { + const { missingIds: e7, brokenEdges: s8, unreachable: i11, dangling: n7, rootCommits: r8, tagRefs: o5 } = t5, c5 = []; + return cu3(c5, (function(t6, a5, e8) { + const s9 = /* @__PURE__ */ new Map(); + for (const t7 of a5) s9.has(t7.toId) || s9.set(t7.toId, t7.toType); + const i12 = []; + for (const a6 of t6) { + const t7 = s9.get(a6) ?? ou3(a6, e8); + i12.push({ type: "missing", id: a6, objectType: t7 }); + } + for (const t7 of a5) i12.push({ type: "broken-link", ...t7 }); + return i12; + })(e7, s8, a4)), cu3(c5, ru3(i11, "unreachable", a4)), cu3(c5, ru3(n7, "dangling", a4)), cu3(c5, (function(t6, a5) { + const e8 = []; + for (const a6 of t6) e8.push({ type: "root", id: a6 }); + for (const { tagId: t7, tagName: s9, targetId: i12, targetType: n8 } of a5) e8.push({ type: "tagged", id: i12, objectType: n8, tagName: s9, tag: t7 }); + return e8; + })(r8, o5)), c5; +} +async function fu3(t5, a4) { + return !!await Bo2(t5, a4) || void 0 !== await Ls2(t5).lookup(a4); +} +async function uu3(t5, a4, e7, s8) { + return !!a4.has(e7) && (!s8 || fu3(t5, e7)); +} +async function wu3(t5, a4, e7, s8) { + const i11 = []; + let n7 = 0; + const r8 = md2(t5), [o5, c5] = await Promise.all([r8.listRefs(), r8.verifyIntegrity()]); + for (const a5 of c5) { + if ("badRefContent" !== a5.msgId) continue; + let s9 = 2; + e7 && (i11.push({ type: "bad-ref", ref: a5.ref, msgId: "badRefContent", severity: "error" }), s9 |= 8), i11.push({ type: "bad-ref", ref: a5.ref, msgId: "badRefOid", severity: "error", target: gr(t5.hashConfig) }), n7 |= s9; + } + for (const e8 of o5) "direct" === e8.value.kind && (await uu3(t5, a4, e8.value.id, s8) || (i11.push({ type: "bad-ref", ref: e8.name, msgId: "badRefOid", severity: "error", target: e8.value.id }), n7 |= 2)); + return { findings: i11, exitBit: n7 }; +} +async function hu3(t5, a4, e7) { + const s8 = await e7.revIndex(); + return "absent" !== s8.kind && "unreadable" !== s8.kind && ("refused" === s8.kind ? (a4.push({ type: "pack-rev-index-invalid", pack: e7.name, reason: Vo2(s8.data) }), true) : (async function(t6, a5, e8, s9) { + const i11 = await (async function(t7, a6) { + const e9 = a6._bytes.length - t7.hashConfig.digestLength, s10 = await t7.hash.hash(a6._bytes.subarray(0, e9)); + return xt(s10, a6._bytes.subarray(e9)); + })(t6, s9); + i11 || a5.push({ type: "pack-rev-index-invalid", pack: e8.name, reason: "invalid checksum" }); + const n7 = os2(await e8.index()), r8 = (function(t7, a6, e9, s10) { + let i12 = false; + for (let n8 = 0; n8 < e9.objectCount; n8 += 1) { + const r9 = Ag(e9, n8), o5 = s10[n8]; + r9 !== o5 && (t7.push({ type: "pack-rev-index-position-mismatch", pack: a6, position: n8, expected: o5, stored: r9 }), i12 = true); + } + return i12; + })(a5, e8.name, s9, n7); + return !i11 || r8; + })(t5, a4, e7, s8.value)); +} +async function lu3(t5, a4) { + const e7 = Ls2(t5), s8 = await e7.all(), i11 = []; + let n7 = 0; + for (const a5 of s8) a5.hasRevIndex && await hu3(t5, i11, a5) && (n7 = 64); + return { findings: i11, exitBit: n7 }; +} +var mu3 = "HEAD"; +var pu3 = /* @__PURE__ */ new Set(["INVALID_INDEX_HEADER", "INVALID_INDEX_ENTRY"]); +function gu3(t5) { + return t5 instanceof c && pu3.has(t5.data.code); +} +async function yu3(t5, a4) { try { - return await Nf3(t5, e6); + return await fu3(t5, a4); } catch (t6) { if (!(function(t7) { - return t7 instanceof o && "INVALID_MULTI_PACK_INDEX" === t7.data.code && ("pack-int-id" === t7.data.check || "large-offset" === t7.data.check); + return t7 instanceof c && "INVALID_MULTI_PACK_INDEX" === t7.data.code && ("pack-int-id" === t7.data.check || "large-offset" === t7.data.check); })(t6)) throw t6; return; } } -async function Wf3(t5, e6, a6) { - const s9 = await (async function(t6) { +var vu3 = /* @__PURE__ */ new Set(["REF_NOT_FOUND", "INVALID_REF", "REF_CHAIN_TOO_DEEP", "REF_CYCLE_DETECTED"]); +function bu3(t5) { + const a4 = to2(t5); + return void 0 !== a4 && vu3.has(a4); +} +async function ku3(t5, a4, e7, s8) { + const i11 = await yw2(t5); + let n7 = false; + for (const r8 of i11) try { + const s9 = await Wf2(t5, r8, { peel: false }); + void 0 === e7 || e7.has(s9) ? a4.add(s9) : n7 = true; + } catch (t6) { + if (true === s8 && !bu3(t6)) throw t6; + } + return n7; +} +function xu3(t5, a4, e7) { + for (const s8 of a4) s8.oldId !== e7 && t5.add(s8.oldId), s8.newId !== e7 && t5.add(s8.newId); +} +async function $u3(t5, a4, e7) { + const s8 = await bl2(t5), i11 = gr(t5.hashConfig); + await Lo2(t5, "ioBound", s8, async (s9) => { + if (true !== e7) try { + xu3(a4, await pl2(t5, s9), i11); + } catch { + } + else xu3(a4, await ml2(t5, s9), i11); + }); +} +async function Iu3(t5, a4, e7) { + const s8 = await (async function(t6) { try { - return await Cd2(t6); + return await hf2(t6); } catch (t7) { - if (!qf3(t7)) throw t7; + if (!gu3(t7)) throw t7; return; } })(t5); - if (void 0 === s9) return false; - for (const t6 of s9.entries) 0 === t6.flags.stage && e6.add(t6.id); - const i7 = (function(t6, e7) { - const a7 = e7.extensions.find((t7) => "TREE" === t7.signature); - if (void 0 !== a7) try { - return ao(a7.data, t6.hashConfig.digestLength); + if (void 0 === s8) return false; + for (const t6 of s8.entries) 0 === t6.flags.stage && a4.add(t6.id); + const i11 = (function(t6, a5) { + const e8 = a5.extensions.find((t7) => "TREE" === t7.signature); + if (void 0 !== e8) try { + return Ao(e8.data, t6.hashConfig.digestLength); } catch (t7) { - if (!qf3(t7)) throw t7; + if (!gu3(t7)) throw t7; return; } - })(t5, s9); - return void 0 !== i7 && (async function(t6, e7, a7, s10) { - const i8 = [e7]; - let n6 = false; - for (; i8.length > 0; ) { - const e8 = i8.pop(); - if (void 0 !== e8.id) { - if (false === await Bf3(t6, e8.id)) { - n6 = true; + })(t5, s8); + return void 0 !== i11 && (async function(t6, a5, e8, s9) { + const i12 = [a5]; + let n7 = false; + for (; i12.length > 0; ) { + const a6 = i12.pop(); + if (void 0 !== a6.id) { + if (false === await yu3(t6, a6.id)) { + n7 = true; continue; } - s10.has(e8.id) && a7.add(e8.id); + (void 0 === s9 || s9.has(a6.id)) && e8.add(a6.id); } - for (const t7 of e8.children) i8.push(t7); + for (const t7 of a6.children) i12.push(t7); } - return n6; - })(t5, i7, e6, a6); + return n7; + })(t5, i11, a4, e7); } -async function zf3(t5, e6, a6) { - const s9 = /* @__PURE__ */ new Set(), i7 = await (async function(t6, e7, a7) { - const s10 = await dl2(t6); - let i8 = false; - for (const n6 of s10) try { - const s11 = await eu2(t6, n6, { peel: false }); - a7.has(s11) ? e7.add(s11) : i8 = true; - } catch { - } - return i8; - })(t5, s9, a6); - return false !== e6.reflogRoots && await (async function(t6, e7) { - const a7 = await Iu2(t6), s10 = cr(t6.hashConfig); - await Promise.all(a7.map(async (a8) => { - try { - const i8 = await vu2(t6, a8); - for (const t7 of i8) t7.oldId !== s10 && e7.add(t7.oldId), t7.newId !== s10 && e7.add(t7.newId); - } catch { - } - })); - })(t5, s9), { roots: s9, missingEntryPoint: false !== e6.indexRoot && await Wf3(t5, s9, a6), sawAbsentRefTarget: i7 }; -} -var Vf3 = (t5, e6) => Object.freeze({ list: () => (e6(), Hr3(t5)), create: (a6) => (e6(), Or3(t5, a6)), delete: (a6) => (e6(), Sr3(t5, a6)), rename: (a6) => (e6(), Ur3(t5, a6)) }); -var Kf3 = (t5, e6) => Object.freeze({ create: (a6) => (e6(), Vr3(t5, a6)), verify: (a6) => (e6(), Qr3(t5, a6)), listHeads: (a6) => (e6(), Yr3(t5, a6)) }); -var Gf3 = (t5, e6) => Object.freeze({ run: (a6) => (e6(), Wo3(t5, a6)), continue: (a6) => (e6(), Vo3(t5, a6)), skip: (a6) => (e6(), Ko3(t5, a6)), abort: () => (e6(), Go3(t5)) }); -var Jf3 = (t5, e6) => Object.freeze({ get: (a6) => (e6(), gd3(t5, a6)), getAll: (a6) => (e6(), yd3(t5, a6)), getRegexp: (a6) => (e6(), vd3(t5, a6)), list: (a6) => (e6(), bd3(t5, a6)), set: (a6) => (e6(), kd3(t5, a6)), unset: (a6) => (e6(), xd3(t5, a6)), unsetAll: (a6) => (e6(), $d3(t5, a6)), renameSection: (a6) => (e6(), Id3(t5, a6)), removeSection: (a6) => (e6(), Ed3(t5, a6)) }); -var Yf3 = async (t5, e6, a6 = {}) => { - const s9 = await Xf3(t5, e6, a6); - return "fast-forward" !== s9.kind && "merge" !== s9.kind || await Wl2(t5, "post-merge", { args: ["0"] }), s9; -}; -var Xf3 = async (t5, e6, a6) => { - await hc2(t5), wc2(t5, "merge"), await vc2(t5); - const s9 = await mc2(t5); - if ("symbolic" !== s9.kind) throw h("merge", "cannot merge with detached HEAD"); - const i7 = await eu2(t5, s9.target), n6 = await Cr3(t5, e6.rev); - if (i7 === n6) return { kind: "up-to-date", id: i7 }; - const [o6] = await wl2(t5, [i7, n6]); - if (o6 === n6) return { kind: "up-to-date", id: i7 }; - if (o6 === i7 && "never" !== e6.fastForward) return au3(t5, await Iu3(t5, n6), async () => (await nc2(t5, s9.target, n6, { expected: i7, reflogMessage: `${a6.reflogAction ?? `merge ${e6.rev}`}: Fast-forward` }), { kind: "fast-forward", id: n6, branch: s9.target })); - if ("only" === e6.fastForward) throw W(s9.target, i7, n6); - return tu3(t5, e6, a6, s9.target, i7, n6, o6); -}; -var Qf3 = "merge:write-files"; -var Zf3 = /* @__PURE__ */ new Set(["rename-rename", "gitlink"]); -var tu3 = async (t5, e6, a6, s9, i7, n6, r6) => { - t5.progress.start(Qf3); +async function Eu3(t5, a4, e7) { + const s8 = /* @__PURE__ */ new Set(), i11 = await ku3(t5, s8, e7); + return false !== a4.reflogRoots && await $u3(t5, s8), { roots: s8, missingEntryPoint: false !== a4.indexRoot && await Iu3(t5, s8, e7), sawAbsentRefTarget: i11 }; +} +async function Cu3(t5, a4) { + try { + a4.add(await Wf2(t5, mu3, { peel: false })); + } catch (t6) { + if (!bu3(t6)) throw t6; + } + xu3(a4, await ml2(t5, mu3), gr(t5.hashConfig)), await Iu3(t5, a4); +} +async function Du3(t5, a4, e7, s8) { + let i11; try { - const o6 = await iu3(t5, i7, n6, r6, e6.rev); - return "conflict" === o6.kind ? du3(t5, e6, o6, i7, n6) : su3(t5, e6, a6, s9, i7, n6, o6.tree); + i11 = GE(s8, (await t5.fs.readUtf8(`${s8}/gitdir`)).trim()); + } catch (t6) { + if ("FILE_NOT_FOUND" === to2(t6)) return; + throw t6; + } + const n7 = ((t6) => t6.endsWith("/.git") ? t6.slice(0, -5) : t6)(i11), r8 = fm2(t5, e7, n7); + await Cu3(r8, a4); +} +async function Tu3(t5) { + const a4 = /* @__PURE__ */ new Set(); + return await ku3(t5, a4, void 0, true), await $u3(t5, a4, true), await Iu3(t5, a4), await (async function(t6, a5) { + if ((function(t7) { + return t7.layout.gitDir === oo2(t7); + })(t6)) return; + const { promisor: e7, hooks: s8, command: i11, ...n7 } = t6, r8 = bw2(n7, { layout: Object.freeze({ ...t6.layout, gitDir: oo2(t6) }) }); + await Cu3(r8, a5); + })(t5, a4), await (async function(t6, a5) { + const e7 = `${oo2(t6)}/worktrees`; + if (await t6.fs.exists(e7)) for (const s8 of await t6.fs.readdir(e7)) { + if (!s8.isDirectory) continue; + const i11 = `${e7}/${s8.name}`; + i11 !== t6.layout.gitDir && await Du3(t6, a5, s8.name, i11); + } + })(t5, a4), a4; +} +var Hu3 = (t5, a4) => Object.freeze({ list: () => (a4(), ao3(t5)), create: (e7) => (a4(), io3(t5, e7)), delete: (e7) => (a4(), no3(t5, e7)), rename: (e7) => (a4(), ro3(t5, e7)) }); +var Ou3 = (t5, a4) => Object.freeze({ create: (e7) => (a4(), vo3(t5, e7)), verify: (e7) => (a4(), Eo2(t5, e7)), listHeads: (e7) => (a4(), $o3(t5, e7)) }); +var Au3 = (t5, a4) => Object.freeze({ run: (e7) => (a4(), pc3(t5, e7)), continue: (e7) => (a4(), yc3(t5, e7)), skip: (e7) => (a4(), vc3(t5, e7)), abort: () => (a4(), bc3(t5)) }); +var Su3 = (t5, a4) => Object.freeze({ get: (e7) => (a4(), qd3(t5, e7)), getAll: (e7) => (a4(), zd3(t5, e7)), getRegexp: (e7) => (a4(), Wd3(t5, e7)), list: (e7) => (a4(), Vd3(t5, e7)), set: (e7) => (a4(), Gd3(t5, e7)), unset: (e7) => (a4(), Kd3(t5, e7)), unsetAll: (e7) => (a4(), Yd3(t5, e7)), renameSection: (e7) => (a4(), Xd3(t5, e7)), removeSection: (e7) => (a4(), Jd3(t5, e7)) }); +var Ru3 = async (t5, a4, e7 = {}) => { + const s8 = await ju3(t5, a4, e7); + return "fast-forward" !== s8.kind && "merge" !== s8.kind || await Cy2(t5, "post-merge", { args: ["0"] }), s8; +}; +var ju3 = async (t5, a4, e7) => { + await Gd2(t5), Kd2(t5, "merge"), await Zd2(t5); + const s8 = await qd2(t5); + if ("symbolic" !== s8.kind) throw w("merge", "cannot merge with detached HEAD"); + const i11 = await Wf2(t5, s8.target), n7 = await Qr3(t5, a4.rev); + if (i11 === n7) return { kind: "up-to-date", id: i11 }; + const [o5] = await kw2(t5, [i11, n7]); + if (o5 === n7) return { kind: "up-to-date", id: i11 }; + if (o5 === i11 && "never" !== a4.fastForward) return _u3(t5, await ow3(t5, n7), async () => (await Md2(t5, s8.target, n7, { expected: i11, reflogMessage: `${e7.reflogAction ?? `merge ${a4.rev}`}: Fast-forward` }), { kind: "fast-forward", id: n7, branch: s8.target })); + if ("only" === a4.fastForward) throw X(s8.target, i11, n7); + return Mu3(t5, a4, e7, s8.target, i11, n7, o5); +}; +var Nu3 = "merge:write-files"; +var Uu3 = /* @__PURE__ */ new Set(["rename-rename", "gitlink"]); +var Mu3 = async (t5, a4, e7, s8, i11, n7, r8) => { + t5.progress.start(Nu3); + try { + const o5 = await Lu3(t5, i11, n7, r8, a4.rev); + return "conflict" === o5.kind ? Vu3(t5, a4, o5, i11, n7) : Bu3(t5, a4, e7, s8, i11, n7, o5.tree); } finally { - t5.progress.end(Qf3); + t5.progress.end(Nu3); } }; -var eu3 = (t5) => t5 instanceof o && "CHECKOUT_OVERWRITE_DIRTY" === t5.data.code ? $({ localChanges: t5.data.localChanges, untracked: t5.data.untracked }) : t5; -var au3 = async (t5, e6, a6) => { - const s9 = await Ld2(t5); +var Pu3 = (t5) => t5 instanceof c && "CHECKOUT_OVERWRITE_DIRTY" === t5.data.code ? L({ localChanges: t5.data.localChanges, untracked: t5.data.untracked }) : t5; +var _u3 = async (t5, a4, e7) => { + const s8 = await kf2(t5); try { - const i7 = await (async (t6, e7) => { - const a7 = await Cd2(t6); + const i11 = await (async (t6, a5) => { + const e8 = await hf2(t6); try { - return (await xd2(t6, { targetTree: e7, currentIndex: a7, force: false })).newIndexEntries; + return (await df2(t6, { targetTree: a5, currentIndex: e8, force: false })).newIndexEntries; } catch (t7) { - throw eu3(t7); + throw Pu3(t7); } - })(t5, e6); - return await s9.commit(i7), await a6(); + })(t5, a4); + return await s8.commit(i11), await e7(); } finally { - await s9.release(); + await s8.release(); } }; -var su3 = async (t5, e6, a6, s9, i7, n6, r6) => { - const o6 = await xu2(t5, e6), c6 = $u3(e6, o6), d5 = Oo3(e6.message ?? `Merge ${e6.rev}`, { allowEmpty: false }), f2 = { tree: r6, parents: [i7, n6], author: o6, committer: c6, message: d5, extraHeaders: [] }; - return au3(t5, r6, async () => { - const r7 = await vh2(t5, f2); - return await nc2(t5, s9, r7, { expected: i7, reflogMessage: `${a6.reflogAction ?? `merge ${e6.rev}`}: Merge made by the 'tsgit' strategy.` }), { kind: "merge", id: r7, branch: s9, parents: [i7, n6] }; +var Bu3 = async (t5, a4, e7, s8, i11, n7, r8) => { + const o5 = await nw3(t5, a4), c5 = rw3(a4, o5), d6 = ic3(a4.message ?? `Merge ${a4.rev}`, { allowEmpty: false }), f2 = { tree: r8, parents: [i11, n7], author: o5, committer: c5, message: d6, extraHeaders: [] }; + return _u3(t5, r8, async () => { + const r9 = await np2(t5, f2); + return await Md2(t5, s8, r9, { expected: i11, reflogMessage: `${e7.reflogAction ?? `merge ${a4.rev}`}: Merge made by the 'tsgit' strategy.` }), { kind: "merge", id: r9, branch: s8, parents: [i11, n7] }; }); }; -var iu3 = async (t5, e6, a6, s9, i7) => { - const n6 = await Iu3(t5, e6), r6 = await Iu3(t5, a6), o6 = void 0 !== s9 ? await Iu3(t5, s9) : void 0, [c6, d5, f2] = await Promise.all([dh2(t5, n6), dh2(t5, r6), void 0 !== o6 ? dh2(t5, o6) : Promise.resolve(void 0)]), u6 = Hi(i7, s9), w4 = th2(t5, u6), h6 = await ga(f2, c6, d5, w4, u6); - return h6.cleanMerge ? { kind: "clean", tree: await nu3(t5, h6.outcomes) } : { kind: "conflict", outcomes: h6.outcomes, conflicts: h6.conflicts, ours: c6.entries }; -}; -var nu3 = async (t5, e6) => { - const a6 = await (async (t6, e7) => { - const a7 = []; - for (const s9 of e7) if ("resolved-deleted" !== s9.status && "conflict" !== s9.status) { - if ("resolved-merged" === s9.status) { - const e8 = await qd2(t6, { type: "blob", content: s9.bytes, id: "" }); - a7.push({ path: s9.path, id: e8, mode: s9.mode }); +var Lu3 = async (t5, a4, e7, s8, i11) => { + const n7 = await ow3(t5, a4), r8 = await ow3(t5, e7), o5 = void 0 !== s8 ? await ow3(t5, s8) : void 0, [c5, d6, f2] = await Promise.all([Wy2(t5, n7), Wy2(t5, r8), void 0 !== o5 ? Wy2(t5, o5) : Promise.resolve(void 0)]), u6 = ia(i11, s8), w6 = By2(t5, u6), h5 = await ka(f2, c5, d6, w6, u6); + return h5.cleanMerge ? { kind: "clean", tree: await Fu3(t5, h5.outcomes) } : { kind: "conflict", outcomes: h5.outcomes, conflicts: h5.conflicts, ours: c5.entries }; +}; +var Fu3 = async (t5, a4) => { + const e7 = await (async (t6, a5) => { + const e8 = []; + for (const s8 of a5) if ("resolved-deleted" !== s8.status && "conflict" !== s8.status) { + if ("resolved-merged" === s8.status) { + const a6 = await Rf2(t6, { type: "blob", content: s8.bytes, id: "" }); + e8.push({ path: s8.path, id: a6, mode: s8.mode }); continue; } - a7.push({ path: s9.path, id: s9.id, mode: s9.mode }); + e8.push({ path: s8.path, id: s8.id, mode: s8.mode }); } - return a7; - })(t5, e6); - return cu3(t5, a6); + return e8; + })(t5, a4); + return Wu3(t5, e7); }; -var ru3 = (t5) => { - const e6 = [], a6 = /* @__PURE__ */ new Map(); - for (const s9 of t5) { - const t6 = s9.path.indexOf("/"); +var qu3 = (t5) => { + const a4 = [], e7 = /* @__PURE__ */ new Map(); + for (const s8 of t5) { + const t6 = s8.path.indexOf("/"); if (-1 === t6) { - e6.push(s9); + a4.push(s8); continue; } - const i7 = s9.path.slice(0, t6), n6 = { path: s9.path.slice(t6 + 1), id: s9.id, mode: s9.mode }, r6 = a6.get(i7); - void 0 === r6 ? a6.set(i7, [n6]) : r6.push(n6); - } - return { files: e6, subdirs: a6 }; -}; -var ou3 = (t5) => t5.map((t6) => ({ name: t6.path, id: t6.id, mode: t6.mode })); -var cu3 = async (t5, e6) => (async (t6, e7) => { - const a6 = ou3(e7.rootFiles), s9 = e7.frames.map((t7) => ou3(t7.files)); - for (let i7 = e7.levels.length - 1; i7 >= 0; i7 -= 1) { - const n6 = await Promise.all(e7.levels[i7].map(async (e8) => ({ index: e8, id: await Hl2(t6, s9[e8]) }))); - for (const { index: t7, id: i8 } of n6) { - const n7 = e7.frames[t7]; - (-1 === n7.parentIndex ? a6 : s9[n7.parentIndex]).push({ name: n7.name, id: i8, mode: Wt.DIRECTORY }); - } - } - return Hl2(t6, a6); -})(t5, ((t6, e7) => { - if (e7 < 0) throw Ht(0); - const { files: a6, subdirs: s9 } = ru3(t6), i7 = [], n6 = []; - let r6 = []; - for (const [t7, e8] of s9) r6.push({ name: t7, leaves: e8, parentIndex: -1 }); - let o6 = 1; - for (; r6.length > 0; ) { - if (o6 > e7) throw Ht(o6); - const t7 = [], a7 = []; - for (const e8 of r6) { - const s10 = i7.length, { files: n7, subdirs: r7 } = ru3(e8.leaves); - i7.push({ name: e8.name, files: n7, parentIndex: e8.parentIndex }), t7.push(s10); - for (const [t8, e9] of r7) a7.push({ name: t8, leaves: e9, parentIndex: s10 }); - } - n6.push(t7), r6 = a7, o6 += 1; - } - return { rootFiles: a6, frames: i7, levels: n6 }; -})(e6, await wd2(t5))); -var du3 = async (t5, e6, a6, s9, i7) => { - fu3(a6.conflicts); - const n6 = await Cd2(t5), r6 = sh2(a6.outcomes, a6.conflicts, a6.ours), { localChanges: o6, untracked: c6 } = await ch2(t5, r6, n6); - if (o6.length > 0 || c6.length > 0) throw $({ localChanges: o6, untracked: c6 }); - const d5 = await Ed2(t5), f2 = await Ld2(t5); + const i11 = s8.path.slice(0, t6), n7 = { path: s8.path.slice(t6 + 1), id: s8.id, mode: s8.mode }, r8 = e7.get(i11); + void 0 === r8 ? e7.set(i11, [n7]) : r8.push(n7); + } + return { files: a4, subdirs: e7 }; +}; +var zu3 = (t5) => t5.map((t6) => Vr(t6.mode, t6.path, t6.id)); +var Wu3 = async (t5, a4) => (async (t6, a5) => { + const e7 = zu3(a5.rootFiles), s8 = a5.frames.map((t7) => zu3(t7.files)); + for (let i11 = a5.levels.length - 1; i11 >= 0; i11 -= 1) { + const n7 = await Lo2(t6, "ioBound", a5.levels[i11], async (a6) => ({ index: a6, id: await Sy2(t6, s8[a6]) })); + for (const { index: t7, id: i12 } of n7) { + const n8 = a5.frames[t7]; + (-1 === n8.parentIndex ? e7 : s8[n8.parentIndex]).push(Vr(Qt.DIRECTORY, n8.name, i12)); + } + } + return Sy2(t6, e7); +})(t5, ((t6, a5) => { + if (a5 < 0) throw Xt(0); + const { files: e7, subdirs: s8 } = qu3(t6), i11 = [], n7 = []; + let r8 = []; + for (const [t7, a6] of s8) r8.push({ name: t7, leaves: a6, parentIndex: -1 }); + let o5 = 1; + for (; r8.length > 0; ) { + if (o5 > a5) throw Xt(o5); + const t7 = [], e8 = []; + for (const a6 of r8) { + const s9 = i11.length, { files: n8, subdirs: r9 } = qu3(a6.leaves); + i11.push({ name: a6.name, files: n8, parentIndex: a6.parentIndex }), t7.push(s9); + for (const [t8, a7] of r9) e8.push({ name: t8, leaves: a7, parentIndex: s9 }); + } + n7.push(t7), r8 = e8, o5 += 1; + } + return { rootFiles: e7, frames: i11, levels: n7 }; +})(a4, await Vu2(t5))); +var Vu3 = async (t5, a4, e7, s8, i11) => { + Gu3(e7.conflicts); + const n7 = await hf2(t5), r8 = zy2(e7.outcomes, e7.conflicts, e7.ours), { localChanges: o5, untracked: c5 } = await Hy2(t5, r8, n7); + if (o5.length > 0 || c5.length > 0) throw L({ localChanges: o5, untracked: c5 }); + qy2(e7.outcomes, e7.conflicts, r8); + const d6 = await gf2(t5), f2 = await kf2(t5); try { - await wu3(t5, a6.outcomes, a6.conflicts, r6, d5), await An2(t5, s9), await (async (t6, e7) => { - await t6.fs.writeUtf8(Cn(t6), `${e7} + await Yu3(t5, e7.outcomes, e7.conflicts, r8, d6), await er3(t5, s8), await (async (t6, a5) => { + await t6.fs.writeUtf8(Qn2(t6), `${a5} `); - })(t5, i7); - const n7 = Oo3(e6.message ?? `Merge ${e6.rev}`, { allowEmpty: false }); - await Hn(t5, n7); - const o7 = ku2(a6.outcomes, a6.conflicts, d5); - await f2.commit(o7); + })(t5, i11); + const n8 = ic3(a4.message ?? `Merge ${a4.rev}`, { allowEmpty: false }); + await ar3(t5, n8); + const o6 = iw3(e7.outcomes, e7.conflicts, d6); + await f2.commit(o6); } finally { await f2.release(); } - return { kind: "conflict", conflicts: a6.conflicts.map((t6) => ({ path: t6.path, type: t6.type })), mergeHead: i7, origHead: s9 }; -}; -var fu3 = (t5) => { - for (const e6 of t5) if (Zf3.has(e6.type)) throw h("merge", `conflict type '${e6.type}' not supported in v1 (path=${e6.path})`); -}; -var uu3 = (t5, e6) => void 0 !== t5 && !t5(e6); -var wu3 = async (t5, e6, a6, s9, i7) => { - const n6 = e6.filter((t6) => "conflict" !== t6.status && s9.has(t6.path)), r6 = Lc2(t5); - await hu3(n6, 32, (e7) => lu3(t5, e7, i7, r6)), await hu3(a6, 32, (e7) => mu3(t5, e7, r6)); -}; -var hu3 = async (t5, e6, a6) => { - await Eu2(t5, e6, a6); -}; -var lu3 = async (t5, e6, a6, s9) => { - if ("unchanged" === e6.status || "resolved-known" === e6.status) { - if (uu3(a6, e6.path)) return; - const i7 = await id2(t5, e6.id); - return void await Uc2(t5, e6.path, i7, s9); - } - "resolved-merged" !== e6.status ? "resolved-deleted" === e6.status && await Ac2(t5, e6.path) : await Rc2(t5, e6.path, e6.bytes, s9); -}; -var mu3 = async (t5, e6, a6) => { - if ("distinct-types" === e6.type) return void await lh2(t5, e6, a6); - const s9 = e6.mergedMode ?? e6.ourMode ?? e6.theirMode; - if (void 0 === s9) return; - const i7 = await vu3(t5, e6); - void 0 !== i7 && await _c2(t5, e6.path, i7, s9, a6); -}; -var pu3 = { maxBytes: xi }; -var gu2 = (t5, e6) => { - if (void 0 !== e6.ourId) return Bc2(t5, e6.ourId, pu3).then((t6) => t6.content); -}; -var yu3 = async (t5, e6) => void 0 !== e6.conflictContent ? e6.conflictContent : gu2(t5, e6); -var vu3 = async (t5, e6) => { - if ("content" === e6.type) return yu3(t5, e6); - if ("add-add" === e6.type) return yu3(t5, e6); - if ("binary" === e6.type) return gu2(t5, e6); - if ("type-change" === e6.type) return gu2(t5, e6); - if ("modify-delete" === e6.type) { - const a6 = e6.ourId ?? e6.theirId; - if (void 0 === a6) return; - return (await Bc2(t5, a6, pu3)).content; - } -}; -var bu2 = (t5) => ({ ctimeSeconds: 0, ctimeNanoseconds: 0, mtimeSeconds: 0, mtimeNanoseconds: 0, dev: 0, ino: 0, mode: t5, uid: 0, gid: 0, fileSize: 0 }); -var ku2 = (t5, e6, a6) => { - const s9 = []; - for (const e7 of t5) "unchanged" !== e7.status && "resolved-known" !== e7.status || s9.push(uu3(a6, e7.path) ? er({ path: e7.path, id: e7.id, mode: e7.mode }) : { ...bu2(e7.mode), id: e7.id, flags: Zn, path: e7.path }); - const i7 = So(e6, bu2), n6 = [...s9, ...i7]; - return n6.sort((t6, e7) => t6.path < e7.path ? -1 : t6.path > e7.path ? 1 : t6.flags.stage - e7.flags.stage), n6; -}; -var xu2 = async (t5, e6) => { - const a6 = await Hi2(t5), s9 = void 0 !== a6.user?.name && void 0 !== a6.user?.email ? { name: a6.user.name, email: a6.user.email, timestamp: Math.floor(Date.now() / 1e3), timezoneOffset: "+0000" } : void 0, i7 = {}; - return void 0 !== e6.author && (i7.explicit = e6.author), void 0 !== s9 && (i7.configUser = s9), Ao3(i7); -}; -var $u3 = (t5, e6) => { - const a6 = { author: e6 }; - return void 0 !== t5.committer && (a6.explicit = t5.committer), Ro3(a6); -}; -var Iu3 = async (t5, e6) => { - const a6 = await Ui2(t5, e6); - if ("commit" !== a6.type) throw Bt("commit", a6.type, e6); - return a6.data.tree; -}; -var Eu3 = (t5, e6) => Object.freeze({ run: (a6) => (e6(), Yf3(t5, a6)), continue: (a6) => (e6(), Cd3(t5, a6)), abort: () => (e6(), Nn(t5)) }); -var Cu3 = /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/; -var Tu3 = async (t5, e6) => Dr(e6, t5.hashConfig) ? e6 : eu2(t5, e6); -var Du3 = async (t5, e6) => { - await hc2(t5); - const a6 = await Tu3(t5, e6.object), s9 = await tm2(t5, e6.ref), { trie: i7, read: n6, notesCommitOid: r6 } = await Yw2(t5, s9); - if (void 0 !== await tE(i7, a6, n6) && true !== e6.force) throw it(a6); - const o6 = await qd2(t5, { type: "blob", id: "", content: e6.content }), c6 = await eE(i7, a6, o6, n6), d5 = await Uo3(t5), f2 = await pm2(t5, { trie: c6, read: n6, prevCommitOid: r6, message: "Notes added by 'git notes add'\n", author: d5 }); - return await nc2(t5, s9, f2, { reflogMessage: "notes: Notes added by 'git notes add'" }), { notesCommit: f2, note: o6 }; -}; -var Hu3 = async (t5, e6) => { - await hc2(t5); - const a6 = await Tu3(t5, e6.object), s9 = await tm2(t5, e6.ref), { trie: i7, read: n6 } = await Yw2(t5, s9), r6 = await tE(i7, a6, n6); - return void 0 === r6 ? null : { object: a6, note: r6, content: (await Bc2(t5, r6)).content }; -}; -var Au3 = async (e6, a6) => { - await hc2(e6); - const s9 = await tm2(e6, a6?.ref), { notesTreeOid: i7 } = await Yw2(e6, s9); - if (void 0 === i7) return []; - const n6 = []; - for await (const a7 of yd2(e6, i7)) { - if (a7.mode !== Wt.REGULAR) continue; - const e7 = a7.path.split("/").join(""); - Cu3.test(e7) && n6.push({ object: sr.from(e7), note: a7.id }); - } - return n6.sort((t5, e7) => t5.object < e7.object ? -1 : 1); -}; -var Ru3 = async (t5, e6) => { - await hc2(t5); - const a6 = await Tu3(t5, e6.object), s9 = await tm2(t5, e6.ref), { trie: i7, read: n6, notesCommitOid: r6 } = await Yw2(t5, s9); - if (void 0 === r6) throw at(a6); - if (void 0 === await tE(i7, a6, n6)) throw at(a6); - const o6 = await nE(i7, a6, n6), c6 = await Uo3(t5), d5 = await pm2(t5, { trie: o6, read: n6, prevCommitOid: r6, message: "Notes removed by 'git notes remove'\n", author: c6 }); - return await nc2(t5, s9, d5, { reflogMessage: "notes: Notes removed by 'git notes remove'" }), { notesCommit: d5 }; -}; -var Ou3 = (t5, e6) => Object.freeze({ add: (a6) => (e6(), Du3(t5, a6)), read: (a6) => (e6(), Hu3(t5, a6)), list: (a6) => (e6(), Au3(t5, a6)), remove: (a6) => (e6(), Ru3(t5, a6)) }); -var Su3 = (t5) => `${t5.layout.gitDir}/rebase-merge`; -var Uu3 = (t5, e6) => `${Su3(t5)}/${e6}`; -var ju3 = (t5) => `${t5.layout.gitDir}/REBASE_HEAD`; -var Nu3 = (t5) => t5.map(([t6, e6]) => `${t6} ${e6} + return { kind: "conflict", conflicts: e7.conflicts.map((t6) => ({ path: t6.path, type: t6.type })), mergeHead: i11, origHead: s8 }; +}; +var Gu3 = (t5) => { + for (const a4 of t5) if (Uu3.has(a4.type)) throw w("merge", `conflict type '${a4.type}' not supported in v1 (path=${a4.path})`); +}; +var Ku3 = (t5, a4) => void 0 !== t5 && !t5(a4); +var Yu3 = async (t5, a4, e7, s8, i11) => { + const n7 = a4.filter((t6) => "conflict" !== t6.status && s8.has(t6.path)), r8 = cu2(t5); + await Xu3(t5, n7, (a5) => Ju3(t5, a5, i11, r8)), await Xu3(t5, e7, (a5) => Qu3(t5, a5, r8)); +}; +var Xu3 = async (t5, a4, e7) => { + await Lo2(t5, "ioBound", a4, e7); +}; +var Ju3 = async (t5, a4, e7, s8) => { + if ("conflict" !== a4.status && bo(a4.path, wo, "resolved-deleted" === a4.status ? Qt.REGULAR : a4.mode), "unchanged" === a4.status || "resolved-known" === a4.status) { + if (Ku3(e7, a4.path)) return; + const i11 = await Au2(t5, a4.id); + return void await pu2(t5, a4.path, i11, s8); + } + "resolved-merged" !== a4.status ? "resolved-deleted" === a4.status && await mu2(t5, a4.path) : await hu2(t5, a4.path, a4.bytes, s8); +}; +var Qu3 = async (t5, a4, e7) => { + const s8 = a4.mergedMode ?? a4.ourMode ?? a4.theirMode; + if (bo(a4.path, wo, s8 ?? Qt.REGULAR), "distinct-types" === a4.type) return void await Vy2(t5, a4, e7); + if (void 0 === s8) return; + const i11 = await ew3(t5, a4); + void 0 !== i11 && await wu2(t5, a4.path, i11, s8, e7); +}; +var Zu3 = { maxBytes: Xi }; +var tw3 = (t5, a4) => { + if (void 0 !== a4.ourId) return gu2(t5, a4.ourId, Zu3).then((t6) => t6.content); +}; +var aw3 = async (t5, a4) => void 0 !== a4.conflictContent ? a4.conflictContent : tw3(t5, a4); +var ew3 = async (t5, a4) => { + if ("content" === a4.type) return aw3(t5, a4); + if ("add-add" === a4.type) return aw3(t5, a4); + if ("binary" === a4.type) return tw3(t5, a4); + if ("type-change" === a4.type) return tw3(t5, a4); + if ("modify-delete" === a4.type) { + const e7 = a4.ourId ?? a4.theirId; + if (void 0 === e7) return; + return (await gu2(t5, e7, Zu3)).content; + } +}; +var sw3 = (t5) => ({ ctimeSeconds: 0, ctimeNanoseconds: 0, mtimeSeconds: 0, mtimeNanoseconds: 0, dev: 0, ino: 0, mode: t5, uid: 0, gid: 0, fileSize: 0 }); +var iw3 = (t5, a4, e7) => { + const s8 = []; + for (const a5 of t5) "unchanged" !== a5.status && "resolved-known" !== a5.status || s8.push(Ku3(e7, a5.path) ? ir({ path: a5.path, id: a5.id, mode: a5.mode }) : { ...sw3(a5.mode), id: a5.id, flags: sr, path: a5.path }); + const i11 = Ko(a4, sw3), n7 = [...s8, ...i11]; + return n7.sort((t6, a5) => t6.path < a5.path ? -1 : t6.path > a5.path ? 1 : t6.flags.stage - a5.flags.stage), n7; +}; +var nw3 = async (t5, a4) => { + const e7 = await sr2(t5), s8 = void 0 !== e7.user?.name && void 0 !== e7.user?.email ? { name: e7.user.name, email: e7.user.email, timestamp: Math.floor(Date.now() / 1e3), timezoneOffset: "+0000" } : void 0, i11 = {}; + return void 0 !== a4.author && (i11.explicit = a4.author), void 0 !== s8 && (i11.configUser = s8), ec3(i11); +}; +var rw3 = (t5, a4) => { + const e7 = { author: a4 }; + return void 0 !== t5.committer && (e7.explicit = t5.committer), sc3(e7); +}; +var ow3 = async (t5, a4) => { + const e7 = await Ts2(t5, a4); + if ("commit" !== e7.type) throw Kt("commit", e7.type, a4); + return e7.data.tree; +}; +var cw3 = (t5, a4) => Object.freeze({ run: (e7) => (a4(), Ru3(t5, e7)), continue: (e7) => (a4(), Qd3(t5, e7)), abort: () => (a4(), cr3(t5)) }); +var dw3 = /^(?:[0-9a-f]{40}|[0-9a-f]{64})$/; +var fw3 = async (t5, a4) => Qr(a4, t5.hashConfig) ? a4 : Wf2(t5, a4); +var uw3 = async (t5, a4) => { + await Gd2(t5); + const e7 = await fw3(t5, a4.object), s8 = await $m2(t5, a4.ref), { trie: i11, read: n7, notesCommitOid: r8 } = await xm2(t5, s8); + if (void 0 !== await wb(i11, e7, n7) && true !== a4.force) throw ft(e7); + const o5 = await Rf2(t5, { type: "blob", id: "", content: a4.content }), c5 = await pb(i11, e7, o5, n7), d6 = await rc3(t5), f2 = await Wm2(t5, { trie: c5, read: n7, prevCommitOid: r8, message: "Notes added by 'git notes add'\n", author: d6 }); + return await Md2(t5, s8, f2, { reflogMessage: "notes: Notes added by 'git notes add'" }), { notesCommit: f2, note: o5 }; +}; +var ww3 = async (t5, a4) => { + await Gd2(t5); + const e7 = await fw3(t5, a4.object), s8 = await $m2(t5, a4.ref), { trie: i11, read: n7 } = await xm2(t5, s8), r8 = await wb(i11, e7, n7); + return void 0 === r8 ? null : { object: e7, note: r8, content: (await gu2(t5, r8)).content }; +}; +var hw3 = async (a4, e7) => { + await Gd2(a4); + const s8 = await $m2(a4, e7?.ref), { notesTreeOid: i11 } = await xm2(a4, s8); + if (void 0 === i11) return []; + const n7 = []; + for await (const e8 of af2(a4, i11)) { + if (e8.mode !== Qt.REGULAR) continue; + const a5 = e8.path.split("/").join(""); + dw3.test(a5) && n7.push({ object: lr.from(a5), note: e8.id }); + } + return n7.sort((t5, a5) => t5.object < a5.object ? -1 : 1); +}; +var lw3 = async (t5, a4) => { + await Gd2(t5); + const e7 = await fw3(t5, a4.object), s8 = await $m2(t5, a4.ref), { trie: i11, read: n7, notesCommitOid: r8 } = await xm2(t5, s8); + if (void 0 === r8) throw ht(e7); + if (void 0 === await wb(i11, e7, n7)) throw ht(e7); + const o5 = await yb(i11, e7, n7), c5 = await rc3(t5), d6 = await Wm2(t5, { trie: o5, read: n7, prevCommitOid: r8, message: "Notes removed by 'git notes remove'\n", author: c5 }); + return await Md2(t5, s8, d6, { reflogMessage: "notes: Notes removed by 'git notes remove'" }), { notesCommit: d6 }; +}; +var mw3 = (t5, a4) => Object.freeze({ add: (e7) => (a4(), uw3(t5, e7)), read: (e7) => (a4(), ww3(t5, e7)), list: (e7) => (a4(), hw3(t5, e7)), remove: (e7) => (a4(), lw3(t5, e7)) }); +var pw3 = (t5) => `${t5.layout.gitDir}/rebase-merge`; +var gw3 = (t5, a4) => `${pw3(t5)}/${a4}`; +var yw3 = (t5) => `${t5.layout.gitDir}/REBASE_HEAD`; +var vw3 = (t5) => t5.map(([t6, a4]) => `${t6} ${a4} `).join(""); -var Mu3 = async (t5, e6) => { - const a6 = [...e6.done, ...e6.remaining], s9 = (e7, a7) => t5.fs.writeUtf8(Uu3(t5, e7), a7); - await s9("head-name", `${e6.headName} -`), await s9("onto", `${e6.onto} -`), await s9("orig-head", `${e6.origHead} -`), await s9("git-rebase-todo", lE(e6.remaining)), void 0 !== e6.backupHeader && await s9("git-rebase-todo.backup", hE(a6, e6.backupHeader)), await s9("done", lE(e6.done)), await s9("message", e6.message), await s9("author-script", oE(e6.stoppedAuthor)), await s9("end", `${a6.length} -`), await s9("msgnum", `${e6.done.length} -`), await s9("interactive", ""), await s9("rewritten-list", Nu3(e6.rewritten)), await s9("patch", e6.patch), await s9("drop_redundant_commits", ""), await s9("no-reschedule-failed-exec", ""), await s9("stopped-sha", `${e6.stoppedSha} -`), void 0 !== e6.amend && await s9("amend", `${e6.amend} -`), void 0 !== e6.currentFixups && await s9("current-fixups", e6.currentFixups.map((t6) => `${t6.action} ${t6.oid} -`).join("")), void 0 !== e6.rewrittenPending && await s9("rewritten-pending", e6.rewrittenPending.map((t6) => `${t6} -`).join("")), void 0 !== e6.messageSquash && await s9("message-squash", e6.messageSquash), await t5.fs.writeUtf8(ju3(t5), `${e6.stoppedSha} +var bw3 = async (t5, a4) => { + const e7 = [...a4.done, ...a4.remaining], s8 = (a5, e8) => t5.fs.writeUtf8(gw3(t5, a5), e8); + await s8("head-name", `${a4.headName} +`), await s8("onto", `${a4.onto} +`), await s8("orig-head", `${a4.origHead} +`), await s8("git-rebase-todo", $b(a4.remaining)), void 0 !== a4.backupHeader && await s8("git-rebase-todo.backup", Sb(e7, a4.backupHeader)), await s8("done", $b(a4.done)), await s8("message", a4.message), await s8("author-script", bb(a4.stoppedAuthor)), await s8("end", `${e7.length} +`), await s8("msgnum", `${a4.done.length} +`), await s8("interactive", ""), await s8("rewritten-list", vw3(a4.rewritten)), await s8("patch", a4.patch), await s8("drop_redundant_commits", ""), await s8("no-reschedule-failed-exec", ""), await s8("stopped-sha", `${a4.stoppedSha} +`), void 0 !== a4.amend && await s8("amend", `${a4.amend} +`), void 0 !== a4.currentFixups && await s8("current-fixups", a4.currentFixups.map((t6) => `${t6.action} ${t6.oid} +`).join("")), void 0 !== a4.rewrittenPending && await s8("rewritten-pending", a4.rewrittenPending.map((t6) => `${t6} +`).join("")), void 0 !== a4.messageSquash && await s8("message-squash", a4.messageSquash), await t5.fs.writeUtf8(yw3(t5), `${a4.stoppedSha} `); }; -var Pu3 = (t5) => co3(t5, ju3(t5)); -var _u3 = async (t5, e6) => { - const a6 = []; - for (const s9 of e6) { - const e7 = await $u2(t5, s9.oid); - if (void 0 === e7) throw je(`cannot resolve commit ${s9.oid}`); - a6.push({ action: s9.action, oid: e7, subject: s9.subject }); - } - return a6; -}; -var Lu3 = async (t5) => { - if (!await ((t6) => t6.fs.exists(Su3(t6)))(t5)) return; - const e6 = (await t5.fs.readUtf8(Uu3(t5, "head-name"))).trimEnd(), a6 = await co3(t5, Uu3(t5, "onto")), s9 = await co3(t5, Uu3(t5, "orig-head")), i7 = await _u3(t5, fE(await t5.fs.readUtf8(Uu3(t5, "done")))), n6 = await _u3(t5, fE(await t5.fs.readUtf8(Uu3(t5, "git-rebase-todo")))), r6 = iE(await t5.fs.readUtf8(Uu3(t5, "author-script"))), o6 = await t5.fs.readUtf8(Uu3(t5, "message")), c6 = await co3(t5, Uu3(t5, "amend")), d5 = await Fu3(t5), f2 = await qu3(t5); - return { headName: e6, onto: a6, origHead: s9, done: i7, remaining: n6, stoppedSha: await Pu3(t5), author: r6, message: o6, ...void 0 !== c6 ? { amend: c6 } : {}, ...void 0 !== d5 ? { currentFixups: d5 } : {}, ...void 0 !== f2 ? { rewrittenPending: f2 } : {} }; -}; -var Fu3 = async (t5) => { - const e6 = Uu3(t5, "current-fixups"); - if (!await t5.fs.exists(e6)) return; - const a6 = []; - for (const s9 of (await t5.fs.readUtf8(e6)).split("\n")) { - const [t6, e7] = s9.split(" "); - "squash" !== t6 && "fixup" !== t6 || void 0 === e7 || a6.push({ action: t6, oid: e7 }); - } - return a6; -}; -var qu3 = async (t5) => { - const e6 = Uu3(t5, "rewritten-pending"); - if (!await t5.fs.exists(e6)) return; - const a6 = []; - for (const s9 of (await t5.fs.readUtf8(e6)).split("\n")) "" !== s9 && a6.push(s9); - return a6; -}; -var Bu3 = async (t5) => { - const e6 = Uu3(t5, "rewritten-list"); - if (!await t5.fs.exists(e6)) return []; - const a6 = []; - for (const s9 of (await t5.fs.readUtf8(e6)).split("\n")) { - const [t6, e7] = s9.split(" "); - void 0 !== t6 && void 0 !== e7 && a6.push([t6, e7]); - } - return a6; -}; -var Wu3 = async (t5) => { - await t5.fs.exists(Su3(t5)) && await t5.fs.rmRecursive(Su3(t5)), await t5.fs.exists(ju3(t5)) && await t5.fs.rm(ju3(t5)); -}; -var zu3 = "HEAD"; -var Vu3 = (t5) => t5.slice(0, 7); -var Ku3 = async (t5, e6, a6) => { - const s9 = /* @__PURE__ */ new Set(); - if (void 0 !== e6) for await (const a7 of nl2(t5, { from: [e6] })) s9.add(a7.id); - const i7 = []; - for await (const e7 of nl2(t5, { from: [a6], until: [...s9] })) i7.push(e7.id); - return i7.reverse(); -}; -var Gu3 = async (t5, e6, a6, s9) => { - const i7 = a6.parents[0], n6 = void 0 !== i7 ? await Tr3(t5, i7) : void 0, r6 = await Tr3(t5, s9), o6 = await Ld2(t5); +var kw3 = (t5) => No3(t5, yw3(t5)); +var xw3 = async (t5, a4) => { + const e7 = []; + for (const s8 of a4) { + const a5 = await Cl2(t5, s8.oid); + if (void 0 === a5) throw Je(`cannot resolve commit ${s8.oid}`); + e7.push({ action: s8.action, oid: a5, subject: s8.subject }); + } + return e7; +}; +var $w3 = async (t5) => { + if (!await ((t6) => t6.fs.exists(pw3(t6)))(t5)) return; + const a4 = (await t5.fs.readUtf8(gw3(t5, "head-name"))).trimEnd(), e7 = await No3(t5, gw3(t5, "onto")), s8 = await No3(t5, gw3(t5, "orig-head")), i11 = await xw3(t5, xb(await t5.fs.readUtf8(gw3(t5, "done")))), n7 = await xw3(t5, xb(await t5.fs.readUtf8(gw3(t5, "git-rebase-todo")))), r8 = _b(await t5.fs.readUtf8(gw3(t5, "author-script"))), o5 = await t5.fs.readUtf8(gw3(t5, "message")), c5 = await No3(t5, gw3(t5, "amend")), d6 = await Iw3(t5), f2 = await Ew3(t5); + return { headName: a4, onto: e7, origHead: s8, done: i11, remaining: n7, stoppedSha: await kw3(t5), author: r8, message: o5, ...void 0 !== c5 ? { amend: c5 } : {}, ...void 0 !== d6 ? { currentFixups: d6 } : {}, ...void 0 !== f2 ? { rewrittenPending: f2 } : {} }; +}; +var Iw3 = async (t5) => { + const a4 = gw3(t5, "current-fixups"); + if (!await t5.fs.exists(a4)) return; + const e7 = []; + for (const s8 of (await t5.fs.readUtf8(a4)).split("\n")) { + const [t6, a5] = s8.split(" "); + "squash" !== t6 && "fixup" !== t6 || void 0 === a5 || e7.push({ action: t6, oid: a5 }); + } + return e7; +}; +var Ew3 = async (t5) => { + const a4 = gw3(t5, "rewritten-pending"); + if (!await t5.fs.exists(a4)) return; + const e7 = []; + for (const s8 of (await t5.fs.readUtf8(a4)).split("\n")) "" !== s8 && e7.push(s8); + return e7; +}; +var Cw3 = async (t5) => { + const a4 = gw3(t5, "rewritten-list"); + if (!await t5.fs.exists(a4)) return []; + const e7 = []; + for (const s8 of (await t5.fs.readUtf8(a4)).split("\n")) { + const [t6, a5] = s8.split(" "); + void 0 !== t6 && void 0 !== a5 && e7.push([t6, a5]); + } + return e7; +}; +var Dw3 = async (t5) => { + await t5.fs.exists(pw3(t5)) && await t5.fs.rmRecursive(pw3(t5)), await t5.fs.exists(yw3(t5)) && await t5.fs.rm(yw3(t5)); +}; +var Tw3 = "HEAD"; +var Hw3 = (t5) => t5.slice(0, 7); +var Ow3 = async (t5, a4, e7) => { + const s8 = /* @__PURE__ */ new Set(); + if (void 0 !== a4) for await (const e8 of iw2(t5, { from: [a4] })) s8.add(e8.id); + const i11 = []; + for await (const a5 of iw2(t5, { from: [e7], until: [...s8] })) i11.push(a5.id); + return i11.reverse(); +}; +var Aw3 = async (t5, a4, e7, s8) => { + const i11 = e7.parents[0], n7 = void 0 !== i11 ? await Zr3(t5, i11) : void 0, r8 = await Zr3(t5, s8), o5 = await kf2(t5); try { - const s10 = await Cd2(t5), i8 = await yh2(t5, { baseTree: n6, oursTree: r6, theirsTree: a6.tree, currentIndex: s10, labels: Bi(e6, wr(a6.message)) }); - if ("would-overwrite" === i8.kind) throw $({ localChanges: i8.localChanges, untracked: i8.untracked }); - return "conflict" === i8.kind ? (await o6.commit(i8.indexEntries), { kind: "conflict", conflicts: i8.conflicts }) : (await o6.commit(i8.result.newIndexEntries), { kind: "clean", mergedTree: i8.mergedTree, oursTree: r6 }); + const s9 = await hf2(t5), i12 = await tp2(t5, { baseTree: n7, oursTree: r8, theirsTree: e7.tree, currentIndex: s9, labels: oa(a4, Tr(e7.message)) }); + if ("would-overwrite" === i12.kind) throw L({ localChanges: i12.localChanges, untracked: i12.untracked }); + return "conflict" === i12.kind ? (await o5.commit(i12.indexEntries), { kind: "conflict", conflicts: i12.conflicts }) : (await o5.commit(i12.result.newIndexEntries), { kind: "clean", mergedTree: i12.mergedTree, oursTree: r8 }); } finally { - await o6.release(); + await o5.release(); } }; -var Ju3 = async (t5, e6, a6, s9) => { - const i7 = await Gu3(t5, e6, a6, s9); - if ("conflict" === i7.kind) return { kind: "conflict", conflicts: i7.conflicts }; - if (i7.mergedTree === i7.oursTree) return { kind: "empty" }; - const n6 = await Uo3(t5), r6 = await vh2(t5, { tree: i7.mergedTree, parents: [s9], author: a6.author, committer: n6, message: a6.message, extraHeaders: [] }); - return await nc2(t5, zu3, r6, { expected: s9, reflogMessage: og(wr(a6.message)) }), { kind: "committed", id: r6 }; +var Sw3 = async (t5, a4, e7, s8) => { + const i11 = await Aw3(t5, a4, e7, s8); + if ("conflict" === i11.kind) return { kind: "conflict", conflicts: i11.conflicts }; + if (i11.mergedTree === i11.oursTree) return { kind: "empty" }; + const n7 = await rc3(t5), r8 = await np2(t5, { tree: i11.mergedTree, parents: [s8], author: e7.author, committer: n7, message: e7.message, extraHeaders: [] }); + return await Md2(t5, Tw3, r8, { expected: s8, reflogMessage: gm(Tr(e7.message)) }), { kind: "committed", id: r8 }; }; -var Yu3 = async (t5, e6) => { - const a6 = e6.parents[0], s9 = void 0 !== a6 ? await Tr3(t5, a6) : void 0, i7 = await Sf2(t5, s9, e6.tree, { recursive: true }), n6 = await If2(t5, i7.changes); - return ei(n6, { contextLines: 3, pathPrefix: { old: "a/", new: "b/" } }); +var Rw3 = async (t5, a4) => { + const e7 = a4.parents[0], s8 = void 0 !== e7 ? await Zr3(t5, e7) : void 0, i11 = await vh2(t5, s8, a4.tree, { recursive: true }), n7 = await mh2(t5, i11.changes); + return Ei(n7, { contextLines: 3, pathPrefix: { old: "a/", new: "b/" } }); }; -var Xu3 = async (t5, e6, a6, s9, i7, n6) => { - const r6 = { headName: e6.branch ?? "detached HEAD", onto: e6.onto, origHead: e6.origHead, done: [...e6.doneBefore, ...e6.todo.slice(0, a6 + 1)], remaining: e6.todo.slice(a6 + 1), stoppedSha: e6.todo[a6].oid, stoppedAuthor: s9.author, message: Co3(s9.message, Ao(i7)), rewritten: n6, patch: await Yu3(t5, s9), ...void 0 !== e6.backupHeader ? { backupHeader: e6.backupHeader } : {} }; - await Mu3(t5, r6); +var jw3 = async (t5, a4, e7, s8, i11, n7) => { + const r8 = { headName: a4.branch ?? "detached HEAD", onto: a4.onto, origHead: a4.origHead, done: [...a4.doneBefore, ...a4.todo.slice(0, e7 + 1)], remaining: a4.todo.slice(e7 + 1), stoppedSha: a4.todo[e7].oid, stoppedAuthor: s8.author, message: Qo3(s8.message, zo(i11)), rewritten: n7, patch: await Rw3(t5, s8), ...void 0 !== a4.backupHeader ? { backupHeader: a4.backupHeader } : {} }; + await bw3(t5, r8); }; -var Qu3 = async (t5, e6, a6, s9, i7) => { - void 0 !== e6 && (await nc2(t5, e6, s9, { expected: a6, reflogMessage: cg(e6, i7) }), await zr2(t5).applyRefUpdates([{ kind: "setSymbolic", name: zu3, target: e6, reflog: { oldId: s9, newId: s9, message: dg(e6) } }])); +var Nw3 = async (t5, a4, e7, s8, i11) => { + void 0 !== a4 && (await Md2(t5, a4, s8, { expected: e7, reflogMessage: ym(a4, i11) }), await md2(t5).applyRefUpdates([{ kind: "setSymbolic", name: Tw3, target: a4, reflog: { oldId: s8, newId: s8, message: Em(a4) } }])); }; -var Zu3 = (t5, e6) => zl2(t5, "pre-rebase", { args: [e6] }); -var tw3 = async (t5, e6) => { - 0 !== e6.length && await Wl2(t5, "post-rewrite", { args: ["rebase"], stdin: Nu3(e6) }); +var Uw3 = (t5, a4) => Iy2(t5, "pre-rebase", { args: [a4] }); +var Mw3 = async (t5, a4) => { + 0 !== a4.length && await Cy2(t5, "post-rewrite", { args: ["rebase"], stdin: vw3(a4) }); }; -var ew3 = async (t5, e6, a6, s9) => { - let i7 = a6; - const n6 = [...s9.applied], r6 = [...s9.rewritten]; - for (let a7 = 0; a7 < e6.todo.length; a7 += 1) { - const s10 = e6.todo[a7].oid, o6 = await Ff2(t5, s10), c6 = await Ju3(t5, s10, o6, i7); - if ("committed" !== c6.kind) { - if ("empty" !== c6.kind) return await Xu3(t5, e6, a7, o6, c6.conflicts, r6), { kind: "conflict", commit: s10, conflicts: c6.conflicts.map((t6) => ({ path: t6.path, type: t6.type })), remaining: e6.todo.length - (a7 + 1) }; - } else n6.push({ source: s10, created: c6.id }), r6.push([s10, c6.id]), i7 = c6.id; +var Pw3 = async (t5, a4, e7, s8) => { + let i11 = e7; + const n7 = [...s8.applied], r8 = [...s8.rewritten]; + for (let e8 = 0; e8 < a4.todo.length; e8 += 1) { + const s9 = a4.todo[e8].oid, o5 = await Mh2(t5, s9), c5 = await Sw3(t5, s9, o5, i11); + if ("committed" !== c5.kind) { + if ("empty" !== c5.kind) return await jw3(t5, a4, e8, o5, c5.conflicts, r8), { kind: "conflict", commit: s9, conflicts: c5.conflicts.map((t6) => ({ path: t6.path, type: t6.type })), remaining: a4.todo.length - (e8 + 1) }; + } else n7.push({ source: s9, created: c5.id }), r8.push([s9, c5.id]), i11 = c5.id; } - return await Qu3(t5, e6.branch, e6.origHead, i7, e6.onto), await tw3(t5, r6), await Wu3(t5), { kind: "rebased", commits: n6 }; + return await Nw3(t5, a4.branch, a4.origHead, i11, a4.onto), await Mw3(t5, r8), await Dw3(t5), { kind: "rebased", commits: n7 }; }; -var aw3 = async (t5, e6) => { - await hc2(t5), wc2(t5, "rebase"), await vc2(t5); - const a6 = await mc2(t5), s9 = "symbolic" === a6.kind ? await (async (t6, e7) => { +var _w3 = async (t5, a4) => { + await Gd2(t5), Kd2(t5, "rebase"), await Zd2(t5); + const e7 = await qd2(t5), s8 = "symbolic" === e7.kind ? await (async (t6, a5) => { try { - return await eu2(t6, e7); + return await Wf2(t6, a5); } catch (t7) { - if (t7 instanceof o && "REF_NOT_FOUND" === t7.data.code) throw He(); + if (t7 instanceof c && "REF_NOT_FOUND" === t7.data.code) throw Ke(); throw t7; } - })(t5, a6.target) : a6.id, i7 = pc2(a6), n6 = await Cr3(t5, e6.upstream), r6 = void 0 !== e6.onto ? await Cr3(t5, e6.onto) : n6, o6 = e6.onto ?? e6.upstream; - await Ho3(t5, await Tr3(t5, s9)); - const [c6] = await wl2(t5, [n6, s9]); - if (void 0 !== e6.interactive) return await Zu3(t5, e6.upstream), pw3(t5, { instructions: e6.interactive, branch: i7, headCommit: s9, upstream: n6, onto: r6, ontoName: o6, base: c6 }); - if (r6 === c6) return { kind: "up-to-date" }; - await Zu3(t5, e6.upstream); - const d5 = await Ku3(t5, c6, s9), f2 = await (async (t6, e7, a7, s10) => { - const i8 = await Ku3(t6, a7, s10), n7 = /* @__PURE__ */ new Set(); - for (const e8 of i8) n7.add(await km2(t6, e8)); - const r7 = []; - for (const a8 of e7) n7.has(await km2(t6, a8)) || r7.push(a8); - return r7; - })(t5, d5, c6, n6), u6 = await (async (t6, e7) => { - const a7 = []; - for (const s10 of e7) a7.push({ action: "pick", oid: s10, subject: wr((await Ff2(t6, s10)).message) }); - return a7; + })(t5, e7.target) : e7.id, i11 = Vd2(e7), n7 = await Qr3(t5, a4.upstream), r8 = void 0 !== a4.onto ? await Qr3(t5, a4.onto) : n7, o5 = a4.onto ?? a4.upstream; + await ac3(t5, await Zr3(t5, s8)); + const [c5] = await kw2(t5, [n7, s8]); + if (void 0 !== a4.interactive) return await Uw3(t5, a4.upstream), Zw3(t5, { instructions: a4.interactive, branch: i11, headCommit: s8, upstream: n7, onto: r8, ontoName: o5, base: c5 }); + if (r8 === c5) return { kind: "up-to-date" }; + await Uw3(t5, a4.upstream); + const d6 = await Ow3(t5, c5, s8), f2 = await (async (t6, a5, e8, s9) => { + const i12 = await Ow3(t6, e8, s9), n8 = /* @__PURE__ */ new Set(); + for (const a6 of i12) n8.add(await Ym2(t6, a6)); + const r9 = []; + for (const e9 of a5) n8.has(await Ym2(t6, e9)) || r9.push(e9); + return r9; + })(t5, d6, c5, n7), u6 = await (async (t6, a5) => { + const e8 = []; + for (const s9 of a5) e8.push({ action: "pick", oid: s9, subject: Tr((await Mh2(t6, s9)).message) }); + return e8; })(t5, f2); - await An2(t5, s9), await (async (t6, e7, a7, s10) => { - await zr2(t6).applyRefUpdates([{ kind: "set", name: zu3, id: a7, reflog: { oldId: e7, newId: a7, message: ng(s10) } }]), await jn2(t6, a7); - })(t5, s9, r6, o6); - const w4 = { branch: i7, onto: r6, origHead: s9, doneBefore: [], todo: u6, backupHeader: { shortUpstream: Vu3(n6), shortOrigHead: Vu3(s9), shortOnto: Vu3(r6) } }; - return ew3(t5, w4, r6, { applied: [], rewritten: [] }); -}; -var sw2 = (t5) => "detached HEAD" === t5 ? void 0 : t5; -var iw3 = (t5) => { - const e6 = /* @__PURE__ */ new Set(); - for (const a6 of t5) 0 !== a6.flags.stage && e6.add(a6.path); - if (e6.size > 0) throw z(e6.size, [...e6]); -}; -var nw3 = async (t5) => { - await hc2(t5), wc2(t5, "rebase --continue"); - const e6 = await Lu3(t5); - if (void 0 === e6) throw Z("rebase"); - if (gw3(e6)) return yw3(t5, e6); - const a6 = await Cd2(t5); - iw3(a6.entries); - const s9 = e6.done[e6.done.length - 1], i7 = await eu2(t5, zu3), r6 = await Vl2(t5, a6.entries), o6 = await Uo3(t5), c6 = Oo3(So3(e6.message), { allowEmpty: false }), d5 = await vh2(t5, { tree: r6, parents: [i7], author: e6.author, committer: o6, message: c6, extraHeaders: [] }); - await nc2(t5, zu3, d5, { expected: i7, reflogMessage: ag(wr(c6)) }); - const f2 = [...await Bu3(t5), [s9.oid, d5]], u6 = { branch: sw2(e6.headName), onto: e6.onto, origHead: e6.origHead, doneBefore: e6.done, todo: e6.remaining }; - return ew3(t5, u6, d5, { applied: [{ source: s9.oid, created: d5 }], rewritten: f2 }); -}; -var rw3 = async (t5) => { - await hc2(t5), wc2(t5, "rebase --skip"); - const e6 = await Lu3(t5); - if (void 0 === e6) throw Z("rebase"); - if (gw3(e6)) return vw3(t5, e6); - const a6 = await eu2(t5, zu3); - await jn2(t5, a6); - const s9 = { branch: sw2(e6.headName), onto: e6.onto, origHead: e6.origHead, doneBefore: e6.done, todo: e6.remaining }; - return ew3(t5, s9, a6, { applied: [], rewritten: await Bu3(t5) }); -}; -var ow3 = async (t5) => { - await hc2(t5), wc2(t5, "rebase --abort"); - const e6 = await Lu3(t5); - if (void 0 === e6) throw Z("rebase"); - const a6 = sw2(e6.headName), s9 = await eu2(t5, zu3); - await jn2(t5, e6.origHead); - const i7 = { oldId: s9, newId: e6.origHead, message: ug(void 0 !== a6 ? a6 : e6.origHead) }; - return await zr2(t5).applyRefUpdates([void 0 !== a6 ? { kind: "setSymbolic", name: zu3, target: a6, reflog: i7 } : { kind: "set", name: zu3, id: e6.origHead, reflog: i7 }]), await Wu3(t5), { head: e6.origHead, headName: e6.headName }; -}; -var cw3 = async (t5, e6) => { - const a6 = await Uo3(t5), s9 = await vh2(t5, { tree: e6.tree, parents: void 0 === e6.parent ? [] : [e6.parent], author: e6.author, committer: a6, message: e6.message, extraHeaders: [] }); - return await nc2(t5, zu3, s9, { expected: e6.expected, reflogMessage: e6.reflog }), s9; -}; -var dw3 = async (t5, e6, a6, s9, i7) => { - if (a6.parents[0] === s9) return await (async (t6, e7) => { - const a7 = await eu2(t6, zu3); - await zr2(t6).applyRefUpdates([{ kind: "set", name: zu3, id: e7, reflog: { oldId: a7, newId: e7, message: lg } }]), await jn2(t6, e7); - })(t5, e6.oid), { kind: "committed", created: e6.oid }; - const n6 = await Gu3(t5, e6.oid, a6, s9); - return "conflict" === n6.kind ? { kind: "conflict", conflicts: n6.conflicts } : { kind: "committed", created: await cw3(t5, { tree: n6.mergedTree, parent: s9, expected: s9, author: a6.author, message: a6.message, reflog: i7 }) }; -}; -var fw3 = (t5, e6, a6, s9) => "reword" === e6.action ? (async (t6, e7, a7, s10) => { - const i7 = Oo3(e7.message ?? a7.message, { allowEmpty: false }), n6 = await dw3(t6, e7, a7, s10, ig(wr(a7.message))); - if ("conflict" === n6.kind) return { kind: "conflict", conflicts: n6.conflicts }; - const r6 = await Ff2(t6, n6.created); - return { kind: "advanced", created: await cw3(t6, { tree: r6.tree, parent: r6.parents[0], expected: n6.created, author: r6.author, message: i7, reflog: ig(wr(i7)) }) }; -})(t5, e6, a6, s9) : "edit" === e6.action ? (async (t6, e7, a7, s10) => { - const i7 = await dw3(t6, e7, a7, s10, sg(wr(a7.message))); - return "conflict" === i7.kind ? { kind: "conflict", conflicts: i7.conflicts } : { kind: "edit-stop", created: i7.created }; -})(t5, e6, a6, s9) : (async (t6, e7, a7, s10) => { - const i7 = await dw3(t6, e7, a7, s10, og(wr(a7.message))); - return "conflict" === i7.kind ? { kind: "conflict", conflicts: i7.conflicts } : { kind: "advanced", created: i7.created }; -})(t5, e6, a6, s9); -var uw3 = async (t5, e6, a6, s9) => { - await Mu3(t5, { headName: e6.branch ?? "detached HEAD", onto: e6.onto, origHead: e6.origHead, done: [...e6.doneBefore, ...e6.todo.slice(0, a6 + 1)], remaining: e6.todo.slice(a6 + 1), stoppedSha: s9.stoppedSha, stoppedAuthor: s9.author, message: s9.message, rewritten: s9.rewritten, patch: s9.patch, ...void 0 !== e6.backupHeader ? { backupHeader: e6.backupHeader } : {}, ...void 0 !== s9.amend ? { amend: s9.amend } : {}, ...void 0 !== s9.currentFixups ? { currentFixups: s9.currentFixups } : {}, ...void 0 !== s9.rewrittenPending ? { rewrittenPending: s9.rewrittenPending } : {}, ...void 0 !== s9.messageSquash ? { messageSquash: s9.messageSquash } : {} }); -}; -var ww3 = (t5, e6) => { - const a6 = t5[e6 + 1]; - return void 0 !== a6 && ("squash" === a6.action || "fixup" === a6.action); -}; -var hw3 = (t5, e6, a6) => ({ kind: "conflict", commit: t5, conflicts: e6.map((t6) => ({ path: t6.path, type: t6.type })), remaining: a6 }); -var lw3 = async (t5, e6, a6, s9, i7, n6) => { - const r6 = await Ff2(t5, s9), o6 = await Gu3(t5, e6.oid, a6, s9); - if ("conflict" === o6.kind) return { kind: "conflict", conflicts: o6.conflicts }; - i7.members.push({ message: a6.message, skip: "fixup" === e6.action }), i7.fixups.push({ action: e6.action, oid: e6.oid }), i7.pending.push(e6.oid), "squash" === e6.action && void 0 !== e6.message && (i7.inline = e6.message); - const c6 = dE([{ message: i7.baseMessage }, ...i7.members]), d5 = n6 ? Oo3(i7.inline ?? So3(c6), { allowEmpty: false }) : c6; - return { kind: "committed", created: await cw3(t5, { tree: o6.mergedTree, parent: r6.parents[0], expected: s9, author: r6.author, message: d5, reflog: rg(e6.action, wr(d5)) }), message: d5 }; -}; -var mw3 = async (t5, e6, a6, s9) => { - let i7 = a6; - const n6 = [...s9.applied], r6 = [...s9.rewritten], o6 = { baseMessage: (await Ff2(t5, a6)).message, members: [], fixups: [], pending: [a6], inline: void 0 }; - for (let a7 = 0; a7 < e6.todo.length; a7 += 1) { - const s10 = e6.todo[a7]; - if ("drop" === s10.action) continue; - const c6 = await Ff2(t5, s10.oid), d5 = await Yu3(t5, c6); - if ("squash" === s10.action || "fixup" === s10.action) { - const f3 = await lw3(t5, s10, c6, i7, o6, !ww3(e6.todo, a7)); + await er3(t5, s8), await (async (t6, a5, e8, s9) => { + await md2(t6).applyRefUpdates([{ kind: "set", name: Tw3, id: e8, reflog: { oldId: a5, newId: e8, message: fm(s9) } }]), await or3(t6, e8); + })(t5, s8, r8, o5); + const w6 = { branch: i11, onto: r8, origHead: s8, doneBefore: [], todo: u6, backupHeader: { shortUpstream: Hw3(n7), shortOrigHead: Hw3(s8), shortOnto: Hw3(r8) } }; + return Pw3(t5, w6, r8, { applied: [], rewritten: [] }); +}; +var Bw3 = (t5) => "detached HEAD" === t5 ? void 0 : t5; +var Lw3 = (t5) => { + const a4 = /* @__PURE__ */ new Set(); + for (const e7 of t5) 0 !== e7.flags.stage && a4.add(e7.path); + if (a4.size > 0) throw J(a4.size, [...a4]); +}; +var Fw3 = async (t5) => { + await Gd2(t5), Kd2(t5, "rebase --continue"); + const a4 = await $w3(t5); + if (void 0 === a4) throw oe("rebase"); + if (th3(a4)) return ah3(t5, a4); + const e7 = await hf2(t5); + Lw3(e7.entries); + const s8 = a4.done[a4.done.length - 1], i11 = await Wf2(t5, Tw3), r8 = await Ey2(t5, e7.entries), o5 = await rc3(t5), c5 = ic3(nc3(a4.message), { allowEmpty: false }), d6 = await np2(t5, { tree: r8, parents: [i11], author: a4.author, committer: o5, message: c5, extraHeaders: [] }); + await Md2(t5, Tw3, d6, { expected: i11, reflogMessage: wm(Tr(c5)) }); + const f2 = [...await Cw3(t5), [s8.oid, d6]], u6 = { branch: Bw3(a4.headName), onto: a4.onto, origHead: a4.origHead, doneBefore: a4.done, todo: a4.remaining }; + return Pw3(t5, u6, d6, { applied: [{ source: s8.oid, created: d6 }], rewritten: f2 }); +}; +var qw3 = async (t5) => { + await Gd2(t5), Kd2(t5, "rebase --skip"); + const a4 = await $w3(t5); + if (void 0 === a4) throw oe("rebase"); + if (th3(a4)) return eh3(t5, a4); + const e7 = await Wf2(t5, Tw3); + await or3(t5, e7); + const s8 = { branch: Bw3(a4.headName), onto: a4.onto, origHead: a4.origHead, doneBefore: a4.done, todo: a4.remaining }; + return Pw3(t5, s8, e7, { applied: [], rewritten: await Cw3(t5) }); +}; +var zw3 = async (t5) => { + await Gd2(t5), Kd2(t5, "rebase --abort"); + const a4 = await $w3(t5); + if (void 0 === a4) throw oe("rebase"); + const e7 = Bw3(a4.headName), s8 = await Wf2(t5, Tw3); + await or3(t5, a4.origHead); + const i11 = { oldId: s8, newId: a4.origHead, message: bm(void 0 !== e7 ? e7 : a4.origHead) }; + return await md2(t5).applyRefUpdates([void 0 !== e7 ? { kind: "setSymbolic", name: Tw3, target: e7, reflog: i11 } : { kind: "set", name: Tw3, id: a4.origHead, reflog: i11 }]), await Dw3(t5), { head: a4.origHead, headName: a4.headName }; +}; +var Ww3 = async (t5, a4) => { + const e7 = await rc3(t5), s8 = await np2(t5, { tree: a4.tree, parents: void 0 === a4.parent ? [] : [a4.parent], author: a4.author, committer: e7, message: a4.message, extraHeaders: [] }); + return await Md2(t5, Tw3, s8, { expected: a4.expected, reflogMessage: a4.reflog }), s8; +}; +var Vw3 = async (t5, a4, e7, s8, i11) => { + if (e7.parents[0] === s8) return await (async (t6, a5) => { + const e8 = await Wf2(t6, Tw3); + await md2(t6).applyRefUpdates([{ kind: "set", name: Tw3, id: a5, reflog: { oldId: e8, newId: a5, message: Im } }]), await or3(t6, a5); + })(t5, a4.oid), { kind: "committed", created: a4.oid }; + const n7 = await Aw3(t5, a4.oid, e7, s8); + return "conflict" === n7.kind ? { kind: "conflict", conflicts: n7.conflicts } : { kind: "committed", created: await Ww3(t5, { tree: n7.mergedTree, parent: s8, expected: s8, author: e7.author, message: e7.message, reflog: i11 }) }; +}; +var Gw3 = (t5, a4, e7, s8) => "reword" === a4.action ? (async (t6, a5, e8, s9) => { + const i11 = ic3(a5.message ?? e8.message, { allowEmpty: false }), n7 = await Vw3(t6, a5, e8, s9, pm(Tr(e8.message))); + if ("conflict" === n7.kind) return { kind: "conflict", conflicts: n7.conflicts }; + const r8 = await Mh2(t6, n7.created); + return { kind: "advanced", created: await Ww3(t6, { tree: r8.tree, parent: r8.parents[0], expected: n7.created, author: r8.author, message: i11, reflog: pm(Tr(i11)) }) }; +})(t5, a4, e7, s8) : "edit" === a4.action ? (async (t6, a5, e8, s9) => { + const i11 = await Vw3(t6, a5, e8, s9, mm(Tr(e8.message))); + return "conflict" === i11.kind ? { kind: "conflict", conflicts: i11.conflicts } : { kind: "edit-stop", created: i11.created }; +})(t5, a4, e7, s8) : (async (t6, a5, e8, s9) => { + const i11 = await Vw3(t6, a5, e8, s9, gm(Tr(e8.message))); + return "conflict" === i11.kind ? { kind: "conflict", conflicts: i11.conflicts } : { kind: "advanced", created: i11.created }; +})(t5, a4, e7, s8); +var Kw3 = async (t5, a4, e7, s8) => { + await bw3(t5, { headName: a4.branch ?? "detached HEAD", onto: a4.onto, origHead: a4.origHead, done: [...a4.doneBefore, ...a4.todo.slice(0, e7 + 1)], remaining: a4.todo.slice(e7 + 1), stoppedSha: s8.stoppedSha, stoppedAuthor: s8.author, message: s8.message, rewritten: s8.rewritten, patch: s8.patch, ...void 0 !== a4.backupHeader ? { backupHeader: a4.backupHeader } : {}, ...void 0 !== s8.amend ? { amend: s8.amend } : {}, ...void 0 !== s8.currentFixups ? { currentFixups: s8.currentFixups } : {}, ...void 0 !== s8.rewrittenPending ? { rewrittenPending: s8.rewrittenPending } : {}, ...void 0 !== s8.messageSquash ? { messageSquash: s8.messageSquash } : {} }); +}; +var Yw3 = (t5, a4) => { + const e7 = t5[a4 + 1]; + return void 0 !== e7 && ("squash" === e7.action || "fixup" === e7.action); +}; +var Xw3 = (t5, a4, e7) => ({ kind: "conflict", commit: t5, conflicts: a4.map((t6) => ({ path: t6.path, type: t6.type })), remaining: e7 }); +var Jw3 = async (t5, a4, e7, s8, i11, n7) => { + const r8 = await Mh2(t5, s8), o5 = await Aw3(t5, a4.oid, e7, s8); + if ("conflict" === o5.kind) return { kind: "conflict", conflicts: o5.conflicts }; + i11.members.push({ message: e7.message, skip: "fixup" === a4.action }), i11.fixups.push({ action: a4.action, oid: a4.oid }), i11.pending.push(a4.oid), "squash" === a4.action && void 0 !== a4.message && (i11.inline = a4.message); + const c5 = Tb([{ message: i11.baseMessage }, ...i11.members]), d6 = n7 ? ic3(i11.inline ?? nc3(c5), { allowEmpty: false }) : c5; + return { kind: "committed", created: await Ww3(t5, { tree: o5.mergedTree, parent: r8.parents[0], expected: s8, author: r8.author, message: d6, reflog: hm(a4.action, Tr(d6)) }), message: d6 }; +}; +var Qw3 = async (t5, a4, e7, s8) => { + let i11 = e7; + const n7 = [...s8.applied], r8 = [...s8.rewritten], o5 = { baseMessage: (await Mh2(t5, e7)).message, members: [], fixups: [], pending: [e7], inline: void 0 }; + for (let e8 = 0; e8 < a4.todo.length; e8 += 1) { + const s9 = a4.todo[e8]; + if ("drop" === s9.action) continue; + const c5 = await Mh2(t5, s9.oid), d6 = await Rw3(t5, c5); + if ("squash" === s9.action || "fixup" === s9.action) { + const f3 = await Jw3(t5, s9, c5, i11, o5, !Yw3(a4.todo, e8)); if ("conflict" === f3.kind) { - const i8 = dE([{ message: o6.baseMessage }, ...o6.members, { message: c6.message, skip: "fixup" === s10.action }]); - return await uw3(t5, e6, a7, { stoppedSha: s10.oid, author: c6.author, message: Co3(i8, Ao(f3.conflicts)), patch: d5, rewritten: r6, currentFixups: [...o6.fixups, { action: s10.action, oid: s10.oid }], rewrittenPending: [...o6.pending], messageSquash: i8 }), hw3(s10.oid, f3.conflicts, e6.todo.length - (a7 + 1)); + const i12 = Tb([{ message: o5.baseMessage }, ...o5.members, { message: c5.message, skip: "fixup" === s9.action }]); + return await Kw3(t5, a4, e8, { stoppedSha: s9.oid, author: c5.author, message: Qo3(i12, zo(f3.conflicts)), patch: d6, rewritten: r8, currentFixups: [...o5.fixups, { action: s9.action, oid: s9.oid }], rewrittenPending: [...o5.pending], messageSquash: i12 }), Xw3(s9.oid, f3.conflicts, a4.todo.length - (e8 + 1)); } - n6.push({ source: s10.oid, created: f3.created }), r6.push([s10.oid, f3.created]), i7 = f3.created; + n7.push({ source: s9.oid, created: f3.created }), r8.push([s9.oid, f3.created]), i11 = f3.created; continue; } - const f2 = await fw3(t5, s10, c6, i7); - if ("conflict" === f2.kind) return await uw3(t5, e6, a7, { stoppedSha: s10.oid, author: c6.author, message: Co3(c6.message, Ao(f2.conflicts)), patch: d5, rewritten: r6 }), hw3(s10.oid, f2.conflicts, e6.todo.length - (a7 + 1)); - if ("edit-stop" === f2.kind) return await uw3(t5, e6, a7, { stoppedSha: f2.created, author: c6.author, message: c6.message, patch: d5, rewritten: r6, amend: f2.created }), { kind: "stopped", commit: s10.oid, remaining: e6.todo.length - (a7 + 1) }; - n6.push({ source: s10.oid, created: f2.created }), r6.push([s10.oid, f2.created]), i7 = f2.created, o6.baseMessage = (await Ff2(t5, f2.created)).message, o6.members = [], o6.fixups = [], o6.pending = [f2.created], o6.inline = void 0; - } - return await Qu3(t5, e6.branch, e6.origHead, i7, e6.onto), await tw3(t5, r6), await Wu3(t5), { kind: "rebased", commits: n6 }; -}; -var pw3 = async (t5, e6) => { - const a6 = await (async (t6, e7, a7, s10) => { - if (e7.every((t7) => "drop" === t7.action)) throw oe("interactive", "nothing to do (every instruction drops a commit)"); - const i8 = e7.find((t7) => "drop" !== t7.action); - if ("squash" === i8?.action || "fixup" === i8?.action) throw oe("interactive", `cannot '${i8.action}' without a previous commit`); - const n7 = new Set(await Ku3(t6, a7, s10)), r7 = []; - for (const a8 of e7) { - if ("reword" === a8.action && void 0 === a8.message) throw oe("interactive", "reword requires a message (no editor in a library)"); - if (("reword" === a8.action || "squash" === a8.action) && void 0 !== a8.message && "" === Oo3(a8.message, { allowEmpty: true })) throw oe("interactive", `${a8.action} message must not be empty`); - const e8 = await Cr3(t6, a8.oid); - if (!n7.has(e8)) throw oe("interactive", `commit ${e8} is not in the list of commits to be rebased`); - const s11 = wr((await Ff2(t6, e8)).message); - r7.push({ action: a8.action, oid: e8, subject: s11, ...void 0 !== a8.message ? { message: a8.message } : {} }); - } - return r7; - })(t5, e6.instructions, e6.base, e6.headCommit), s9 = await (async (t6, e7, a7) => { - let s10 = a7, i8 = 0; - for (; i8 < e7.length && "pick" === e7[i8].action && (await Ff2(t6, e7[i8].oid)).parents[0] === s10; ) s10 = e7[i8].oid, i8 += 1; - return i8; - })(t5, a6, e6.onto), i7 = s9 > 0 ? a6[s9 - 1].oid : e6.onto; - await An2(t5, e6.headCommit), await (async (t6, e7, a7, s10) => { - await zr2(t6).applyRefUpdates([{ kind: "set", name: zu3, id: s10, reflog: { oldId: e7, newId: s10, message: ng(a7) } }]), await jn2(t6, s10); - })(t5, e6.headCommit, e6.ontoName, i7); - const n6 = a6.slice(0, s9), r6 = { branch: e6.branch, onto: e6.onto, origHead: e6.headCommit, doneBefore: n6, todo: a6.slice(s9), backupHeader: { shortUpstream: Vu3(e6.upstream), shortOrigHead: Vu3(e6.headCommit), shortOnto: Vu3(e6.onto) } }, o6 = { applied: n6.map((t6) => ({ source: t6.oid, created: t6.oid })), rewritten: [] }; - return mw3(t5, r6, i7, o6); -}; -var gw3 = (t5) => [...t5.done, ...t5.remaining].some((t6) => "pick" !== t6.action); -var yw3 = async (t5, e6) => { - const a6 = { branch: sw2(e6.headName), onto: e6.onto, origHead: e6.origHead, doneBefore: e6.done, todo: e6.remaining }, s9 = [...await Bu3(t5)], i7 = await Cd2(t5); - iw3(i7.entries); - const n6 = await Vl2(t5, i7.entries), r6 = await eu2(t5, zu3), o6 = e6.done[e6.done.length - 1].oid; - let c6; - if (void 0 !== e6.currentFixups) { - const a7 = await Ff2(t5, r6), i8 = Oo3(So3(e6.message), { allowEmpty: false }); - c6 = await cw3(t5, { tree: n6, parent: a7.parents[0], expected: r6, author: a7.author, message: i8, reflog: ag(wr(i8)) }), s9.push([o6, c6]); - } else if (void 0 !== e6.amend) { - const a7 = await Ff2(t5, e6.amend); - n6 === a7.tree ? c6 = r6 : (c6 = await cw3(t5, { tree: n6, parent: a7.parents[0], expected: r6, author: e6.author, message: a7.message, reflog: ag(wr(a7.message)) }), s9.push([o6, c6])); + const f2 = await Gw3(t5, s9, c5, i11); + if ("conflict" === f2.kind) return await Kw3(t5, a4, e8, { stoppedSha: s9.oid, author: c5.author, message: Qo3(c5.message, zo(f2.conflicts)), patch: d6, rewritten: r8 }), Xw3(s9.oid, f2.conflicts, a4.todo.length - (e8 + 1)); + if ("edit-stop" === f2.kind) return await Kw3(t5, a4, e8, { stoppedSha: f2.created, author: c5.author, message: c5.message, patch: d6, rewritten: r8, amend: f2.created }), { kind: "stopped", commit: s9.oid, remaining: a4.todo.length - (e8 + 1) }; + n7.push({ source: s9.oid, created: f2.created }), r8.push([s9.oid, f2.created]), i11 = f2.created, o5.baseMessage = (await Mh2(t5, f2.created)).message, o5.members = [], o5.fixups = [], o5.pending = [f2.created], o5.inline = void 0; + } + return await Nw3(t5, a4.branch, a4.origHead, i11, a4.onto), await Mw3(t5, r8), await Dw3(t5), { kind: "rebased", commits: n7 }; +}; +var Zw3 = async (t5, a4) => { + const e7 = await (async (t6, a5, e8, s9) => { + if (a5.every((t7) => "drop" === t7.action)) throw de("interactive", "nothing to do (every instruction drops a commit)"); + const i12 = a5.find((t7) => "drop" !== t7.action); + if ("squash" === i12?.action || "fixup" === i12?.action) throw de("interactive", `cannot '${i12.action}' without a previous commit`); + const n8 = new Set(await Ow3(t6, e8, s9)), r9 = []; + for (const e9 of a5) { + if ("reword" === e9.action && void 0 === e9.message) throw de("interactive", "reword requires a message (no editor in a library)"); + if (("reword" === e9.action || "squash" === e9.action) && void 0 !== e9.message && "" === ic3(e9.message, { allowEmpty: true })) throw de("interactive", `${e9.action} message must not be empty`); + const a6 = await Qr3(t6, e9.oid); + if (!n8.has(a6)) throw de("interactive", `commit ${a6} is not in the list of commits to be rebased`); + const s10 = Tr((await Mh2(t6, a6)).message); + r9.push({ action: e9.action, oid: a6, subject: s10, ...void 0 !== e9.message ? { message: e9.message } : {} }); + } + return r9; + })(t5, a4.instructions, a4.base, a4.headCommit), s8 = await (async (t6, a5, e8) => { + let s9 = e8, i12 = 0; + for (; i12 < a5.length && "pick" === a5[i12].action && (await Mh2(t6, a5[i12].oid)).parents[0] === s9; ) s9 = a5[i12].oid, i12 += 1; + return i12; + })(t5, e7, a4.onto), i11 = s8 > 0 ? e7[s8 - 1].oid : a4.onto; + await er3(t5, a4.headCommit), await (async (t6, a5, e8, s9) => { + await md2(t6).applyRefUpdates([{ kind: "set", name: Tw3, id: s9, reflog: { oldId: a5, newId: s9, message: fm(e8) } }]), await or3(t6, s9); + })(t5, a4.headCommit, a4.ontoName, i11); + const n7 = e7.slice(0, s8), r8 = { branch: a4.branch, onto: a4.onto, origHead: a4.headCommit, doneBefore: n7, todo: e7.slice(s8), backupHeader: { shortUpstream: Hw3(a4.upstream), shortOrigHead: Hw3(a4.headCommit), shortOnto: Hw3(a4.onto) } }, o5 = { applied: n7.map((t6) => ({ source: t6.oid, created: t6.oid })), rewritten: [] }; + return Qw3(t5, r8, i11, o5); +}; +var th3 = (t5) => [...t5.done, ...t5.remaining].some((t6) => "pick" !== t6.action); +var ah3 = async (t5, a4) => { + const e7 = { branch: Bw3(a4.headName), onto: a4.onto, origHead: a4.origHead, doneBefore: a4.done, todo: a4.remaining }, s8 = [...await Cw3(t5)], i11 = await hf2(t5); + Lw3(i11.entries); + const n7 = await Ey2(t5, i11.entries), r8 = await Wf2(t5, Tw3), o5 = a4.done[a4.done.length - 1].oid; + let c5; + if (void 0 !== a4.currentFixups) { + const e8 = await Mh2(t5, r8), i12 = ic3(nc3(a4.message), { allowEmpty: false }); + c5 = await Ww3(t5, { tree: n7, parent: e8.parents[0], expected: r8, author: e8.author, message: i12, reflog: wm(Tr(i12)) }), s8.push([o5, c5]); + } else if (void 0 !== a4.amend) { + const e8 = await Mh2(t5, a4.amend); + n7 === e8.tree ? c5 = r8 : (c5 = await Ww3(t5, { tree: n7, parent: e8.parents[0], expected: r8, author: a4.author, message: e8.message, reflog: wm(Tr(e8.message)) }), s8.push([o5, c5])); } else { - const a7 = Oo3(So3(e6.message), { allowEmpty: false }); - c6 = await cw3(t5, { tree: n6, parent: r6, expected: r6, author: e6.author, message: a7, reflog: ag(wr(a7)) }), s9.push([o6, c6]); - } - return mw3(t5, a6, c6, { applied: [], rewritten: s9 }); -}; -var vw3 = async (t5, e6) => { - const a6 = await eu2(t5, zu3), s9 = void 0 !== e6.amend ? await (async (t6, e7) => { - const a7 = (await Ff2(t6, e7)).parents[0]; - if (void 0 === a7) throw je(ko2); - return a7; - })(t5, e6.amend) : a6; - await zr2(t5).applyRefUpdates([{ kind: "set", name: zu3, id: s9 }]), await jn2(t5, s9); - const i7 = { branch: sw2(e6.headName), onto: e6.onto, origHead: e6.origHead, doneBefore: e6.done, todo: e6.remaining }; - return mw3(t5, i7, s9, { applied: [], rewritten: await Bu3(t5) }); -}; -var bw3 = (t5, e6) => Object.freeze({ run: (a6) => (e6(), aw3(t5, a6)), continue: () => (e6(), nw3(t5)), skip: () => (e6(), rw3(t5)), abort: () => (e6(), ow3(t5)) }); -var kw3 = (t5) => "HEAD" === t5 || t5.includes("/") ? t5 : `${Ep}${t5}`; -var xw3 = (t5) => { - if ("" === t5) throw Ra(t5, "refspec must not be empty"); - let e6 = t5, a6 = "normal"; - if (e6.startsWith("+") && (a6 = "force", e6 = e6.slice(1)), "" === e6) throw Ra(t5, "refspec must not be empty after force prefix"); - const s9 = $w3(e6, ":"); - if (s9 > 1) throw Ra(t5, "refspec must contain at most one colon"); - if (0 === s9) { - const t6 = kw3(e6); - return { force: a6, src: t6, dst: t6, isDelete: false }; - } - const i7 = e6.indexOf(":"), n6 = e6.slice(0, i7), r6 = e6.slice(i7 + 1); - if ("" === r6) throw Ra(t5, "destination must not be empty"); - const o6 = kw3(r6); - if ("HEAD" === o6) throw Ra(t5, "destination must not be HEAD"); - return "" === n6 ? { force: a6, src: "", dst: o6, isDelete: true } : { force: a6, src: kw3(n6), dst: o6, isDelete: false }; -}; -var $w3 = (t5, e6) => { - let a6 = 0; - for (let s9 = 0; s9 < t5.length; s9 += 1) t5[s9] === e6 && (a6 += 1); - return a6; -}; -var Iw3 = /[\n\r\t\0"\\\]/]/; -var Ew3 = (t5) => { - if ("" === t5) throw re(t5, "name must not be empty"); - if (Iw3.test(t5)) throw re(t5, "name must not contain a newline, tab, NUL, slash, bracket, quote, or backslash"); + const e8 = ic3(nc3(a4.message), { allowEmpty: false }); + c5 = await Ww3(t5, { tree: n7, parent: r8, expected: r8, author: a4.author, message: e8, reflog: wm(Tr(e8)) }), s8.push([o5, c5]); + } + return Qw3(t5, e7, c5, { applied: [], rewritten: s8 }); +}; +var eh3 = async (t5, a4) => { + const e7 = await Wf2(t5, Tw3), s8 = void 0 !== a4.amend ? await (async (t6, a5) => { + const e8 = (await Mh2(t6, a5)).parents[0]; + if (void 0 === e8) throw Je(hi2); + return e8; + })(t5, a4.amend) : e7; + await md2(t5).applyRefUpdates([{ kind: "set", name: Tw3, id: s8 }]), await or3(t5, s8); + const i11 = { branch: Bw3(a4.headName), onto: a4.onto, origHead: a4.origHead, doneBefore: a4.done, todo: a4.remaining }; + return Qw3(t5, i11, s8, { applied: [], rewritten: await Cw3(t5) }); +}; +var sh3 = (t5, a4) => Object.freeze({ run: (e7) => (a4(), _w3(t5, e7)), continue: () => (a4(), Fw3(t5)), skip: () => (a4(), qw3(t5)), abort: () => (a4(), zw3(t5)) }); +var ih3 = (t5) => "HEAD" === t5 || t5.includes("/") ? t5 : `${Lw}${t5}`; +var nh3 = (t5) => { + if ("" === t5) throw qa(t5, "refspec must not be empty"); + let a4 = t5, e7 = "normal"; + if (a4.startsWith("+") && (e7 = "force", a4 = a4.slice(1)), "" === a4) throw qa(t5, "refspec must not be empty after force prefix"); + const s8 = rh3(a4, ":"); + if (s8 > 1) throw qa(t5, "refspec must contain at most one colon"); + if (0 === s8) { + const t6 = ih3(a4); + return { force: e7, src: t6, dst: t6, isDelete: false }; + } + const i11 = a4.indexOf(":"), n7 = a4.slice(0, i11), r8 = a4.slice(i11 + 1); + if ("" === r8) throw qa(t5, "destination must not be empty"); + const o5 = ih3(r8); + if ("HEAD" === o5) throw qa(t5, "destination must not be HEAD"); + return "" === n7 ? { force: e7, src: "", dst: o5, isDelete: true } : { force: e7, src: ih3(n7), dst: o5, isDelete: false }; +}; +var rh3 = (t5, a4) => { + let e7 = 0; + for (let s8 = 0; s8 < t5.length; s8 += 1) t5[s8] === a4 && (e7 += 1); + return e7; +}; +var oh3 = /[\n\r\t\0"\\\]/]/; +var ch3 = (t5) => { + if ("" === t5) throw ce(t5, "name must not be empty"); + if (oh3.test(t5)) throw ce(t5, "name must not contain a newline, tab, NUL, slash, bracket, quote, or backslash"); return t5; }; -var Cw3 = (t5, e6) => { +var dh3 = (t5, a4) => { if (void 0 === t5.branch) return []; - const a6 = []; - for (const [s9, i7] of t5.branch) i7.remote === e6 && a6.push({ branch: s9, ref: `refs/heads/${s9}`, merge: i7.merge }); - return a6; -}; -var Tw3 = /[\n\r\0]/; -var Dw3 = (t5) => { - if (Tw3.test(t5)) throw oe("remote.url", "url must not contain a newline or NUL"); -}; -var Hw3 = (t5, e6) => ({ name: t5, url: e6?.url ?? "", pushUrl: e6?.pushUrl, fetchRefspecs: e6?.fetch ?? [] }); -var Aw3 = async (t5) => { - await lc2(t5); - const e6 = await Hi2(t5); - if (void 0 === e6.remote) return { remotes: [] }; - const a6 = []; - for (const [t6, s9] of e6.remote) a6.push(Hw3(t6, s9)); - return a6.sort((t6, e7) => t6.name < e7.name ? -1 : 1), { remotes: a6 }; -}; -var Rw3 = async (t5, e6) => { - await lc2(t5), Ew3(e6.name), Dw3(e6.url); - const a6 = await Hi2(t5); - if (true === a6.remote?.has(e6.name)) throw ne(e6.name); - const s9 = e6.fetch ?? `+refs/heads/*:refs/remotes/${e6.name}/*`; - xw3(s9); - const i7 = [{ kind: "set", section: "remote", subsection: e6.name, key: "url", value: e6.url }, { kind: "set", section: "remote", subsection: e6.name, key: "fetch", value: s9 }]; - return await ww2(t5, i7), { remote: { name: e6.name, url: e6.url, pushUrl: void 0, fetchRefspecs: [s9] } }; -}; -var Ow3 = async (t5, e6) => { - const a6 = `refs/remotes/${e6}/`; - return (await dl2(t5)).filter((t6) => t6.startsWith(a6)); -}; -var Sw3 = async (t5, e6) => { - await lc2(t5), Ew3(e6.name); - const a6 = await Hi2(t5); - if (true !== a6.remote?.has(e6.name)) throw ee(e6.name); - const s9 = await Ow3(t5, e6.name), i7 = Cw3(a6, e6.name); - for (const e7 of s9) await nc2(t5, e7, cr(t5.hashConfig), { delete: true }); - const n6 = [{ kind: "removeSection", section: "remote", subsection: e6.name }]; - for (const t6 of i7) n6.push({ kind: "removeEntry", section: "branch", subsection: t6.branch, key: "remote" }, { kind: "removeEntry", section: "branch", subsection: t6.branch, key: "merge" }); - return await ww2(t5, n6), { name: e6.name, removedTrackingRefs: s9, clearedBranches: i7.map((t6) => t6.ref) }; -}; -var Uw3 = async (t5, e6, a6, s9) => { - const i7 = await zr2(t5).resolveDirect(e6); - "direct" === i7.kind && (await Hr2(t5, e6), await nc2(t5, a6, i7.id, { expected: "absent", reflogMessage: s9 }), await nc2(t5, e6, cr(t5.hashConfig), { delete: true })); -}; -var jw3 = async (t5, e6) => { - if (await lc2(t5), Ew3(e6.from), Ew3(e6.to), e6.from === e6.to) throw oe("remote.rename", "from and to must differ"); - const a6 = await Hi2(t5), s9 = a6.remote?.get(e6.from); - if (void 0 === s9) throw ee(e6.from); - if (true === a6.remote?.has(e6.to)) throw ne(e6.to); - const i7 = await Ow3(t5, e6.from), n6 = Cw3(a6, e6.from), r6 = `remote: renamed ${e6.from} to ${e6.to}`, o6 = []; - for (const a7 of i7) { - const s10 = a7.slice(`refs/remotes/${e6.from}/`.length), i8 = `refs/remotes/${e6.to}/${s10}`; - await Uw3(t5, a7, i8, r6), o6.push(i8); - } - const c6 = ((t6, e7, a7) => { - const s10 = `+refs/heads/*:refs/remotes/${e7}/*`, i8 = `+refs/heads/*:refs/remotes/${a7}/*`; - return t6.map((t7) => t7 === s10 ? i8 : t7); - })(s9.fetch ?? [], e6.from, e6.to), d5 = [{ kind: "renameSection", section: "remote", from: e6.from, to: e6.to }]; - if (c6.length > 0) { - d5.push({ kind: "removeEntry", section: "remote", subsection: e6.to, key: "fetch" }); - for (const t6 of c6) d5.push({ kind: "appendEntry", section: "remote", subsection: e6.to, key: "fetch", value: t6 }); - } - for (const t6 of n6) d5.push({ kind: "set", section: "branch", subsection: t6.branch, key: "remote", value: e6.to }); - return await ww2(t5, d5), { from: e6.from, to: e6.to, movedTrackingRefs: o6, rewrittenBranches: n6.map((t6) => t6.ref) }; -}; -var Nw3 = async (t5, e6) => { - await lc2(t5), Ew3(e6.name), Dw3(e6.url); - const a6 = await Hi2(t5); - if (true !== a6.remote?.has(e6.name)) throw ee(e6.name); - const s9 = true === e6.push ? "pushurl" : "url"; - await ww2(t5, [{ kind: "set", section: "remote", subsection: e6.name, key: s9, value: e6.url }]); - const i7 = (await Hi2(t5)).remote?.get(e6.name); - return { remote: Hw3(e6.name, i7) }; -}; -var Mw3 = async (t5, e6) => { - await lc2(t5), Ew3(e6.name); - const a6 = await Hi2(t5), s9 = a6.remote?.get(e6.name); - if (void 0 === s9) throw ee(e6.name); - const i7 = await Ow3(t5, e6.name), n6 = zr2(t5), r6 = /* @__PURE__ */ new Map(); - for (const t6 of i7) { - const e7 = await n6.resolveDirect(t6); - "direct" === e7.kind && r6.set(t6, e7.id); - } - const o6 = Cw3(a6, e6.name); - return { remote: { ...Hw3(e6.name, s9), trackingRefs: r6, trackedBy: o6.map((t6) => ({ branch: t6.ref, merge: t6.merge })) } }; -}; -var Pw3 = (t5, e6) => Object.freeze({ list: () => (e6(), Aw3(t5)), add: (a6) => (e6(), Rw3(t5, a6)), remove: (a6) => (e6(), Sw3(t5, a6)), rename: (a6) => (e6(), jw3(t5, a6)), setUrl: (a6) => (e6(), Nw3(t5, a6)), show: (a6) => (e6(), Mw3(t5, a6)) }); -var _w3 = (t5) => t5.parents.length >= 2; -var Lw3 = (t5) => t5.map((t6) => ({ path: t6.path, type: t6.type })); -var Fw3 = (t5) => Hl2(t5, []); -var qw3 = async (t5, e6, a6, s9, i7) => { - const n6 = a6.parents[0], r6 = void 0 !== n6 ? await Tr3(t5, n6) : await Fw3(t5), o6 = await Tr3(t5, i7), c6 = await Ld2(t5); + const e7 = []; + for (const [s8, i11] of t5.branch) i11.remote === a4 && e7.push({ branch: s8, ref: `refs/heads/${s8}`, merge: i11.merge }); + return e7; +}; +var fh3 = /[\n\r\0]/; +var uh3 = (t5) => { + if (fh3.test(t5)) throw de("remote.url", "url must not contain a newline or NUL"); +}; +var wh3 = (t5, a4) => ({ name: t5, url: a4?.url ?? "", pushUrl: a4?.pushUrl, fetchRefspecs: a4?.fetch ?? [] }); +var hh3 = async (t5) => { + await jd2(t5); + const a4 = await sr2(t5); + if (void 0 === a4.remote) return { remotes: [] }; + const e7 = []; + for (const [t6, s8] of a4.remote) e7.push(wh3(t6, s8)); + return e7.sort((t6, a5) => t6.name < a5.name ? -1 : 1), { remotes: e7 }; +}; +var lh3 = async (t5, a4) => { + await jd2(t5), ch3(a4.name), uh3(a4.url); + const e7 = await sr2(t5); + if (true === e7.remote?.has(a4.name)) throw ae(a4.name); + const s8 = a4.fetch ?? `+refs/heads/*:refs/remotes/${a4.name}/*`; + nh3(s8); + const i11 = [{ kind: "set", section: "remote", subsection: a4.name, key: "url", value: a4.url }, { kind: "set", section: "remote", subsection: a4.name, key: "fetch", value: s8 }]; + return await Rp2(t5, i11), { remote: { name: a4.name, url: a4.url, pushUrl: void 0, fetchRefspecs: [s8] } }; +}; +var mh3 = async (t5, a4) => { + const e7 = `refs/remotes/${a4}/`; + return (await yw2(t5)).filter((t6) => t6.startsWith(e7)); +}; +var ph3 = async (t5, a4) => { + await jd2(t5), ch3(a4.name); + const e7 = await sr2(t5); + if (true !== e7.remote?.has(a4.name)) throw se(a4.name); + const s8 = await mh3(t5, a4.name), i11 = dh3(e7, a4.name); + for (const a5 of s8) await Md2(t5, a5, gr(t5.hashConfig), { delete: true }); + const n7 = [{ kind: "removeSection", section: "remote", subsection: a4.name }]; + for (const t6 of i11) n7.push({ kind: "removeEntry", section: "branch", subsection: t6.branch, key: "remote" }, { kind: "removeEntry", section: "branch", subsection: t6.branch, key: "merge" }); + return await Rp2(t5, n7), { name: a4.name, removedTrackingRefs: s8, clearedBranches: i11.map((t6) => t6.ref) }; +}; +var gh3 = async (t5, a4, e7, s8) => { + const i11 = await md2(t5).resolveDirect(a4); + "direct" === i11.kind && (await vd2(t5, a4), await Md2(t5, e7, i11.id, { expected: "absent", reflogMessage: s8 }), await Md2(t5, a4, gr(t5.hashConfig), { delete: true })); +}; +var yh3 = async (t5, a4) => { + if (await jd2(t5), ch3(a4.from), ch3(a4.to), a4.from === a4.to) throw de("remote.rename", "from and to must differ"); + const e7 = await sr2(t5), s8 = e7.remote?.get(a4.from); + if (void 0 === s8) throw se(a4.from); + if (true === e7.remote?.has(a4.to)) throw ae(a4.to); + const i11 = await mh3(t5, a4.from), n7 = dh3(e7, a4.from), r8 = `remote: renamed ${a4.from} to ${a4.to}`, o5 = []; + for (const e8 of i11) { + const s9 = e8.slice(`refs/remotes/${a4.from}/`.length), i12 = `refs/remotes/${a4.to}/${s9}`; + await gh3(t5, e8, i12, r8), o5.push(i12); + } + const c5 = ((t6, a5, e8) => { + const s9 = `+refs/heads/*:refs/remotes/${a5}/*`, i12 = `+refs/heads/*:refs/remotes/${e8}/*`; + return t6.map((t7) => t7 === s9 ? i12 : t7); + })(s8.fetch ?? [], a4.from, a4.to), d6 = [{ kind: "renameSection", section: "remote", from: a4.from, to: a4.to }]; + if (c5.length > 0) { + d6.push({ kind: "removeEntry", section: "remote", subsection: a4.to, key: "fetch" }); + for (const t6 of c5) d6.push({ kind: "appendEntry", section: "remote", subsection: a4.to, key: "fetch", value: t6 }); + } + for (const t6 of n7) d6.push({ kind: "set", section: "branch", subsection: t6.branch, key: "remote", value: a4.to }); + return await Rp2(t5, d6), { from: a4.from, to: a4.to, movedTrackingRefs: o5, rewrittenBranches: n7.map((t6) => t6.ref) }; +}; +var vh3 = async (t5, a4) => { + await jd2(t5), ch3(a4.name), uh3(a4.url); + const e7 = await sr2(t5); + if (true !== e7.remote?.has(a4.name)) throw se(a4.name); + const s8 = true === a4.push ? "pushurl" : "url"; + await Rp2(t5, [{ kind: "set", section: "remote", subsection: a4.name, key: s8, value: a4.url }]); + const i11 = (await sr2(t5)).remote?.get(a4.name); + return { remote: wh3(a4.name, i11) }; +}; +var bh3 = async (t5, a4) => { + await jd2(t5), ch3(a4.name); + const e7 = await sr2(t5), s8 = e7.remote?.get(a4.name); + if (void 0 === s8) throw se(a4.name); + const i11 = await mh3(t5, a4.name), n7 = md2(t5), r8 = /* @__PURE__ */ new Map(); + for (const t6 of i11) { + const a5 = await n7.resolveDirect(t6); + "direct" === a5.kind && r8.set(t6, a5.id); + } + const o5 = dh3(e7, a4.name); + return { remote: { ...wh3(a4.name, s8), trackingRefs: r8, trackedBy: o5.map((t6) => ({ branch: t6.ref, merge: t6.merge })) } }; +}; +var kh3 = (t5, a4) => Object.freeze({ list: () => (a4(), hh3(t5)), add: (e7) => (a4(), lh3(t5, e7)), remove: (e7) => (a4(), ph3(t5, e7)), rename: (e7) => (a4(), yh3(t5, e7)), setUrl: (e7) => (a4(), vh3(t5, e7)), show: (e7) => (a4(), bh3(t5, e7)) }); +var xh3 = (t5) => t5.parents.length >= 2; +var $h3 = (t5) => t5.map((t6) => ({ path: t6.path, type: t6.type })); +var Ih3 = (t5) => Sy2(t5, []); +var Eh3 = async (t5, a4, e7, s8, i11) => { + const n7 = e7.parents[0], r8 = void 0 !== n7 ? await Zr3(t5, n7) : await Ih3(t5), o5 = await Zr3(t5, i11), c5 = await kf2(t5); try { - const n7 = await Cd2(t5), d5 = await yh2(t5, { baseTree: a6.tree, oursTree: o6, theirsTree: r6, currentIndex: n7, labels: Fi(e6, wr(a6.message)) }); - if ("would-overwrite" === d5.kind) throw $({ localChanges: d5.localChanges, untracked: d5.untracked }); - if ("conflict" === d5.kind) return await c6.commit(d5.indexEntries), { kind: "conflict", conflicts: d5.conflicts }; - if (d5.mergedTree === o6) return { kind: "empty" }; - await c6.commit(d5.result.newIndexEntries); - const { id: f2, subject: u6 } = await (async (t6, e7, a7, s10, i8) => { - const n8 = await Uo3(t6), r7 = Oo3(Jc3(a7, e7), { allowEmpty: false }); - return { id: await vh2(t6, { tree: i8, parents: [s10], author: n8, committer: n8, message: r7, extraHeaders: [] }), subject: wr(r7) }; - })(t5, e6, a6, i7, d5.mergedTree); - return await nc2(t5, s9, f2, { expected: i7, reflogMessage: tg(u6) }), { kind: "committed", id: f2 }; + const n8 = await hf2(t5), d6 = await tp2(t5, { baseTree: e7.tree, oursTree: o5, theirsTree: r8, currentIndex: n8, labels: sa(a4, Tr(e7.message)) }); + if ("would-overwrite" === d6.kind) throw L({ localChanges: d6.localChanges, untracked: d6.untracked }); + if ("conflict" === d6.kind) return await c5.commit(d6.indexEntries), { kind: "conflict", conflicts: d6.conflicts }; + if (d6.mergedTree === o5) return { kind: "empty" }; + await c5.commit(d6.result.newIndexEntries); + const { id: f2, subject: u6 } = await (async (t6, a5, e8, s9, i12) => { + const n9 = await rc3(t6), r9 = ic3(kd3(e8, a5), { allowEmpty: false }); + return { id: await np2(t6, { tree: i12, parents: [s9], author: n9, committer: n9, message: r9, extraHeaders: [] }), subject: Tr(r9) }; + })(t5, a4, e7, i11, d6.mergedTree); + return await Md2(t5, s8, f2, { expected: i11, reflogMessage: lm(u6) }), { kind: "committed", id: f2 }; } finally { - await c6.release(); + await c5.release(); } }; -var Bw3 = async (t5, e6, a6, s9) => { - await lo3(t5, e6.sequenceHead), await go3(t5, await (async (t6, e7) => { - const a7 = []; - for (const s10 of e7) { - const e8 = await Ff2(t6, s10); - a7.push({ command: "revert", oid: s10, subject: wr(e8.message) }); +var Ch3 = async (t5, a4, e7, s8) => { + await Bo3(t5, a4.sequenceHead), await qo3(t5, await (async (t6, a5) => { + const e8 = []; + for (const s9 of a5) { + const a6 = await Mh2(t6, s9); + e8.push({ command: "revert", oid: s9, subject: Tr(a6.message) }); } - return a7; - })(t5, a6)), await po3(t5, s9), await vo3(t5, { recordOrigin: false, allowEmpty: false, noCommit: false }); + return e8; + })(t5, e7)), await Fo3(t5, s8), await Wo3(t5, { recordOrigin: false, allowEmpty: false, noCommit: false }); }; -var Ww3 = async (t5, e6, a6) => { - "conflict" === e6.kind && await (async (t6, e7, a7, s10) => { - await (async (t7, e8) => { - await t7.fs.writeUtf8(Vc3(t7), `${e8} +var Dh3 = async (t5, a4, e7) => { + "conflict" === a4.kind && await (async (t6, a5, e8, s9) => { + await (async (t7, a6) => { + await t7.fs.writeUtf8(yd3(t7), `${a6} `); - })(t6, e7), await Hn(t6, Co3(Jc3(a7, e7), Ao(s10))); - })(t5, a6.source, a6.cData, e6.conflicts), a6.seq.multiPick && await Bw3(t5, a6.seq, a6.remaining, a6.currentHead); - const s9 = a6.remaining.length - 1; - return "conflict" === e6.kind ? { kind: "conflict", commit: a6.source, conflicts: Lw3(e6.conflicts), remaining: s9 } : { kind: "empty", commit: a6.source, remaining: s9 }; -}; -var zw3 = async (t5, e6, a6, s9, i7) => { - let n6 = s9; - const r6 = []; - for (let s10 = 0; s10 < e6.length; s10 += 1) { - const o6 = e6[s10], c6 = await Ff2(t5, o6); - if (_w3(c6)) throw i7.multiPick && await Bw3(t5, i7, e6.slice(s10), n6), Ke(o6); - const d5 = await qw3(t5, o6, c6, a6, n6); - if ("committed" !== d5.kind) { - if ("empty" !== d5.kind || "drop" !== i7.onEmpty || 0 !== s10) return Ww3(t5, d5, { seq: i7, source: o6, cData: c6, remaining: e6.slice(s10), currentHead: n6 }); - } else r6.push({ source: o6, created: d5.id }), n6 = d5.id; - } - return await ko3(t5), { kind: "reverted", commits: r6 }; -}; -var Vw3 = /^(.+)\.\.(.+)$/; -var Kw3 = async (t5, e6, a6) => { - const s9 = /* @__PURE__ */ new Set(); - for await (const a7 of nl2(t5, { from: [e6] })) s9.add(a7.id); - const i7 = []; - for await (const e7 of nl2(t5, { from: [a6], until: [...s9] })) i7.push(e7.id); - return i7; -}; -var Gw3 = async (t5, e6) => { - await hc2(t5), wc2(t5, mg), await vc2(t5); - const a6 = await mc2(t5); - if ("symbolic" !== a6.kind) throw h(mg, "cannot revert with detached HEAD"); - const s9 = await (async (t6, e7) => { + })(t6, a5), await ar3(t6, Qo3(kd3(e8, a5), zo(s9))); + })(t5, e7.source, e7.cData, a4.conflicts), e7.seq.multiPick && await Ch3(t5, e7.seq, e7.remaining, e7.currentHead); + const s8 = e7.remaining.length - 1; + return "conflict" === a4.kind ? { kind: "conflict", commit: e7.source, conflicts: $h3(a4.conflicts), remaining: s8 } : { kind: "empty", commit: e7.source, remaining: s8 }; +}; +var Th3 = async (t5, a4, e7, s8, i11) => { + let n7 = s8; + const r8 = []; + for (let s9 = 0; s9 < a4.length; s9 += 1) { + const o5 = a4[s9], c5 = await Mh2(t5, o5); + if (xh3(c5)) throw i11.multiPick && await Ch3(t5, i11, a4.slice(s9), n7), Ze(o5); + const d6 = await Eh3(t5, o5, c5, e7, n7); + if ("committed" !== d6.kind) { + if ("empty" !== d6.kind || "drop" !== i11.onEmpty || 0 !== s9) return Dh3(t5, d6, { seq: i11, source: o5, cData: c5, remaining: a4.slice(s9), currentHead: n7 }); + } else r8.push({ source: o5, created: d6.id }), n7 = d6.id; + } + return await Go3(t5), { kind: "reverted", commits: r8 }; +}; +var Hh3 = /^(.+)\.\.(.+)$/; +var Oh3 = async (t5, a4, e7) => { + const s8 = /* @__PURE__ */ new Set(); + for await (const e8 of iw2(t5, { from: [a4] })) s8.add(e8.id); + const i11 = []; + for await (const a5 of iw2(t5, { from: [e7], until: [...s8] })) i11.push(a5.id); + return i11; +}; +var Ah3 = async (t5, a4) => { + await Gd2(t5), Kd2(t5, Tm), await Zd2(t5); + const e7 = await qd2(t5); + if ("symbolic" !== e7.kind) throw w(Tm, "cannot revert with detached HEAD"); + const s8 = await (async (t6, a5) => { try { - return await eu2(t6, e7); + return await Wf2(t6, a5); } catch (t7) { - if (t7 instanceof o && "REF_NOT_FOUND" === t7.data.code) throw He(); + if (t7 instanceof c && "REF_NOT_FOUND" === t7.data.code) throw Ke(); throw t7; } - })(t5, a6.target), i7 = await (async (t6, e7) => { - const a7 = []; - for (const s10 of e7) { - if (s10.includes("...") || s10.includes("^")) throw oe("commits", `unsupported revision form '${s10}' (use a commit-ish or A..B)`); - const e8 = Vw3.exec(s10); - if (null === e8) { - a7.push(await Cr3(t6, s10)); + })(t5, e7.target), i11 = await (async (t6, a5) => { + const e8 = []; + for (const s9 of a5) { + if (s9.includes("...") || s9.includes("^")) throw de("commits", `unsupported revision form '${s9}' (use a commit-ish or A..B)`); + const a6 = Hh3.exec(s9); + if (null === a6) { + e8.push(await Qr3(t6, s9)); continue; } - const i8 = await wr3(t6, e8[1]), n6 = await wr3(t6, e8[2]); - a7.push(...await Kw3(t6, i8, n6)); + const i12 = await Pr3(t6, a6[1]), n7 = await Pr3(t6, a6[2]); + e8.push(...await Oh3(t6, i12, n7)); } - return a7; - })(t5, e6.commits); - return await Ho3(t5, await Tr3(t5, s9)), true === e6.noCommit ? (async (t6, e7) => { - const a7 = await Ld2(t6); + return e8; + })(t5, a4.commits); + return await ac3(t5, await Zr3(t5, s8)), true === a4.noCommit ? (async (t6, a5) => { + const e8 = await kf2(t6); try { - let s10 = await Cd2(t6); - for (let i8 = 0; i8 < e7.length; i8 += 1) { - const n6 = e7[i8], r6 = await Ff2(t6, n6); - if (_w3(r6)) throw Ke(n6); - const o6 = r6.parents[0], c6 = void 0 !== o6 ? await Tr3(t6, o6) : await Fw3(t6), d5 = await Vl2(t6, s10.entries), f2 = await yh2(t6, { baseTree: r6.tree, oursTree: d5, theirsTree: c6, currentIndex: s10, labels: Fi(n6, wr(r6.message)) }); - if ("would-overwrite" === f2.kind) throw $({ localChanges: f2.localChanges, untracked: f2.untracked }); - if ("conflict" === f2.kind) return await a7.commit(f2.indexEntries), { kind: "conflict", commit: n6, conflicts: Lw3(f2.conflicts), remaining: e7.length - (i8 + 1) }; - s10 = { ...s10, entries: f2.result.newIndexEntries }; - } - return await a7.commit(s10.entries), { kind: "no-commit", sources: e7 }; + let s9 = await hf2(t6); + for (let i12 = 0; i12 < a5.length; i12 += 1) { + const n7 = a5[i12], r8 = await Mh2(t6, n7); + if (xh3(r8)) throw Ze(n7); + const o5 = r8.parents[0], c5 = void 0 !== o5 ? await Zr3(t6, o5) : await Ih3(t6), d6 = await Ey2(t6, s9.entries), f2 = await tp2(t6, { baseTree: r8.tree, oursTree: d6, theirsTree: c5, currentIndex: s9, labels: sa(n7, Tr(r8.message)) }); + if ("would-overwrite" === f2.kind) throw L({ localChanges: f2.localChanges, untracked: f2.untracked }); + if ("conflict" === f2.kind) return await e8.commit(f2.indexEntries), { kind: "conflict", commit: n7, conflicts: $h3(f2.conflicts), remaining: a5.length - (i12 + 1) }; + s9 = { ...s9, entries: f2.result.newIndexEntries }; + } + return await e8.commit(s9.entries), { kind: "no-commit", sources: a5 }; } finally { - await a7.release(); - } - })(t5, i7) : zw3(t5, i7, a6.target, s9, { multiPick: i7.length > 1, sequenceHead: s9, onEmpty: "stop" }); -}; -var Jw3 = async (t5) => { - await hc2(t5), wc2(t5, bg); - const e6 = await Kc3(t5), a6 = await yo3(t5); - if (void 0 === e6 && (void 0 === a6 || 0 === a6.length)) throw Z(mg); - const s9 = await mc2(t5); - if ("symbolic" !== s9.kind) throw h(bg, "cannot continue with detached HEAD"); - let i7 = await eu2(t5, s9.target); - const o6 = []; - if (void 0 !== e6) { - const n6 = void 0 !== a6 ? a6.length - 1 : 0, r6 = await (async (t6, e7, a7) => { - const s10 = await Cd2(t6); + await e8.release(); + } + })(t5, i11) : Th3(t5, i11, e7.target, s8, { multiPick: i11.length > 1, sequenceHead: s8, onEmpty: "stop" }); +}; +var Sh3 = async (t5) => { + await Gd2(t5), Kd2(t5, Nm); + const a4 = await vd3(t5), e7 = await zo3(t5); + if (void 0 === a4 && (void 0 === e7 || 0 === e7.length)) throw oe(Tm); + const s8 = await qd2(t5); + if ("symbolic" !== s8.kind) throw w(Nm, "cannot continue with detached HEAD"); + let i11 = await Wf2(t5, s8.target); + const o5 = []; + if (void 0 !== a4) { + const n7 = void 0 !== e7 ? e7.length - 1 : 0, r8 = await (async (t6, a5, e8) => { + const s9 = await hf2(t6); ((t7) => { - const e8 = /* @__PURE__ */ new Set(); - for (const a8 of t7) 0 !== a8.flags.stage && e8.add(a8.path); - if (e8.size > 0) throw z(e8.size, [...e8]); - })(s10.entries); - const i8 = await Vl2(t6, s10.entries); - if (i8 === await Tr3(t6, a7)) return { empty: true }; - const n7 = await (async (t7, e8, a8, s11) => { - const i9 = await Uo3(t7), n8 = Oo3(So3(await On2(t7) ?? ""), { allowEmpty: false }), r7 = await vh2(t7, { tree: s11, parents: [e8], author: i9, committer: i9, message: n8, extraHeaders: [] }); - return await nc2(t7, a8, r7, { expected: e8, reflogMessage: Kh(wr(n8)) }), r7; - })(t6, a7, e7, i8); - return await Gc3(t6), await Un(t6), { created: n7 }; - })(t5, s9.target, i7); - if ("empty" in r6) return { kind: "empty", commit: e6, remaining: n6 }; - o6.push({ source: e6, created: r6.created }), i7 = r6.created; - } - const c6 = (a6 ?? []).slice(void 0 !== e6 ? 1 : 0).map((t6) => t6.oid), d5 = await mo3(t5) ?? i7, f2 = void 0 === e6 ? "drop" : "stop", u6 = await zw3(t5, c6, s9.target, i7, { multiPick: true, sequenceHead: d5, onEmpty: f2 }); - return "reverted" === u6.kind ? { kind: "reverted", commits: [...o6, ...u6.commits] } : u6; -}; -var Yw3 = async (t5) => { - await hc2(t5), wc2(t5, Ig); - const e6 = await Kc3(t5), a6 = await yo3(t5); - if (void 0 === e6 && (void 0 === a6 || 0 === a6.length)) throw Z(mg); - const s9 = await Dr3(t5, Ig), i7 = await eu2(t5, s9); - await jn2(t5, i7), await Gc3(t5), await Un(t5); - const r6 = (a6 ?? []).slice(1).map((t6) => t6.oid), o6 = await mo3(t5) ?? i7; - return zw3(t5, r6, s9, i7, { multiPick: true, sequenceHead: o6, onEmpty: "stop" }); -}; -var Xw3 = async (t5) => { - await hc2(t5), wc2(t5, _g); - const e6 = await Kc3(t5), a6 = await mo3(t5); - if (void 0 === e6 && void 0 === a6) throw Z(mg); - const s9 = await Dr3(t5, _g), i7 = a6 ?? await eu2(t5, s9); - return await xo3(t5, { branch: s9, target: i7, clearHead: Gc3 }), { head: i7, branch: s9 }; -}; -var Qw3 = (t5, e6) => Object.freeze({ run: (a6) => (e6(), Gw3(t5, a6)), continue: () => (e6(), Jw3(t5)), skip: () => (e6(), Yw3(t5)), abort: () => (e6(), Xw3(t5)) }); -var Zw3 = (t5, e6) => void 0 === t5 || t5(e6); -var th3 = (t5) => ({ kind: "delete", path: t5.path, mode: t5.mode, id: void 0, previousId: t5.id, previousMode: t5.mode }); -var eh3 = (t5) => ({ kind: "add", path: t5.path, mode: t5.mode, id: t5.id, previousId: void 0, previousMode: void 0 }); -var ah3 = (t5) => ({ kind: "noop", path: t5.path, mode: t5.mode, id: t5.id, previousId: t5.id, previousMode: t5.mode }); -var sh3 = { ctimeSeconds: 0, ctimeNanoseconds: 0, mtimeSeconds: 0, mtimeNanoseconds: 0, dev: 0, ino: 0, uid: 0, gid: 0, fileSize: 0 }; -var ih3 = (t5) => ({ ...sh3, mode: t5.mode, id: t5.id, flags: { ...Zn, skipWorktree: true }, path: t5.path }); -var nh3 = (t5) => t5.flags.skipWorktree ? { ...t5, flags: { ...t5.flags, skipWorktree: false } } : t5; -var rh3 = async (t5, e6) => { - const a6 = wc2(t5, "sparse-checkout"), s9 = await Ld2(t5); + const a6 = /* @__PURE__ */ new Set(); + for (const e9 of t7) 0 !== e9.flags.stage && a6.add(e9.path); + if (a6.size > 0) throw J(a6.size, [...a6]); + })(s9.entries); + const i12 = await Ey2(t6, s9.entries); + if (i12 === await Zr3(t6, e8)) return { empty: true }; + const n8 = await (async (t7, a6, e9, s10) => { + const i13 = await rc3(t7), n9 = ic3(nc3(await ir3(t7) ?? ""), { allowEmpty: false }), r9 = await np2(t7, { tree: s10, parents: [a6], author: i13, committer: i13, message: n9, extraHeaders: [] }); + return await Md2(t7, e9, r9, { expected: a6, reflogMessage: rm(Tr(n9)) }), r9; + })(t6, e8, a5, i12); + return await bd3(t6), await rr3(t6), { created: n8 }; + })(t5, s8.target, i11); + if ("empty" in r8) return { kind: "empty", commit: a4, remaining: n7 }; + o5.push({ source: a4, created: r8.created }), i11 = r8.created; + } + const c5 = (e7 ?? []).slice(void 0 !== a4 ? 1 : 0).map((t6) => t6.oid), d6 = await Lo3(t5) ?? i11, f2 = void 0 === a4 ? "drop" : "stop", u6 = await Th3(t5, c5, s8.target, i11, { multiPick: true, sequenceHead: d6, onEmpty: f2 }); + return "reverted" === u6.kind ? { kind: "reverted", commits: [...o5, ...u6.commits] } : u6; +}; +var Rh3 = async (t5) => { + await Gd2(t5), Kd2(t5, Lm); + const a4 = await vd3(t5), e7 = await zo3(t5); + if (void 0 === a4 && (void 0 === e7 || 0 === e7.length)) throw oe(Tm); + const s8 = await to3(t5, Lm), i11 = await Wf2(t5, s8); + await or3(t5, i11), await bd3(t5), await rr3(t5); + const r8 = (e7 ?? []).slice(1).map((t6) => t6.oid), o5 = await Lo3(t5) ?? i11; + return Th3(t5, r8, s8, i11, { multiPick: true, sequenceHead: o5, onEmpty: "stop" }); +}; +var jh3 = async (t5) => { + await Gd2(t5), Kd2(t5, Rm); + const a4 = await vd3(t5), e7 = await Lo3(t5); + if (void 0 === a4 && void 0 === e7) throw oe(Tm); + const s8 = await to3(t5, Rm), i11 = e7 ?? await Wf2(t5, s8); + return await Ko3(t5, { branch: s8, target: i11, clearHead: bd3 }), { head: i11, branch: s8 }; +}; +var Nh3 = (t5, a4) => Object.freeze({ run: (e7) => (a4(), Ah3(t5, e7)), continue: () => (a4(), Sh3(t5)), skip: () => (a4(), Rh3(t5)), abort: () => (a4(), jh3(t5)) }); +var Uh3 = (t5, a4) => void 0 === t5 || t5(a4); +var Mh3 = (t5) => ({ kind: "delete", path: t5.path, mode: t5.mode, id: void 0, previousId: t5.id, previousMode: t5.mode }); +var Ph3 = (t5) => ({ kind: "add", path: t5.path, mode: t5.mode, id: t5.id, previousId: void 0, previousMode: void 0 }); +var _h3 = (t5) => ({ kind: "noop", path: t5.path, mode: t5.mode, id: t5.id, previousId: t5.id, previousMode: t5.mode }); +var Bh3 = { ctimeSeconds: 0, ctimeNanoseconds: 0, mtimeSeconds: 0, mtimeNanoseconds: 0, dev: 0, ino: 0, uid: 0, gid: 0, fileSize: 0 }; +var Lh3 = (t5) => ({ ...Bh3, mode: t5.mode, id: t5.id, flags: { ...sr, skipWorktree: true }, path: t5.path }); +var Fh3 = (t5) => t5.flags.skipWorktree ? { ...t5, flags: { ...t5.flags, skipWorktree: false } } : t5; +var qh3 = async (t5, a4) => { + const e7 = Kd2(t5, "sparse-checkout"), s8 = await kf2(t5); try { - const i7 = (await Cd2(t5)).entries.filter((t6) => 0 === t6.flags.stage), n6 = await (async (t6, e7, a7, s10) => { - const i8 = [], n7 = [], r7 = []; - for (const o7 of a7) { - if (Zw3(s10.matcher, o7.path)) { - i8.push(o7); + const i11 = (await hf2(t5)).entries.filter((t6) => 0 === t6.flags.stage), n7 = await (async (t6, a5, e8, s9) => { + const i12 = [], n8 = [], r9 = []; + for (const o6 of e8) { + if (Uh3(s9.matcher, o6.path)) { + i12.push(o6); continue; } - const a8 = bc2(e7, o7.path), c7 = await t6.fs.exists(a8); - c7 && await rd2(t6, a8, o7.id) && true !== s10.force ? r7.push(o7) : n7.push({ entry: o7, present: c7 }); - } - return { included: i8, removable: n7, retained: r7 }; - })(t5, a6, i7, e6), r6 = await (async (t6, e7, a7) => { - const s10 = []; - for (const { entry: t7, present: e8 } of a7.removable) s10.push(e8 ? th3(t7) : ah3(t7)); - for (const i9 of a7.included) { - const a8 = await t6.fs.exists(bc2(e7, i9.path)); - s10.push(a8 ? ah3(i9) : eh3(i9)); - } - const i8 = { add: 0, update: 0, delete: 0, noop: 0 }; - for (const t7 of s10) i8[t7.kind] += 1; - return { entries: s10, stats: i8 }; - })(t5, a6, n6), o6 = await fd2(t5, { changeset: r6, force: true, workdir: a6 }), c6 = ((t6, e7) => { - const a7 = /* @__PURE__ */ new Map(); - for (const t7 of e7) a7.set(t7.path, t7); - const s10 = []; - for (const e8 of t6.included) s10.push(a7.get(e8.path) ?? nh3(e8)); - for (const { entry: e8 } of t6.removable) s10.push(ih3(e8)); - for (const e8 of t6.retained) s10.push(nh3(e8)); - return s10; - })(n6, o6.writtenEntries); - return await s9.commit(c6), { materialized: o6.written, removed: o6.deleted, retained: n6.retained.map((t6) => t6.path) }; + const e9 = Jd2(a5, o6.path), c6 = await t6.fs.exists(e9); + c6 && await Fu2(t6, e9, o6.id) && true !== s9.force ? r9.push(o6) : n8.push({ entry: o6, present: c6 }); + } + return { included: i12, removable: n8, retained: r9 }; + })(t5, e7, i11, a4), r8 = await (async (t6, a5, e8) => { + const s9 = []; + for (const { entry: t7, present: a6 } of e8.removable) s9.push(a6 ? Mh3(t7) : _h3(t7)); + for (const i13 of e8.included) { + const e9 = await t6.fs.exists(Jd2(a5, i13.path)); + s9.push(e9 ? _h3(i13) : Ph3(i13)); + } + const i12 = { add: 0, update: 0, delete: 0, noop: 0 }; + for (const t7 of s9) i12[t7.kind] += 1; + return { entries: s9, stats: i12 }; + })(t5, e7, n7), o5 = await Gu2(t5, { changeset: r8, force: true, workdir: e7 }), c5 = ((t6, a5) => { + const e8 = /* @__PURE__ */ new Map(); + for (const t7 of a5) e8.set(t7.path, t7); + const s9 = []; + for (const a6 of t6.included) s9.push(e8.get(a6.path) ?? Fh3(a6)); + for (const { entry: a6 } of t6.removable) s9.push(Lh3(a6)); + for (const a6 of t6.retained) s9.push(Fh3(a6)); + return s9; + })(n7, o5.writtenEntries); + return await s8.commit(c5), { materialized: o5.written, removed: o5.deleted, retained: n7.retained.map((t6) => t6.path) }; } finally { - await s9.release(); - } -}; -var oh3 = async (t5) => { - await hc2(t5), wc2(t5, "sparse-checkout"), await vc2(t5); -}; -var ch3 = async (t5) => { - await oh3(t5); - const e6 = await Hi2(t5); - if (true !== e6.core?.sparseCheckout) return { cone: false, patterns: [] }; - const a6 = true === e6.core.sparseCheckoutCone, s9 = await Dd2(t5) ?? ""; - return "cone" === (i7 = Nf(s9, a6).spec).mode ? { cone: true, patterns: [...i7.recursive].sort() } : { cone: false, patterns: i7.rules.map((t6) => t6.source) }; - var i7; -}; -var dh3 = (t5, e6) => void 0 === e6 ? { matcher: t5 } : { matcher: t5, force: e6 }; -var fh3 = async (t5, e6, a6, s9) => { - const i7 = await rh3(t5, dh3(Sf(e6), s9)); - return await gm2(t5, a6), await fw2(t5, { sparseCheckout: "true", sparseCheckoutCone: "cone" === e6.mode ? "true" : "false" }), gh3("cone" === e6.mode, i7); -}; -var uh3 = async (t5, e6) => { - if (await oh3(t5), 0 === e6.patterns.length) throw oe("patterns", "set requires at least one pattern"); - const a6 = await Hi2(t5), s9 = e6.cone ?? a6.core?.sparseCheckoutCone ?? true, { spec: i7, text: n6 } = mh3(s9, e6.patterns); - return fh3(t5, i7, n6, e6.force); -}; -var wh3 = async (t5, e6) => { - if (await oh3(t5), 0 === e6.patterns.length) throw oe("patterns", "add requires at least one pattern"); - const a6 = await Hi2(t5); - if (true !== a6.core?.sparseCheckout) throw oe("action", "add requires sparse checkout to be enabled"); - const s9 = true === a6.core.sparseCheckoutCone, i7 = await Dd2(t5) ?? "", { spec: n6, text: r6 } = ph3(s9, i7, e6.patterns); - return fh3(t5, n6, r6, e6.force); -}; -var hh3 = async (t5, e6) => { - await oh3(t5); - const a6 = await Ed2(t5); - if (void 0 === a6) throw oe("action", "reapply requires sparse checkout to be enabled"); - const s9 = await Hi2(t5), i7 = await rh3(t5, dh3(a6, e6?.force)); - return gh3(true === s9.core?.sparseCheckoutCone, i7); -}; -var lh3 = async (t5, e6) => { - await oh3(t5); - const a6 = await rh3(t5, dh3(void 0, e6?.force)); - return await fw2(t5, { sparseCheckout: "false" }), gh3(false, a6); -}; -var mh3 = (t5, e6) => { + await s8.release(); + } +}; +var zh3 = async (t5) => { + await Gd2(t5), Kd2(t5, "sparse-checkout"), await Zd2(t5); +}; +var Wh3 = async (t5) => { + await zh3(t5); + const a4 = await sr2(t5); + if (true !== a4.core?.sparseCheckout) return { cone: false, patterns: [] }; + const e7 = true === a4.core.sparseCheckoutCone, s8 = await mf2(t5) ?? ""; + return "cone" === (i11 = ah(s8, e7).spec).mode ? { cone: true, patterns: [...i11.recursive].sort() } : { cone: false, patterns: i11.rules.map((t6) => t6.source) }; + var i11; +}; +var Vh3 = (t5, a4) => void 0 === a4 ? { matcher: t5 } : { matcher: t5, force: a4 }; +var Gh3 = async (t5, a4, e7, s8) => { + const i11 = await qh3(t5, Vh3(ch(a4), s8)); + return await Km2(t5, e7), await Np2(t5, { sparseCheckout: "true", sparseCheckoutCone: "cone" === a4.mode ? "true" : "false" }), tl3("cone" === a4.mode, i11); +}; +var Kh3 = async (t5, a4) => { + if (await zh3(t5), 0 === a4.patterns.length) throw de("patterns", "set requires at least one pattern"); + const e7 = await sr2(t5), s8 = a4.cone ?? e7.core?.sparseCheckoutCone ?? true, { spec: i11, text: n7 } = Qh3(s8, a4.patterns); + return Gh3(t5, i11, n7, a4.force); +}; +var Yh3 = async (t5, a4) => { + if (await zh3(t5), 0 === a4.patterns.length) throw de("patterns", "add requires at least one pattern"); + const e7 = await sr2(t5); + if (true !== e7.core?.sparseCheckout) throw de("action", "add requires sparse checkout to be enabled"); + const s8 = true === e7.core.sparseCheckoutCone, i11 = await mf2(t5) ?? "", { spec: n7, text: r8 } = Zh3(s8, i11, a4.patterns); + return Gh3(t5, n7, r8, a4.force); +}; +var Xh3 = async (t5, a4) => { + await zh3(t5); + const e7 = await gf2(t5); + if (void 0 === e7) throw de("action", "reapply requires sparse checkout to be enabled"); + const s8 = await sr2(t5), i11 = await qh3(t5, Vh3(e7, a4?.force)); + return tl3(true === s8.core?.sparseCheckoutCone, i11); +}; +var Jh3 = async (t5, a4) => { + await zh3(t5); + const e7 = await qh3(t5, Vh3(void 0, a4?.force)); + return await Np2(t5, { sparseCheckout: "false" }), tl3(false, e7); +}; +var Qh3 = (t5, a4) => { if (t5) { - const t6 = _f(e6); - return { spec: t6, text: vf(t6) }; + const t6 = th(a4); + return { spec: t6, text: nh(t6) }; } - const a6 = e6.join("\n"); - return { spec: Nf(a6, false).spec, text: a6 }; + const e7 = a4.join("\n"); + return { spec: ah(e7, false).spec, text: e7 }; }; -var ph3 = (t5, e6, a6) => { +var Zh3 = (t5, a4, e7) => { if (t5) { - const t6 = Nf(e6, true).spec, s10 = "cone" === t6.mode ? [...t6.recursive, ...a6] : a6, i7 = _f(s10); - return { spec: i7, text: vf(i7) }; - } - const s9 = ("" === e6 ? a6 : [e6, ...a6]).join("\n"); - return { spec: Nf(s9, false).spec, text: s9 }; -}; -var gh3 = (t5, e6) => ({ cone: t5, materialized: e6.materialized, removed: e6.removed, retained: e6.retained }); -var yh3 = (t5, e6) => Object.freeze({ list: () => (e6(), ch3(t5)), set: (a6) => (e6(), uh3(t5, a6)), add: (a6) => (e6(), wh3(t5, a6)), reapply: (a6) => (e6(), hh3(t5, a6)), disable: (a6) => (e6(), lh3(t5, a6)) }); -var vh3 = async (t5, e6) => { - const a6 = await Ui2(t5, e6); - if ("commit" !== a6.type) throw Bt("commit", a6.type, e6); - return a6.data.tree; -}; -var bh3 = async (t5, e6, a6, s9) => { - const i7 = bc2(e6, a6), n6 = s9.isSymbolicLink ? new TextEncoder().encode(await t5.fs.readlink(i7)) : await t5.fs.read(i7); - return { id: await qw2(t5, n6, { write: true }), mode: nn(s9) }; -}; -var kh3 = async (t5, e6 = {}) => { - await hc2(t5); - const a6 = wc2(t5, "stash"); - await vc2(t5); - const s9 = await mc2(t5), n6 = await (async (t6, e7) => { - const a7 = await (async (t7, e8) => { - if ("direct" === e8.kind) return e8.id; + const t6 = ah(a4, true).spec, s9 = "cone" === t6.mode ? [...t6.recursive, ...e7] : e7, i11 = th(s9); + return { spec: i11, text: nh(i11) }; + } + const s8 = ("" === a4 ? e7 : [a4, ...e7]).join("\n"); + return { spec: ah(s8, false).spec, text: s8 }; +}; +var tl3 = (t5, a4) => ({ cone: t5, materialized: a4.materialized, removed: a4.removed, retained: a4.retained }); +var al3 = (t5, a4) => Object.freeze({ list: () => (a4(), Wh3(t5)), set: (e7) => (a4(), Kh3(t5, e7)), add: (e7) => (a4(), Yh3(t5, e7)), reapply: (e7) => (a4(), Xh3(t5, e7)), disable: (e7) => (a4(), Jh3(t5, e7)) }); +var el3 = async (t5, a4) => { + const e7 = await Ts2(t5, a4); + if ("commit" !== e7.type) throw Kt("commit", e7.type, a4); + return e7.data.tree; +}; +var sl3 = async (t5, a4, e7, s8) => { + const i11 = Jd2(a4, e7), n7 = s8.isSymbolicLink ? new TextEncoder().encode(await t5.fs.readlink(i11)) : await t5.fs.read(i11); + return { id: await km2(t5, n7, { write: true }), mode: dn(s8) }; +}; +var il3 = async (t5, a4 = {}) => { + await Gd2(t5); + const e7 = Kd2(t5, "stash"); + await Zd2(t5); + const s8 = await qd2(t5), n7 = await (async (t6, a5) => { + const e8 = await (async (t7, a6) => { + if ("direct" === a6.kind) return a6.id; try { - return await eu2(t7, e8.target); + return await Wf2(t7, a6.target); } catch (t8) { - if (t8 instanceof o && "REF_NOT_FOUND" === t8.data.code) throw He(); + if (t8 instanceof c && "REF_NOT_FOUND" === t8.data.code) throw Ke(); throw t8; } - })(t6, e7), s10 = await Ui2(t6, a7); - if ("commit" !== s10.type) throw Bt("commit", s10.type, a7); - return { b: a7, bTree: s10.data.tree, branchRef: "symbolic" === e7.kind ? e7.target : void 0, subject: wr(s10.data.message) }; - })(t5, s9), r6 = await Ld2(t5); + })(t6, a5), s9 = await Ts2(t6, e8); + if ("commit" !== s9.type) throw Kt("commit", s9.type, e8); + return { b: e8, bTree: s9.data.tree, branchRef: "symbolic" === a5.kind ? a5.target : void 0, subject: Tr(s9.data.message) }; + })(t5, s8), r8 = await kf2(t5); try { - const s10 = await Cd2(t5), i7 = await Vl2(t5, s10.entries), o6 = await (async (t6, e7, a7) => { - const s11 = []; - let i8 = false; - const n7 = await Ec2(t6); - for (const r7 of a7.entries) { - if (0 !== r7.flags.stage) continue; - if (r7.flags.skipWorktree) { - s11.push(r7); + const s9 = await hf2(t5), i11 = await Ey2(t5, s9.entries), o5 = await (async (t6, a5, e8) => { + const s10 = []; + let i12 = false; + const n8 = await su2(t6); + for (const r9 of e8.entries) { + if (0 !== r9.flags.stage) continue; + if (r9.flags.skipWorktree) { + s10.push(r9); continue; } - const a8 = await oh2(t6, r7, n7); - if ("absent" === a8) { - i8 = true; + const e9 = await Fy2(t6, r9, n8); + if ("absent" === e9) { + i12 = true; continue; } - if ("unchanged" === a8) { - s11.push(r7); + if ("unchanged" === e9) { + s10.push(r9); continue; } - i8 = true; - const o7 = await t6.fs.lstat(bc2(e7, r7.path)), { id: c7, mode: d6 } = await bh3(t6, e7, r7.path, o7); - s11.push(fh2(r7.path, c7, d6)); - } - return { entries: s11, dirty: i8 }; - })(t5, a6, s10), c6 = e6.includeUntracked ? await (async (t6, e7, a7) => { - const s11 = new Set(a7.entries.map((t7) => t7.path)), i8 = await Zd2(t6), n7 = [], r7 = []; - for await (const { path: a8, stat: o7 } of zd2(t6, { ignore: i8 })) { - if (s11.has(a8)) continue; - const { id: i9, mode: c7 } = await bh3(t6, e7, a8, await o7()); - r7.push(fh2(a8, i9, c7)), n7.push(a8); - } - return { paths: n7, entries: r7 }; - })(t5, a6, s10) : { paths: [], entries: [] }; - if (!(i7 !== n6.bTree || o6.dirty || c6.paths.length > 0)) return { kind: "no-local-changes" }; - const d5 = await xh3(t5, { base: n6, iTree: i7, working: o6, untracked: c6, opts: e6 }); - return await Sm2(t5, d5.stash, d5.message), await Eh3(t5, r6, { base: n6, iTree: i7, untracked: c6, opts: e6 }), { kind: "saved", stash: d5.stash, message: d5.message }; + i12 = true; + const o6 = await t6.fs.lstat(Jd2(a5, r9.path)), { id: c6, mode: d7 } = await sl3(t6, a5, r9.path, o6); + s10.push(Ky2(r9.path, c6, d7)); + } + return { entries: s10, dirty: i12 }; + })(t5, e7, s9), c5 = a4.includeUntracked ? await (async (t6, a5, e8) => { + const s10 = new Set(e8.entries.map((t7) => t7.path)), i12 = await Uf2(t6), n8 = [], r9 = []; + for await (const { path: e9, stat: o6 } of Pf2(t6, { ignore: i12 })) { + if (s10.has(e9)) continue; + const { id: i13, mode: c6 } = await sl3(t6, a5, e9, await o6()); + r9.push(Ky2(e9, i13, c6)), n8.push(e9); + } + return { paths: n8, entries: r9 }; + })(t5, e7, s9) : { paths: [], entries: [] }; + if (!(i11 !== n7.bTree || o5.dirty || c5.paths.length > 0)) return { kind: "no-local-changes" }; + const d6 = await nl3(t5, { base: n7, iTree: i11, working: o5, untracked: c5, opts: a4 }); + return await Qm2(t5, d6.stash, d6.message), await cl3(t5, r8, { base: n7, iTree: i11, untracked: c5, opts: a4 }), { kind: "saved", stash: d6.stash, message: d6.message }; } finally { - await r6.release(); - } -}; -var xh3 = async (t5, e6) => { - const { base: a6, iTree: s9, working: i7, untracked: n6, opts: r6 } = e6, o6 = await Bs2(t5), c6 = (d5 = a6.branchRef, d5?.startsWith(Ep) ? d5.slice(Ep.length) : "(no branch)"); - var d5; - const f2 = Ci(a6.b), u6 = a6.subject, w4 = void 0 !== r6.message ? ((t6, e7) => `On ${t6}: ${e7}`)(c6, r6.message) : ((t6, e7, a7) => `WIP on ${t6}: ${e7} ${a7}`)(c6, f2, u6), h6 = (e7, a7, s10) => vh2(t5, { tree: e7, parents: a7, author: o6, committer: o6, message: s10, extraHeaders: [] }), l4 = await h6(s9, [a6.b], ((t6, e7, a7) => `index on ${t6}: ${e7} ${a7}`)(c6, f2, u6)), m5 = await Vl2(t5, i7.entries); - if (0 === n6.paths.length) return { stash: await h6(m5, [a6.b, l4], w4), message: w4 }; - const p5 = await Vl2(t5, n6.entries), g7 = await h6(p5, [], ((t6, e7, a7) => `untracked files on ${t6}: ${e7} ${a7}`)(c6, f2, u6)); - return { stash: await h6(m5, [a6.b, l4, g7], w4), message: w4 }; -}; -var $h3 = async (t5) => (await hc2(t5), wc2(t5, "stash list"), { entries: await Im2(t5) }); -var Ih3 = async (t5, e6 = {}) => (await hc2(t5), wc2(t5, "stash drop"), $m2(t5, e6.index ?? 0)); -var Eh3 = async (t5, e6, a6) => { - const { base: s9, iTree: i7, untracked: n6, opts: r6 } = a6, o6 = await Cd2(t5), c6 = true === r6.keepIndex ? i7 : s9.bTree, d5 = await xd2(t5, { targetTree: c6, currentIndex: o6, force: true, forceRewriteAll: true }); - if (await e6.commit(d5.newIndexEntries), true === r6.includeUntracked) for (const e7 of n6.paths) await Ac2(t5, e7); -}; -var Ch3 = async (t5, e6 = {}) => { - await hc2(t5); - const a6 = wc2(t5, "stash apply"); - await vc2(t5); - const s9 = await Cm2(t5, e6.index ?? 0), n6 = await (async (t6, e7) => { - const a7 = await Ui2(t6, e7); - if ("commit" !== a7.type) throw Bt("commit", a7.type, e7); - const [s10, n7, r7] = a7.data.parents; - if (void 0 === s10 || void 0 === n7) throw kt("ref does not point at a stash commit"); - return { base: s10, indexParent: n7, untrackedParent: r7, wTree: a7.data.tree }; - })(t5, s9), r6 = await vh3(t5, n6.base), o6 = void 0 !== n6.untrackedParent ? await vh3(t5, n6.untrackedParent) : void 0, c6 = await Ld2(t5); + await r8.release(); + } +}; +var nl3 = async (t5, a4) => { + const { base: e7, iTree: s8, working: i11, untracked: n7, opts: r8 } = a4, o5 = await wc2(t5), c5 = (d6 = e7.branchRef, d6?.startsWith(Lw) ? d6.slice(Lw.length) : "(no branch)"); + var d6; + const f2 = ta(e7.b), u6 = e7.subject, w6 = void 0 !== r8.message ? ((t6, a5) => `On ${t6}: ${a5}`)(c5, r8.message) : ((t6, a5, e8) => `WIP on ${t6}: ${a5} ${e8}`)(c5, f2, u6), h5 = (a5, e8, s9) => np2(t5, { tree: a5, parents: e8, author: o5, committer: o5, message: s9, extraHeaders: [] }), l4 = await h5(s8, [e7.b], ((t6, a5, e8) => `index on ${t6}: ${a5} ${e8}`)(c5, f2, u6)), m7 = await Ey2(t5, i11.entries); + if (0 === n7.paths.length) return { stash: await h5(m7, [e7.b, l4], w6), message: w6 }; + const p6 = await Ey2(t5, n7.entries), g7 = await h5(p6, [], ((t6, a5, e8) => `untracked files on ${t6}: ${a5} ${e8}`)(c5, f2, u6)); + return { stash: await h5(m7, [e7.b, l4, g7], w6), message: w6 }; +}; +var rl3 = async (t5) => (await Gd2(t5), Kd2(t5, "stash list"), { entries: await Zm2(t5) }); +var ol3 = async (t5, a4 = {}) => (await Gd2(t5), Kd2(t5, "stash drop"), tg2(t5, a4.index ?? 0)); +var cl3 = async (t5, a4, e7) => { + const { base: s8, iTree: i11, untracked: n7, opts: r8 } = e7, o5 = await hf2(t5), c5 = true === r8.keepIndex ? i11 : s8.bTree, d6 = await df2(t5, { targetTree: c5, currentIndex: o5, force: true, forceRewriteAll: true }); + if (await a4.commit(d6.newIndexEntries), true === r8.includeUntracked) for (const a5 of n7.paths) await mu2(t5, a5); +}; +var dl3 = async (t5, a4 = {}) => { + await Gd2(t5); + const e7 = Kd2(t5, "stash apply"); + await Zd2(t5); + const s8 = await Jm2(t5, a4.index ?? 0), n7 = await (async (t6, a5) => { + const e8 = await Ts2(t6, a5); + if ("commit" !== e8.type) throw Kt("commit", e8.type, a5); + const [s9, n8, r9] = e8.data.parents; + if (void 0 === s9 || void 0 === n8) throw Ht("ref does not point at a stash commit"); + return { base: s9, indexParent: n8, untrackedParent: r9, wTree: e8.data.tree }; + })(t5, s8), r8 = await el3(t5, n7.base), o5 = void 0 !== n7.untrackedParent ? await el3(t5, n7.untrackedParent) : void 0, c5 = await kf2(t5); try { - const i7 = await Cd2(t5), d5 = await Vl2(t5, i7.entries); - if (void 0 !== o6) { - const e7 = await (async (t6, e8, a7) => { - const s10 = await dh2(t6, a7), i8 = []; - for (const a8 of s10.entries.keys()) await t6.fs.exists(bc2(e8, a8)) && i8.push(a8); - return i8; - })(t5, a6, o6); - if (e7.length > 0) throw Ge(e7); - } - const f2 = await yh2(t5, { baseTree: r6, oursTree: d5, theirsTree: n6.wTree, currentIndex: i7, labels: Vi }); - if ("would-overwrite" === f2.kind) throw Ge([...f2.localChanges, ...f2.untracked]); - return "conflict" === f2.kind ? (await c6.commit(f2.indexEntries), { kind: "conflict", conflicts: f2.conflicts.map((t6) => ({ path: t6.path, type: t6.type })) }) : (true === e6.restoreIndex && await (async (t6, e7, a7) => { - const s10 = await vh3(t6, a7.indexParent), i8 = await gh2(t6, { baseTree: a7.bTree, oursTree: a7.cTree, theirsTree: s10, labels: Vi }); - if ("clean" !== i8.kind) return; - const n7 = await Hw2(t6, { targetTree: i8.mergedTree, currentIndex: a7.currentIndex }); - await e7.commit(n7); - })(t5, c6, { bTree: r6, cTree: d5, indexParent: n6.indexParent, currentIndex: i7 }), void 0 !== o6 && await (async (t6, e7) => { - const a7 = await dh2(t6, e7); - for (const [t7, e8] of a7.entries) to(t7, Qr, e8.mode); - const s10 = Lc2(t6); - for (const [e8, i8] of a7.entries) { - const a8 = await id2(t6, i8.id); - await Uc2(t6, e8, a8, s10); - } - })(t5, o6), { kind: "applied", stash: s9 }); + const i11 = await hf2(t5), d6 = await Ey2(t5, i11.entries); + if (void 0 !== o5) { + const a5 = await (async (t6, a6, e8) => { + const s9 = await Wy2(t6, e8), i12 = []; + for (const e9 of s9.entries.keys()) await t6.fs.exists(Jd2(a6, e9)) && i12.push(e9); + return i12; + })(t5, e7, o5); + if (a5.length > 0) throw Xe(a5); + } + const f2 = await tp2(t5, { baseTree: r8, oursTree: d6, theirsTree: n7.wTree, currentIndex: i11, labels: aa }); + if ("would-overwrite" === f2.kind) throw Xe([...f2.localChanges, ...f2.untracked]); + return "conflict" === f2.kind ? (await c5.commit(f2.indexEntries), { kind: "conflict", conflicts: f2.conflicts.map((t6) => ({ path: t6.path, type: t6.type })) }) : (true === a4.restoreIndex && await (async (t6, a5, e8) => { + const s9 = await el3(t6, e8.indexParent), i12 = await ep2(t6, { baseTree: e8.bTree, oursTree: e8.cTree, theirsTree: s9, labels: aa }); + if ("clean" !== i12.kind) return; + const n8 = await mm2(t6, { targetTree: i12.mergedTree, currentIndex: e8.currentIndex }); + await a5.commit(n8); + })(t5, c5, { bTree: r8, cTree: d6, indexParent: n7.indexParent, currentIndex: i11 }), void 0 !== o5 && await (async (t6, a5) => { + const e8 = await Wy2(t6, a5); + for (const [t7, a6] of e8.entries) bo(t7, wo, a6.mode); + const s9 = cu2(t6); + for (const [a6, i12] of e8.entries) { + const e9 = await Au2(t6, i12.id); + await pu2(t6, a6, e9, s9); + } + })(t5, o5), { kind: "applied", stash: s8 }); } finally { - await c6.release(); - } -}; -var Th3 = async (t5, e6 = {}) => { - await hc2(t5), wc2(t5, "stash pop"); - const a6 = await Ch3(t5, e6); - if ("conflict" === a6.kind) return a6; - const s9 = await Ih3(t5, { index: e6.index ?? 0 }); - return { kind: "applied", stash: a6.stash, dropped: s9.dropped }; -}; -var Dh3 = (t5, e6) => Object.freeze({ push: (a6) => (e6(), kh3(t5, a6)), list: () => (e6(), $h3(t5)), apply: (a6) => (e6(), Ch3(t5, a6)), pop: (a6) => (e6(), Th3(t5, a6)), drop: (a6) => (e6(), Ih3(t5, a6)) }); -var Hh3 = ".gitmodules"; -var Ah3 = "HEAD"; -var Rh3 = (t5) => void 0 !== t5.path && !gw(t5.path); -var Oh3 = async (t5, e6) => { - const a6 = bc2(e6, Hh3); - if (!await t5.fs.exists(a6)) return []; - const s9 = await t5.fs.stat(a6); - if (s9.size > wo2) throw ce(a6, s9.size, wo2); - return cm2(await t5.fs.readUtf8(a6)); -}; -var Sh3 = (t5) => { - const e6 = /* @__PURE__ */ new Map(); - for (const a6 of t5) { - if (void 0 === a6.update) continue; - const t6 = AE(a6.update); - if (void 0 === t6) throw oe(`submodule.${a6.name}.update`, `invalid value '${a6.update}'`); - e6.set(a6.name, t6); - } - return e6; -}; -var Uh3 = (t5, e6) => { - const a6 = t5.filter(Rh3); - if (void 0 === e6) return a6; - const s9 = a6.filter((t6) => e6.includes(t6.path)), i7 = new Set(s9.map((t6) => t6.path)); - for (const t6 of e6) if (!i7.has(t6)) throw A(t6); - return s9; -}; -var jh3 = async (t5, e6, a6) => { - const s9 = await yc2(t5), i7 = s9?.startsWith(Ep) ? lw(s9) : void 0, n6 = (void 0 !== i7 ? a6.branch?.get(i7)?.remote : void 0) ?? fw; - return a6.remote?.get(n6)?.url ?? e6; -}; -var Nh3 = (t5, e6, a6) => { - const s9 = (e7, a7) => ({ kind: "set", section: "submodule", subsection: t5, key: e7, value: a7 }), i7 = [s9("active", "true"), s9("url", e6)]; - return void 0 !== a6 && i7.push(s9("update", a6)), i7; -}; -var Mh3 = async (t5, e6 = {}) => { - await hc2(t5); - const a6 = wc2(t5, "submodule init"), s9 = await Oh3(t5, a6), i7 = Sh3(s9), n6 = Uh3(s9, e6.paths), r6 = await Hi2(t5), o6 = await jh3(t5, a6, r6), c6 = [], d5 = []; - for (const t6 of n6) { + await c5.release(); + } +}; +var fl3 = async (t5, a4 = {}) => { + await Gd2(t5), Kd2(t5, "stash pop"); + const e7 = await dl3(t5, a4); + if ("conflict" === e7.kind) return e7; + const s8 = await ol3(t5, { index: a4.index ?? 0 }); + return { kind: "applied", stash: e7.stash, dropped: s8.dropped }; +}; +var ul3 = (t5, a4) => Object.freeze({ push: (e7) => (a4(), il3(t5, e7)), list: () => (a4(), rl3(t5)), apply: (e7) => (a4(), dl3(t5, e7)), pop: (e7) => (a4(), fl3(t5, e7)), drop: (e7) => (a4(), ol3(t5, e7)) }); +var wl3 = ".gitmodules"; +var hl3 = "HEAD"; +var ll3 = (t5) => void 0 !== t5.path && !Ny(t5.path); +var ml3 = async (t5, a4) => { + const e7 = Jd2(a4, wl3); + if (!await t5.fs.exists(e7)) return []; + const s8 = await t5.fs.stat(e7); + if (s8.size > si2) throw he(e7, s8.size, si2); + return Bm2(await t5.fs.readUtf8(e7)); +}; +var pl3 = (t5) => { + const a4 = /* @__PURE__ */ new Map(); + for (const e7 of t5) { + if (void 0 === e7.update) continue; + const t6 = Gb(e7.update); + if (void 0 === t6) throw de(`submodule.${e7.name}.update`, `invalid value '${e7.update}'`); + a4.set(e7.name, t6); + } + return a4; +}; +var gl2 = (t5, a4) => { + const e7 = t5.filter(ll3); + if (void 0 === a4) return e7; + const s8 = e7.filter((t6) => a4.includes(t6.path)), i11 = new Set(s8.map((t6) => t6.path)); + for (const t6 of a4) if (!i11.has(t6)) throw R(t6); + return s8; +}; +var yl2 = async (t5, a4, e7) => { + const s8 = await Yd2(t5), i11 = s8?.startsWith(Lw) ? $y(s8) : void 0, n7 = (void 0 !== i11 ? e7.branch?.get(i11)?.remote : void 0) ?? xy; + return e7.remote?.get(n7)?.url ?? a4; +}; +var vl2 = (t5, a4, e7) => { + const s8 = (a5, e8) => ({ kind: "set", section: "submodule", subsection: t5, key: a5, value: e8 }), i11 = [s8("active", "true"), s8("url", a4)]; + return void 0 !== e7 && i11.push(s8("update", e7)), i11; +}; +var bl3 = async (t5, a4 = {}) => { + await Gd2(t5); + const e7 = Kd2(t5, "submodule init"), s8 = await ml3(t5, e7), i11 = pl3(s8), n7 = gl2(s8, a4.paths), r8 = await sr2(t5), o5 = await yl2(t5, e7, r8), c5 = [], d6 = []; + for (const t6 of n7) { if (void 0 === t6.url) continue; - const e7 = t6.path, a7 = i7.get(t6.name), s10 = r6.submodule?.get(t6.name)?.url; - if (void 0 !== s10) { - c6.push({ name: t6.name, path: e7, url: s10, registered: false, ...void 0 !== a7 ? { update: a7 } : {} }); + const a5 = t6.path, e8 = i11.get(t6.name), s9 = r8.submodule?.get(t6.name)?.url; + if (void 0 !== s9) { + c5.push({ name: t6.name, path: a5, url: s9, registered: false, ...void 0 !== e8 ? { update: e8 } : {} }); continue; } - const n7 = OE(o6, t6.url); - d5.push(...Nh3(t6.name, n7, a7)), c6.push({ name: t6.name, path: e7, url: n7, registered: true, ...void 0 !== a7 ? { update: a7 } : {} }); - } - return d5.length > 0 && await ww2(t5, d5), { entries: c6 }; -}; -var Ph3 = async (t5, e6, a6, s9) => { - const i7 = await om2(t5, e6, a6); - return void 0 !== i7 && (await ww2(i7, [{ kind: "set", section: "remote", subsection: "origin", key: "url", value: s9 }]), true); -}; -var _h3 = async (t5, e6, a6, s9) => { - await hc2(t5); - const i7 = wc2(t5, "submodule sync"), n6 = Uh3(await Oh3(t5, i7), e6.paths), r6 = await Hi2(t5), o6 = await jh3(t5, i7, r6), c6 = [], d5 = []; - for (const e7 of n6) { - if (void 0 === e7.url) continue; - if (void 0 === r6.submodule?.get(e7.name)?.url) continue; - const a7 = e7.path, s10 = OE(o6, e7.url); - d5.push({ kind: "set", section: "submodule", subsection: e7.name, key: "url", value: s10 }); - const i8 = await Ph3(t5, e7.name, a7, s10); - c6.push({ name: e7.name, path: a7, url: s10, syncedRemote: i8 }); - } - if (d5.length > 0 && await ww2(t5, d5), true === e6.recursive && a6 < mo2) for (const i8 of n6) { - const n7 = `${t5.layout.gitDir}/modules/${i8.name}`, r7 = await om2(t5, i8.name, i8.path, s9); - void 0 !== r7 && await _h3(r7, e6, a6 + 1, /* @__PURE__ */ new Set([...s9, n7])); - } - return { entries: c6 }; -}; -var Lh3 = (t5, e6 = {}) => _h3(t5, e6, 0, /* @__PURE__ */ new Set()); -var Fh3 = async (t5, e6, a6) => { - const s9 = await om2(t5, e6, a6); - if (void 0 !== s9 && !(await Pd3(s9)).clean) throw gE(a6); -}; -var qh3 = async (t5, e6, a6) => { - const s9 = bc2(e6, a6); - return !!await t5.fs.exists(s9) && 0 !== (await t5.fs.readdir(s9)).length && (await t5.fs.rmRecursive(s9), await t5.fs.mkdir(s9), true); -}; -var Bh3 = async (t5, e6 = {}) => { - await hc2(t5); - const a6 = wc2(t5, "submodule deinit"), s9 = void 0 !== e6.paths && e6.paths.length > 0; - if (true === e6.all && s9) throw oe("submodule.deinit", "pathspec and --all are incompatible"); - if (true !== e6.all && !s9) throw oe("submodule.deinit", "use 'all: true' to deinitialise every submodule"); - const i7 = await Oh3(t5, a6), n6 = true === e6.all ? i7.filter(Rh3) : Uh3(i7, e6.paths), r6 = await Hi2(t5), o6 = []; - for (const s10 of n6) { - const i8 = s10.path; - true !== e6.force && await Fh3(t5, s10.name, i8); - const n7 = await qh3(t5, a6, i8); - true === r6.submodule?.has(s10.name) && await ww2(t5, [{ kind: "removeSection", section: "submodule", subsection: s10.name }]), o6.push({ name: s10.name, path: i8, url: s10.url ?? "", cleared: n7 }); - } - return { entries: o6 }; -}; -var Wh3 = async (e6, a6 = {}) => { - await hc2(e6), wc2(e6, "submodule status"), await zc2(e6, "submodule", ["active"], { requireSubsection: true }); - const s9 = ((e7, a7) => Dr(e7, a7) ? sr.from(e7) : eu(e7))(a6.ref ?? "HEAD", e6.hashConfig), i7 = true === a6.recursive, n6 = []; - for await (const t5 of fm2(e6, { ref: s9, recursive: i7, ...void 0 !== a6.maxDepth ? { maxDepth: a6.maxDepth } : {} })) n6.push(t5); - return { entries: n6 }; -}; -var zh3 = (t5, e6, a6) => ({ kind: "set", section: "submodule", subsection: t5, key: e6, value: a6 }); -var Vh3 = async (t5, e6, a6, s9, i7, n6) => { - ((t6, e7) => { - const a7 = e7.objectFormat; - if (a7 !== t6.hashConfig.algorithm) throw mE(t6.hashConfig.algorithm, a7); - })(t5, await Mc3(a6, { url: s9 })), await ww2(a6, [{ kind: "set", section: "core", key: "worktree", value: EE(i7, n6) }]), await t5.fs.writeUtf8(bc2(e6, `${n6}/.git`), `${yE(i7, n6)} + const n8 = Hb(o5, t6.url); + d6.push(...vl2(t6.name, n8, e8)), c5.push({ name: t6.name, path: a5, url: n8, registered: true, ...void 0 !== e8 ? { update: e8 } : {} }); + } + return d6.length > 0 && await Rp2(t5, d6), { entries: c5 }; +}; +var kl2 = async (t5, a4, e7, s8) => { + const i11 = await Mm2(t5, a4, e7); + return void 0 !== i11 && (await Rp2(i11, [{ kind: "set", section: "remote", subsection: "origin", key: "url", value: s8 }]), true); +}; +var xl3 = async (t5, a4, e7, s8) => { + await Gd2(t5); + const i11 = Kd2(t5, "submodule sync"), n7 = gl2(await ml3(t5, i11), a4.paths), r8 = await sr2(t5), o5 = await yl2(t5, i11, r8), c5 = [], d6 = []; + for (const a5 of n7) { + if (void 0 === a5.url) continue; + if (void 0 === r8.submodule?.get(a5.name)?.url) continue; + const e8 = a5.path, s9 = Hb(o5, a5.url); + d6.push({ kind: "set", section: "submodule", subsection: a5.name, key: "url", value: s9 }); + const i12 = await kl2(t5, a5.name, e8, s9); + c5.push({ name: a5.name, path: e8, url: s9, syncedRemote: i12 }); + } + if (d6.length > 0 && await Rp2(t5, d6), true === a4.recursive && e7 < ri2) for (const i12 of n7) { + const n8 = `${t5.layout.gitDir}/modules/${i12.name}`, r9 = await Mm2(t5, i12.name, i12.path, s8); + void 0 !== r9 && await xl3(r9, a4, e7 + 1, /* @__PURE__ */ new Set([...s8, n8])); + } + return { entries: c5 }; +}; +var $l3 = (t5, a4 = {}) => xl3(t5, a4, 0, /* @__PURE__ */ new Set()); +var Il3 = async (t5, a4, e7) => { + const s8 = await Mm2(t5, a4, e7); + if (void 0 !== s8 && !(await uf3(s8)).clean) throw Nb(e7); +}; +var El3 = async (t5, a4, e7) => { + const s8 = Jd2(a4, e7); + return !!await t5.fs.exists(s8) && 0 !== (await t5.fs.readdir(s8)).length && (await t5.fs.rmRecursive(s8), await t5.fs.mkdir(s8), true); +}; +var Cl3 = async (t5, a4 = {}) => { + await Gd2(t5); + const e7 = Kd2(t5, "submodule deinit"), s8 = void 0 !== a4.paths && a4.paths.length > 0; + if (true === a4.all && s8) throw de("submodule.deinit", "pathspec and --all are incompatible"); + if (true !== a4.all && !s8) throw de("submodule.deinit", "use 'all: true' to deinitialise every submodule"); + const i11 = await ml3(t5, e7), n7 = true === a4.all ? i11.filter(ll3) : gl2(i11, a4.paths), r8 = await sr2(t5), o5 = []; + for (const s9 of n7) { + const i12 = s9.path; + true !== a4.force && await Il3(t5, s9.name, i12); + const n8 = await El3(t5, e7, i12); + true === r8.submodule?.has(s9.name) && await Rp2(t5, [{ kind: "removeSection", section: "submodule", subsection: s9.name }]), o5.push({ name: s9.name, path: i12, url: s9.url ?? "", cleared: n8 }); + } + return { entries: o5 }; +}; +var Dl3 = async (a4, e7 = {}) => { + await Gd2(a4), Kd2(a4, "submodule status"), await ku2(a4, "submodule", ["active"], { requireSubsection: true }); + const s8 = ((a5, e8) => Qr(a5, e8) ? lr.from(a5) : Nu(a5))(e7.ref ?? "HEAD", a4.hashConfig), i11 = true === e7.recursive, n7 = []; + for await (const t5 of _m2(a4, { ref: s8, recursive: i11, ...void 0 !== e7.maxDepth ? { maxDepth: e7.maxDepth } : {} })) n7.push(t5); + return { entries: n7 }; +}; +var Tl3 = (t5, a4, e7) => ({ kind: "set", section: "submodule", subsection: t5, key: a4, value: e7 }); +var Hl3 = async (t5, a4, e7, s8, i11, n7) => { + ((t6, a5) => { + const e8 = a5.objectFormat; + if (e8 !== t6.hashConfig.algorithm) throw Lb(t6.hashConfig.algorithm, e8); + })(t5, await dd3(e7, { url: s8 })), await Rp2(e7, [{ kind: "set", section: "core", key: "worktree", value: Ub(i11, n7) }]), await t5.fs.writeUtf8(Jd2(a4, `${n7}/.git`), `${Db(i11, n7)} `); }; -var Kh3 = async (t5, e6) => { - await hc2(t5); - const a6 = wc2(t5, "submodule add"), s9 = e6.name ?? e6.path; - ((t6, e7, a7) => { - if ("" === a7) throw oe("submodule.add", "url must not be empty"); - if ("" === e7) throw oe("submodule.add", "path must not be empty"); - if (gw(t6)) throw oe("submodule.add.name", `unsafe name '${t6}'`); - if (gw(e7)) throw oe("submodule.add.path", `unsafe path '${e7}'`); - })(s9, e6.path, e6.url), void 0 !== e6.branch && eu(`${Ep}${e6.branch}`), await (async (t6, e7) => { - if ((await Cd2(t6)).entries.some((t7) => t7.path === e7)) throw pE(e7); - })(t5, e6.path); - const i7 = await Hi2(t5), n6 = await jh3(t5, a6, i7), r6 = OE(n6, e6.url), o6 = im2(t5, s9, e6.path); - await Vh3(t5, a6, o6, r6, s9, e6.path), void 0 !== e6.branch ? await (async (t6, e7) => { - const a7 = await eu2(t6, `refs/remotes/origin/${e7}`), s10 = `${Ep}${e7}`; - await zr2(t6).applyRefUpdates([{ kind: "set", name: s10, id: a7, reflog: { oldId: cr(t6.hashConfig), newId: a7, message: Yh(`origin/${e7}`) } }]), await ww2(t6, [{ kind: "set", section: "branch", subsection: e7, key: "remote", value: "origin" }, { kind: "set", section: "branch", subsection: e7, key: "merge", value: s10 }]), await oo3(t6, { rev: e7 }); - })(o6, e6.branch) : await Xw2(o6); - const c6 = "symbolic" === (u6 = await zr2(o6).resolveDirect(Ah3)).kind && true === u6.target?.startsWith(Ep) ? u6.target.slice(Ep.length) : "", d5 = await eu2(o6, Ah3), f2 = await (async (t6, e7, a7, s10, i8, n7) => { - const r7 = bc2(e7, Hh3), o7 = await t6.fs.exists(r7) ? await t6.fs.readUtf8(r7) : "", c7 = [zh3(a7, "path", s10), zh3(a7, "url", i8)]; - void 0 !== n7 && c7.push(zh3(a7, "branch", n7)); - let d6 = o7; - for (const t7 of c7) d6 = lw2(d6, t7); - return await t6.fs.writeUtf8(r7, d6), new TextEncoder().encode(d6); - })(t5, a6, s9, e6.path, e6.url, e6.branch); +var Ol3 = async (t5, a4) => { + await Gd2(t5); + const e7 = Kd2(t5, "submodule add"), s8 = a4.name ?? a4.path; + ((t6, a5, e8) => { + if ("" === e8) throw de("submodule.add", "url must not be empty"); + if ("" === a5) throw de("submodule.add", "path must not be empty"); + if (Ny(t6)) throw de("submodule.add.name", `unsafe name '${t6}'`); + if (Ny(a5)) throw de("submodule.add.path", `unsafe path '${a5}'`); + })(s8, a4.path, a4.url), void 0 !== a4.branch && Nu(`${Lw}${a4.branch}`), await (async (t6, a5) => { + if ((await hf2(t6)).entries.some((t7) => t7.path === a5)) throw Rb(a5); + })(t5, a4.path); + const i11 = await sr2(t5), n7 = await yl2(t5, e7, i11), r8 = Hb(n7, a4.url), o5 = Pm2(t5, s8, a4.path); + await Hl3(t5, e7, o5, r8, s8, a4.path), void 0 !== a4.branch ? await (async (t6, a5) => { + const e8 = await Wf2(t6, `refs/remotes/origin/${a5}`), s9 = `${Lw}${a5}`; + await md2(t6).applyRefUpdates([{ kind: "set", name: s9, id: e8, reflog: { oldId: gr(t6.hashConfig), newId: e8, message: om(`origin/${a5}`) } }]), await Rp2(t6, [{ kind: "set", section: "branch", subsection: a5, key: "remote", value: "origin" }, { kind: "set", section: "branch", subsection: a5, key: "merge", value: s9 }]), await jo3(t6, { rev: a5 }); + })(o5, a4.branch) : await Im2(o5); + const c5 = "symbolic" === (u6 = await md2(o5).resolveDirect(hl3)).kind && true === u6.target?.startsWith(Lw) ? u6.target.slice(Lw.length) : "", d6 = await Wf2(o5, hl3), f2 = await (async (t6, a5, e8, s9, i12, n8) => { + const r9 = Jd2(a5, wl3), o6 = await t6.fs.exists(r9) ? await t6.fs.readUtf8(r9) : "", c6 = [Tl3(e8, "path", s9), Tl3(e8, "url", i12)]; + void 0 !== n8 && c6.push(Tl3(e8, "branch", n8)); + let d7 = o6; + for (const t7 of c6) d7 = Tp2(d7, t7); + return await t6.fs.writeUtf8(r9, d7), new TextEncoder().encode(d7); + })(t5, e7, s8, a4.path, a4.url, a4.branch); var u6; - return await (async (t6, e7, a7, s10, i8) => { - const n7 = await qd2(t6, { type: "blob", id: "", content: i8 }), r7 = await Ld2(t6); + return await (async (t6, a5, e8, s9, i12) => { + const n8 = await Rf2(t6, { type: "blob", id: "", content: i12 }), r9 = await kf2(t6); try { - const i9 = await Cd2(t6), o7 = new Map(i9.entries.map((t7) => [t7.path, t7])), c7 = await t6.fs.lstat(bc2(e7, a7)); - o7.set(a7, Rd2(c7, Wt.GITLINK, s10, a7)); - const d6 = await t6.fs.lstat(bc2(e7, Hh3)); - o7.set(Hh3, Rd2(d6, Wt.REGULAR, n7, Hh3)), await r7.commit([...o7.values()]); + const i13 = await hf2(t6), o6 = new Map(i13.entries.map((t7) => [t7.path, t7])), c6 = await t6.fs.lstat(Jd2(a5, e8)); + o6.set(e8, Sf2(c6, Qt.GITLINK, s9, e8)); + const d7 = await t6.fs.lstat(Jd2(a5, wl3)); + o6.set(wl3, Sf2(d7, Qt.REGULAR, n8, wl3)), await r9.commit([...o6.values()]); } finally { - await r7.release(); + await r9.release(); } - })(t5, a6, e6.path, d5, f2), await ww2(t5, [zh3(s9, "url", r6), zh3(s9, "active", "true")]), { name: s9, path: e6.path, url: r6, id: d5, branch: c6 }; + })(t5, e7, a4.path, d6, f2), await Rp2(t5, [Tl3(s8, "url", r8), Tl3(s8, "active", "true")]), { name: s8, path: a4.path, url: r8, id: d6, branch: c5 }; }; -var Gh3 = (t5, e6) => t5.entries.find((t6) => t6.path === e6 && t6.mode === Wt.GITLINK)?.id; -var Jh3 = (t5, e6, a6, s9) => { +var Al3 = (t5, a4) => t5.entries.find((t6) => t6.path === a4 && t6.mode === Qt.GITLINK)?.id; +var Sl3 = (t5, a4, e7, s8) => { if (void 0 !== t5.mode) return t5.mode; - const i7 = e6.submodule?.get(s9)?.update, n6 = void 0 === i7 ? void 0 : AE(i7); - if (void 0 !== i7 && void 0 === n6) throw oe(`submodule.${s9}.update`, `invalid value '${i7}'`); - return n6 ?? a6 ?? "checkout"; -}; -var Yh3 = async (t5, e6, a6) => { - if ("checkout" === a6) { - const a7 = await zr2(t5).resolveDirect(Ah3); - return ("direct" !== a7.kind || a7.id !== e6) && (await oo3(t5, { rev: e6, detach: true }), true); - } - const s9 = await eu2(t5, Ah3); - return "rebase" === a6 ? await aw3(t5, { upstream: e6 }) : await Yf3(t5, { rev: e6 }), await eu2(t5, Ah3) !== s9; -}; -var Xh3 = async (t5, e6 = {}) => { - await hc2(t5); - const a6 = wc2(t5, "submodule update"), s9 = await Oh3(t5, a6), i7 = Uh3(s9, e6.paths), n6 = Sh3(s9), r6 = await Cd2(t5); - let o6 = await Hi2(t5); - await zc2(t5, "submodule", ["active"], { requireSubsection: true }); - const c6 = []; - for (const s10 of i7) { - const i8 = Gh3(r6, s10.path); - if (void 0 === i8) continue; - if (await Al2(t5, "submodule", s10.name, ["update"]), void 0 === o6.submodule?.get(s10.name)?.url) { - if (await Al2(t5, "submodule", s10.name, ["url"]), true !== e6.init) continue; - await Mh3(t5, { paths: [s10.path] }), o6 = await Hi2(t5); - } - const d5 = Jh3(e6, o6, n6.get(s10.name), s10.name); - if ("none" === d5) { - c6.push({ name: s10.name, path: s10.path, id: i8, mode: d5, cloned: false, changed: false }); + const i11 = a4.submodule?.get(s8)?.update, n7 = void 0 === i11 ? void 0 : Gb(i11); + if (void 0 !== i11 && void 0 === n7) throw de(`submodule.${s8}.update`, `invalid value '${i11}'`); + return n7 ?? e7 ?? "checkout"; +}; +var Rl3 = async (t5, a4, e7) => { + if ("checkout" === e7) { + const e8 = await md2(t5).resolveDirect(hl3); + return ("direct" !== e8.kind || e8.id !== a4) && (await jo3(t5, { rev: a4, detach: true }), true); + } + const s8 = await Wf2(t5, hl3); + return "rebase" === e7 ? await _w3(t5, { upstream: a4 }) : await Ru3(t5, { rev: a4 }), await Wf2(t5, hl3) !== s8; +}; +var jl3 = async (t5, a4 = {}) => { + await Gd2(t5); + const e7 = Kd2(t5, "submodule update"), s8 = await ml3(t5, e7), i11 = gl2(s8, a4.paths), n7 = pl3(s8), r8 = await hf2(t5); + let o5 = await sr2(t5); + await ku2(t5, "submodule", ["active"], { requireSubsection: true }); + const c5 = []; + for (const s9 of i11) { + const i12 = Al3(r8, s9.path); + if (void 0 === i12) continue; + if (await ky2(t5, "submodule", s9.name, ["update"]), void 0 === o5.submodule?.get(s9.name)?.url) { + if (await ky2(t5, "submodule", s9.name, ["url"]), true !== a4.init) continue; + await bl3(t5, { paths: [s9.path] }), o5 = await sr2(t5); + } + const d6 = Sl3(a4, o5, n7.get(s9.name), s9.name); + if ("none" === d6) { + c5.push({ name: s9.name, path: s9.path, id: i12, mode: d6, cloned: false, changed: false }); continue; } - const f2 = o6.submodule?.get(s10.name)?.url ?? s10.url ?? "", u6 = im2(t5, s10.name, s10.path), w4 = !await t5.fs.exists(`${u6.layout.gitDir}/HEAD`); - w4 && (await Vh3(t5, a6, u6, f2, s10.name, s10.path), await Xw2(u6)), await Ui2(u6, i8); - const h6 = await Yh3(u6, i8, d5); - c6.push({ name: s10.name, path: s10.path, id: i8, mode: d5, cloned: w4, changed: h6 }); + const f2 = o5.submodule?.get(s9.name)?.url ?? s9.url ?? "", u6 = Pm2(t5, s9.name, s9.path), w6 = !await t5.fs.exists(`${u6.layout.gitDir}/HEAD`); + w6 && (await Hl3(t5, e7, u6, f2, s9.name, s9.path), await Im2(u6)), await Ts2(u6, i12); + const h5 = await Rl3(u6, i12, d6); + c5.push({ name: s9.name, path: s9.path, id: i12, mode: d6, cloned: w6, changed: h5 }); } - return { entries: c6 }; + return { entries: c5 }; }; -var Qh3 = (t5, e6) => Object.freeze({ list: (a6) => (e6(), Wh3(t5, a6)), add: (a6) => (e6(), Kh3(t5, a6)), init: (a6) => (e6(), Mh3(t5, a6)), update: (a6) => (e6(), Xh3(t5, a6)), sync: (a6) => (e6(), Lh3(t5, a6)), deinit: (a6) => (e6(), Bh3(t5, a6)) }); -var Zh3 = "refs/tags/"; -var tl3 = async (t5) => { - await hc2(t5); - const e6 = await zr2(t5).listRefs(Zh3), a6 = []; - for (const s9 of e6) { - const e7 = "direct" === s9.value.kind ? s9.value.id : await eu2(t5, s9.name); - a6.push({ name: s9.name, id: e7 }); +var Nl3 = (t5, a4) => Object.freeze({ list: (e7) => (a4(), Dl3(t5, e7)), add: (e7) => (a4(), Ol3(t5, e7)), init: (e7) => (a4(), bl3(t5, e7)), update: (e7) => (a4(), jl3(t5, e7)), sync: (e7) => (a4(), $l3(t5, e7)), deinit: (e7) => (a4(), Cl3(t5, e7)) }); +var Ul3 = "refs/tags/"; +var Ml3 = async (t5) => { + await Gd2(t5); + const a4 = await md2(t5).listRefs(Ul3), e7 = []; + for (const s8 of a4) { + const a5 = "direct" === s8.value.kind ? s8.value.id : await Wf2(t5, s8.name); + e7.push({ name: s8.name, id: a5 }); } - return a6.sort((t6, e7) => t6.name < e7.name ? -1 : 1), { tags: a6 }; + return e7.sort((t6, a5) => t6.name < a5.name ? -1 : 1), { tags: e7 }; }; -var el3 = async (t5, e6) => { - await hc2(t5), await jc2(t5, "tag", void 0, ["gpgsign"]); - const a6 = eu(`${Zh3}${e6.name}`), s9 = void 0 !== e6.target ? e6.target : await dl3(t5), i7 = Dr(s9, t5.hashConfig) ? s9 : await eu2(t5, s9), n6 = al3(e6) ? await sl3(t5, e6, i7) : i7; - return await ol3(t5, a6, n6, true === e6.force, `tag: ${e6.name}`), { name: a6, id: n6 }; +var Pl3 = async (t5, a4) => { + await Gd2(t5), await vu2(t5, "tag", void 0, ["gpgsign"]); + const e7 = Nu(`${Ul3}${a4.name}`), s8 = void 0 !== a4.target ? a4.target : await Vl3(t5), i11 = Qr(s8, t5.hashConfig) ? s8 : await Wf2(t5, s8), n7 = _l3(a4) ? await Bl3(t5, a4, i11) : i11; + return await zl3(t5, e7, n7, true === a4.force, `tag: ${a4.name}`), { name: e7, id: n7 }; }; -var al3 = (t5) => true === t5.annotate || void 0 !== t5.message || true === t5.sign; -var sl3 = async (t5, e6, a6) => { - const s9 = await rl3(t5, a6), i7 = await Uo3(t5), n6 = Er(e6.message ?? ""), r6 = await il3(t5, e6, a6, s9, i7, n6); - return Gw2(t5, { object: a6, objectType: s9, tagName: e6.name, tagger: i7, message: n6, ...void 0 !== r6 ? { gpgSignature: r6 } : {} }); +var _l3 = (t5) => true === t5.annotate || void 0 !== t5.message || true === t5.sign; +var Bl3 = async (t5, a4, e7) => { + const s8 = await ql3(t5, e7), i11 = await rc3(t5), n7 = $r(a4.message ?? ""), r8 = await Ll3(t5, a4, e7, s8, i11, n7); + return gm2(t5, { object: e7, objectType: s8, tagName: a4.name, tagger: i11, message: n7, ...void 0 !== r8 ? { gpgSignature: r8 } : {} }); }; -var il3 = async (t5, e6, a6, s9, i7, n6) => { - const r6 = await Hi2(t5); - if (e6.sign ?? true === r6.tag?.gpgSign) return nl3(t5, r6, { object: a6, objectType: s9, tagName: e6.name, tagger: i7, message: n6, extraHeaders: [] }, i7, e6.signKey); +var Ll3 = async (t5, a4, e7, s8, i11, n7) => { + const r8 = await sr2(t5); + if (a4.sign ?? true === r8.tag?.gpgSign) return Fl3(t5, r8, { object: e7, objectType: s8, tagName: a4.name, tagger: i11, message: n7, extraHeaders: [] }, i11, a4.signKey); }; -var nl3 = async (t5, e6, a6, s9, i7) => { - const n6 = Yc3(e6, s9, i7), r6 = Or({ data: a6 }); - return Xc3(t5, r6, n6); +var Fl3 = async (t5, a4, e7, s8, i11) => { + const n7 = xd3(a4, s8, i11), r8 = kr({ data: e7 }); + return $d3(t5, r8, n7); }; -var rl3 = async (t5, e6) => (await Ui2(t5, e6)).type; -var ol3 = async (t5, e6, a6, s9, i7) => { +var ql3 = async (t5, a4) => (await Ts2(t5, a4)).type; +var zl3 = async (t5, a4, e7, s8, i11) => { try { - await nc2(t5, e6, a6, s9 ? { reflogMessage: i7 } : { expected: "absent", reflogMessage: i7 }); + await Md2(t5, a4, e7, s8 ? { reflogMessage: i11 } : { expected: "absent", reflogMessage: i11 }); } catch (t6) { - if (t6 instanceof o && "REF_UPDATE_CONFLICT" === t6.data.code) throw U(e6); + if (t6 instanceof c && "REF_UPDATE_CONFLICT" === t6.data.code) throw F(a4); throw t6; } }; -var cl3 = async (t5, e6) => { - await hc2(t5); - const a6 = eu(`${Zh3}${e6.name}`); - if (!await Wr2(t5, a6)) throw C(a6); - return await nc2(t5, a6, cr(t5.hashConfig), { delete: true }), { name: a6 }; -}; -var dl3 = async (t5) => { - const e6 = await mc2(t5); - return "direct" === e6.kind ? e6.id : eu2(t5, e6.target); -}; -var fl3 = (t5, e6) => Object.freeze({ list: () => (e6(), tl3(t5)), create: (a6) => (e6(), el3(t5, a6)), delete: (a6) => (e6(), cl3(t5, a6)) }); -var ul3 = "HEAD"; -var wl3 = async (t5) => (await hc2(t5), { entries: await Nm2(t5) }); -var hl3 = async (t5, e6) => { - const a6 = Dm2(t5, e6); - if (await a6.exists(e6) && (await a6.readdir(e6)).length > 0) throw kE(e6); -}; -var ll3 = (t5) => "branch" === t5.kind ? { kind: "setSymbolic", name: ul3, target: t5.ref } : { kind: "set", name: ul3, id: t5.oid }; -var ml3 = async (t5, e6) => { - if (await hc2(t5), "" === e6.path) throw kE(""); - const a6 = HE(t5.cwd, e6.path); - if (LE(FE(a6))) throw oe("worktree add", `invalid worktree path '${e6.path}'`); - await hl3(t5, a6); - const i7 = await jd3(t5, e6.commitish ?? "HEAD"), n6 = await nu2(t5, i7), r6 = await (async (t6, e7, a7) => { - if (void 0 !== e7.branch) return { kind: "create", branchRef: `${Ep}${e7.branch}`, name: e7.branch }; - if (true === e7.detach) return { kind: "detached" }; - if (void 0 !== e7.commitish) { - const a8 = `${Ep}${e7.commitish}`; - return "direct" === (await zr2(t6).resolveDirect(a8)).kind ? { kind: "checkout", branchRef: a8 } : { kind: "detached" }; - } - const s9 = FE(a7); - return { kind: "create", branchRef: `${Ep}${s9}`, name: s9 }; - })(t5, e6, a6); - "checkout" === r6.kind && await (async (t6, e7, a7) => { - if (a7) return; - const s9 = (await Nm2(t6)).find((t7) => t7.branch === e7); - if (void 0 !== s9) throw DE(e7, s9.path); - })(t5, r6.branchRef, true === e6.force), "create" === r6.kind && await Or3(t5, { name: r6.name, startPoint: e6.commitish ?? "HEAD", force: true === e6.force }); - const o6 = "detached" === r6.kind ? { kind: "detached", oid: i7 } : { kind: "branch", ref: r6.branchRef }, c6 = await (async (t6, e7) => { - const a7 = `${Da2(t6)}/worktrees`, s9 = await t6.fs.exists(a7) ? (await t6.fs.readdir(a7)).filter((t7) => t7.isDirectory).map((t7) => t7.name) : []; - return RE(FE(e7), new Set(s9)); - })(t5, a6); - await (async (t6, e7, a7, i8, n7) => { - const r7 = `${Da2(t6)}/worktrees/${e7}`; - await t6.fs.writeUtf8(`${r7}/commondir`, `${NE} -`), await t6.fs.writeUtf8(`${r7}/gitdir`, `${SE(a7)} +var Wl3 = async (t5, a4) => { + await Gd2(t5); + const e7 = Nu(`${Ul3}${a4.name}`); + if (!await gd2(t5, e7)) throw H(e7); + return await Md2(t5, e7, gr(t5.hashConfig), { delete: true }), { name: e7 }; +}; +var Vl3 = async (t5) => { + const a4 = await qd2(t5); + return "direct" === a4.kind ? a4.id : Wf2(t5, a4.target); +}; +var Gl3 = (t5, a4) => Object.freeze({ list: () => (a4(), Ml3(t5)), create: (e7) => (a4(), Pl3(t5, e7)), delete: (e7) => (a4(), Wl3(t5, e7)) }); +var Kl3 = "HEAD"; +var Yl3 = async (t5) => (await Gd2(t5), { entries: await sg2(t5) }); +var Xl3 = async (t5, a4) => { + const e7 = um2(t5, a4); + if (await e7.exists(a4) && (await e7.readdir(a4)).length > 0) throw Xb(a4); +}; +var Jl3 = (t5) => "branch" === t5.kind ? { kind: "setSymbolic", name: Kl3, target: t5.ref } : { kind: "set", name: Kl3, id: t5.oid }; +var Ql3 = async (t5, a4) => { + if (await Gd2(t5), "" === a4.path) throw Xb(""); + const e7 = GE(t5.cwd, a4.path); + if (Kb(VE(e7))) throw de("worktree add", `invalid worktree path '${a4.path}'`); + await Xl3(t5, e7); + const i11 = await cf3(t5, a4.commitish ?? "HEAD"), n7 = await Gf2(t5, i11), r8 = await (async (t6, a5, e8) => { + if (void 0 !== a5.branch) return { kind: "create", branchRef: `${Lw}${a5.branch}`, name: a5.branch }; + if (true === a5.detach) return { kind: "detached" }; + if (void 0 !== a5.commitish) { + const e9 = `${Lw}${a5.commitish}`; + return "direct" === (await md2(t6).resolveDirect(e9)).kind ? { kind: "checkout", branchRef: e9 } : { kind: "detached" }; + } + const s8 = VE(e8); + return { kind: "create", branchRef: `${Lw}${s8}`, name: s8 }; + })(t5, a4, e7); + "checkout" === r8.kind && await (async (t6, a5, e8) => { + if (e8) return; + const s8 = (await sg2(t6)).find((t7) => t7.branch === a5); + if (void 0 !== s8) throw qb(a5, s8.path); + })(t5, r8.branchRef, true === a4.force), "create" === r8.kind && await io3(t5, { name: r8.name, startPoint: a4.commitish ?? "HEAD", force: true === a4.force }); + const o5 = "detached" === r8.kind ? { kind: "detached", oid: i11 } : { kind: "branch", ref: r8.branchRef }, c5 = await (async (t6, a5) => { + const e8 = `${oo2(t6)}/worktrees`, s8 = await t6.fs.exists(e8) ? (await t6.fs.readdir(e8)).filter((t7) => t7.isDirectory).map((t7) => t7.name) : []; + return Yb(VE(a5), new Set(s8)); + })(t5, e7); + await (async (t6, a5, e8, i12, n8) => { + const r9 = `${oo2(t6)}/worktrees/${a5}`; + await t6.fs.writeUtf8(`${r9}/commondir`, `${Wb} +`), await t6.fs.writeUtf8(`${r9}/gitdir`, `${zb(e8)} `); - const o7 = Em2(t6, e7, a7); - return await zr2(o7).applyRefUpdates([ll3(i8)]), await t6.fs.writeUtf8(`${r7}/${du}`, `${n7} -`), await Dm2(t6, a7).writeUtf8(`${a7}/.git`, `${xE(r7)} -`), r7; - })(t5, c6, a6, o6, i7); - const f2 = Em2(t5, c6, a6); - return await (async (t6, e7) => { - const a7 = await Ld2(t6); + const o6 = fm2(t6, a5, e8); + return await md2(o6).applyRefUpdates([Jl3(i12)]), await t6.fs.writeUtf8(`${r9}/${Bu}`, `${n8} +`), await um2(t6, e8).writeUtf8(`${e8}/.git`, `${jb(r9)} +`), r9; + })(t5, c5, e7, o5, i11); + const f2 = fm2(t5, c5, e7); + return await (async (t6, a5) => { + const e8 = await kf2(t6); try { - const s9 = await Cd2(t6), i8 = await xd2(t6, { targetTree: e7, currentIndex: s9 }); - await a7.commit(i8.newIndexEntries); + const s8 = await hf2(t6), i12 = await df2(t6, { targetTree: a5, currentIndex: s8 }); + await e8.commit(i12.newIndexEntries); } finally { - await a7.release(); - } - })(f2, n6.id), await (async (t6, e7, a7) => { - const s9 = cr(t6.hashConfig), i8 = [{ kind: "reflogOnly", name: ul3, reflog: { oldId: s9, newId: a7, message: "" } }]; - "detached" !== e7.kind && i8.push({ kind: "reflogOnly", name: ul3, reflog: { oldId: a7, newId: a7, message: qh("HEAD") } }), await zr2(t6).applyRefUpdates(i8); - })(f2, r6, i7), { path: a6, id: c6, head: i7, detached: "detached" === r6.kind, ..."detached" !== r6.kind ? { branch: r6.branchRef } : {} }; -}; -var pl3 = async (t5, e6, a6) => { - const s9 = (await Nm2(t5)).find((t6) => t6.path === e6); - if (void 0 === s9) throw ME(e6); - if (s9.main || void 0 === s9.id) throw oe(`worktree ${a6}`, "cannot operate on the main working tree"); - return s9; -}; -var gl3 = (t5, e6) => { - if (void 0 !== t5.locked && !e6) throw UE(t5.path, t5.locked.reason); -}; -var yl3 = async (t5, e6, a6, s9 = {}) => { - await hc2(t5); - const i7 = HE(t5.cwd, e6), n6 = HE(t5.cwd, a6), r6 = await pl3(t5, i7, "move"); - gl3(r6, true === s9.force), await hl3(t5, n6), await Dm2(t5, [i7, n6]).rename(i7, n6); - const o6 = `${Da2(t5)}/worktrees/${r6.id}`; - return await t5.fs.writeUtf8(`${o6}/gitdir`, `${SE(n6)} -`), { from: i7, to: n6, id: r6.id }; -}; -var vl3 = async (t5, e6, a6 = {}) => { - await hc2(t5); - const s9 = HE(t5.cwd, e6), i7 = await pl3(t5, s9, "remove"); - if (gl3(i7, true === a6.force), true !== a6.force) { - const e7 = Em2(t5, i7.id, s9); - if (!(await Pd3(e7)).clean) throw CE(s9); - } - return await Dm2(t5, s9).rmRecursive(s9), await t5.fs.rmRecursive(`${Da2(t5)}/worktrees/${i7.id}`), { path: s9, id: i7.id }; -}; -var bl3 = (t5, e6) => Object.freeze({ list: () => (e6(), wl3(t5)), add: (a6) => (e6(), ml3(t5, a6)), move: (a6, s9, i7) => (e6(), yl3(t5, a6, s9, i7)), remove: (a6, s9) => (e6(), vl3(t5, a6, s9)) }); -var kl3 = async (t5, e6, a6) => { - if (void 0 !== e6.refspecs && e6.refspecs.length > 0) return { kind: "explicit", refspecs: e6.refspecs.map(xw3) }; - if ("current" === t5.push?.default) return xl3(a6); - if ("nothing" === t5.push?.default) throw ft(); - return "upstream" === t5.push?.default ? Il3(t5, e6, a6) : "matching" === t5.push?.default ? { kind: "matching" } : El3(t5, e6, a6); -}; -var xl3 = (t5) => { - const e6 = pc2(t5); - if (void 0 === e6) throw lt(); - return { kind: "fixed", refspecs: [xw3(`${e6}:${e6}`)] }; -}; -var $l3 = (t5, e6, a6) => { - const s9 = lw(a6), i7 = Xd3(t5, void 0, s9), n6 = Qd3(t5, e6.remote, s9); - return { branchFull: a6, fetchRemote: i7, pushRemote: n6, triangular: n6 !== i7, merge: t5.branch?.get(s9)?.merge }; -}; -var Il3 = (t5, e6, a6) => { - const s9 = pc2(a6); - if (void 0 === s9) throw lt(); - const { branchFull: i7, pushRemote: n6, triangular: r6, merge: o6 } = $l3(t5, e6, s9); - if (r6) throw ht(n6, i7); - if (void 0 === o6) throw te(i7); - return { kind: "fixed", refspecs: [xw3(`${i7}:${o6}`)] }; -}; -var El3 = (t5, e6, a6) => { - const s9 = pc2(a6); - if (void 0 === s9) throw lt(); - const { branchFull: i7, triangular: n6, merge: r6 } = $l3(t5, e6, s9); - if (n6) return { kind: "fixed", refspecs: [xw3(`${i7}:${i7}`)] }; - if (void 0 === r6) throw te(i7); - const o6 = fr.from(r6); - if (lw(o6) !== lw(i7)) throw gt(i7, o6); - return { kind: "fixed", refspecs: [xw3(`${i7}:${o6}`)] }; -}; -var Cl3 = (t5, e6, a6) => { + await e8.release(); + } + })(f2, n7.id), await (async (t6, a5, e8) => { + const s8 = gr(t6.hashConfig), i12 = [{ kind: "reflogOnly", name: Kl3, reflog: { oldId: s8, newId: e8, message: "" } }]; + "detached" !== a5.kind && i12.push({ kind: "reflogOnly", name: Kl3, reflog: { oldId: e8, newId: e8, message: im("HEAD") } }), await md2(t6).applyRefUpdates(i12); + })(f2, r8, i11), { path: e7, id: c5, head: i11, detached: "detached" === r8.kind, ..."detached" !== r8.kind ? { branch: r8.branchRef } : {} }; +}; +var Zl3 = async (t5, a4, e7) => { + const s8 = (await sg2(t5)).find((t6) => t6.path === a4); + if (void 0 === s8) throw Zb(a4); + if (s8.main || void 0 === s8.id) throw de(`worktree ${e7}`, "cannot operate on the main working tree"); + return s8; +}; +var tm3 = (t5, a4) => { + if (void 0 !== t5.locked && !a4) throw Jb(t5.path, t5.locked.reason); +}; +var am3 = async (t5, a4, e7, s8 = {}) => { + await Gd2(t5); + const i11 = GE(t5.cwd, a4), n7 = GE(t5.cwd, e7), r8 = await Zl3(t5, i11, "move"); + tm3(r8, true === s8.force), await Xl3(t5, n7), await um2(t5, [i11, n7]).rename(i11, n7); + const o5 = `${oo2(t5)}/worktrees/${r8.id}`; + return await t5.fs.writeUtf8(`${o5}/gitdir`, `${zb(n7)} +`), { from: i11, to: n7, id: r8.id }; +}; +var em3 = async (t5, a4, e7 = {}) => { + await Gd2(t5); + const s8 = GE(t5.cwd, a4), i11 = await Zl3(t5, s8, "remove"); + if (tm3(i11, true === e7.force), true !== e7.force) { + const a5 = fm2(t5, i11.id, s8); + if (!(await uf3(a5)).clean) throw Qb(s8); + } + return await um2(t5, s8).rmRecursive(s8), await t5.fs.rmRecursive(`${oo2(t5)}/worktrees/${i11.id}`), { path: s8, id: i11.id }; +}; +var sm3 = (t5, a4) => Object.freeze({ list: () => (a4(), Yl3(t5)), add: (e7) => (a4(), Ql3(t5, e7)), move: (e7, s8, i11) => (a4(), am3(t5, e7, s8, i11)), remove: (e7, s8) => (a4(), em3(t5, e7, s8)) }); +var im3 = { looseObjectsBefore: 0, looseObjectsPacked: 0, prunedLooseObjects: 0, packsBefore: 0, packsAfter: 0, packId: void 0, cruftObjectsAdded: 0, cruftObjectsRetained: 0, cruftObjectsExpired: 0, cruftPackId: void 0, promisorPackId: void 0, packsRetired: 0, packBytesBefore: 0, packBytesAfter: 0 }; +var nm3 = "tmp_"; +var rm3 = Array.from({ length: 256 }, (t5, a4) => a4.toString(16).padStart(2, "0")); +function om3(t5, a4) { + return t5.isFile && t5.name.startsWith(a4); +} +async function cm3(t5, a4, e7) { + const s8 = await (async function(t6, a5) { + try { + return await t6.fs.readdir(a5); + } catch { + return []; + } + })(t5, a4); + return s8.filter((t6) => om3(t6, e7)).map((t6) => `${a4}/${t6.name}`); +} +async function dm3(t5, a4) { + const e7 = await Lo2(t5, "ioBound", a4, async (a5) => { + const e8 = await t5.fs.lstat(a5.packPath); + return [a5.name, e8]; + }); + return new Map(e7); +} +function fm3(t5) { + return t5.reduce((t6, a4) => t6 + a4.size, 0); +} +async function um3(t5) { + const a4 = /* @__PURE__ */ new Set(); + for (const e7 of t5) for (const t6 of Vg(await e7.index())) a4.add(t6); + return a4; +} +function wm3(t5, a4, e7, s8) { + const i11 = []; + for (const [n7, r8] of t5) e7.has(n7) || (a4.has(n7) || s8.has(n7)) && i11.push({ id: n7, nameHash: r8.nameHash, recency: r8.ordinal }); + return i11; +} +function hm3(t5, a4, e7, s8) { + const i11 = []; + for (const n7 of a4) e7.has(n7) || s8.has(n7) || t5.has(n7) || i11.push(n7); + return i11; +} +function lm3(t5, a4) { + const e7 = t5.get(a4); + if (void 0 === e7) throw new Error(`gc invariant violated: no mtime recorded for cruft candidate ${a4}`); + return e7; +} +function mm3(t5) { + return "FILE_NOT_FOUND" === to2(t5); +} +async function pm3(t5, a4) { + try { + await t5.fs.rm(a4); + } catch (t6) { + if (!mm3(t6)) throw t6; + } +} +async function gm3(t5, a4, e7) { + await pm3(t5, `${a4}/pack-${e7}.idx`), await pm3(t5, zw2(a4, e7)), await pm3(t5, `${a4}/pack-${e7}.rev`), await pm3(t5, `${a4}/pack-${e7}.bitmap`); +} +async function ym3(t5, a4, e7) { + await pm3(t5, `${a4}/pack-${e7}.idx`), await pm3(t5, zw2(a4, e7)), await pm3(t5, `${a4}/pack-${e7}.rev`), await pm3(t5, `${a4}/pack-${e7}.bitmap`), await pm3(t5, `${a4}/pack-${e7}.promisor`); +} +async function vm3(t5, a4) { + const e7 = yo2(oo2(t5)); + Ms2(t5); + const s8 = await sm2(t5, { includePacks: false }), i11 = new Set(s8), n7 = s8.length, r8 = Ls2(t5), o5 = await r8.all(), c5 = o5.length; + if (await (async function(t6, a5, e8) { + if (true !== a5) return false; + await pr2(t6); + const s9 = (await sr2(t6)).gc?.auto ?? 6700; + return 0 === s9 || e8 <= s9; + })(t5, a4.auto, n7)) return { ran: false, result: { ...im3, looseObjectsBefore: n7, packsBefore: c5, packsAfter: c5 } }; + await vu2(t5, "gc", void 0, ["cruftPacks"]), await gr2(t5); + const d6 = await sr2(t5), f2 = d6.gc?.cruftPacks ?? true, u6 = ug2(d6.gc?.pruneExpire ?? "2.weeks.ago", {}), w6 = await r8.fileNames(), h5 = rs2(o5, w6), l4 = await dm3(t5, o5), m7 = fm3([...l4.values()]), p6 = new Set(h5.normal.map((t6) => t6.name)), g7 = new Set(h5.promisor.map((t6) => t6.name)), y5 = await um3(h5.kept), v6 = await um3(h5.promisor), { oids: b5, mtimeOf: k6 } = await (async function(t6, a5) { + const e8 = /* @__PURE__ */ new Set(), s9 = /* @__PURE__ */ new Map(); + for (const i12 of t6) { + const t7 = a5.get(i12.name), n8 = Math.floor(t7.mtimeMs / 1e3); + for (const t8 of Vg(await i12.index())) { + e8.add(t8); + const a6 = s9.get(t8); + s9.set(t8, void 0 === a6 ? n8 : Math.max(a6, n8)); + } + } + return { oids: e8, mtimeOf: s9 }; + })(h5.normal, l4), x9 = await Hg2(t5, h5.cruft), $8 = new Set(x9.packShas), I10 = /* @__PURE__ */ new Set([...i11, ...x9.mtimes.keys(), ...b5]), { reachable: E7 } = await (async function(t6) { + const a5 = [...await Tu3(t6)].sort(), e8 = await _g2(t6, { wants: a5, not: [], objects: true, tier: "walk" }), s9 = /* @__PURE__ */ new Map(); + for (let t7 = 0; t7 < e8.objects.length; t7 += 1) { + const a6 = e8.objects[t7]; + s9.set(a6.id, { ordinal: t7, nameHash: a6.nameHash ?? zg }); + } + return { reachable: s9 }; + })(t5), { toNormalPack: C8, cruftCandidates: D8 } = (function(t6, a5, e8, s9) { + return { toNormalPack: wm3(t6, a5, e8, s9), cruftCandidates: hm3(t6, a5, e8, s9) }; + })(E7, I10, y5, v6), T7 = [...v6].sort(), H7 = T7.map((t6, a5) => { + const e8 = E7.get(t6); + return void 0 !== e8 ? { id: t6, nameHash: e8.nameHash, recency: e8.ordinal } : { id: t6, nameHash: zg, recency: E7.size + a5 }; + }), O6 = await Gg2(t5, D8, i11, x9.mtimes, k6), { survivors: A10, doomed: S6 } = (function(t6, a5, e8) { + const s9 = [], i12 = []; + for (const n8 of t6) (lm3(a5, n8) > e8 ? s9 : i12).push(n8); + return { survivors: s9, doomed: i12 }; + })(D8, O6, u6), R10 = await (async function(t6, a5, e8, s9, i12) { + if (0 === e8.length) return { packId: void 0, reuse: "none" }; + const n8 = await Hh2(t6, { objects: e8, delta: true }), r9 = await Jw2(t6, { packDir: a5, packBytes: n8.bytes, entries: n8.entries, packSha: n8.sha, promisor: false }), o6 = s9.has(n8.sha) ? "cruft" : i12.has(`pack-${n8.sha}`) ? "normal" : "none"; + return { packId: r9.packSha, reuse: o6 }; + })(t5, e7, C8, $8, p6), j9 = await (async function(t6, a5, e8, s9) { + if (0 === e8.length) return { packId: void 0, reusedExistingName: void 0 }; + const i12 = await Hh2(t6, { objects: e8, delta: true }), n8 = await Jw2(t6, { packDir: a5, packBytes: i12.bytes, entries: i12.entries, packSha: i12.sha, promisor: true }), r9 = `pack-${n8.packSha}`; + return { packId: n8.packSha, reusedExistingName: s9.has(r9) ? r9 : void 0 }; + })(t5, e7, H7, g7), N7 = await (async function(t6, a5, e8, s9, i12, n8, r9) { + if (!e8) return await Lo2(t6, "ioBound", s9, (a6) => (async function(t7, a7, e9) { + e9.has(a7) || await Rf2(t7, await Ts2(t7, a7)); + })(t6, a6, n8)), { cruftPackId: void 0 }; + const o6 = new Set(i12.mtimes.keys()), c6 = Kg2(s9, o6, i12.packShas.length); + if ("noop" === c6) return { cruftPackId: i12.packShas[0] }; + if ("delete" === c6) return { cruftPackId: void 0 }; + const d7 = await (async function(t7, a6, e9, s10, i13) { + const n9 = await Hh2(t7, { objects: e9.map((t8) => ({ id: t8 })), delta: true }); + return i13.has(n9.sha) ? n9.sha : (await qg2(t7, { packDir: a6, entries: n9.entries, packBytes: n9.bytes, packSha: n9.sha, mtimeAt: (t8) => lm3(s10, e9[n9.emissionOrder[t8]]) })).packSha; + })(t6, a5, s9, r9, new Set(i12.packShas)); + return { cruftPackId: d7 }; + })(t5, e7, f2, A10, x9, i11, O6); + Ms2(t5); + const U7 = [...C8.map((t6) => t6.id), ...T7, ...A10]; + await Lo2(t5, "ioBound", U7, (a5) => Ts2(t5, a5, { verifyHash: true })); + const M5 = await (async function(t6, a5) { + const e8 = Ls2(t6), s9 = [...a5], i12 = await Lo2(t6, "ioBound", s9, async (t7) => void 0 !== await e8.lookup(t7) ? t7 : void 0); + return new Set(i12.filter((t7) => void 0 !== t7)); + })(t5, i11), P6 = new Set(S6), _6 = new Set(M5); + for (const t6 of P6) i11.has(t6) && _6.add(t6); + await (async function(t6, a5) { + const e8 = oo2(t6); + for (const s9 of a5) { + try { + await t6.fs.rm(so2(e8, s9)); + } catch (t7) { + if (!mm3(t7)) throw t7; + } + Ao2(t6, s9); + } + })(t5, _6); + for (const a5 of P6) t5.deltaCache.delete(a5), Fo2(t5, a5); + const B6 = "cruft" === R10.reuse ? R10.packId : void 0; + void 0 !== B6 && await Xg2(t5, e7, B6); + const L8 = "normal" === R10.reuse ? `pack-${R10.packId}` : void 0, F6 = h5.normal.filter((t6) => t6.name !== L8), q7 = x9.packShas.filter((t6) => t6 !== N7.cruftPackId && t6 !== B6), z7 = h5.promisor.filter((t6) => t6.name !== j9.reusedExistingName), W6 = /* @__PURE__ */ new Set([...F6.map((t6) => `${t6.name}.idx`), ...q7.map((t6) => `pack-${t6}.idx`), ...z7.map((t6) => `${t6.name}.idx`)]); + await (async function(t6, a5, e8) { + if (0 === e8.size) return; + const s9 = xo2(a5); + let i12; + try { + i12 = await t6.fs.read(s9); + } catch (t7) { + if (mm3(t7)) return; + throw t7; + } + ag(i12, t6.hashConfig.digestLength).packNames.some((t7) => e8.has(t7)) && await pm3(t6, s9); + })(t5, e7, W6), await (async function(t6, a5, e8, s9, i12, n8) { + if (0 !== s9.length || 0 !== i12.length || 0 !== n8.length) { + a5.refresh(), await a5.settleRefresh(); + for (const a6 of s9) await gm3(t6, e8, a6.name.slice(5)); + for (const a6 of i12) await Yg2(t6, e8, a6); + for (const a6 of n8) await ym3(t6, e8, a6.name.slice(5)); + } + })(t5, r8, e7, F6, q7, z7), await (async function(t6, a5, e8) { + if (e8 === Number.NEGATIVE_INFINITY) return; + const s9 = `${oo2(t6)}/objects`, i12 = await cm3(t6, s9, nm3), n8 = await cm3(t6, a5, nm3), r9 = rm3.map((t7) => `${s9}/${t7}`), o6 = await Lo2(t6, "ioBound", r9, (a6) => (async function(t7, a7) { + let e9; + try { + e9 = await t7.fs.readdir(a7); + } catch (e10) { + if (!await (async function(t8, a8, e11) { + const s10 = to2(e11); + return "FILE_NOT_FOUND" === s10 || "NOT_A_DIRECTORY" === s10 && !await t8.fs.exists(a8); + })(t7, a7, e10)) throw e10; + return []; + } + return e9.filter((t8) => om3(t8, "tmp_obj_")).map((t8) => `${a7}/${t8.name}`); + })(t6, a6)), c6 = [...i12, ...n8, ...o6.flat()]; + await Lo2(t6, "ioBound", c6, (a6) => (async function(t7, a7, e9) { + let s10; + try { + s10 = await t7.fs.lstat(a7); + } catch { + return; + } + Math.floor(s10.mtimeMs / 1e3) > e9 || await (async function(t8, a8) { + try { + await t8.fs.rm(a8); + } catch { + } + })(t7, a7); + })(t6, a6, e8)); + })(t5, e7, u6), Ms2(t5); + const V4 = await Ls2(t5).all(), G7 = V4.length, K5 = fm3([...(await dm3(t5, V4)).values()]), Y5 = new Set(x9.mtimes.keys()), X4 = A10.filter((t6) => !Y5.has(t6)).length, J6 = A10.filter((t6) => Y5.has(t6)).length; + return { ran: true, result: { looseObjectsBefore: n7, looseObjectsPacked: M5.size, prunedLooseObjects: _6.size, packsBefore: c5, packsAfter: G7, packId: R10.packId, cruftObjectsAdded: X4, cruftObjectsRetained: J6, cruftObjectsExpired: S6.length, cruftPackId: N7.cruftPackId, promisorPackId: j9.packId, packsRetired: F6.length + q7.length + z7.length, packBytesBefore: m7, packBytesAfter: K5 } }; +} +var bm3 = async (t5, a4, e7) => { + if (void 0 !== a4.refspecs && a4.refspecs.length > 0) return { kind: "explicit", refspecs: a4.refspecs.map(nh3) }; + if ("current" === t5.push?.default) return km3(e7); + if ("nothing" === t5.push?.default) throw yt(); + return "upstream" === t5.push?.default ? $m3(t5, a4, e7) : "matching" === t5.push?.default ? { kind: "matching" } : Im3(t5, a4, e7); +}; +var km3 = (t5) => { + const a4 = Vd2(t5); + if (void 0 === a4) throw wt(); + return { kind: "fixed", refspecs: [nh3(`${a4}:${a4}`)] }; +}; +var xm3 = (t5, a4, e7) => { + const s8 = $y(e7), i11 = If3(t5, void 0, s8), n7 = Ef3(t5, a4.remote, s8); + return { branchFull: e7, fetchRemote: i11, pushRemote: n7, triangular: n7 !== i11, merge: t5.branch?.get(s8)?.merge }; +}; +var $m3 = (t5, a4, e7) => { + const s8 = Vd2(e7); + if (void 0 === s8) throw wt(); + const { branchFull: i11, pushRemote: n7, triangular: r8, merge: o5 } = xm3(t5, a4, s8); + if (r8) throw Et(n7, i11); + if (void 0 === o5) throw ie(i11); + return { kind: "fixed", refspecs: [nh3(`${i11}:${o5}`)] }; +}; +var Im3 = (t5, a4, e7) => { + const s8 = Vd2(e7); + if (void 0 === s8) throw wt(); + const { branchFull: i11, triangular: n7, merge: r8 } = xm3(t5, a4, s8); + if (n7) return { kind: "fixed", refspecs: [nh3(`${i11}:${i11}`)] }; + if (void 0 === r8) throw ie(i11); + const o5 = yr.from(r8); + if ($y(o5) !== $y(i11)) throw bt(i11, o5); + return { kind: "fixed", refspecs: [nh3(`${i11}:${o5}`)] }; +}; +var Em3 = (t5, a4, e7) => { if ("matching" !== t5.kind) return t5.refspecs; - const s9 = new Set(e6.refs.filter((t6) => t6.name.startsWith(Ep)).map((t6) => t6.name)); - return a6.filter((t6) => s9.has(t6)).map((t6) => xw3(`${t6}:${t6}`)); + const s8 = new Set(a4.refs.filter((t6) => t6.name.startsWith(Lw)).map((t6) => t6.name)); + return e7.filter((t6) => s8.has(t6)).map((t6) => nh3(`${t6}:${t6}`)); }; -var Tl3 = async (t5) => (async (t6) => { - const e6 = await t6.advertisement(); - return Dc(e6, "git-receive-pack", { servicePrologue: t6.servicePrologue }); +var Cm3 = async (t5) => (async (t6) => { + const a4 = await t6.advertisement(); + return Jc(a4, "git-receive-pack", { servicePrologue: t6.servicePrologue }); })(t5); -var Dl3 = (t5, e6, a6 = false) => { - const s9 = wa.filter((t6) => t6 !== ma), i7 = a6 ? [...s9, ya] : s9, n6 = Ia(t5, i7); - return _a(t5) ? [...n6, `object-format=${e6}`, ma] : [...n6, ma]; +var Dm3 = (t5, a4, e7 = false) => { + const s8 = Ca.filter((t6) => t6 !== Da), i11 = e7 ? [...s8, Ma] : s8, n7 = Fa(t5, i11); + return Ha(t5) ? [...n7, `object-format=${a4}`, Da] : [...n7, Da]; }; -var Hl3 = async (t5, e6, a6, s9 = false) => { - const i7 = void 0 !== e6 ? await Tr3(t5, e6) : void 0; - return Sf2(t5, i7, a6, { recursive: true, detectRenames: true, ...s9 ? { withStat: true } : {} }); +var Tm3 = async (t5, a4, e7, s8 = false) => { + const i11 = void 0 !== a4 ? await Zr3(t5, a4) : void 0; + return vh2(t5, i11, e7, { recursive: true, detectRenames: true, ...s8 ? { withStat: true } : {} }); }; -var Al3 = async (t5, e6) => { - Rl3(t5); - const a6 = Ol3(t5); - Sl3(a6, e6.allowInsecure ?? false), Ul3(a6); - const s9 = await e6.resolver(a6.hostname); - return { url: t5, pinnedAddress: jl3(s9, e6.allowPrivateNetworks ?? false) }; +var Hm3 = async (t5, a4) => { + Om3(t5); + const e7 = Am3(t5); + Sm3(e7, a4.allowInsecure ?? false), Rm3(e7); + const s8 = await a4.resolver(e7.hostname); + return { url: t5, pinnedAddress: jm3(s8, a4.allowPrivateNetworks ?? false) }; }; -var Rl3 = (t5) => { - for (let e6 = 0; e6 < t5.length; e6 += 1) { - const a6 = t5.charCodeAt(e6); - if (10 === a6 || 13 === a6) throw P("contains forbidden control character"); +var Om3 = (t5) => { + for (let a4 = 0; a4 < t5.length; a4 += 1) { + const e7 = t5.charCodeAt(a4); + if (10 === e7 || 13 === e7) throw G("contains forbidden control character"); } }; -var Ol3 = (t5) => { +var Am3 = (t5) => { try { return new URL(t5); } catch { - throw P("not a valid URL"); + throw G("not a valid URL"); } }; -var Sl3 = (t5, e6) => { - const a6 = t5.protocol; - if ("https:" !== a6 && ("http:" !== a6 || !e6)) throw F(a6.replace(":", "")); +var Sm3 = (t5, a4) => { + const e7 = t5.protocol; + if ("https:" !== e7 && ("http:" !== e7 || !a4)) throw z(e7.replace(":", "")); }; -var Ul3 = (t5) => { - if ("" !== t5.hash) throw P("URL fragment is not allowed"); +var Rm3 = (t5) => { + if ("" !== t5.hash) throw G("URL fragment is not allowed"); }; -var jl3 = (t5, e6) => { - for (const a6 of t5) if (e6 || !Nl3(a6)) return a6; - if (0 === t5.length) throw B("", "no DNS records returned"); - throw B(t5[0], "all resolved addresses are in a blocked range"); +var jm3 = (t5, a4) => { + for (const e7 of t5) if (a4 || !Nm3(e7)) return e7; + if (0 === t5.length) throw W("", "no DNS records returned"); + throw W(t5[0], "all resolved addresses are in a blocked range"); }; -var Nl3 = (t5) => t5.includes(":") ? Pl3(t5) : Ml3(t5); -var Ml3 = (t5) => { - const e6 = ((t6) => { - const e7 = t6.split("."); - if (4 !== e7.length) return; - const a7 = []; - for (const t7 of e7) { +var Nm3 = (t5) => t5.includes(":") ? Mm3(t5) : Um3(t5); +var Um3 = (t5) => { + const a4 = ((t6) => { + const a5 = t6.split("."); + if (4 !== a5.length) return; + const e8 = []; + for (const t7 of a5) { if (!/^\d{1,3}$/.test(t7)) return; - const e8 = Number(t7); - if (e8 > 255) return; - a7.push(e8); + const a6 = Number(t7); + if (a6 > 255) return; + e8.push(a6); } - return a7; + return e8; })(t5); - if (void 0 === e6) return false; - const [a6, s9] = e6; - return 0 === a6 || 10 === a6 || 100 === a6 && s9 >= 64 && s9 <= 127 || 127 === a6 || 169 === a6 && 254 === s9 || 172 === a6 && s9 >= 16 && s9 <= 31 || 192 === a6 && 168 === s9 || a6 >= 224; + if (void 0 === a4) return false; + const [e7, s8] = a4; + return 0 === e7 || 10 === e7 || 100 === e7 && s8 >= 64 && s8 <= 127 || 127 === e7 || 169 === e7 && 254 === s8 || 172 === e7 && s8 >= 16 && s8 <= 31 || 192 === e7 && 168 === s8 || e7 >= 224; }; -var Pl3 = (t5) => { - const e6 = t5.toLowerCase(), a6 = e6.match(/::ffff:(?:0:)?(\d+\.\d+\.\d+\.\d+)$/); - if (void 0 !== a6?.[1]) return Ml3(a6[1]); - const s9 = e6.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/); - if (void 0 !== s9?.[1] && void 0 !== s9[2]) { - const t6 = parseInt(s9[1], 16), e7 = parseInt(s9[2], 16); - return Ml3(`${t6 >> 8}.${255 & t6}.${e7 >> 8}.${255 & e7}`); +var Mm3 = (t5) => { + const a4 = t5.toLowerCase(), e7 = a4.match(/::ffff:(?:0:)?(\d+\.\d+\.\d+\.\d+)$/); + if (void 0 !== e7?.[1]) return Um3(e7[1]); + const s8 = a4.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/); + if (void 0 !== s8?.[1] && void 0 !== s8[2]) { + const t6 = parseInt(s8[1], 16), a5 = parseInt(s8[2], 16); + return Um3(`${t6 >> 8}.${255 & t6}.${a5 >> 8}.${255 & a5}`); } - return !!("::1" === e6 || "::" === e6 || e6.startsWith("fe80:") || e6.startsWith("fe80::") || e6.startsWith("ff") || e6.startsWith("fc") || e6.startsWith("fd")); + return !!("::1" === a4 || "::" === a4 || a4.startsWith("fe80:") || a4.startsWith("fe80::") || a4.startsWith("ff") || a4.startsWith("fc") || a4.startsWith("fd")); }; // node_modules/@scolladon/tsgit/dist/esm/commands/add.js -var O4 = /* @__PURE__ */ new Set(["FILE_NOT_FOUND", "INVALID_INDEX_HEADER", "INVALID_INDEX_ENTRY"]); -var z3 = async (i7, e6, s9 = {}) => { - await hc2(i7), wc2(i7, "add"), await vc2(i7, { except: [fg, gg, mg, hg] }); - const n6 = await Ec2(i7); - if (true === s9.all) { - if (0 !== e6.length) throw oe("all", "pathspec must be empty when all=true"); - return U4(i7, void 0, n6); - } - if (0 === e6.length) throw J(); - return G4(i7, e6, n6); -}; -var G4 = async (t5, a6, i7) => { - const { matcher: e6, literalMustMatch: s9, hasGlob: n6, symlinkScanTargets: r6 } = Bn(a6); - return await Kn2(t5, r6), !n6 && await C4(t5, s9) ? V3(t5, s9, i7) : R4(t5, e6, s9, i7); -}; -var V3 = async (t5, a6, i7) => { - const s9 = await Ld2(t5); +var V3 = (t5) => { + let a4; + return () => a4 ??= bu2(t5); +}; +var X3 = /* @__PURE__ */ new Set(["FILE_NOT_FOUND", "INVALID_INDEX_HEADER", "INVALID_INDEX_ENTRY"]); +var z3 = async (i11, e7, s8 = {}) => { + await Gd2(i11), Kd2(i11, "add"), await Zd2(i11, { except: [_m, Om, Tm, vm] }); + const n7 = await su2(i11); + if (true === s8.all) { + if (0 !== e7.length) throw de("all", "pathspec must be empty when all=true"); + return q3(i11, void 0, n7); + } + if (0 === e7.length) throw ne(); + return B4(i11, e7, n7); +}; +var B4 = async (t5, a4, i11) => { + const { matcher: e7, literalMustMatch: s8, hasGlob: n7, symlinkScanTargets: r8 } = mr3(a4); + return await vr3(t5, r8), !n7 && await G4(t5, s8) ? C4(t5, s8, i11) : U4(t5, e7, s8, i11); +}; +var C4 = async (t5, a4, i11) => { + const s8 = await kf2(t5), n7 = V3(t5); try { - const { entries: n6, indexMtime: r6 } = await H3(t5), o6 = new Map(n6), d5 = [], c6 = []; - for (const s10 of a6) { - const a7 = await J3(t5, s10, i7, n6.get(s10), r6); - if ("missing" === a7) throw A(s10); - const w4 = n6.get(s10); - o6.set(s10, a7), void 0 === w4 ? d5.push(s10) : w4.id === a7.id && w4.mode === a7.mode || c6.push(s10); - } - return await s9.commit(Array.from(o6.values())), { added: d5, modified: c6, removed: [] }; + const { entries: r8, indexMtime: o5 } = await W3(t5), d6 = new Map(r8), c5 = [], m7 = []; + for (const s9 of a4) { + const a5 = await Y3(t5, s9, i11, r8.get(s9), o5, n7); + if ("missing" === a5) throw R(s9); + const w6 = r8.get(s9); + d6.set(s9, a5), void 0 === w6 ? c5.push(s9) : w6.id === a5.id && w6.mode === a5.mode || m7.push(s9); + } + return await s8.commit(Array.from(d6.values())), { added: c5, modified: m7, removed: [] }; } finally { - await s9.release(); + await s8.release(); } }; -var C4 = async (t5, a6) => { - if (0 === a6.length) return false; - for (const i7 of a6) { - const a7 = await K3(t5, i7); - if (void 0 === a7) return false; - if (a7.isDirectory && !a7.isSymbolicLink) return false; +var G4 = async (t5, a4) => { + if (0 === a4.length) return false; + for (const i11 of a4) { + const a5 = await Q3(t5, i11); + if (void 0 === a5) return false; + if (a5.isDirectory && !a5.isSymbolicLink) return false; } return true; }; -var K3 = async (t5, a6) => { +var Q3 = async (t5, a4) => { try { - return await t5.fs.lstat(bc2(wc2(t5, "add"), a6)); + return await t5.fs.lstat(Jd2(Kd2(t5, "add"), a4)); } catch (t6) { - if (t6 instanceof o && "FILE_NOT_FOUND" === t6.data.code) return; + if (t6 instanceof c && "FILE_NOT_FOUND" === t6.data.code) return; throw t6; } }; -var R4 = async (t5, a6, i7, e6) => { - const s9 = await Zd2(t5), n6 = async (t6, i8) => !!await s9(t6, i8) || !i8 && !vi(a6, t6), r6 = await Ld2(t5); +var R4 = async (t5, a4, i11, e7, s8, n7, r8) => { + const o5 = Mo2(t5, "ioBound"), d6 = [], c5 = []; + let m7; + const w6 = (a5, w7) => { + c5.push(o5.run(() => P3(t5, a5, i11, e7, s8, n7, r8)).then((t6) => { + void 0 !== t6 && d6.push(t6); + }, (t6) => { + (void 0 === m7 || w7 < m7.ordinal) && (m7 = { error: t6, ordinal: w7 }); + })); + }; try { - const { entries: a7, indexMtime: s10 } = await H3(t5), o6 = new Map(a7), d5 = [], c6 = [], w4 = [], m5 = /* @__PURE__ */ new Set(); - for await (const i8 of zd2(t5, { ignore: n6 })) { - const n7 = await B4(t5, i8, a7, m5, e6, s10); - void 0 !== n7 && (d5.push(n7.path), o6.set(n7.path, n7.entry), "added" === n7.kind ? c6.push(n7.path) : "modified" === n7.kind && w4.push(n7.path)); - } - return Vn2(i7, d5), c6.sort(), w4.sort(), await r6.commit(Array.from(o6.values())), { added: c6, modified: w4, removed: [] }; + let t6 = 0; + for await (const i12 of a4) w6(i12, t6++); + } finally { + await Promise.all(c5); + } + if (void 0 !== m7) throw m7.error; + return d6; +}; +var U4 = async (t5, a4, i11, e7) => { + const n7 = await Uf2(t5), r8 = async (t6, i12) => !!await n7(t6, i12) || !i12 && !Vi(a4, t6), o5 = await kf2(t5), d6 = V3(t5); + try { + const { entries: a5, indexMtime: s8 } = await W3(t5), n8 = new Map(a5), c5 = /* @__PURE__ */ new Set(), m7 = await R4(t5, Pf2(t5, { ignore: r8 }), a5, c5, e7, s8, d6), w6 = [], f2 = [], l4 = []; + for (const t6 of m7) w6.push(t6.path), n8.set(t6.path, t6.entry), "added" === t6.kind ? f2.push(t6.path) : "modified" === t6.kind && l4.push(t6.path); + return yr3(i11, w6), f2.sort(), l4.sort(), await o5.commit(Array.from(n8.values())), { added: f2, modified: l4, removed: [] }; } finally { - await r6.release(); + await o5.release(); } }; -var U4 = async (t5, a6, i7) => { - const e6 = a6 ?? await Zd2(t5), s9 = await Ld2(t5); +var q3 = async (t5, a4, i11) => { + const e7 = a4 ?? await Uf2(t5), s8 = await kf2(t5), n7 = V3(t5); try { - const { entries: a7, indexMtime: n6 } = await H3(t5), r6 = new Map(a7), o6 = /* @__PURE__ */ new Set(), d5 = [], c6 = []; - for await (const s10 of zd2(t5, { ignore: e6 })) { - const e7 = await B4(t5, s10, a7, o6, i7, n6); - void 0 !== e7 && (r6.set(e7.path, e7.entry), "added" === e7.kind ? d5.push(e7.path) : "modified" === e7.kind && c6.push(e7.path)); - } - const w4 = await X3(a7, o6, e6); - for (const t6 of w4) r6.delete(t6); - return d5.sort(), c6.sort(), w4.sort(), await s9.commit(Array.from(r6.values())), { added: d5, modified: c6, removed: w4 }; + const { entries: a5, indexMtime: r8 } = await W3(t5), o5 = new Map(a5), d6 = /* @__PURE__ */ new Set(), c5 = [], m7 = [], w6 = await R4(t5, Pf2(t5, { ignore: e7 }), a5, d6, i11, r8, n7); + for (const t6 of w6) o5.set(t6.path, t6.entry), "added" === t6.kind ? c5.push(t6.path) : "modified" === t6.kind && m7.push(t6.path); + const f2 = await H3(a5, d6, e7); + for (const t6 of f2) o5.delete(t6); + return c5.sort(), m7.sort(), f2.sort(), await s8.commit(Array.from(o5.values())), { added: c5, modified: m7, removed: f2 }; } finally { - await s9.release(); + await s8.release(); } }; -var X3 = async (t5, a6, i7) => { - const e6 = []; - for (const [s9, n6] of t5) a6.has(s9) || n6.flags.skipWorktree || await q3(s9, i7) || e6.push(s9); - return e6; +var H3 = async (t5, a4, i11) => { + const e7 = []; + for (const [s8, n7] of t5) a4.has(s8) || n7.flags.skipWorktree || await K3(s8, i11) || e7.push(s8); + return e7; }; -var q3 = async (t5, a6) => { - if (await a6(t5, false)) return true; - const i7 = t5.split("/"); - for (let t6 = 1; t6 < i7.length; t6 += 1) { - const e6 = i7.slice(0, t6).join("/"); - if (await a6(e6, true)) return true; +var K3 = async (t5, a4) => { + if (await a4(t5, false)) return true; + const i11 = t5.split("/"); + for (let t6 = 1; t6 < i11.length; t6 += 1) { + const e7 = i11.slice(0, t6).join("/"); + if (await a4(e7, true)) return true; } return false; }; -var B4 = async (t5, a6, i7, e6, s9, n6) => { - const { path: r6, isFile: o6, isDirectory: d5, isSymbolicLink: c6 } = a6; - e6.add(r6); - const w4 = await W3(t5, r6, { isFile: o6, isDirectory: d5, isSymbolicLink: c6 }, s9, i7.get(r6), n6), m5 = i7.get(r6); - return void 0 === m5 ? { kind: "added", path: r6, entry: w4 } : m5.id !== w4.id || m5.mode !== w4.mode ? { kind: "modified", path: r6, entry: w4 } : { kind: "unchanged", path: r6, entry: w4 }; +var P3 = async (t5, a4, i11, e7, s8, n7, r8) => { + const { path: o5, isFile: d6, isDirectory: c5, isSymbolicLink: m7 } = a4; + e7.add(o5); + const w6 = await Z3(t5, o5, { isFile: d6, isDirectory: c5, isSymbolicLink: m7 }, s8, i11.get(o5), n7, r8), f2 = i11.get(o5); + return void 0 === f2 ? { kind: "added", path: o5, entry: w6 } : f2.id !== w6.id || f2.mode !== w6.mode ? { kind: "modified", path: o5, entry: w6 } : { kind: "unchanged", path: o5, entry: w6 }; }; -var H3 = async (t5) => { +var W3 = async (t5) => { try { - const a6 = await Cd2(t5), i7 = /* @__PURE__ */ new Map(); - for (const t6 of a6.entries) i7.set(t6.path, t6); - return { entries: i7, indexMtime: a6.indexMtime }; + const a4 = await hf2(t5), i11 = /* @__PURE__ */ new Map(); + for (const t6 of a4.entries) i11.set(t6.path, t6); + return { entries: i11, indexMtime: a4.indexMtime }; } catch (t6) { - if (t6 instanceof o && O4.has(t6.data.code)) return { entries: /* @__PURE__ */ new Map(), indexMtime: void 0 }; + if (t6 instanceof c && X3.has(t6.data.code)) return { entries: /* @__PURE__ */ new Map(), indexMtime: void 0 }; throw t6; } }; -var J3 = async (t5, a6, i7, e6, s9) => { - const n6 = await K3(t5, a6); - return void 0 === n6 ? "missing" : W3(t5, a6, n6, i7, e6, s9); -}; -var W3 = async (t5, a6, i7, e6, c6, w4) => { - await Wc2(t5); - const m5 = await t5.fs.lstat(bc2(wc2(t5, "add"), a6)); - if (m5.isSymbolicLink !== i7.isSymbolicLink || m5.isDirectory !== i7.isDirectory || m5.isFile !== i7.isFile) throw I(); - if (void 0 !== c6 && void 0 !== w4 && c6.mode !== Wt.GITLINK && nn(m5) === c6.mode && Ud2(c6, m5, w4)) return c6; - if (m5.size > fo2) throw ce(a6, m5.size, fo2); - const f2 = nn(m5); - to(a6, Qr, f2); - const l4 = await P3(t5, a6, m5), y6 = await Y3(t5, a6, l4, m5.isSymbolicLink, e6), u6 = await qd2(t5, { type: "blob", id: "", content: y6 }); - return Rd2(m5, f2, u6, a6); -}; -var Y3 = async (t5, a6, i7, e6, s9) => { - if (void 0 === s9 || void 0 === t5.command || e6) return i7; - const n6 = await Gc2(t5, s9, a6, { eagerSectionValidation: true }); - if ("external" !== n6.kind || void 0 === n6.clean) return i7; - const r6 = await Kc2(t5, t5.command, n6.clean, i7); - if (r6.ok) return r6.bytes; - if (n6.required) throw he(a6, n6.name, r6.exitCode); - return i7; -}; -var P3 = async (t5, a6, i7) => { - const e6 = wc2(t5, "add"); - if (i7.isSymbolicLink) { - const i8 = new TextEncoder().encode(await t5.fs.readlink(bc2(e6, a6))); - if (i8.byteLength > fo2) throw ce(a6, i8.byteLength, fo2); - return i8; - } - return t5.fs.read(bc2(e6, a6)); +var Y3 = async (t5, a4, i11, e7, s8, n7) => { + const r8 = await Q3(t5, a4); + return void 0 === r8 ? "missing" : Z3(t5, a4, r8, i11, e7, s8, n7); +}; +var Z3 = async (t5, a4, i11, e7, s8, m7, w6) => { + await w6(); + const f2 = await t5.fs.lstat(Jd2(Kd2(t5, "add"), a4)); + if (f2.isSymbolicLink !== i11.isSymbolicLink || f2.isDirectory !== i11.isDirectory || f2.isFile !== i11.isFile) throw A(); + if (void 0 !== s8 && void 0 !== m7 && s8.mode !== Qt.GITLINK && dn(f2) === s8.mode && Of2(s8, f2, m7)) return s8; + if (f2.size > ai2) throw he(a4, f2.size, ai2); + const l4 = dn(f2); + bo(a4, wo, l4); + const u6 = await $3(t5, a4, f2), h5 = await J3(t5, a4, u6, f2.isSymbolicLink, e7), k6 = await Rf2(t5, { type: "blob", id: "", content: h5 }); + return Sf2(f2, l4, k6, a4); +}; +var J3 = async (t5, a4, i11, e7, s8) => { + if (void 0 === s8 || void 0 === t5.command || e7) return i11; + const n7 = await Iu2(t5, s8, a4, { eagerSectionValidation: true }); + if ("external" !== n7.kind || void 0 === n7.clean) return i11; + const r8 = await Cu2(t5, t5.command, n7.clean, i11); + if (r8.ok) return r8.bytes; + if (n7.required) throw ye(a4, n7.name, r8.exitCode); + return i11; +}; +var $3 = async (t5, a4, i11) => { + const e7 = Kd2(t5, "add"); + if (i11.isSymbolicLink) { + const i12 = new TextEncoder().encode(await t5.fs.readlink(Jd2(e7, a4))); + if (i12.byteLength > ai2) throw he(a4, i12.byteLength, ai2); + return i12; + } + return t5.fs.read(Jd2(e7, a4)); }; // node_modules/@scolladon/tsgit/dist/esm/commands/archive.js -async function s4(e6, o6) { - await hc2(e6); - const r6 = await wr3(e6, o6.treeish), s9 = await (async function(e7, i7) { - const o7 = await Ui2(e7, i7); - if ("commit" === o7.type) return { tree: o7.data.tree, commit: i7, commitTime: o7.data.committer.timestamp }; - if ("tag" === o7.type) { - const o8 = await Qd2(e7, i7, "commit"), r7 = await Ui2(e7, o8); - if ("commit" !== r7.type) throw Bt("commit", r7.type, o8); - return { tree: r7.data.tree, commit: o8, commitTime: r7.data.committer.timestamp }; - } - if ("tree" === o7.type) return { tree: i7 }; - throw Bt("tree", o7.type, i7); - })(e6, r6), { tree: p5 } = s9; - if ("commit" in s9) { - const { commit: t5, commitTime: i7 } = s9; - return { tree: p5, commit: t5, commitTime: i7, entries: c3(e6, p5) }; - } - return { tree: p5, entries: c3(e6, p5) }; -} -async function* c3(t5, i7) { - for await (const m5 of yd2(t5, i7, { maxEntries: Number.MAX_SAFE_INTEGER })) { - const { path: i8, id: a6, mode: o6 } = m5; - if (o6 === Wt.DIRECTORY || o6 === Wt.GITLINK) yield { path: i8, mode: o6, oid: a6 }; +async function p3(e7, i11) { + await Gd2(e7); + const m7 = await Pr3(e7, i11.treeish), s8 = await (async function(e8, i12) { + const m8 = await Ts2(e8, i12); + if ("commit" === m8.type) return { tree: m8.data.tree, commit: i12, commitTime: m8.data.committer.timestamp }; + if ("tag" === m8.type) { + const m9 = await jf2(e8, i12, "commit"), a4 = await Ts2(e8, m9); + if ("commit" !== a4.type) throw Kt("commit", a4.type, m9); + return { tree: a4.data.tree, commit: m9, commitTime: a4.data.committer.timestamp }; + } + if ("tree" === m8.type) return { tree: i12 }; + throw Kt("tree", m8.type, i12); + })(e7, m7), { tree: n7 } = s8; + if ("commit" in s8) { + const { commit: t5, commitTime: i12 } = s8; + return { tree: n7, commit: t5, commitTime: i12, entries: d3(e7, n7) }; + } + return { tree: n7, entries: d3(e7, n7) }; +} +async function* d3(t5, a4) { + for await (const o5 of af2(t5, a4, { maxEntries: Number.MAX_SAFE_INTEGER })) { + const { path: a5, id: r8, mode: s8 } = o5; + if (bo(a5, wo, s8), s8 === Qt.DIRECTORY || s8 === Qt.GITLINK) yield { path: a5, mode: s8, oid: r8 }; else { - const e6 = await Bc2(t5, a6); - yield { path: i8, mode: o6, oid: a6, content: e6.content }; + const e7 = await gu2(t5, r8); + yield { path: a5, mode: s8, oid: r8, content: e7.content }; } } } // node_modules/@scolladon/tsgit/dist/esm/commands/blame.js -var I4 = new TextEncoder(); -var k3 = "HEAD"; -var x4 = async (a6, o6, n6 = {}) => { - await hc2(a6); - const i7 = hr.from(o6), r6 = { ctx: a6, queue: new qm(Jm), finalized: [] }; - if (true === n6.worktree) { - if (void 0 !== n6.rev) throw oe("worktree", "cannot combine with a revision"); - a6.layout.bare ? await z4(r6, await Cr3(a6, k3), i7, k3) : await L4(r6, wc2(a6, "blame"), i7); +var k3 = new TextEncoder(); +var C5 = "HEAD"; +var D4 = async (e7, i11, n7 = {}) => { + await Gd2(e7); + const o5 = Er.from(i11), s8 = { ctx: e7, queue: new pw(ww), finalized: [] }; + if (true === n7.worktree) { + if (void 0 !== n7.rev) throw de("worktree", "cannot combine with a revision"); + e7.layout.bare ? await q4(s8, await Qr3(e7, C5), o5, C5) : await I4(s8, Kd2(e7, "blame"), o5); } else { - const t5 = n6.rev ?? k3; - await z4(r6, await Cr3(a6, t5), i7, t5); - } - await q4(r6); - const s9 = [...r6.finalized].sort((t5, e6) => t5.finalLine - e6.finalLine); - return { path: i7, lines: j4(s9, n6.range) }; -}; -var L4 = async (t5, e6, s9) => { - Sm(s9); - const c6 = await Cr3(t5.ctx, k3), d5 = await Ff2(t5.ctx, c6), m5 = await P4(t5.ctx, e6, s9), u6 = es(m5).length; - if (0 === u6) return; - const f2 = [{ finalStart: 0, count: u6, sourceStart: 0 }], l4 = await C5(t5.ctx, d5.tree, s9); - if (void 0 !== l4) { - const { passed: e7, kept: a6 } = Vm(f2, cs(l4.content, m5)); - return A4(t5, c6, s9, d5.committer.timestamp, l4.content, l4.id, e7), void S3(t5, s9, m5, a6, { commit: c6, path: s9 }); - } - if (!(await Cd2(t5.ctx)).entries.some((t6) => t6.path === s9)) throw X(k3, s9); - S3(t5, s9, m5, f2, void 0); -}; -var P4 = async (t5, e6, a6) => { - const o6 = bc2(e6, a6), n6 = await t5.fs.lstat(o6).catch(() => { + const t5 = n7.rev ?? C5; + await q4(s8, await Qr3(e7, t5), o5, t5); + } + await E4(s8); + const r8 = [...s8.finalized].sort((t5, a4) => t5.finalLine - a4.finalLine); + return { path: o5, lines: z4(r8, n7.range) }; +}; +var x4 = (t5) => t5.split("/"); +var L4 = (t5) => t5.mode !== Qt.DIRECTORY && t5.mode !== Qt.GITLINK; +var I4 = async (t5, a4, r8) => { + Fp(r8); + const c5 = await Qr3(t5.ctx, C5), m7 = await Mh2(t5.ctx, c5), h5 = await P4(t5.ctx, a4, r8), d6 = ys(h5); + if (0 === d6.length) return; + const l4 = [{ finalStart: 0, count: d6.length, sourceStart: 0 }], u6 = x4(r8), b5 = await Yf2(t5.ctx, m7.tree, u6); + if (void 0 !== b5 && L4(b5.entry)) { + const a5 = (await gu2(t5.ctx, b5.entry.id)).content, e7 = As(ys(a5), d6), { passed: n7, kept: h6 } = cw(l4, e7); + return J4(t5, { commit: c5, path: r8, pathSegments: u6, blobId: b5.entry.id, entries: n7, lines: e7.oursLines, oidChain: b5.oidChain, commitData: m7 }), void j4(t5, r8, d6, h6, { commit: c5, path: r8 }); + } + if (!(await hf2(t5.ctx)).entries.some((t6) => t6.path === r8)) throw ee(C5, r8); + j4(t5, r8, d6, l4, void 0); +}; +var P4 = async (t5, a4, e7) => { + const i11 = Jd2(a4, e7), n7 = await t5.fs.lstat(i11).catch(() => { }); - if (void 0 === n6) throw q(a6); - return n6.isSymbolicLink ? I4.encode(await t5.fs.readlink(o6)) : t5.fs.read(o6); -}; -var S3 = (t5, e6, a6, n6, i7) => { - const r6 = es(a6); - for (const a7 of n6) for (const o6 of N3(a7.count)) t5.finalized.push({ committed: false, ...H4(a7, o6, r6, e6, i7) }); -}; -var j4 = (t5, a6) => { - if (void 0 === a6) return t5; - const { start: o6, end: n6 } = a6; - if (!Number.isInteger(o6) || !Number.isInteger(n6)) throw oe("-L", "line numbers must be integers"); - if (o6 < 1) throw oe("-L", `invalid line number: ${o6}`); - if (o6 > t5.length) throw oe("-L", `file has only ${t5.length} lines`); - if (n6 < o6) throw oe("-L", `range end ${n6} precedes start ${o6}`); - const i7 = Math.min(n6, t5.length); - return t5.filter((t6) => t6.finalLine >= o6 && t6.finalLine <= i7); -}; -var z4 = async (t5, e6, n6, i7) => { - const r6 = await Ff2(t5.ctx, e6), s9 = await C5(t5.ctx, r6.tree, n6); - if (void 0 === s9) throw X(i7, n6); - const c6 = es(s9.content).length; - 0 !== c6 && A4(t5, e6, n6, r6.committer.timestamp, s9.content, s9.id, [{ finalStart: 0, count: c6, sourceStart: 0 }]); -}; -var q4 = async (t5) => { + if (void 0 === n7) throw te(e7); + return n7.isSymbolicLink ? k3.encode(await t5.fs.readlink(i11)) : t5.fs.read(i11); +}; +var j4 = (t5, a4, e7, i11, n7) => { + for (const o5 of i11) for (const i12 of A4(o5.count)) t5.finalized.push({ committed: false, ...T4(o5, i12, e7, a4, n7) }); +}; +var z4 = (t5, e7) => { + if (void 0 === e7) return t5; + const { start: i11, end: n7 } = e7; + if (!Number.isInteger(i11) || !Number.isInteger(n7)) throw de("-L", "line numbers must be integers"); + if (i11 < 1) throw de("-L", `invalid line number: ${i11}`); + if (i11 > t5.length) throw de("-L", `file has only ${t5.length} lines`); + if (n7 < i11) throw de("-L", `range end ${n7} precedes start ${i11}`); + const o5 = Math.min(n7, t5.length); + return t5.filter((t6) => t6.finalLine >= i11 && t6.finalLine <= o5); +}; +var q4 = async (t5, a4, n7, o5) => { + const s8 = await Mh2(t5.ctx, a4), r8 = x4(n7), c5 = await Yf2(t5.ctx, s8.tree, r8); + if (void 0 === c5 || !L4(c5.entry)) throw ee(o5, n7); + const m7 = (await gu2(t5.ctx, c5.entry.id)).content, h5 = ys(m7); + 0 !== h5.length && J4(t5, { commit: a4, path: n7, pathSegments: r8, blobId: c5.entry.id, entries: [{ finalStart: 0, count: h5.length, sourceStart: 0 }], lines: h5, oidChain: c5.oidChain, commitData: s8 }); +}; +var E4 = async (t5) => { for (; t5.queue.size() > 0; ) { - const { value: e6 } = t5.queue.pop(); - await E4(t5, e6); + const { value: a4 } = t5.queue.pop(); + await $4(t5, a4); } }; -var E4 = async (t5, e6) => { - const a6 = await Ff2(t5.ctx, e6.commit), n6 = es(e6.blob); - let i7, r6 = e6.entries; - for (const o6 of a6.parents) { - const n7 = await R5(t5.ctx, o6, a6.tree, e6.path, e6.blobId); - if (void 0 !== n7 && (i7 ??= { commit: o6, path: n7.sourcePath }, r6 = $3(t5, e6, o6, n7, r6), 0 === r6.length)) break; +var $4 = async (t5, a4) => { + let e7, i11 = a4.entries; + for (const n7 of a4.commitData.parents) { + const o5 = await G5(t5.ctx, n7, a4.commitData.tree, a4); + if (void 0 !== o5 && (e7 ??= { commit: n7, path: o5.sourcePath }, i11 = N3(t5, a4, n7, o5, i11), 0 === i11.length)) break; } - D4(t5, e6, a6, n6, r6, i7); -}; -var $3 = (t5, e6, a6, o6, n6) => { - if ("treesame" === o6.kind) return A4(t5, a6, o6.sourcePath, o6.date, e6.blob, e6.blobId, n6), []; - const { passed: s9, kept: c6 } = Vm(n6, cs(o6.blob, e6.blob)); - return A4(t5, a6, o6.sourcePath, o6.date, o6.blob, o6.blobId, s9), c6; + R5(t5, a4, i11, e7); }; -var D4 = (t5, e6, a6, o6, n6, i7) => { - const r6 = 0 === a6.parents.length, s9 = wr(a6.message); - for (const c6 of n6) for (const n7 of N3(c6.count)) t5.finalized.push({ committed: true, commit: e6.commit, author: a6.author, committer: a6.committer, summary: s9, boundary: r6, ...H4(c6, n7, o6, e6.path, i7) }); +var N3 = (t5, a4, e7, n7, r8) => { + if ("treesame" === n7.kind) return J4(t5, { commit: e7, path: n7.sourcePath, pathSegments: n7.pathSegments, blobId: a4.blobId, entries: r8, lines: a4.lines, oidChain: n7.oidChain, commitData: n7.commitData }), []; + const c5 = As(ys(n7.blob), a4.lines), { passed: m7, kept: h5 } = cw(r8, c5); + return J4(t5, { commit: e7, path: n7.sourcePath, pathSegments: n7.pathSegments, blobId: n7.blobId, entries: m7, lines: c5.oursLines, oidChain: n7.oidChain, commitData: n7.commitData }), h5; }; -var H4 = (t5, e6, a6, o6, n6) => ({ finalLine: t5.finalStart + e6 + 1, sourceLine: t5.sourceStart + e6 + 1, sourcePath: o6, ...void 0 !== n6 ? { previous: n6 } : {}, content: a6[t5.sourceStart + e6] }); -var N3 = (t5) => Array.from({ length: t5 }, (t6, e6) => e6); -var R5 = async (t5, e6, a6, o6, n6) => { - const i7 = await Ff2(t5, e6), r6 = i7.committer.timestamp, s9 = await G5(t5, i7.tree, o6); - if (void 0 !== s9) return s9.id === n6 ? { kind: "treesame", sourcePath: o6, date: r6 } : { kind: "changed", blob: (await Bc2(t5, s9.id)).content, blobId: s9.id, sourcePath: o6, date: r6 }; - const c6 = await T4(t5, i7.tree, a6, o6); - return void 0 !== c6 ? { kind: "changed", blob: (await Bc2(t5, c6.blobId)).content, blobId: c6.blobId, sourcePath: c6.sourcePath, date: r6 } : void 0; +var R5 = (t5, a4, e7, i11) => { + const n7 = a4.commitData, o5 = 0 === n7.parents.length, s8 = Tr(n7.message); + for (const r8 of e7) for (const e8 of A4(r8.count)) t5.finalized.push({ committed: true, commit: a4.commit, author: n7.author, committer: n7.committer, summary: s8, boundary: o5, ...T4(r8, e8, a4.lines, a4.path, i11) }); }; -var T4 = async (t5, e6, a6, o6) => { - const n6 = await Sf2(t5, e6, a6, { recursive: true, detectRenames: true }); - for (const t6 of n6.changes) if ("rename" === t6.type && t6.newPath === o6) return { sourcePath: t6.oldPath, blobId: t6.oldId }; +var T4 = (t5, a4, e7, i11, n7) => ({ finalLine: t5.finalStart + a4 + 1, sourceLine: t5.sourceStart + a4 + 1, sourcePath: i11, ...void 0 !== n7 ? { previous: n7 } : {}, content: e7[t5.sourceStart + a4].slice() }); +var A4 = (t5) => Array.from({ length: t5 }, (t6, a4) => a4); +var G5 = async (t5, a4, e7, i11) => { + const n7 = await Mh2(t5, a4), o5 = await Vf2(t5, n7.tree, i11.pathSegments, i11.oidChain); + if ("treesame" === o5?.kind) return { kind: "treesame", sourcePath: i11.path, pathSegments: i11.pathSegments, commitData: n7, oidChain: o5.oidChain }; + if ("changed" === o5?.kind && L4(o5.entry)) return { kind: "changed", blob: (await gu2(t5, o5.entry.id)).content, blobId: o5.entry.id, sourcePath: i11.path, pathSegments: i11.pathSegments, oidChain: o5.oidChain, commitData: n7 }; + const s8 = await H4(t5, n7.tree, e7, i11.path); + return void 0 !== s8 ? { kind: "changed", blob: (await gu2(t5, s8.chain.entry.id)).content, blobId: s8.chain.entry.id, sourcePath: s8.sourcePath, pathSegments: s8.pathSegments, oidChain: s8.chain.oidChain, commitData: n7 } : void 0; }; -var A4 = (t5, e6, a6, o6, n6, i7, r6) => { - 0 !== r6.length && t5.queue.push({ oid: e6, date: o6, value: { commit: e6, path: a6, blob: n6, blobId: i7, entries: r6 } }); -}; -var G5 = async (t5, e6, a6) => { - const o6 = await ou2(t5, e6, a6); - if (void 0 !== o6 && o6.mode !== Wt.DIRECTORY && o6.mode !== Wt.GITLINK) return o6; +var H4 = async (t5, a4, e7, i11) => { + const n7 = await vh2(t5, a4, e7, { recursive: true, detectRenames: true }); + for (const e8 of n7.changes) if ("rename" === e8.type && e8.newPath === i11) { + const i12 = x4(e8.oldPath), n8 = await Yf2(t5, a4, i12); + if (void 0 === n8) return; + return { sourcePath: e8.oldPath, pathSegments: i12, chain: n8 }; + } }; -var C5 = async (t5, e6, a6) => { - const o6 = await G5(t5, e6, a6); - if (void 0 !== o6) return { id: o6.id, content: (await Bc2(t5, o6.id)).content }; +var J4 = (t5, a4) => { + 0 !== a4.entries.length && t5.queue.push({ oid: a4.commit, date: a4.commitData.committer.timestamp, value: a4 }); }; // node_modules/@scolladon/tsgit/dist/esm/commands/cat-file.js -var i3 = (s9) => "string" == typeof s9 ? sr.from(s9) : s9; -var a3 = async (o6, a6) => { - await hc2(o6); - const r6 = a6.ids.map(i3), m5 = void 0 === a6.maxBytes ? void 0 : { maxBytes: a6.maxBytes }, n6 = []; - for await (const s9 of Ul2(o6, r6, m5)) n6.push(s9); - return { kind: "batch", entries: n6 }; +var i5 = (s8) => "string" == typeof s8 ? lr.from(s8) : s8; +var r3 = async (o5, r8) => { + await Gd2(o5); + const a4 = r8.ids.map(i5), m7 = void 0 === r8.maxBytes ? void 0 : { maxBytes: r8.maxBytes }, n7 = []; + for await (const s8 of vy2(o5, a4, m7)) n7.push(s8); + return { kind: "batch", entries: n7 }; }; // node_modules/@scolladon/tsgit/dist/esm/commands/fetch-missing.js -var l2 = async (t5, e6, a6) => !!await t5.fs.exists(Oa2(Da2(t5), a6)) || void 0 !== await e6.lookup(a6); -var w3 = async (t5, n6) => { - await hc2(t5); - const c6 = await Hi2(t5), w4 = c6.extensions?.partialClone; - if (void 0 === w4) return { kind: "no-promisor" }; - await Wc2(t5); - const g7 = c6.remote?.get(w4)?.url; - if (void 0 === g7 || "" === g7) throw ee(w4); - const k8 = await (async (t6, e6) => { - const a6 = hi2(t6), s9 = /* @__PURE__ */ new Set(), o6 = []; - for (const i7 of e6) s9.has(i7) || (s9.add(i7), await l2(t6, a6, i7) || o6.push(i7)); +var u3 = async (t5, e7, s8) => !!await t5.fs.exists(so2(oo2(t5), s8)) || void 0 !== await e7.lookup(s8); +var l2 = async (o5, r8) => { + await Gd2(o5); + const f2 = await sr2(o5), l4 = f2.extensions?.partialClone; + if (void 0 === l4) return { kind: "no-promisor" }; + await bu2(o5); + const w6 = f2.remote?.get(l4)?.url; + if (void 0 === w6 || "" === w6) throw se(l4); + const g7 = await (async (t5, e7) => { + const s8 = us2(t5), a4 = /* @__PURE__ */ new Set(), o6 = []; + for (const r9 of e7) a4.has(r9) || (a4.add(r9), await u3(t5, s8, r9) || o6.push(r9)); return o6; - })(t5, n6); - if (0 === k8.length) return { kind: "fetched", remote: w4, requested: n6.length, fetched: 0 }; - const y6 = Ec3(t5, g7, "git-upload-pack"); + })(o5, r8); + if (0 === g7.length) return { kind: "fetched", remote: l4, requested: r8.length, fetched: 0 }; + const k6 = Jc3(o5, w6, "git-upload-pack"); try { - const e6 = await tc3(t5, y6); - Jd3(t5.hashConfig.algorithm, e6.objectFormat, "fetch"); - const s9 = Sc3(e6.advertisement.capabilities, t5.hashConfig.algorithm); - try { - await gl2(t5, (t6, a6) => ac3(t6, y6, e6.version, a6), { wants: k8, haves: [], capabilities: s9, progressOp: "fetch-missing:write-objects", promisor: true }); - } catch (t6) { - if (!((t7) => t7 instanceof o && "FILE_EXISTS" === t7.data.code)(t6)) throw t6; - } + const t5 = await Cc3(o5, k6); + xf3(o5.hashConfig.algorithm, t5.objectFormat, "fetch"); + const e7 = nd3(t5.advertisement.capabilities, o5.hashConfig.algorithm); + await ey2(o5, (e8, s8) => Tc3(e8, k6, t5.version, s8), { wants: g7, haves: [], capabilities: e7, progressOp: "fetch-missing:write-objects", promisor: true }); } finally { - await y6.close(); + await k6.close(); } - return { kind: "fetched", remote: w4, requested: n6.length, fetched: k8.length }; + return { kind: "fetched", remote: l4, requested: r8.length, fetched: g7.length }; }; -var g4 = async (e6, a6) => { - const s9 = await w3(e6, a6.oids); - if ("no-promisor" === s9.kind) throw G(); - return { remote: s9.remote, requested: s9.requested, fetched: s9.fetched }; +var w3 = async (t5, e7) => { + const s8 = await l2(t5, e7.oids); + if ("no-promisor" === s8.kind) throw Y(); + return { remote: s8.remote, requested: s8.requested, fetched: s8.fetched }; }; -var k4 = (t5) => ({ fetch: async (e6) => { - const a6 = await w3(t5, e6); - return "no-promisor" === a6.kind ? { attempted: false, requested: e6.length, fetched: 0 } : { attempted: true, requested: a6.requested, fetched: a6.fetched }; +var g3 = (t5) => ({ fetch: async (e7) => { + const s8 = await l2(t5, e7); + return "no-promisor" === s8.kind ? { attempted: false, requested: e7.length, fetched: 0 } : { attempted: true, requested: s8.requested, fetched: s8.fetched }; } }); // node_modules/@scolladon/tsgit/dist/esm/commands/name-rev.js -var v3 = async (s9, i7, e6 = {}) => { - await hc2(s9); - const r6 = await jd3(s9, i7 ?? "HEAD"), o6 = await Ui2(s9, r6), d5 = ow(o6.data.committer.timestamp), p5 = aw(Ud3(e6)), g7 = [...await dl2(s9)].filter((t5) => p5.qualifies(t5)).sort(), v8 = /* @__PURE__ */ new Map(); - for (const t5 of g7) await h3(s9, t5, v8, d5); - const l4 = v8.get(r6); - return void 0 === l4 ? { oid: r6, ref: void 0, tagDeref: false, steps: [] } : { oid: r6, ref: l4.ref, tagDeref: l4.tagDeref, steps: uw(l4) }; -}; -var h3 = async (t5, a6, s9, i7) => { - const e6 = await l3(t5, a6, s9, i7); - if (void 0 === e6) return; - const r6 = [e6]; - for (; r6.length > 0; ) { - const a7 = r6.pop(), e7 = s9.get(a7.id), o6 = await D5(t5, a7, e7, s9, i7); - for (let t6 = o6.length - 1; t6 >= 0; t6 -= 1) r6.push(o6[t6]); - } -}; -var l3 = async (t5, a6, e6, r6) => { - const o6 = await zr2(t5).resolveDirect(a6); - if ("direct" !== o6.kind) return; - const n6 = await Tw2(t5, o6.id); - if (void 0 === n6) return; - if (rw(n6.commit.data.committer.timestamp, r6)) return; - const c6 = Fm(n6.commit, await mu2(t5)), m5 = { ref: a6, tagDeref: n6.viaTag, fromTag: a6.startsWith("refs/tags/"), taggerDate: n6.viaTag ? n6.taggerDate : n6.commit.data.committer.timestamp, generation: 0, distance: 0, steps: [] }; - return j5(e6, c6.id, m5) ? c6 : void 0; -}; -var D5 = async (t5, a6, e6, n6, c6) => { - const f2 = await mu2(t5), d5 = [], p5 = a6.data.parents; - for (let a7 = 0; a7 < p5.length; a7 += 1) { - const g7 = p5[a7], u6 = 0 === a7 ? cw(e6) : dw(e6, a7 + 1); - if (!j5(n6, g7, u6)) continue; - const w4 = await Ui2(t5, g7); - if ("commit" !== w4.type) continue; - const v8 = Fm(w4, f2); - rw(v8.data.committer.timestamp, c6) || d5.push(v8); - } - return d5; -}; -var j5 = (t5, a6, s9) => { - const i7 = t5.get(a6); - return !(void 0 !== i7 && !sw(i7, s9) || (t5.set(a6, s9), 0)); +var h3 = async (s8, i11, e7 = {}) => { + await Gd2(s8); + const r8 = await cf3(s8, i11 ?? "HEAD"), o5 = await Ts2(s8, r8), g7 = by(o5.data.committer.timestamp), p6 = vy(of3(e7)), d6 = [...await yw2(s8)].filter((t5) => p6.qualifies(t5)).sort(), h5 = /* @__PURE__ */ new Map(); + for (const t5 of d6) await l3(s8, t5, h5, g7); + const v6 = h5.get(r8); + return void 0 === v6 ? { oid: r8, ref: void 0, tagDeref: false, steps: [] } : { oid: r8, ref: v6.ref, tagDeref: v6.tagDeref, steps: Ay(v6) }; +}; +var l3 = async (t5, a4, s8, i11) => { + const e7 = await v2(t5, a4, s8, i11); + if (void 0 === e7) return; + const r8 = [e7]; + for (; r8.length > 0; ) { + const a5 = r8.pop(), e8 = s8.get(a5.id), o5 = await D5(t5, a5, e8, s8, i11); + for (let t6 = o5.length - 1; t6 >= 0; t6 -= 1) r8.push(o5[t6]); + } +}; +var v2 = async (t5, a4, e7, r8) => { + const o5 = await md2(t5).resolveDirect(a4); + if ("direct" !== o5.kind) return; + const n7 = await nm2(t5, o5.id); + if (void 0 === n7) return; + if (Ey(n7.commit.data.committer.timestamp, r8)) return; + const c5 = Jp(n7.commit, await fl2(t5)), m7 = { ref: a4, tagDeref: n7.viaTag, fromTag: a4.startsWith("refs/tags/"), taggerDate: n7.viaTag ? n7.taggerDate : n7.commit.data.committer.timestamp, generation: 0, distance: 0, steps: [] }; + return j5(e7, c5.id, m7) ? c5 : void 0; +}; +var D5 = async (t5, a4, e7, n7, c5) => { + const f2 = await fl2(t5), g7 = [], p6 = a4.data.parents; + for (let a5 = 0; a5 < p6.length; a5 += 1) { + const d6 = p6[a5], u6 = 0 === a5 ? Oy(e7) : Ty(e7, a5 + 1); + if (!j5(n7, d6, u6)) continue; + const w6 = await Ts2(t5, d6); + if ("commit" !== w6.type) continue; + const h5 = Jp(w6, f2); + Ey(h5.data.committer.timestamp, c5) || g7.push(h5); + } + return g7; +}; +var j5 = (t5, a4, s8) => { + const i11 = t5.get(a4); + return !(void 0 !== i11 && !Iy(i11, s8) || (t5.set(a4, s8), 0)); }; // node_modules/@scolladon/tsgit/dist/esm/commands/describe.js -var x5 = "refs/tags/"; -async function O5(i7, r6, o6 = {}) { - if (await hc2(i7), true === o6.contains) return j6(i7, r6, Rd3(o6)); - const s9 = Od3(o6, void 0 !== r6), d5 = await Cr3(i7, r6 ?? "HEAD"), c6 = await M3(i7, s9), f2 = await C6(i7, s9), m5 = D6(s9), l4 = f2.get(d5); - if (void 0 !== l4 && l4.priority >= m5) return E5(l4.name, 0, d5, c6, s9.all); - if (0 === s9.maxCandidates) { - if (s9.always) return U5(d5, c6); - throw Je(d5); - } - const { best: p5, sawUnannotated: h6 } = await W4(i7, d5, f2, s9, m5); - if (void 0 !== p5) return E5(p5.name, p5.depth, d5, c6, s9.all); - if (s9.always) return U5(d5, c6); - if (0 === f2.size) throw Ye(d5); - throw h6 ? Xe(d5) : qe(d5); -} -var j6 = async (t5, a6, e6) => { - const n6 = !e6.all, r6 = (t6) => n6 ? t6.map((t7) => `${x5}${t7}`) : [], o6 = await v3(t5, a6, { tags: n6, refs: r6(e6.include), exclude: r6(e6.exclude) }); - if (void 0 === o6.ref && !e6.always) throw Qe(o6.oid); - return o6; -}; -var D6 = (t5) => t5.all ? 0 : t5.tags ? 1 : 2; -var E5 = (t5, a6, e6, n6, i7) => ({ tag: fr.from(i7 ? `refs/${t5}` : `${x5}${t5}`), name: t5, distance: a6, oid: e6, exact: 0 === a6, dirty: n6 }); -var U5 = (t5, a6) => ({ tag: void 0, name: "", distance: 0, oid: t5, exact: false, dirty: a6 }); -var M3 = async (t5, a6) => { - if (!a6.dirty && !a6.broken) return false; +var P5 = "refs/tags/"; +async function j6(r8, i11, o5 = {}) { + if (await Gd2(r8), true === o5.contains) return E5(r8, i11, sf3(o5)); + const s8 = nf3(o5, void 0 !== i11), d6 = await Qr3(r8, i11 ?? "HEAD"), c5 = await D6(r8, s8), f2 = await M3(r8, s8), m7 = O3(s8), p6 = f2.get(d6); + if (void 0 !== p6 && p6.priority >= m7) return U5(p6.name, 0, d6, c5, s8.all); + if (0 === s8.maxCandidates) { + if (s8.always) return C6(d6, c5); + throw rt(d6); + } + const { best: g7, sawUnannotated: l4 } = await T5(r8, d6, f2, s8, m7); + if (void 0 !== g7) return U5(g7.name, g7.depth, d6, c5, s8.all); + if (s8.always) return C6(d6, c5); + if (0 === f2.size) throw et(d6); + throw l4 ? tt(d6) : nt(d6); +} +var E5 = async (t5, a4, e7) => { + const n7 = !e7.all, i11 = (t6) => n7 ? t6.map((t7) => `${P5}${t7}`) : [], o5 = await h3(t5, a4, { tags: n7, refs: i11(e7.include), exclude: i11(e7.exclude) }); + if (void 0 === o5.ref && !e7.always) throw ot(o5.oid); + return o5; +}; +var O3 = (t5) => t5.all ? 0 : t5.tags ? 1 : 2; +var U5 = (t5, a4, e7, n7, r8) => ({ tag: yr.from(r8 ? `refs/${t5}` : `${P5}${t5}`), name: t5, distance: a4, oid: e7, exact: 0 === a4, dirty: n7 }); +var C6 = (t5, a4) => ({ tag: void 0, name: "", distance: 0, oid: t5, exact: false, dirty: a4 }); +var D6 = async (t5, a4) => { + if (!a4.dirty && !a4.broken) return false; try { - const a7 = await Pd3(t5); - return a7.changes.length > 0 || a7.unmerged.length > 0; + const a5 = await uf3(t5); + return a5.changes.length > 0 || a5.unmerged.length > 0; } catch (t6) { - if (a6.broken) return true; - if (t6 instanceof o && "WORK_TREE_REQUIRED" === t6.data.code) throw uf("describe --dirty"); + if (a4.broken) return true; + if (t6 instanceof c && "WORK_TREE_REQUIRED" === t6.data.code) throw Gf("describe --dirty"); throw t6; } }; -var C6 = async (t5, a6) => { - const e6 = [...await dl2(t5)].filter((t6) => "HEAD" !== t6 && (a6.all || t6.startsWith(x5))).sort(), n6 = Zp(a6.include, a6.exclude), i7 = zr2(t5), r6 = /* @__PURE__ */ new Map(); - for (const o6 of e6) { - const e7 = await i7.resolveDirect(o6); - if ("direct" !== e7.kind) continue; - const s9 = await Tw2(t5, e7.id); - if (void 0 === s9) continue; - const f2 = ew(o6, a6.all); - if (!n6.matches(f2)) continue; - const m5 = $4(o6, f2, s9), u6 = r6.get(s9.commit.id); - (void 0 === u6 || tw(u6, m5)) && r6.set(s9.commit.id, m5); - } - return r6; -}; -var $4 = (t5, a6, e6) => ({ name: a6, priority: t5.startsWith(x5) ? e6.viaTag ? 2 : 1 : 0, taggerDate: e6.taggerDate }); -var L5 = (t5) => { - const { step: a6, candidates: e6, reach: n6, tally: i7 } = t5, r6 = a6.commit.id, o6 = t5.nameMap.get(r6); - if (void 0 !== o6) { - const a7 = ((t6, a8, e7, n7, i8, r7) => { - if (t6.priority < a8) return { annotated: 0, skippedLowPriority: true }; - const o7 = i8.length; - return i8.push({ name: t6.name, commitOid: e7, depth: n7, foundOrder: o7 }), K4(r7, e7).add(o7), { annotated: 2 === t6.priority ? 1 : 0, skippedLowPriority: false }; - })(o6, t5.minPriority, r6, t5.depth, e6, n6); - i7.annotatedCount += a7.annotated, i7.sawUnannotated = i7.sawUnannotated || a7.skippedLowPriority; - } - return H5(e6, n6.get(r6)), I5(n6, a6.commit, t5.firstParent), ((t6, a7, e7, n7) => t6 > 0 && a7.frontierEmpty && ((t7, a8) => { - if (void 0 === a8) return false; - const e8 = Math.min(...t7.map((t8) => t8.depth)); - return t7.every((t8) => t8.depth !== e8 || a8.has(t8.foundOrder)); - })(e7, n7))(i7.annotatedCount, a6, e6, n6.get(r6)); -}; -var R6 = (t5, a6, e6) => t5.length === a6 || t5.length === e6; -var T5 = (t5, a6, e6, n6) => (A5(t5, e6.commit, a6, n6), ((t6, a7, e7, n7) => true === t6.get(n7)?.has(a7.foundOrder) && e7.frontier().every((e8) => true === t6.get(e8)?.has(a7.foundOrder)))(t5, a6, e6, e6.commit.id)); -var W4 = async (t5, a6, e6, n6, i7) => { - const r6 = e6.size, o6 = /* @__PURE__ */ new Map(), s9 = []; - let d5 = 0; - const c6 = { annotatedCount: 0, sawUnannotated: false }; +var M3 = async (t5, a4) => { + const e7 = [...await yw2(t5)].filter((t6) => "HEAD" !== t6 && (a4.all || t6.startsWith(P5))).sort(), n7 = my(a4.include, a4.exclude), r8 = md2(t5), i11 = /* @__PURE__ */ new Map(); + for (const o5 of e7) { + const e8 = await r8.resolveDirect(o5); + if ("direct" !== e8.kind) continue; + const s8 = await nm2(t5, e8.id); + if (void 0 === s8) continue; + const f2 = py(o5, a4.all); + if (!n7.matches(f2)) continue; + const m7 = $5(o5, f2, s8), u6 = i11.get(s8.commit.id); + (void 0 === u6 || wy(u6, m7)) && i11.set(s8.commit.id, m7); + } + return i11; +}; +var $5 = (t5, a4, e7) => ({ name: a4, priority: t5.startsWith(P5) ? e7.viaTag ? 2 : 1 : 0, taggerDate: e7.taggerDate }); +var R6 = (t5) => { + const { step: a4, candidates: e7, reach: n7, tally: r8 } = t5, i11 = a4.commit.id, o5 = t5.nameMap.get(i11); + if (void 0 !== o5) { + const a5 = ((t6, a6, e8, n8, r9, i12) => { + if (t6.priority < a6) return { annotated: 0, skippedLowPriority: true }; + const o6 = r9.length; + return r9.push({ name: t6.name, commitOid: e8, depth: n8, foundOrder: o6 }), S3(i12, e8).add(o6), { annotated: 2 === t6.priority ? 1 : 0, skippedLowPriority: false }; + })(o5, t5.minPriority, i11, t5.depth, e7, n7); + r8.annotatedCount += a5.annotated, r8.sawUnannotated = r8.sawUnannotated || a5.skippedLowPriority; + } + return A5(e7, n7.get(i11)), I5(n7, a4.commit, t5.firstParent), ((t6, a5, e8, n8) => t6 > 0 && a5.frontierEmpty && ((t7, a6) => { + if (void 0 === a6) return false; + const e9 = Math.min(...t7.map((t8) => t8.depth)); + return t7.every((t8) => t8.depth !== e9 || a6.has(t8.foundOrder)); + })(e8, n8))(r8.annotatedCount, a4, e7, n7.get(i11)); +}; +var H5 = (t5, a4, e7) => t5.length === a4 || t5.length === e7; +var L5 = (t5, a4, e7, n7) => (z5(t5, e7.commit, a4, n7), ((t6, a5, e8, n8) => true === t6.get(n8)?.has(a5.foundOrder) && e8.frontier().every((e9) => true === t6.get(e9)?.has(a5.foundOrder)))(t5, a4, e7, e7.commit.id)); +var T5 = async (t5, a4, e7, n7, r8) => { + const i11 = e7.size, o5 = /* @__PURE__ */ new Map(), s8 = []; + let d6 = 0; + const c5 = { annotatedCount: 0, sawUnannotated: false }; let f2; - for await (const m5 of Ow2(t5, { from: [a6], firstParent: n6.firstParent })) { - if (void 0 === f2 && R6(s9, n6.maxCandidates, r6) && (f2 = z5(s9), void 0 === f2)) break; + for await (const m7 of Zp2(t5, { from: [a4], firstParent: n7.firstParent })) { + if (void 0 === f2 && H5(s8, n7.maxCandidates, i11) && (f2 = W4(s8), void 0 === f2)) break; if (void 0 === f2) { - if (d5 += 1, L5({ step: m5, depth: d5 - 1, nameMap: e6, minPriority: i7, candidates: s9, reach: o6, tally: c6, firstParent: n6.firstParent })) break; - } else if (T5(o6, f2, m5, n6.firstParent)) break; + if (d6 += 1, R6({ step: m7, depth: d6 - 1, nameMap: e7, minPriority: r8, candidates: s8, reach: o5, tally: c5, firstParent: n7.firstParent })) break; + } else if (L5(o5, f2, m7, n7.firstParent)) break; } - return { best: f2 ?? z5(s9), sawUnannotated: c6.sawUnannotated }; + return { best: f2 ?? W4(s8), sawUnannotated: c5.sawUnannotated }; }; -var z5 = (t5) => [...t5].sort(Jp)[0]; -var A5 = (t5, a6, e6, n6) => { - H5([e6], t5.get(a6.id)), I5(t5, a6, n6); +var W4 = (t5) => [...t5].sort(hy)[0]; +var z5 = (t5, a4, e7, n7) => { + A5([e7], t5.get(a4.id)), I5(t5, a4, n7); }; -var H5 = (t5, a6) => { - for (const e6 of t5) void 0 !== a6 && a6.has(e6.foundOrder) || (e6.depth += 1); +var A5 = (t5, a4) => { + for (const e7 of t5) void 0 !== a4 && a4.has(e7.foundOrder) || (e7.depth += 1); }; -var I5 = (t5, a6, e6) => { - const n6 = t5.get(a6.id); - if (void 0 !== n6) for (const i7 of Ew2(a6, e6)) { - const a7 = K4(t5, i7); - for (const t6 of n6) a7.add(t6); +var I5 = (t5, a4, e7) => { + const n7 = t5.get(a4.id); + if (void 0 !== n7) for (const r8 of Xp2(a4, e7)) { + const a5 = S3(t5, r8); + for (const t6 of n7) a5.add(t6); } }; -var K4 = (t5, a6) => { - let e6 = t5.get(a6); - return void 0 === e6 && (e6 = /* @__PURE__ */ new Set(), t5.set(a6, e6)), e6; +var S3 = (t5, a4) => { + let e7 = t5.get(a4); + return void 0 === e7 && (e7 = /* @__PURE__ */ new Set(), t5.set(a4, e7)), e7; }; // node_modules/@scolladon/tsgit/dist/esm/commands/diff.js -async function o3(o6, r6 = {}) { - await hc2(o6); - const a6 = await Nd3(o6, r6.from ?? "HEAD"), s9 = void 0 !== r6.to ? await Nd3(o6, r6.to) : void 0; - await Wc2(o6); - const c6 = (function(e6, i7) { - const n6 = e6.detectRenames ?? i7?.detectRenames, t5 = e6.ignoreWhitespace ?? i7?.ignoreWhitespace; - return { ...true === n6 ? { detectRenames: true } : {}, ...void 0 !== e6.renameOptions ? { renameOptions: e6.renameOptions } : {}, ...true === e6.recursive ? { recursive: true } : {}, ...true === e6.withStat ? { withStat: true } : {}, ...void 0 !== t5 ? { ignoreWhitespace: t5 } : {}, ...true === (e6.ignoreCrAtEol ?? i7?.ignoreCrAtEol) ? { ignoreCrAtEol: true } : {}, ...true === (e6.ignoreBlankLines ?? i7?.ignoreBlankLines) ? { ignoreBlankLines: true } : {} }; - })(r6, o6.config); - return Sf2(o6, a6, s9, c6); +async function o3(o5, r8 = {}) { + await Gd2(o5); + const s8 = await df3(o5, r8.from ?? "HEAD"), a4 = void 0 !== r8.to ? await df3(o5, r8.to) : void 0; + await bu2(o5); + const c5 = (function(e7, t5) { + const i11 = e7.detectRenames ?? t5?.detectRenames, n7 = e7.ignoreWhitespace ?? t5?.ignoreWhitespace; + return { ...true === i11 ? { detectRenames: true } : {}, ...void 0 !== e7.renameOptions ? { renameOptions: e7.renameOptions } : {}, ...true === e7.recursive ? { recursive: true } : {}, ...true === e7.withStat ? { withStat: true } : {}, ...void 0 !== n7 ? { ignoreWhitespace: n7 } : {}, ...true === (e7.ignoreCrAtEol ?? t5?.ignoreCrAtEol) ? { ignoreCrAtEol: true } : {}, ...true === (e7.ignoreBlankLines ?? t5?.ignoreBlankLines) ? { ignoreBlankLines: true } : {} }; + })(r8, o5.config); + return vh2(o5, s8, a4, c5); } // node_modules/@scolladon/tsgit/dist/esm/commands/fetch.js -var x6 = "fetch:negotiate"; -var A6 = async (t5, s9 = {}) => { - await hc2(t5); - const e6 = await mc2(t5), i7 = pc2(e6), r6 = void 0 !== i7 ? lw(i7) : void 0, n6 = await Hi2(t5), o6 = Xd3(n6, s9.remote, r6), { url: l4, filter: c6 } = await N4(t5, o6); - t5.progress.start(x6); +var $6 = "fetch:negotiate"; +var x5 = async (t5, s8 = {}) => { + await Gd2(t5); + const e7 = await qd2(t5), i11 = Vd2(e7), r8 = void 0 !== i11 ? $y(i11) : void 0, n7 = await sr2(t5), o5 = If3(n7, s8.remote, r8), { url: l4, filter: c5 } = await H6(t5, o5); + t5.progress.start($6); try { - return await H6(t5, s9, o6, l4, c6); + return await M4(t5, s8, o5, l4, c5); } finally { - t5.progress.end(x6); + t5.progress.end($6); } }; -var H6 = async (a6, t5, s9, e6, i7) => { - const r6 = Ec3(a6, e6, "git-upload-pack"); +var M4 = async (a4, t5, s8, e7, i11) => { + const r8 = Jc3(a4, e7, "git-upload-pack"); try { - return await S4(a6, t5, s9, e6, i7, r6); + return await N4(a4, t5, s8, e7, i11, r8); } finally { - await r6.close(); - } -}; -var S4 = async (a6, t5, s9, e6, n6, o6) => { - const l4 = await tc3(a6, o6); - Jd3(a6.hashConfig.algorithm, l4.objectFormat, "fetch"); - const c6 = l4.advertisement; - if (0 === c6.refs.length) throw V(); - if (void 0 !== n6 && !jc3(c6.capabilities)) throw Ua(); - const f2 = Sc3(c6.capabilities, a6.hashConfig.algorithm), d5 = Uc3(c6.refs); - if (void 0 === n6 && void 0 === t5.depth && await q5(a6, d5)) return M4(a6, t5, s9, e6, c6, [], []); - const h6 = await U6(a6, s9), u6 = await gl2(a6, (a7, t6) => ac3(a7, o6, l4.version, t6), { wants: d5, haves: h6, capabilities: f2, progressOp: "fetch:write-objects", ...void 0 !== t5.depth ? { depth: t5.depth } : {}, ...void 0 !== n6 ? { filter: n6, promisor: true } : {} }); - return (u6.shallow.length > 0 || u6.unshallow.length > 0) && await xh2(a6, { shallow: u6.shallow, unshallow: u6.unshallow }), M4(a6, t5, s9, e6, c6, u6.shallow, u6.unshallow); -}; -var q5 = async (a6, t5) => { - for (const s9 of t5) if (!await _w2(a6, s9)) return false; + await r8.close(); + } +}; +var N4 = async (a4, t5, s8, e7, n7, o5) => { + const l4 = await Cc3(a4, o5); + xf3(a4.hashConfig.algorithm, l4.objectFormat, "fetch"); + const c5 = l4.advertisement; + if (0 === c5.refs.length) throw K(); + if (void 0 !== n7 && !od3(c5.capabilities)) throw Za(); + const f2 = nd3(c5.capabilities, a4.hashConfig.algorithm), d6 = rd3(c5.refs); + if (void 0 === n7 && void 0 === t5.depth && await z6(a4, d6)) return A6(a4, t5, s8, e7, c5, [], []); + const h5 = await K4(a4, s8), u6 = await ey2(a4, (a5, t6) => Tc3(a5, o5, l4.version, t6), { wants: d6, haves: h5, capabilities: f2, progressOp: "fetch:write-objects", ...void 0 !== t5.depth ? { depth: t5.depth } : {}, ...void 0 !== n7 ? { filter: n7, promisor: true } : {} }); + return (u6.shallow.length > 0 || u6.unshallow.length > 0) && await ip2(a4, { shallow: u6.shallow, unshallow: u6.unshallow }), A6(a4, t5, s8, e7, c5, u6.shallow, u6.unshallow); +}; +var z6 = async (a4, t5) => { + for (const s8 of t5) if (!await im2(a4, s8)) return false; return true; }; -var M4 = async (a6, t5, s9, e6, i7, r6, n6) => ({ remote: s9, url: e6, updatedRefs: await B5(a6, s9, i7), prunedRefs: true === t5.prune ? await K5(a6, s9, i7) : [], shallow: r6, unshallow: n6 }); -var N4 = async (a6, i7) => { - tf3(i7); - const r6 = await Hi2(a6), n6 = r6.remote?.get(i7); - if (void 0 === n6?.url || "" === n6.url) throw await Al2(a6, "remote", i7, ["url"]), ee(i7); - const o6 = void 0 !== n6.partialCloneFilter ? Ka(za(n6.partialCloneFilter)) : void 0; - return { url: n6.url, filter: o6 }; -}; -var U6 = async (a6, t5) => { - const s9 = await z6(a6, t5); - if (0 === s9.length) return []; - const e6 = /* @__PURE__ */ new Set(), i7 = []; - for (const a7 of s9) if (!e6.has(a7) && (e6.add(a7), i7.push(a7), i7.length >= lo2)) return i7; - const r6 = s9.slice(0, uo2); - for await (const t6 of nl2(a6, { from: r6, ignoreMissing: true, verifyHash: false })) if (!e6.has(t6.id) && (e6.add(t6.id), i7.push(t6.id), i7.length >= lo2)) break; - return i7; -}; -var z6 = async (a6, t5) => { - const s9 = zr2(a6), e6 = await s9.listRefs(`refs/remotes/${t5}/`), i7 = await s9.listRefs("refs/tags/"), r6 = []; - for (const a7 of [...e6, ...i7]) "direct" === a7.value.kind && r6.push(a7.value.id); - return r6; -}; -var B5 = async (a6, t5, s9) => { - const e6 = []; - for (const i7 of s9.refs) { - const s10 = G6(t5, i7); - if (void 0 === s10) continue; - const r6 = await J4(a6, s10); - r6 !== i7.id ? (await nc2(a6, s10, i7.id, { reflogMessage: Qh(t5) }), e6.push({ name: s10, oldId: r6, newId: i7.id })) : e6.push({ name: s10, oldId: r6, newId: i7.id }); - } - return e6; -}; -var G6 = (a6, t5) => { - if ("HEAD" !== t5.name && tu(t5.name)) { - if (t5.name.startsWith(Ep)) { - const s9 = `refs/remotes/${a6}/${t5.name.slice(Ep.length)}`; - if (!tu(s9)) return; - return s9; +var A6 = async (a4, t5, s8, e7, i11, r8, n7) => ({ remote: s8, url: e7, updatedRefs: await _3(a4, s8, i11), prunedRefs: true === t5.prune ? await J5(a4, s8, i11) : [], shallow: r8, unshallow: n7 }); +var H6 = async (a4, i11) => { + Df3(i11); + const r8 = await sr2(a4), n7 = r8.remote?.get(i11); + if (void 0 === n7?.url || "" === n7.url) throw await ky2(a4, "remote", i11, ["url"]), se(i11); + const o5 = void 0 !== n7.partialCloneFilter ? lc(uc(n7.partialCloneFilter)) : void 0; + return { url: n7.url, filter: o5 }; +}; +var K4 = async (a4, t5) => { + const s8 = await U6(a4, t5); + if (0 === s8.length) return []; + const e7 = /* @__PURE__ */ new Set(), i11 = []; + for (const a5 of s8) if (!e7.has(a5) && (e7.add(a5), i11.push(a5), i11.length >= oi2)) return i11; + const r8 = s8.slice(0, ni2); + for await (const t6 of iw2(a4, { from: r8, ignoreMissing: true })) if (!e7.has(t6.id) && (e7.add(t6.id), i11.push(t6.id), i11.length >= oi2)) break; + return i11; +}; +var U6 = async (a4, t5) => { + const s8 = md2(a4), e7 = await s8.listRefs(`refs/remotes/${t5}/`), i11 = await s8.listRefs("refs/tags/"), r8 = []; + for (const a5 of [...e7, ...i11]) "direct" === a5.value.kind && r8.push(a5.value.id); + return r8; +}; +var _3 = async (a4, t5, s8) => { + const e7 = []; + for (const i11 of s8.refs) { + const s9 = q5(t5, i11); + if (void 0 === s9) continue; + const r8 = await G6(a4, s9); + r8 !== i11.id ? (await Md2(a4, s9, i11.id, { reflogMessage: cm(t5) }), e7.push({ name: s9, oldId: r8, newId: i11.id })) : e7.push({ name: s9, oldId: r8, newId: i11.id }); + } + return e7; +}; +var q5 = (a4, t5) => { + if ("HEAD" !== t5.name && Lu(t5.name)) { + if (t5.name.startsWith(Lw)) { + const s8 = `refs/remotes/${a4}/${t5.name.slice(Lw.length)}`; + if (!Lu(s8)) return; + return s8; } return t5.name.startsWith("refs/tags/") ? t5.name : void 0; } }; -var J4 = async (a6, t5) => { - eu(t5); - const s9 = await zr2(a6).resolveDirect(t5); - return "direct" === s9.kind ? s9.id : void 0; +var G6 = async (a4, t5) => { + Nu(t5); + const s8 = await md2(a4).resolveDirect(t5); + return "direct" === s8.kind ? s8.id : void 0; }; -var K5 = async (a6, t5, s9) => { - const e6 = new Set(s9.refs.filter((a7) => a7.name.startsWith(Ep)).map((a7) => a7.name.slice(Ep.length))), i7 = `refs/remotes/${t5}/`, r6 = await zr2(a6).listRefs(i7), l4 = []; - for (const t6 of r6) { - const s10 = t6.name.slice(i7.length); - if (!e6.has(s10)) { +var J5 = async (a4, t5, s8) => { + const e7 = new Set(s8.refs.filter((a5) => a5.name.startsWith(Lw)).map((a5) => a5.name.slice(Lw.length))), i11 = `refs/remotes/${t5}/`, r8 = await md2(a4).listRefs(i11), l4 = []; + for (const t6 of r8) { + const s9 = t6.name.slice(i11.length); + if (!e7.has(s9)) { try { - await nc2(a6, t6.name, cr(a6.hashConfig), { delete: true }); - } catch (s11) { - if (Q3(s11)) { - a6.logger?.warn?.("fetch.prune: skipping packed-only ref", { name: t6.name }); + await Md2(a4, t6.name, gr(a4.hashConfig), { delete: true }); + } catch (s10) { + if (L6(s10)) { + a4.logger?.warn?.("fetch.prune: skipping packed-only ref", { name: t6.name }); continue; } - throw s11; + throw s10; } l4.push(t6.name); } } return l4; }; -var Q3 = (a6) => a6 instanceof o && "UNSUPPORTED_OPERATION" === a6.data.code && "delete-packed-ref" === a6.data.operation; +var L6 = (a4) => a4 instanceof c && "UNSUPPORTED_OPERATION" === a4.data.code && "delete-packed-ref" === a4.data.operation; // node_modules/@scolladon/tsgit/dist/esm/commands/fsck.js -async function k5(k8, j9 = {}) { - await hc2(k8); - const v8 = Object.freeze({ ...k8, deltaCache: { get: () => { +async function k4(k6, j9 = {}) { + await Gd2(k6); + const v6 = bw2(k6, { deltaCache: { get: () => { }, set: () => { }, has: () => false, delete: () => false, clear: () => { - }, currentSize: 0, maxSize: 0, entryCount: 0 } }); - Ni2(k8, v8); - const B6 = await Fw2(k8, { includePacks: false !== j9.full, accessiblePacksOnly: If3(j9) }), C7 = new Set(B6), O8 = true === j9.connectivityOnly ? "classify" : "skip", { cache: z7, unrecoverable: R10, recovered: P5 } = await kf3(v8, C7, O8), S6 = true === j9.connectivityOnly ? /* @__PURE__ */ new Map() : of3(C7, z7), E7 = true === j9.connectivityOnly ? { findings: [], exitBit: 0 } : await df3(v8, C7, true === j9.strict, S6), I10 = false !== j9.full && !If3(j9), M5 = await Pf3(k8, C7, false !== j9.checkReferences, I10), T7 = await Ef3(k8, j9), A10 = await Lf3(k8), L7 = await uf3(k8), N8 = await nf3(k8), { roots: Q4, missingEntryPoint: U7, sawAbsentRefTarget: V4 } = await zf3(k8, j9, C7); - (Q4.size > 0 || V4) && await Wc2(k8); - const W6 = U7 ? af3 : 0, X5 = Tf3(C7, z7), { reached: Y5, missingIds: Z4, brokenEdges: $6, rootCommits: _5, tagRefs: q6 } = Af3(C7, Q4, z7), { unreachable: D8, dangling: F6 } = Rf3(C7, Y5, X5); - return $f3(k8, D8, R10), { findings: [...E7.findings, ...M5.findings, ...T7.findings, ...A10.findings, ...L7.findings, ...N8.findings, ...jf3({ missingIds: Z4, brokenEdges: $6, unreachable: D8, dangling: F6, rootCommits: _5, tagRefs: q6 }, { objectCache: z7, recovered: P5, unreadable: O8 })], exitCode: E7.exitBit | (Z4.size > 0 || $6.length > 0 ? ef3 : 0) | M5.exitBit | T7.exitBit | A10.exitBit | L7.exitBit | N8.exitBit | W6 }; + }, currentSize: 0, maxSize: 0, entryCount: 0 } }), B6 = await sm2(k6, { includePacks: false !== j9.full, accessiblePacksOnly: Qf3(j9) }), C8 = new Set(B6), O6 = true === j9.connectivityOnly ? "classify" : "skip", { cache: R10, unrecoverable: z7, recovered: P6 } = await Yf3(v6, C8, O6), S6 = true === j9.connectivityOnly ? /* @__PURE__ */ new Map() : Nf3(C8, R10), E7 = true === j9.connectivityOnly ? { findings: [], exitBit: 0 } : await Mf3(v6, C8, true === j9.strict, S6), I10 = false !== j9.full && !Qf3(j9), M5 = await wu3(k6, C8, false !== j9.checkReferences, I10), T7 = await Zf3(k6, j9), A10 = await lu3(k6), K5 = await _f3(k6), L8 = await Af3(k6), { roots: N7, missingEntryPoint: Q5, sawAbsentRefTarget: U7 } = await Eu3(k6, j9, C8); + (N7.size > 0 || U7) && await bu2(k6); + const V4 = Q5 ? Hf3 : 0, W6 = au3(C8, R10), { reached: X4, missingIds: Y5, brokenEdges: Z4, rootCommits: $8, tagRefs: _6 } = iu3(C8, N7, R10), { unreachable: q7, dangling: D8 } = nu3(C8, X4, W6); + return Jf3(k6, q7, z7), { findings: [...E7.findings, ...M5.findings, ...T7.findings, ...A10.findings, ...K5.findings, ...L8.findings, ...du3({ missingIds: Y5, brokenEdges: Z4, unreachable: q7, dangling: D8, rootCommits: $8, tagRefs: _6 }, { objectCache: R10, recovered: P6, unreadable: O6 })], exitCode: E7.exitBit | (Y5.size > 0 || Z4.length > 0 ? Tf3 : 0) | M5.exitBit | T7.exitBit | A10.exitBit | K5.exitBit | L8.exitBit | V4 }; } // node_modules/@scolladon/tsgit/dist/esm/commands/grep.js -var y3 = (t5) => t5 === Wt.REGULAR || t5 === Wt.EXECUTABLE; -async function v4(n6, v8) { - if (await hc2(n6), 0 === v8.patterns.length) throw oe("patterns", "at least one pattern required"); - const g7 = xy(v8.patterns, { ...true === v8.wholeWord ? { wholeWord: true } : {}, ...true === v8.invert ? { invert: true } : {} }), b5 = xy(v8.patterns, { ...true === v8.wholeWord ? { wholeWord: true } : {} }), j9 = void 0 !== v8.paths && v8.paths.length > 0 ? Bn(v8.paths) : void 0, E7 = await (async function(t5, a6) { - const { target: s9 } = a6; - if (void 0 === s9) return (async (t6, a7) => { - const s10 = await Cd2(t6), n8 = []; - for (const r7 of s10.entries) { - if (0 !== r7.flags.stage) continue; - if (!y3(r7.mode)) continue; - const s11 = bc2(a7, r7.path), i7 = await t6.fs.lstat(s11).catch(() => { +var w4 = (t5) => t5 === Qt.REGULAR || t5 === Qt.EXECUTABLE; +async function g4(n7, g7) { + if (await Gd2(n7), 0 === g7.patterns.length) throw de("patterns", "at least one pattern required"); + const y5 = jE(g7.patterns, { ...true === g7.wholeWord ? { wholeWord: true } : {}, ...true === g7.invert ? { invert: true } : {} }), v6 = jE(g7.patterns, { ...true === g7.wholeWord ? { wholeWord: true } : {} }), j9 = void 0 !== g7.paths && g7.paths.length > 0 ? mr3(g7.paths) : void 0, b5 = await (async function(t5, a4) { + const { target: s8 } = a4; + if (void 0 === s8) return (async (t6, a5) => { + const s9 = await hf2(t6), n9 = []; + for (const r9 of s9.entries) { + if (0 !== r9.flags.stage) continue; + if (!w4(r9.mode)) continue; + const s10 = Jd2(a5, r9.path), i11 = await t6.fs.lstat(s10).catch(() => { }); - void 0 === i7 || i7.isDirectory || i7.isSymbolicLink || n8.push({ path: r7.path, load: () => t6.fs.read(s11) }); - } - return n8; - })(t5, wc2(t5, "grep")); - if ("index" === s9) return (async (t6) => (await Cd2(t6)).entries.filter((t7) => 0 === t7.flags.stage && y3(t7.mode)).map((a7) => ({ path: a7.path, load: async () => (await Bc2(t6, a7.id)).content })))(t5); - const n7 = await Nd3(t5, s9.treeish), r6 = []; - for await (const { path: a7, id: s10, mode: i7 } of yd2(t5, n7, { recursive: true })) { - if (!y3(i7)) continue; - const n8 = s10; - r6.push({ path: a7, load: async () => (await Bc2(t5, n8)).content }); - } - return r6; - })(n6, v8), L7 = void 0 !== j9 ? E7.filter(({ path: t5 }) => vi(j9.matcher, t5)) : E7, k8 = await Eu2(L7, Du2, async (t5) => (function(t6, a6, s9, n7) { - if (ts(n7)) { - if (!a6.matchLine(n7.subarray(0, Xo)).returned) return; - return { path: s9, hits: [], binaryMatch: true }; - } - const o6 = es(n7), c6 = []; - if (o6.forEach((a7, s10) => { - const n8 = t6.matchLine(a7); - n8.returned && c6.push({ lineNumber: s10 + 1, line: a7, spans: n8.spans }); - }), 0 !== c6.length) return { path: s9, hits: c6, binaryMatch: false }; - })(g7, b5, t5.path, await t5.load())); - return { paths: k8.filter((t5) => void 0 !== t5) }; + void 0 === i11 || i11.isDirectory || i11.isSymbolicLink || n9.push({ path: r9.path, load: () => t6.fs.read(s10) }); + } + return n9; + })(t5, Kd2(t5, "grep")); + if ("index" === s8) return (async (t6) => (await hf2(t6)).entries.filter((t7) => 0 === t7.flags.stage && w4(t7.mode)).map((a5) => ({ path: a5.path, load: async () => (await gu2(t6, a5.id)).content })))(t5); + const n8 = await df3(t5, s8.treeish), r8 = []; + for await (const { path: a5, id: s9, mode: i11 } of af2(t5, n8, { recursive: true })) { + if (!w4(i11)) continue; + const n9 = s9; + r8.push({ path: a5, load: async () => (await gu2(t5, n9)).content }); + } + return r8; + })(n7, g7), k6 = void 0 !== j9 ? b5.filter(({ path: t5 }) => Vi(j9.matcher, t5)) : b5, E7 = await Lo2(n7, "ioBound", k6, async (t5) => (function(t6, a4, s8, n8) { + if (Es(n8)) { + if (!a4.matchLine(n8.subarray(0, hs)).returned) return; + return { path: s8, hits: [], binaryMatch: true }; + } + const o5 = ys(n8), c5 = []; + if (o5.forEach((a5, s9) => { + const n9 = t6.matchLine(a5); + n9.returned && c5.push({ lineNumber: s9 + 1, line: a5, spans: n9.spans }); + }), 0 !== c5.length) return { path: s8, hits: c5, binaryMatch: false }; + })(y5, v6, t5.path, await t5.load())); + return { paths: E7.filter((t5) => void 0 !== t5) }; } // node_modules/@scolladon/tsgit/dist/esm/commands/init.js -var a4 = async (a6, r6 = {}) => { - const o6 = r6.initialBranch ?? "main", n6 = r6.bare ?? false; - if (await a6.fs.exists(`${a6.layout.gitDir}/HEAD`)) throw hf(a6.layout.gitDir); - const s9 = await Yo3(a6, { initialBranch: o6, bare: n6, ...void 0 !== r6.objectFormat ? { objectFormat: r6.objectFormat } : {} }); - return { path: s9.gitDir, initialBranch: s9.initialBranch, bare: s9.bare }; +var r4 = async (r8, a4 = {}) => { + const o5 = a4.initialBranch ?? "main", n7 = a4.bare ?? false; + if (await r8.fs.exists(`${r8.layout.gitDir}/HEAD`)) throw jf(r8.layout.gitDir); + const s8 = await xc3(r8, { initialBranch: o5, bare: n7, ...void 0 !== a4.objectFormat ? { objectFormat: a4.objectFormat } : {} }); + return { path: s8.gitDir, initialBranch: s8.initialBranch, bare: s8.bare }; }; // node_modules/@scolladon/tsgit/dist/esm/commands/log.js -var i4 = (t5, a6) => !(void 0 !== a6.minParents && t5 < a6.minParents || void 0 !== a6.maxParents && t5 > a6.maxParents); -var s5 = async (s9, o6 = {}) => { - await hc2(s9); - const m5 = await jd3(s9, o6.rev ?? "HEAD"), n6 = await Promise.all((o6.excluding ?? []).map((t5) => jd3(s9, t5))), d5 = o6.before, p5 = "first-parent" === o6.order ? nl2(s9, { from: [m5], until: n6, order: "first-parent" }) : em2(s9, { from: [m5], until: n6 }), c6 = []; +var i6 = (t5, a4) => !(void 0 !== a4.minParents && t5 < a4.minParents || void 0 !== a4.maxParents && t5 > a4.maxParents); +var s4 = async (s8, o5 = {}) => { + await Gd2(s8); + const m7 = await cf3(s8, o5.rev ?? "HEAD"), n7 = await Promise.all((o5.excluding ?? []).map((t5) => cf3(s8, t5))), d6 = o5.before, p6 = "first-parent" === o5.order ? iw2(s8, { from: [m7], until: n7, order: "first-parent" }) : Om2(s8, { from: [m7], until: n7 }), c5 = []; let u6 = 0; - for await (const t5 of p5) if (!(void 0 !== d5 && t5.data.committer.timestamp >= d5.getTime() / 1e3) && i4(t5.data.parents.length, o6) && (c6.push({ id: t5.id, tree: t5.data.tree, parents: t5.data.parents, author: t5.data.author, committer: t5.data.committer, message: t5.data.message }), u6 += 1, void 0 !== o6.limit && u6 >= o6.limit)) break; - return c6; + for await (const t5 of p6) if (!(void 0 !== d6 && t5.data.committer.timestamp >= d6.getTime() / 1e3) && i6(t5.data.parents.length, o5) && (c5.push({ id: t5.id, tree: t5.data.tree, parents: t5.data.parents, author: t5.data.author, committer: t5.data.committer, message: t5.data.message }), u6 += 1, void 0 !== o5.limit && u6 >= o5.limit)) break; + return c5; +}; + +// node_modules/@scolladon/tsgit/dist/esm/commands/maintenance.js +var n5 = /* @__PURE__ */ new Set(["commit-graph", "gc"]); +var i7 = async (t5) => { + const { commitCount: s8 } = await cg2(t5); + return { commitGraphWritten: s8 > 0, commitsInGraph: s8 }; +}; +var m4 = async (a4, m7) => { + await Gd2(a4), ((s8) => { + if (0 === s8.length) throw de("tasks", "at least one task required"); + for (const a5 of s8) if (!n5.has(a5)) throw de("tasks", `'${a5}' is not a valid task`); + })(m7.tasks); + let c5 = { commitGraphWritten: false, commitsInGraph: 0 }, e7 = { ran: false, result: im3 }; + const p6 = []; + for (const t5 of (function(t6) { + const s8 = /* @__PURE__ */ new Set(), a5 = []; + for (const o5 of t6) s8.has(o5) || (s8.add(o5), a5.push(o5)); + return a5; + })(m7.tasks)) "commit-graph" !== t5 ? (e7 = await vm3(a4, { auto: m7.auto }), e7.ran && p6.push("gc")) : (c5 = await i7(a4), p6.push("commit-graph")); + return { tasksRun: p6, ...c5, ...e7.result }; }; // node_modules/@scolladon/tsgit/dist/esm/commands/mv.js -var D7 = async (r6, i7, e6, n6 = {}) => { - await hc2(r6), wc2(r6, "mv"), await vc2(r6); - const a6 = i7.map((t5) => Mn(t5)), [o6] = a6; - if (void 0 === o6) throw J(); - x7(a6); - const c6 = Mn(R7(e6)), f2 = await Ld2(r6); +var D7 = async (r8, i11, e7, n7 = {}) => { + await Gd2(r8), Kd2(r8, "mv"), await Zd2(r8); + const a4 = i11.map((t5) => dr3(t5)), [o5] = a4; + if (void 0 === o5) throw ne(); + A7(a4); + const c5 = dr3(R7(e7)), f2 = await kf2(r8); try { - const t5 = await b4(r6), i8 = await I6(r6, o6, e6, c6); - if ("rename" === i8.kind && a6.length > 1) throw De(o6, i8.target); - const { planned: d5, skipped: u6 } = await E6(r6, t5, a6, i8, n6); - A7(d5); - const p5 = S5(d5); - if (true === n6.dryRun) return { moved: p5, skipped: u6 }; - W5(t5, d5); - for (const t6 of d5) await Ln(r6, t6.source, t6.target); - return await f2.commit(Array.from(t5.values())), { moved: p5, skipped: u6 }; + const t5 = await b4(r8), i12 = await L7(r8, o5, e7, c5); + if ("rename" === i12.kind && a4.length > 1) throw Fe(o5, i12.target); + const { planned: d6, skipped: u6 } = await j7(r8, t5, a4, i12, n7); + _4(d6); + const p6 = S4(d6); + if (true === n7.dryRun) return { moved: p6, skipped: u6 }; + W5(t5, d6); + for (const t6 of d6) await wr3(r8, t6.source, t6.target); + return await f2.commit(Array.from(t5.values())), { moved: p6, skipped: u6 }; } finally { await f2.release(); } }; var b4 = async (t5) => { - const s9 = await Cd2(t5).catch((t6) => { - if (t6 instanceof o && ("FILE_NOT_FOUND" === (s10 = t6.data.code) || "INVALID_INDEX_HEADER" === s10 || "INVALID_INDEX_ENTRY" === s10)) return { entries: [] }; - var s10; + const s8 = await hf2(t5).catch((t6) => { + if (t6 instanceof c && ("FILE_NOT_FOUND" === (s9 = t6.data.code) || "INVALID_INDEX_HEADER" === s9 || "INVALID_INDEX_ENTRY" === s9)) return { entries: [] }; + var s9; throw t6; - }), r6 = /* @__PURE__ */ new Map(); - for (const t6 of s9.entries) r6.set(t6.path, t6); - return r6; -}; -var I6 = async (t5, s9, r6, i7) => { - const n6 = await T6(t5, i7); - if (true === n6?.isDirectory && true !== n6.isSymbolicLink) return { kind: "into-dir", destDir: i7 }; - if (r6.endsWith("/")) throw Ue(s9, r6); - return { kind: "rename", target: i7 }; -}; -var E6 = async (t5, s9, r6, i7, e6) => { - const a6 = [], o6 = []; - for (const c6 of r6) { - const r7 = "rename" === i7.kind ? i7.target : Ad2(i7.destDir, s(c6)), f2 = await L6(t5, s9, c6, r7, e6); + }), r8 = /* @__PURE__ */ new Map(); + for (const t6 of s8.entries) r8.set(t6.path, t6); + return r8; +}; +var L7 = async (t5, s8, r8, i11) => { + const n7 = await T6(t5, i11); + if (true === n7?.isDirectory && true !== n7.isSymbolicLink) return { kind: "into-dir", destDir: i11 }; + if (r8.endsWith("/")) throw He(s8, r8); + return { kind: "rename", target: i11 }; +}; +var j7 = async (t5, s8, r8, i11, e7) => { + const a4 = [], o5 = []; + for (const c5 of r8) { + const r9 = "rename" === i11.kind ? i11.target : Ef2(i11.destDir, d(c5)), f2 = await E6(t5, s8, c5, r9, e7); if ("skip" in f2) { - if (true === e6.skipErrors) { - o6.push({ source: c6, reason: f2.skip }); + if (true === e7.skipErrors) { + o5.push({ source: c5, reason: f2.skip }); continue; } - throw F4(f2.skip, c6, r7); + throw F4(f2.skip, c5, r9); } - a6.push({ source: c6, target: r7, entries: f2.entries }); + a4.push({ source: c5, target: r9, entries: f2.entries }); } - return { planned: a6, skipped: o6 }; + return { planned: a4, skipped: o5 }; }; -var L6 = async (t5, s9, r6, i7, n6) => { - const a6 = N5(s9, r6); - if ("untracked" === a6.kind) return { skip: "source-not-tracked" }; - if (!await j7(t5, r6, a6.kind)) return { skip: "bad-source" }; - if (i7 === r6 || i7.startsWith(`${r6}/`)) return { skip: "into-self" }; - const c6 = i(i7); - if ("" !== c6 && !await O6(t5, c6)) throw Ue(r6, i7); - return await _3(t5, s9, i7, a6.kind, true === n6.force) ? { kind: a6.kind, entries: a6.entries } : { skip: "destination-exists" }; +var E6 = async (t5, s8, r8, i11, n7) => { + const a4 = I6(s8, r8); + if ("untracked" === a4.kind) return { skip: "source-not-tracked" }; + if (!await N5(t5, r8, a4.kind)) return { skip: "bad-source" }; + if (i11 === r8 || i11.startsWith(`${r8}/`)) return { skip: "into-self" }; + const c5 = u(i11); + if ("" !== c5 && !await O4(t5, c5)) throw He(r8, i11); + return await x6(t5, s8, i11, a4.kind, true === n7.force) ? { kind: a4.kind, entries: a4.entries } : { skip: "destination-exists" }; }; -var N5 = (t5, s9) => { - const r6 = t5.get(s9); - if (void 0 !== r6) return { kind: "file", entries: [r6] }; - const i7 = `${s9}/`, e6 = Array.from(t5.values()).filter((t6) => t6.path.startsWith(i7)); - return e6.length > 0 ? { kind: "directory", entries: e6 } : { kind: "untracked" }; +var I6 = (t5, s8) => { + const r8 = t5.get(s8); + if (void 0 !== r8) return { kind: "file", entries: [r8] }; + const i11 = `${s8}/`, e7 = Array.from(t5.values()).filter((t6) => t6.path.startsWith(i11)); + return e7.length > 0 ? { kind: "directory", entries: e7 } : { kind: "untracked" }; }; -var j7 = async (t5, s9, r6) => { - const i7 = await T6(t5, s9); - return void 0 !== i7 && ("directory" === r6 ? i7.isDirectory && !i7.isSymbolicLink : i7.isFile || i7.isSymbolicLink); -}; -var _3 = async (t5, s9, r6, i7, e6) => !(s9.has(r6) || void 0 !== await T6(t5, r6)) || "file" === i7 && e6; -var x7 = (t5) => { - for (const s9 of t5) for (const i7 of t5) if (i7 !== s9 && i7.startsWith(`${s9}/`)) throw Me(i7, s9); +var N5 = async (t5, s8, r8) => { + const i11 = await T6(t5, s8); + return void 0 !== i11 && ("directory" === r8 ? i11.isDirectory && !i11.isSymbolicLink : i11.isFile || i11.isSymbolicLink); }; +var x6 = async (t5, s8, r8, i11, e7) => !(s8.has(r8) || void 0 !== await T6(t5, r8)) || "file" === i11 && e7; var A7 = (t5) => { - const s9 = /* @__PURE__ */ new Set(); - for (const r6 of t5) { - if (s9.has(r6.target)) throw Ce(r6.source, r6.target); - s9.add(r6.target); + for (const s8 of t5) for (const i11 of t5) if (i11 !== s8 && i11.startsWith(`${s8}/`)) throw Ge(i11, s8); +}; +var _4 = (t5) => { + const s8 = /* @__PURE__ */ new Set(); + for (const r8 of t5) { + if (s8.has(r8.target)) throw Ve(r8.source, r8.target); + s8.add(r8.target); } }; -var S5 = (t5) => { - const s9 = []; - for (const r6 of t5) for (const t6 of r6.entries) s9.push({ from: t6.path, to: $5(t6, r6.source, r6.target) }); - return s9.sort((t6, s10) => t6.from < s10.from ? -1 : t6.from > s10.from ? 1 : 0); +var S4 = (t5) => { + const s8 = []; + for (const r8 of t5) for (const t6 of r8.entries) s8.push({ from: t6.path, to: $7(t6, r8.source, r8.target) }); + return s8.sort((t6, s9) => t6.from < s9.from ? -1 : t6.from > s9.from ? 1 : 0); }; -var W5 = (t5, s9) => { - for (const r6 of s9) for (const s10 of r6.entries) { - const i7 = $5(s10, r6.source, r6.target); - t5.delete(s10.path), t5.set(i7, { ...s10, path: i7 }); +var W5 = (t5, s8) => { + for (const r8 of s8) for (const s9 of r8.entries) { + const i11 = $7(s9, r8.source, r8.target); + t5.delete(s9.path), t5.set(i11, { ...s9, path: i11 }); } }; -var $5 = (t5, s9, r6) => `${r6}${t5.path.slice(s9.length)}`; -var F4 = (t5, s9, r6) => { +var $7 = (t5, s8, r8) => `${r8}${t5.path.slice(s8.length)}`; +var F4 = (t5, s8, r8) => { switch (t5) { case "source-not-tracked": - return xe(s9, r6); + return Ce(s8, r8); case "bad-source": - return Le(s9, r6); + return Me(s8, r8); case "destination-exists": - return Re(s9, r6); + return Pe(s8, r8); case "into-self": - return ke(s9, r6); + return Be(s8, r8); } }; var R7 = (t5) => t5.endsWith("/") ? t5.slice(0, -1) : t5; -var T6 = async (t5, s9) => t5.fs.lstat(((t6, s10) => bc2(wc2(t6, "mv"), s10))(t5, s9)).catch(() => { +var T6 = async (t5, s8) => t5.fs.lstat(((t6, s9) => Jd2(Kd2(t6, "mv"), s9))(t5, s8)).catch(() => { }); -var O6 = async (t5, s9) => { - const r6 = await T6(t5, s9); - return true === r6?.isDirectory && true !== r6.isSymbolicLink; +var O4 = async (t5, s8) => { + const r8 = await T6(t5, s8); + return true === r8?.isDirectory && true !== r8.isSymbolicLink; }; // node_modules/@scolladon/tsgit/dist/esm/commands/pack-objects.js -var c4 = (t5) => false === t5.useBitmapIndex ? "walk" : "bitmap"; -var p3 = async (p5, m5) => { - await hc2(p5); - const b5 = await Promise.all(m5.wants.map((t5) => wr3(p5, t5))), d5 = await Promise.all((m5.not ?? []).map((t5) => wr3(p5, t5))), u6 = (await cp2(p5, { wants: b5, not: d5, objects: true, tier: c4(m5) })).objects.map((t5) => t5.id), k8 = await Af2(p5, { oids: u6 }), w4 = u6.map((t5, a6) => ({ id: t5, crc32: k8.entries[a6].crc32, offset: k8.entries[a6].offset })), y6 = m5.outputDirectory ?? Fa2(Da2(p5)), j9 = await ml2(p5, { packDir: y6, packBytes: k8.bytes, entries: w4, packSha: k8.sha, promisor: false }); - return void 0 === m5.outputDirectory && Ri2(p5), { packId: j9.packSha, objectCount: j9.objectCount, packBytes: k8.bytes.length, indexBytes: j9.indexBytes }; +var c3 = (t5) => false === t5.useBitmapIndex ? "walk" : "bitmap"; +var m5 = async (m7, b5) => { + await Gd2(m7), await gr2(m7); + const u6 = await Promise.all(b5.wants.map((t5) => Pr3(m7, t5))), j9 = await Promise.all((b5.not ?? []).map((t5) => Pr3(m7, t5))), k6 = await _g2(m7, { wants: u6, not: j9, objects: true, tier: c3(b5) }), d6 = await Hh2(m7, { objects: k6.objects, delta: true }), w6 = b5.outputDirectory ?? yo2(oo2(m7)), y5 = await Vw2(m7, { packDir: w6, packBytes: d6.bytes, entries: d6.entries, packSha: d6.sha, promisor: false }); + return void 0 === b5.outputDirectory && Ms2(m7), { packId: y5.packSha, objectCount: y5.objectCount, packBytes: d6.bytes.length, indexBytes: y5.indexBytes }; }; // node_modules/@scolladon/tsgit/dist/esm/commands/pack-refs.js -var o4 = async (o6) => (await hc2(o6), zr2(o6).packRefs()); +var i8 = async (i11) => (await Gd2(i11), md2(i11).packRefs()); // node_modules/@scolladon/tsgit/dist/esm/commands/pull.js -var v5 = async (v8, u6 = {}) => { - await hc2(v8), wc2(v8, "pull"), await vc2(v8); - const w4 = await mc2(v8), g7 = pc2(w4), l4 = void 0 !== g7 ? lw(g7) : void 0, j9 = g7 ?? fr.from("HEAD"), { remote: b5, branch: $6 } = await (async (a6, t5, e6, s9) => { - const i7 = await Hi2(a6); - void 0 !== t5 && await Al2(a6, "branch", t5, ["remote", "merge"]); - const m5 = void 0 !== t5 ? i7.branch?.get(t5) : void 0, n6 = Xd3(i7, e6.remote, t5), p5 = e6.ref ?? (f2 = m5?.merge, void 0 === f2 ? void 0 : lw(f2)); - var f2; - if (void 0 === p5) throw te(s9); - return { remote: n6, branch: p5 }; - })(v8, l4, u6, j9), k8 = await A6(v8, { remote: b5, ...void 0 !== u6.prune ? { prune: u6.prune } : {}, ...void 0 !== u6.depth ? { depth: u6.depth } : {} }), x10 = await eu2(v8, `refs/remotes/${b5}/${$6}`); - return { fetch: k8, merge: await Yf3(v8, { rev: x10, message: u6.message ?? `Merge branch '${$6}' of ${k8.url}`, ...void 0 !== u6.fastForward ? { fastForward: u6.fastForward } : {}, ...void 0 !== u6.author ? { author: u6.author } : {}, ...void 0 !== u6.committer ? { committer: u6.committer } : {} }, { reflogAction: "pull" }) }; +var v3 = async (v6, u6 = {}) => { + await Gd2(v6), Kd2(v6, "pull"), await Zd2(v6); + const w6 = await qd2(v6), g7 = Vd2(w6), j9 = void 0 !== g7 ? $y(g7) : void 0, l4 = g7 ?? yr.from("HEAD"), { remote: b5, branch: k6 } = await (async (a4, t5, e7, s8) => { + const i11 = await sr2(a4); + void 0 !== t5 && await ky2(a4, "branch", t5, ["remote", "merge"]); + const m7 = void 0 !== t5 ? i11.branch?.get(t5) : void 0, n7 = If3(i11, e7.remote, t5), p6 = e7.ref ?? (h5 = m7?.merge, void 0 === h5 ? void 0 : $y(h5)); + var h5; + if (void 0 === p6) throw ie(s8); + return { remote: n7, branch: p6 }; + })(v6, j9, u6, l4), $8 = await x5(v6, { remote: b5, ...void 0 !== u6.prune ? { prune: u6.prune } : {}, ...void 0 !== u6.depth ? { depth: u6.depth } : {} }), x9 = await Wf2(v6, `refs/remotes/${b5}/${k6}`); + return { fetch: $8, merge: await Ru3(v6, { rev: x9, message: u6.message ?? `Merge branch '${k6}' of ${$8.url}`, ...void 0 !== u6.fastForward ? { fastForward: u6.fastForward } : {}, ...void 0 !== u6.author ? { author: u6.author } : {}, ...void 0 !== u6.committer ? { committer: u6.committer } : {} }, { reflogAction: "pull" }) }; }; // node_modules/@scolladon/tsgit/dist/esm/commands/push.js -var H7 = "push:enumerate-objects"; -var J5 = "push:upload"; -var N6 = /* @__PURE__ */ new Set(["side-band-64k", "side-band"]); -var X4 = async (e6, t5 = {}) => { - await hc2(e6), await (async (e7) => { - const [t6, i7] = await Promise.all([Ss2(e7), As2(e7)]); - if (void 0 !== t6 && (void 0 === i7 || t6.line < i7.line)) throw mt(t6.value, t6.source, t6.line); - if (void 0 !== i7) throw _e(i7.key, i7.source, i7.value); - })(e6), e6.progress.start(H7); +var q6 = "push:enumerate-objects"; +var A8 = "push:upload"; +var B5 = /* @__PURE__ */ new Set(["side-band-64k", "side-band"]); +var Q4 = async (e7, t5 = {}) => { + await Gd2(e7), await (async (e8) => { + const [t6, i11] = await Promise.all([Qr2(e8), hc2(e8)]); + if (void 0 !== t6 && (void 0 === i11 || t6.line < i11.line)) throw It(t6.value, t6.source, t6.line); + if (void 0 !== i11) throw $e(i11.key, i11.source, i11.value); + })(e7), e7.progress.start(q6); try { - return await Y4(e6, t5); + return await Y4(e7, t5); } finally { - e6.progress.end(H7); + e7.progress.end(q6); } }; -var Y4 = async (a6, s9) => { - const t5 = await mc2(a6), i7 = pc2(t5), r6 = void 0 !== i7 ? lw(i7) : void 0, n6 = await Hi2(a6), o6 = Qd3(n6, s9.remote, r6), c6 = await ea2(a6, o6), d5 = await kl3(n6, s9, t5), f2 = Ec3(a6, c6, "git-receive-pack"); +var Y4 = async (a4, s8) => { + const t5 = await qd2(a4), i11 = Vd2(t5), r8 = void 0 !== i11 ? $y(i11) : void 0, n7 = await sr2(a4), o5 = Ef3(n7, s8.remote, r8), c5 = await ea2(a4, o5), d6 = await bm3(n7, s8, t5), f2 = Jc3(a4, c5, "git-receive-pack"); try { - return await Z3(a6, s9, o6, c6, d5, f2); + return await _5(a4, s8, o5, c5, d6, f2); } finally { await f2.close(); } }; -var Z3 = async (a6, s9, e6, t5, r6, n6) => { - const o6 = await Tl3(n6), c6 = "matching" === r6.kind ? (await dl2(a6)).filter((a7) => a7.startsWith(Ep)) : [], d5 = Cl3(r6, o6, c6), f2 = (await ta2(a6, d5, o6, e6, s9)).filter((a7) => a7.localOid !== a7.remoteOid); - return 0 === f2.length ? { remote: e6, url: t5, pushedRefs: [] } : (await aa2(a6, s9.noVerify ?? false, e6, t5, f2), { remote: e6, url: t5, pushedRefs: await fa2(a6, n6, o6, f2, e6, s9, t5) }); +var _5 = async (a4, s8, e7, t5, r8, n7) => { + const o5 = await Cm3(n7), c5 = "matching" === r8.kind ? (await yw2(a4)).filter((a5) => a5.startsWith(Lw)) : [], d6 = Em3(r8, o5, c5), f2 = (await ta2(a4, d6, o5, e7, s8)).filter((a5) => a5.localOid !== a5.remoteOid); + return 0 === f2.length ? { remote: e7, url: t5, pushedRefs: [] } : (await aa2(a4, s8.noVerify ?? false, e7, t5, f2), { remote: e7, url: t5, pushedRefs: await fa2(a4, n7, o5, f2, e7, s8, t5) }); }; -var aa2 = async (a6, s9, e6, t5, i7) => { - if (s9) return; - const r6 = i7.map(sa2).join(""); - await zl2(a6, "pre-push", { args: [e6, t5], stdin: r6 }); +var aa2 = async (a4, s8, e7, t5, i11) => { + if (s8) return; + const r8 = i11.map(sa2).join(""); + await Iy2(a4, "pre-push", { args: [e7, t5], stdin: r8 }); }; -var sa2 = (a6) => `${a6.parsed.isDelete ? "(delete)" : a6.parsed.src} ${a6.localOid} ${a6.parsed.dst} ${a6.remoteOid} +var sa2 = (a4) => `${a4.parsed.isDelete ? "(delete)" : a4.parsed.src} ${a4.localOid} ${a4.parsed.dst} ${a4.remoteOid} `; -var ea2 = async (a6, s9) => { - tf3(s9); - const e6 = await Hi2(a6); - await Al2(a6, "remote", s9, ["pushurl", "url"]); - const i7 = e6.remote?.get(s9), r6 = i7?.pushUrl ?? i7?.url; - if (void 0 === r6) throw ee(s9); - return r6; -}; -var ta2 = async (a6, s9, e6, t5, i7) => { - const r6 = ia2(e6.refs), n6 = []; - for (const e7 of s9) n6.push(await ra2(a6, e7, r6, t5, i7)); - return n6; -}; -var ia2 = (a6) => { - const s9 = /* @__PURE__ */ new Map(); - for (const e6 of a6) s9.set(e6.name, e6.id); - return s9; -}; -var ra2 = async (a6, s9, e6, t5, i7) => { - const r6 = cr(a6.hashConfig), n6 = e6.get(s9.dst) ?? r6; - if (s9.isDelete) { - if (n6 === r6) throw oe("refspecs", `delete target ${s9.dst} is not advertised`); - return { parsed: s9, localOid: r6, remoteOid: n6 }; - } - const o6 = await eu2(a6, s9.src); - return await na2(a6, s9, o6, n6, t5, i7), { parsed: s9, localOid: o6, remoteOid: n6 }; -}; -var na2 = async (a6, s9, e6, t5, i7, r6) => { - const n6 = await oa2(a6, s9, i7, r6); - if (void 0 === n6) { - if ("force" !== s9.force && true !== r6.force && t5 !== cr(a6.hashConfig) && !await ca2(a6, t5, e6)) throw W(s9.dst, e6, t5); - } else if (n6 !== t5) throw j(s9.dst, "lease-mismatch", da2()); -}; -var oa2 = async (a6, s9, e6, t5) => { +var ea2 = async (a4, s8) => { + Df3(s8); + const e7 = await sr2(a4); + await ky2(a4, "remote", s8, ["pushurl", "url"]); + const i11 = e7.remote?.get(s8), r8 = i11?.pushUrl ?? i11?.url; + if (void 0 === r8) throw se(s8); + return r8; +}; +var ta2 = async (a4, s8, e7, t5, i11) => { + const r8 = ia2(e7.refs), n7 = []; + for (const e8 of s8) n7.push(await ra2(a4, e8, r8, t5, i11)); + return n7; +}; +var ia2 = (a4) => { + const s8 = /* @__PURE__ */ new Map(); + for (const e7 of a4) s8.set(e7.name, e7.id); + return s8; +}; +var ra2 = async (a4, s8, e7, t5, i11) => { + const r8 = gr(a4.hashConfig), n7 = e7.get(s8.dst) ?? r8; + if (s8.isDelete) { + if (n7 === r8) throw de("refspecs", `delete target ${s8.dst} is not advertised`); + return { parsed: s8, localOid: r8, remoteOid: n7 }; + } + const o5 = await Wf2(a4, s8.src); + return await na2(a4, s8, o5, n7, t5, i11), { parsed: s8, localOid: o5, remoteOid: n7 }; +}; +var na2 = async (a4, s8, e7, t5, i11, r8) => { + const n7 = await oa2(a4, s8, i11, r8); + if (void 0 === n7) { + if ("force" !== s8.force && true !== r8.force && t5 !== gr(a4.hashConfig) && !await ca2(a4, t5, e7)) throw X(s8.dst, e7, t5); + } else if (n7 !== t5) throw q(s8.dst, "lease-mismatch", da2()); +}; +var oa2 = async (a4, s8, e7, t5) => { if (void 0 === t5.forceWithLease) return; if ("auto" !== t5.forceWithLease) return t5.forceWithLease; - if (!s9.dst.startsWith(Ep)) throw oe("forceWithLease", "lease-on-non-branch"); - const r6 = s9.dst.slice(Ep.length); - return eu2(a6, `refs/remotes/${e6}/${r6}`); + if (!s8.dst.startsWith(Lw)) throw de("forceWithLease", "lease-on-non-branch"); + const r8 = s8.dst.slice(Lw.length); + return Wf2(a4, `refs/remotes/${e7}/${r8}`); }; -var ca2 = async (a6, s9, e6) => { - for await (const t5 of nl2(a6, { from: [e6], ignoreMissing: true })) if (t5.id === s9) return true; +var ca2 = async (a4, s8, e7) => { + for await (const t5 of iw2(a4, { from: [e7], ignoreMissing: true })) if (t5.id === s8) return true; return false; }; var da2 = () => ({ unpackOk: true, refUpdates: [] }); -var fa2 = async (a6, s9, e6, t5, i7, c6, d5) => { - Jd3(a6.hashConfig.algorithm, ba(e6.capabilities), "push"); - const f2 = await la2(a6, c6), l4 = pa2(e6.capabilities), p5 = ua2(f2, l4, i7), u6 = t5.filter((a7) => !a7.parsed.isDelete).map((a7) => a7.localOid), g7 = e6.refs.map((a7) => a7.id), h6 = await ha2(a6, u6, g7), w4 = await Af2(a6, { oids: h6 }), m5 = Dl3(e6.capabilities, a6.hashConfig.algorithm, p5.signing), y6 = p5.signing ? await ga2(a6, m5, t5, w4.bytes, d5, p5.nonce) : fc({ updates: t5.map(wa2), capabilities: m5, packfile: w4.bytes }), b5 = await ma2(a6, s9, y6), v8 = await ya2(a6, b5, m5); - if (!v8.unpackOk) throw j(t5[0]?.parsed.dst, v8.unpackError ?? "unpack failed", v8); - return await va2(a6, t5, v8.refUpdates, i7); -}; -var la2 = async (a6, s9) => { - if (void 0 !== s9.signed) return s9.signed; - const e6 = await Hi2(a6), t5 = e6.push?.gpgSign; +var fa2 = async (a4, s8, e7, t5, i11, c5, d6) => { + xf3(a4.hashConfig.algorithm, Ba(e7.capabilities), "push"); + const f2 = await pa2(a4, c5), p6 = la2(e7.capabilities), l4 = ua2(f2, p6, i11), u6 = t5.filter((a5) => !a5.parsed.isDelete).map((a5) => a5.localOid), g7 = e7.refs.map((a5) => a5.id), h5 = await ha2(a4, u6, g7), w6 = await Hh2(a4, { objects: h5.map((a5) => ({ id: a5 })) }), m7 = Dm3(e7.capabilities, a4.hashConfig.algorithm, l4.signing), y5 = l4.signing ? await ga2(a4, m7, t5, w6.bytes, d6, l4.nonce) : Sc({ updates: t5.map(wa2), capabilities: m7, packfile: w6.bytes }), b5 = await ma2(a4, s8, y5), v6 = await ya2(a4, b5, m7); + if (!v6.unpackOk) throw q(t5[0]?.parsed.dst, v6.unpackError ?? "unpack failed", v6); + return await va2(a4, t5, v6.refUpdates, i11); +}; +var pa2 = async (a4, s8) => { + if (void 0 !== s8.signed) return s8.signed; + const e7 = await sr2(a4), t5 = e7.push?.gpgSign; return "if-asked" === t5 ? "if-asked" : "true" === t5 ? "yes" : "no"; }; -var pa2 = (a6) => a6.find((a7) => a7.startsWith(`${ya}=`))?.slice(ya.length + 1); -var ua2 = (a6, s9, e6) => { - if ("yes" === a6 && void 0 === s9) throw ut(e6); - return void 0 === s9 || "no" === a6 ? { signing: false } : { signing: true, nonce: s9 }; +var la2 = (a4) => a4.find((a5) => a5.startsWith(`${Ma}=`))?.slice(Ma.length + 1); +var ua2 = (a4, s8, e7) => { + if ("yes" === a4 && void 0 === s8) throw pt(e7); + return void 0 === s8 || "no" === a4 ? { signing: false } : { signing: true, nonce: s8 }; }; -var ga2 = async (a6, s9, e6, t5, i7, r6) => { - const n6 = await Hi2(a6), o6 = await Uo3(a6), c6 = `${Iw2({ ...void 0 !== n6.user?.signingKey ? { signingKey: n6.user.signingKey } : {}, fallbackIdent: `${o6.name} <${o6.email}>` })} ${o6.timestamp} ${o6.timezoneOffset}`, f2 = oc3(i7), u6 = e6.map(wa2), g7 = gc({ pusher: c6, pushee: f2, nonce: r6, updates: u6 }), h6 = await Xc3(a6, g7, Yc3(n6, o6, void 0)), w4 = s9.filter((a7) => a7 !== ya && !a7.startsWith(`${ya}=`)); - return mc({ updates: u6, capabilities: w4, armor: h6, pusher: c6, pushee: f2, nonce: r6, packfile: t5 }); +var ga2 = async (a4, s8, e7, t5, i11, r8) => { + const n7 = await sr2(a4), o5 = await rc3(a4), c5 = `${Gp2({ ...void 0 !== n7.user?.signingKey ? { signingKey: n7.user.signingKey } : {}, fallbackIdent: `${o5.name} <${o5.email}>` })} ${o5.timestamp} ${o5.timezoneOffset}`, f2 = Rc3(i11), u6 = e7.map(wa2), g7 = Lc({ pusher: c5, pushee: f2, nonce: r8, updates: u6 }), h5 = await $d3(a4, g7, xd3(n7, o5, void 0)), w6 = s8.filter((a5) => a5 !== Ma && !a5.startsWith(`${Ma}=`)); + return Rc({ updates: u6, capabilities: w6, armor: h5, pusher: c5, pushee: f2, nonce: r8, packfile: t5 }); }; -var ha2 = async (a6, s9, e6) => { - if (0 === s9.length) return []; +var ha2 = async (a4, s8, e7) => { + if (0 === s8.length) return []; const t5 = []; - for await (const i7 of Kw2(a6, { wants: s9, haves: e6 })) t5.push(i7); + for await (const i11 of vm2(a4, { wants: s8, haves: e7 })) t5.push(i11); return t5; }; -var wa2 = (a6) => ({ name: a6.parsed.dst, oldId: a6.remoteOid, newId: a6.localOid }); -var ma2 = async (a6, s9, e6) => { - a6.progress.start(J5); +var wa2 = (a4) => ({ name: a4.parsed.dst, oldId: a4.remoteOid, newId: a4.localOid }); +var ma2 = async (a4, s8, e7) => { + a4.progress.start(A8); try { - return await s9.exchange(e6); + return await s8.exchange(e7); } finally { - a6.progress.end(J5); + a4.progress.end(A8); } }; -var ya2 = async (a6, s9, e6) => { - if (ba2(e6)) { - const e7 = Ic(s9, { onProgress: (s10) => a6.progress.update(J5, 0, void 0, O(s10)) }); - return yc(sc(e7)); +var ya2 = async (a4, s8, e7) => { + if (ba2(e7)) { + const e8 = Pc(s8, { onProgress: (s9) => a4.progress.update(A8, 0, void 0, N(s9)) }); + return Uc(_c(e8)); } - return yc(s9); + return Uc(s8); }; -var ba2 = (a6) => a6.some((a7) => N6.has(a7)); -var va2 = async (a6, s9, e6, t5) => { - const i7 = /* @__PURE__ */ new Map(); - for (const a7 of e6) i7.set(a7.name, a7); - const r6 = []; - for (const e7 of s9) { - const s10 = i7.get(e7.parsed.dst), n6 = true === s10?.accepted; - n6 && await ka2(a6, e7, t5), r6.push({ name: e7.parsed.dst, oldId: e7.remoteOid, newId: e7.localOid, status: n6 ? "ok" : "rejected", ...void 0 !== s10?.reason ? { reason: s10.reason } : {} }); +var ba2 = (a4) => a4.some((a5) => B5.has(a5)); +var va2 = async (a4, s8, e7, t5) => { + const i11 = /* @__PURE__ */ new Map(); + for (const a5 of e7) i11.set(a5.name, a5); + const r8 = []; + for (const e8 of s8) { + const s9 = i11.get(e8.parsed.dst), n7 = true === s9?.accepted; + n7 && await ka2(a4, e8, t5), r8.push({ name: e8.parsed.dst, oldId: e8.remoteOid, newId: e8.localOid, status: n7 ? "ok" : "rejected", ...void 0 !== s9?.reason ? { reason: s9.reason } : {} }); } - return r6; + return r8; }; -var ka2 = async (a6, s9, e6) => { - if (!s9.parsed.dst.startsWith(Ep)) return; - if (s9.parsed.isDelete) return; - const t5 = `refs/remotes/${e6}/${s9.parsed.dst.slice(Ep.length)}`; - tu(t5) && await nc2(a6, t5, s9.localOid, { reflogMessage: Zh }); +var ka2 = async (a4, s8, e7) => { + if (!s8.parsed.dst.startsWith(Lw)) return; + if (s8.parsed.isDelete) return; + const t5 = `refs/remotes/${e7}/${s8.parsed.dst.slice(Lw.length)}`; + Lu(t5) && await Md2(a4, t5, s8.localOid, { reflogMessage: dm }); }; // node_modules/@scolladon/tsgit/dist/esm/commands/range-diff.js -var u3 = async (a6, t5) => { - const s9 = t5.data.parents[0], n6 = void 0 !== s9 ? await (async (a7, t6) => { - const e6 = await Ui2(a7, t6); - if ("commit" !== e6.type) throw Bt("commit", e6.type, t6); - return e6.data.tree; - })(a6, s9) : void 0, m5 = await Sf2(a6, n6, t5.data.tree, { recursive: true, detectRenames: true }), u6 = await If2(a6, m5.changes); - return { id: t5.id, authorName: t5.data.author.name, authorEmail: t5.data.author.email, subject: yr(t5.data.message), message: t5.data.message, files: u6 }; -}; -var d3 = async (a6, t5) => { - const e6 = await jd3(a6, t5.base), r6 = await jd3(a6, t5.tip), s9 = []; - for await (const t6 of em2(a6, { from: [r6], until: [e6] })) t6.data.parents.length <= 1 && s9.push(t6); - return s9.reverse(), (async (a7, t6) => { - const e7 = new Array(t6.length); - let r7 = 0; - const s10 = Math.min(16, t6.length); - return await Promise.all(Array.from({ length: s10 }, () => (async () => { - for (; r7 < t6.length; ) { - const s11 = r7++; - e7[s11] = await u3(a7, t6[s11]); - } - })())), e7; - })(a6, s9); -}; -var h4 = async (e6, r6) => { - await hc2(e6); - const n6 = ((a6) => { - if (void 0 === a6) return 60; - if (!Number.isInteger(a6) || a6 < 0) throw oe("creationFactor", `must be a non-negative integer; got ${a6}`); - return a6; - })(r6.creationFactor), i7 = await d3(e6, r6.old), o6 = await d3(e6, r6.new); - return wb(i7, o6, n6); +var d4 = async (a4, t5) => { + const r8 = await cf3(a4, t5.base), d6 = await cf3(a4, t5.tip), p6 = []; + for await (const t6 of Om2(a4, { from: [d6], until: [r8] })) t6.data.parents.length <= 1 && p6.push(t6); + return p6.reverse(), ((a5, t6) => Lo2(a5, "ioBound", t6, (t7) => (async (a6, t8) => { + const r9 = t8.data.parents[0], i11 = void 0 !== r9 ? await (async (a7, t9) => { + const e7 = await Ts2(a7, t9); + if ("commit" !== e7.type) throw Kt("commit", e7.type, t9); + return e7.data.tree; + })(a6, r9) : void 0, o5 = await vh2(a6, i11, t8.data.tree, { recursive: true, detectRenames: true }), u6 = await mh2(a6, o5.changes); + return { id: t8.id, authorName: t8.data.author.name, authorEmail: t8.data.author.email, subject: Ar(t8.data.message), message: t8.data.message, files: u6 }; + })(a5, t7)))(a4, p6); +}; +var p4 = async (e7, s8) => { + await Gd2(e7); + const i11 = ((a4) => { + if (void 0 === a4) return 60; + if (!Number.isInteger(a4) || a4 < 0) throw de("creationFactor", `must be a non-negative integer; got ${a4}`); + return a4; + })(s8.creationFactor), o5 = await d4(e7, s8.old), n7 = await d4(e7, s8.new); + return UI(o5, n7, i11); }; // node_modules/@scolladon/tsgit/dist/esm/commands/read-file-at.js -var n5 = async (n6, r6, m5, e6) => { - await hc2(n6); - const c6 = await wr3(n6, r6), p5 = await nu2(n6, c6), d5 = await au2(n6, p5, m5, r6), j9 = await Bc2(n6, d5.id, e6); - return { id: d5.id, mode: d5.mode, content: j9.content }; +var n6 = async (n7, r8, m7, c5) => { + await Gd2(n7); + const e7 = await Pr3(n7, r8), p6 = await Gf2(n7, e7), d6 = await Kf2(n7, p6, m7, r8), j9 = await gu2(n7, d6.id, c5); + return { id: d6.id, mode: d6.mode, content: j9.content }; }; // node_modules/@scolladon/tsgit/dist/esm/commands/reflog.js -var h5 = (e6) => eu(e6); -var p4 = async (e6, t5 = {}) => (await hc2(e6), "exists" === t5.action ? y4(e6, t5.ref) : "delete" === t5.action ? x8(e6, t5) : "expire" === t5.action ? k6(e6, t5) : g5(e6, t5.ref ?? "HEAD")); -var g5 = async (e6, t5) => { - const a6 = h5(t5), n6 = await vu2(e6, a6), s9 = n6.length - 1, i7 = n6.map((e7, t6) => ({ index: t6, selector: `${a6}@{${t6}}`, entry: n6[s9 - t6] })); - return { kind: "show", ref: a6, entries: i7 }; -}; -var m4 = async (e6, t5) => zr2(e6).hasReflog(t5); -var y4 = async (e6, t5) => ({ kind: "exists", exists: await m4(e6, h5(t5)) }); -var x8 = async (a6, n6) => { - const s9 = h5(n6.ref); - if (!await m4(a6, s9)) throw Ud(s9); - const i7 = await vu2(a6, s9); - if (!Number.isInteger(n6.index) || n6.index < 0) throw Cd(s9, n6.index, i7.length); - const r6 = i7.length - 1 - n6.index; - if (r6 < 0) throw Cd(s9, n6.index, i7.length); - const d5 = i7[r6], f2 = u4(i7, r6, true === n6.rewrite); - return await zr2(a6).applyRefUpdates([{ kind: "reflogReplace", name: s9, entries: f2 }]), { kind: "delete", removed: d5 }; -}; -var u4 = (e6, t5, a6) => { - const n6 = e6[t5], s9 = e6[t5 + 1]; - return e6.filter((e7, a7) => a7 !== t5).map((e7) => a6 && e7 === s9 ? { ...e7, oldId: n6.oldId } : e7); -}; -var k6 = async (e6, t5) => { - const a6 = Math.floor(Date.now() / 1e3), n6 = v6(t5.expire ?? "90.days.ago", a6), s9 = v6(t5.expireUnreachable ?? "30.days.ago", a6), i7 = await I7(e6), r6 = true === t5.all ? await Iu2(e6) : [h5(t5.ref ?? "HEAD")]; - let f2 = 0, l4 = 0; - for (const t6 of r6) { - const a7 = await vu2(e6, t6), r7 = a7.filter((e7) => R8(e7, i7, n6, s9)); - f2 += a7.length - r7.length, l4 += r7.length, r7.length !== a7.length && await zr2(e6).applyRefUpdates([{ kind: "reflogReplace", name: t6, entries: r7 }]); - } - return { kind: "expire", removed: f2, kept: l4 }; -}; -var v6 = (e6, t5) => { - const a6 = Rd(e6, t5); - if (void 0 === a6) throw Y(e6); - return a6; -}; -var R8 = (e6, t5, a6, n6) => { - const s9 = t5.has(e6.newId) ? a6 : n6; - return e6.identity.timestamp >= s9; -}; -var I7 = async (e6) => { - const t5 = await j8(e6), a6 = /* @__PURE__ */ new Set(); - if (0 === t5.length) return a6; - for await (const n6 of nl2(e6, { from: t5, ignoreMissing: true })) a6.add(n6.id); - return a6; -}; -var j8 = async (e6) => { +var w5 = (e7) => Nu(e7); +var p5 = async (e7, t5 = {}) => (await Gd2(e7), "exists" === t5.action ? u4(e7, t5.ref) : "delete" === t5.action ? y3(e7, t5) : "expire" === t5.action ? k5(e7, t5) : h4(e7, t5.ref ?? "HEAD")); +var h4 = async (e7, t5) => { + const a4 = w5(t5), n7 = await ml2(e7, a4), i11 = n7.length - 1, s8 = n7.map((e8, t6) => ({ index: t6, selector: `${a4}@{${t6}}`, entry: n7[i11 - t6] })); + return { kind: "show", ref: a4, entries: s8 }; +}; +var m6 = async (e7, t5) => md2(e7).hasReflog(t5); +var u4 = async (e7, t5) => ({ kind: "exists", exists: await m6(e7, w5(t5)) }); +var y3 = async (t5, a4) => { + const n7 = w5(a4.ref); + if (!await m6(t5, n7)) throw Zd(n7); + const i11 = await ml2(t5, n7), o5 = ((e7, t6) => { + if (!Number.isInteger(t6) || t6 < 0) return; + const a5 = e7 - 1 - t6; + return a5 < 0 ? void 0 : a5; + })(i11.length, a4.index), c5 = void 0 === o5 ? i11 : g5(i11, o5, true === a4.rewrite); + return await md2(t5).applyRefUpdates([{ kind: "reflogReplace", name: n7, entries: c5 }]), void 0 === o5 ? { kind: "delete" } : { kind: "delete", removed: i11[o5] }; +}; +var g5 = (e7, t5, a4) => { + const n7 = e7[t5], i11 = e7[t5 + 1]; + return e7.filter((e8, a5) => a5 !== t5).map((e8) => a4 && e8 === i11 ? { ...e8, oldId: n7.oldId } : e8); +}; +var k5 = async (t5, a4) => { + const n7 = Math.floor(Date.now() / 1e3), i11 = v4(a4.expire ?? "90.days.ago", n7), c5 = v4(a4.expireUnreachable ?? "30.days.ago", n7), d6 = await R8(t5), f2 = true === a4.all ? void 0 : w5(a4.ref ?? "HEAD"); + if (void 0 !== f2 && !await m6(t5, f2)) throw Zd(f2); + const l4 = void 0 === f2 ? await bl2(t5) : [f2]; + let p6 = 0, h5 = 0; + const u6 = []; + for (const e7 of l4) { + const a5 = await ml2(t5, e7), n8 = a5.filter((e8) => x7(e8, d6, i11, c5)); + p6 += a5.length - n8.length, h5 += n8.length, u6.push({ kind: "reflogReplace", name: e7, entries: n8 }); + } + return await md2(t5).applyRefUpdates(u6), { kind: "expire", removed: p6, kept: h5 }; +}; +var v4 = (e7, t5) => { + const n7 = dg2(e7, t5); + if (void 0 === n7) throw Z(e7); + return n7; +}; +var x7 = (e7, t5, a4, n7) => { + const i11 = t5.has(e7.newId) ? a4 : n7; + return e7.identity.timestamp >= i11; +}; +var R8 = async (e7) => { + const t5 = await j8(e7), a4 = /* @__PURE__ */ new Set(); + if (0 === t5.length) return a4; + for await (const n7 of iw2(e7, { from: t5, ignoreMissing: true })) a4.add(n7.id); + return a4; +}; +var j8 = async (e7) => { const t5 = /* @__PURE__ */ new Set(); - for (const a6 of await dl2(e6)) { - const n6 = await A8(e6, a6); - void 0 !== n6 && t5.add(n6); + for (const a4 of await yw2(e7)) { + const n7 = await I7(e7, a4); + void 0 !== n7 && t5.add(n7); } return [...t5]; }; -var A8 = async (e6, t5) => { +var I7 = async (e7, t5) => { try { - return await eu2(e6, t5); - } catch (e7) { - if (e7 instanceof o) return; - throw e7; + return await Wf2(e7, t5); + } catch (e8) { + if (e8 instanceof c) return; + throw e8; } }; // node_modules/@scolladon/tsgit/dist/esm/commands/reset.js -var u5 = async (t5, e6) => { - if (await hc2(t5), "hard" === e6.mode && wc2(t5, "reset --hard"), "mixed" === e6.mode && t5.layout.bare) throw df("reset --mixed"); - await vc2(t5); - const i7 = await v7(t5, e6.rev); - "mixed" === e6.mode ? await g6(t5, i7) : "hard" === e6.mode && await x9(t5, i7); - const m5 = await mc2(t5), w4 = "symbolic" === m5.kind ? m5.target : void 0; - return await nc2(t5, w4 ?? "HEAD", i7, { reflogMessage: qh(e6.rev) }), { mode: e6.mode, id: i7, branch: w4 }; -}; -var g6 = async (a6, t5) => { - const e6 = await Ui2(a6, t5); - if ("commit" !== e6.type) throw Bt("commit", e6.type, t5); - const r6 = await Ed2(a6), s9 = await Ld2(a6); +var u5 = async (t5, e7) => { + if (await Gd2(t5), "hard" === e7.mode && Kd2(t5, "reset --hard"), "mixed" === e7.mode && t5.layout.bare) throw Vf("reset --mixed"); + await Zd2(t5); + const s8 = await v5(t5, e7.rev); + "mixed" === e7.mode ? await g6(t5, s8) : "hard" === e7.mode && await x8(t5, s8); + const m7 = await qd2(t5), w6 = "symbolic" === m7.kind ? m7.target : void 0; + return await Md2(t5, w6 ?? "HEAD", s8, { reflogMessage: im(e7.rev) }), { mode: e7.mode, id: s8, branch: w6 }; +}; +var g6 = async (a4, t5) => { + const e7 = await Ts2(a4, t5); + if ("commit" !== e7.type) throw Kt("commit", e7.type, t5); + const r8 = await gf2(a4), i11 = await kf2(a4); try { - const t6 = await Cd2(a6), i7 = await Hw2(a6, { targetTree: e6.data.tree, currentIndex: t6, ...void 0 !== r6 ? { sparse: r6 } : {} }); - await s9.commit(i7); + const t6 = await hf2(a4), s8 = await mm2(a4, { targetTree: e7.data.tree, currentIndex: t6, ...void 0 !== r8 ? { sparse: r8 } : {} }); + await i11.commit(s8); } finally { - await s9.release(); + await i11.release(); } }; -var x9 = async (a6, t5) => { - const e6 = await Ui2(a6, t5); - if ("commit" !== e6.type) throw Bt("commit", e6.type, t5); - const r6 = await Ed2(a6), s9 = await Ld2(a6); +var x8 = async (a4, t5) => { + const e7 = await Ts2(a4, t5); + if ("commit" !== e7.type) throw Kt("commit", e7.type, t5); + const r8 = await gf2(a4), i11 = await kf2(a4); try { - const t6 = await Cd2(a6), i7 = await xd2(a6, { targetTree: e6.data.tree, currentIndex: t6, force: true, forceRewriteAll: true, ...void 0 !== r6 ? { sparse: r6 } : {} }); - (i7.written > 0 || i7.deleted > 0 || void 0 !== r6) && await s9.commit(i7.newIndexEntries); + const t6 = await hf2(a4), s8 = await df2(a4, { targetTree: e7.data.tree, currentIndex: t6, force: true, forceRewriteAll: true, ...void 0 !== r8 ? { sparse: r8 } : {} }); + (s8.written > 0 || s8.deleted > 0 || void 0 !== r8) && await i11.commit(s8.newIndexEntries); } finally { - await s9.release(); + await i11.release(); } }; -var v7 = async (a6, i7) => { - if (Dr(i7, a6.hashConfig)) return i7; - const r6 = "HEAD" === i7 ? ["HEAD"] : [i7, `refs/heads/${i7}`, `refs/tags/${i7}`]; - for (const t5 of r6) try { - return await eu2(a6, t5); +var v5 = async (a4, s8) => { + if (Qr(s8, a4.hashConfig)) return s8; + const r8 = "HEAD" === s8 ? ["HEAD"] : [s8, `refs/heads/${s8}`, `refs/tags/${s8}`]; + for (const t5 of r8) try { + return await Wf2(a4, t5); } catch { } - throw Y(i7); + throw Z(s8); }; // node_modules/@scolladon/tsgit/dist/esm/commands/rev-list.js -var s6 = ["HEAD"]; -var i5 = async (t5) => { - const a6 = await dl2(t5), s9 = []; - for (const n6 of a6) try { - s9.push(await wr3(t5, n6)); +var s5 = ["HEAD"]; +var i9 = async (t5) => { + const a4 = await yw2(t5), s8 = []; + for (const o5 of a4) try { + s8.push(await Pr3(t5, o5)); } catch { } - return s9; + return s8; }; -var r3 = (t5) => true === t5.useBitmapIndex && void 0 === t5.maxCount ? "bitmap" : "walk"; -var e4 = async (n6, e6 = {}) => { - await hc2(n6); - const m5 = await (async (t5, a6) => { - const n7 = a6.wants ?? (true === a6.all ? [] : s6), r6 = await Promise.all(n7.map((a7) => wr3(t5, a7))); - return true !== a6.all ? r6 : [.../* @__PURE__ */ new Set([...r6, ...await i5(t5)])]; - })(n6, e6), p5 = await Promise.all((e6.not ?? []).map((t5) => wr3(n6, t5))), c6 = (await cp2(n6, { wants: m5, not: p5, objects: e6.objects ?? false, tier: r3(e6), firstParent: e6.firstParent ?? false, noWalk: e6.noWalk ?? false, ...void 0 !== e6.maxCount ? { maxCount: e6.maxCount } : {} })).objects.map((t5) => void 0 === t5.path ? { id: t5.id, type: t5.type } : { id: t5.id, type: t5.type, path: t5.path }); - return { entries: c6, count: c6.length }; +var r5 = (t5) => true === t5.useBitmapIndex && void 0 === t5.maxCount ? "bitmap" : "walk"; +var e5 = async (o5, e7 = {}) => { + await Gd2(o5); + const p6 = await (async (t5, a4) => { + const o6 = a4.wants ?? (true === a4.all ? [] : s5), r8 = await Promise.all(o6.map((a5) => Pr3(t5, a5))); + return true !== a4.all ? r8 : [.../* @__PURE__ */ new Set([...r8, ...await i9(t5)])]; + })(o5, e7), m7 = await Promise.all((e7.not ?? []).map((t5) => Pr3(o5, t5))), c5 = (await _g2(o5, { wants: p6, not: m7, objects: e7.objects ?? false, tier: r5(e7), firstParent: e7.firstParent ?? false, noWalk: e7.noWalk ?? false, ...void 0 !== e7.maxCount ? { maxCount: e7.maxCount } : {} })).objects.map((t5) => void 0 === t5.path ? { id: t5.id, type: t5.type } : { id: t5.id, type: t5.type, path: t5.path }); + return { entries: c5, count: c5.length }; }; // node_modules/@scolladon/tsgit/dist/esm/commands/rm.js -var y5 = async (o6, n6, r6 = {}) => { - if (await hc2(o6), wc2(o6, "rm"), await vc2(o6), 0 === n6.length) throw J(); - const { matcher: p5, literalMustMatch: m5 } = Bn(n6), w4 = await Ld2(o6); +var y4 = async (o5, n7, r8 = {}) => { + if (await Gd2(o5), Kd2(o5, "rm"), await Zd2(o5), 0 === n7.length) throw ne(); + const { matcher: p6, literalMustMatch: m7 } = mr3(n7), w6 = await kf2(o5); try { - const a6 = await Cd2(o6).catch((a7) => { - if (a7 instanceof o && ("FILE_NOT_FOUND" === (s9 = a7.data.code) || "INVALID_INDEX_HEADER" === s9 || "INVALID_INDEX_ENTRY" === s9)) return { entries: [] }; - var s9; - throw a7; - }), n7 = /* @__PURE__ */ new Map(); - for (const t5 of a6.entries) n7.set(t5.path, t5); - const e6 = [], i7 = []; - for (const [a7, t5] of n7) vi(p5, a7) && (e6.push(a7), i7.push(t5)); - Vn2(m5, e6), true !== r6.force && await N7(o6, i7, true === r6.cached); - for (const a7 of e6) n7.delete(a7); - if (!r6.cached) for (const a7 of e6) await _n(o6, a7).catch((a8) => { - if (!(a8 instanceof o && "FILE_NOT_FOUND" === a8.data.code)) throw a8; + const a4 = await hf2(o5).catch((a5) => { + if (a5 instanceof c && ("FILE_NOT_FOUND" === (s8 = a5.data.code) || "INVALID_INDEX_HEADER" === s8 || "INVALID_INDEX_ENTRY" === s8)) return { entries: [] }; + var s8; + throw a5; + }), n8 = /* @__PURE__ */ new Map(); + for (const t5 of a4.entries) n8.set(t5.path, t5); + const e7 = [], i11 = []; + for (const [a5, t5] of n8) Vi(p6, a5) && (e7.push(a5), i11.push(t5)); + yr3(m7, e7), true !== r8.force && await N6(o5, i11, true === r8.cached); + for (const a5 of e7) n8.delete(a5); + if (!r8.cached) for (const a5 of e7) await ur3(o5, a5).catch((a6) => { + if (!(a6 instanceof c && "FILE_NOT_FOUND" === a6.data.code)) throw a6; }); - return await w4.commit(Array.from(n7.values())), { removed: e6 }; + return await w6.commit(Array.from(n8.values())), { removed: e7 }; } finally { - await w4.release(); + await w6.release(); } }; -var N7 = async (a6, t5, s9) => { - const e6 = await O7(a6), { both: i7, stagedOnly: c6, localOnly: h6 } = await (async (a7, t6, s10, o6) => { - const n6 = await Ec2(a7), r6 = [], e7 = [], i8 = []; - for (const c7 of t6) { - const t7 = await oh2(a7, c7, n6); +var N6 = async (a4, t5, s8) => { + const e7 = await O5(a4), { both: i11, stagedOnly: c5, localOnly: h5 } = await (async (a5, t6, s9, o5) => { + const n7 = await su2(a5), r8 = [], e8 = [], i12 = []; + for (const c6 of t6) { + const t7 = await Fy2(a5, c6, n7); if ("absent" === t7) continue; - const h7 = eh2(t7), f2 = I8(s10, c7); - f2 && h7 ? r6.push(c7.path) : f2 && !o6 ? e7.push(c7.path) : h7 && !o6 && i8.push(c7.path); + const h6 = Ry2(t7), f2 = I8(s9, c6); + f2 && h6 ? r8.push(c6.path) : f2 && !o5 ? e8.push(c6.path) : h6 && !o5 && i12.push(c6.path); } - return { both: r6, stagedOnly: e7, localOnly: i8 }; - })(a6, t5, e6, s9); - if (i7.length > 0) throw Fe(i7); - if (c6.length > 0) throw Pe(c6); - if (h6.length > 0) throw Be(h6); + return { both: r8, stagedOnly: e8, localOnly: i12 }; + })(a4, t5, e7, s8); + if (i11.length > 0) throw je(i11); + if (c5.length > 0) throw We(c5); + if (h5.length > 0) throw ze(h5); }; -var I8 = (a6, t5) => { - const s9 = a6.get(t5.path); - return void 0 === s9 || s9.id !== t5.id || s9.mode !== t5.mode; +var I8 = (a4, t5) => { + const s8 = a4.get(t5.path); + return void 0 === s8 || s8.id !== t5.id || s8.mode !== t5.mode; }; -var O7 = async (a6) => (await Rw2(a6))?.entries ?? /* @__PURE__ */ new Map(); +var O5 = async (a4) => (await om2(a4))?.entries ?? /* @__PURE__ */ new Map(); // node_modules/@scolladon/tsgit/dist/esm/commands/shortlog.js -var r4 = async (r6, m5 = {}) => { - await hc2(r6); - const n6 = await jd3(r6, m5.rev ?? "HEAD"), e6 = await Promise.all((m5.excluding ?? []).map((a6) => jd3(r6, a6))), c6 = "committer" === m5.by, p5 = []; - for await (const a6 of em2(r6, { from: [n6], until: e6 })) { - const t5 = c6 ? a6.data.committer : a6.data.author; - p5.push({ name: t5.name, email: t5.email, id: a6.id, subject: Eb(a6.data.message) }); +var r6 = async (r8, m7 = {}) => { + await Gd2(r8); + const n7 = await cf3(r8, m7.rev ?? "HEAD"), e7 = await Promise.all((m7.excluding ?? []).map((a4) => cf3(r8, a4))), c5 = "committer" === m7.by, p6 = []; + for await (const a4 of Om2(r8, { from: [n7], until: e7 })) { + const t5 = c5 ? a4.data.committer : a4.data.author; + p6.push({ name: t5.name, email: t5.email, id: a4.id, subject: MI(a4.data.message) }); } - return _b(p5); + return FI(p6); }; // node_modules/@scolladon/tsgit/dist/esm/commands/show.js -async function e5(t5, n6 = "HEAD", i7 = {}) { - await hc2(t5); - const r6 = true === i7.withStat; - if ("string" == typeof n6) return c5(t5, n6, r6); - const o6 = []; - for (const a6 of n6) o6.push(await c5(t5, a6, r6)); - return o6; -} -var c5 = async (t5, a6, r6) => { - const s9 = await wr3(t5, a6); - return await Wc2(t5), d4(t5, await Ui2(t5, s9), r6); -}; -async function d4(a6, n6, o6) { - switch (n6.type) { +async function e6(t5, n7 = "HEAD", i11 = {}) { + await Gd2(t5); + const r8 = true === i11.withStat; + if ("string" == typeof n7) return c4(t5, n7, r8); + const o5 = []; + for (const a4 of n7) o5.push(await c4(t5, a4, r8)); + return o5; +} +var c4 = async (t5, a4, r8) => { + const s8 = await Pr3(t5, a4); + return await bu2(t5), d5(t5, await Ts2(t5, s8), r8); +}; +async function d5(a4, n7, o5) { + switch (n7.type) { case "blob": - return { kind: "blob", id: n6.id, content: n6.content }; + return { kind: "blob", id: n7.id, content: n7.content }; case "tree": return (function(t5) { - const a7 = t5.entries.map((t6) => ({ name: t6.name, mode: t6.mode, id: t6.id })); - return { kind: "tree", id: t5.id, entries: a7 }; - })(n6); + const a5 = t5.entries.map((t6) => ({ name: t6.name, mode: t6.mode, id: t6.id })); + return { kind: "tree", id: t5.id, entries: a5 }; + })(n7); case "commit": - return (async function(t5, a7, n7) { - const { parents: i7, tree: r6 } = a7.data; - if (i7.length >= 2) { - const o8 = []; - for (const a8 of i7) o8.push(await Hl3(t5, a8, r6, n7)); - return { kind: "commit", id: a7.id, commit: a7.data, perParent: o8 }; + return (async function(t5, a5, n8) { + const { parents: i11, tree: r8 } = a5.data; + if (i11.length >= 2) { + const o7 = []; + for (const a6 of i11) o7.push(await Tm3(t5, a6, r8, n8)); + return { kind: "commit", id: a5.id, commit: a5.data, perParent: o7 }; } - const o7 = await Hl3(t5, i7[0], r6, n7); - return { kind: "commit", id: a7.id, commit: a7.data, patch: o7 }; - })(a6, Fm(n6, await mu2(a6)), o6); + const o6 = await Tm3(t5, i11[0], r8, n8); + return { kind: "commit", id: a5.id, commit: a5.data, patch: o6 }; + })(a4, Jp(n7, await fl2(a4)), o5); case "tag": - return (async function(t5, a7, n7) { - const r6 = await d4(t5, await Ui2(t5, a7.data.object), n7); - return { kind: "tag", id: a7.id, tag: a7.data, target: r6 }; - })(a6, n6, o6); + return (async function(t5, a5, n8) { + const r8 = await d5(t5, await Ts2(t5, a5.data.object), n8); + return { kind: "tag", id: a5.id, tag: a5.data, target: r8 }; + })(a4, n7, o5); } } // node_modules/@scolladon/tsgit/dist/esm/commands/whatchanged.js -var s7 = async (s9, o6 = {}) => { - await hc2(s9); - const n6 = await jd3(s9, o6.rev ?? "HEAD"), m5 = await Promise.all((o6.excluding ?? []).map((t5) => jd3(s9, t5))), d5 = o6.before, p5 = "first-parent" === o6.order ? nl2(s9, { from: [n6], until: m5, order: "first-parent" }) : em2(s9, { from: [n6], until: m5 }), c6 = []; - let u6 = 0; - for await (const t5 of p5) { +var s6 = async (s8, o5 = {}) => { + await Gd2(s8); + const n7 = await cf3(s8, o5.rev ?? "HEAD"), m7 = await Promise.all((o5.excluding ?? []).map((t5) => cf3(s8, t5))), d6 = o5.before, p6 = "first-parent" === o5.order ? iw2(s8, { from: [n7], until: m7, order: "first-parent" }) : Om2(s8, { from: [n7], until: m7 }), c5 = []; + let f2 = 0; + for await (const t5 of p6) { if (t5.data.parents.length >= 2) continue; - if (void 0 !== d5 && t5.data.committer.timestamp >= d5.getTime() / 1e3) continue; - const a6 = await Hl3(s9, t5.data.parents[0], t5.data.tree); - if (c6.push({ id: t5.id, tree: t5.data.tree, parents: t5.data.parents, author: t5.data.author, committer: t5.data.committer, message: t5.data.message, changes: a6 }), u6 += 1, void 0 !== o6.limit && u6 >= o6.limit) break; + if (void 0 !== d6 && t5.data.committer.timestamp >= d6.getTime() / 1e3) continue; + const a4 = await Tm3(s8, t5.data.parents[0], t5.data.tree); + if (c5.push({ id: t5.id, tree: t5.data.tree, parents: t5.data.parents, author: t5.data.author, committer: t5.data.committer, message: t5.data.message, changes: a4 }), f2 += 1, void 0 !== o5.limit && f2 >= o5.limit) break; } - return c6; + return c5; }; // node_modules/@scolladon/tsgit/dist/esm/index.js -var ss3 = (s9, a6) => "object" == typeof s9 && null !== s9 && Object.hasOwn(s9, a6); +var ss3 = (s8, e7) => "object" == typeof s8 && null !== s8 && Object.hasOwn(s8, e7); var es3 = () => { - const s9 = globalThis.process; - return !!ss3(s9, "versions") && ss3(s9.versions, "node"); + const s8 = globalThis.process; + return !!ss3(s8, "versions") && ss3(s8.versions, "node"); }; -// node_modules/@scolladon/tsgit/dist/esm/chunks/repository-BipbXtdS.js -var ro4 = (e6, o6, r6) => { - const t5 = r6.normalizeForCompare(e6), i7 = r6.normalizeForCompare(o6); - if (t5 === i7) return false; - const s9 = t5.endsWith(r6.sep) ? t5 : `${t5}${r6.sep}`; - return i7.startsWith(s9); -}; -var to4 = async (o6, r6, t5, i7, s9, a6) => { - const n6 = await io4(o6, t5, r6, i7, s9), m5 = await so4(o6, n6, i7, a6); - if (void 0 === m5) throw cf(r6); - return m5; -}; -var io4 = async (e6, i7, s9, a6, n6) => { - if (n6 > 65536) throw PE(i7); - const m5 = await e6.readUtf8(i7); - if (void 0 === m5) throw PE(i7); - const c6 = Tb(m5); - if ("invalid-format" === c6.kind) throw PE(i7); - if ("no-path" === c6.kind) throw BE(i7); - return a6.isAbsolute(c6.path) ? a6.resolve(c6.path) : a6.resolve(a6.join(s9, c6.path)); -}; -var so4 = async (o6, r6, t5, i7) => { - if (!await no4(o6, r6, t5)) return; - const s9 = void 0 === i7 ? await ao4(o6, r6, t5) : i7; - if (await mo4(o6, s9, t5)) return { gitDir: r6, ...t5.normalizeForCompare(s9) !== t5.normalizeForCompare(r6) ? { commonDir: s9 } : {} }; - if (void 0 !== i7) throw cf(r6); -}; -var ao4 = async (e6, r6, t5) => { - const s9 = t5.join(r6, "commondir"), a6 = await e6.stat(s9); - if (void 0 === a6) return r6; - if (true !== a6.isFile) return r6; - if (a6.size > 65536) throw PE(s9); - const n6 = await e6.readUtf8(s9); - if (void 0 === n6) return r6; - if (0 === n6.length) throw PE(s9); - const m5 = Ob(n6); - if ("empty" === m5.kind) return r6; - if (t5.isAbsolute(m5.path)) return t5.resolve(m5.path); - const c6 = m5.path.split("/").filter((e7) => e7.length > 0); - let f2 = r6; - for (const r7 of c6.slice(0, -1)) { - f2 = t5.resolve(t5.join(f2, r7)); - const i7 = await e6.stat(f2); - if (true !== i7?.isDirectory) throw PE(s9); - } - return t5.resolve(t5.join(r6, m5.path)); -}; -var no4 = async (e6, o6, r6) => { - const t5 = r6.join(o6, "HEAD"), i7 = await e6.readLink?.(t5); - if (void 0 !== i7) return lm(i7); - const n6 = await e6.stat(t5); - if (true !== n6?.isFile) return false; - const m5 = await e6.readUtf8(t5); - return void 0 !== m5 && um(m5); -}; -var mo4 = async (e6, o6, r6) => { - const t5 = await e6.stat(r6.join(o6, "objects")); +// node_modules/@scolladon/tsgit/dist/esm/chunks/repository-CLbeorTg.js +var nr4 = (e7, r8, o5) => { + const t5 = o5.normalizeForCompare(e7), i11 = o5.normalizeForCompare(r8); + if (t5 === i11) return false; + const s8 = t5.endsWith(o5.sep) ? t5 : `${t5}${o5.sep}`; + return i11.startsWith(s8); +}; +var cr4 = async (r8, o5, t5, i11, s8, a4) => { + const n7 = await mr4(r8, t5, o5, i11, s8), c5 = await dr4(r8, n7, i11, a4); + if (void 0 === c5) throw Hf(o5); + return c5; +}; +var mr4 = async (e7, i11, s8, a4, n7) => { + if (n7 > 65536) throw eI(i11); + const c5 = await e7.readUtf8(i11); + if (void 0 === c5) throw eI(i11); + const m7 = VI(c5); + if ("invalid-format" === m7.kind) throw eI(i11); + if ("no-path" === m7.kind) throw tI(i11); + return a4.isAbsolute(m7.path) ? a4.resolve(m7.path) : a4.resolve(a4.join(s8, m7.path)); +}; +var dr4 = async (r8, o5, t5, i11) => { + if (!await lr4(r8, o5, t5)) return; + const s8 = void 0 === i11 ? await fr4(r8, o5, t5) : i11; + if (await ur4(r8, s8, t5)) return { gitDir: o5, ...t5.normalizeForCompare(s8) !== t5.normalizeForCompare(o5) ? { commonDir: s8 } : {} }; + if (void 0 !== i11) throw Hf(o5); +}; +var fr4 = async (e7, o5, t5) => { + const s8 = t5.join(o5, "commondir"), a4 = await e7.stat(s8); + if (void 0 === a4) return o5; + if (true !== a4.isFile) return o5; + if (a4.size > 65536) throw eI(s8); + const n7 = await e7.readUtf8(s8); + if (void 0 === n7) return o5; + if (0 === n7.length) throw eI(s8); + const c5 = GI(n7); + if ("empty" === c5.kind) return o5; + if (t5.isAbsolute(c5.path)) return t5.resolve(c5.path); + const m7 = c5.path.split("/").filter((e8) => e8.length > 0); + let d6 = o5; + for (const o6 of m7.slice(0, -1)) { + d6 = t5.resolve(t5.join(d6, o6)); + const i11 = await e7.stat(d6); + if (true !== i11?.isDirectory) throw eI(s8); + } + return t5.resolve(t5.join(o5, c5.path)); +}; +var lr4 = async (e7, r8, o5) => { + const t5 = o5.join(r8, "HEAD"), i11 = await e7.readLink?.(t5); + if (void 0 !== i11) return _p(i11); + const n7 = await e7.stat(t5); + if (true !== n7?.isFile) return false; + const c5 = await e7.readUtf8(t5); + return void 0 !== c5 && Ip(c5); +}; +var ur4 = async (e7, r8, o5) => { + const t5 = await e7.stat(o5.join(r8, "objects")); if (true !== t5?.isDirectory) return false; - const i7 = await e6.stat(r6.join(o6, "refs")); - return true === i7?.isDirectory; -}; -var co4 = "core"; -var fo4 = "extensions"; -var lo4 = "repositoryformatversion"; -var uo4 = "objectformat"; -var ho4 = "refstorage"; -var vo4 = ["sha1", "sha256"]; -var po4 = ["files", "reftable"]; -function* wo4(e6) { - let o6, r6 = ""; - for (const t5 of e6) "header" !== t5.kind ? "entry" === t5.kind && (yield { section: r6, subsection: o6, key: t5.key.toLowerCase(), value: t5.value, line: t5.startLine + 1 }) : (r6 = t5.section.toLowerCase(), o6 = t5.subsection); -} -var go4 = (e6, o6, r6) => { + const i11 = await e7.stat(o5.join(r8, "refs")); + return true === i11?.isDirectory; +}; +var hr4 = "core"; +var vr4 = "extensions"; +var pr4 = "repositoryformatversion"; +var wr4 = "objectformat"; +var gr4 = "refstorage"; +var br4 = ["sha1", "sha256"]; +var kr4 = ["files", "reftable"]; +function* yr4(e7) { + let r8, o5 = ""; + for (const t5 of e7) "header" !== t5.kind ? "entry" === t5.kind && (yield { section: o5, subsection: r8, key: t5.key.toLowerCase(), value: t5.value, line: t5.startLine + 1 }) : (o5 = t5.section.toLowerCase(), r8 = t5.subsection); +} +var Dr4 = (e7, r8, o5) => { let t5; - for (const i7 of wo4(e6)) void 0 === i7.subsection && i7.section === o6 && i7.key === r6 && (t5 = { value: i7.value, line: i7.line }); + for (const i11 of yr4(e7)) void 0 === i11.subsection && i11.section === r8 && i11.key === o5 && (t5 = { value: i11.value, line: i11.line }); return t5; }; -var bo4 = (e6) => new Set(e6.map((e7) => e7.toLowerCase())); -var ko4 = bo4(["noop", "noop-v1", "worktreeConfig", "preciousObjects", "partialClone", "relativeWorktrees", "objectFormat", "compatObjectFormat", "refStorage"]); -var Do4 = bo4(["noop-v1", "objectFormat", "compatObjectFormat", "refStorage", "relativeWorktrees"]); -var yo4 = ["compatobjectformat"]; -var jo4 = (e6) => void 0 !== e6.subsection || !ko4.has(e6.key); -var Co4 = (e6) => void 0 === e6.subsection && Do4.has(e6.key); -var Ro4 = (e6, o6) => e6.filter(o6).map((e7) => e7.name); -var So4 = (e6) => void 0 !== e6 && e6 >= 1; -var Fo4 = async (e6, o6) => { - const r6 = await e6.stat(o6); - if (void 0 === r6 || true !== r6.isFile) return; - const t5 = await e6.readUtf8(o6); +var jr4 = (e7) => new Set(e7.map((e8) => e8.toLowerCase())); +var Cr4 = jr4(["noop", "noop-v1", "worktreeConfig", "preciousObjects", "partialClone", "relativeWorktrees", "objectFormat", "compatObjectFormat", "refStorage"]); +var Rr4 = jr4(["noop-v1", "objectFormat", "compatObjectFormat", "refStorage", "relativeWorktrees"]); +var Fr4 = ["compatobjectformat"]; +var Sr4 = (e7) => void 0 !== e7.subsection || !Cr4.has(e7.key); +var xr4 = (e7) => void 0 === e7.subsection && Rr4.has(e7.key); +var Or4 = (e7, r8) => e7.filter(r8).map((e8) => e8.name); +var Pr4 = (e7) => void 0 !== e7 && e7 >= 1; +var $r4 = async (e7, r8) => { + const o5 = await e7.stat(r8); + if (void 0 === o5 || true !== o5.isFile) return; + const t5 = await e7.readUtf8(r8); if (void 0 === t5) return; - const i7 = Ng(t5, o6); - return { bare: go4(i7, co4, "bare"), worktree: go4(i7, co4, "worktree"), worktreeConfig: go4(i7, fo4, "worktreeconfig"), objectFormat: go4(i7, fo4, uo4), refStorage: go4(i7, fo4, ho4), tokens: i7 }; -}; -var xo4 = (e6, o6, r6, t5, i7) => { - if (void 0 === e6) return i7; - if (null === e6.value) throw ye(r6, o6, e6.line); - if (!((e7, o7) => o7.includes(e7))(e6.value, t5)) throw ve(r6, o6, e6.value, e6.line); - return e6.value; -}; -var Oo4 = (e6, o6, r6, t5) => void 0 !== r6 ? { entry: r6, source: t5 } : { entry: e6, source: o6 }; -var Io4 = { trusted: true }; -var Eo4 = ["modules", "worktrees"]; -var Po4 = (e6, o6, r6) => r6.isAbsolute(o6) ? r6.resolve(o6) : r6.resolve(r6.join(e6, o6)); -var $o4 = async (e6, o6, r6, t5) => { - if (r6.isAbsolute(o6)) return r6.resolve(o6); - const i7 = r6.resolve(r6.join(e6, o6)); - if (void 0 === t5.realWorkTreePath) return i7; - const s9 = await t5.realWorkTreePath(i7); - if (void 0 === s9) throw ff(o6, e6); - return s9; -}; -var Bo4 = { bare: void 0, worktree: void 0, objectFormat: "sha1", refStorage: "files", refusal: void 0 }; -var zo4 = (e6, o6, r6, t5, i7) => { - const s9 = void 0 !== t5.workDir ? Po4(r6, t5.workDir, i7) : true === t5.bare ? void 0 : o6; - return { gitDir: e6, ...void 0 !== s9 ? { workDir: s9 } : {}, bare: true === t5.bare && void 0 === s9, refStorage: "files" }; -}; -var Ao4 = async (e6, o6, r6, t5, i7 = {}, s9 = {}) => { - const a6 = o6.commonDir ?? o6.gitDir, { verdict: n6, implicitBare: u6, accepted: p5 } = await (async (e7, o7, r7, t6, i8) => { - const s10 = "EXPLICIT" !== o7.route, a7 = ((e8, o8, r8) => "BARE_DIR" === e8.route && ".git" !== o8.basename(e8.gitDir) && !((e9, o9) => { - const { sep: r9 } = o9; - return Eo4.some((o10) => e9.includes(`${r9}.git${r9}${o10}${r9}`)); - })(e8.gitDir, o8) && "explicit" === r8)(o7, t6, i8.bareRepositories), n7 = s10 ? await (async (e8, o8, r8, t7) => { - if ("always" === t7.trust) return Io4; - const i9 = ((e9) => "DISCOVERED" === e9.route ? e9.origin : e9.gitDir)(o8); - if (Ab(i9, t7.trustedDirectories ?? [])) return Io4; - if (void 0 === e8.isOwnedByCaller) return Io4; - for (const t8 of ((e9, o9, r9) => ((e10) => { - const o10 = []; - for (const r10 of e10) o10.includes(r10) || o10.push(r10); - return o10; - })([e9, o9, r9]))(i9, o8.gitDir, r8)) if (!await e8.isOwnedByCaller(t8)) return { trusted: false, foreignPath: t8 }; - return Io4; - })(e7, o7, r7, i8) : Io4; - return { verdict: n7, implicitBare: a7, accepted: n7.trusted && !a7 }; - })(e6, o6, a6, r6, i7.trustOptions ?? {}), w4 = p5 ? await (async (e7, o7, r7, t6) => { - const i8 = t6.join(r7, "config"), s10 = await Fo4(e7, i8), a7 = ((e8, o8) => { - let r8; - for (const t7 of wo4(e8)) { + const i11 = Pm(t5, r8); + return { bare: Dr4(i11, hr4, "bare"), worktree: Dr4(i11, hr4, "worktree"), worktreeConfig: Dr4(i11, vr4, "worktreeconfig"), objectFormat: Dr4(i11, vr4, wr4), refStorage: Dr4(i11, vr4, gr4), tokens: i11 }; +}; +var Ir4 = (e7, r8, o5, t5, i11) => { + if (void 0 === e7) return i11; + if (null === e7.value) throw ve(o5, r8, e7.line); + if (!((e8, r9) => r9.includes(e8))(e7.value, t5)) throw Se(o5, r8, e7.value, e7.line); + return e7.value; +}; +var Er4 = (e7, r8, o5, t5) => void 0 !== o5 ? { entry: o5, source: t5 } : { entry: e7, source: r8 }; +var Br4 = { trusted: true }; +var Wr4 = ["modules", "worktrees"]; +var zr4 = (e7, r8, o5) => o5.isAbsolute(r8) ? o5.resolve(r8) : o5.resolve(o5.join(e7, r8)); +var Ar4 = async (e7, r8, o5, t5) => { + if (o5.isAbsolute(r8)) return o5.resolve(r8); + const i11 = o5.resolve(o5.join(e7, r8)); + if (void 0 === t5.realWorkTreePath) return i11; + const s8 = await t5.realWorkTreePath(i11); + if (void 0 === s8) throw zf(r8, e7); + return s8; +}; +var Tr4 = { bare: void 0, worktree: void 0, objectFormat: "sha1", refStorage: "files", refusal: void 0 }; +var Lr4 = (e7, r8, o5, t5, i11) => { + const s8 = void 0 !== t5.workDir ? zr4(o5, t5.workDir, i11) : true === t5.bare ? void 0 : r8; + return { gitDir: e7, ...void 0 !== s8 ? { workDir: s8 } : {}, bare: true === t5.bare && void 0 === s8, refStorage: "files" }; +}; +var Ur4 = async (e7, r8, o5, t5, i11 = {}, s8 = {}) => { + const a4 = r8.commonDir ?? r8.gitDir, { verdict: n7, implicitBare: u6, accepted: p6 } = await (async (e8, r9, o6, t6, i12) => { + const s9 = "EXPLICIT" !== r9.route, a5 = ((e9, r10, o7) => "BARE_DIR" === e9.route && ".git" !== r10.basename(e9.gitDir) && !((e10, r11) => { + const { sep: o8 } = r11; + return Wr4.some((r12) => e10.includes(`${o8}.git${o8}${r12}${o8}`)); + })(e9.gitDir, r10) && "explicit" === o7)(r9, t6, i12.bareRepositories), n8 = s9 ? await (async (e9, r10, o7, t7) => { + if ("always" === t7.trust) return Br4; + const i13 = ((e10) => "DISCOVERED" === e10.route ? e10.origin : e10.gitDir)(r10); + if (zI(i13, t7.trustedDirectories ?? [])) return Br4; + if (void 0 === e9.isOwnedByCaller) return Br4; + for (const t8 of ((e10, r11, o8) => ((e11) => { + const r12 = []; + for (const o9 of e11) r12.includes(o9) || r12.push(o9); + return r12; + })([e10, r11, o8]))(i13, r10.gitDir, o7)) if (!await e9.isOwnedByCaller(t8)) return { trusted: false, foreignPath: t8 }; + return Br4; + })(e8, r9, o6, i12) : Br4; + return { verdict: n8, implicitBare: a5, accepted: n8.trusted && !a5 }; + })(e7, r8, a4, o5, i11.trustOptions ?? {}), w6 = p6 ? await (async (e8, r9, o6, t6) => { + const i12 = t6.join(o6, "config"), s9 = await $r4(e8, i12), a5 = ((e9, r10) => { + let o7; + for (const t7 of yr4(e9)) { if (void 0 !== t7.subsection) continue; - if (t7.section !== co4 || t7.key !== lo4) continue; - const e9 = nm(t7.value); - if (!e9.ok) throw be(`${co4}.${lo4}`, o8, t7.value ?? "", e9.reason); - r8 = e9.value; - } - return r8; - })(s10?.tokens ?? [], i8), n7 = ((e8) => { - if (void 0 === e8) return false; - const o8 = am(e8.value); - return o8.ok && o8.value; - })(s10?.worktreeConfig), u7 = t6.join(o7, "config.worktree"), v8 = n7 ? await Fo4(e7, u7) : void 0, p6 = Oo4(s10?.bare, i8, v8?.bare, u7), w5 = Oo4(s10?.worktree, i8, v8?.worktree, u7), g8 = ((e8, o8) => { - if (void 0 === e8) return; - if (null === e8.value) return true; - const r8 = am(e8.value); - if (!r8.ok) throw Ie("core.bare", o8, e8.value); - return r8.value; - })(p6.entry, p6.source), b6 = ((e8, o8) => { - if (void 0 !== e8) { - if (null === e8.value) throw ye("core.worktree", o8, e8.line); - return e8.value; - } - })(w5.entry, w5.source), k9 = xo4(s10?.objectFormat, i8, `${fo4}.${uo4}`, vo4, "sha1"), D8 = So4(a7) ? k9 : "sha1", y6 = xo4(s10?.refStorage, i8, `${fo4}.${ho4}`, po4, "files"), j9 = So4(a7) ? y6 : "files", C7 = [...wo4(s10?.tokens ?? [])].filter((e8) => e8.section === fo4).map(({ key: e8, subsection: o8, value: r8, line: t7 }) => ({ name: void 0 === o8 ? e8 : `${o8}.${e8}`, key: e8, subsection: o8, value: r8, line: t7 })), R10 = ((e8, o8) => { - if (void 0 !== e8) return ((e9) => void 0 !== e9 && e9 > 1 ? { kind: "version", version: e9 } : void 0)(e8) ?? ((e9, o9) => { - if (0 === e9) { - const r8 = Ro4(o9, Co4); - return r8.length > 0 ? { kind: "extensions", version: e9, extensions: r8 } : void 0; - } - if (e9 >= 1) { - const r8 = Ro4(o9, jo4); - return r8.length > 0 ? { kind: "extensions", version: e9, extensions: r8 } : void 0; - } - })(e8, o8); - })(a7, C7); - return void 0 === R10 && ((e8, o8, r8, t7) => { - if (1 !== e8) return; - const i9 = o8.find((e9) => void 0 === e9.subsection && yo4.includes(e9.key)); - if (void 0 !== i9) { - if (void 0 !== r8 && null !== r8.value && !am(r8.value).ok) throw Ie("extensions.worktreeconfig", t7, r8.value); - if (null === i9.value) throw ye(`extensions.${i9.key}`, t7, i9.line); - throw pf(i9.name, i9.value); - } - })(a7, C7, s10?.worktreeConfig, i8), { bare: g8, worktree: b6, worktreeConfig: n7, objectFormat: D8, refStorage: j9, refusal: R10 }; - })(e6, o6.gitDir, a6, r6) : Bo4, g7 = i7.bare ?? w4.bare, { workDir: b5, workTreeConfigBogus: k8 } = await (async (e7, o7, r7, t6, i8, s10, a7, n7) => void 0 !== a7 ? { workDir: Po4(s10, a7, i8) } : true !== r7 || (!t6 || true !== e7.commonDirSupplied) && ((e8) => "BARE_DIR" !== e8.route && (true === e8.commonDirSupplied || "DISCOVERED" === e8.route && void 0 !== e8.commonDir))(e7) ? void 0 !== o7.worktree ? { workDir: await $o4(e7.gitDir, o7.worktree, i8, n7) } : "DISCOVERED" === e7.route ? { workDir: e7.origin } : "EXPLICIT" === e7.route ? { workDir: s10 } : {} : void 0 !== o7.worktree ? { workTreeConfigBogus: true } : {})(o6, w4, g7, true === i7.bare, r6, t5, i7.workDir, s9); - return { gitDir: o6.gitDir, ...void 0 !== o6.commonDir ? { commonDir: o6.commonDir } : {}, ...void 0 !== b5 ? { workDir: b5 } : {}, bare: false !== g7 && void 0 === b5, ...true === k8 ? { workTreeConfigBogus: true } : {}, ...u6 ? { implicitBare: true } : {}, ...n6.trusted ? {} : { untrusted: true, foreignPath: n6.foreignPath }, ...void 0 !== w4.refusal ? { formatRefusal: w4.refusal } : {}, objectFormat: w4.objectFormat, refStorage: w4.refStorage }; -}; -var To4 = async (e6, o6, r6, t5 = {}, i7 = {}) => { - const s9 = void 0 === t5.commonDir ? void 0 : Po4(o6, t5.commonDir, r6), a6 = void 0 !== t5.gitDir ? await (async (e7, o7, r7, t6, i8) => { - const s10 = Po4(r7, o7, t6), a7 = await e7.stat(s10), n6 = true === a7?.isFile ? await io4(e7, s10, t6.dirname(s10), t6, a7.size) : s10, m5 = void 0 === i8 ? await ao4(e7, n6, t6) : i8; - return { route: "EXPLICIT", gitDir: n6, ...t6.normalizeForCompare(m5) !== t6.normalizeForCompare(n6) ? { commonDir: m5 } : {}, ...void 0 !== i8 ? { commonDirSupplied: true } : {} }; - })(e6, t5.gitDir, o6, r6, s9) : await (async (e7, o7, r7, t6, i8) => { - let s10 = r7.resolve(o7); - const a7 = ((e8, o8, r8) => { - const t7 = ((e9, o9, r9) => { - if (void 0 === e9) return; + if (t7.section !== hr4 || t7.key !== pr4) continue; + const e10 = hp(t7.value); + if (!e10.ok) throw Te(`${hr4}.${pr4}`, r10, t7.value ?? "", e10.reason); + o7 = e10.value; + } + return o7; + })(s9?.tokens ?? [], i12), n8 = ((e9) => { + if (void 0 === e9) return false; + const r10 = yp(e9.value); + return r10.ok && r10.value; + })(s9?.worktreeConfig), u7 = t6.join(r9, "config.worktree"), v6 = n8 ? await $r4(e8, u7) : void 0, p7 = Er4(s9?.bare, i12, v6?.bare, u7), w7 = Er4(s9?.worktree, i12, v6?.worktree, u7), g8 = ((e9, r10) => { + if (void 0 === e9) return; + if (null === e9.value) return true; + const o7 = yp(e9.value); + if (!o7.ok) throw Ae("core.bare", r10, e9.value); + return o7.value; + })(p7.entry, p7.source), b6 = ((e9, r10) => { + if (void 0 !== e9) { + if (null === e9.value) throw ve("core.worktree", r10, e9.line); + return e9.value; + } + })(w7.entry, w7.source), k7 = Ir4(s9?.objectFormat, i12, `${vr4}.${wr4}`, br4, "sha1"), y5 = Pr4(a5) ? k7 : "sha1", D8 = Ir4(s9?.refStorage, i12, `${vr4}.${gr4}`, kr4, "files"), j9 = Pr4(a5) ? D8 : "files", C8 = [...yr4(s9?.tokens ?? [])].filter((e9) => e9.section === vr4).map(({ key: e9, subsection: r10, value: o7, line: t7 }) => ({ name: void 0 === r10 ? e9 : `${r10}.${e9}`, key: e9, subsection: r10, value: o7, line: t7 })), R10 = ((e9, r10) => { + if (void 0 !== e9) return ((e10) => void 0 !== e10 && e10 > 1 ? { kind: "version", version: e10 } : void 0)(e9) ?? ((e10, r11) => { + if (0 === e10) { + const o7 = Or4(r11, xr4); + return o7.length > 0 ? { kind: "extensions", version: e10, extensions: o7 } : void 0; + } + if (e10 >= 1) { + const o7 = Or4(r11, Sr4); + return o7.length > 0 ? { kind: "extensions", version: e10, extensions: o7 } : void 0; + } + })(e9, r10); + })(a5, C8); + return void 0 === R10 && ((e9, r10, o7, t7) => { + if (1 !== e9) return; + const i13 = r10.find((e10) => void 0 === e10.subsection && Fr4.includes(e10.key)); + if (void 0 !== i13) { + if (void 0 !== o7 && null !== o7.value && !yp(o7.value).ok) throw Ae("extensions.worktreeconfig", t7, o7.value); + if (null === i13.value) throw ve(`extensions.${i13.key}`, t7, i13.line); + throw Xf(i13.name, i13.value); + } + })(a5, C8, s9?.worktreeConfig, i12), { bare: g8, worktree: b6, worktreeConfig: n8, objectFormat: y5, refStorage: j9, refusal: R10 }; + })(e7, r8.gitDir, a4, o5) : Tr4, g7 = i11.bare ?? w6.bare, { workDir: b5, workTreeConfigBogus: k6 } = await (async (e8, r9, o6, t6, i12, s9, a5, n8) => void 0 !== a5 ? { workDir: zr4(s9, a5, i12) } : true !== o6 || (!t6 || true !== e8.commonDirSupplied) && ((e9) => "BARE_DIR" !== e9.route && (true === e9.commonDirSupplied || "DISCOVERED" === e9.route && void 0 !== e9.commonDir))(e8) ? void 0 !== r9.worktree ? { workDir: await Ar4(e8.gitDir, r9.worktree, i12, n8) } : "DISCOVERED" === e8.route ? { workDir: e8.origin } : "EXPLICIT" === e8.route ? { workDir: s9 } : {} : void 0 !== r9.worktree ? { workTreeConfigBogus: true } : {})(r8, w6, g7, true === i11.bare, o5, t5, i11.workDir, s8); + return { gitDir: r8.gitDir, ...void 0 !== r8.commonDir ? { commonDir: r8.commonDir } : {}, ...void 0 !== b5 ? { workDir: b5 } : {}, bare: false !== g7 && void 0 === b5, ...true === k6 ? { workTreeConfigBogus: true } : {}, ...u6 ? { implicitBare: true } : {}, ...n7.trusted ? {} : { untrusted: true, foreignPath: n7.foreignPath }, ...void 0 !== w6.refusal ? { formatRefusal: w6.refusal } : {}, objectFormat: w6.objectFormat, refStorage: w6.refStorage }; +}; +var Nr4 = async (e7, r8, o5, t5 = {}, i11 = {}) => { + const s8 = void 0 === t5.commonDir ? void 0 : zr4(r8, t5.commonDir, o5), a4 = void 0 !== t5.gitDir ? await (async (e8, r9, o6, t6, i12) => { + const s9 = zr4(o6, r9, t6), a5 = await e8.stat(s9), n7 = true === a5?.isFile ? await mr4(e8, s9, t6.dirname(s9), t6, a5.size) : s9, c5 = void 0 === i12 ? await fr4(e8, n7, t6) : i12; + return { route: "EXPLICIT", gitDir: n7, ...t6.normalizeForCompare(c5) !== t6.normalizeForCompare(n7) ? { commonDir: c5 } : {}, ...void 0 !== i12 ? { commonDirSupplied: true } : {} }; + })(e7, t5.gitDir, r8, o5, s8) : await (async (e8, r9, o6, t6, i12) => { + let s9 = o6.resolve(r9); + const a5 = ((e9, r10, o7) => { + const t7 = ((e10, r11, o8) => { + if (void 0 === e10) return; let t8; - for (const i10 of e9) { - const e10 = r9.resolve(i10); - if (!ro4(e10, o9, r9)) continue; - const s11 = r9.normalizeForCompare(e10).length; - (void 0 === t8 || s11 > t8.keyLength) && (t8 = { ceiling: e10, keyLength: s11 }); + for (const i14 of e10) { + const e11 = o8.resolve(i14); + if (!nr4(e11, r11, o8)) continue; + const s10 = o8.normalizeForCompare(e11).length; + (void 0 === t8 || s10 > t8.keyLength) && (t8 = { ceiling: e11, keyLength: s10 }); } return t8?.ceiling; - })(e8, o8, r8); + })(e9, r10, o7); if (void 0 === t7) return () => false; - const i9 = r8.normalizeForCompare(t7); - return (e9) => r8.normalizeForCompare(e9) === i9; - })(t6, s10, r7), n6 = /* @__PURE__ */ ((e8) => void 0 === e8 ? {} : { commonDirSupplied: true })(i8); + const i13 = o7.normalizeForCompare(t7); + return (e10) => o7.normalizeForCompare(e10) === i13; + })(t6, s9, o6), n7 = /* @__PURE__ */ ((e9) => void 0 === e9 ? {} : { commonDirSupplied: true })(i12); for (; ; ) { - if (a7(s10)) return; - const o8 = r7.join(s10, ".git"), t7 = await e7.stat(o8); + if (a5(s9)) return; + const r10 = o6.join(s9, ".git"), t7 = await e8.stat(r10); if (true === t7?.isDirectory) { - const t8 = await so4(e7, o8, r7, i8); - if (void 0 !== t8) return { ...t8, route: "DISCOVERED", origin: s10, ...n6 }; - } else if (true === t7?.isFile) return { ...await to4(e7, s10, o8, r7, t7.size, i8), route: "DISCOVERED", origin: s10, ...n6 }; - const m5 = await so4(e7, s10, r7, i8); - if (void 0 !== m5) return { ...m5, route: "BARE_DIR" }; - const c6 = r7.dirname(s10); - if (c6 === s10) return; - s10 = c6; - } - })(e6, o6, r6, t5.ceilingDirs, s9); - if (void 0 !== a6) return Ao4(e6, a6, r6, o6, { ...void 0 !== t5.bare ? { bare: t5.bare } : {}, ...void 0 !== t5.workDir ? { workDir: t5.workDir } : {}, trustOptions: { ...void 0 !== t5.trust ? { trust: t5.trust } : {}, ...void 0 !== t5.trustedDirectories ? { trustedDirectories: t5.trustedDirectories } : {}, ...void 0 !== t5.bareRepositories ? { bareRepositories: t5.bareRepositories } : {} } }, i7); -}; -var Wo4 = (e6) => { - if (void 0 !== e6.cwd && !Uo4(e6.cwd)) throw oe("cwd", "must be an absolute path"); - No4(e6.gitDir), Ho4(e6.workDir), Mo4(e6.commonDir), Vo4(e6.ceilingDirs), Go4(e6.trust), _o4(e6.trustedDirectories), Xo4(e6.bareRepositories); - const o6 = e6.config; - void 0 !== o6 && (qo3(o6.parallelism), Ko4(o6.maxResponseBytes), Jo3(o6.breakStaleLockMs), Qo3(o6.maxObjectsPerPack), Yo4(o6.maxDnsResults), Zo3(o6.dnsResolver)); -}; -var Lo4 = /^[A-Za-z]:[/\\]/; -var Uo4 = (e6) => e6.startsWith("/") || e6.startsWith("\\\\") || Lo4.test(e6); -var No4 = (e6) => { - if (void 0 !== e6 && 0 === e6.length) throw oe("gitDir", "must not be empty"); -}; -var Ho4 = (e6) => { - if (void 0 !== e6 && 0 === e6.length) throw oe("workDir", "must not be empty"); -}; -var Mo4 = (e6) => { - if (void 0 !== e6 && 0 === e6.length) throw oe("commonDir", "must not be empty"); -}; -var Vo4 = (e6) => { - if (void 0 !== e6) for (const o6 of e6) { - if (0 === o6.length) throw oe("ceilingDirs", "entries must not be empty"); - if (!Uo4(o6)) throw oe("ceilingDirs", "entries must be absolute paths"); - } -}; -var Go4 = (e6) => { - if (void 0 !== e6 && "ownership" !== e6 && "always" !== e6) throw oe("trust", "must be 'ownership' or 'always'"); -}; -var Xo4 = (e6) => { - if (void 0 !== e6 && "all" !== e6 && "explicit" !== e6) throw oe("bareRepositories", "must be 'all' or 'explicit'"); -}; -var _o4 = (e6) => { - if (void 0 !== e6) for (const o6 of e6) { - if (0 === o6.length) throw oe("trustedDirectories", "entries must not be empty"); - if ("*" !== o6 && !Uo4(o6)) throw oe("trustedDirectories", "entries must be '*' or an absolute path"); - } -}; -var qo3 = (e6) => { - if (void 0 !== e6) { - if (!Number.isInteger(e6)) throw oe("parallelism", "must be an integer"); - if (e6 < 1 || e6 > 32) throw oe("parallelism", `must be in 1..32 (got ${e6})`); - } -}; -var Ko4 = (e6) => { - if (void 0 !== e6 && e6 < 1024) throw oe("maxResponseBytes", `must be >= 1024 (got ${e6})`); -}; -var Jo3 = (e6) => { - if (void 0 !== e6 && e6 < 0) throw oe("breakStaleLockMs", `must be >= 0 (got ${e6})`); -}; -var Qo3 = (e6) => { - if (void 0 !== e6 && e6 < 1) throw oe("maxObjectsPerPack", `must be >= 1 (got ${e6})`); -}; -var Yo4 = (e6) => { - if (void 0 !== e6 && e6 < 1) throw oe("maxDnsResults", `must be >= 1 (got ${e6})`); -}; -var Zo3 = (e6) => { - if (void 0 !== e6 && "function" != typeof e6) throw oe("dnsResolver", "must be a function"); -}; -var er4 = ["fs", "transport", "compressor", "hash"]; -var or4 = (e6) => (rr4(e6), e6); -var rr4 = (e6) => { - if (null !== e6 && "object" == typeof e6 && !Object.isFrozen(e6)) { - Object.freeze(e6); - for (const o6 of Object.keys(e6)) rr4(e6[o6]); - } -}; -var tr4 = (e6) => ".." === e6 || e6.startsWith("..") && /^[. ]*$/.test(e6.slice(2)); -var ir4 = (e6) => e6.includes("..") && e6.split(/[\\/]/).some(tr4); -var sr4 = (e6) => e6.filter((e7) => e7.length > 0 && !ir4(e7)); -var ar4 = (e6, o6, r6 = []) => { - const t5 = sr4("string" == typeof o6 ? [o6] : o6); - if (0 === t5.length) throw N("string" == typeof o6 ? o6 : o6[0] ?? ""); - const i7 = new Set(sr4(r6)), s9 = (e7) => { - if (ir4(e7)) throw N(e7); - if (!t5.some((o7) => mr4(e7, o7)) && !i7.has(e7)) throw N(e7); + const t8 = await dr4(e8, r10, o6, i12); + if (void 0 !== t8) return { ...t8, route: "DISCOVERED", origin: s9, ...n7 }; + } else if (true === t7?.isFile) return { ...await cr4(e8, s9, r10, o6, t7.size, i12), route: "DISCOVERED", origin: s9, ...n7 }; + const c5 = await dr4(e8, s9, o6, i12); + if (void 0 !== c5) return { ...c5, route: "BARE_DIR" }; + const m7 = o6.dirname(s9); + if (m7 === s9) return; + s9 = m7; + } + })(e7, r8, o5, t5.ceilingDirs, s8); + if (void 0 !== a4) return Ur4(e7, a4, o5, r8, { ...void 0 !== t5.bare ? { bare: t5.bare } : {}, ...void 0 !== t5.workDir ? { workDir: t5.workDir } : {}, trustOptions: { ...void 0 !== t5.trust ? { trust: t5.trust } : {}, ...void 0 !== t5.trustedDirectories ? { trustedDirectories: t5.trustedDirectories } : {}, ...void 0 !== t5.bareRepositories ? { bareRepositories: t5.bareRepositories } : {} } }, i11); +}; +var Vr4 = (e7) => { + if (void 0 !== e7.cwd && !Mr4(e7.cwd)) throw de("cwd", "must be an absolute path"); + Xr4(e7.gitDir), _r4(e7.workDir), qr4(e7.commonDir), Gr4(e7.ceilingDirs), Zr4(e7.trust), Yr4(e7.trustedDirectories), Qr4(e7.bareRepositories); + const r8 = e7.config; + void 0 !== r8 && (Jr4(r8.parallelism), eo4(r8.maxResponseBytes), ro4(r8.breakStaleLockMs), oo4(r8.maxObjectsPerPack), to4(r8.maxDnsResults), io4(r8.dnsResolver)); +}; +var Hr4 = /^[A-Za-z]:[/\\]/; +var Mr4 = (e7) => e7.startsWith("/") || e7.startsWith("\\\\") || Hr4.test(e7); +var Xr4 = (e7) => { + if (void 0 !== e7 && 0 === e7.length) throw de("gitDir", "must not be empty"); +}; +var _r4 = (e7) => { + if (void 0 !== e7 && 0 === e7.length) throw de("workDir", "must not be empty"); +}; +var qr4 = (e7) => { + if (void 0 !== e7 && 0 === e7.length) throw de("commonDir", "must not be empty"); +}; +var Gr4 = (e7) => { + if (void 0 !== e7) for (const r8 of e7) { + if (0 === r8.length) throw de("ceilingDirs", "entries must not be empty"); + if (!Mr4(r8)) throw de("ceilingDirs", "entries must be absolute paths"); + } +}; +var Zr4 = (e7) => { + if (void 0 !== e7 && "ownership" !== e7 && "always" !== e7) throw de("trust", "must be 'ownership' or 'always'"); +}; +var Qr4 = (e7) => { + if (void 0 !== e7 && "all" !== e7 && "explicit" !== e7) throw de("bareRepositories", "must be 'all' or 'explicit'"); +}; +var Yr4 = (e7) => { + if (void 0 !== e7) for (const r8 of e7) { + if (0 === r8.length) throw de("trustedDirectories", "entries must not be empty"); + if ("*" !== r8 && !Mr4(r8)) throw de("trustedDirectories", "entries must be '*' or an absolute path"); + } +}; +var Jr4 = (e7) => { + void 0 !== e7 && ("number" != typeof e7 ? (Kr4(e7.cpu), Kr4(e7.io)) : Kr4(e7)); +}; +var Kr4 = (e7) => { + if (void 0 !== e7) { + if (!Number.isInteger(e7)) throw de("parallelism", "must be an integer"); + if (e7 < 1 || e7 > 32) throw de("parallelism", `must be in 1..32 (got ${e7})`); + } +}; +var eo4 = (e7) => { + if (void 0 !== e7 && e7 < 1024) throw de("maxResponseBytes", `must be >= 1024 (got ${e7})`); +}; +var ro4 = (e7) => { + if (void 0 !== e7 && e7 < 0) throw de("breakStaleLockMs", `must be >= 0 (got ${e7})`); +}; +var oo4 = (e7) => { + if (void 0 !== e7 && e7 < 1) throw de("maxObjectsPerPack", `must be >= 1 (got ${e7})`); +}; +var to4 = (e7) => { + if (void 0 !== e7 && e7 < 1) throw de("maxDnsResults", `must be >= 1 (got ${e7})`); +}; +var io4 = (e7) => { + if (void 0 !== e7 && "function" != typeof e7) throw de("dnsResolver", "must be a function"); +}; +var so4 = ["fs", "transport", "compressor", "hash"]; +var ao4 = /* @__PURE__ */ new WeakSet(); +var no4 = /* @__PURE__ */ new Set(["node"]); +var co4 = (e7) => (mo4(e7), e7); +var mo4 = (e7) => { + if (null !== e7 && "object" == typeof e7 && !Object.isFrozen(e7)) { + Object.freeze(e7); + for (const r8 of Object.keys(e7)) mo4(e7[r8]); + } +}; +var fo4 = (e7) => ".." === e7 || e7.startsWith("..") && /^[. ]*$/.test(e7.slice(2)); +var lo4 = (e7) => e7.includes("..") && e7.split(/[\\/]/).some(fo4); +var uo4 = (e7) => e7.filter((e8) => e8.length > 0 && !lo4(e8)); +var ho4 = (e7, r8, o5 = [], { guardReads: t5 = true } = {}) => { + const i11 = uo4("string" == typeof r8 ? [r8] : r8); + if (0 === i11.length) throw k("string" == typeof r8 ? r8 : r8[0] ?? ""); + const s8 = new Set(uo4(o5)), a4 = (e8) => { + if (lo4(e8)) throw k(e8); + if (!i11.some((r9) => po4(e8, r9)) && !s8.has(e8)) throw k(e8); + }, n7 = (e8) => { + t5 && a4(e8); }; - return { read: (o7) => (s9(o7), e6.read(o7)), readSlice: (o7, r7, t6) => (s9(o7), e6.readSlice(o7, r7, t6)), readUtf8: (o7) => (s9(o7), e6.readUtf8(o7)), write: (o7, r7) => (s9(o7), e6.write(o7, r7)), writeStream: (o7, r7) => (s9(o7), e6.writeStream(o7, r7)), writeExclusive: (o7, r7) => (s9(o7), e6.writeExclusive(o7, r7)), writeUtf8: (o7, r7) => (s9(o7), e6.writeUtf8(o7, r7)), appendUtf8: (o7, r7) => (s9(o7), e6.appendUtf8(o7, r7)), exists: (o7) => (s9(o7), e6.exists(o7)), stat: (o7) => (s9(o7), e6.stat(o7)), lstat: (o7) => (s9(o7), e6.lstat(o7)), readdir: (o7) => (s9(o7), e6.readdir(o7)), mkdir: (o7) => (s9(o7), e6.mkdir(o7)), rm: (o7) => (s9(o7), e6.rm(o7)), rename: (o7, r7) => (s9(o7), s9(r7), e6.rename(o7, r7)), readlink: (o7) => (s9(o7), e6.readlink(o7)), symlink: (o7, r7) => (s9(r7), e6.symlink(o7, r7)), chmod: (o7, r7) => (s9(o7), e6.chmod(o7, r7)), rmRecursive: (o7) => (s9(o7), e6.rmRecursive(o7)), openWithNoFollow: (o7, r7) => (s9(o7), e6.openWithNoFollow(o7, r7)), homedir: () => e6.homedir(), xdgConfigHome: () => e6.xdgConfigHome(), systemConfigPath: () => e6.systemConfigPath() }; -}; -var nr4 = (e6) => e6.replace(/\\/g, "/"); -var mr4 = (e6, o6) => { - const r6 = nr4(e6), t5 = nr4(o6); - if (r6 === t5) return true; - const i7 = t5.endsWith("/") ? t5 : `${t5}/`; - return r6.startsWith(i7); -}; -var cr4 = (e6) => { - const o6 = [...void 0 !== e6.workDir ? [e6.workDir] : [], e6.gitDir, e6.commonDir ?? e6.gitDir], r6 = []; - for (const e7 of o6) r6.includes(e7) || r6.push(e7); - return r6.filter((e7) => !r6.some((o7) => o7 !== e7 && mr4(e7, o7))); -}; -var fr4 = (e6, o6) => { - const r6 = o6?.allowInsecure ?? false, t5 = o6?.allowPrivateNetworks ?? false, i7 = o6?.dnsResolver ?? dr4; - return { request: async (o7) => (await Al3(o7.url, { resolver: i7, allowInsecure: r6, allowPrivateNetworks: t5 }), e6.request(o7)) }; -}; -var dr4 = async () => []; -var lr4 = (e6) => { - const o6 = [], r6 = (e7) => { + return { read: (r9) => (n7(r9), e7.read(r9)), readSlice: (r9, o6, t6) => (n7(r9), e7.readSlice(r9, o6, t6)), readUtf8: (r9) => (n7(r9), e7.readUtf8(r9)), write: (r9, o6) => (a4(r9), e7.write(r9, o6)), writeStream: (r9, o6) => (a4(r9), e7.writeStream(r9, o6)), writeExclusive: (r9, o6) => (a4(r9), e7.writeExclusive(r9, o6)), writeUtf8: (r9, o6) => (a4(r9), e7.writeUtf8(r9, o6)), appendUtf8: (r9, o6) => (a4(r9), e7.appendUtf8(r9, o6)), exists: (r9) => (n7(r9), e7.exists(r9)), stat: (r9) => (n7(r9), e7.stat(r9)), lstat: (r9) => (n7(r9), e7.lstat(r9)), readdir: (r9) => (n7(r9), e7.readdir(r9)), mkdir: (r9) => (a4(r9), e7.mkdir(r9)), rm: (r9) => (a4(r9), e7.rm(r9)), rename: (r9, o6) => (a4(r9), a4(o6), e7.rename(r9, o6)), readlink: (r9) => (n7(r9), e7.readlink(r9)), symlink: (r9, o6) => (a4(o6), e7.symlink(r9, o6)), chmod: (r9, o6) => (a4(r9), e7.chmod(r9, o6)), rmRecursive: (r9) => (a4(r9), e7.rmRecursive(r9)), openWithNoFollow: (r9, o6) => ("write" === o6 ? a4(r9) : n7(r9), e7.openWithNoFollow(r9, o6)), homedir: () => e7.homedir(), xdgConfigHome: () => e7.xdgConfigHome(), systemConfigPath: () => e7.systemConfigPath() }; +}; +var vo4 = (e7) => e7.replace(/\\/g, "/"); +var po4 = (e7, r8) => { + const o5 = vo4(e7), t5 = vo4(r8); + if (o5 === t5) return true; + const i11 = t5.endsWith("/") ? t5 : `${t5}/`; + return o5.startsWith(i11); +}; +var wo4 = (e7) => { + const r8 = [...void 0 !== e7.workDir ? [e7.workDir] : [], e7.gitDir, e7.commonDir ?? e7.gitDir], o5 = []; + for (const e8 of r8) o5.includes(e8) || o5.push(e8); + return o5.filter((e8) => !o5.some((r9) => r9 !== e8 && po4(e8, r9))); +}; +var go4 = (e7, r8) => { + const o5 = r8?.allowInsecure ?? false, t5 = r8?.allowPrivateNetworks ?? false, i11 = r8?.dnsResolver ?? bo4; + return { request: async (r9) => (await Hm3(r9.url, { resolver: i11, allowInsecure: o5, allowPrivateNetworks: t5 }), e7.request(r9)) }; +}; +var bo4 = async () => []; +var ko4 = (e7) => { + const r8 = [], o5 = (e8) => { try { - return e7(); + return e8(); } catch { return; } - }, t5 = r6(() => e6.homedir()), i7 = r6(() => e6.xdgConfigHome()), s9 = r6(() => e6.systemConfigPath()); - return void 0 !== t5 && o6.push(`${t5}/.gitconfig`), void 0 !== i7 && o6.push(`${i7}/git/config`), void 0 !== s9 && s9.length > 0 && o6.push(s9), o6; -}; -var ur4 = async (e6, o6) => { - Wo4(e6); - const r6 = e6.cwd ?? (es3() ? globalThis.process.cwd() : "/"), t5 = ((e7, o7) => { - const r7 = { fs: e7.fs ?? o7.fs, hash: e7.hash ?? o7.hash, compressor: e7.compressor ?? o7.compressor, transport: e7.transport ?? o7.transport }; - if (void 0 === r7.fs) throw ie(o7.runtime, "fs adapter missing"); - if (void 0 === r7.hash) throw ie(o7.runtime, "hash adapter missing"); - if (void 0 === r7.compressor) throw ie(o7.runtime, "compressor adapter missing"); - if (void 0 === r7.transport) throw ie(o7.runtime, "transport adapter missing"); - return r7; - })(e6, o6), i7 = cr4(o6.layout), s9 = true === e6.unsafeRawAdapters ? t5 : { ...t5, fs: ar4(t5.fs, i7, lr4(t5.fs)), transport: fr4(t5.transport, e6.config) }, a6 = void 0 !== e6.config ? or4({ ...e6.config }) : void 0, n6 = new AbortController(), m5 = void 0 !== e6.signal ? AbortSignal.any([n6.signal, e6.signal]) : n6.signal, c6 = ((e7) => { - const { option: o7, declared: r7, service: t6 } = e7; - if (void 0 !== t6 && void 0 !== o7 && t6 !== o7) throw ae(t6, o7, "hash"); - if (void 0 !== t6 && void 0 !== r7 && t6 !== r7) throw ae(t6, r7, "hash"); - if (void 0 !== o7 && void 0 !== r7 && o7 !== r7) throw ae(o7, r7, "option"); - return o7 ?? t6 ?? r7 ?? "sha1"; - })({ ...void 0 !== e6.algorithm ? { option: e6.algorithm } : {}, ...void 0 !== o6.layout.objectFormat ? { declared: o6.layout.objectFormat } : {}, ...void 0 !== e6.hash?.algorithm ? { service: e6.hash.algorithm } : {} }), f2 = ((e7, o7) => { - if (e7.algorithm === o7) return e7; - const r7 = e7.withAlgorithm?.(o7); - if (void 0 === r7) throw h("openRepository", `the supplied hash service cannot switch to the repository's declared algorithm ${o7}`); - return r7; - })(s9.hash, c6), d5 = { fs: s9.fs, hash: f2, compressor: s9.compressor, transport: s9.transport, progress: e6.progress ?? g2, layout: or4(o6.layout), cwd: r6, runtime: o6.runtime, hashConfig: n(c6), deltaCache: o6.deltaCache, signal: m5, worktreeFs: (r7) => { - const s10 = [..."string" == typeof r7 ? [r7] : r7, ...i7], a7 = o6.makeWorktreeFs?.(s10) ?? t5.fs; - return true === e6.unsafeRawAdapters ? a7 : ar4(a7, s10, lr4(a7)); - } }, l4 = void 0 !== e6.logger ? t2(e6.logger) : void 0; - let u6; - const h6 = Object.freeze({ ...d5, ...(v8 = { config: a6, logger: l4, hooks: false === e6.hooks ? void 0 : e6.hooks ?? o6.hooks, command: false === e6.command ? void 0 : e6.command ?? o6.command, env: o6.env, ssh: o6.ssh }, { ...void 0 !== v8.config ? { config: v8.config } : {}, ...void 0 !== v8.logger ? { logger: v8.logger } : {}, ...void 0 !== v8.hooks ? { hooks: v8.hooks } : {}, ...void 0 !== v8.command ? { command: v8.command } : {}, ...void 0 !== v8.env ? { env: v8.env } : {}, ...void 0 !== v8.ssh ? { ssh: v8.ssh } : {} }), promisor: { fetch: (e7) => k4(u6).fetch(e7) } }); - var v8; - u6 = h6; - let p5, w4 = "OPEN"; - const b5 = () => { - if (h6.signal.aborted) throw se(); - }, me2 = ((e7) => { - const o7 = D2(), r7 = G2(o7), t6 = R2(T2(F2(), e7.fs, r7.stream, o7)), i8 = L2(I2()), s10 = O2(); - return bp2({ ctx: e7, indexResolver: t6, treeResolver: i8, workdirEnumerator: s10 }); - })(h6), ro5 = Object.freeze({ snapshot: me2, add: (e7, o7) => (b5(), z3(h6, e7, o7)), archive: (e7) => (b5(), s4(h6, e7)), blame: (e7, o7) => (b5(), x4(h6, e7, o7)), branch: Vf3(h6, b5), bundle: Kf3(h6, b5), checkout: (e7) => (b5(), oo3(h6, e7)), catFile: (e7) => (b5(), a3(h6, e7)), cherryPick: Gf3(h6, b5), clone: (e7) => (b5(), Mc3(h6, e7)), commit: (e7) => (b5(), Qc3(h6, e7)), config: Jf3(h6, b5), describe: (e7, o7) => (b5(), O5(h6, e7, o7)), diff: (e7) => (b5(), o3(h6, e7 ?? {})), fetch: (e7) => (b5(), A6(h6, e7)), fetchMissing: (e7) => (b5(), g4(h6, e7)), fsck: (e7) => (b5(), k5(h6, e7)), grep: (e7) => (b5(), v4(h6, e7)), init: (e7) => (b5(), a4(h6, e7)), log: (e7) => (b5(), s5(h6, e7)), merge: Eu3(h6, b5), mv: (e7, o7, r7) => (b5(), D7(h6, e7, o7, r7)), nameRev: (e7, o7) => (b5(), v3(h6, e7, o7)), notes: Ou3(h6, b5), packObjects: (e7) => (b5(), p3(h6, e7)), packRefs: () => (b5(), o4(h6)), pull: (e7) => (b5(), v5(h6, e7)), push: (e7) => (b5(), X4(h6, e7)), readFileAt: (e7, o7, r7) => (b5(), n5(h6, e7, o7, r7)), rangeDiff: (e7) => (b5(), h4(h6, e7)), rebase: bw3(h6, b5), reflog: (e7) => (b5(), p4(h6, e7)), remote: Pw3(h6, b5), reset: (e7) => (b5(), u5(h6, e7)), revert: Qw3(h6, b5), revList: (e7) => (b5(), e4(h6, e7)), revParse: (e7) => (b5(), wr3(h6, e7)), rm: (e7, o7) => (b5(), y5(h6, e7, o7)), shortlog: (e7) => (b5(), r4(h6, e7)), show: (e7, o7) => (b5(), e5(h6, e7, o7)), sparseCheckout: yh3(h6, b5), stash: Dh3(h6, b5), status: () => (b5(), Pd3(h6)), submodule: Qh3(h6, b5), tag: fl3(h6, b5), whatchanged: (e7) => (b5(), s7(h6, e7)), worktree: bl3(h6, b5), primitives: Object.freeze({ bisectMidpoint: (e7, o7) => (b5(), jw2(h6, e7, o7)), catFileBatch: (e7, o7) => (b5(), Ul2(h6, e7, o7)), createCommit: (e7) => (b5(), vh2(h6, e7)), diffTrees: (e7, o7, r7) => (b5(), Sf2(h6, e7, o7, r7)), flattenTree: (e7) => (b5(), dh2(h6, e7)), commonGitDir: () => (b5(), Da2(h6)), getRepoRoot: () => (b5(), Ca2(h6)), hashBlob: (e7, o7) => (b5(), qw2(h6, e7, o7)), isIgnored: (e7) => (b5(), Vw2(h6, e7)), mergeBase: (e7, o7) => (b5(), wl2(h6, e7, o7)), readBlob: (e7, o7) => (b5(), Bc2(h6, e7, o7)), readIndex: () => (b5(), Cd2(h6)), readObject: (e7, o7) => (b5(), Ui2(h6, e7, o7)), readTree: (e7) => (b5(), nu2(h6, e7)), resolveRef: (e7, o7) => (b5(), eu2(h6, e7, o7)), runHook: (e7, o7) => (b5(), zl2(h6, e7, o7)), streamBlob: (e7, o7) => (b5(), id2(h6, e7, o7)), updateRef: (e7, o7, r7) => (b5(), nc2(h6, e7, o7, r7)), walkCommits: (e7) => (b5(), nl2(h6, e7)), walkCommitsByDate: (e7) => (b5(), em2(h6, e7)), walkSubmodules: (e7) => (b5(), fm2(h6, e7)), walkTree: (e7, o7) => (b5(), yd2(h6, e7, o7)), walkWorkingTree: (e7) => (b5(), zd2(h6, e7)), writeObject: (e7) => (b5(), qd2(h6, e7)), writeTree: (e7) => (b5(), Hl2(h6, e7)) }), ctx: h6, layout: h6.layout, dispose: async () => { - if ("DISPOSED" !== w4) return void 0 !== p5 || (w4 = "DISPOSING", n6.abort(), p5 = (async () => { - await new Promise((e7) => { - "function" == typeof setImmediate ? setImmediate(e7) : setTimeout(e7, 0); - }); + }, t5 = o5(() => e7.homedir()), i11 = o5(() => e7.xdgConfigHome()), s8 = o5(() => e7.systemConfigPath()); + return void 0 !== t5 && r8.push(`${t5}/.gitconfig`), void 0 !== i11 && r8.push(`${i11}/git/config`), void 0 !== s8 && s8.length > 0 && r8.push(s8), r8; +}; +var yo4 = async (e7, r8) => { + Vr4(e7); + const o5 = e7.cwd ?? (es3() ? globalThis.process.cwd() : "/"), t5 = ((e8, r9) => { + const o6 = { fs: e8.fs ?? r9.fs, hash: e8.hash ?? r9.hash, compressor: e8.compressor ?? r9.compressor, transport: e8.transport ?? r9.transport }; + if (void 0 === o6.fs) throw le(r9.runtime, "fs adapter missing"); + if (void 0 === o6.hash) throw le(r9.runtime, "hash adapter missing"); + if (void 0 === o6.compressor) throw le(r9.runtime, "compressor adapter missing"); + if (void 0 === o6.transport) throw le(r9.runtime, "transport adapter missing"); + return void 0 === e8.fs && no4.has(r9.runtime) && ao4.add(o6.fs), o6; + })(e7, r8), i11 = wo4(r8.layout), s8 = ao4.has(t5.fs), a4 = true === e7.unsafeRawAdapters ? t5 : { ...t5, fs: ho4(t5.fs, i11, ko4(t5.fs), { guardReads: !s8 }), transport: go4(t5.transport, e7.config) }, n7 = /* @__PURE__ */ new Map(), c5 = void 0 !== r8.makeWorktreeFs || s8, m7 = void 0 !== e7.config ? co4({ ...e7.config }) : void 0, d6 = new AbortController(), f2 = void 0 !== e7.signal ? AbortSignal.any([d6.signal, e7.signal]) : d6.signal, l4 = ((e8) => { + const { option: r9, declared: o6, service: t6 } = e8; + if (void 0 !== t6 && void 0 !== r9 && t6 !== r9) throw fe(t6, r9, "hash"); + if (void 0 !== t6 && void 0 !== o6 && t6 !== o6) throw fe(t6, o6, "hash"); + if (void 0 !== r9 && void 0 !== o6 && r9 !== o6) throw fe(r9, o6, "option"); + return r9 ?? t6 ?? o6 ?? "sha1"; + })({ ...void 0 !== e7.algorithm ? { option: e7.algorithm } : {}, ...void 0 !== r8.layout.objectFormat ? { declared: r8.layout.objectFormat } : {}, ...void 0 !== e7.hash?.algorithm ? { service: e7.hash.algorithm } : {} }), u6 = ((e8, r9) => { + if (e8.algorithm === r9) return e8; + const o6 = e8.withAlgorithm?.(r9); + if (void 0 === o6) throw w("openRepository", `the supplied hash service cannot switch to the repository's declared algorithm ${r9}`); + return o6; + })(a4.hash, l4), h5 = { fs: a4.fs, hash: u6, compressor: a4.compressor, transport: a4.transport, progress: e7.progress ?? g2, layout: co4(r8.layout), cwd: o5, runtime: r8.runtime, hashConfig: i(l4), deltaCache: r8.deltaCache, signal: f2, worktreeFs: (o6) => { + const s9 = [..."string" == typeof o6 ? [o6] : o6, ...i11], a5 = s9.join("\0"), m8 = n7.get(a5); + if (void 0 !== m8) return m8; + const d7 = r8.makeWorktreeFs?.(s9) ?? t5.fs, f3 = true === e7.unsafeRawAdapters ? d7 : ho4(d7, s9, ko4(d7), { guardReads: !c5 }); + return n7.set(a5, f3), f3; + } }, v6 = void 0 !== e7.logger ? n2(e7.logger) : void 0; + let p6; + const w6 = Object.freeze({ ...h5, ...(b5 = { config: m7, logger: v6, hooks: false === e7.hooks ? void 0 : e7.hooks ?? r8.hooks, command: false === e7.command ? void 0 : e7.command ?? r8.command, env: r8.env, ssh: r8.ssh, concurrency: r8.concurrency }, { ...void 0 !== b5.config ? { config: b5.config } : {}, ...void 0 !== b5.logger ? { logger: b5.logger } : {}, ...void 0 !== b5.hooks ? { hooks: b5.hooks } : {}, ...void 0 !== b5.command ? { command: b5.command } : {}, ...void 0 !== b5.env ? { env: b5.env } : {}, ...void 0 !== b5.ssh ? { ssh: b5.ssh } : {}, ...void 0 !== b5.concurrency ? { concurrency: b5.concurrency } : {} }), promisor: { fetch: (e8) => g3(p6).fetch(e8) }, session: e2() }); + var b5; + p6 = w6; + let le2, nr5 = "OPEN"; + const cr5 = () => { + if (w6.signal.aborted) throw ue(); + }, mr5 = ((e8) => { + const r9 = D2(), o6 = G2(r9), t6 = R2(T2(F2(), e8.fs, o6.stream, r9)), i12 = L2(I2()), s9 = O2(); + return cv({ ctx: e8, indexResolver: t6, treeResolver: i12, workdirEnumerator: s9 }); + })(w6), dr5 = Object.freeze({ snapshot: mr5, add: (e8, r9) => (cr5(), z3(w6, e8, r9)), archive: (e8) => (cr5(), p3(w6, e8)), blame: (e8, r9) => (cr5(), D4(w6, e8, r9)), branch: Hu3(w6, cr5), bundle: Ou3(w6, cr5), checkout: (e8) => (cr5(), jo3(w6, e8)), catFile: (e8) => (cr5(), r3(w6, e8)), cherryPick: Au3(w6, cr5), clone: (e8) => (cr5(), dd3(w6, e8)), commit: (e8) => (cr5(), Id3(w6, e8)), config: Su3(w6, cr5), describe: (e8, r9) => (cr5(), j6(w6, e8, r9)), diff: (e8) => (cr5(), o3(w6, e8 ?? {})), fetch: (e8) => (cr5(), x5(w6, e8)), fetchMissing: (e8) => (cr5(), w3(w6, e8)), fsck: (e8) => (cr5(), k4(w6, e8)), grep: (e8) => (cr5(), g4(w6, e8)), init: (e8) => (cr5(), r4(w6, e8)), log: (e8) => (cr5(), s4(w6, e8)), maintenance: (e8) => (cr5(), m4(w6, e8)), merge: cw3(w6, cr5), mv: (e8, r9, o6) => (cr5(), D7(w6, e8, r9, o6)), nameRev: (e8, r9) => (cr5(), h3(w6, e8, r9)), notes: mw3(w6, cr5), packObjects: (e8) => (cr5(), m5(w6, e8)), packRefs: () => (cr5(), i8(w6)), pull: (e8) => (cr5(), v3(w6, e8)), push: (e8) => (cr5(), Q4(w6, e8)), readFileAt: (e8, r9, o6) => (cr5(), n6(w6, e8, r9, o6)), rangeDiff: (e8) => (cr5(), p4(w6, e8)), rebase: sh3(w6, cr5), reflog: (e8) => (cr5(), p5(w6, e8)), remote: kh3(w6, cr5), reset: (e8) => (cr5(), u5(w6, e8)), revert: Nh3(w6, cr5), revList: (e8) => (cr5(), e5(w6, e8)), revParse: (e8) => (cr5(), Pr3(w6, e8)), rm: (e8, r9) => (cr5(), y4(w6, e8, r9)), shortlog: (e8) => (cr5(), r6(w6, e8)), show: (e8, r9) => (cr5(), e6(w6, e8, r9)), sparseCheckout: al3(w6, cr5), stash: ul3(w6, cr5), status: () => (cr5(), uf3(w6)), submodule: Nl3(w6, cr5), tag: Gl3(w6, cr5), whatchanged: (e8) => (cr5(), s6(w6, e8)), worktree: sm3(w6, cr5), primitives: Object.freeze({ bisectMidpoint: (e8, r9) => (cr5(), wm2(w6, e8, r9)), catFileBatch: (e8, r9) => (cr5(), vy2(w6, e8, r9)), createCommit: (e8) => (cr5(), np2(w6, e8)), diffTrees: (e8, r9, o6) => (cr5(), vh2(w6, e8, r9, o6)), flattenTree: (e8) => (cr5(), Wy2(w6, e8)), commonGitDir: () => (cr5(), oo2(w6)), getRepoRoot: () => (cr5(), eo2(w6)), hashBlob: (e8, r9) => (cr5(), km2(w6, e8, r9)), isIgnored: (e8) => (cr5(), bm2(w6, e8)), mergeBase: (e8, r9) => (cr5(), kw2(w6, e8, r9)), readBlob: (e8, r9) => (cr5(), gu2(w6, e8, r9)), readIndex: () => (cr5(), hf2(w6)), readObject: (e8, r9) => (cr5(), Ts2(w6, e8, r9)), readTree: (e8) => (cr5(), Gf2(w6, e8)), resolveRef: (e8, r9) => (cr5(), Wf2(w6, e8, r9)), runHook: (e8, r9) => (cr5(), Iy2(w6, e8, r9)), streamBlob: (e8, r9) => (cr5(), Au2(w6, e8, r9)), updateRef: (e8, r9, o6) => (cr5(), Md2(w6, e8, r9, o6)), walkCommits: (e8) => (cr5(), iw2(w6, e8)), walkCommitsByDate: (e8) => (cr5(), Om2(w6, e8)), walkSubmodules: (e8) => (cr5(), _m2(w6, e8)), walkTree: (e8, r9) => (cr5(), af2(w6, e8, r9)), walkWorkingTree: (e8) => (cr5(), Pf2(w6, e8)), writeObject: (e8) => (cr5(), Rf2(w6, e8)), writeTree: (e8) => (cr5(), Sy2(w6, e8)) }), ctx: w6, layout: w6.layout, dispose: async () => { + if ("DISPOSED" !== nr5) return void 0 !== le2 || (nr5 = "DISPOSING", d6.abort(), le2 = (async () => { try { - await _i2(h6); + await new Promise((e8) => { + "function" == typeof setImmediate ? setImmediate(e8) : setTimeout(e8, 0); + }); + try { + await Ps2(w6); + } finally { + try { + w6.deltaCache.clear(), ((e8) => { + cr2(e8), wl2(e8), wf2(e8); + })(w6); + } finally { + await (async (e8) => { + await Promise.all(so4.map((r9) => (async (e9, r10) => { + const o6 = e9[r10]; + if ("function" == typeof o6.dispose) try { + await o6.dispose(); + } catch (o7) { + e9.logger?.warn?.("disposeAdapters: port dispose threw", { port: r10, err: String(o7) }); + } + })(e8, r9))); + })(w6); + } + } } finally { - await (async (e7) => { - await Promise.all(er4.map((o7) => (async (e8, o8) => { - const r7 = e8[o8]; - if ("function" == typeof r7.dispose) try { - await r7.dispose(); - } catch (r8) { - e8.logger?.warn?.("disposeAdapters: port dispose threw", { port: o8, err: String(r8) }); - } - })(e7, o7))); - })(h6); + nr5 = "DISPOSED"; } - w4 = "DISPOSED"; - })()), p5; + })()), le2; } }); - return ro5; + return dr5; }; // node_modules/@scolladon/tsgit/dist/esm/index.node.js -var k7 = async (s9 = {}) => { - Wo4(s9); - const a6 = s9.cwd ?? process.cwd(), { path: o6, canonical: i7 } = await I9(r5.resolve(a6)), { layout: n6, canonical: c6 } = await F5(o6, s9, i7), f2 = i7 && c6, y6 = cr4(n6), b5 = new rt2(y6, G3, void 0, f2), k8 = s9.algorithm ?? "sha1", _5 = { fs: b5, hash: new at2(k8), compressor: new A3(), transport: new wt2({ allowInsecureHttp: s9.allowInsecureHttp ?? false }), hooks: new ht2(), command: new I3(), env: new U3(), ssh: new pt2(), runtime: "node", layout: n6, hashConfig: n(k8), deltaCache: r(s9.deltaCacheMaxBytes ?? 16777216, s9.deltaCacheMaxEntries ?? 65536), makeWorktreeFs: (s10) => new rt2([...void 0 !== n6.workDir ? [n6.workDir] : [], ...s10], G3) }, { cwd: T7, allowInsecureHttp: A10, deltaCacheMaxBytes: R10, deltaCacheMaxEntries: C7, ...x10 } = s9; - return ur4({ ...x10, cwd: o6 }, _5); +var R9 = async (s8 = {}) => { + Vr4(s8); + const a4 = s8.cwd ?? process.cwd(), { path: o5, canonical: i11 } = await A9(r7.resolve(a4)), { layout: n7, canonical: c5 } = await S5(o5, s8, i11), f2 = i11 && c5, _6 = wo4(n7), b5 = new pt2(_6, et2, void 0, f2), R10 = s8.algorithm ?? "sha1", T7 = { fs: b5, hash: new yt2(R10), compressor: new q2(), transport: new St2({ allowInsecureHttp: s8.allowInsecureHttp ?? false }), hooks: new gt2(), command: new M2(), env: new G3(), ssh: new Pt2(), runtime: "node", layout: n7, hashConfig: i(R10), deltaCache: a(s8.deltaCacheMaxBytes ?? 16777216, s8.deltaCacheMaxEntries ?? 65536), concurrency: r(Y2()), makeWorktreeFs: (s9) => new pt2([...void 0 !== n7.workDir ? [n7.workDir] : [], ...s9], et2) }, { cwd: I10, allowInsecureHttp: F6, deltaCacheMaxBytes: C8, deltaCacheMaxEntries: x9, ...L8 } = s8; + return yo4({ ...L8, cwd: o5 }, T7); }; -var _4 = { stat: async (s9) => { - const a6 = await (0, import_promises3.stat)(s9).catch(() => { +var I9 = { stat: async (s8) => { + const a4 = await (0, import_promises3.stat)(s8).catch(() => { }); - return void 0 === a6 ? void 0 : { isDirectory: a6.isDirectory(), isFile: a6.isFile(), size: a6.size }; -}, readUtf8: (s9) => (0, import_promises3.readFile)(s9, "utf8").catch(() => { -}), readLink: (s9) => (0, import_promises3.readlink)(s9, "utf8").catch(() => { -}), isOwnedByCaller: vt2({ callerUid: () => process.geteuid?.() ?? process.getuid?.(), ownerUid: async (s9) => (await (0, import_promises3.stat)(s9).catch(() => { + return void 0 === a4 ? void 0 : { isDirectory: a4.isDirectory(), isFile: a4.isFile(), size: a4.size }; +}, readUtf8: (s8) => (0, import_promises3.readFile)(s8, "utf8").catch(() => { +}), readLink: (s8) => (0, import_promises3.readlink)(s8, "utf8").catch(() => { +}), isOwnedByCaller: kt2({ callerUid: () => process.geteuid?.() ?? process.getuid?.(), ownerUid: async (s8) => (await (0, import_promises3.stat)(s8).catch(() => { }))?.uid }) }; -var I9 = async (a6) => { +var A9 = async (a4) => { try { - return { path: await (0, import_promises3.realpath)(a6), canonical: true }; + return { path: await (0, import_promises3.realpath)(a4), canonical: true }; } catch { - return { path: a6, canonical: false }; + return { path: a4, canonical: false }; } }; -var A9 = { realWorkTreePath: async (a6) => { +var F5 = { realWorkTreePath: async (a4) => { try { - const o6 = await (0, import_promises3.realpath)(a6); - return (await (0, import_promises3.stat)(o6)).isDirectory() ? o6 : void 0; + const o5 = await (0, import_promises3.realpath)(a4); + return (await (0, import_promises3.stat)(o5)).isDirectory() ? o5 : void 0; } catch { return; } } }; -var F5 = async (s9, a6, o6) => { - const i7 = await (async (s10) => { - if (void 0 !== s10) return (await Promise.all(s10.map((s11) => I9(s11)))).map((s11) => s11.path); - })(a6.ceilingDirs), t5 = await (async (s10, a7) => { - if (void 0 !== s10) return Promise.all(s10.map(async (s11) => "*" === s11 ? s11 : s11.endsWith("/*") ? `${await a7(s11.slice(0, -2))}/*` : a7(s11))); - })(a6.trustedDirectories, async (s10) => (await I9(s10)).path), n6 = { ...void 0 !== a6.workDir ? { workDir: a6.workDir } : {}, ...void 0 !== a6.bare ? { bare: a6.bare } : {} }, m5 = await To4(_4, s9, G3, ((s10, a7, o7, i8) => ({ ...void 0 !== s10.gitDir ? { gitDir: s10.gitDir } : {}, ...void 0 !== s10.commonDir ? { commonDir: s10.commonDir } : {}, ...a7, ...void 0 !== o7 ? { ceilingDirs: o7 } : {}, ...void 0 !== s10.trust ? { trust: s10.trust } : {}, ...void 0 !== i8 ? { trustedDirectories: i8 } : {}, ...void 0 !== s10.bareRepositories ? { bareRepositories: s10.bareRepositories } : {} }))(a6, n6, i7, t5), A9); - if (void 0 === m5) { - const a7 = r5.join(s9, ".git"); - return { layout: zo4(a7, s9, s9, n6, G3), canonical: false }; - } - const c6 = await I9(m5.gitDir), d5 = void 0 === m5.commonDir ? void 0 : await I9(m5.commonDir), p5 = void 0 !== d5 && G3.normalizeForCompare(d5.path) !== G3.normalizeForCompare(c6.path) ? d5 : void 0, l4 = void 0 === m5.workDir ? void 0 : o6 && R9(m5.workDir, s9) ? { path: m5.workDir, canonical: true } : await I9(m5.workDir), h6 = c6.canonical && (p5?.canonical ?? true) && (l4?.canonical ?? true), { commonDir: w4, ...u6 } = m5; - return { layout: { ...u6, gitDir: c6.path, ...void 0 !== p5 ? { commonDir: p5.path } : {}, ...void 0 !== l4 ? { workDir: l4.path } : {} }, canonical: h6 }; -}; -var R9 = (s9, a6) => s9 === a6 || a6.startsWith(`${s9}${G3.sep}`); +var S5 = async (s8, a4, o5) => { + const i11 = await (async (s9) => { + if (void 0 !== s9) return (await Promise.all(s9.map((s10) => A9(s10)))).map((s10) => s10.path); + })(a4.ceilingDirs), t5 = await (async (s9, a5) => { + if (void 0 !== s9) return Promise.all(s9.map(async (s10) => "*" === s10 ? s10 : s10.endsWith("/*") ? `${await a5(s10.slice(0, -2))}/*` : a5(s10))); + })(a4.trustedDirectories, async (s9) => (await A9(s9)).path), n7 = { ...void 0 !== a4.workDir ? { workDir: a4.workDir } : {}, ...void 0 !== a4.bare ? { bare: a4.bare } : {} }, m7 = await Nr4(I9, s8, et2, ((s9, a5, o6, i12) => ({ ...void 0 !== s9.gitDir ? { gitDir: s9.gitDir } : {}, ...void 0 !== s9.commonDir ? { commonDir: s9.commonDir } : {}, ...a5, ...void 0 !== o6 ? { ceilingDirs: o6 } : {}, ...void 0 !== s9.trust ? { trust: s9.trust } : {}, ...void 0 !== i12 ? { trustedDirectories: i12 } : {}, ...void 0 !== s9.bareRepositories ? { bareRepositories: s9.bareRepositories } : {} }))(a4, n7, i11, t5), F5); + if (void 0 === m7) { + const a5 = r7.join(s8, ".git"); + return { layout: Lr4(a5, s8, s8, n7, et2), canonical: false }; + } + const c5 = await A9(m7.gitDir), d6 = void 0 === m7.commonDir ? void 0 : await A9(m7.commonDir), p6 = void 0 !== d6 && et2.normalizeForCompare(d6.path) !== et2.normalizeForCompare(c5.path) ? d6 : void 0, l4 = void 0 === m7.workDir ? void 0 : o5 && C7(m7.workDir, s8) ? { path: m7.workDir, canonical: true } : await A9(m7.workDir), h5 = c5.canonical && (p6?.canonical ?? true) && (l4?.canonical ?? true), { commonDir: u6, ...w6 } = m7; + return { layout: { ...w6, gitDir: c5.path, ...void 0 !== p6 ? { commonDir: p6.path } : {}, ...void 0 !== l4 ? { workDir: l4.path } : {} }, canonical: h5 }; +}; +var C7 = (s8, a4) => s8 === a4 || a4.startsWith(`${s8}${et2.sep}`); // node_modules/diff/libesm/diff/base.js var Diff = class { @@ -38339,7 +23379,7 @@ var Diff = class { return this.diffWithOptionsObj(oldTokens, newTokens, options, callback); } diffWithOptionsObj(oldTokens, newTokens, options, callback) { - var _a3; + var _a2; const done = (value) => { value = this.postProcess(value, options); if (callback) { @@ -38357,7 +23397,7 @@ var Diff = class { if (options.maxEditLength != null) { maxEditLength = Math.min(maxEditLength, options.maxEditLength); } - const maxExecutionTime = (_a3 = options.timeout) !== null && _a3 !== void 0 ? _a3 : Infinity; + const maxExecutionTime = (_a2 = options.timeout) !== null && _a2 !== void 0 ? _a2 : Infinity; const abortAfterTimestamp = Date.now() + maxExecutionTime; const bestPath = [{ oldPos: -1, lastComponent: void 0 }]; let newPos = this.extractCommon(bestPath[0], newTokens, oldTokens, 0, options); @@ -38462,9 +23502,9 @@ var Diff = class { } removeEmpty(array) { const ret = []; - for (let i7 = 0; i7 < array.length; i7++) { - if (array[i7]) { - ret.push(array[i7]); + for (let i11 = 0; i11 < array.length; i11++) { + if (array[i11]) { + ret.push(array[i11]); } } return ret; @@ -38503,8 +23543,8 @@ var Diff = class { if (!component.removed) { if (!component.added && this.useLongestToken) { let value = newTokens.slice(newPos, newPos + component.count); - value = value.map(function(value2, i7) { - const oldValue = oldTokens[oldPos + i7]; + value = value.map(function(value2, i11) { + const oldValue = oldTokens[oldPos + i11]; return oldValue.length > value2.length ? oldValue : value2; }); component.value = this.join(value); @@ -38561,9 +23601,9 @@ function tokenize(value, options) { if (!linesAndNewlines[linesAndNewlines.length - 1]) { linesAndNewlines.pop(); } - for (let i7 = 0; i7 < linesAndNewlines.length; i7++) { - const line = linesAndNewlines[i7]; - if (i7 % 2 && !options.newlineIsToken) { + for (let i11 = 0; i11 < linesAndNewlines.length; i11++) { + const line = linesAndNewlines[i11]; + if (i11 % 2 && !options.newlineIsToken) { retLines[retLines.length - 1] += line; } else { retLines.push(line); @@ -38577,9 +23617,9 @@ function linesFromValue(value) { const endsWithNewline = value.endsWith("\n"); const body = endsWithNewline ? value.slice(0, -1) : value; const lines = body.split("\n"); - return lines.map((text, i7) => ({ + return lines.map((text, i11) => ({ text, - noEol: !endsWithNewline && i7 === lines.length - 1 + noEol: !endsWithNewline && i11 === lines.length - 1 })); } function computeLineOps(oldText, newText) { @@ -38620,15 +23660,15 @@ function buildHunks(ops, contextLines) { const context = Math.max(0, Math.trunc(contextLines)); const positioned = positionOps(ops); const changedIdx = []; - positioned.forEach((op3, i7) => { - if (op3.kind !== "context") changedIdx.push(i7); + positioned.forEach((op3, i11) => { + if (op3.kind !== "context") changedIdx.push(i11); }); if (changedIdx.length === 0) return []; const clusters = []; let curStart = changedIdx[0]; let curEnd = changedIdx[0]; - for (let k8 = 1; k8 < changedIdx.length; k8++) { - const idx = changedIdx[k8]; + for (let k6 = 1; k6 < changedIdx.length; k6++) { + const idx = changedIdx[k6]; if (idx - curEnd - 1 <= context * 2) { curEnd = idx; } else { @@ -38757,7 +23797,7 @@ async function renderFileDiff(repo, change, contextLines) { readBlobBytes(repo, newId) ]); const binary = Boolean( - oldBytes && ts(oldBytes) || newBytes && ts(newBytes) + oldBytes && Es(oldBytes) || newBytes && Es(newBytes) ); const headerLines = buildHeaderLines(change, binary); if (binary) { @@ -38972,7 +24012,7 @@ function summarizeFiles(files) { var EMPTY_TREE_OID = "4b825dc642cb6eb9a060e54bf8d69288fbee4904"; var DEFAULT_CONTEXT_LINES = 3; async function createGitClient(cwd = process.cwd(), timeout) { - return k7({ + return R9({ cwd, ...timeout !== void 0 ? { signal: AbortSignal.timeout(timeout) } : {} }); @@ -38982,9 +24022,9 @@ async function getRepoRoot(git) { } async function getCommits(git, from, to5) { const entries = await git.log({ rev: to5, excluding: [from] }); - return entries.map((e6) => ({ - hash: e6.id, - message: e6.message.split("\n")[0] + return entries.map((e7) => ({ + hash: e7.id, + message: e7.message.split("\n")[0] })); } async function peelToCommit(git, id4) { @@ -39050,11 +24090,11 @@ async function collectChanges(git, query, predicate) { const ignoreWhitespace = shaping?.ignoreWhitespace; if (!filterByCommits) { const changes = await diffRangeChanges(git, from, to5, ignoreWhitespace); - return [changes.filter((c6) => changeMatchesPathFilter(c6, predicate))]; + return [changes.filter((c5) => changeMatchesPathFilter(c5, predicate))]; } return Promise.all( - commits.map(async (c6) => { - const changes = await diffCommitChanges(git, c6.hash, ignoreWhitespace); + commits.map(async (c5) => { + const changes = await diffCommitChanges(git, c5.hash, ignoreWhitespace); return changes.filter((ch4) => changeMatchesPathFilter(ch4, predicate)); }) ); @@ -39068,7 +24108,7 @@ async function getDiff(git, query) { const patches = await Promise.all( changeGroups.map(async (changes) => { const rendered = await renderUnifiedDiff(git, changes, contextLines); - const text = rendered.map((r6) => r6.text).filter(Boolean).join("\n"); + const text = rendered.map((r8) => r8.text).filter(Boolean).join("\n"); return shapeUnifiedDiff(text, shaping); }) ); @@ -39082,7 +24122,7 @@ async function getDiffSummary(git, query) { const fileGroups = await Promise.all( changeGroups.map(async (changes) => { const rendered = await renderUnifiedDiff(git, changes, 0); - return changes.map((c6, i7) => buildFileSummary(c6, rendered[i7])); + return changes.map((c5, i11) => buildFileSummary(c5, rendered[i11])); }) ); const files = changeGroups.length > 1 ? mergeFileSummariesByPath(fileGroups.flat()) : fileGroups.flat(); @@ -39093,7 +24133,7 @@ async function getChangedFiles(git, query) { const repoRoot = await resolveRepoRoot(git, repoRootOverride); const predicate = buildPathFilterPredicate(repoRoot, pathFilter); const changeGroups = await collectChanges(git, query, predicate); - const paths = changeGroups.flat().map((c6) => changePaths(c6).path); + const paths = changeGroups.flat().map((c5) => changePaths(c5).path); return [...new Set(paths)].sort(); } @@ -39121,16 +24161,16 @@ function buildEffectiveExcludeFolders(options) { } const seen = /* @__PURE__ */ new Set(); const merged = []; - for (const p5 of [...DEFAULT_NOISE_EXCLUDES, ...userExcludes]) { - const key = p5.trim(); + for (const p6 of [...DEFAULT_NOISE_EXCLUDES, ...userExcludes]) { + const key = p6.trim(); if (!key || seen.has(key)) continue; seen.add(key); - merged.push(p5); + merged.push(p6); } return merged; } function hasNonEmptyTrimmed(arr) { - return (arr ?? []).some((s9) => s9.trim().length > 0); + return (arr ?? []).some((s8) => s8.trim().length > 0); } function shouldFilterByCommits(allCommits, filtered, opts) { if (hasNonEmptyTrimmed(opts.commitMessageIncludeRegexes) || hasNonEmptyTrimmed(opts.commitMessageExcludeRegexes)) { @@ -39211,20 +24251,20 @@ async function summarizeGitDiff(options) { function optionalInt(name) { const raw = core.getInput(name).trim(); if (!raw) return void 0; - const n6 = Number(raw); - if (!Number.isFinite(n6)) { + const n7 = Number(raw); + if (!Number.isFinite(n7)) { throw new Error( `Invalid number for input "${name}": ${JSON.stringify(raw)}` ); } - return n6; + return n7; } function optionalString(name) { const raw = core.getInput(name).trim(); return raw || void 0; } function optionalMultiline(name) { - const values = core.getMultilineInput(name).filter((v8) => v8.trim()); + const values = core.getMultilineInput(name).filter((v6) => v6.trim()); return values.length > 0 ? values : void 0; } function buildOptions() { @@ -39272,11 +24312,3 @@ async function run() { } } void run(); -/*! Bundled license information: - -undici/lib/fetch/body.js: - (*! formdata-polyfill. MIT License. Jimmy Wärting *) - -undici/lib/websocket/frame.js: - (*! ws. MIT License. Einar Otto Stangvik *) -*/ diff --git a/package-lock.json b/package-lock.json index d589dbf..a6d6d7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "6.2.0", "license": "MIT", "dependencies": { - "@scolladon/tsgit": "3.6.0", + "@scolladon/tsgit": "4.0.0", "diff": "9.0.0" }, "bin": { @@ -18,18 +18,18 @@ "devDependencies": { "@actions/core": "1.11.1", "@biomejs/biome": "2.5.1", - "@commitlint/cli": "20.5.0", - "@commitlint/config-conventional": "20.5.0", + "@commitlint/cli": "21.2.2", + "@commitlint/config-conventional": "21.2.2", "@stryker-mutator/core": "10.0.0", "@stryker-mutator/vitest-runner": "10.0.0", - "@types/node": "22.20.2", + "@types/node": "26.5.1", "@vitest/coverage-v8": "5.0.0", "esbuild": "0.28.2", "husky": "9.1.7", "knip": "6.32.1", "lint-staged": "17.5.1", "ls-engines": "0.10.1", - "typescript": "6.0.3", + "typescript": "7.0.2", "vitest": "5.0.0" }, "engines": { @@ -58,27 +58,13 @@ } }, "node_modules/@actions/http-client": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", - "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tunnel": "^0.0.6", - "undici": "^5.25.4" - } - }, - "node_modules/@actions/http-client/node_modules/undici": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", - "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.1.tgz", + "integrity": "sha512-qhrkRMB40bbbLo7gF+0vu+X+UawOvQQqNAA/5Unx774RS8poaOhThDOG6BGmxvAnxhQnDp2BG/ZUm65xZILTpw==", "dev": true, "license": "MIT", "dependencies": { - "@fastify/busboy": "^2.0.0" - }, - "engines": { - "node": ">=14.0" + "tunnel": "^0.0.6" } }, "node_modules/@actions/io": { @@ -1366,133 +1352,135 @@ } }, "node_modules/@commitlint/cli": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-20.5.0.tgz", - "integrity": "sha512-yNkyN/tuKTJS3wdVfsZ2tXDM4G4Gi7z+jW54Cki8N8tZqwKBltbIvUUrSbT4hz1bhW/h0CdR+5sCSpXD+wMKaQ==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-21.2.2.tgz", + "integrity": "sha512-a+6hQxIxnpdvSvS2apvttPNbEliYsVC3PqFYDiiB2kjbwIsQsj1urvQ4Tkf70pKYozPalKAuRQmm/GHwndduqA==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/format": "^20.5.0", - "@commitlint/lint": "^20.5.0", - "@commitlint/load": "^20.5.0", - "@commitlint/read": "^20.5.0", - "@commitlint/types": "^20.5.0", + "@commitlint/config-conventional": "^21.2.2", + "@commitlint/format": "^21.2.2", + "@commitlint/lint": "^21.2.2", + "@commitlint/load": "^21.2.2", + "@commitlint/read": "^21.2.1", + "@commitlint/types": "^21.2.0", "tinyexec": "^1.0.0", - "yargs": "^17.0.0" + "yargs": "^18.0.0" }, "bin": { "commitlint": "cli.js" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/config-conventional": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-20.5.0.tgz", - "integrity": "sha512-t3Ni88rFw1XMa4nZHgOKJ8fIAT9M2j5TnKyTqJzsxea7FUetlNdYFus9dz+MhIRZmc16P0PPyEfh6X2d/qw8SA==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-21.2.2.tgz", + "integrity": "sha512-NxA37SZviusFUEYOQZ5hNnZ1h7O/KiemPkxjOlpzKJNnWxThiwc6/SaZhaPa8fyLvfRBAywhQhJJk8XESHWlpQ==", "dev": true, + "license": "MIT", "dependencies": { - "@commitlint/types": "^20.5.0", - "conventional-changelog-conventionalcommits": "^9.2.0" + "@commitlint/types": "^21.2.0", + "conventional-changelog-conventionalcommits": "^10.0.0" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/config-validator": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-20.5.0.tgz", - "integrity": "sha512-T/Uh6iJUzyx7j35GmHWdIiGRQB+ouZDk0pwAaYq4SXgB54KZhFdJ0vYmxiW6AMYICTIWuyMxDBl1jK74oFp/Gw==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-21.2.0.tgz", + "integrity": "sha512-t7AzNHAKeIdo/3NRGwzpufKHsKkPHmFs/56N2Fnsh0/r0rGtnQzTxk6vnFgjaGr4hdSQKNB50/KAhR9Yk4LJKA==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^20.5.0", + "@commitlint/types": "^21.2.0", "ajv": "^8.11.0" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/ensure": { - "version": "20.5.3", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-20.5.3.tgz", - "integrity": "sha512-4i4AgNvH62owG9MwSiWKrle7HGNpBHHdLnWFIp5fTsHUYe5kRuh15t08L/0pdbbrRk8JKXQxxN4hZQcn+szkrw==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-21.2.0.tgz", + "integrity": "sha512-76IF9vDNS13lAzEEik9eKwzt8f9hYhWiwVXZ2AnyLCz5/f511FsEQ3pw1X3/zSQpdRLQU7i5qDMVKyXi1GWjSg==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^20.5.0", + "@commitlint/types": "^21.2.0", "es-toolkit": "^1.46.0" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/execute-rule": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-20.0.0.tgz", - "integrity": "sha512-xyCoOShoPuPL44gVa+5EdZsBVao/pNzpQhkzq3RdtlFdKZtjWcLlUFQHSWBuhk5utKYykeJPSz2i8ABHQA+ZZw==", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-21.0.1.tgz", + "integrity": "sha512-RifH+FmImozKBE6mozhF4K3r2RRKP7SMi/Q/zLCmExtp5e05lhHOUYqGBlFBAGNHaZxU/WYw1XuugYK9jQzqnA==", "dev": true, "license": "MIT", "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/format": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-20.5.0.tgz", - "integrity": "sha512-TI9EwFU/qZWSK7a5qyXMpKPPv3qta7FO4tKW+Wt2al7sgMbLWTsAcDpX1cU8k16TRdsiiet9aOw0zpvRXNJu7Q==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-21.2.2.tgz", + "integrity": "sha512-v6fvxZSc/AvVMROlr3H34+1766bZSYApRUSCAMjWamStPjKMvZ8GdvVA5YW/VQNgbFTmcMz6OYmSTJEvIjPrfA==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^20.5.0", + "@commitlint/types": "^21.2.0", "picocolors": "^1.1.1" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/is-ignored": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-20.5.0.tgz", - "integrity": "sha512-JWLarAsurHJhPozbuAH6GbP4p/hdOCoqS9zJMfqwswne+/GPs5V0+rrsfOkP68Y8PSLphwtFXV0EzJ+GTXTTGg==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-21.2.2.tgz", + "integrity": "sha512-9UoKNgfFE3LU7FrzierCvk3CdDfMDeVGC86qZiT/n0TIjfq/dmZ9MHuXd45OTNRa26ZanmJRxEtmiXk/lEJihg==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^20.5.0", + "@commitlint/types": "^21.2.0", "semver": "^7.6.0" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/lint": { - "version": "20.5.3", - "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-20.5.3.tgz", - "integrity": "sha512-M7JbWBNr2gXKaPc4i/KipsuW1gkDHpj35KPjWtKy3Z+2AQw5wu1gBi1LIO0uoaij67CqY4K8PxPZSGens4evCw==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-21.2.2.tgz", + "integrity": "sha512-Fy8JxEBzdmsYWFude/61GxXu5O+wEymwiRK2z9GL9R8mCsXphCoGxAFc5iHn5mjlfcSrhiiONE+ksf4KOjnaPg==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/is-ignored": "^20.5.0", - "@commitlint/parse": "^20.5.0", - "@commitlint/rules": "^20.5.3", - "@commitlint/types": "^20.5.0" + "@commitlint/is-ignored": "^21.2.2", + "@commitlint/parse": "^21.2.2", + "@commitlint/rules": "^21.2.2", + "@commitlint/types": "^21.2.0" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/load": { - "version": "20.5.3", - "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-20.5.3.tgz", - "integrity": "sha512-1FDZWuKyu98Myb8i7Tp31jPU2rZpOwAdYRyJcy2KoGg7Xk2A+bgHN8smhMaaNSNkmE8fwt53BokywZq8Gv/5XQ==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-21.2.2.tgz", + "integrity": "sha512-0Tt6wDPX167cjKC5D4zhm0+20wJJG+TN/TKovMOspfSe78rOnKX+MNzlVNiu6HyQPZChPJ8QBH31MVt6Bb8fCg==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/config-validator": "^20.5.0", - "@commitlint/execute-rule": "^20.0.0", - "@commitlint/resolve-extends": "^20.5.3", - "@commitlint/types": "^20.5.0", + "@commitlint/config-validator": "^21.2.0", + "@commitlint/execute-rule": "^21.0.1", + "@commitlint/resolve-extends": "^21.2.2", + "@commitlint/types": "^21.2.0", "cosmiconfig": "^9.0.1", "cosmiconfig-typescript-loader": "^6.1.0", "es-toolkit": "^1.46.0", @@ -1500,138 +1488,137 @@ "picocolors": "^1.1.1" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/message": { - "version": "20.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-20.4.3.tgz", - "integrity": "sha512-6akwCYrzcrFcTYz9GyUaWlhisY4lmQ3KvrnabmhoeAV8nRH4dXJAh4+EUQ3uArtxxKQkvxJS78hNX2EU3USgxQ==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-21.2.0.tgz", + "integrity": "sha512-YxGoiXD/HXNXLJPrQwE5poXa+XH0CBEm+mdvbHQP0g6MV/dmJyUFCzPNzZbxL93GvZ70TmtTK0Z0/IBpAqHv8g==", "dev": true, "license": "MIT", "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/parse": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-20.5.0.tgz", - "integrity": "sha512-SeKWHBMk7YOTnnEWUhx+d1a9vHsjjuo6Uo1xRfPNfeY4bdYFasCH1dDpAv13Lyn+dDPOels+jP6D2GRZqzc5fA==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-21.2.2.tgz", + "integrity": "sha512-MEkobPfvRp+z06Wro8HMG1BDGHzZmj82A1LH1nWeG3ipHpg/x4m6v3wEDvMBIKjRFUnfR3nBeFs3MVCr7UdAmg==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/types": "^20.5.0", - "conventional-changelog-angular": "^8.2.0", - "conventional-commits-parser": "^6.3.0" + "@commitlint/types": "^21.2.0", + "conventional-changelog-angular": "^9.0.0", + "conventional-commits-parser": "^7.0.0" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/read": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-20.5.0.tgz", - "integrity": "sha512-JDEIJ2+GnWpK8QqwfmW7O42h0aycJEWNqcdkJnyzLD11nf9dW2dWLTVEa8Wtlo4IZFGLPATjR5neA5QlOvIH1w==", + "version": "21.2.1", + "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-21.2.1.tgz", + "integrity": "sha512-hUW7EJQnNTL0vPOmVMNK4CrnrNBN0nN+JJHReFkdHO5y4iyHeEmTBwuC15OCqUTjxWo7idnH1LftfpWVIaPWIA==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/top-level": "^20.4.3", - "@commitlint/types": "^20.5.0", - "git-raw-commits": "^5.0.0", - "minimist": "^1.2.8", + "@commitlint/top-level": "^21.2.0", + "@commitlint/types": "^21.2.0", + "@conventional-changelog/git-client": "^3.0.0", "tinyexec": "^1.0.0" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/resolve-extends": { - "version": "20.5.3", - "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-20.5.3.tgz", - "integrity": "sha512-+ogW9v/u9JqpvAgTrLra/YTFo0KkjU6iNblF89pPsj4NebNc+DAWctsludwezI8YnsjBmfHpApSwcXprN/f/ew==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-21.2.2.tgz", + "integrity": "sha512-RPkJ/IFi7sMUUVbZLqwWFtWw/zRDcfFsmrPSiTMrt5wb7AdxOr86EGQFvmGzef5QKV5IPBWWCujqVTw1RWX44A==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/config-validator": "^20.5.0", - "@commitlint/types": "^20.5.0", + "@commitlint/config-validator": "^21.2.0", + "@commitlint/types": "^21.2.0", "es-toolkit": "^1.46.0", "global-directory": "^5.0.0", - "import-meta-resolve": "^4.0.0", "resolve-from": "^5.0.0" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/rules": { - "version": "20.5.3", - "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-20.5.3.tgz", - "integrity": "sha512-MPlMnb9D3wbszYMp+1hPtuhtPJndRo6I6yfkZVA4+jR8w7Kqp0u2u/Y+gzbaItx5Lltq5rw7FSZQWJMoXUC4NQ==", + "version": "21.2.2", + "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-21.2.2.tgz", + "integrity": "sha512-eplQzyYkBjYB1HyyRj8hkcK11Y9DU9nuBz7uOKEd6NpE9NGDytLFCAnlRE+OoiK/5sHEJsaz2RGhuWBvYzIbNA==", "dev": true, "license": "MIT", "dependencies": { - "@commitlint/ensure": "^20.5.3", - "@commitlint/message": "^20.4.3", - "@commitlint/to-lines": "^20.0.0", - "@commitlint/types": "^20.5.0" + "@commitlint/ensure": "^21.2.0", + "@commitlint/message": "^21.2.0", + "@commitlint/to-lines": "^21.0.1", + "@commitlint/types": "^21.2.0" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/to-lines": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-20.0.0.tgz", - "integrity": "sha512-2l9gmwiCRqZNWgV+pX1X7z4yP0b3ex/86UmUFgoRt672Ez6cAM2lOQeHFRUTuE6sPpi8XBCGnd8Kh3bMoyHwJw==", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-21.0.1.tgz", + "integrity": "sha512-bd1BFII7p1EQZre9Kaj+kKaMFP3cFCdt21K7DItVux9XP5WjLgJ0/Uy1pJJh9aPwVJ6SKg62PxqlZaHI8hQAXw==", "dev": true, "license": "MIT", "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/top-level": { - "version": "20.4.3", - "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-20.4.3.tgz", - "integrity": "sha512-qD9xfP6dFg5jQ3NMrOhG0/w5y3bBUsVGyJvXxdWEwBm8hyx4WOk3kKXw28T5czBYvyeCVJgJJ6aoJZUWDpaacQ==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-21.2.0.tgz", + "integrity": "sha512-Y5gmQ+KxzqCrBFJfLvFEPvvwD3LDiNZoTT2yeFBm96M8qhmqSzQc5DvX3rheAaAMjyIvMXOCLS/mWfdpONsjyQ==", "dev": true, "license": "MIT", "dependencies": { "escalade": "^3.2.0" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@commitlint/types": { - "version": "20.5.0", - "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-20.5.0.tgz", - "integrity": "sha512-ZJoS8oSq2CAZEpc/YI9SulLrdiIyXeHb/OGqGrkUP6Q7YV+0ouNAa7GjqRdXeQPncHQIDz/jbCTlHScvYvO/gA==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-21.2.0.tgz", + "integrity": "sha512-7zVFCDB2reMvJH5dmbKnOQPjZEvjdJTH8jc0U/PIPU1r3/+vf5pD1HlfitV2MWsWXrvu7u39iY1lyLUPOaN0Gw==", "dev": true, + "license": "MIT", "dependencies": { - "conventional-commits-parser": "^6.3.0", + "conventional-commits-parser": "^7.0.0", "picocolors": "^1.1.1" }, "engines": { - "node": ">=v18" + "node": ">=22.12.0" } }, "node_modules/@conventional-changelog/git-client": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@conventional-changelog/git-client/-/git-client-2.7.0.tgz", - "integrity": "sha512-j7A8/LBEQ+3rugMzPXoKYzyUPpw/0CBQCyvtTR7Lmu4olG4yRC/Tfkq79Mr3yuPs0SUitlO2HwGP3gitMJnRFw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@conventional-changelog/git-client/-/git-client-3.1.2.tgz", + "integrity": "sha512-jZqwnJwf7nboIlAcw/mkOjVa6DexCcUOgT2oOQgkoi3z9vR8tGFkcMy2BFcYwjhL9sYcDDXkRQDayiDieCoW7A==", "dev": true, "license": "MIT", "dependencies": { - "@simple-libs/child-process-utils": "^1.0.0", - "@simple-libs/stream-utils": "^1.2.0", + "@simple-libs/child-process-utils": "^2.0.0", + "@simple-libs/stream-utils": "^2.0.0", "semver": "^7.5.2" }, "engines": { - "node": ">=18" + "node": ">=22" }, "peerDependencies": { - "conventional-commits-filter": "^5.0.0", - "conventional-commits-parser": "^6.4.0" + "conventional-commits-filter": "^6.0.1", + "conventional-commits-parser": "^7.1.2" }, "peerDependenciesMeta": { "conventional-commits-filter": { @@ -1642,6 +1629,16 @@ } } }, + "node_modules/@conventional-changelog/template": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@conventional-changelog/template/-/template-1.4.0.tgz", + "integrity": "sha512-aalGyl7dbB5PArRebDIX43ZvBlXrYm9uWzGJ26t+4SzJVPsOuvfILGGbw5X4yX7i50YEmJ8zvbiWnqH/AAnZqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=22" + } + }, "node_modules/@emnapi/core": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", @@ -2120,16 +2117,6 @@ "node": ">=18" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - } - }, "node_modules/@gar/promise-retry": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", @@ -3877,9 +3864,9 @@ "peer": true }, "node_modules/@scolladon/tsgit": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@scolladon/tsgit/-/tsgit-3.6.0.tgz", - "integrity": "sha512-CJA3/LK8mo+uiHw/SVwzzIOOFU5WY5JDNXzDKcQeThWx0tiYS3CPsoIqxHW54F4HCoPug9Fj6blHvxmDuDKMyw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@scolladon/tsgit/-/tsgit-4.0.0.tgz", + "integrity": "sha512-bc53qWzTQYblxKKNjm6defz/ofAf536obLmwnsqBPYCnzO4ZPWkixhNIEvchrI3fPlkKYjd8SsLVyTNQwEAjtg==", "license": "MIT", "engines": { "node": ">=22.22.1" @@ -3973,28 +3960,29 @@ } }, "node_modules/@simple-libs/child-process-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@simple-libs/child-process-utils/-/child-process-utils-1.0.2.tgz", - "integrity": "sha512-/4R8QKnd/8agJynkNdJmNw2MBxuFTRcNFnE5Sg/G+jkSsV8/UBgULMzhizWWW42p8L5H7flImV2ATi79Ove2Tw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@simple-libs/child-process-utils/-/child-process-utils-2.0.0.tgz", + "integrity": "sha512-dvNoRKLijXnD0XoJAz94pbNuB5GQgDr55UhpSPhffDkTT0Cmcqh9jSCOtwfT2d4H6MI9E7c4SgtMuJXZ6F3c6A==", "dev": true, "license": "MIT", "dependencies": { - "@simple-libs/stream-utils": "^1.2.0" + "@simple-libs/stream-utils": "^2.0.0" }, "engines": { - "node": ">=18" + "node": ">=22" }, "funding": { "url": "https://ko-fi.com/dangreen" } }, "node_modules/@simple-libs/stream-utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@simple-libs/stream-utils/-/stream-utils-1.2.0.tgz", - "integrity": "sha512-KxXvfapcixpz6rVEB6HPjOUZT22yN6v0vI0urQSk1L8MlEWPDFCZkhw2xmkyoTGYeFw7tWTZd7e3lVzRZRN/EA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@simple-libs/stream-utils/-/stream-utils-2.0.0.tgz", + "integrity": "sha512-fCTuZK4QBa+39Oz9l4OGfJfz+GpwCp3AqO7Zch3to99xHPgstVsRFpeQ8LNd2o1Gv8raL2mCFwiaHh7bFSp5DQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=18" + "node": ">=22" }, "funding": { "url": "https://ko-fi.com/dangreen" @@ -4258,13 +4246,353 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.20.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.2.tgz", - "integrity": "sha512-xlvWf4Vs9n1PEVYwP1n4vvG07M6y8WgvJ2t0vbrWTmijsIHp1cS+uJ2kMIRdY3nHZK0nCYKrPeD171+SzF4/zw==", + "version": "26.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.5.1.tgz", + "integrity": "sha512-CzNm2FezW4VR/LjG6yUdiEgLE/rAQ9Slj5gCu/C2VrdcW7I0ahNZ8DRbHT7zOZ6r3ONgd/bsQIeSaoDGrd1C6g==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.21.0" + "undici-types": "~8.9.0" + } + }, + "node_modules/@typescript/typescript-aix-ppc64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.2.tgz", + "integrity": "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-darwin-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-arm64/-/typescript-darwin-arm64-7.0.2.tgz", + "integrity": "sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-darwin-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-x64/-/typescript-darwin-x64-7.0.2.tgz", + "integrity": "sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-freebsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-arm64/-/typescript-freebsd-arm64-7.0.2.tgz", + "integrity": "sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-freebsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-x64/-/typescript-freebsd-x64-7.0.2.tgz", + "integrity": "sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-arm": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm/-/typescript-linux-arm-7.0.2.tgz", + "integrity": "sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm64/-/typescript-linux-arm64-7.0.2.tgz", + "integrity": "sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-loong64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-loong64/-/typescript-linux-loong64-7.0.2.tgz", + "integrity": "sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-mips64el": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-mips64el/-/typescript-linux-mips64el-7.0.2.tgz", + "integrity": "sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-ppc64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-ppc64/-/typescript-linux-ppc64-7.0.2.tgz", + "integrity": "sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-riscv64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-riscv64/-/typescript-linux-riscv64-7.0.2.tgz", + "integrity": "sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-s390x": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-s390x/-/typescript-linux-s390x-7.0.2.tgz", + "integrity": "sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-linux-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-x64/-/typescript-linux-x64-7.0.2.tgz", + "integrity": "sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-netbsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-arm64/-/typescript-netbsd-arm64-7.0.2.tgz", + "integrity": "sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-netbsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-x64/-/typescript-netbsd-x64-7.0.2.tgz", + "integrity": "sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-openbsd-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-arm64/-/typescript-openbsd-arm64-7.0.2.tgz", + "integrity": "sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-openbsd-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-x64/-/typescript-openbsd-x64-7.0.2.tgz", + "integrity": "sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-sunos-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-sunos-x64/-/typescript-sunos-x64-7.0.2.tgz", + "integrity": "sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-win32-arm64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-arm64/-/typescript-win32-arm64-7.0.2.tgz", + "integrity": "sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/@typescript/typescript-win32-x64": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-x64/-/typescript-win32-x64-7.0.2.tgz", + "integrity": "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16.20.0" } }, "node_modules/@vitest/coverage-v8": { @@ -4423,6 +4751,19 @@ "node": ">= 14" } }, + "node_modules/ansi-regex": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz", + "integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, "node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -4446,6 +4787,19 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/argue-cli": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/argue-cli/-/argue-cli-3.2.0.tgz", + "integrity": "sha512-VipTB0gXgGIFO2Rg9yEVN5wLt2AurJcZqDbgmYSwPwsykhLrQhs240/bfceev4w68lI8JshoOJIk9uW7tFzROw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=22" + }, + "funding": { + "url": "https://ko-fi.com/dangreen" + } + }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -4463,12 +4817,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", - "dev": true - }, "node_modules/array.prototype.flat": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", @@ -4818,41 +5166,36 @@ } }, "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", "dev": true, "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "node": ">=20" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/cliui/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cmd-shim": { @@ -4904,55 +5247,47 @@ "node": ">= 18" } }, - "node_modules/compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", - "dev": true, - "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, "node_modules/conventional-changelog-angular": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.3.1.tgz", - "integrity": "sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-9.4.0.tgz", + "integrity": "sha512-HdxRxuS8bBXVIuo4V82gvSwAXT0vYQUizrjs/izmPg5JdDstr8v8I5hduGL3iQbG+o310dUDxC4+LetuS5hu9w==", "dev": true, "license": "ISC", "dependencies": { - "compare-func": "^2.0.0" + "@conventional-changelog/template": "^1.4.0" }, "engines": { - "node": ">=18" + "node": ">=22" } }, "node_modules/conventional-changelog-conventionalcommits": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-9.3.1.tgz", - "integrity": "sha512-dTYtpIacRpcZgrvBYvBfArMmK2xvIpv2TaxM0/ZI5CBtNUzvF2x0t15HsbRABWprS6UPmvj+PzHVjSx4qAVKyw==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-10.4.0.tgz", + "integrity": "sha512-Rriac6ZrAlVm6cy9Bz4NSp+WMHpwNXoPIYex+HjCgduAVUSbnew29DQjQw0C4g9u3HtSYzGiGY+pdBXAZo+4aA==", "dev": true, + "license": "ISC", "dependencies": { - "compare-func": "^2.0.0" + "@conventional-changelog/template": "^1.4.0" }, "engines": { - "node": ">=18" + "node": ">=22" } }, "node_modules/conventional-commits-parser": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.4.0.tgz", - "integrity": "sha512-tvRg7FIBNlyPzjdG8wWRlPHQJJHI7DylhtRGeU9Lq+JuoPh5BKpPRX83ZdLrvXuOSu5Eo/e7SzOQhU4Hd2Miuw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-7.1.2.tgz", + "integrity": "sha512-O+x4N2yH+ijvqWlIyTHsXTAP+algNWgGbjY2duCe8w2vUMvUB95cLRslCPfTMQyLAKlet3bhZTdu6ozn4M+QJQ==", "dev": true, + "license": "MIT", "dependencies": { - "@simple-libs/stream-utils": "^1.2.0", - "meow": "^13.0.0" + "@simple-libs/stream-utils": "^2.0.0", + "argue-cli": "^3.1.0" }, "bin": { "conventional-commits-parser": "dist/cli/index.js" }, "engines": { - "node": ">=18" + "node": ">=22" } }, "node_modules/convert-source-map": { @@ -5179,18 +5514,6 @@ "dev": true, "license": "Apache-2.0" }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -5428,14 +5751,16 @@ } }, "node_modules/es-toolkit": { - "version": "1.47.1", - "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.47.1.tgz", - "integrity": "sha512-5RAqEwf4P4E17p+W75KLOWw/nOvKZzSQpxM32IpI2KZLaVonjTrZ0Ai5ghMaVI9eKC2p8eoQgcBdkEDgzFk6+Q==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.52.0.tgz", + "integrity": "sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA==", "dev": true, "license": "MIT", "workspaces": [ "docs", - "benchmarks" + "benchmarks", + "tests/types", + "tests/browser-compat" ] }, "node_modules/esbuild": { @@ -5565,9 +5890,9 @@ } }, "node_modules/fast-uri": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz", - "integrity": "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz", + "integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==", "dev": true, "funding": [ { @@ -5787,6 +6112,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -5889,23 +6227,6 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/git-raw-commits": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-5.0.1.tgz", - "integrity": "sha512-Y+csSm2GD/PCSh6Isd/WiMjNAydu0VBiG9J7EdQsNA5P9uXvLayqjmTsNlK5Gs9IhblFZqOU0yid5Il5JPoLiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@conventional-changelog/git-client": "^2.6.0", - "meow": "^13.0.0" - }, - "bin": { - "git-raw-commits": "src/cli.js" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/glob": { "version": "13.0.6", "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", @@ -6475,15 +6796,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", @@ -6706,9 +7018,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", - "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", "dev": true, "funding": [ { @@ -7346,18 +7658,6 @@ "node": ">= 0.4" } }, - "node_modules/meow": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", - "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -7380,16 +7680,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/minipass": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", @@ -8279,13 +8569,14 @@ } }, "node_modules/qs": { - "version": "6.15.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", - "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz", + "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.1.0" + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" }, "engines": { "node": ">=0.6" @@ -8348,16 +8639,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -8966,6 +9247,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/strip-final-newline": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", @@ -9275,15 +9572,15 @@ } }, "node_modules/typed-rest-client": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-2.3.1.tgz", - "integrity": "sha512-k4kX5Up6qA68D0Cby2AK+6+vM5k3qTxe+/3FqhnHRExjY5cfbOnzjQZbP/LXleF8hVoDvDqxlgk9KK83HoBZlQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-2.3.0.tgz", + "integrity": "sha512-FfBj5tjviexjIus3La4n4s9i+f81Zj7HU+lUlQWK219HMRfmzLsbIf4PZF2+X6EouJKyuANpvvef5VrUWM4AFw==", "dev": true, "license": "MIT", "dependencies": { "des.js": "^1.1.0", "js-md4": "^0.3.2", - "qs": "6.15.1", + "qs": "^6.14.1", "tunnel": "0.0.6", "underscore": "^1.13.8" }, @@ -9292,17 +9589,38 @@ } }, "node_modules/typescript": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", - "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz", + "integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==", "dev": true, "license": "Apache-2.0", "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "tsc": "bin/tsc" }, "engines": { - "node": ">=14.17" + "node": ">=16.20.0" + }, + "optionalDependencies": { + "@typescript/typescript-aix-ppc64": "7.0.2", + "@typescript/typescript-darwin-arm64": "7.0.2", + "@typescript/typescript-darwin-x64": "7.0.2", + "@typescript/typescript-freebsd-arm64": "7.0.2", + "@typescript/typescript-freebsd-x64": "7.0.2", + "@typescript/typescript-linux-arm": "7.0.2", + "@typescript/typescript-linux-arm64": "7.0.2", + "@typescript/typescript-linux-loong64": "7.0.2", + "@typescript/typescript-linux-mips64el": "7.0.2", + "@typescript/typescript-linux-ppc64": "7.0.2", + "@typescript/typescript-linux-riscv64": "7.0.2", + "@typescript/typescript-linux-s390x": "7.0.2", + "@typescript/typescript-linux-x64": "7.0.2", + "@typescript/typescript-netbsd-arm64": "7.0.2", + "@typescript/typescript-netbsd-x64": "7.0.2", + "@typescript/typescript-openbsd-arm64": "7.0.2", + "@typescript/typescript-openbsd-x64": "7.0.2", + "@typescript/typescript-sunos-x64": "7.0.2", + "@typescript/typescript-win32-arm64": "7.0.2", + "@typescript/typescript-win32-x64": "7.0.2" } }, "node_modules/unbash": { @@ -9352,9 +9670,9 @@ } }, "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.9.0.tgz", + "integrity": "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg==", "dev": true, "license": "MIT" }, @@ -9733,44 +10051,52 @@ } }, "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/write-file-atomic": { @@ -9813,32 +10139,48 @@ } }, "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.1.0.tgz", + "integrity": "sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^8.0.1", + "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^8.2.1", "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yargs-parser": "^22.0.0" }, "engines": { - "node": ">=12" + "node": "^20.19.0 || ^22.12.0 || >=23" } }, "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", "dev": true, "license": "ISC", "engines": { - "node": ">=12" + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.2.tgz", + "integrity": "sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/yoctocolors": { diff --git a/package.json b/package.json index f40ed10..5a569b9 100644 --- a/package.json +++ b/package.json @@ -41,22 +41,22 @@ "devDependencies": { "@actions/core": "1.11.1", "@biomejs/biome": "2.5.1", - "@commitlint/cli": "20.5.0", - "@commitlint/config-conventional": "20.5.0", + "@commitlint/cli": "21.2.2", + "@commitlint/config-conventional": "21.2.2", "@stryker-mutator/core": "10.0.0", "@stryker-mutator/vitest-runner": "10.0.0", - "@types/node": "22.20.2", + "@types/node": "26.5.1", "@vitest/coverage-v8": "5.0.0", "esbuild": "0.28.2", "husky": "9.1.7", "knip": "6.32.1", "lint-staged": "17.5.1", "ls-engines": "0.10.1", - "typescript": "6.0.3", + "typescript": "7.0.2", "vitest": "5.0.0" }, "dependencies": { - "@scolladon/tsgit": "3.6.0", + "@scolladon/tsgit": "4.0.0", "diff": "9.0.0" }, "repository": {