From 8c5ddd68a493b94c7e12aebd1ade23c42d36be7a Mon Sep 17 00:00:00 2001 From: Rotzbua Date: Mon, 17 Jun 2024 22:44:04 +0200 Subject: [PATCH 001/173] fix(html): correct buggy html - Merge "style" attribute - Remove wrong end tag - Remove trailing slash on void html elements --- .../nodes/core/common/20-inject.html | 38 +++++++++---------- .../nodes/core/function/10-switch.html | 6 +-- .../nodes/core/function/16-range.html | 18 ++++----- .../nodes/core/function/89-trigger.html | 6 +-- .../@node-red/nodes/core/function/rbe.html | 4 +- .../nodes/core/network/31-tcpin.html | 4 +- .../@node-red/nodes/core/parsers/70-CSV.html | 12 +++--- .../@node-red/nodes/core/parsers/70-HTML.html | 2 +- .../@node-red/nodes/core/parsers/70-JSON.html | 4 +- .../@node-red/nodes/core/parsers/70-XML.html | 4 +- .../@node-red/nodes/core/parsers/70-YAML.html | 2 +- .../nodes/core/sequence/17-split.html | 4 +- 12 files changed, 52 insertions(+), 52 deletions(-) diff --git a/packages/node_modules/@node-red/nodes/core/common/20-inject.html b/packages/node_modules/@node-red/nodes/core/common/20-inject.html index 5895220d3..d3b653826 100644 --- a/packages/node_modules/@node-red/nodes/core/common/20-inject.html +++ b/packages/node_modules/@node-red/nodes/core/common/20-inject.html @@ -46,12 +46,12 @@
- - + +
    @@ -35,7 +35,7 @@
    - +
    diff --git a/packages/node_modules/@node-red/nodes/core/function/16-range.html b/packages/node_modules/@node-red/nodes/core/function/16-range.html index ebf8340f8..21019703d 100644 --- a/packages/node_modules/@node-red/nodes/core/function/16-range.html +++ b/packages/node_modules/@node-red/nodes/core/function/16-range.html @@ -2,7 +2,7 @@ diff --git a/packages/node_modules/@node-red/nodes/core/function/rbe.html b/packages/node_modules/@node-red/nodes/core/function/rbe.html index 8dff0758d..888486e52 100644 --- a/packages/node_modules/@node-red/nodes/core/function/rbe.html +++ b/packages/node_modules/@node-red/nodes/core/function/rbe.html @@ -25,7 +25,7 @@
    - +
    @@ -34,7 +34,7 @@
    - +
    diff --git a/packages/node_modules/@node-red/nodes/core/network/31-tcpin.html b/packages/node_modules/@node-red/nodes/core/network/31-tcpin.html index cd85a655b..d967ca971 100644 --- a/packages/node_modules/@node-red/nodes/core/network/31-tcpin.html +++ b/packages/node_modules/@node-red/nodes/core/network/31-tcpin.html @@ -50,7 +50,7 @@
    @@ -317,7 +317,7 @@
    diff --git a/packages/node_modules/@node-red/nodes/core/parsers/70-CSV.html b/packages/node_modules/@node-red/nodes/core/parsers/70-CSV.html index ddf306ba8..7a80af9f9 100644 --- a/packages/node_modules/@node-red/nodes/core/parsers/70-CSV.html +++ b/packages/node_modules/@node-red/nodes/core/parsers/70-CSV.html @@ -35,21 +35,21 @@
    -
    +
    -   
    +   
    -
    +
    -
    +
    -
    +
    -
    +
    diff --git a/packages/node_modules/@node-red/nodes/core/parsers/70-HTML.html b/packages/node_modules/@node-red/nodes/core/parsers/70-HTML.html index cda57386e..38f80d693 100644 --- a/packages/node_modules/@node-red/nodes/core/parsers/70-HTML.html +++ b/packages/node_modules/@node-red/nodes/core/parsers/70-HTML.html @@ -33,7 +33,7 @@
    -
    +
    diff --git a/packages/node_modules/@node-red/nodes/core/parsers/70-JSON.html b/packages/node_modules/@node-red/nodes/core/parsers/70-JSON.html index 8c210f4ef..0695db268 100644 --- a/packages/node_modules/@node-red/nodes/core/parsers/70-JSON.html +++ b/packages/node_modules/@node-red/nodes/core/parsers/70-JSON.html @@ -10,13 +10,13 @@
    - +
    -
    +
    diff --git a/packages/node_modules/@node-red/nodes/core/parsers/70-XML.html b/packages/node_modules/@node-red/nodes/core/parsers/70-XML.html index 27f9795ef..d02345002 100644 --- a/packages/node_modules/@node-red/nodes/core/parsers/70-XML.html +++ b/packages/node_modules/@node-red/nodes/core/parsers/70-XML.html @@ -2,13 +2,13 @@ diff --git a/packages/node_modules/@node-red/nodes/locales/es-ES/parsers/70-CSV.html b/packages/node_modules/@node-red/nodes/locales/es-ES/parsers/70-CSV.html index 5dbbb88f0..940c65dfb 100644 --- a/packages/node_modules/@node-red/nodes/locales/es-ES/parsers/70-CSV.html +++ b/packages/node_modules/@node-red/nodes/locales/es-ES/parsers/70-CSV.html @@ -35,7 +35,9 @@

    Detalles

    -

    La plantilla de columnas puede contener una lista ordenada de nombres de columnas. Al convertir CSV en un objeto, los nombres de las columnas se utilizarán como nombres de propiedades. Alternativamente, los nombres de las columnas se pueden tomar de la primera fila del CSV.

    +

    La plantilla de columnas puede contener una lista ordenada de nombres de columnas. Al convertir CSV en un objeto, los nombres de las columnas se utilizarán como nombres de propiedades. Alternativamente, los nombres de las columnas se pueden tomar de la primera fila del CSV. +

    Cuando se selecciona el analizador RFC, la plantilla de columna debe ser compatible con RFC4180.

    +

    Al convertir a CSV, la plantilla de columnas se utiliza para identificar qué propiedades extraer del objeto y en qué orden.

    Si la plantilla de columnas está en blanco, puede utilizar una lista simple de propiedades separadas por comas proporcionada en msg.columns para determinar qué extraer y en qué orden. Si ninguno de los dos está presente, todas las propiedades del objeto se muestran en el orden en que se encuentran en la primera fila.

    Si la entrada es una matriz, entonces la plantilla de columnas solo se usa para generar opcionalmente una fila de títulos de columnas.

    @@ -46,4 +48,5 @@

    Si genera varios mensajes, tendrán su propiedad parts configurada y formarán una secuencia de mensajes completa.

    Si el nodo está configurado para enviar encabezados de columna solo una vez, si se configura msg.reset en cualquier valor hará que el nodo reenvíe los encabezados.

    Nota: la plantilla de columna debe estar separada por comas, incluso si se elige un separador diferente para los datos.

    +

    Nota: en el modo RFC, se generarán errores detectables para encabezados CSV mal formados y datos de carga útil de entrada no válidos

    diff --git a/packages/node_modules/@node-red/runtime/locales/es-ES/runtime.json b/packages/node_modules/@node-red/runtime/locales/es-ES/runtime.json index 9fba64ad3..d1c2c44a9 100644 --- a/packages/node_modules/@node-red/runtime/locales/es-ES/runtime.json +++ b/packages/node_modules/@node-red/runtime/locales/es-ES/runtime.json @@ -25,6 +25,7 @@ "removing-modules": "Eliminando módulos de la configuración", "added-types": "Tipos de nodos añadidos:", "removed-types": "Tipos de nodos eliminados:", + "removed-plugins": "Extensiones eliminadas:", "install": { "invalid": "Nombre de módulo no válido", "installing": "Instalando módulo: __name__, versión: __version__", From bdb545d6ebd438189010ea55bd7ffba2c4a41bf8 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 7 Oct 2024 16:30:38 +0100 Subject: [PATCH 053/173] Update dependencies --- package.json | 14 +++++++------- packages/node_modules/@node-red/nodes/package.json | 6 +++--- .../node_modules/@node-red/registry/package.json | 4 ++-- packages/node_modules/@node-red/util/package.json | 2 +- packages/node_modules/node-red/package.json | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 6597530f2..952b95bc0 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "cheerio": "1.0.0-rc.10", "clone": "2.1.2", "content-type": "1.0.5", - "cookie": "0.6.0", + "cookie": "0.7.2", "cookie-parser": "1.4.6", "cors": "2.8.5", "cronosjs": "1.7.1", @@ -45,7 +45,7 @@ "express-session": "1.18.0", "form-data": "4.0.0", "fs-extra": "11.2.0", - "got": "12.6.0", + "got": "12.6.1", "hash-sum": "2.0.0", "hpagent": "1.2.0", "https-proxy-agent": "5.0.1", @@ -60,7 +60,7 @@ "memorystore": "1.6.7", "mime": "3.0.0", "moment": "2.30.1", - "moment-timezone": "0.5.45", + "moment-timezone": "0.5.46", "mqtt": "5.7.0", "multer": "1.4.5-lts.1", "mustache": "4.2.0", @@ -72,10 +72,10 @@ "passport": "0.7.0", "passport-http-bearer": "1.0.1", "passport-oauth2-client-password": "0.1.2", - "raw-body": "2.5.2", + "raw-body": "3.0.0", "rfdc": "^1.3.1", - "semver": "7.5.4", - "tar": "7.2.0", + "semver": "7.6.3", + "tar": "7.4.3", "tough-cookie": "^5.0.0", "uglify-js": "3.17.4", "uuid": "9.0.1", @@ -110,7 +110,7 @@ "jquery-i18next": "1.2.1", "jsdoc-nr-template": "github:node-red/jsdoc-nr-template", "marked": "4.3.0", - "mermaid": "^10.4.0", + "mermaid": "11.3.0", "minami": "1.2.3", "mocha": "9.2.2", "node-red-node-test-helper": "^0.3.3", diff --git a/packages/node_modules/@node-red/nodes/package.json b/packages/node_modules/@node-red/nodes/package.json index dcbb59b24..72179409c 100644 --- a/packages/node_modules/@node-red/nodes/package.json +++ b/packages/node_modules/@node-red/nodes/package.json @@ -22,13 +22,13 @@ "cheerio": "1.0.0-rc.10", "content-type": "1.0.5", "cookie-parser": "1.4.6", - "cookie": "0.6.0", + "cookie": "0.7.2", "cors": "2.8.5", "cronosjs": "1.7.1", "denque": "2.1.0", "form-data": "4.0.0", "fs-extra": "11.2.0", - "got": "12.6.0", + "got": "12.6.1", "hash-sum": "2.0.0", "hpagent": "1.2.0", "https-proxy-agent": "5.0.1", @@ -40,7 +40,7 @@ "mustache": "4.2.0", "node-watch": "0.7.4", "on-headers": "1.0.2", - "raw-body": "2.5.2", + "raw-body": "3.0.0", "tough-cookie": "^5.0.0", "uuid": "9.0.1", "ws": "7.5.10", diff --git a/packages/node_modules/@node-red/registry/package.json b/packages/node_modules/@node-red/registry/package.json index 2515b19b7..7c6e8ebcc 100644 --- a/packages/node_modules/@node-red/registry/package.json +++ b/packages/node_modules/@node-red/registry/package.json @@ -19,8 +19,8 @@ "@node-red/util": "4.0.3", "clone": "2.1.2", "fs-extra": "11.2.0", - "semver": "7.5.4", - "tar": "7.2.0", + "semver": "7.6.3", + "tar": "7.4.3", "uglify-js": "3.17.4" } } diff --git a/packages/node_modules/@node-red/util/package.json b/packages/node_modules/@node-red/util/package.json index d747109dd..67ed9d88b 100644 --- a/packages/node_modules/@node-red/util/package.json +++ b/packages/node_modules/@node-red/util/package.json @@ -21,6 +21,6 @@ "jsonata": "2.0.5", "lodash.clonedeep": "^4.5.0", "moment": "2.30.1", - "moment-timezone": "0.5.45" + "moment-timezone": "0.5.46" } } diff --git a/packages/node_modules/node-red/package.json b/packages/node_modules/node-red/package.json index b6c767e9b..2f61e8468 100644 --- a/packages/node_modules/node-red/package.json +++ b/packages/node_modules/node-red/package.json @@ -42,7 +42,7 @@ "fs-extra": "11.2.0", "node-red-admin": "^4.0.1", "nopt": "5.0.0", - "semver": "7.5.4" + "semver": "7.6.3" }, "optionalDependencies": { "@node-rs/bcrypt": "1.10.4" From 3812ed5ed3cd7b51b074025ae8eacdda31e6762e Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Mon, 7 Oct 2024 21:13:13 +0200 Subject: [PATCH 054/173] Link call node cannot call a link in a subflow Co-authored-by: Nick O'Leary --- .../node_modules/@node-red/editor-client/src/js/nodes.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/nodes.js b/packages/node_modules/@node-red/editor-client/src/js/nodes.js index 25e8c2185..857068d4b 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/nodes.js +++ b/packages/node_modules/@node-red/editor-client/src/js/nodes.js @@ -2419,12 +2419,13 @@ RED.nodes = (function() { if (otherNode.z === n.z) { // Both ends in the same flow/subflow return true - } else if (n.type === "link call") { - // Link call node can call out of a subflow - return true + } else if (n.type === "link call" && !!getSubflow(otherNode.z)) { + // Link call node can call out of a subflow as long as otherNode is + // not in a subflow + return false } else if (!!getSubflow(n.z) || !!getSubflow(otherNode.z)) { // One end is in a subflow - remove the link - return false + return false } return true }); From a0b4fc83726e647cfc2a6f6db2a529675d10785b Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Tue, 8 Oct 2024 13:58:29 +0100 Subject: [PATCH 055/173] Convert to string --- .../node_modules/@node-red/nodes/core/network/10-mqtt.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js b/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js index bc6f9644d..2b4968483 100644 --- a/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js +++ b/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js @@ -161,9 +161,13 @@ module.exports = function(RED) { if(typeof val === "string") { count++; _clone[key] = val; - } else if (typeof val === "number") { + } else { count++; - _clone[key] = val.toString(); + try { + _clone[key] = JSON.stringify(val) + } catch (err) { + console.log('MQTT v5 Property value can not be converted to a String') + } } }); if(count) properties.userProperties = _clone; From d50ccea017e97552078a86324c76159957b66614 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Tue, 8 Oct 2024 16:51:09 +0100 Subject: [PATCH 056/173] Update packages/node_modules/@node-red/nodes/core/network/10-mqtt.js Co-authored-by: Nick O'Leary --- .../node_modules/@node-red/nodes/core/network/10-mqtt.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js b/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js index 2b4968483..afa0066f4 100644 --- a/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js +++ b/packages/node_modules/@node-red/nodes/core/network/10-mqtt.js @@ -161,12 +161,12 @@ module.exports = function(RED) { if(typeof val === "string") { count++; _clone[key] = val; - } else { - count++; + } else if (val !== undefined && val !== null) { try { _clone[key] = JSON.stringify(val) + count++; } catch (err) { - console.log('MQTT v5 Property value can not be converted to a String') + // Silently drop property } } }); From 49a3eded59e59b6dc1207fcd872233aa0cb2e701 Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Tue, 8 Oct 2024 18:10:28 +0200 Subject: [PATCH 057/173] Apply code review + add comments Co-authored-by: Nick O'Leary --- .../@node-red/editor-client/src/js/ui/deploy.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/deploy.js b/packages/node_modules/@node-red/editor-client/src/js/ui/deploy.js index e429c1586..ed503bcfe 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/deploy.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/deploy.js @@ -591,6 +591,7 @@ RED.deploy = (function() { const flowsToLock = new Set() // Node's properties cannot be modified if its workspace is locked. function ensureUnlocked(id) { + // TODO: `RED.nodes.subflow` is useless const flow = id && (RED.nodes.workspace(id) || RED.nodes.subflow(id) || null); const isLocked = flow ? flow.locked : false; if (flow && isLocked) { @@ -643,27 +644,27 @@ RED.deploy = (function() { delete confNode.credentials; } }); + // Subflow cannot be locked RED.nodes.eachSubflow(function (subflow) { if (subflow.changed) { subflow.changed = false; - if (flowsToLock.has(subflow)) { - subflow.locked = true; - } RED.events.emit("subflows:change", subflow); } }); RED.nodes.eachWorkspace(function (ws) { if (ws.changed || ws.added) { - ensureUnlocked(ws.z) + // Ensure the Workspace is unlocked to modify its properties. + ensureUnlocked(ws.id); ws.changed = false; delete ws.added if (flowsToLock.has(ws)) { ws.locked = true; + flowsToLock.delete(ws); } RED.events.emit("flows:change", ws) } }); - // Ensures all workspaces/subflows to be locked have been locked. + // Ensures all workspaces to be locked have been locked. flowsToLock.forEach(flow => { flow.locked = true }) From a0033697ea435fdd69db51e8edb17439de5eba5a Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Wed, 9 Oct 2024 10:25:35 +0100 Subject: [PATCH 058/173] Update cookie --- package.json | 6 +++--- packages/node_modules/@node-red/editor-api/package.json | 4 ++-- packages/node_modules/@node-red/nodes/package.json | 2 +- packages/node_modules/@node-red/runtime/package.json | 2 +- packages/node_modules/node-red/package.json | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 952b95bc0..229ede53d 100644 --- a/package.json +++ b/package.json @@ -37,12 +37,12 @@ "clone": "2.1.2", "content-type": "1.0.5", "cookie": "0.7.2", - "cookie-parser": "1.4.6", + "cookie-parser": "1.4.7", "cors": "2.8.5", "cronosjs": "1.7.1", "denque": "2.1.0", - "express": "4.21.0", - "express-session": "1.18.0", + "express": "4.21.1", + "express-session": "1.18.1", "form-data": "4.0.0", "fs-extra": "11.2.0", "got": "12.6.1", diff --git a/packages/node_modules/@node-red/editor-api/package.json b/packages/node_modules/@node-red/editor-api/package.json index 59a265ca4..02d8cf673 100644 --- a/packages/node_modules/@node-red/editor-api/package.json +++ b/packages/node_modules/@node-red/editor-api/package.json @@ -22,8 +22,8 @@ "body-parser": "1.20.3", "clone": "2.1.2", "cors": "2.8.5", - "express-session": "1.18.0", - "express": "4.21.0", + "express-session": "1.18.1", + "express": "4.21.1", "memorystore": "1.6.7", "mime": "3.0.0", "multer": "1.4.5-lts.1", diff --git a/packages/node_modules/@node-red/nodes/package.json b/packages/node_modules/@node-red/nodes/package.json index 72179409c..a2f82334a 100644 --- a/packages/node_modules/@node-red/nodes/package.json +++ b/packages/node_modules/@node-red/nodes/package.json @@ -21,7 +21,7 @@ "body-parser": "1.20.3", "cheerio": "1.0.0-rc.10", "content-type": "1.0.5", - "cookie-parser": "1.4.6", + "cookie-parser": "1.4.7", "cookie": "0.7.2", "cors": "2.8.5", "cronosjs": "1.7.1", diff --git a/packages/node_modules/@node-red/runtime/package.json b/packages/node_modules/@node-red/runtime/package.json index 67464f496..276e2ecef 100644 --- a/packages/node_modules/@node-red/runtime/package.json +++ b/packages/node_modules/@node-red/runtime/package.json @@ -20,7 +20,7 @@ "@node-red/util": "4.0.3", "async-mutex": "0.5.0", "clone": "2.1.2", - "express": "4.21.0", + "express": "4.21.1", "fs-extra": "11.2.0", "json-stringify-safe": "5.0.1", "rfdc": "^1.3.1" diff --git a/packages/node_modules/node-red/package.json b/packages/node_modules/node-red/package.json index 2f61e8468..b3fab303d 100644 --- a/packages/node_modules/node-red/package.json +++ b/packages/node_modules/node-red/package.json @@ -38,7 +38,7 @@ "basic-auth": "2.0.1", "bcryptjs": "2.4.3", "cors": "2.8.5", - "express": "4.21.0", + "express": "4.21.1", "fs-extra": "11.2.0", "node-red-admin": "^4.0.1", "nopt": "5.0.0", From 90ea3c15b35e042f285aecf1fc7e234738f0ed19 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Wed, 9 Oct 2024 10:56:14 +0100 Subject: [PATCH 059/173] Bump for 4.0.4 release --- CHANGELOG.md | 17 +++++++++++++++++ package.json | 2 +- .../@node-red/editor-api/package.json | 6 +++--- .../@node-red/editor-client/package.json | 2 +- .../node_modules/@node-red/nodes/package.json | 2 +- .../@node-red/registry/package.json | 4 ++-- .../node_modules/@node-red/runtime/package.json | 6 +++--- .../node_modules/@node-red/util/package.json | 2 +- packages/node_modules/node-red/package.json | 10 +++++----- 9 files changed, 34 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6eaa3b7fa..5d51c45f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ +#### 4.0.4: Maintenance Release + +Editor + + - Fix `link call` node can call out of a subflow (#4892) @GogoVega + - Fix wrong unlock state when event is triggered after deployment (#4889) @GogoVega + - i18n(App) update with latest language file changes (#4903) @joebordes + - fix typo: depreciated (#4895) @dxdc + +Runtime + + - Update dev dependencies (#4893) @knolleary + +Nodes + + - MQTT: Allow msg.userProperties to have number values (#4900) @hardillb + #### 4.0.3: Maintenance Release Editor diff --git a/package.json b/package.json index 229ede53d..9d30315fd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red", - "version": "4.0.3", + "version": "4.0.4", "description": "Low-code programming for event-driven applications", "homepage": "https://nodered.org", "license": "Apache-2.0", diff --git a/packages/node_modules/@node-red/editor-api/package.json b/packages/node_modules/@node-red/editor-api/package.json index 02d8cf673..b1cdd9ad5 100644 --- a/packages/node_modules/@node-red/editor-api/package.json +++ b/packages/node_modules/@node-red/editor-api/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/editor-api", - "version": "4.0.3", + "version": "4.0.4", "license": "Apache-2.0", "main": "./lib/index.js", "repository": { @@ -16,8 +16,8 @@ } ], "dependencies": { - "@node-red/util": "4.0.3", - "@node-red/editor-client": "4.0.3", + "@node-red/util": "4.0.4", + "@node-red/editor-client": "4.0.4", "bcryptjs": "2.4.3", "body-parser": "1.20.3", "clone": "2.1.2", diff --git a/packages/node_modules/@node-red/editor-client/package.json b/packages/node_modules/@node-red/editor-client/package.json index 7e65dcc1a..587a32c6a 100644 --- a/packages/node_modules/@node-red/editor-client/package.json +++ b/packages/node_modules/@node-red/editor-client/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/editor-client", - "version": "4.0.3", + "version": "4.0.4", "license": "Apache-2.0", "repository": { "type": "git", diff --git a/packages/node_modules/@node-red/nodes/package.json b/packages/node_modules/@node-red/nodes/package.json index a2f82334a..7fdcb3a3e 100644 --- a/packages/node_modules/@node-red/nodes/package.json +++ b/packages/node_modules/@node-red/nodes/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/nodes", - "version": "4.0.3", + "version": "4.0.4", "license": "Apache-2.0", "repository": { "type": "git", diff --git a/packages/node_modules/@node-red/registry/package.json b/packages/node_modules/@node-red/registry/package.json index 7c6e8ebcc..229c5d31d 100644 --- a/packages/node_modules/@node-red/registry/package.json +++ b/packages/node_modules/@node-red/registry/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/registry", - "version": "4.0.3", + "version": "4.0.4", "license": "Apache-2.0", "main": "./lib/index.js", "repository": { @@ -16,7 +16,7 @@ } ], "dependencies": { - "@node-red/util": "4.0.3", + "@node-red/util": "4.0.4", "clone": "2.1.2", "fs-extra": "11.2.0", "semver": "7.6.3", diff --git a/packages/node_modules/@node-red/runtime/package.json b/packages/node_modules/@node-red/runtime/package.json index 276e2ecef..71d36b54a 100644 --- a/packages/node_modules/@node-red/runtime/package.json +++ b/packages/node_modules/@node-red/runtime/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/runtime", - "version": "4.0.3", + "version": "4.0.4", "license": "Apache-2.0", "main": "./lib/index.js", "repository": { @@ -16,8 +16,8 @@ } ], "dependencies": { - "@node-red/registry": "4.0.3", - "@node-red/util": "4.0.3", + "@node-red/registry": "4.0.4", + "@node-red/util": "4.0.4", "async-mutex": "0.5.0", "clone": "2.1.2", "express": "4.21.1", diff --git a/packages/node_modules/@node-red/util/package.json b/packages/node_modules/@node-red/util/package.json index 67ed9d88b..80ae1a517 100644 --- a/packages/node_modules/@node-red/util/package.json +++ b/packages/node_modules/@node-red/util/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/util", - "version": "4.0.3", + "version": "4.0.4", "license": "Apache-2.0", "repository": { "type": "git", diff --git a/packages/node_modules/node-red/package.json b/packages/node_modules/node-red/package.json index b3fab303d..b7e87be84 100644 --- a/packages/node_modules/node-red/package.json +++ b/packages/node_modules/node-red/package.json @@ -1,6 +1,6 @@ { "name": "node-red", - "version": "4.0.3", + "version": "4.0.4", "description": "Low-code programming for event-driven applications", "homepage": "https://nodered.org", "license": "Apache-2.0", @@ -31,10 +31,10 @@ "flow" ], "dependencies": { - "@node-red/editor-api": "4.0.3", - "@node-red/runtime": "4.0.3", - "@node-red/util": "4.0.3", - "@node-red/nodes": "4.0.3", + "@node-red/editor-api": "4.0.4", + "@node-red/runtime": "4.0.4", + "@node-red/util": "4.0.4", + "@node-red/nodes": "4.0.4", "basic-auth": "2.0.1", "bcryptjs": "2.4.3", "cors": "2.8.5", From 802b116b0140f8b06da7087b8de07c9f68139b28 Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Thu, 10 Oct 2024 08:53:33 +0200 Subject: [PATCH 060/173] Refix link call node can call out of a subflow --- packages/node_modules/@node-red/editor-client/src/js/nodes.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/nodes.js b/packages/node_modules/@node-red/editor-client/src/js/nodes.js index 857068d4b..12e0a6ef1 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/nodes.js +++ b/packages/node_modules/@node-red/editor-client/src/js/nodes.js @@ -2419,10 +2419,10 @@ RED.nodes = (function() { if (otherNode.z === n.z) { // Both ends in the same flow/subflow return true - } else if (n.type === "link call" && !!getSubflow(otherNode.z)) { + } else if (n.type === "link call" && !getSubflow(otherNode.z)) { // Link call node can call out of a subflow as long as otherNode is // not in a subflow - return false + return true } else if (!!getSubflow(n.z) || !!getSubflow(otherNode.z)) { // One end is in a subflow - remove the link return false From fe9354d10b893de689efaddaf120c690bb595049 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Thu, 10 Oct 2024 11:05:08 +0100 Subject: [PATCH 061/173] Bump for 4.0.5 --- CHANGELOG.md | 6 ++++++ package.json | 2 +- .../node_modules/@node-red/editor-api/package.json | 6 +++--- .../node_modules/@node-red/editor-client/package.json | 2 +- packages/node_modules/@node-red/nodes/package.json | 2 +- packages/node_modules/@node-red/registry/package.json | 4 ++-- packages/node_modules/@node-red/runtime/package.json | 6 +++--- packages/node_modules/@node-red/util/package.json | 2 +- packages/node_modules/node-red/package.json | 10 +++++----- scripts/generate-publish-script.js | 8 +++++--- 10 files changed, 28 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d51c45f9..4b55ac4c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +#### 4.0.5: Maintenance Release + +Editor + + - Refix link call node can call out of a subflow (#4908) @GogoVega + #### 4.0.4: Maintenance Release Editor diff --git a/package.json b/package.json index 9d30315fd..c7fe644f7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red", - "version": "4.0.4", + "version": "4.0.5", "description": "Low-code programming for event-driven applications", "homepage": "https://nodered.org", "license": "Apache-2.0", diff --git a/packages/node_modules/@node-red/editor-api/package.json b/packages/node_modules/@node-red/editor-api/package.json index b1cdd9ad5..e58f2e9fb 100644 --- a/packages/node_modules/@node-red/editor-api/package.json +++ b/packages/node_modules/@node-red/editor-api/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/editor-api", - "version": "4.0.4", + "version": "4.0.5", "license": "Apache-2.0", "main": "./lib/index.js", "repository": { @@ -16,8 +16,8 @@ } ], "dependencies": { - "@node-red/util": "4.0.4", - "@node-red/editor-client": "4.0.4", + "@node-red/util": "4.0.5", + "@node-red/editor-client": "4.0.5", "bcryptjs": "2.4.3", "body-parser": "1.20.3", "clone": "2.1.2", diff --git a/packages/node_modules/@node-red/editor-client/package.json b/packages/node_modules/@node-red/editor-client/package.json index 587a32c6a..b6b7a2c73 100644 --- a/packages/node_modules/@node-red/editor-client/package.json +++ b/packages/node_modules/@node-red/editor-client/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/editor-client", - "version": "4.0.4", + "version": "4.0.5", "license": "Apache-2.0", "repository": { "type": "git", diff --git a/packages/node_modules/@node-red/nodes/package.json b/packages/node_modules/@node-red/nodes/package.json index 7fdcb3a3e..84db88466 100644 --- a/packages/node_modules/@node-red/nodes/package.json +++ b/packages/node_modules/@node-red/nodes/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/nodes", - "version": "4.0.4", + "version": "4.0.5", "license": "Apache-2.0", "repository": { "type": "git", diff --git a/packages/node_modules/@node-red/registry/package.json b/packages/node_modules/@node-red/registry/package.json index 229c5d31d..9437a5beb 100644 --- a/packages/node_modules/@node-red/registry/package.json +++ b/packages/node_modules/@node-red/registry/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/registry", - "version": "4.0.4", + "version": "4.0.5", "license": "Apache-2.0", "main": "./lib/index.js", "repository": { @@ -16,7 +16,7 @@ } ], "dependencies": { - "@node-red/util": "4.0.4", + "@node-red/util": "4.0.5", "clone": "2.1.2", "fs-extra": "11.2.0", "semver": "7.6.3", diff --git a/packages/node_modules/@node-red/runtime/package.json b/packages/node_modules/@node-red/runtime/package.json index 71d36b54a..a160c402c 100644 --- a/packages/node_modules/@node-red/runtime/package.json +++ b/packages/node_modules/@node-red/runtime/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/runtime", - "version": "4.0.4", + "version": "4.0.5", "license": "Apache-2.0", "main": "./lib/index.js", "repository": { @@ -16,8 +16,8 @@ } ], "dependencies": { - "@node-red/registry": "4.0.4", - "@node-red/util": "4.0.4", + "@node-red/registry": "4.0.5", + "@node-red/util": "4.0.5", "async-mutex": "0.5.0", "clone": "2.1.2", "express": "4.21.1", diff --git a/packages/node_modules/@node-red/util/package.json b/packages/node_modules/@node-red/util/package.json index 80ae1a517..c02ab3805 100644 --- a/packages/node_modules/@node-red/util/package.json +++ b/packages/node_modules/@node-red/util/package.json @@ -1,6 +1,6 @@ { "name": "@node-red/util", - "version": "4.0.4", + "version": "4.0.5", "license": "Apache-2.0", "repository": { "type": "git", diff --git a/packages/node_modules/node-red/package.json b/packages/node_modules/node-red/package.json index b7e87be84..0969024ff 100644 --- a/packages/node_modules/node-red/package.json +++ b/packages/node_modules/node-red/package.json @@ -1,6 +1,6 @@ { "name": "node-red", - "version": "4.0.4", + "version": "4.0.5", "description": "Low-code programming for event-driven applications", "homepage": "https://nodered.org", "license": "Apache-2.0", @@ -31,10 +31,10 @@ "flow" ], "dependencies": { - "@node-red/editor-api": "4.0.4", - "@node-red/runtime": "4.0.4", - "@node-red/util": "4.0.4", - "@node-red/nodes": "4.0.4", + "@node-red/editor-api": "4.0.5", + "@node-red/runtime": "4.0.5", + "@node-red/util": "4.0.5", + "@node-red/nodes": "4.0.5", "basic-auth": "2.0.1", "bcryptjs": "2.4.3", "cors": "2.8.5", diff --git a/scripts/generate-publish-script.js b/scripts/generate-publish-script.js index 0b2a75cd0..c31b2dd9e 100644 --- a/scripts/generate-publish-script.js +++ b/scripts/generate-publish-script.js @@ -36,10 +36,12 @@ function generateScript() { packages.forEach(name => { const tarName = name.replace(/@/,"").replace(/\//,"-") lines.push(`npm publish ${tarName}-${version}.tgz ${tagArg}\n`); - if (updateNextToLatest) { - lines.push(`npm dist-tag add ${name}@${version} next\n`); - } }) + if (updateNextToLatest) { + packages.forEach(name => { + lines.push(`npm dist-tag add ${name}@${version} next\n`); + }) + } resolve(lines.join("")) }); } From a7b1ce0cf84acf25d1517af1be2ff0b06e5293b5 Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Thu, 10 Oct 2024 15:47:42 +0200 Subject: [PATCH 062/173] Improve the node name auto-generated with the first available nb --- .../editor-client/src/js/ui/view-tools.js | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/view-tools.js b/packages/node_modules/@node-red/editor-client/src/js/ui/view-tools.js index f503beecb..22cb1eecd 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/view-tools.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/view-tools.js @@ -1102,18 +1102,27 @@ RED.view.tools = (function() { const paletteLabel = RED.utils.getPaletteLabel(n.type, nodeDef) const defaultNodeNameRE = new RegExp('^'+paletteLabel.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')+' (\\d+)$') if (!typeIndex.hasOwnProperty(n.type)) { - const existingNodes = RED.nodes.filterNodes({type: n.type}) - let maxNameNumber = 0; - existingNodes.forEach(n => { - let match = defaultNodeNameRE.exec(n.name) + const existingNodes = RED.nodes.filterNodes({ type: n.type }); + const existingIds = existingNodes.reduce((ids, node) => { + let match = defaultNodeNameRE.exec(node.name); if (match) { - let nodeNumber = parseInt(match[1]) - if (nodeNumber > maxNameNumber) { - maxNameNumber = nodeNumber + const nodeNumber = parseInt(match[1], 10); + if (!ids.includes(nodeNumber)) { + ids.push(nodeNumber); } } - }) - typeIndex[n.type] = maxNameNumber + 1 + return ids; + }, []).sort((a, b) => a - b); + + let availableNameNumber = 1; + for (let i = 0; i < existingIds.length; i++) { + if (existingIds[i] !== availableNameNumber) { + break; + } + availableNameNumber++; + } + + typeIndex[n.type] = availableNameNumber; } if ((options.renameBlank && n.name === '') || (options.renameClash && defaultNodeNameRE.test(n.name))) { if (generateHistory) { From 2eba7548013a0bfba56369abc1bc58f61f61d3ca Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Sat, 12 Oct 2024 16:49:09 +0100 Subject: [PATCH 063/173] Fix trigger node date handling for latest time type input to fix #4914 --- .../@node-red/nodes/core/function/89-trigger.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/node_modules/@node-red/nodes/core/function/89-trigger.js b/packages/node_modules/@node-red/nodes/core/function/89-trigger.js index 16a00e99d..0fc6ad6fb 100644 --- a/packages/node_modules/@node-red/nodes/core/function/89-trigger.js +++ b/packages/node_modules/@node-red/nodes/core/function/89-trigger.js @@ -166,7 +166,13 @@ module.exports = function(RED) { if (err) { reject(err); } else { - msg.payload = value; + if (node.op1type === "date") { + let d = new Date(); + if (node.op1 == "1") { msg.payload = Date.now(); } + else if (node.op1 == "iso") { msg.payload = d.toISOString(); } + else { msg.payload = d; } + } + else { msg.payload = value; } resolve(); } }); @@ -213,7 +219,12 @@ module.exports = function(RED) { } else { msg2.payload = node.topics[topic].m2; - if (node.op2type === "date") { msg2.payload = Date.now(); } + if (node.op2type === "date") { + let d = new Date(); + if (node.op2 == "0") { msg2.payload = Date.now(); } + else if (node.op2 == "iso") { msg2.payload = d.toISOString(); } + else { msg2.payload = d; } + } if (node.second === true) { msgInfo.send([null,msg2]); } else { msgInfo.send(msg2); } } From 61fd01b8716e62d5f26fbcc1d56f47ca6d05db5d Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Sat, 12 Oct 2024 17:09:18 +0100 Subject: [PATCH 064/173] And add some tests --- test/nodes/core/function/89-trigger_spec.js | 24 +++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/test/nodes/core/function/89-trigger_spec.js b/test/nodes/core/function/89-trigger_spec.js index 33401e540..e86ed7a31 100644 --- a/test/nodes/core/function/89-trigger_spec.js +++ b/test/nodes/core/function/89-trigger_spec.js @@ -111,7 +111,15 @@ describe('trigger node', function() { try { if (rval) { msg.should.have.property("payload"); - should.deepEqual(msg.payload, rval); + if (type == "date" && val == "1") { + should.deepEqual(Math.round(msg.payload/10000), Math.round(rval/10000)); + } + else if (type == "date" && val == "iso") { + should.deepEqual(msg.payload.substr(0,11), rval.substr(0,11)); + } + else { + should.deepEqual(msg.payload, rval); + } } else { msg.should.have.property("payload", val); @@ -126,6 +134,7 @@ describe('trigger node', function() { }); it('should output 2st value when triggered ('+type+')', function(done) { + if (type == "date" && val == "1") { val = "0"; } var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", op1:"foo", op1type:"str", op2:val, op2type:type, duration:"20", wires:[["n2"]] }, {id:"n2", type:"helper"} ]; process.env[val] = rval; @@ -142,7 +151,15 @@ describe('trigger node', function() { else { if (rval) { msg.should.have.property("payload"); - should.deepEqual(msg.payload, rval); + if (type == "date" && val == "0") { + should.deepEqual(Math.round(msg.payload/10000), Math.round(rval/10000)); + } + else if (type == "date" && val == "iso") { + should.deepEqual(msg.payload.substr(0,11), rval.substr(0,11)); + } + else { + should.deepEqual(msg.payload, rval); + } } else { msg.should.have.property("payload", val); @@ -166,6 +183,9 @@ describe('trigger node', function() { var val_buf = "[1,2,3,4,5]"; basicTest("bin", val_buf, Buffer.from(JSON.parse(val_buf))); basicTest("env", "NR-TEST", "env-val"); + basicTest("date", "1", Date.now()); + basicTest("date", "iso", (new Date()).toISOString()); + // basicTest("date", "object", Date.now()); it('should output 1 then 0 when triggered (default)', function(done) { var flow = [{"id":"n1", "type":"trigger", "name":"triggerNode", duration:"20", wires:[["n2"]] }, From 892933ff758d240109fb0d711d322c73f672250d Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Sat, 12 Oct 2024 17:22:24 +0100 Subject: [PATCH 065/173] Update 89-trigger_spec.js --- test/nodes/core/function/89-trigger_spec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/nodes/core/function/89-trigger_spec.js b/test/nodes/core/function/89-trigger_spec.js index e86ed7a31..f78db0423 100644 --- a/test/nodes/core/function/89-trigger_spec.js +++ b/test/nodes/core/function/89-trigger_spec.js @@ -112,7 +112,7 @@ describe('trigger node', function() { if (rval) { msg.should.have.property("payload"); if (type == "date" && val == "1") { - should.deepEqual(Math.round(msg.payload/10000), Math.round(rval/10000)); + should.deepEqual(Math.round(msg.payload/1000000), Math.round(Date.now()/1000000)); } else if (type == "date" && val == "iso") { should.deepEqual(msg.payload.substr(0,11), rval.substr(0,11)); @@ -152,7 +152,7 @@ describe('trigger node', function() { if (rval) { msg.should.have.property("payload"); if (type == "date" && val == "0") { - should.deepEqual(Math.round(msg.payload/10000), Math.round(rval/10000)); + should.deepEqual(Math.round(msg.payload/1000000), parseInt(Date.now()/1000000)); } else if (type == "date" && val == "iso") { should.deepEqual(msg.payload.substr(0,11), rval.substr(0,11)); From d0ad62a82bd2b3afea4183aa99fb2509589d7226 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 21 Oct 2024 16:24:21 +0100 Subject: [PATCH 066/173] Revert trigger node fix --- .../@node-red/nodes/core/function/89-trigger.js | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/packages/node_modules/@node-red/nodes/core/function/89-trigger.js b/packages/node_modules/@node-red/nodes/core/function/89-trigger.js index 0fc6ad6fb..16a00e99d 100644 --- a/packages/node_modules/@node-red/nodes/core/function/89-trigger.js +++ b/packages/node_modules/@node-red/nodes/core/function/89-trigger.js @@ -166,13 +166,7 @@ module.exports = function(RED) { if (err) { reject(err); } else { - if (node.op1type === "date") { - let d = new Date(); - if (node.op1 == "1") { msg.payload = Date.now(); } - else if (node.op1 == "iso") { msg.payload = d.toISOString(); } - else { msg.payload = d; } - } - else { msg.payload = value; } + msg.payload = value; resolve(); } }); @@ -219,12 +213,7 @@ module.exports = function(RED) { } else { msg2.payload = node.topics[topic].m2; - if (node.op2type === "date") { - let d = new Date(); - if (node.op2 == "0") { msg2.payload = Date.now(); } - else if (node.op2 == "iso") { msg2.payload = d.toISOString(); } - else { msg2.payload = d; } - } + if (node.op2type === "date") { msg2.payload = Date.now(); } if (node.second === true) { msgInfo.send([null,msg2]); } else { msgInfo.send(msg2); } } From b3aff3a3e6847f03ef851d98e68c80eafe27573d Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 21 Oct 2024 16:26:03 +0100 Subject: [PATCH 067/173] Ensure trigger node properties work with evaluateNodeProperty --- .../@node-red/nodes/core/function/89-trigger.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/nodes/core/function/89-trigger.js b/packages/node_modules/@node-red/nodes/core/function/89-trigger.js index 16a00e99d..f0aaaf393 100644 --- a/packages/node_modules/@node-red/nodes/core/function/89-trigger.js +++ b/packages/node_modules/@node-red/nodes/core/function/89-trigger.js @@ -24,6 +24,14 @@ module.exports = function(RED) { this.op2 = n.op2 || "0"; this.op1type = n.op1type || "str"; this.op2type = n.op2type || "str"; + // If the op1/2type is 'date', then we need to leave op1/2 alone so that + // evaluateNodeProperty works as expected. + if (this.op1type === 'date' && this.op1 === '1') { + this.op1 = '' + } + if (this.op2type === 'date' && this.op2 === '0') { + this.op2 = '' + } this.second = (n.outputs == 2) ? true : false; this.topic = n.topic || "topic"; @@ -213,7 +221,6 @@ module.exports = function(RED) { } else { msg2.payload = node.topics[topic].m2; - if (node.op2type === "date") { msg2.payload = Date.now(); } if (node.second === true) { msgInfo.send([null,msg2]); } else { msgInfo.send(msg2); } } From 2220956007347017a37d273ff8e1389f3bd48158 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 21 Oct 2024 16:35:11 +0100 Subject: [PATCH 068/173] Ensure trigger second output is revaluated for date types --- .../node_modules/@node-red/nodes/core/function/89-trigger.js | 2 +- test/nodes/core/function/89-trigger_spec.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/node_modules/@node-red/nodes/core/function/89-trigger.js b/packages/node_modules/@node-red/nodes/core/function/89-trigger.js index f0aaaf393..8b3625f2d 100644 --- a/packages/node_modules/@node-red/nodes/core/function/89-trigger.js +++ b/packages/node_modules/@node-red/nodes/core/function/89-trigger.js @@ -201,7 +201,7 @@ module.exports = function(RED) { if (node.op2type !== "nul") { var promise = Promise.resolve(); msg2 = RED.util.cloneMessage(msg); - if (node.op2type === "flow" || node.op2type === "global") { + if (node.op2type === "flow" || node.op2type === "global" || node.op2type === "date") { promise = new Promise((resolve,reject) => { RED.util.evaluateNodeProperty(node.op2,node.op2type,node,msg,(err,value) => { if (err) { diff --git a/test/nodes/core/function/89-trigger_spec.js b/test/nodes/core/function/89-trigger_spec.js index f78db0423..913298901 100644 --- a/test/nodes/core/function/89-trigger_spec.js +++ b/test/nodes/core/function/89-trigger_spec.js @@ -152,7 +152,7 @@ describe('trigger node', function() { if (rval) { msg.should.have.property("payload"); if (type == "date" && val == "0") { - should.deepEqual(Math.round(msg.payload/1000000), parseInt(Date.now()/1000000)); + ;(Math.round(msg.payload/1000000)).should.be.approximately(parseInt(Date.now()/1000000), 1); } else if (type == "date" && val == "iso") { should.deepEqual(msg.payload.substr(0,11), rval.substr(0,11)); From 5a1c18de242b77aecc22241c651c908d90bb15ce Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Tue, 22 Oct 2024 15:14:46 +0200 Subject: [PATCH 069/173] Trigger button action of the selected nodes with new Hotkey --- .../@node-red/editor-client/src/js/keymap.json | 4 ++-- .../node_modules/@node-red/editor-client/src/js/nodes.js | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/keymap.json b/packages/node_modules/@node-red/editor-client/src/js/keymap.json index 1bedab6e8..39fdc02d5 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/keymap.json +++ b/packages/node_modules/@node-red/editor-client/src/js/keymap.json @@ -91,8 +91,8 @@ "alt-shift-w": "core:show-last-hidden-flow", "ctrl-+": "core:zoom-in", "ctrl--": "core:zoom-out", - "ctrl-0": "core:zoom-reset" - + "ctrl-0": "core:zoom-reset", + "ctrl-shift-t": "core:click-selected-nodes-button" }, "red-ui-editor-stack": { "ctrl-enter": "core:confirm-edit-tray", diff --git a/packages/node_modules/@node-red/editor-client/src/js/nodes.js b/packages/node_modules/@node-red/editor-client/src/js/nodes.js index 2a7b440f2..d831e4eae 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/nodes.js +++ b/packages/node_modules/@node-red/editor-client/src/js/nodes.js @@ -3013,7 +3013,12 @@ RED.nodes = (function() { }); RED.events.on('deploy', function () { allNodes.clearState() - }) + }); + RED.actions.add("core:click-selected-nodes-button", function () { + const selectedNodes = RED.view.selection().nodes || []; + // Triggers the button action of the selected nodes + selectedNodes.forEach((node) => RED.view.clickNodeButton(node)); + }); }, registry:registry, setNodeList: registry.setNodeList, From 7555e0644f3bc78cfa87f930ecbe9f7e99d3cb6c Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Wed, 23 Oct 2024 12:15:24 +0200 Subject: [PATCH 070/173] Apply `envVarExcludes` setting to `RED.util.getSetting` into the function node --- .../nodes/core/function/10-function.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/packages/node_modules/@node-red/nodes/core/function/10-function.js b/packages/node_modules/@node-red/nodes/core/function/10-function.js index 0120d8c92..8d365722f 100644 --- a/packages/node_modules/@node-red/nodes/core/function/10-function.js +++ b/packages/node_modules/@node-red/nodes/core/function/10-function.js @@ -111,8 +111,6 @@ module.exports = function(RED) { throw new Error(RED._("function.error.externalModuleNotAllowed")); } - - var functionText = "var results = null;"+ "results = (async function(msg,__send__,__done__){ "+ "var __msgid__ = msg._msgid;"+ @@ -160,13 +158,26 @@ module.exports = function(RED) { node.outstandingIntervals = []; node.clearStatus = false; + const envVarExcludes = {}; + if (RED.settings.envVarExcludes && Array.isArray(RED.settings.envVarExcludes)) { + RED.settings.envVarExcludes.forEach((e) => envVarExcludes[e] = true); + } + var sandbox = { console:console, util:util, Buffer:Buffer, Date: Date, RED: { - util: RED.util + util: { + ...RED.util, + getSetting: function (node, name, flow) { + if (envVarExcludes[name]) { + return undefined; + } + return RED.util.getSetting(node, name, flow); + } + } }, __node__: { id: node.id, From 2fd7aee4dad20b8eea860f684dd80538e29e6892 Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Thu, 24 Oct 2024 13:44:40 +0200 Subject: [PATCH 071/173] Move `envVarExcludes` to the top scope --- .../@node-red/nodes/core/function/10-function.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/node_modules/@node-red/nodes/core/function/10-function.js b/packages/node_modules/@node-red/nodes/core/function/10-function.js index 8d365722f..413830b72 100644 --- a/packages/node_modules/@node-red/nodes/core/function/10-function.js +++ b/packages/node_modules/@node-red/nodes/core/function/10-function.js @@ -22,6 +22,11 @@ module.exports = function(RED) { var acorn = require("acorn"); var acornWalk = require("acorn-walk"); + const envVarExcludes = {}; + if (RED.settings.envVarExcludes && Array.isArray(RED.settings.envVarExcludes)) { + RED.settings.envVarExcludes.forEach((e) => envVarExcludes[e] = true); + } + function sendResults(node,send,_msgid,msgs,cloneFirstMessage) { if (msgs == null) { return; @@ -158,11 +163,6 @@ module.exports = function(RED) { node.outstandingIntervals = []; node.clearStatus = false; - const envVarExcludes = {}; - if (RED.settings.envVarExcludes && Array.isArray(RED.settings.envVarExcludes)) { - RED.settings.envVarExcludes.forEach((e) => envVarExcludes[e] = true); - } - var sandbox = { console:console, util:util, From 83696abf9db7f433c38dec5f9deb5092f696bb71 Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Fri, 25 Oct 2024 17:34:51 +0200 Subject: [PATCH 072/173] Fixes and improvements with comments --- .../src/js/ui/editors/panes/properties.js | 49 ++++++++++++------- 1 file changed, 31 insertions(+), 18 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js index 9b18ec35e..8f78b0a9a 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editors/panes/properties.js @@ -131,12 +131,15 @@ } } if (node._def.credentials) { - const credsDefinition = node._def.credentials; - const credsChanged = updateNodeCredentials(node, credsDefinition, this.inputClass); + const credDefinition = node._def.credentials; + const credChanges = updateNodeCredentials(node, credDefinition, this.inputClass); - if (credsChanged) { + if (Object.keys(credChanges).length) { editState.changed = true; - editState.changes.credentials = node.credentials._; + editState.changes.credentials = { + ...(editState.changes.credentials || {}), + ...credChanges + }; } } } @@ -165,10 +168,11 @@ * @param node - the node containing the credentials * @param credDefinition - definition of the credentials * @param prefix - prefix of the input fields - * @return {boolean} whether anything has changed + * @return {object} an object containing the modified properties */ function updateNodeCredentials(node, credDefinition, prefix) { - var changed = false; + const changes = {}; + if (!node.credentials) { node.credentials = {_:{}}; } else if (!node.credentials._) { @@ -181,23 +185,32 @@ if (input.length > 0) { var value = input.val(); if (credDefinition[cred].type == 'password') { - node.credentials['has_' + cred] = (value !== ""); - - // Skip if the credential has not changed - if ((value === '__PWRD__' && node.credentials._['has_' + cred] === true) || - (value === "" && node.credentials._['has_' + cred] === false)) { - continue; + if (value === '__PWRD__') { + // A cred value exists - no changes + } else if (value === '' && node.credentials['has_' + cred] === false) { + // Empty cred value exists - no changes + } else if (value === node.credentials[cred]) { + // A cred value exists locally in the editor - no changes + // Like the user sets a value, saves the config, + // reopens the config and save the config again + } else { + changes[cred] = node.credentials[cred]; + node.credentials[cred] = value; } - changed = true; - } - node.credentials[cred] = value; - if (value != node.credentials._[cred]) { - changed = true; + node.credentials['has_' + cred] = (value !== ''); + } else { + // Since these creds are loaded by the editor, + // values can be directly compared + if (value !== node.credentials[cred]) { + changes[cred] = node.credentials[cred]; + node.credentials[cred] = value; + } } } } } - return changed; + + return changes; } })(); From 966064328f6fd92145729f7710da82cd98c3997d Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Fri, 25 Oct 2024 23:33:19 +0200 Subject: [PATCH 073/173] Add `oneditsave` credentials changes to history --- .../editor-client/src/js/ui/editor.js | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js index 1bdd134fb..b656af0b0 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js @@ -804,6 +804,17 @@ RED.editor = (function() { } } + const oldCreds = {}; + if (editing_node._def.credentials) { + for (const prop in editing_node._def.credentials) { + if (Object.prototype.hasOwnProperty.call(editing_node._def.credentials, prop)) { + if (prop in editing_node.credentials) { + oldCreds[prop] = editing_node.credentials[prop]; + } + } + } + } + try { const rc = editing_node._def.oneditsave.call(editing_node); if (rc === true) { @@ -835,6 +846,21 @@ RED.editor = (function() { } } } + + if (editing_node._def.credentials) { + for (const prop in editing_node._def.credentials) { + if (Object.prototype.hasOwnProperty.call(editing_node._def.credentials, prop)) { + if (oldCreds[prop] !== editing_node.credentials[prop]) { + if (editing_node.credentials[prop] === '__PWRD__') { + continue; + } + editState.changes.credentials = editState.changes.credentials || {}; + editState.changes.credentials[prop] = oldCreds[prop]; + editState.changed = true; + } + } + } + } } } From 24c6f4d655e7907cb23261352d56f8630bdc9313 Mon Sep 17 00:00:00 2001 From: Steve-Mcl Date: Mon, 28 Oct 2024 11:03:29 +0000 Subject: [PATCH 074/173] updates monaco to latest. Includes fix for action widget sizing --- .../src/vendor/monaco/dist/css.worker.js | 2 +- .../monaco/dist/css.worker.js.LICENSE.txt | 2 +- .../src/vendor/monaco/dist/editor.js | 2 +- .../vendor/monaco/dist/editor.js.LICENSE.txt | 2 +- .../src/vendor/monaco/dist/editor.worker.js | 2 +- ...3396e1f13.ttf => f6283f7ccaed1249d9eb.ttf} | Bin 80188 -> 80340 bytes .../src/vendor/monaco/dist/html.worker.js | 3 +- .../monaco/dist/html.worker.js.LICENSE.txt | 2 +- .../src/vendor/monaco/dist/json.worker.js | 2 +- .../monaco/dist/json.worker.js.LICENSE.txt | 2 +- .../src/vendor/monaco/dist/locale/cs.js | 172 ++++++++++------- .../src/vendor/monaco/dist/locale/de.js | 172 ++++++++++------- .../src/vendor/monaco/dist/locale/es.js | 174 ++++++++++------- .../src/vendor/monaco/dist/locale/fr.js | 178 +++++++++++------- .../src/vendor/monaco/dist/locale/it.js | 172 ++++++++++------- .../src/vendor/monaco/dist/locale/ja.js | 176 ++++++++++------- .../src/vendor/monaco/dist/locale/ko.js | 168 ++++++++++------- .../src/vendor/monaco/dist/locale/pl.js | 176 ++++++++++------- .../src/vendor/monaco/dist/locale/pt-br.js | 174 ++++++++++------- .../src/vendor/monaco/dist/locale/qps-ploc.js | 170 ++++++++++------- .../src/vendor/monaco/dist/locale/ru.js | 170 ++++++++++------- .../src/vendor/monaco/dist/locale/tr.js | 174 ++++++++++------- .../src/vendor/monaco/dist/locale/zh-hans.js | 170 ++++++++++------- .../src/vendor/monaco/dist/locale/zh-hant.js | 174 ++++++++++------- .../src/vendor/monaco/dist/ts.worker.js | 6 +- 25 files changed, 1516 insertions(+), 929 deletions(-) rename packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/{8f3abbcbc983396e1f13.ttf => f6283f7ccaed1249d9eb.ttf} (89%) diff --git a/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/css.worker.js b/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/css.worker.js index 87f64a7a3..f9e3cfea6 100644 --- a/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/css.worker.js +++ b/packages/node_modules/@node-red/editor-client/src/vendor/monaco/dist/css.worker.js @@ -1,2 +1,2 @@ /*! For license information please see css.worker.js.LICENSE.txt */ -(()=>{"use strict";var e={};e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new ko("return this")()}catch(e){if("object"==typeof window)return window}}();const t=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((()=>{if(e.stack){if(o.isErrorNoTelemetry(e))throw new o(e.message+"\n\n"+e.stack);throw new Error(e.message+"\n\n"+e.stack)}throw e}),0)}}emit(e){this.listeners.forEach((t=>{t(e)}))}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function n(e){var n;(n=e)instanceof s||n instanceof Error&&n.name===i&&n.message===i||t.onUnexpectedError(e)}function r(e){if(e instanceof Error){const{name:t,message:n}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack,noTelemetry:o.isErrorNoTelemetry(e)}}return e}const i="Canceled";class s extends Error{constructor(){super(i),this.name=this.message}}class o extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof o)return e;const t=new o;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}}class a extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,a.prototype)}}function l(e,t){const n=this;let r,i=!1;return function(){if(i)return r;if(i=!0,t)try{r=e.apply(n,arguments)}finally{t()}else r=e.apply(n,arguments);return r}}var c;!function(e){function t(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=t;const n=Object.freeze([]);function*r(e){yield e}e.empty=function(){return n},e.single=r,e.wrap=function(e){return t(e)?e:r(e)},e.from=function(e){return e||n},e.reverse=function*(e){for(let t=e.length-1;t>=0;t--)yield e[t]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,t){for(const n of e)if(t(n))return!0;return!1},e.find=function(e,t){for(const n of e)if(t(n))return n},e.filter=function*(e,t){for(const n of e)t(n)&&(yield n)},e.map=function*(e,t){let n=0;for(const r of e)yield t(r,n++)},e.concat=function*(...e){for(const t of e)yield*t},e.reduce=function(e,t,n){let r=n;for(const n of e)r=t(r,n);return r},e.slice=function*(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);ti}]},e.asyncToArray=async function(e){const t=[];for await(const n of e)t.push(n);return Promise.resolve(t)}}(c||(c={}));let h=null;function d(e){return null==h||h.trackDisposable(e),e}function p(e){null==h||h.markAsDisposed(e)}function u(e,t){null==h||h.setParent(e,t)}function m(e){if(c.is(e)){const t=[];for(const n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(1===t.length)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function f(e){const t=d({dispose:l((()=>{p(t),e()}))});return t}class g{constructor(){this._toDispose=new Set,this._isDisposed=!1,d(this)}dispose(){this._isDisposed||(p(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{m(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return u(e,this),this._isDisposed?g.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),u(e,null))}}g.DISABLE_DISPOSED_WARNING=!1;class b{constructor(){this._store=new g,d(this),u(this._store,this)}dispose(){p(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}b.None=Object.freeze({dispose(){}}),Symbol.iterator;class v{constructor(e){this.element=e,this.next=v.Undefined,this.prev=v.Undefined}}v.Undefined=new v(void 0);class y{constructor(){this._first=v.Undefined,this._last=v.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===v.Undefined}clear(){let e=this._first;for(;e!==v.Undefined;){const t=e.next;e.prev=v.Undefined,e.next=v.Undefined,e=t}this._first=v.Undefined,this._last=v.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new v(e);if(this._first===v.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==v.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==v.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==v.Undefined&&e.next!==v.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===v.Undefined&&e.next===v.Undefined?(this._first=v.Undefined,this._last=v.Undefined):e.next===v.Undefined?(this._last=this._last.prev,this._last.next=v.Undefined):e.prev===v.Undefined&&(this._first=this._first.next,this._first.prev=v.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==v.Undefined;)yield e.element,e=e.next}}const w=globalThis.performance&&"function"==typeof globalThis.performance.now;class x{static create(e){return new x(e)}constructor(e){this._now=w&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}var S;!function(e){function t(e){return(t,n=null,r)=>{let i,s=!1;return i=e((e=>{if(!s)return i?i.dispose():s=!0,t.call(n,e)}),null,r),s&&i.dispose(),i}}function n(e,t,n){return i(((n,r=null,i)=>e((e=>n.call(r,t(e))),null,i)),n)}function r(e,t,n){return i(((n,r=null,i)=>e((e=>t(e)&&n.call(r,e)),null,i)),n)}function i(e,t){let n;const r=new R({onWillAddFirstListener(){n=e(r.fire,r)},onDidRemoveLastListener(){null==n||n.dispose()}});return null==t||t.add(r),r.event}function s(e,t,n=100,r=!1,i=!1,s,o){let a,l,c,h,d=0;const p=new R({leakWarningThreshold:s,onWillAddFirstListener(){a=e((e=>{d++,l=t(l,e),r&&!c&&(p.fire(l),l=void 0),h=()=>{const e=l;l=void 0,c=void 0,(!r||d>1)&&p.fire(e),d=0},"number"==typeof n?(clearTimeout(c),c=setTimeout(h,n)):void 0===c&&(c=0,queueMicrotask(h))}))},onWillRemoveListener(){i&&d>0&&(null==h||h())},onDidRemoveLastListener(){h=void 0,a.dispose()}});return null==o||o.add(p),p.event}e.None=()=>b.None,e.defer=function(e,t){return s(e,(()=>{}),0,void 0,!0,void 0,t)},e.once=t,e.map=n,e.forEach=function(e,t,n){return i(((n,r=null,i)=>e((e=>{t(e),n.call(r,e)}),null,i)),n)},e.filter=r,e.signal=function(e){return e},e.any=function(...e){return(t,n=null,r)=>{return i=function(...e){const t=f((()=>m(e)));return function(e,t){if(h)for(const n of e)h.setParent(n,t)}(e,t),t}(...e.map((e=>e((e=>t.call(n,e)))))),(s=r)instanceof Array?s.push(i):s&&s.add(i),i;var i,s}},e.reduce=function(e,t,r,i){let s=r;return n(e,(e=>(s=t(s,e),s)),i)},e.debounce=s,e.accumulate=function(t,n=0,r){return e.debounce(t,((e,t)=>e?(e.push(t),e):[t]),n,void 0,!0,void 0,r)},e.latch=function(e,t=((e,t)=>e===t),n){let i,s=!0;return r(e,(e=>{const n=s||!t(e,i);return s=!1,i=e,n}),n)},e.split=function(t,n,r){return[e.filter(t,n,r),e.filter(t,(e=>!n(e)),r)]},e.buffer=function(e,t=!1,n=[],r){let i=n.slice(),s=e((e=>{i?i.push(e):a.fire(e)}));r&&r.add(s);const o=()=>{null==i||i.forEach((e=>a.fire(e))),i=null},a=new R({onWillAddFirstListener(){s||(s=e((e=>a.fire(e))),r&&r.add(s))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){s&&s.dispose(),s=null}});return r&&r.add(a),a.event},e.chain=function(e,t){return(n,r,i)=>{const s=t(new a);return e((function(e){const t=s.evaluate(e);t!==o&&n.call(r,t)}),void 0,i)}};const o=Symbol("HaltChainable");class a{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push((t=>(e(t),t))),this}filter(e){return this.steps.push((t=>e(t)?t:o)),this}reduce(e,t){let n=t;return this.steps.push((t=>(n=e(n,t),n))),this}latch(e=((e,t)=>e===t)){let t,n=!0;return this.steps.push((r=>{const i=n||!e(r,t);return n=!1,t=r,i?r:o})),this}evaluate(e){for(const t of this.steps)if((e=t(e))===o)break;return e}}e.fromNodeEventEmitter=function(e,t,n=(e=>e)){const r=(...e)=>i.fire(n(...e)),i=new R({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event},e.fromDOMEventEmitter=function(e,t,n=(e=>e)){const r=(...e)=>i.fire(n(...e)),i=new R({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event},e.toPromise=function(e){return new Promise((n=>t(e)(n)))},e.fromPromise=function(e){const t=new R;return e.then((e=>{t.fire(e)}),(()=>{t.fire(void 0)})).finally((()=>{t.dispose()})),t.event},e.runAndSubscribe=function(e,t,n){return t(n),e((e=>t(e)))};class l{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;const n={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new R(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,t){return new l(e,t).emitter.event},e.fromObservableLight=function(e){return(t,n,r)=>{let i=0,s=!1;const o={beginUpdate(){i++},endUpdate(){i--,0===i&&(e.reportChanges(),s&&(s=!1,t.call(n)))},handlePossibleChange(){},handleChange(){s=!0}};e.addObserver(o),e.reportChanges();const a={dispose(){e.removeObserver(o)}};return r instanceof g?r.add(a):Array.isArray(r)&&r.push(a),a}}}(S||(S={}));class C{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${C._idPool++}`,C.all.add(this)}start(e){this._stopWatch=new x,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}C.all=new Set,C._idPool=0;class k{constructor(e,t=Math.random().toString(18).slice(2,5)){this.threshold=e,this.name=t,this._warnCountdown=0}dispose(){var e;null===(e=this._stacks)||void 0===e||e.clear()}check(e,t){const n=this.threshold;if(n<=0||t{const t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}}class _{static create(){var e;return new _(null!==(e=(new Error).stack)&&void 0!==e?e:"")}constructor(e){this.value=e}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class E{constructor(e){this.value=e}}class R{constructor(e){var t,n,r,i,s;this._size=0,this._options=e,this._leakageMon=(null===(t=this._options)||void 0===t?void 0:t.leakWarningThreshold)?new k(null!==(r=null===(n=this._options)||void 0===n?void 0:n.leakWarningThreshold)&&void 0!==r?r:-1):void 0,this._perfMon=(null===(i=this._options)||void 0===i?void 0:i._profName)?new C(this._options._profName):void 0,this._deliveryQueue=null===(s=this._options)||void 0===s?void 0:s.deliveryQueue}dispose(){var e,t,n,r;this._disposed||(this._disposed=!0,(null===(e=this._deliveryQueue)||void 0===e?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),null===(n=null===(t=this._options)||void 0===t?void 0:t.onDidRemoveLastListener)||void 0===n||n.call(t),null===(r=this._leakageMon)||void 0===r||r.dispose())}get event(){var e;return null!==(e=this._event)&&void 0!==e||(this._event=(e,t,n)=>{var r,i,s,o,a;if(this._leakageMon&&this._size>3*this._leakageMon.threshold)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),b.None;if(this._disposed)return b.None;t&&(e=e.bind(t));const l=new E(e);let c;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(l.stack=_.create(),c=this._leakageMon.check(l.stack,this._size+1)),this._listeners?this._listeners instanceof E?(null!==(a=this._deliveryQueue)&&void 0!==a||(this._deliveryQueue=new N),this._listeners=[this._listeners,l]):this._listeners.push(l):(null===(i=null===(r=this._options)||void 0===r?void 0:r.onWillAddFirstListener)||void 0===i||i.call(r,this),this._listeners=l,null===(o=null===(s=this._options)||void 0===s?void 0:s.onDidAddFirstListener)||void 0===o||o.call(s,this)),this._size++;const h=f((()=>{null==c||c(),this._removeListener(l)}));return n instanceof g?n.add(h):Array.isArray(n)&&n.push(h),h}),this._event}_removeListener(e){var t,n,r,i;if(null===(n=null===(t=this._options)||void 0===t?void 0:t.onWillRemoveListener)||void 0===n||n.call(t,this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,null===(i=null===(r=this._options)||void 0===r?void 0:r.onDidRemoveLastListener)||void 0===i||i.call(r,this),void(this._size=0);const s=this._listeners,o=s.indexOf(e);if(-1===o)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,s[o]=void 0;const a=this._deliveryQueue.current===this;if(2*this._size<=s.length){let e=0;for(let t=0;t0}}class N{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function F(e){const t=[];for(const n of function(e){let t=[];for(;Object.prototype!==e;)t=t.concat(Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return t}(e))"function"==typeof e[n]&&t.push(n);return t}Object.prototype.hasOwnProperty;const D="object"==typeof globalThis?globalThis:"object"==typeof window?window:"object"==typeof self?self:e.g;let T="undefined"!=typeof document&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function A(e,t,n,...r){const i="object"==typeof t?t.key:t;let s=(((D.MonacoLocale||{}||{}).data||{})[e]||{})[i];s||(s=n),r=[];for(let e=3;e=0,W=P.indexOf("Macintosh")>=0,j=(P.indexOf("Macintosh")>=0||P.indexOf("iPad")>=0||P.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,V=P.indexOf("Linux")>=0,H=(null==P?void 0:P.indexOf("Mobi"))>=0,K=!0,A("vs/base/common/platform",{key:"ensureLoaderPluginIsLoaded",comment:["{Locked}"]},"_"),L=(self.MonacoLocale||{}).language||I,G=L,J=navigator.language);let te=0;W?te=1:O?te=3:V&&(te=2);const ne=O,re=W,ie=(K&&"function"==typeof Y.importScripts&&Y.origin,P),se="function"==typeof Y.postMessage&&!Y.importScripts;(()=>{if(se){const e=[];Y.addEventListener("message",(t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n=0);function ae(e){return e}ie&&ie.indexOf("Firefox"),!oe&&ie&&ie.indexOf("Safari"),ie&&ie.indexOf("Edg/"),ie&&ie.indexOf("Android");class le{constructor(e){this.executor=e,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(e){this._error=e}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var ce;function he(e){return e>=65&&e<=90}function de(e){return 55296<=e&&e<=56319}function pe(e){return 56320<=e&&e<=57343}function ue(e,t){return t-56320+(e-55296<<10)+65536}function me(e,t,n){const r=e.charCodeAt(n);if(de(r)&&n+1t[3*r+1]))return t[3*r+2];r=2*r+1}return 0}}ge._INSTANCE=null;class be{static getInstance(e){return ce.cache.get(Array.from(e))}static getLocales(){return ce._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}ce=be,be.ambiguousCharacterData=new le((()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,8218,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,8242,96,1370,96,1523,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71922,67,71913,67,65315,67,8557,67,8450,67,8493,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71919,87,71910,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,66293,90,71909,90,65338,90,8484,90,8488,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"cs":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"es":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"fr":[65374,126,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"it":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ja":[8211,45,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65292,44,65307,59],"ko":[8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"pt-BR":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"ru":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],"zh-hans":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],"zh-hant":[8211,45,65374,126,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65307,59]}'))),be.cache=new class{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,"function"==typeof e?(this._fn=e,this._computeKey=ae):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}}({getCacheKey:JSON.stringify},(e=>{function t(e){const t=new Map;for(let n=0;n!e.startsWith("_")&&e in r));0===s.length&&(s=["_default"]);for(const e of s)i=n(i,t(r[e]));const o=function(e,t){const n=new Map(e);for(const[e,r]of t)n.set(e,r);return n}(t(r._common),i);return new ce(o)})),be._locales=new le((()=>Object.keys(ce.ambiguousCharacterData.value).filter((e=>!e.startsWith("_")))));class ve{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12288,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999]")}static getData(){return this._data||(this._data=new Set(ve.getRawData())),this._data}static isInvisibleCharacter(e){return ve.getData().has(e)}static get codePoints(){return ve.getData()}}ve._data=void 0;let ye;class we{constructor(e,t,n,r){this.vsWorker=e,this.req=t,this.method=n,this.args=r,this.type=0}}class xe{constructor(e,t,n,r){this.vsWorker=e,this.seq=t,this.res=n,this.err=r,this.type=1}}class Se{constructor(e,t,n,r){this.vsWorker=e,this.req=t,this.eventName=n,this.arg=r,this.type=2}}class Ce{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}}class ke{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class _e{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){const n=String(++this._lastSentReq);return new Promise(((r,i)=>{this._pendingReplies[n]={resolve:r,reject:i},this._send(new we(this._workerId,n,e,t))}))}listen(e,t){let n=null;const r=new R({onWillAddFirstListener:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,r),this._send(new Se(this._workerId,n,e,t))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(n),this._send(new ke(this._workerId,n)),n=null}});return r.event}handleMessage(e){e&&e.vsWorker&&(-1!==this._workerId&&e.vsWorker!==this._workerId||this._handleMessage(e))}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return void console.warn("Got reply to unknown seq");const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;return e.err.$isError&&(n=new Error,n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),void t.reject(n)}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.method,e.args).then((e=>{this._send(new xe(this._workerId,t,e,void 0))}),(e=>{e.detail instanceof Error&&(e.detail=r(e.detail)),this._send(new xe(this._workerId,t,void 0,r(e)))}))}_handleSubscribeEventMessage(e){const t=e.req,n=this._handler.handleEvent(e.eventName,e.arg)((e=>{this._send(new Ce(this._workerId,t,e))}));this._pendingEvents.set(t,n)}_handleEventMessage(e){this._pendingEmitters.has(e.req)?this._pendingEmitters.get(e.req).fire(e.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)?(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)):console.warn("Got unsubscribe for unknown req")}_send(e){const t=[];if(0===e.type)for(let n=0;n{e(t,n)},handleMessage:(e,t)=>this._handleMessage(e,t),handleEvent:(e,t)=>this._handleEvent(e,t)})}onmessage(e){this._protocol.handleMessage(e)}_handleMessage(e,t){if("$initialize"===e)return this.initialize(t[0],t[1],t[2],t[3]);if(!this._requestHandler||"function"!=typeof this._requestHandler[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._requestHandler[e].apply(this._requestHandler,t))}catch(e){return Promise.reject(e)}}_handleEvent(e,t){if(!this._requestHandler)throw new Error("Missing requestHandler");if(Re(e)){const n=this._requestHandler[e].call(this._requestHandler,t);if("function"!=typeof n)throw new Error(`Missing dynamic event ${e} on request handler.`);return n}if(Ee(e)){const t=this._requestHandler[e];if("function"!=typeof t)throw new Error(`Missing event ${e} on request handler.`);return t}throw new Error(`Malformed event name ${e}`)}initialize(e,t,n,r){this._protocol.setWorkerId(e);const i=function(e,t,n){const r=e=>function(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},i=e=>function(t){return n(e,t)},s={};for(const t of e)Re(t)?s[t]=i(t):Ee(t)?s[t]=n(t,void 0):s[t]=r(t);return s}(r,((e,t)=>this._protocol.sendMessage(e,t)),((e,t)=>this._protocol.listen(e,t)));return this._requestHandlerFactory?(this._requestHandler=this._requestHandlerFactory(i),Promise.resolve(F(this._requestHandler))):(t&&(void 0!==t.baseUrl&&delete t.baseUrl,void 0!==t.paths&&void 0!==t.paths.vs&&delete t.paths.vs,void 0!==t.trustedTypesPolicy&&delete t.trustedTypesPolicy,t.catchError=!0,globalThis.require.config(t)),new Promise(((e,t)=>{(0,globalThis.require)([n],(n=>{this._requestHandler=n.create(i),this._requestHandler?e(F(this._requestHandler)):t(new Error("No RequestHandler!"))}),t)})))}}class Fe{constructor(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function De(e,t){return(t<<5)-t+e|0}function Te(e,t){t=De(149417,t);for(let n=0,r=e.length;n>>r)>>>0}function Me(e,t=0,n=e.byteLength,r=0){for(let i=0;ie.toString(16).padStart(2,"0"))).join(""):function(e,t,n="0"){for(;e.length>>0).toString(16),t/4)}class Ie{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(0===t)return;const n=this._buff;let r,i,s=this._buffLen,o=this._leftoverHighSurrogate;for(0!==o?(r=o,i=-1,o=0):(r=e.charCodeAt(0),i=0);;){let a=r;if(de(r)){if(!(i+1>>6,e[t++]=128|(63&n)>>>0):n<65536?(e[t++]=224|(61440&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0):(e[t++]=240|(1835008&n)>>>18,e[t++]=128|(258048&n)>>>12,e[t++]=128|(4032&n)>>>6,e[t++]=128|(63&n)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),ze(this._h0)+ze(this._h1)+ze(this._h2)+ze(this._h3)+ze(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,Me(this._buff,this._buffLen),this._buffLen>56&&(this._step(),Me(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=Ie._bigBlock32,t=this._buffDV;for(let n=0;n<64;n+=4)e.setUint32(n,t.getUint32(n,!1),!1);for(let t=64;t<320;t+=4)e.setUint32(t,Ae(e.getUint32(t-12,!1)^e.getUint32(t-32,!1)^e.getUint32(t-56,!1)^e.getUint32(t-64,!1),1),!1);let n,r,i,s=this._h0,o=this._h1,a=this._h2,l=this._h3,c=this._h4;for(let t=0;t<80;t++)t<20?(n=o&a|~o&l,r=1518500249):t<40?(n=o^a^l,r=1859775393):t<60?(n=o&a|o&l|a&l,r=2400959708):(n=o^a^l,r=3395469782),i=Ae(s,5)+n+c+r+e.getUint32(4*t,!1)&4294967295,c=l,l=a,a=Ae(o,30),o=s,s=i;this._h0=this._h0+s&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+l&4294967295,this._h4=this._h4+c&4294967295}}Ie._bigBlock32=new DataView(new ArrayBuffer(320));class Le{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let n=0,r=e.length;n0||this.m_modifiedCount>0)&&this.m_changes.push(new Fe(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class Ue{constructor(e,t,n=null){this.ContinueProcessingPredicate=n,this._originalSequence=e,this._modifiedSequence=t;const[r,i,s]=Ue._getElements(e),[o,a,l]=Ue._getElements(t);this._hasStrings=s&&l,this._originalStringElements=r,this._originalElementsOrHash=i,this._modifiedStringElements=o,this._modifiedElementsOrHash=a,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&"string"==typeof e[0]}static _getElements(e){const t=e.getElements();if(Ue._isStringArray(t)){const e=new Int32Array(t.length);for(let n=0,r=t.length;n=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){let i;return n<=r?(Oe.Assert(e===t+1,"originalStart should only be one more than originalEnd"),i=[new Fe(e,0,n,r-n+1)]):e<=t?(Oe.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),i=[new Fe(e,t-e+1,n,0)]):(Oe.Assert(e===t+1,"originalStart should only be one more than originalEnd"),Oe.Assert(n===r+1,"modifiedStart should only be one more than modifiedEnd"),i=[]),i}const s=[0],o=[0],a=this.ComputeRecursionPoint(e,t,n,r,s,o,i),l=s[0],c=o[0];if(null!==a)return a;if(!i[0]){const s=this.ComputeDiffRecursive(e,l,n,c,i);let o=[];return o=i[0]?[new Fe(l+1,t-(l+1)+1,c+1,r-(c+1)+1)]:this.ComputeDiffRecursive(l+1,t,c+1,r,i),this.ConcatenateChanges(s,o)}return[new Fe(e,t-e+1,n,r-n+1)]}WALKTRACE(e,t,n,r,i,s,o,a,l,c,h,d,p,u,m,f,g,b){let v=null,y=null,w=new Ve,x=t,S=n,C=p[0]-f[0]-r,k=-1073741824,_=this.m_forwardHistory.length-1;do{const t=C+e;t===x||t=0&&(e=(l=this.m_forwardHistory[_])[0],x=1,S=l.length-1)}while(--_>=-1);if(v=w.getReverseChanges(),b[0]){let e=p[0]+1,t=f[0]+1;if(null!==v&&v.length>0){const n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}y=[new Fe(e,d-e+1,t,m-t+1)]}else{w=new Ve,x=s,S=o,C=p[0]-f[0]-a,k=1073741824,_=g?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const e=C+i;e===x||e=c[e+1]?(u=(h=c[e+1]-1)-C-a,h>k&&w.MarkNextChange(),k=h+1,w.AddOriginalElement(h+1,u+1),C=e+1-i):(u=(h=c[e-1])-C-a,h>k&&w.MarkNextChange(),k=h,w.AddModifiedElement(h+1,u+1),C=e-1-i),_>=0&&(i=(c=this.m_reverseHistory[_])[0],x=1,S=c.length-1)}while(--_>=-1);y=w.getChanges()}return this.ConcatenateChanges(v,y)}ComputeRecursionPoint(e,t,n,r,i,s,o){let a=0,l=0,c=0,h=0,d=0,p=0;e--,n--,i[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const u=t-e+(r-n),m=u+1,f=new Int32Array(m),g=new Int32Array(m),b=r-n,v=t-e,y=e-n,w=t-r,x=(v-b)%2==0;f[b]=e,g[v]=t,o[0]=!1;for(let S=1;S<=u/2+1;S++){let u=0,C=0;c=this.ClipDiagonalBound(b-S,S,b,m),h=this.ClipDiagonalBound(b+S,S,b,m);for(let e=c;e<=h;e+=2){a=e===c||eu+C&&(u=a,C=l),!x&&Math.abs(e-v)<=S-1&&a>=g[e])return i[0]=a,s[0]=l,n<=g[e]&&S<=1448?this.WALKTRACE(b,c,h,y,v,d,p,w,f,g,a,t,i,l,r,s,x,o):null}const k=(u-e+(C-n)-S)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(u,k))return o[0]=!0,i[0]=u,s[0]=C,k>0&&S<=1448?this.WALKTRACE(b,c,h,y,v,d,p,w,f,g,a,t,i,l,r,s,x,o):(e++,n++,[new Fe(e,t-e+1,n,r-n+1)]);d=this.ClipDiagonalBound(v-S,S,v,m),p=this.ClipDiagonalBound(v+S,S,v,m);for(let u=d;u<=p;u+=2){a=u===d||u=g[u+1]?g[u+1]-1:g[u-1],l=a-(u-v)-w;const m=a;for(;a>e&&l>n&&this.ElementsAreEqual(a,l);)a--,l--;if(g[u]=a,x&&Math.abs(u-b)<=S&&a<=f[u])return i[0]=a,s[0]=l,m>=f[u]&&S<=1448?this.WALKTRACE(b,c,h,y,v,d,p,w,f,g,a,t,i,l,r,s,x,o):null}if(S<=1447){let e=new Int32Array(h-c+2);e[0]=b-c+1,We.Copy2(f,c,e,1,h-c+1),this.m_forwardHistory.push(e),e=new Int32Array(p-d+2),e[0]=v-d+1,We.Copy2(g,d,e,1,p-d+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(b,c,h,y,v,d,p,w,f,g,a,t,i,l,r,s,x,o)}PrettifyChanges(e){for(let t=0;t0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength=0;t--){const n=e[t];let r=0,i=0;if(t>0){const n=e[t-1];r=n.originalStart+n.originalLength,i=n.modifiedStart+n.modifiedLength}const s=n.originalLength>0,o=n.modifiedLength>0;let a=0,l=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){const t=n.originalStart-e,c=n.modifiedStart-e;if(tl&&(l=h,a=e)}n.originalStart-=a,n.modifiedStart-=a;const c=[null];t>0&&this.ChangesOverlap(e[t-1],e[t],c)&&(e[t-1]=c[0],e.splice(t,1),t++)}if(this._hasStrings)for(let t=1,n=e.length;t0&&n>a&&(a=n,l=t,c=e)}return a>0?[l,c]:null}_contiguousSequenceScore(e,t,n){let r=0;for(let i=0;i=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)}ConcatenateChanges(e,t){const n=[];if(0===e.length||0===t.length)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){const r=new Array(e.length+t.length-1);return We.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],We.Copy(t,1,r,e.length,t.length-1),r}{const n=new Array(e.length+t.length);return We.Copy(e,0,n,0,e.length),We.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(Oe.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),Oe.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const r=e.originalStart;let i=e.originalLength;const s=e.modifiedStart;let o=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(i=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(o=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new Fe(r,i,s,o),!0}return n[0]=null,!1}ClipDiagonalBound(e,t,n,r){if(e>=0&&ee.cwd()}}else ye="undefined"!=typeof process?{get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd:()=>process.env.VSCODE_CWD||process.cwd()}:{get platform(){return ne?"win32":re?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const Ke=ye.cwd,Be=ye.env,je=ye.platform,$e=46,He=47,Ge=92,Je=58;class Xe extends Error{constructor(e,t,n){let r;"string"==typeof t&&0===t.indexOf("not ")?(r="must not be",t=t.replace(/^not /,"")):r="must be";const i=-1!==e.indexOf(".")?"property":"argument";let s=`The "${e}" ${i} ${r} of type ${t}`;s+=". Received type "+typeof n,super(s),this.code="ERR_INVALID_ARG_TYPE"}}function Ye(e,t){if("string"!=typeof e)throw new Xe(t,"string",e)}const Qe="win32"===je;function Ze(e){return e===He||e===Ge}function et(e){return e===He}function tt(e){return e>=65&&e<=90||e>=97&&e<=122}function nt(e,t,n,r){let i="",s=0,o=-1,a=0,l=0;for(let c=0;c<=e.length;++c){if(c2){const e=i.lastIndexOf(n);-1===e?(i="",s=0):(i=i.slice(0,e),s=i.length-1-i.lastIndexOf(n)),o=c,a=0;continue}if(0!==i.length){i="",s=0,o=c,a=0;continue}}t&&(i+=i.length>0?`${n}..`:"..",s=2)}else i.length>0?i+=`${n}${e.slice(o+1,c)}`:i=e.slice(o+1,c),s=c-o-1;o=c,a=0}else l===$e&&-1!==a?++a:a=-1}return i}function rt(e,t){!function(e,t){if(null===e||"object"!=typeof e)throw new Xe("pathObject","Object",e)}(t);const n=t.dir||t.root,r=t.base||`${t.name||""}${t.ext||""}`;return n?n===t.root?`${n}${r}`:`${n}${e}${r}`:r}const it={resolve(...e){let t="",n="",r=!1;for(let i=e.length-1;i>=-1;i--){let s;if(i>=0){if(s=e[i],Ye(s,"path"),0===s.length)continue}else 0===t.length?s=Ke():(s=Be[`=${t}`]||Ke(),(void 0===s||s.slice(0,2).toLowerCase()!==t.toLowerCase()&&s.charCodeAt(2)===Ge)&&(s=`${t}\\`));const o=s.length;let a=0,l="",c=!1;const h=s.charCodeAt(0);if(1===o)Ze(h)&&(a=1,c=!0);else if(Ze(h))if(c=!0,Ze(s.charCodeAt(1))){let e=2,t=e;for(;e2&&Ze(s.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(t.length>0){if(l.toLowerCase()!==t.toLowerCase())continue}else t=l;if(r){if(t.length>0)break}else if(n=`${s.slice(a)}\\${n}`,r=c,c&&t.length>0)break}return n=nt(n,!r,"\\",Ze),r?`${t}\\${n}`:`${t}${n}`||"."},normalize(e){Ye(e,"path");const t=e.length;if(0===t)return".";let n,r=0,i=!1;const s=e.charCodeAt(0);if(1===t)return et(s)?"\\":e;if(Ze(s))if(i=!0,Ze(e.charCodeAt(1))){let i=2,s=i;for(;i2&&Ze(e.charCodeAt(2))&&(i=!0,r=3));let o=r0&&Ze(e.charCodeAt(t-1))&&(o+="\\"),void 0===n?i?`\\${o}`:o:i?`${n}\\${o}`:`${n}${o}`},isAbsolute(e){Ye(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return Ze(n)||t>2&&tt(n)&&e.charCodeAt(1)===Je&&Ze(e.charCodeAt(2))},join(...e){if(0===e.length)return".";let t,n;for(let r=0;r0&&(void 0===t?t=n=i:t+=`\\${i}`)}if(void 0===t)return".";let r=!0,i=0;if("string"==typeof n&&Ze(n.charCodeAt(0))){++i;const e=n.length;e>1&&Ze(n.charCodeAt(1))&&(++i,e>2&&(Ze(n.charCodeAt(2))?++i:r=!1))}if(r){for(;i=2&&(t=`\\${t.slice(i)}`)}return it.normalize(t)},relative(e,t){if(Ye(e,"from"),Ye(t,"to"),e===t)return"";const n=it.resolve(e),r=it.resolve(t);if(n===r)return"";if((e=n.toLowerCase())===(t=r.toLowerCase()))return"";let i=0;for(;ii&&e.charCodeAt(s-1)===Ge;)s--;const o=s-i;let a=0;for(;aa&&t.charCodeAt(l-1)===Ge;)l--;const c=l-a,h=oh){if(t.charCodeAt(a+p)===Ge)return r.slice(a+p+1);if(2===p)return r.slice(a+p)}o>h&&(e.charCodeAt(i+p)===Ge?d=p:2===p&&(d=3)),-1===d&&(d=0)}let u="";for(p=i+d+1;p<=s;++p)p!==s&&e.charCodeAt(p)!==Ge||(u+=0===u.length?"..":"\\..");return a+=d,u.length>0?`${u}${r.slice(a,l)}`:(r.charCodeAt(a)===Ge&&++a,r.slice(a,l))},toNamespacedPath(e){if("string"!=typeof e||0===e.length)return e;const t=it.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===Ge){if(t.charCodeAt(1)===Ge){const e=t.charCodeAt(2);if(63!==e&&e!==$e)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(tt(t.charCodeAt(0))&&t.charCodeAt(1)===Je&&t.charCodeAt(2)===Ge)return`\\\\?\\${t}`;return e},dirname(e){Ye(e,"path");const t=e.length;if(0===t)return".";let n=-1,r=0;const i=e.charCodeAt(0);if(1===t)return Ze(i)?e:".";if(Ze(i)){if(n=r=1,Ze(e.charCodeAt(1))){let i=2,s=i;for(;i2&&Ze(e.charCodeAt(2))?3:2,r=n);let s=-1,o=!0;for(let n=t-1;n>=r;--n)if(Ze(e.charCodeAt(n))){if(!o){s=n;break}}else o=!1;if(-1===s){if(-1===n)return".";s=n}return e.slice(0,s)},basename(e,t){void 0!==t&&Ye(t,"ext"),Ye(e,"path");let n,r=0,i=-1,s=!0;if(e.length>=2&&tt(e.charCodeAt(0))&&e.charCodeAt(1)===Je&&(r=2),void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=r;--n){const l=e.charCodeAt(n);if(Ze(l)){if(!s){r=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(i=n):(o=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=r;--n)if(Ze(e.charCodeAt(n))){if(!s){r=n+1;break}}else-1===i&&(s=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){Ye(e,"path");let t=0,n=-1,r=0,i=-1,s=!0,o=0;e.length>=2&&e.charCodeAt(1)===Je&&tt(e.charCodeAt(0))&&(t=r=2);for(let a=e.length-1;a>=t;--a){const t=e.charCodeAt(a);if(Ze(t)){if(!s){r=a+1;break}}else-1===i&&(s=!1,i=a+1),t===$e?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1)}return-1===n||-1===i||0===o||1===o&&n===i-1&&n===r+1?"":e.slice(n,i)},format:rt.bind(null,"\\"),parse(e){Ye(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let r=0,i=e.charCodeAt(0);if(1===n)return Ze(i)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(Ze(i)){if(r=1,Ze(e.charCodeAt(1))){let t=2,i=t;for(;t0&&(t.root=e.slice(0,r));let s=-1,o=r,a=-1,l=!0,c=e.length-1,h=0;for(;c>=r;--c)if(i=e.charCodeAt(c),Ze(i)){if(!l){o=c+1;break}}else-1===a&&(l=!1,a=c+1),i===$e?-1===s?s=c:1!==h&&(h=1):-1!==s&&(h=-1);return-1!==a&&(-1===s||0===h||1===h&&s===a-1&&s===o+1?t.base=t.name=e.slice(o,a):(t.name=e.slice(o,s),t.base=e.slice(o,a),t.ext=e.slice(s,a))),t.dir=o>0&&o!==r?e.slice(0,o-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},st=(()=>{if(Qe){const e=/\\/g;return()=>{const t=Ke().replace(e,"/");return t.slice(t.indexOf("/"))}}return()=>Ke()})(),ot={resolve(...e){let t="",n=!1;for(let r=e.length-1;r>=-1&&!n;r--){const i=r>=0?e[r]:st();Ye(i,"path"),0!==i.length&&(t=`${i}/${t}`,n=i.charCodeAt(0)===He)}return t=nt(t,!n,"/",et),n?`/${t}`:t.length>0?t:"."},normalize(e){if(Ye(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===He,n=e.charCodeAt(e.length-1)===He;return 0===(e=nt(e,!t,"/",et)).length?t?"/":n?"./":".":(n&&(e+="/"),t?`/${e}`:e)},isAbsolute:e=>(Ye(e,"path"),e.length>0&&e.charCodeAt(0)===He),join(...e){if(0===e.length)return".";let t;for(let n=0;n0&&(void 0===t?t=r:t+=`/${r}`)}return void 0===t?".":ot.normalize(t)},relative(e,t){if(Ye(e,"from"),Ye(t,"to"),e===t)return"";if((e=ot.resolve(e))===(t=ot.resolve(t)))return"";const n=e.length,r=n-1,i=t.length-1,s=rs){if(t.charCodeAt(1+a)===He)return t.slice(1+a+1);if(0===a)return t.slice(1+a)}else r>s&&(e.charCodeAt(1+a)===He?o=a:0===a&&(o=0));let l="";for(a=1+o+1;a<=n;++a)a!==n&&e.charCodeAt(a)!==He||(l+=0===l.length?"..":"/..");return`${l}${t.slice(1+o)}`},toNamespacedPath:e=>e,dirname(e){if(Ye(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===He;let n=-1,r=!0;for(let t=e.length-1;t>=1;--t)if(e.charCodeAt(t)===He){if(!r){n=t;break}}else r=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){void 0!==t&&Ye(t,"ext"),Ye(e,"path");let n,r=0,i=-1,s=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){const l=e.charCodeAt(n);if(l===He){if(!s){r=n+1;break}}else-1===a&&(s=!1,a=n+1),o>=0&&(l===t.charCodeAt(o)?-1==--o&&(i=n):(o=-1,i=a))}return r===i?i=a:-1===i&&(i=e.length),e.slice(r,i)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===He){if(!s){r=n+1;break}}else-1===i&&(s=!1,i=n+1);return-1===i?"":e.slice(r,i)},extname(e){Ye(e,"path");let t=-1,n=0,r=-1,i=!0,s=0;for(let o=e.length-1;o>=0;--o){const a=e.charCodeAt(o);if(a!==He)-1===r&&(i=!1,r=o+1),a===$e?-1===t?t=o:1!==s&&(s=1):-1!==t&&(s=-1);else if(!i){n=o+1;break}}return-1===t||-1===r||0===s||1===s&&t===r-1&&t===n+1?"":e.slice(t,r)},format:rt.bind(null,"/"),parse(e){Ye(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===He;let r;n?(t.root="/",r=1):r=0;let i=-1,s=0,o=-1,a=!0,l=e.length-1,c=0;for(;l>=r;--l){const t=e.charCodeAt(l);if(t!==He)-1===o&&(a=!1,o=l+1),t===$e?-1===i?i=l:1!==c&&(c=1):-1!==i&&(c=-1);else if(!a){s=l+1;break}}if(-1!==o){const r=0===s&&n?1:s;-1===i||0===c||1===c&&i===o-1&&i===s+1?t.base=t.name=e.slice(r,o):(t.name=e.slice(r,i),t.base=e.slice(r,o),t.ext=e.slice(i,o))}return s>0?t.dir=e.slice(0,s-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};ot.win32=it.win32=it,ot.posix=it.posix=ot,Qe?it.normalize:ot.normalize,Qe?it.resolve:ot.resolve,Qe?it.relative:ot.relative,Qe?it.dirname:ot.dirname,Qe?it.basename:ot.basename,Qe?it.extname:ot.extname,Qe?it.sep:ot.sep;const at=/^\w[\w\d+.-]*$/,lt=/^\//,ct=/^\/\//,ht="",dt="/",pt=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class ut{static isUri(e){return e instanceof ut||!!e&&"string"==typeof e.authority&&"string"==typeof e.fragment&&"string"==typeof e.path&&"string"==typeof e.query&&"string"==typeof e.scheme&&"string"==typeof e.fsPath&&"function"==typeof e.with&&"function"==typeof e.toString}constructor(e,t,n,r,i,s=!1){"object"==typeof e?(this.scheme=e.scheme||ht,this.authority=e.authority||ht,this.path=e.path||ht,this.query=e.query||ht,this.fragment=e.fragment||ht):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||ht,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==dt&&(t=dt+t):t=dt}return t}(this.scheme,n||ht),this.query=r||ht,this.fragment=i||ht,function(e,t){if(!e.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!at.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!lt.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(ct.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,s))}get fsPath(){return yt(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:s}=e;return void 0===t?t=this.scheme:null===t&&(t=ht),void 0===n?n=this.authority:null===n&&(n=ht),void 0===r?r=this.path:null===r&&(r=ht),void 0===i?i=this.query:null===i&&(i=ht),void 0===s?s=this.fragment:null===s&&(s=ht),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&s===this.fragment?this:new ft(t,n,r,i,s)}static parse(e,t=!1){const n=pt.exec(e);return n?new ft(n[2]||ht,Ct(n[4]||ht),Ct(n[5]||ht),Ct(n[7]||ht),Ct(n[9]||ht),t):new ft(ht,ht,ht,ht,ht)}static file(e){let t=ht;if(ne&&(e=e.replace(/\\/g,dt)),e[0]===dt&&e[1]===dt){const n=e.indexOf(dt,2);-1===n?(t=e.substring(2),e=dt):(t=e.substring(2,n),e=e.substring(n)||dt)}return new ft("file",t,e,ht,ht)}static from(e,t){return new ft(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let n;return n=ne&&"file"===e.scheme?ut.file(it.join(yt(e,!0),...t)).path:ot.join(e.path,...t),e.with({path:n})}toString(e=!1){return wt(this,e)}toJSON(){return this}static revive(e){var t,n;if(e){if(e instanceof ut)return e;{const r=new ft(e);return r._formatted=null!==(t=e.external)&&void 0!==t?t:null,r._fsPath=e._sep===mt&&null!==(n=e.fsPath)&&void 0!==n?n:null,r}}return e}}const mt=ne?1:void 0;class ft extends ut{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=yt(this,!1)),this._fsPath}toString(e=!1){return e?wt(this,!0):(this._formatted||(this._formatted=wt(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=mt),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}}const gt={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function bt(e,t,n){let r,i=-1;for(let s=0;s=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||45===o||46===o||95===o||126===o||t&&47===o||n&&91===o||n&&93===o||n&&58===o)-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),void 0!==r&&(r+=e.charAt(s));else{void 0===r&&(r=e.substr(0,s));const t=gt[o];void 0!==t?(-1!==i&&(r+=encodeURIComponent(e.substring(i,s)),i=-1),r+=t):-1===i&&(i=s)}}return-1!==i&&(r+=encodeURIComponent(e.substring(i))),void 0!==r?r:e}function vt(e){let t;for(let n=0;n1&&"file"===e.scheme?`//${e.authority}${e.path}`:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,ne&&(n=n.replace(/\//g,"\\")),n}function wt(e,t){const n=t?vt:bt;let r="",{scheme:i,authority:s,path:o,query:a,fragment:l}=e;if(i&&(r+=i,r+=":"),(s||"file"===i)&&(r+=dt,r+=dt),s){let e=s.indexOf("@");if(-1!==e){const t=s.substr(0,e);s=s.substr(e+1),e=t.lastIndexOf(":"),-1===e?r+=n(t,!1,!1):(r+=n(t.substr(0,e),!1,!1),r+=":",r+=n(t.substr(e+1),!1,!0)),r+="@"}s=s.toLowerCase(),e=s.lastIndexOf(":"),-1===e?r+=n(s,!1,!0):(r+=n(s.substr(0,e),!1,!0),r+=s.substr(e))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2)){const e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&58===o.charCodeAt(1)){const e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}r+=n(o,!0,!1)}return a&&(r+="?",r+=n(a,!1,!1)),l&&(r+="#",r+=t?l:bt(l,!1,!1)),r}function xt(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+xt(e.substr(3)):e}}const St=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Ct(e){return e.match(St)?e.replace(St,(e=>xt(e))):e}class kt{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new kt(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return kt.equals(this,e)}static equals(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return kt.isBefore(this,e)}static isBefore(e,t){return e.lineNumbern||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}isEmpty(){return _t.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return _t.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return _t.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return _t.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return _t.plusRange(this,e)}static plusRange(e,t){let n,r,i,s;return t.startLineNumbere.endLineNumber?(i=t.endLineNumber,s=t.endColumn):t.endLineNumber===e.endLineNumber?(i=t.endLineNumber,s=Math.max(t.endColumn,e.endColumn)):(i=e.endLineNumber,s=e.endColumn),new _t(n,r,i,s)}intersectRanges(e){return _t.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,s=e.endColumn;const o=t.startLineNumber,a=t.startColumn,l=t.endLineNumber,c=t.endColumn;return nl?(i=l,s=c):i===l&&(s=Math.min(s,c)),n>i||n===i&&r>s?null:new _t(n,r,i,s)}equalsRange(e){return _t.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t||!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return _t.getEndPosition(this)}static getEndPosition(e){return new kt(e.endLineNumber,e.endColumn)}getStartPosition(){return _t.getStartPosition(this)}static getStartPosition(e){return new kt(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new _t(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new _t(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return _t.collapseToStart(this)}static collapseToStart(e){return new _t(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return _t.collapseToEnd(this)}static collapseToEnd(e){return new _t(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new _t(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new _t(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new _t(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}}var Et;function Rt(e,t){return(n,r)=>t(e(n),e(r))}!function(e){e.isLessThan=function(e){return e<0},e.isLessThanOrEqual=function(e){return e<=0},e.isGreaterThan=function(e){return e>0},e.isNeitherLessOrGreaterThan=function(e){return 0===e},e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0}(Et||(Et={}));const Nt=(e,t)=>e-t;class Ft{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate((t=>(e.push(t),!0))),e}filter(e){return new Ft((t=>this.iterate((n=>!e(n)||t(n)))))}map(e){return new Ft((t=>this.iterate((n=>t(e(n))))))}findLast(e){let t;return this.iterate((n=>(e(n)&&(t=n),!0))),t}findLastMaxBy(e){let t,n=!0;return this.iterate((r=>((n||Et.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0))),t}}function Dt(e){return e<0?0:e>255?255:0|e}function Tt(e){return e<0?0:e>4294967295?4294967295:0|e}Ft.empty=new Ft((e=>{}));class At{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Tt(e);const n=this.values,r=this.prefixSum,i=t.length;return 0!==i&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Tt(e),t=Tt(t),this.values[e]!==t&&(this.values[e]=t,e-1=n.length)return!1;const i=n.length-e;return t>=i&&(t=i),0!==t&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Tt(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,s=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],s=i-this.values[r],e=i))break;t=r+1}return new Mt(r,e-s)}}class Mt{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}}class zt{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return null===this._cachedTextValue&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);const t=e.changes;for(const e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new kt(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r/?")e.indexOf(n)>=0||(t+="\\"+n);return t+="\\s]+)",new RegExp(t,"g")}();function Lt(e){let t=It;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}const Pt=new y;function Ot(e,t,n,r,i){if(t=Lt(t),i||(i=c.first(Pt)),n.length>i.maxLen){let s=e-i.maxLen/2;return s<0?s=0:r+=s,Ot(e,t,n=n.substring(s,e+i.maxLen/2),r,i)}const s=Date.now(),o=e-1-r;let a=-1,l=null;for(let e=1;!(Date.now()-s>=i.timeBudget);e++){const r=o-i.windowSize*e;t.lastIndex=Math.max(0,r);const s=Wt(t,n,o,a);if(!s&&l)break;if(l=s,r<=0)break;a=r}if(l){const e={word:l[0],startColumn:r+1+l.index,endColumn:r+1+l.index+l[0].length};return t.lastIndex=0,e}return null}function Wt(e,t,n,r){let i;for(;i=e.exec(t);){const t=i.index||0;if(t<=n&&e.lastIndex>=n)return i;if(r>0&&t>r)return null}return null}Pt.unshift({maxLen:1e3,windowSize:15,timeBudget:150});class Vt{constructor(e){const t=Dt(e);this._defaultValue=t,this._asciiMap=Vt._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const n=Dt(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class Ut{constructor(e,t,n){const r=new Uint8Array(e*t);for(let i=0,s=e*t;it&&(t=s),i>n&&(n=i),o>n&&(n=o)}t++,n++;const r=new Ut(n,t,0);for(let t=0,n=e.length;t=this._maxCharCode?0:this._states.get(e,t)}}let Kt=null,Bt=null;class jt{static _createLink(e,t,n,r,i){let s=i-1;do{const n=t.charCodeAt(s);if(2!==e.get(n))break;s--}while(s>r);if(r>0){const e=t.charCodeAt(r-1),n=t.charCodeAt(s);(40===e&&41===n||91===e&&93===n||123===e&&125===n)&&s--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:s+2},url:t.substring(r,s+1)}}static computeLinks(e,t=function(){return null===Kt&&(Kt=new qt([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),Kt}()){const n=function(){if(null===Bt){Bt=new Vt(0);const e=" \t<>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let t=0;t=0?(r+=n?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}}$t.INSTANCE=new $t;const Ht=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var Gt;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||t instanceof Jt||!(!t||"object"!=typeof t)&&"boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:S.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Ht})}(Gt||(Gt={}));class Jt{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Ht:(this._emitter||(this._emitter=new R),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Xt{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const Yt=new Xt,Qt=new Xt,Zt=new Xt,en=new Array(230),tn={},nn=[],rn=Object.create(null),sn=Object.create(null),on=[],an=[];for(let e=0;e<=193;e++)on[e]=-1;for(let e=0;e<=132;e++)an[e]=-1;var ln;!function(){const e="",t=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",e,e],[1,1,"Hyper",0,e,0,e,e,e],[1,2,"Super",0,e,0,e,e,e],[1,3,"Fn",0,e,0,e,e,e],[1,4,"FnLock",0,e,0,e,e,e],[1,5,"Suspend",0,e,0,e,e,e],[1,6,"Resume",0,e,0,e,e,e],[1,7,"Turbo",0,e,0,e,e,e],[1,8,"Sleep",0,e,0,"VK_SLEEP",e,e],[1,9,"WakeUp",0,e,0,e,e,e],[0,10,"KeyA",31,"A",65,"VK_A",e,e],[0,11,"KeyB",32,"B",66,"VK_B",e,e],[0,12,"KeyC",33,"C",67,"VK_C",e,e],[0,13,"KeyD",34,"D",68,"VK_D",e,e],[0,14,"KeyE",35,"E",69,"VK_E",e,e],[0,15,"KeyF",36,"F",70,"VK_F",e,e],[0,16,"KeyG",37,"G",71,"VK_G",e,e],[0,17,"KeyH",38,"H",72,"VK_H",e,e],[0,18,"KeyI",39,"I",73,"VK_I",e,e],[0,19,"KeyJ",40,"J",74,"VK_J",e,e],[0,20,"KeyK",41,"K",75,"VK_K",e,e],[0,21,"KeyL",42,"L",76,"VK_L",e,e],[0,22,"KeyM",43,"M",77,"VK_M",e,e],[0,23,"KeyN",44,"N",78,"VK_N",e,e],[0,24,"KeyO",45,"O",79,"VK_O",e,e],[0,25,"KeyP",46,"P",80,"VK_P",e,e],[0,26,"KeyQ",47,"Q",81,"VK_Q",e,e],[0,27,"KeyR",48,"R",82,"VK_R",e,e],[0,28,"KeyS",49,"S",83,"VK_S",e,e],[0,29,"KeyT",50,"T",84,"VK_T",e,e],[0,30,"KeyU",51,"U",85,"VK_U",e,e],[0,31,"KeyV",52,"V",86,"VK_V",e,e],[0,32,"KeyW",53,"W",87,"VK_W",e,e],[0,33,"KeyX",54,"X",88,"VK_X",e,e],[0,34,"KeyY",55,"Y",89,"VK_Y",e,e],[0,35,"KeyZ",56,"Z",90,"VK_Z",e,e],[0,36,"Digit1",22,"1",49,"VK_1",e,e],[0,37,"Digit2",23,"2",50,"VK_2",e,e],[0,38,"Digit3",24,"3",51,"VK_3",e,e],[0,39,"Digit4",25,"4",52,"VK_4",e,e],[0,40,"Digit5",26,"5",53,"VK_5",e,e],[0,41,"Digit6",27,"6",54,"VK_6",e,e],[0,42,"Digit7",28,"7",55,"VK_7",e,e],[0,43,"Digit8",29,"8",56,"VK_8",e,e],[0,44,"Digit9",30,"9",57,"VK_9",e,e],[0,45,"Digit0",21,"0",48,"VK_0",e,e],[1,46,"Enter",3,"Enter",13,"VK_RETURN",e,e],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",e,e],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",e,e],[1,49,"Tab",2,"Tab",9,"VK_TAB",e,e],[1,50,"Space",10,"Space",32,"VK_SPACE",e,e],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,e,0,e,e,e],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",e,e],[1,64,"F1",59,"F1",112,"VK_F1",e,e],[1,65,"F2",60,"F2",113,"VK_F2",e,e],[1,66,"F3",61,"F3",114,"VK_F3",e,e],[1,67,"F4",62,"F4",115,"VK_F4",e,e],[1,68,"F5",63,"F5",116,"VK_F5",e,e],[1,69,"F6",64,"F6",117,"VK_F6",e,e],[1,70,"F7",65,"F7",118,"VK_F7",e,e],[1,71,"F8",66,"F8",119,"VK_F8",e,e],[1,72,"F9",67,"F9",120,"VK_F9",e,e],[1,73,"F10",68,"F10",121,"VK_F10",e,e],[1,74,"F11",69,"F11",122,"VK_F11",e,e],[1,75,"F12",70,"F12",123,"VK_F12",e,e],[1,76,"PrintScreen",0,e,0,e,e,e],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",e,e],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",e,e],[1,79,"Insert",19,"Insert",45,"VK_INSERT",e,e],[1,80,"Home",14,"Home",36,"VK_HOME",e,e],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",e,e],[1,82,"Delete",20,"Delete",46,"VK_DELETE",e,e],[1,83,"End",13,"End",35,"VK_END",e,e],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",e,e],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",e],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",e],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",e],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",e],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",e,e],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",e,e],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",e,e],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",e,e],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",e,e],[1,94,"NumpadEnter",3,e,0,e,e,e],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",e,e],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",e,e],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",e,e],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",e,e],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",e,e],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",e,e],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",e,e],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",e,e],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",e,e],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",e,e],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",e,e],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",e,e],[1,107,"ContextMenu",58,"ContextMenu",93,e,e,e],[1,108,"Power",0,e,0,e,e,e],[1,109,"NumpadEqual",0,e,0,e,e,e],[1,110,"F13",71,"F13",124,"VK_F13",e,e],[1,111,"F14",72,"F14",125,"VK_F14",e,e],[1,112,"F15",73,"F15",126,"VK_F15",e,e],[1,113,"F16",74,"F16",127,"VK_F16",e,e],[1,114,"F17",75,"F17",128,"VK_F17",e,e],[1,115,"F18",76,"F18",129,"VK_F18",e,e],[1,116,"F19",77,"F19",130,"VK_F19",e,e],[1,117,"F20",78,"F20",131,"VK_F20",e,e],[1,118,"F21",79,"F21",132,"VK_F21",e,e],[1,119,"F22",80,"F22",133,"VK_F22",e,e],[1,120,"F23",81,"F23",134,"VK_F23",e,e],[1,121,"F24",82,"F24",135,"VK_F24",e,e],[1,122,"Open",0,e,0,e,e,e],[1,123,"Help",0,e,0,e,e,e],[1,124,"Select",0,e,0,e,e,e],[1,125,"Again",0,e,0,e,e,e],[1,126,"Undo",0,e,0,e,e,e],[1,127,"Cut",0,e,0,e,e,e],[1,128,"Copy",0,e,0,e,e,e],[1,129,"Paste",0,e,0,e,e,e],[1,130,"Find",0,e,0,e,e,e],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",e,e],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",e,e],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",e,e],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",e,e],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",e,e],[1,136,"KanaMode",0,e,0,e,e,e],[0,137,"IntlYen",0,e,0,e,e,e],[1,138,"Convert",0,e,0,e,e,e],[1,139,"NonConvert",0,e,0,e,e,e],[1,140,"Lang1",0,e,0,e,e,e],[1,141,"Lang2",0,e,0,e,e,e],[1,142,"Lang3",0,e,0,e,e,e],[1,143,"Lang4",0,e,0,e,e,e],[1,144,"Lang5",0,e,0,e,e,e],[1,145,"Abort",0,e,0,e,e,e],[1,146,"Props",0,e,0,e,e,e],[1,147,"NumpadParenLeft",0,e,0,e,e,e],[1,148,"NumpadParenRight",0,e,0,e,e,e],[1,149,"NumpadBackspace",0,e,0,e,e,e],[1,150,"NumpadMemoryStore",0,e,0,e,e,e],[1,151,"NumpadMemoryRecall",0,e,0,e,e,e],[1,152,"NumpadMemoryClear",0,e,0,e,e,e],[1,153,"NumpadMemoryAdd",0,e,0,e,e,e],[1,154,"NumpadMemorySubtract",0,e,0,e,e,e],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",e,e],[1,156,"NumpadClearEntry",0,e,0,e,e,e],[1,0,e,5,"Ctrl",17,"VK_CONTROL",e,e],[1,0,e,4,"Shift",16,"VK_SHIFT",e,e],[1,0,e,6,"Alt",18,"VK_MENU",e,e],[1,0,e,57,"Meta",91,"VK_COMMAND",e,e],[1,157,"ControlLeft",5,e,0,"VK_LCONTROL",e,e],[1,158,"ShiftLeft",4,e,0,"VK_LSHIFT",e,e],[1,159,"AltLeft",6,e,0,"VK_LMENU",e,e],[1,160,"MetaLeft",57,e,0,"VK_LWIN",e,e],[1,161,"ControlRight",5,e,0,"VK_RCONTROL",e,e],[1,162,"ShiftRight",4,e,0,"VK_RSHIFT",e,e],[1,163,"AltRight",6,e,0,"VK_RMENU",e,e],[1,164,"MetaRight",57,e,0,"VK_RWIN",e,e],[1,165,"BrightnessUp",0,e,0,e,e,e],[1,166,"BrightnessDown",0,e,0,e,e,e],[1,167,"MediaPlay",0,e,0,e,e,e],[1,168,"MediaRecord",0,e,0,e,e,e],[1,169,"MediaFastForward",0,e,0,e,e,e],[1,170,"MediaRewind",0,e,0,e,e,e],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",e,e],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",e,e],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",e,e],[1,174,"Eject",0,e,0,e,e,e],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",e,e],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",e,e],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",e,e],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",e,e],[1,179,"LaunchApp1",0,e,0,"VK_MEDIA_LAUNCH_APP1",e,e],[1,180,"SelectTask",0,e,0,e,e,e],[1,181,"LaunchScreenSaver",0,e,0,e,e,e],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",e,e],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",e,e],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",e,e],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",e,e],[1,186,"BrowserStop",0,e,0,"VK_BROWSER_STOP",e,e],[1,187,"BrowserRefresh",0,e,0,"VK_BROWSER_REFRESH",e,e],[1,188,"BrowserFavorites",0,e,0,"VK_BROWSER_FAVORITES",e,e],[1,189,"ZoomToggle",0,e,0,e,e,e],[1,190,"MailReply",0,e,0,e,e,e],[1,191,"MailForward",0,e,0,e,e,e],[1,192,"MailSend",0,e,0,e,e,e],[1,0,e,114,"KeyInComposition",229,e,e,e],[1,0,e,116,"ABNT_C2",194,"VK_ABNT_C2",e,e],[1,0,e,96,"OEM_8",223,"VK_OEM_8",e,e],[1,0,e,0,e,0,"VK_KANA",e,e],[1,0,e,0,e,0,"VK_HANGUL",e,e],[1,0,e,0,e,0,"VK_JUNJA",e,e],[1,0,e,0,e,0,"VK_FINAL",e,e],[1,0,e,0,e,0,"VK_HANJA",e,e],[1,0,e,0,e,0,"VK_KANJI",e,e],[1,0,e,0,e,0,"VK_CONVERT",e,e],[1,0,e,0,e,0,"VK_NONCONVERT",e,e],[1,0,e,0,e,0,"VK_ACCEPT",e,e],[1,0,e,0,e,0,"VK_MODECHANGE",e,e],[1,0,e,0,e,0,"VK_SELECT",e,e],[1,0,e,0,e,0,"VK_PRINT",e,e],[1,0,e,0,e,0,"VK_EXECUTE",e,e],[1,0,e,0,e,0,"VK_SNAPSHOT",e,e],[1,0,e,0,e,0,"VK_HELP",e,e],[1,0,e,0,e,0,"VK_APPS",e,e],[1,0,e,0,e,0,"VK_PROCESSKEY",e,e],[1,0,e,0,e,0,"VK_PACKET",e,e],[1,0,e,0,e,0,"VK_DBE_SBCSCHAR",e,e],[1,0,e,0,e,0,"VK_DBE_DBCSCHAR",e,e],[1,0,e,0,e,0,"VK_ATTN",e,e],[1,0,e,0,e,0,"VK_CRSEL",e,e],[1,0,e,0,e,0,"VK_EXSEL",e,e],[1,0,e,0,e,0,"VK_EREOF",e,e],[1,0,e,0,e,0,"VK_PLAY",e,e],[1,0,e,0,e,0,"VK_ZOOM",e,e],[1,0,e,0,e,0,"VK_NONAME",e,e],[1,0,e,0,e,0,"VK_PA1",e,e],[1,0,e,0,e,0,"VK_OEM_CLEAR",e,e]],n=[],r=[];for(const e of t){const[t,i,s,o,a,l,c,h,d]=e;if(r[i]||(r[i]=!0,nn[i]=s,rn[s]=i,sn[s.toLowerCase()]=i,t&&(on[i]=o,0!==o&&3!==o&&5!==o&&4!==o&&6!==o&&57!==o&&(an[o]=i))),!n[o]){if(n[o]=!0,!a)throw new Error(`String representation missing for key code ${o} around scan code ${s}`);Yt.define(o,a),Qt.define(o,h||a),Zt.define(o,d||h||a)}l&&(en[l]=o),c&&(tn[c]=o)}an[3]=46}(),function(e){e.toString=function(e){return Yt.keyCodeToStr(e)},e.fromString=function(e){return Yt.strToKeyCode(e)},e.toUserSettingsUS=function(e){return Qt.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return Zt.keyCodeToStr(e)},e.fromUserSettings=function(e){return Qt.strToKeyCode(e)||Zt.strToKeyCode(e)},e.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Yt.keyCodeToStr(e)}}(ln||(ln={}));class cn extends _t{constructor(e,t,n,r){super(e,t,n,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return cn.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return 0===this.getDirection()?new cn(this.startLineNumber,this.startColumn,e,t):new cn(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new kt(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new kt(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return 0===this.getDirection()?new cn(e,t,this.endLineNumber,this.endColumn):new cn(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new cn(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return 0===t?new cn(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new cn(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new cn(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;n{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))}))}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){var n;null===(n=this._factories.get(e))||void 0===n||n.dispose();const r=new un(this,e,t);return this._factories.set(e,r),f((()=>{const t=this._factories.get(e);t&&t===r&&(this._factories.delete(e),t.dispose())}))}async getOrCreate(e){const t=this.get(e);if(t)return t;const n=this._factories.get(e);return!n||n.isResolved?null:(await n.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const t=this._factories.get(e);return!(t&&!t.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}},function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(_n||(_n={})),function(e){e[e.Unknown=0]="Unknown",e[e.Disabled=1]="Disabled",e[e.Enabled=2]="Enabled"}(En||(En={})),function(e){e[e.Invoke=1]="Invoke",e[e.Auto=2]="Auto"}(Rn||(Rn={})),function(e){e[e.None=0]="None",e[e.KeepWhitespace=1]="KeepWhitespace",e[e.InsertAsSnippet=4]="InsertAsSnippet"}(Nn||(Nn={})),function(e){e[e.Method=0]="Method",e[e.Function=1]="Function",e[e.Constructor=2]="Constructor",e[e.Field=3]="Field",e[e.Variable=4]="Variable",e[e.Class=5]="Class",e[e.Struct=6]="Struct",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Event=10]="Event",e[e.Operator=11]="Operator",e[e.Unit=12]="Unit",e[e.Value=13]="Value",e[e.Constant=14]="Constant",e[e.Enum=15]="Enum",e[e.EnumMember=16]="EnumMember",e[e.Keyword=17]="Keyword",e[e.Text=18]="Text",e[e.Color=19]="Color",e[e.File=20]="File",e[e.Reference=21]="Reference",e[e.Customcolor=22]="Customcolor",e[e.Folder=23]="Folder",e[e.TypeParameter=24]="TypeParameter",e[e.User=25]="User",e[e.Issue=26]="Issue",e[e.Snippet=27]="Snippet"}(Fn||(Fn={})),function(e){e[e.Deprecated=1]="Deprecated"}(Dn||(Dn={})),function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(Tn||(Tn={})),function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(An||(An={})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(Mn||(Mn={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(zn||(zn={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(In||(In={})),function(e){e[e.None=0]="None",e[e.Keep=1]="Keep",e[e.Brackets=2]="Brackets",e[e.Advanced=3]="Advanced",e[e.Full=4]="Full"}(Ln||(Ln={})),function(e){e[e.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",e[e.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",e[e.accessibilitySupport=2]="accessibilitySupport",e[e.accessibilityPageSize=3]="accessibilityPageSize",e[e.ariaLabel=4]="ariaLabel",e[e.ariaRequired=5]="ariaRequired",e[e.autoClosingBrackets=6]="autoClosingBrackets",e[e.autoClosingComments=7]="autoClosingComments",e[e.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",e[e.autoClosingDelete=9]="autoClosingDelete",e[e.autoClosingOvertype=10]="autoClosingOvertype",e[e.autoClosingQuotes=11]="autoClosingQuotes",e[e.autoIndent=12]="autoIndent",e[e.automaticLayout=13]="automaticLayout",e[e.autoSurround=14]="autoSurround",e[e.bracketPairColorization=15]="bracketPairColorization",e[e.guides=16]="guides",e[e.codeLens=17]="codeLens",e[e.codeLensFontFamily=18]="codeLensFontFamily",e[e.codeLensFontSize=19]="codeLensFontSize",e[e.colorDecorators=20]="colorDecorators",e[e.colorDecoratorsLimit=21]="colorDecoratorsLimit",e[e.columnSelection=22]="columnSelection",e[e.comments=23]="comments",e[e.contextmenu=24]="contextmenu",e[e.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",e[e.cursorBlinking=26]="cursorBlinking",e[e.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",e[e.cursorStyle=28]="cursorStyle",e[e.cursorSurroundingLines=29]="cursorSurroundingLines",e[e.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",e[e.cursorWidth=31]="cursorWidth",e[e.disableLayerHinting=32]="disableLayerHinting",e[e.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",e[e.domReadOnly=34]="domReadOnly",e[e.dragAndDrop=35]="dragAndDrop",e[e.dropIntoEditor=36]="dropIntoEditor",e[e.emptySelectionClipboard=37]="emptySelectionClipboard",e[e.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",e[e.extraEditorClassName=39]="extraEditorClassName",e[e.fastScrollSensitivity=40]="fastScrollSensitivity",e[e.find=41]="find",e[e.fixedOverflowWidgets=42]="fixedOverflowWidgets",e[e.folding=43]="folding",e[e.foldingStrategy=44]="foldingStrategy",e[e.foldingHighlight=45]="foldingHighlight",e[e.foldingImportsByDefault=46]="foldingImportsByDefault",e[e.foldingMaximumRegions=47]="foldingMaximumRegions",e[e.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",e[e.fontFamily=49]="fontFamily",e[e.fontInfo=50]="fontInfo",e[e.fontLigatures=51]="fontLigatures",e[e.fontSize=52]="fontSize",e[e.fontWeight=53]="fontWeight",e[e.fontVariations=54]="fontVariations",e[e.formatOnPaste=55]="formatOnPaste",e[e.formatOnType=56]="formatOnType",e[e.glyphMargin=57]="glyphMargin",e[e.gotoLocation=58]="gotoLocation",e[e.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",e[e.hover=60]="hover",e[e.inDiffEditor=61]="inDiffEditor",e[e.inlineSuggest=62]="inlineSuggest",e[e.inlineEdit=63]="inlineEdit",e[e.letterSpacing=64]="letterSpacing",e[e.lightbulb=65]="lightbulb",e[e.lineDecorationsWidth=66]="lineDecorationsWidth",e[e.lineHeight=67]="lineHeight",e[e.lineNumbers=68]="lineNumbers",e[e.lineNumbersMinChars=69]="lineNumbersMinChars",e[e.linkedEditing=70]="linkedEditing",e[e.links=71]="links",e[e.matchBrackets=72]="matchBrackets",e[e.minimap=73]="minimap",e[e.mouseStyle=74]="mouseStyle",e[e.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",e[e.mouseWheelZoom=76]="mouseWheelZoom",e[e.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",e[e.multiCursorModifier=78]="multiCursorModifier",e[e.multiCursorPaste=79]="multiCursorPaste",e[e.multiCursorLimit=80]="multiCursorLimit",e[e.occurrencesHighlight=81]="occurrencesHighlight",e[e.overviewRulerBorder=82]="overviewRulerBorder",e[e.overviewRulerLanes=83]="overviewRulerLanes",e[e.padding=84]="padding",e[e.pasteAs=85]="pasteAs",e[e.parameterHints=86]="parameterHints",e[e.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",e[e.definitionLinkOpensInPeek=88]="definitionLinkOpensInPeek",e[e.quickSuggestions=89]="quickSuggestions",e[e.quickSuggestionsDelay=90]="quickSuggestionsDelay",e[e.readOnly=91]="readOnly",e[e.readOnlyMessage=92]="readOnlyMessage",e[e.renameOnType=93]="renameOnType",e[e.renderControlCharacters=94]="renderControlCharacters",e[e.renderFinalNewline=95]="renderFinalNewline",e[e.renderLineHighlight=96]="renderLineHighlight",e[e.renderLineHighlightOnlyWhenFocus=97]="renderLineHighlightOnlyWhenFocus",e[e.renderValidationDecorations=98]="renderValidationDecorations",e[e.renderWhitespace=99]="renderWhitespace",e[e.revealHorizontalRightPadding=100]="revealHorizontalRightPadding",e[e.roundedSelection=101]="roundedSelection",e[e.rulers=102]="rulers",e[e.scrollbar=103]="scrollbar",e[e.scrollBeyondLastColumn=104]="scrollBeyondLastColumn",e[e.scrollBeyondLastLine=105]="scrollBeyondLastLine",e[e.scrollPredominantAxis=106]="scrollPredominantAxis",e[e.selectionClipboard=107]="selectionClipboard",e[e.selectionHighlight=108]="selectionHighlight",e[e.selectOnLineNumbers=109]="selectOnLineNumbers",e[e.showFoldingControls=110]="showFoldingControls",e[e.showUnused=111]="showUnused",e[e.snippetSuggestions=112]="snippetSuggestions",e[e.smartSelect=113]="smartSelect",e[e.smoothScrolling=114]="smoothScrolling",e[e.stickyScroll=115]="stickyScroll",e[e.stickyTabStops=116]="stickyTabStops",e[e.stopRenderingLineAfter=117]="stopRenderingLineAfter",e[e.suggest=118]="suggest",e[e.suggestFontSize=119]="suggestFontSize",e[e.suggestLineHeight=120]="suggestLineHeight",e[e.suggestOnTriggerCharacters=121]="suggestOnTriggerCharacters",e[e.suggestSelection=122]="suggestSelection",e[e.tabCompletion=123]="tabCompletion",e[e.tabIndex=124]="tabIndex",e[e.unicodeHighlighting=125]="unicodeHighlighting",e[e.unusualLineTerminators=126]="unusualLineTerminators",e[e.useShadowDOM=127]="useShadowDOM",e[e.useTabStops=128]="useTabStops",e[e.wordBreak=129]="wordBreak",e[e.wordSegmenterLocales=130]="wordSegmenterLocales",e[e.wordSeparators=131]="wordSeparators",e[e.wordWrap=132]="wordWrap",e[e.wordWrapBreakAfterCharacters=133]="wordWrapBreakAfterCharacters",e[e.wordWrapBreakBeforeCharacters=134]="wordWrapBreakBeforeCharacters",e[e.wordWrapColumn=135]="wordWrapColumn",e[e.wordWrapOverride1=136]="wordWrapOverride1",e[e.wordWrapOverride2=137]="wordWrapOverride2",e[e.wrappingIndent=138]="wrappingIndent",e[e.wrappingStrategy=139]="wrappingStrategy",e[e.showDeprecated=140]="showDeprecated",e[e.inlayHints=141]="inlayHints",e[e.editorClassName=142]="editorClassName",e[e.pixelRatio=143]="pixelRatio",e[e.tabFocusMode=144]="tabFocusMode",e[e.layoutInfo=145]="layoutInfo",e[e.wrappingInfo=146]="wrappingInfo",e[e.defaultColorDecorators=147]="defaultColorDecorators",e[e.colorDecoratorsActivatedOn=148]="colorDecoratorsActivatedOn",e[e.inlineCompletionsAccessibilityVerbose=149]="inlineCompletionsAccessibilityVerbose"}(Pn||(Pn={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(On||(On={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(Wn||(Wn={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(Vn||(Vn={})),function(e){e[e.Increase=0]="Increase",e[e.Decrease=1]="Decrease"}(Un||(Un={})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(qn||(qn={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(Kn||(Kn={})),function(e){e[e.Type=1]="Type",e[e.Parameter=2]="Parameter"}(Bn||(Bn={})),function(e){e[e.Automatic=0]="Automatic",e[e.Explicit=1]="Explicit"}(jn||(jn={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}($n||($n={})),function(e){e[e.DependsOnKbLayout=-1]="DependsOnKbLayout",e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.Digit0=21]="Digit0",e[e.Digit1=22]="Digit1",e[e.Digit2=23]="Digit2",e[e.Digit3=24]="Digit3",e[e.Digit4=25]="Digit4",e[e.Digit5=26]="Digit5",e[e.Digit6=27]="Digit6",e[e.Digit7=28]="Digit7",e[e.Digit8=29]="Digit8",e[e.Digit9=30]="Digit9",e[e.KeyA=31]="KeyA",e[e.KeyB=32]="KeyB",e[e.KeyC=33]="KeyC",e[e.KeyD=34]="KeyD",e[e.KeyE=35]="KeyE",e[e.KeyF=36]="KeyF",e[e.KeyG=37]="KeyG",e[e.KeyH=38]="KeyH",e[e.KeyI=39]="KeyI",e[e.KeyJ=40]="KeyJ",e[e.KeyK=41]="KeyK",e[e.KeyL=42]="KeyL",e[e.KeyM=43]="KeyM",e[e.KeyN=44]="KeyN",e[e.KeyO=45]="KeyO",e[e.KeyP=46]="KeyP",e[e.KeyQ=47]="KeyQ",e[e.KeyR=48]="KeyR",e[e.KeyS=49]="KeyS",e[e.KeyT=50]="KeyT",e[e.KeyU=51]="KeyU",e[e.KeyV=52]="KeyV",e[e.KeyW=53]="KeyW",e[e.KeyX=54]="KeyX",e[e.KeyY=55]="KeyY",e[e.KeyZ=56]="KeyZ",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.F20=78]="F20",e[e.F21=79]="F21",e[e.F22=80]="F22",e[e.F23=81]="F23",e[e.F24=82]="F24",e[e.NumLock=83]="NumLock",e[e.ScrollLock=84]="ScrollLock",e[e.Semicolon=85]="Semicolon",e[e.Equal=86]="Equal",e[e.Comma=87]="Comma",e[e.Minus=88]="Minus",e[e.Period=89]="Period",e[e.Slash=90]="Slash",e[e.Backquote=91]="Backquote",e[e.BracketLeft=92]="BracketLeft",e[e.Backslash=93]="Backslash",e[e.BracketRight=94]="BracketRight",e[e.Quote=95]="Quote",e[e.OEM_8=96]="OEM_8",e[e.IntlBackslash=97]="IntlBackslash",e[e.Numpad0=98]="Numpad0",e[e.Numpad1=99]="Numpad1",e[e.Numpad2=100]="Numpad2",e[e.Numpad3=101]="Numpad3",e[e.Numpad4=102]="Numpad4",e[e.Numpad5=103]="Numpad5",e[e.Numpad6=104]="Numpad6",e[e.Numpad7=105]="Numpad7",e[e.Numpad8=106]="Numpad8",e[e.Numpad9=107]="Numpad9",e[e.NumpadMultiply=108]="NumpadMultiply",e[e.NumpadAdd=109]="NumpadAdd",e[e.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",e[e.NumpadSubtract=111]="NumpadSubtract",e[e.NumpadDecimal=112]="NumpadDecimal",e[e.NumpadDivide=113]="NumpadDivide",e[e.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",e[e.ABNT_C1=115]="ABNT_C1",e[e.ABNT_C2=116]="ABNT_C2",e[e.AudioVolumeMute=117]="AudioVolumeMute",e[e.AudioVolumeUp=118]="AudioVolumeUp",e[e.AudioVolumeDown=119]="AudioVolumeDown",e[e.BrowserSearch=120]="BrowserSearch",e[e.BrowserHome=121]="BrowserHome",e[e.BrowserBack=122]="BrowserBack",e[e.BrowserForward=123]="BrowserForward",e[e.MediaTrackNext=124]="MediaTrackNext",e[e.MediaTrackPrevious=125]="MediaTrackPrevious",e[e.MediaStop=126]="MediaStop",e[e.MediaPlayPause=127]="MediaPlayPause",e[e.LaunchMediaPlayer=128]="LaunchMediaPlayer",e[e.LaunchMail=129]="LaunchMail",e[e.LaunchApp2=130]="LaunchApp2",e[e.Clear=131]="Clear",e[e.MAX_VALUE=132]="MAX_VALUE"}(Hn||(Hn={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(Gn||(Gn={})),function(e){e[e.Unnecessary=1]="Unnecessary",e[e.Deprecated=2]="Deprecated"}(Jn||(Jn={})),function(e){e[e.Inline=1]="Inline",e[e.Gutter=2]="Gutter"}(Xn||(Xn={})),function(e){e[e.Normal=1]="Normal",e[e.Underlined=2]="Underlined"}(Yn||(Yn={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(Qn||(Qn={})),function(e){e[e.AIGenerated=1]="AIGenerated"}(Zn||(Zn={})),function(e){e[e.Invoke=0]="Invoke",e[e.Automatic=1]="Automatic"}(er||(er={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(tr||(tr={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(nr||(nr={})),function(e){e[e.Word=0]="Word",e[e.Line=1]="Line",e[e.Suggest=2]="Suggest"}(rr||(rr={})),function(e){e[e.Left=0]="Left",e[e.Right=1]="Right",e[e.None=2]="None",e[e.LeftOfInjectedText=3]="LeftOfInjectedText",e[e.RightOfInjectedText=4]="RightOfInjectedText"}(ir||(ir={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(sr||(sr={})),function(e){e[e.None=0]="None",e[e.Text=1]="Text",e[e.Blocks=2]="Blocks"}(or||(or={})),function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(ar||(ar={})),function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(lr||(lr={})),function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(cr||(cr={})),function(e){e.Off="off",e.OnCode="onCode",e.On="on"}(hr||(hr={})),function(e){e[e.Invoke=1]="Invoke",e[e.TriggerCharacter=2]="TriggerCharacter",e[e.ContentChange=3]="ContentChange"}(dr||(dr={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(pr||(pr={})),function(e){e[e.Deprecated=1]="Deprecated"}(ur||(ur={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(mr||(mr={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(fr||(fr={})),function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(gr||(gr={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(br||(br={}));class kr{static chord(e,t){return function(e,t){return(e|(65535&t)<<16>>>0)>>>0}(e,t)}}kr.CtrlCmd=2048,kr.Shift=1024,kr.Alt=512,kr.WinCtrl=256;class _r{constructor(e,t){this.uri=e,this.value=t}}class Er{constructor(e,t){if(this[vr]="ResourceMap",e instanceof Er)this.map=new Map(e.map),this.toKey=null!=t?t:Er.defaultToKey;else if(function(e){return Array.isArray(e)}(e)){this.map=new Map,this.toKey=null!=t?t:Er.defaultToKey;for(const[t,n]of e)this.set(t,n)}else this.map=new Map,this.toKey=null!=e?e:Er.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new _r(e,t)),this}get(e){var t;return null===(t=this.map.get(this.toKey(e)))||void 0===t?void 0:t.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){void 0!==t&&(e=e.bind(t));for(const[t,n]of this.map)e(n.value,n.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(vr=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}Er.defaultToKey=e=>e.toString();class Rr{constructor(){this[yr]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var e;return null===(e=this._head)||void 0===e?void 0:e.value}get last(){var e;return null===(e=this._tail)||void 0===e?void 0:e.value}has(e){return this._map.has(e)}get(e,t=0){const n=this._map.get(e);if(n)return 0!==t&&this.touch(n,t),n.value}set(e,t,n=0){let r=this._map.get(e);if(r)r.value=t,0!==n&&this.touch(r,n);else{switch(r={key:e,value:t,next:void 0,previous:void 0},n){case 0:case 2:default:this.addItemLast(r);break;case 1:this.addItemFirst(r)}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){const e=this,t=this._state;let n=this._head;const r={[Symbol.iterator]:()=>r,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.key,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return r}values(){const e=this,t=this._state;let n=this._head;const r={[Symbol.iterator]:()=>r,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:n.value,done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return r}entries(){const e=this,t=this._state;let n=this._head;const r={[Symbol.iterator]:()=>r,next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){const e={value:[n.key,n.value],done:!1};return n=n.next,e}return{value:void 0,done:!0}}};return r}[(yr=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._tail,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.previous,n--;this._tail=t,this._size=n,t&&(t.next=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===t||2===t)if(1===t){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(2===t){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}class Nr extends Rr{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class Fr{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){const n=this.map.get(e);n&&(n.delete(t),0===n.size&&this.map.delete(e))}forEach(e,t){const n=this.map.get(e);n&&n.forEach(t)}get(e){return this.map.get(e)||new Set}}function Dr(e,t,n,r,i){return function(e,t,n,r,i){if(0===r)return!0;const s=t.charCodeAt(r-1);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(i>0){const n=t.charCodeAt(r);if(0!==e.get(n))return!0}return!1}(e,t,0,r,i)&&function(e,t,n,r,i){if(r+i===n)return!0;const s=t.charCodeAt(r+i);if(0!==e.get(s))return!0;if(13===s||10===s)return!0;if(i>0){const n=t.charCodeAt(r+i-1);if(0!==e.get(n))return!0}return!1}(e,t,n,r,i)}new class extends Nr{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}}(10),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(wr||(wr={})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=3]="Right"}(xr||(xr={})),function(e){e[e.Both=0]="Both",e[e.Right=1]="Right",e[e.Left=2]="Left",e[e.None=3]="None"}(Sr||(Sr={}));class Tr{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let n;do{if(this._prevMatchStartIndex+this._prevMatchLength===t)return null;if(n=this._searchRegex.exec(e),!n)return null;const r=n.index,i=n[0].length;if(r===this._prevMatchStartIndex&&i===this._prevMatchLength){if(0===i){me(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=i,!this._wordSeparators||Dr(this._wordSeparators,e,t,r,i))return n}while(n);return null}}function Ar(e,t="Unreachable"){throw new Error(t)}function Mr(e){e()||(e(),n(new a("Assertion Failed")))}function zr(e,t){let n=0;for(;nString.fromCodePoint(e))).join(""),l.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}]`,"g");const c=new Tr(null,a),h=[];let d,p=!1,u=0,m=0,f=0;e:for(let t=r,n=i;t<=n;t++){const n=e.getLineContent(t),r=n.length;c.reset(0);do{if(d=c.next(n),d){let e=d.index,i=d.index+d[0].length;e>0&&de(n.charCodeAt(e-1))&&e--,i+1=n){p=!0;break e}h.push(new _t(t,e+1,t,i+1))}}}while(d)}return{ranges:h,hasMore:p,ambiguousCharacterCount:u,invisibleCharacterCount:m,nonBasicAsciiCharacterCount:f}}static computeUnicodeHighlightReason(e,t){const n=new Lr(t);switch(n.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const r=e.codePointAt(0),i=n.ambiguousCharacters.getPrimaryConfusable(r),s=be.getLocales().filter((e=>!be.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(r)));return{kind:0,confusableWith:String.fromCodePoint(i),notAmbiguousInLocales:s}}case 1:return{kind:2}}}}class Lr{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=be.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of ve.codePoints)Pr(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const n=e.codePointAt(0);if(this.allowedCodePoints.has(n))return 0;if(this.options.nonBasicASCII)return 1;let r=!1,i=!1;if(t)for(const e of t){const t=e.codePointAt(0),n=(s=e,fe.test(s));r=r||n,n||this.ambiguousCharacters.isAmbiguous(t)||ve.isInvisibleCharacter(t)||(i=!0)}var s;return!r&&i?0:this.options.invisibleCharacters&&!Pr(e)&&ve.isInvisibleCharacter(n)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(n)?3:0}}function Pr(e){return" "===e||"\n"===e||"\t"===e}class Or{constructor(e,t,n){this.changes=e,this.moves=t,this.hitTimeout=n}}class Wr{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}class Vr{static addRange(e,t){let n=0;for(;nt))return new Vr(e,t)}static ofLength(e){return new Vr(0,e)}static ofStartAndLength(e,t){return new Vr(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new a(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new Vr(this.start+e,this.endExclusive+e)}deltaStart(e){return new Vr(this.start+e,this.endExclusive)}deltaEnd(e){return new Vr(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new a(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new a(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;tt)throw new a(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&et.endLineNumberExclusive>=e.startLineNumber)),n=qr(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)this._normalizedRanges.splice(t,0,e);else if(t===n-1){const n=this._normalizedRanges[t];this._normalizedRanges[t]=n.join(e)}else{const r=this._normalizedRanges[t].join(this._normalizedRanges[n-1]).join(e);this._normalizedRanges.splice(t,n-t,r)}}contains(e){const t=Ur(this._normalizedRanges,(t=>t.startLineNumber<=e));return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=Ur(this._normalizedRanges,(t=>t.startLineNumbere.startLineNumber}getUnion(e){if(0===this._normalizedRanges.length)return e;if(0===e._normalizedRanges.length)return this;const t=[];let n=0,r=0,i=null;for(;n=s.startLineNumber?i=new jr(i.startLineNumber,Math.max(i.endLineNumberExclusive,s.endLineNumberExclusive)):(t.push(i),i=s)}return null!==i&&t.push(i),new $r(t)}subtractFrom(e){const t=Kr(this._normalizedRanges,(t=>t.endLineNumberExclusive>=e.startLineNumber)),n=qr(this._normalizedRanges,(t=>t.startLineNumber<=e.endLineNumberExclusive))+1;if(t===n)return new $r([e]);const r=[];let i=e.startLineNumber;for(let e=t;ei&&r.push(new jr(i,t.startLineNumber)),i=t.endLineNumberExclusive}return ie.toString())).join(", ")}getIntersection(e){const t=[];let n=0,r=0;for(;nt.delta(e))))}}class Hr{static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new Hr(0,t.column-e.column):new Hr(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return Hr.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,n=0;for(const r of e)"\n"===r?(t++,n=0):n++;return new Hr(t,n)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return 0===this.lineCount?new _t(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new _t(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return 0===this.lineCount?new kt(e.lineNumber,e.column+this.columnCount):new kt(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}Hr.zero=new Hr(0,0);class Gr{constructor(e,t){this.range=e,this.text=t}}class Jr{static inverse(e,t,n){const r=[];let i=1,s=1;for(const t of e){const e=new Jr(new jr(i,t.original.startLineNumber),new jr(s,t.modified.startLineNumber));e.modified.isEmpty||r.push(e),i=t.original.endLineNumberExclusive,s=t.modified.endLineNumberExclusive}const o=new Jr(new jr(i,t+1),new jr(s,n+1));return o.modified.isEmpty||r.push(o),r}static clip(e,t,n){const r=[];for(const i of e){const e=i.original.intersect(t),s=i.modified.intersect(n);e&&!e.isEmpty&&s&&!s.isEmpty&&r.push(new Jr(e,s))}return r}constructor(e,t){this.original=e,this.modified=t}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new Jr(this.modified,this.original)}join(e){return new Jr(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new Yr(e,t);if(1===this.original.startLineNumber||1===this.modified.startLineNumber){if(1!==this.modified.startLineNumber||1!==this.original.startLineNumber)throw new a("not a valid diff");return new Yr(new _t(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new _t(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}return new Yr(new _t(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new _t(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}}class Xr extends Jr{static fromRangeMappings(e){const t=jr.join(e.map((e=>jr.fromRangeInclusive(e.originalRange)))),n=jr.join(e.map((e=>jr.fromRangeInclusive(e.modifiedRange))));return new Xr(t,n,e)}constructor(e,t,n){super(e,t),this.innerChanges=n}flip(){var e;return new Xr(this.modified,this.original,null===(e=this.innerChanges)||void 0===e?void 0:e.map((e=>e.flip())))}withInnerChangesFromLineRanges(){return new Xr(this.original,this.modified,[this.toRangeMapping()])}}class Yr{constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new Yr(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new Gr(this.originalRange,t)}}class Qr{computeDiff(e,t,n){var r;const i=new ii(e,t,{maxComputationTime:n.maxComputationTimeMs,shouldIgnoreTrimWhitespace:n.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),s=[];let o=null;for(const e of i.changes){let t,n;t=0===e.originalEndLineNumber?new jr(e.originalStartLineNumber+1,e.originalStartLineNumber+1):new jr(e.originalStartLineNumber,e.originalEndLineNumber+1),n=0===e.modifiedEndLineNumber?new jr(e.modifiedStartLineNumber+1,e.modifiedStartLineNumber+1):new jr(e.modifiedStartLineNumber,e.modifiedEndLineNumber+1);let i=new Xr(t,n,null===(r=e.charChanges)||void 0===r?void 0:r.map((e=>new Yr(new _t(e.originalStartLineNumber,e.originalStartColumn,e.originalEndLineNumber,e.originalEndColumn),new _t(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)))));o&&(o.modified.endLineNumberExclusive!==i.modified.startLineNumber&&o.original.endLineNumberExclusive!==i.original.startLineNumber||(i=new Xr(o.original.join(i.original),o.modified.join(i.modified),o.innerChanges&&i.innerChanges?o.innerChanges.concat(i.innerChanges):void 0),s.pop())),s.push(i),o=i}return Mr((()=>zr(s,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive(10===e?"\\n":String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`)).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return-1===e?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),10===this._charCodes[e]?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return-1===e?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),10===this._charCodes[e]?1:this._columns[e]+1)}}class ni{constructor(e,t,n,r,i,s,o,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=r,this.modifiedStartLineNumber=i,this.modifiedStartColumn=s,this.modifiedEndLineNumber=o,this.modifiedEndColumn=a}static createFromDiffChange(e,t,n){const r=t.getStartLineNumber(e.originalStart),i=t.getStartColumn(e.originalStart),s=t.getEndLineNumber(e.originalStart+e.originalLength-1),o=t.getEndColumn(e.originalStart+e.originalLength-1),a=n.getStartLineNumber(e.modifiedStart),l=n.getStartColumn(e.modifiedStart),c=n.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),h=n.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new ni(r,i,s,o,a,l,c,h)}}class ri{constructor(e,t,n,r,i){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=r,this.charChanges=i}static createFromDiffResult(e,t,n,r,i,s,o){let a,l,c,h,d;if(0===t.originalLength?(a=n.getStartLineNumber(t.originalStart)-1,l=0):(a=n.getStartLineNumber(t.originalStart),l=n.getEndLineNumber(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(c=r.getStartLineNumber(t.modifiedStart)-1,h=0):(c=r.getStartLineNumber(t.modifiedStart),h=r.getEndLineNumber(t.modifiedStart+t.modifiedLength-1)),s&&t.originalLength>0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&i()){const s=n.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),a=r.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(s.getElements().length>0&&a.getElements().length>0){let e=Zr(s,a,i,!0).changes;o&&(e=function(e){if(e.length<=1)return e;const t=[e[0]];let n=t[0];for(let r=1,i=e.length;r1&&o>1&&e.charCodeAt(n-2)===t.charCodeAt(o-2);)n--,o--;(n>1||o>1)&&this._pushTrimWhitespaceCharChange(r,i+1,1,n,s+1,1,o)}{let n=oi(e,1),o=oi(t,1);const a=e.length+1,l=t.length+1;for(;n=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1}(e);return-1===n?t:n+2}function ai(e){if(0===e)return()=>!0;const t=Date.now();return()=>Date.now()-t{n.push(ci.fromOffsetPairs(e?e.getEndExclusives():hi.zero,r?r.getStarts():new hi(t,(e?e.seq2Range.endExclusive-e.seq1Range.endExclusive:0)+t)))})),n}static fromOffsetPairs(e,t){return new ci(new Vr(e.offset1,t.offset1),new Vr(e.offset2,t.offset2))}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new ci(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(e){return new ci(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return 0===e?this:new ci(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return 0===e?this:new ci(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return 0===e?this:new ci(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),n=this.seq2Range.intersect(e.seq2Range);if(t&&n)return new ci(t,n)}getStarts(){return new hi(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new hi(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class hi{constructor(e,t){this.offset1=e,this.offset2=t}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(e){return 0===e?this:new hi(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}hi.zero=new hi(0,0),hi.max=new hi(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);class di{isValid(){return!0}}di.instance=new di;class pi{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new a("timeout must be positive")}isValid(){return!(Date.now()-this.startTime0&&l>0&&3===s.get(a-1,l-1)&&(d+=o.get(a-1,l-1)),d+=r?r(a,l):1):d=-1;const p=Math.max(c,h,d);if(p===d){const e=a>0&&l>0?o.get(a-1,l-1):0;o.set(a,l,e+1),s.set(a,l,3)}else p===c?(o.set(a,l,0),s.set(a,l,1)):p===h&&(o.set(a,l,0),s.set(a,l,2));i.set(a,l,p)}const a=[];let l=e.length,c=t.length;function h(e,t){e+1===l&&t+1===c||a.push(new ci(new Vr(e+1,l),new Vr(t+1,c))),l=e,c=t}let d=e.length-1,p=t.length-1;for(;d>=0&&p>=0;)3===s.get(d,p)?(h(d,p),d--,p--):1===s.get(d,p)?d--:p--;return h(-1,-1),a.reverse(),new li(a,!1)}}class bi{compute(e,t,n=di.instance){if(0===e.length||0===t.length)return li.trivial(e,t);const r=e,i=t;function s(e,t){for(;er.length||p>i.length)continue;const u=s(d,p);a.set(c,u);const m=d===o?l.get(c+1):l.get(c-1);if(l.set(c,u!==d?new vi(m,d,p,u-d):m),a.get(c)===r.length&&a.get(c)-c===i.length)break e}}let h=l.get(c);const d=[];let p=r.length,u=i.length;for(;;){const e=h?h.x+h.length:0,t=h?h.y+h.length:0;if(e===p&&t===u||d.push(new ci(new Vr(e,p),new Vr(t,u))),!h)break;p=h.x,u=h.y,h=h.prev}return d.reverse(),new li(d,!1)}}class vi{constructor(e,t,n,r){this.prev=e,this.x=t,this.y=n,this.length=r}}class yi{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if((e=-e-1)>=this.negativeArr.length){const e=this.negativeArr;this.negativeArr=new Int32Array(2*e.length),this.negativeArr.set(e)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const e=this.positiveArr;this.positiveArr=new Int32Array(2*e.length),this.positiveArr.set(e)}this.positiveArr[e]=t}}}class wi{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class xi{constructor(e,t,n){this.lines=e,this.considerWhitespaceChanges=n,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let r=!1;t.start>0&&t.endExclusive>=e.length&&(t=new Vr(t.start-1,t.endExclusive),r=!0),this.lineRange=t,this.firstCharOffsetByLine[0]=0;for(let t=this.lineRange.start;tString.fromCharCode(e))).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=_i(e>0?this.elements[e-1]:-1),n=_i(et<=e));return new kt(this.lineRange.start+t+1,e-this.firstCharOffsetByLine[t]+this.additionalOffsetByLine[t]+1)}translateRange(e){return _t.fromPositions(this.translateOffset(e.start),this.translateOffset(e.endExclusive))}findWordContaining(e){if(e<0||e>=this.elements.length)return;if(!Si(this.elements[e]))return;let t=e;for(;t>0&&Si(this.elements[t-1]);)t--;let n=e;for(;nt<=e.start)))&&void 0!==t?t:0,i=null!==(n=function(t,n){const r=Kr(t,(t=>e.endExclusive<=t));return r===t.length?void 0:t[r]}(this.firstCharOffsetByLine))&&void 0!==n?n:this.elements.length;return new Vr(r,i)}}function Si(e){return e>=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}const Ci={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function ki(e){return Ci[e]}function _i(e){return 10===e?8:13===e?7:mi(e)?6:e>=97&&e<=122?0:e>=65&&e<=90?1:e>=48&&e<=57?2:-1===e?3:44===e||59===e?5:4}function Ei(e,t,n){if(e.trim()===t.trim())return!0;if(e.length>300&&t.length>300)return!1;const r=(new bi).compute(new xi([e],new Vr(0,1),!1),new xi([t],new Vr(0,1),!1),n);let i=0;const s=ci.invert(r.diffs,e.length);for(const t of s)t.seq1Range.forEach((t=>{mi(e.charCodeAt(t))||i++}));const o=function(t){let n=0;for(let r=0;rt.length?e:t);return i/o>.6&&o>10}function Ri(e,t,n){let r=n;return r=Ni(e,t,r),r=Ni(e,t,r),r=function(e,t,n){if(!e.getBoundaryScore||!t.getBoundaryScore)return n;for(let r=0;r0?n[r-1]:void 0,s=n[r],o=r+10&&(o=o.delta(a))}i.push(o)}return r.length>0&&i.push(r[r.length-1]),i}function Fi(e,t,n,r,i){let s=1;for(;e.seq1Range.start-s>=r.start&&e.seq2Range.start-s>=i.start&&n.isStronglyEqual(e.seq2Range.start-s,e.seq2Range.endExclusive-s)&&s<100;)s++;s--;let o=0;for(;e.seq1Range.start+ol&&(l=c,a=r)}return e.delta(a)}class Di{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){return 1e3-((0===e?0:Ti(this.lines[e-1]))+(e===this.lines.length?0:Ti(this.lines[e])))}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function Ti(e){let t=0;for(;te===t)){if(e===t)return!0;if(!e||!t)return!1;if(e.length!==t.length)return!1;for(let r=0,i=e.length;re===t)))return new Or([],[],!1);if(1===e.length&&0===e[0].length||1===t.length&&0===t[0].length)return new Or([new Xr(new jr(1,e.length+1),new jr(1,t.length+1),[new Yr(new _t(1,1,e.length,e[e.length-1].length+1),new _t(1,1,t.length,t[t.length-1].length+1))])],[],!1);const r=0===n.maxComputationTimeMs?di.instance:new pi(n.maxComputationTimeMs),i=!n.ignoreTrimWhitespace,s=new Map;function o(e){let t=s.get(e);return void 0===t&&(t=s.size,s.set(e,t)),t}const a=e.map((e=>o(e.trim()))),l=t.map((e=>o(e.trim()))),c=new Di(a,e),h=new Di(l,t),d=(()=>c.length+h.length<1700?this.dynamicProgrammingDiffing.compute(c,h,r,((n,r)=>e[n]===t[r]?0===t[r].length?.1:1+Math.log(1+t[r].length):.99)):this.myersDiffingAlgorithm.compute(c,h))();let p=d.diffs,u=d.hitTimeout;p=Ri(c,h,p),p=function(e,t,n){let r=n;if(0===r.length)return r;let i,s=0;do{i=!1;const o=[r[0]];for(let a=1;a5||n.seq1Range.length+n.seq2Range.length>5)}h(c,l)?(i=!0,o[o.length-1]=o[o.length-1].join(l)):o.push(l)}r=o}while(s++<10&&i);return r}(c,0,p);const m=[],f=n=>{if(i)for(let s=0;sn.seq1Range.start-g==n.seq2Range.start-b)),f(n.seq1Range.start-g),g=n.seq1Range.endExclusive,b=n.seq2Range.endExclusive;const s=this.refineDiff(e,t,n,r,i);s.hitTimeout&&(u=!0);for(const e of s.mappings)m.push(e)}f(e.length-g);const v=Mi(m,e,t);let y=[];return n.computeMoves&&(y=this.computeMoves(v,e,t,a,l,r,i)),Mr((()=>{function n(e,t){if(e.lineNumber<1||e.lineNumber>t.length)return!1;const n=t[e.lineNumber-1];return!(e.column<1||e.column>n.length+1)}function r(e,t){return!(e.startLineNumber<1||e.startLineNumber>t.length+1||e.endLineNumberExclusive<1||e.endLineNumberExclusive>t.length+1)}for(const i of v){if(!i.innerChanges)return!1;for(const r of i.innerChanges)if(!(n(r.modifiedRange.getStartPosition(),t)&&n(r.modifiedRange.getEndPosition(),t)&&n(r.originalRange.getStartPosition(),e)&&n(r.originalRange.getEndPosition(),e)))return!1;if(!r(i.modified,t)||!r(i.original,e))return!1}return!0})),new Or(v,y,u)}computeMoves(e,t,n,r,i,s,o){return function(e,t,n,r,i,s){let{moves:o,excludedChanges:a}=function(e,t,n,r){const i=[],s=e.filter((e=>e.modified.isEmpty&&e.original.length>=3)).map((e=>new fi(e.original,t,e))),o=new Set(e.filter((e=>e.original.isEmpty&&e.modified.length>=3)).map((e=>new fi(e.modified,n,e)))),a=new Set;for(const e of s){let t,n=-1;for(const r of o){const i=e.computeSimilarity(r);i>n&&(n=i,t=r)}if(n>.9&&t&&(o.delete(t),i.push(new Jr(e.range,t.range)),a.add(e.source),a.add(t.source)),!r.isValid())return{moves:i,excludedChanges:a}}return{moves:i,excludedChanges:a}}(e,t,n,s);if(!s.isValid())return[];const l=function(e,t,n,r,i,s){const o=[],a=new Fr;for(const n of e)for(let e=n.original.startLineNumber;ee.modified.startLineNumber),Nt));for(const t of e){let e=[];for(let r=t.modified.startLineNumber;r{for(const n of e)if(n.originalLineRange.endLineNumberExclusive+1===t.endLineNumberExclusive&&n.modifiedLineRange.endLineNumberExclusive+1===i.endLineNumberExclusive)return n.originalLineRange=new jr(n.originalLineRange.startLineNumber,t.endLineNumberExclusive),n.modifiedLineRange=new jr(n.modifiedLineRange.startLineNumber,i.endLineNumberExclusive),void s.push(n);const n={modifiedLineRange:i,originalLineRange:t};l.push(n),s.push(n)})),e=s}if(!s.isValid())return[]}var c;l.sort((c=Rt((e=>e.modifiedLineRange.length),Nt),(e,t)=>-c(e,t)));const h=new $r,d=new $r;for(const e of l){const t=e.modifiedLineRange.startLineNumber-e.originalLineRange.startLineNumber,n=h.subtractFrom(e.modifiedLineRange),r=d.subtractFrom(e.originalLineRange).getWithDelta(t),i=n.getIntersection(r);for(const e of i.ranges){if(e.length<3)continue;const n=e,r=e.delta(-t);o.push(new Jr(r,n)),h.addRange(n),d.addRange(r)}}o.sort(Rt((e=>e.original.startLineNumber),Nt));const p=new Br(e);for(let t=0;te.original.startLineNumber<=n.original.startLineNumber)),l=Ur(e,(e=>e.modified.startLineNumber<=n.modified.startLineNumber)),c=Math.max(n.original.startLineNumber-a.original.startLineNumber,n.modified.startLineNumber-l.modified.startLineNumber),u=p.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumberr.length||t>i.length)break;if(h.contains(t)||d.contains(e))break;if(!Ei(r[e-1],i[t-1],s))break}for(g>0&&(d.addRange(new jr(n.original.startLineNumber-g,n.original.startLineNumber)),h.addRange(new jr(n.modified.startLineNumber-g,n.modified.startLineNumber))),b=0;br.length||t>i.length)break;if(h.contains(t)||d.contains(e))break;if(!Ei(r[e-1],i[t-1],s))break}b>0&&(d.addRange(new jr(n.original.endLineNumberExclusive,n.original.endLineNumberExclusive+b)),h.addRange(new jr(n.modified.endLineNumberExclusive,n.modified.endLineNumberExclusive+b))),(g>0||b>0)&&(o[t]=new Jr(new jr(n.original.startLineNumber-g,n.original.endLineNumberExclusive+b),new jr(n.modified.startLineNumber-g,n.modified.endLineNumberExclusive+b)))}return o}(e.filter((e=>!a.has(e))),r,i,t,n,s);return function(e,t){for(const n of t)e.push(n)}(o,l),o=function(e){if(0===e.length)return e;e.sort(Rt((e=>e.original.startLineNumber),Nt));const t=[e[0]];for(let n=1;n=0&&o>=0&&s+o<=2?t[t.length-1]=r.join(i):t.push(i)}return t}(o),o=o.filter((e=>{const n=e.original.toOffsetRange().slice(t).map((e=>e.trim()));return n.join("\n").length>=15&&function(e,t){let n=0;for(const t of e)t.length>=2&&n++;return n}(n)>=2})),o=function(e,t){const n=new Br(e);return t.filter((t=>(n.findLastMonotonous((e=>e.original.startLineNumbere.modified.startLineNumber{const r=Mi(this.refineDiff(t,n,new ci(e.original.toOffsetRange(),e.modified.toOffsetRange()),s,o).mappings,t,n,!0);return new Wr(e,r)}))}refineDiff(e,t,n,r,i){const s=new xi(e,n.seq1Range,i),o=new xi(t,n.seq2Range,i),a=s.length+o.length<500?this.dynamicProgrammingDiffing.compute(s,o,r):this.myersDiffingAlgorithm.compute(s,o,r);let l=a.diffs;return l=Ri(s,o,l),l=function(e,t,n){const r=ci.invert(n,e.length),i=[];let s=new hi(0,0);function o(n,o){if(n.offset10;){const n=r[0];if(!n.seq1Range.intersects(c.seq1Range)&&!n.seq2Range.intersects(c.seq2Range))break;const i=e.findWordContaining(n.seq1Range.start),s=t.findWordContaining(n.seq2Range.start),o=new ci(i,s),a=o.intersect(n);if(d+=a.seq1Range.length,p+=a.seq2Range.length,c=c.join(o),!(c.seq1Range.endExclusive>=n.seq1Range.endExclusive))break;r.shift()}d+p<2*(c.seq1Range.length+c.seq2Range.length)/3&&i.push(c),s=c.getEndExclusives()}for(;r.length>0;){const e=r.shift();e.seq1Range.isEmpty||(o(e.getStarts(),e),o(e.getEndExclusives().delta(-1),e))}return function(e,t){const n=[];for(;e.length>0||t.length>0;){const r=e[0],i=t[0];let s;s=r&&(!i||r.seq1Range.start0&&n[n.length-1].seq1Range.endExclusive>=s.seq1Range.start?n[n.length-1]=n[n.length-1].join(s):n.push(s)}return n}(n,i)}(s,o,l),l=function(e,t,n){const r=[];for(const e of n){const t=r[r.length-1];t&&(e.seq1Range.start-t.seq1Range.endExclusive<=2||e.seq2Range.start-t.seq2Range.endExclusive<=2)?r[r.length-1]=new ci(t.seq1Range.join(e.seq1Range),t.seq2Range.join(e.seq2Range)):r.push(e)}return r}(0,0,l),l=function(e,t,n){let r=n;if(0===r.length)return r;let i,s=0;do{i=!1;const a=[r[0]];for(let l=1;l5||i.length>500)return!1;const s=e.getText(i).trim();if(s.length>20||s.split(/\r\n|\r|\n/).length>1)return!1;const o=e.countLinesIn(n.seq1Range),a=n.seq1Range.length,l=t.countLinesIn(n.seq2Range),d=n.seq2Range.length,p=e.countLinesIn(r.seq1Range),u=r.seq1Range.length,m=t.countLinesIn(r.seq2Range),f=r.seq2Range.length;function g(e){return Math.min(e,130)}return Math.pow(Math.pow(g(40*o+a),1.5)+Math.pow(g(40*l+d),1.5),1.5)+Math.pow(Math.pow(g(40*p+u),1.5)+Math.pow(g(40*m+f),1.5),1.5)>74184.96480721243}d(h,c)?(i=!0,a[a.length-1]=a[a.length-1].join(c)):a.push(c)}r=a}while(s++<10&&i);const o=[];return function(e,t){for(let n=0;n{let i=n;function s(e){return e.length>0&&e.trim().length<=3&&n.seq1Range.length+n.seq2Range.length>100}const a=e.extendToFullLines(n.seq1Range),l=e.getText(new Vr(a.start,n.seq1Range.start));s(l)&&(i=i.deltaStart(-l.length));const c=e.getText(new Vr(n.seq1Range.endExclusive,a.endExclusive));s(c)&&(i=i.deltaEnd(c.length));const h=ci.fromOffsetPairs(t?t.getEndExclusives():hi.zero,r?r.getStarts():hi.max),d=i.intersect(h);o.length>0&&d.getStarts().equals(o[o.length-1].getEndExclusives())?o[o.length-1]=o[o.length-1].join(d):o.push(d)})),o}(s,o,l),{mappings:l.map((e=>new Yr(s.translateRange(e.seq1Range),o.translateRange(e.seq2Range)))),hitTimeout:a.hitTimeout}}}function Mi(e,t,n,r=!1){const i=[];for(const r of function*(e,t){let n,r;for(const t of e)void 0!==r&&(s=t,(i=r).original.overlapOrTouch(s.original)||i.modified.overlapOrTouch(s.modified))?n.push(t):(n&&(yield n),n=[t]),r=t;var i,s;n&&(yield n)}(e.map((e=>function(e,t,n){let r=0,i=0;1===e.modifiedRange.endColumn&&1===e.originalRange.endColumn&&e.originalRange.startLineNumber+r<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+r<=e.modifiedRange.endLineNumber&&(i=-1),e.modifiedRange.startColumn-1>=n[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+i&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+i&&(r=1);const s=new jr(e.originalRange.startLineNumber+r,e.originalRange.endLineNumber+1+i),o=new jr(e.modifiedRange.startLineNumber+r,e.modifiedRange.endLineNumber+1+i);return new Xr(s,o,[e])}(e,t,n))))){const e=r[0],t=r[r.length-1];i.push(new Xr(e.original.join(t.original),e.modified.join(t.modified),r.map((e=>e.innerChanges[0]))))}return Mr((()=>{if(!r&&i.length>0){if(i[0].modified.startLineNumber!==i[0].original.startLineNumber)return!1;if(n.length-i[i.length-1].modified.endLineNumberExclusive!=t.length-i[i.length-1].original.endLineNumberExclusive)return!1}return zr(i,((e,t)=>t.original.startLineNumber-e.original.endLineNumberExclusive==t.modified.startLineNumber-e.modified.endLineNumberExclusive&&e.original.endLineNumberExclusive0){switch(l=Math.min(c<=.5?h/(2*c):h/(2-2*c),1),s){case t:a=(n-r)/h+(n1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}static toRGBA(e){const t=e.h/360,{s:n,l:r,a:i}=e;let s,o,a;if(0===n)s=o=a=r;else{const e=r<.5?r*(1+n):r+n-r*n,i=2*r-e;s=Li._hue2rgb(i,e,t+1/3),o=Li._hue2rgb(i,e,t),a=Li._hue2rgb(i,e,t-1/3)}return new Ii(Math.round(255*s),Math.round(255*o),Math.round(255*a),i)}}class Pi{constructor(e,t,n,r){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,e),0),this.s=zi(Math.max(Math.min(1,t),0),3),this.v=zi(Math.max(Math.min(1,n),0),3),this.a=zi(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,n=e.g/255,r=e.b/255,i=Math.max(t,n,r),s=i-Math.min(t,n,r),o=0===i?0:s/i;let a;return a=0===s?0:i===t?((n-r)/s%6+6)%6:i===n?(r-t)/s+2:(t-n)/s+4,new Pi(Math.round(60*a),o,i,e.a)}static toRGBA(e){const{h:t,s:n,v:r,a:i}=e,s=r*n,o=s*(1-Math.abs(t/60%2-1)),a=r-s;let[l,c,h]=[0,0,0];return t<60?(l=s,c=o):t<120?(l=o,c=s):t<180?(c=s,h=o):t<240?(c=o,h=s):t<300?(l=o,h=s):t<=360&&(l=s,h=o),l=Math.round(255*(l+a)),c=Math.round(255*(c+a)),h=Math.round(255*(h+a)),new Ii(l,c,h,i)}}class Oi{static fromHex(e){return Oi.Format.CSS.parseHex(e)||Oi.red}static equals(e,t){return!e&&!t||!(!e||!t)&&e.equals(t)}get hsla(){return this._hsla?this._hsla:Li.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:Pi.fromRGBA(this.rgba)}constructor(e){if(!e)throw new Error("Color needs a value");if(e instanceof Ii)this.rgba=e;else if(e instanceof Li)this._hsla=e,this.rgba=Li.toRGBA(e);else{if(!(e instanceof Pi))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=Pi.toRGBA(e)}}equals(e){return!!e&&Ii.equals(this.rgba,e.rgba)&&Li.equals(this.hsla,e.hsla)&&Pi.equals(this.hsva,e.hsva)}getRelativeLuminance(){return zi(.2126*Oi._relativeLuminanceForComponent(this.rgba.r)+.7152*Oi._relativeLuminanceForComponent(this.rgba.g)+.0722*Oi._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()e.startColumn){const t={range:e,...Ji(r[1]),shouldBeInComments:!0};(t.text||t.hasSeparatorLine)&&n.push(t)}}}function Ji(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(Hi,""),hasSeparatorLine:t}}class Xi extends zt{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let n=0;nthis._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{const e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}}class Yi{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){const e=[];return Object.keys(this._models).forEach((t=>e.push(this._models[t]))),e}acceptNewModel(e){this._models[e.url]=new Xi(ut.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}async computeUnicodeHighlights(e,t,n){const r=this._getModel(e);return r?Ir.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async findSectionHeaders(e,t){const n=this._getModel(e);return n?function(e,t){var n;let r=[];if(t.findRegionSectionHeaders&&(null===(n=t.foldingRules)||void 0===n?void 0:n.markers)){const n=function(e,t){const n=[],r=e.getLineCount();for(let i=1;i<=r;i++){const r=e.getLineContent(i),s=r.match(t.foldingRules.markers.start);if(s){const e={startLineNumber:i,startColumn:s[0].length+1,endLineNumber:i,endColumn:r.length+1};if(e.endColumn>e.startColumn){const t={range:e,...Ji(r.substring(s[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}(e,t);r=r.concat(n)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],n=e.getLineCount();for(let r=1;r<=n;r++)Gi(e.getLineContent(r),r,t);return t}(e);r=r.concat(t)}return r}(n,t):[]}async computeDiff(e,t,n,r){const i=this._getModel(e),s=this._getModel(t);return i&&s?Yi.computeDiff(i,s,n,r):null}static computeDiff(e,t,n,r){const i="advanced"===r?new Ai:new Qr,s=e.getLinesContent(),o=t.getLinesContent(),a=i.computeDiff(s,o,n);function l(e){return e.map((e=>{var t;return[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,null===(t=e.innerChanges)||void 0===t?void 0:t.map((e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn]))]}))}return{identical:!(a.changes.length>0)&&this._modelsAreIdentical(e,t),quitEarly:a.hitTimeout,changes:l(a.changes),moves:a.moves.map((e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,l(e.changes)]))}}static _modelsAreIdentical(e,t){const n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++)if(e.getLineContent(r)!==t.getLineContent(r))return!1;return!0}async computeMoreMinimalEdits(e,t,n){const r=this._getModel(e);if(!r)return t;const i=[];let s;t=t.slice(0).sort(((e,t)=>e.range&&t.range?_t.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1)));let o=0;for(let e=1;eYi._diffLimit){i.push({range:e,text:o});continue}const l=Pe(t,o,n),c=r.offsetAt(_t.lift(e).getStartPosition());for(const e of l){const t=r.positionAt(c+e.originalStart),n=r.positionAt(c+e.originalStart+e.originalLength),s={text:o.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};r.getValueInRange(s.range)!==s.text&&i.push(s)}}return"number"==typeof s&&i.push({eol:s,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),i}async computeLinks(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?jt.computeLinks(e):[]}(t):null}async computeDefaultDocumentColors(e){const t=this._getModel(e);return t?function(e){return e&&"function"==typeof e.getValue&&"function"==typeof e.positionAt?function(e){const t=[],n=ji(e,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{3})\b|(#)([A-Fa-f0-9]{4})\b|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm);if(n.length>0)for(const r of n){const n=r.filter((e=>void 0!==e)),i=n[1],s=n[2];if(!s)continue;let o;if("rgb"===i){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;o=Ki(Ui(e,r),ji(s,t),!1)}else if("rgba"===i){const t=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=Ki(Ui(e,r),ji(s,t),!0)}else if("hsl"===i){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;o=Bi(Ui(e,r),ji(s,t),!1)}else if("hsla"===i){const t=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;o=Bi(Ui(e,r),ji(s,t),!0)}else"#"===i&&(o=qi(Ui(e,r),i+s));o&&t.push(o)}return t}(e):[]}(t):null}async textualSuggest(e,t,n,r){const i=new x,s=new RegExp(n,r),o=new Set;e:for(const n of e){const e=this._getModel(n);if(e)for(const n of e.words(s))if(n!==t&&isNaN(Number(n))&&(o.add(n),o.size>Yi._suggestionsLimit))break e}return{words:Array.from(o),duration:i.elapsed()}}async computeWordRanges(e,t,n,r){const i=this._getModel(e);if(!i)return Object.create(null);const s=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;efunction(){const n=Array.prototype.slice.call(arguments,0);return t(e,n)},r={};for(const t of e)r[t]=n(t);return r}(n,((e,t)=>this._host.fhr(e,t))),i={host:r,getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(i,t),Promise.resolve(F(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}}Yi._diffLimit=1e5,Yi._suggestionsLimit=1e4,"function"==typeof importScripts&&(globalThis.monaco={editor:void 0,languages:void 0,CancellationTokenSource:class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Jt),this._token}cancel(){this._token?this._token instanceof Jt&&this._token.cancel():this._token=Gt.Cancelled}dispose(e=!1){var t;e&&this.cancel(),null===(t=this._parentListener)||void 0===t||t.dispose(),this._token?this._token instanceof Jt&&this._token.dispose():this._token=Gt.None}},Emitter:R,KeyCode:Hn,KeyMod:kr,Position:kt,Range:_t,Selection:cn,SelectionDirection:cr,MarkerSeverity:Gn,MarkerTag:Jn,Uri:ut,Token:class{constructor(e,t,n){this.offset=e,this.type=t,this.language=n,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}});let Qi=!1;function Zi(e){if(Qi)return;Qi=!0;const t=new Ne((e=>{globalThis.postMessage(e)}),(t=>new Yi(t,e)));globalThis.onmessage=e=>{t.onmessage(e.data)}}var es,ts;globalThis.onmessage=e=>{Qi||Zi(null)},(ts=es||(es={}))[ts.Ident=0]="Ident",ts[ts.AtKeyword=1]="AtKeyword",ts[ts.String=2]="String",ts[ts.BadString=3]="BadString",ts[ts.UnquotedString=4]="UnquotedString",ts[ts.Hash=5]="Hash",ts[ts.Num=6]="Num",ts[ts.Percentage=7]="Percentage",ts[ts.Dimension=8]="Dimension",ts[ts.UnicodeRange=9]="UnicodeRange",ts[ts.CDO=10]="CDO",ts[ts.CDC=11]="CDC",ts[ts.Colon=12]="Colon",ts[ts.SemiColon=13]="SemiColon",ts[ts.CurlyL=14]="CurlyL",ts[ts.CurlyR=15]="CurlyR",ts[ts.ParenthesisL=16]="ParenthesisL",ts[ts.ParenthesisR=17]="ParenthesisR",ts[ts.BracketL=18]="BracketL",ts[ts.BracketR=19]="BracketR",ts[ts.Whitespace=20]="Whitespace",ts[ts.Includes=21]="Includes",ts[ts.Dashmatch=22]="Dashmatch",ts[ts.SubstringOperator=23]="SubstringOperator",ts[ts.PrefixOperator=24]="PrefixOperator",ts[ts.SuffixOperator=25]="SuffixOperator",ts[ts.Delim=26]="Delim",ts[ts.EMS=27]="EMS",ts[ts.EXS=28]="EXS",ts[ts.Length=29]="Length",ts[ts.Angle=30]="Angle",ts[ts.Time=31]="Time",ts[ts.Freq=32]="Freq",ts[ts.Exclamation=33]="Exclamation",ts[ts.Resolution=34]="Resolution",ts[ts.Comma=35]="Comma",ts[ts.Charset=36]="Charset",ts[ts.EscapedJavaScript=37]="EscapedJavaScript",ts[ts.BadEscapedJavaScript=38]="BadEscapedJavaScript",ts[ts.Comment=39]="Comment",ts[ts.SingleLineComment=40]="SingleLineComment",ts[ts.EOF=41]="EOF",ts[ts.CustomToken=42]="CustomToken";var ns=function(){function e(e){this.source=e,this.len=e.length,this.position=0}return e.prototype.substring=function(e,t){return void 0===t&&(t=this.position),this.source.substring(e,t)},e.prototype.eos=function(){return this.len<=this.position},e.prototype.pos=function(){return this.position},e.prototype.goBackTo=function(e){this.position=e},e.prototype.goBack=function(e){this.position-=e},e.prototype.advance=function(e){this.position+=e},e.prototype.nextChar=function(){return this.source.charCodeAt(this.position++)||0},e.prototype.peekChar=function(e){return void 0===e&&(e=0),this.source.charCodeAt(this.position+e)||0},e.prototype.lookbackChar=function(e){return void 0===e&&(e=0),this.source.charCodeAt(this.position-e)||0},e.prototype.advanceIfChar=function(e){return e===this.source.charCodeAt(this.position)&&(this.position++,!0)},e.prototype.advanceIfChars=function(e){if(this.position+e.length>this.source.length)return!1;for(var t=0;t".charCodeAt(0),Cs="@".charCodeAt(0),ks="#".charCodeAt(0),_s="$".charCodeAt(0),Es="\\".charCodeAt(0),Rs="/".charCodeAt(0),Ns="\n".charCodeAt(0),Fs="\r".charCodeAt(0),Ds="\f".charCodeAt(0),Ts='"'.charCodeAt(0),As="'".charCodeAt(0),Ms=" ".charCodeAt(0),zs="\t".charCodeAt(0),Is=";".charCodeAt(0),Ls=":".charCodeAt(0),Ps="{".charCodeAt(0),Os="}".charCodeAt(0),Ws="[".charCodeAt(0),Vs="]".charCodeAt(0),Us=",".charCodeAt(0),qs=".".charCodeAt(0),Ks="!".charCodeAt(0),Bs="?".charCodeAt(0),js="+".charCodeAt(0),$s={};$s[Is]=es.SemiColon,$s[Ls]=es.Colon,$s[Ps]=es.CurlyL,$s[Os]=es.CurlyR,$s[Vs]=es.BracketR,$s[Ws]=es.BracketL,$s[ys]=es.ParenthesisL,$s[ws]=es.ParenthesisR,$s[Us]=es.Comma;var Hs={};Hs.em=es.EMS,Hs.ex=es.EXS,Hs.px=es.Length,Hs.cm=es.Length,Hs.mm=es.Length,Hs.in=es.Length,Hs.pt=es.Length,Hs.pc=es.Length,Hs.deg=es.Angle,Hs.rad=es.Angle,Hs.grad=es.Angle,Hs.ms=es.Time,Hs.s=es.Time,Hs.hz=es.Freq,Hs.khz=es.Freq,Hs["%"]=es.Percentage,Hs.fr=es.Percentage,Hs.dpi=es.Resolution,Hs.dpcm=es.Resolution;var Gs=function(){function e(){this.stream=new ns(""),this.ignoreComment=!0,this.ignoreWhitespace=!0,this.inURL=!1}return e.prototype.setSource=function(e){this.stream=new ns(e)},e.prototype.finishToken=function(e,t,n){return{offset:e,len:this.stream.pos()-e,type:t,text:n||this.stream.substring(e)}},e.prototype.substring=function(e,t){return this.stream.substring(e,e+t)},e.prototype.pos=function(){return this.stream.pos()},e.prototype.goBackTo=function(e){this.stream.goBackTo(e)},e.prototype.scanUnquotedString=function(){var e=this.stream.pos(),t=[];return this._unquotedString(t)?this.finishToken(e,es.UnquotedString,t.join("")):null},e.prototype.scan=function(){var e=this.trivia();if(null!==e)return e;var t=this.stream.pos();return this.stream.eos()?this.finishToken(t,es.EOF):this.scanNext(t)},e.prototype.tryScanUnicode=function(){var e=this.stream.pos();if(!this.stream.eos()&&this._unicodeRange())return this.finishToken(e,es.UnicodeRange);this.stream.goBackTo(e)},e.prototype.scanNext=function(e){if(this.stream.advanceIfChars([xs,Ks,fs,fs]))return this.finishToken(e,es.CDO);if(this.stream.advanceIfChars([fs,fs,Ss]))return this.finishToken(e,es.CDC);var t=[];if(this.ident(t))return this.finishToken(e,es.Ident,t.join(""));if(this.stream.advanceIfChar(Cs)){if(t=["@"],this._name(t)){var n=t.join("");return"@charset"===n?this.finishToken(e,es.Charset,n):this.finishToken(e,es.AtKeyword,n)}return this.finishToken(e,es.Delim)}if(this.stream.advanceIfChar(ks))return t=["#"],this._name(t)?this.finishToken(e,es.Hash,t.join("")):this.finishToken(e,es.Delim);if(this.stream.advanceIfChar(Ks))return this.finishToken(e,es.Exclamation);if(this._number()){var r=this.stream.pos();if(t=[this.stream.substring(e,r)],this.stream.advanceIfChar(bs))return this.finishToken(e,es.Percentage);if(this.ident(t)){var i=this.stream.substring(r).toLowerCase(),s=Hs[i];return void 0!==s?this.finishToken(e,s,t.join("")):this.finishToken(e,es.Dimension,t.join(""))}return this.finishToken(e,es.Num)}t=[];var o=this._string(t);return null!==o?this.finishToken(e,o,t.join("")):void 0!==(o=$s[this.stream.peekChar()])?(this.stream.advance(1),this.finishToken(e,o)):this.stream.peekChar(0)===ds&&this.stream.peekChar(1)===us?(this.stream.advance(2),this.finishToken(e,es.Includes)):this.stream.peekChar(0)===ms&&this.stream.peekChar(1)===us?(this.stream.advance(2),this.finishToken(e,es.Dashmatch)):this.stream.peekChar(0)===vs&&this.stream.peekChar(1)===us?(this.stream.advance(2),this.finishToken(e,es.SubstringOperator)):this.stream.peekChar(0)===ps&&this.stream.peekChar(1)===us?(this.stream.advance(2),this.finishToken(e,es.PrefixOperator)):this.stream.peekChar(0)===_s&&this.stream.peekChar(1)===us?(this.stream.advance(2),this.finishToken(e,es.SuffixOperator)):(this.stream.nextChar(),this.finishToken(e,es.Delim))},e.prototype.trivia=function(){for(;;){var e=this.stream.pos();if(this._whitespace()){if(!this.ignoreWhitespace)return this.finishToken(e,es.Whitespace)}else{if(!this.comment())return null;if(!this.ignoreComment)return this.finishToken(e,es.Comment)}}},e.prototype.comment=function(){if(this.stream.advanceIfChars([Rs,vs])){var e=!1,t=!1;return this.stream.advanceWhileChar((function(n){return t&&n===Rs?(e=!0,!1):(t=n===vs,!0)})),e&&this.stream.advance(1),!0}return!1},e.prototype._number=function(){var e,t=0;return this.stream.peekChar()===qs&&(t=1),(e=this.stream.peekChar(t))>=cs&&e<=hs&&(this.stream.advance(t+1),this.stream.advanceWhileChar((function(e){return e>=cs&&e<=hs||0===t&&e===qs})),!0)},e.prototype._newline=function(e){var t=this.stream.peekChar();switch(t){case Fs:case Ds:case Ns:return this.stream.advance(1),e.push(String.fromCharCode(t)),t===Fs&&this.stream.advanceIfChar(Ns)&&e.push("\n"),!0}return!1},e.prototype._escape=function(e,t){var n=this.stream.peekChar();if(n===Es){this.stream.advance(1),n=this.stream.peekChar();for(var r=0;r<6&&(n>=cs&&n<=hs||n>=rs&&n<=is||n>=os&&n<=as);)this.stream.advance(1),n=this.stream.peekChar(),r++;if(r>0){try{var i=parseInt(this.stream.substring(this.stream.pos()-r),16);i&&e.push(String.fromCharCode(i))}catch(e){}return n===Ms||n===zs?this.stream.advance(1):this._newline([]),!0}if(n!==Fs&&n!==Ds&&n!==Ns)return this.stream.advance(1),e.push(String.fromCharCode(n)),!0;if(t)return this._newline(e)}return!1},e.prototype._stringChar=function(e,t){var n=this.stream.peekChar();return 0!==n&&n!==e&&n!==Es&&n!==Fs&&n!==Ds&&n!==Ns&&(this.stream.advance(1),t.push(String.fromCharCode(n)),!0)},e.prototype._string=function(e){if(this.stream.peekChar()===As||this.stream.peekChar()===Ts){var t=this.stream.nextChar();for(e.push(String.fromCharCode(t));this._stringChar(t,e)||this._escape(e,!0););return this.stream.peekChar()===t?(this.stream.nextChar(),e.push(String.fromCharCode(t)),es.String):es.BadString}return null},e.prototype._unquotedChar=function(e){var t=this.stream.peekChar();return 0!==t&&t!==Es&&t!==As&&t!==Ts&&t!==ys&&t!==ws&&t!==Ms&&t!==zs&&t!==Ns&&t!==Ds&&t!==Fs&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._unquotedString=function(e){for(var t=!1;this._unquotedChar(e)||this._escape(e);)t=!0;return t},e.prototype._whitespace=function(){return this.stream.advanceWhileChar((function(e){return e===Ms||e===zs||e===Ns||e===Ds||e===Fs}))>0},e.prototype._name=function(e){for(var t=!1;this._identChar(e)||this._escape(e);)t=!0;return t},e.prototype.ident=function(e){var t=this.stream.pos();if(this._minus(e)){if(this._minus(e)||this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}}else if(this._identFirstChar(e)||this._escape(e)){for(;this._identChar(e)||this._escape(e););return!0}return this.stream.goBackTo(t),!1},e.prototype._identFirstChar=function(e){var t=this.stream.peekChar();return(t===gs||t>=rs&&t<=ss||t>=os&&t<=ls||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._minus=function(e){var t=this.stream.peekChar();return t===fs&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._identChar=function(e){var t=this.stream.peekChar();return(t===gs||t===fs||t>=rs&&t<=ss||t>=os&&t<=ls||t>=cs&&t<=hs||t>=128&&t<=65535)&&(this.stream.advance(1),e.push(String.fromCharCode(t)),!0)},e.prototype._unicodeRange=function(){if(this.stream.advanceIfChar(js)){var e=function(e){return e>=cs&&e<=hs||e>=rs&&e<=is||e>=os&&e<=as},t=this.stream.advanceWhileChar(e)+this.stream.advanceWhileChar((function(e){return e===Bs}));if(t>=1&&t<=6){if(!this.stream.advanceIfChar(fs))return!0;var n=this.stream.advanceWhileChar(e);if(n>=1&&n<=6)return!0}}return!1},e}();function Js(e,t){if(e.length0?e.lastIndexOf(t)===n:0===n&&e===t}function Ys(e,t){return void 0===t&&(t=!0),e?e.length<140?e:e.slice(0,140)+(t?"…":""):""}function Qs(e,t){for(var n="";t>0;)1==(1&t)&&(n+=e),e+=e,t>>>=1;return n}var Zs,eo,to,no,ro=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}();function io(e,t){var n=null;return!e||te.end?null:(e.accept((function(e){return-1===e.offset&&-1===e.length||e.offset<=t&&e.end>=t&&(n?e.length<=n.length&&(n=e):n=e,!0)})),n)}function so(e,t){for(var n=io(e,t),r=[];n;)r.unshift(n),n=n.parent;return r}(eo=Zs||(Zs={}))[eo.Undefined=0]="Undefined",eo[eo.Identifier=1]="Identifier",eo[eo.Stylesheet=2]="Stylesheet",eo[eo.Ruleset=3]="Ruleset",eo[eo.Selector=4]="Selector",eo[eo.SimpleSelector=5]="SimpleSelector",eo[eo.SelectorInterpolation=6]="SelectorInterpolation",eo[eo.SelectorCombinator=7]="SelectorCombinator",eo[eo.SelectorCombinatorParent=8]="SelectorCombinatorParent",eo[eo.SelectorCombinatorSibling=9]="SelectorCombinatorSibling",eo[eo.SelectorCombinatorAllSiblings=10]="SelectorCombinatorAllSiblings",eo[eo.SelectorCombinatorShadowPiercingDescendant=11]="SelectorCombinatorShadowPiercingDescendant",eo[eo.Page=12]="Page",eo[eo.PageBoxMarginBox=13]="PageBoxMarginBox",eo[eo.ClassSelector=14]="ClassSelector",eo[eo.IdentifierSelector=15]="IdentifierSelector",eo[eo.ElementNameSelector=16]="ElementNameSelector",eo[eo.PseudoSelector=17]="PseudoSelector",eo[eo.AttributeSelector=18]="AttributeSelector",eo[eo.Declaration=19]="Declaration",eo[eo.Declarations=20]="Declarations",eo[eo.Property=21]="Property",eo[eo.Expression=22]="Expression",eo[eo.BinaryExpression=23]="BinaryExpression",eo[eo.Term=24]="Term",eo[eo.Operator=25]="Operator",eo[eo.Value=26]="Value",eo[eo.StringLiteral=27]="StringLiteral",eo[eo.URILiteral=28]="URILiteral",eo[eo.EscapedValue=29]="EscapedValue",eo[eo.Function=30]="Function",eo[eo.NumericValue=31]="NumericValue",eo[eo.HexColorValue=32]="HexColorValue",eo[eo.RatioValue=33]="RatioValue",eo[eo.MixinDeclaration=34]="MixinDeclaration",eo[eo.MixinReference=35]="MixinReference",eo[eo.VariableName=36]="VariableName",eo[eo.VariableDeclaration=37]="VariableDeclaration",eo[eo.Prio=38]="Prio",eo[eo.Interpolation=39]="Interpolation",eo[eo.NestedProperties=40]="NestedProperties",eo[eo.ExtendsReference=41]="ExtendsReference",eo[eo.SelectorPlaceholder=42]="SelectorPlaceholder",eo[eo.Debug=43]="Debug",eo[eo.If=44]="If",eo[eo.Else=45]="Else",eo[eo.For=46]="For",eo[eo.Each=47]="Each",eo[eo.While=48]="While",eo[eo.MixinContentReference=49]="MixinContentReference",eo[eo.MixinContentDeclaration=50]="MixinContentDeclaration",eo[eo.Media=51]="Media",eo[eo.Keyframe=52]="Keyframe",eo[eo.FontFace=53]="FontFace",eo[eo.Import=54]="Import",eo[eo.Namespace=55]="Namespace",eo[eo.Invocation=56]="Invocation",eo[eo.FunctionDeclaration=57]="FunctionDeclaration",eo[eo.ReturnStatement=58]="ReturnStatement",eo[eo.MediaQuery=59]="MediaQuery",eo[eo.MediaCondition=60]="MediaCondition",eo[eo.MediaFeature=61]="MediaFeature",eo[eo.FunctionParameter=62]="FunctionParameter",eo[eo.FunctionArgument=63]="FunctionArgument",eo[eo.KeyframeSelector=64]="KeyframeSelector",eo[eo.ViewPort=65]="ViewPort",eo[eo.Document=66]="Document",eo[eo.AtApplyRule=67]="AtApplyRule",eo[eo.CustomPropertyDeclaration=68]="CustomPropertyDeclaration",eo[eo.CustomPropertySet=69]="CustomPropertySet",eo[eo.ListEntry=70]="ListEntry",eo[eo.Supports=71]="Supports",eo[eo.SupportsCondition=72]="SupportsCondition",eo[eo.NamespacePrefix=73]="NamespacePrefix",eo[eo.GridLine=74]="GridLine",eo[eo.Plugin=75]="Plugin",eo[eo.UnknownAtRule=76]="UnknownAtRule",eo[eo.Use=77]="Use",eo[eo.ModuleConfiguration=78]="ModuleConfiguration",eo[eo.Forward=79]="Forward",eo[eo.ForwardVisibility=80]="ForwardVisibility",eo[eo.Module=81]="Module",eo[eo.UnicodeRange=82]="UnicodeRange",(no=to||(to={}))[no.Mixin=0]="Mixin",no[no.Rule=1]="Rule",no[no.Variable=2]="Variable",no[no.Function=3]="Function",no[no.Keyframe=4]="Keyframe",no[no.Unknown=5]="Unknown",no[no.Module=6]="Module",no[no.Forward=7]="Forward",no[no.ForwardVisibility=8]="ForwardVisibility";var oo,ao,lo=function(){function e(e,t,n){void 0===e&&(e=-1),void 0===t&&(t=-1),this.parent=null,this.offset=e,this.length=t,n&&(this.nodeType=n)}return Object.defineProperty(e.prototype,"end",{get:function(){return this.offset+this.length},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"type",{get:function(){return this.nodeType||Zs.Undefined},set:function(e){this.nodeType=e},enumerable:!1,configurable:!0}),e.prototype.getTextProvider=function(){for(var e=this;e&&!e.textProvider;)e=e.parent;return e?e.textProvider:function(){return"unknown"}},e.prototype.getText=function(){return this.getTextProvider()(this.offset,this.length)},e.prototype.matches=function(e){return this.length===e.length&&this.getTextProvider()(this.offset,this.length)===e},e.prototype.startsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.offset,e.length)===e},e.prototype.endsWith=function(e){return this.length>=e.length&&this.getTextProvider()(this.end-e.length,e.length)===e},e.prototype.accept=function(e){if(e(this)&&this.children)for(var t=0,n=this.children;t=0&&e.parent.children.splice(n,1)}e.parent=this;var r=this.children;return r||(r=this.children=[]),-1!==t?r.splice(t,0,e):r.push(e),e},e.prototype.attachTo=function(e,t){return void 0===t&&(t=-1),e&&e.adoptChild(this,t),this},e.prototype.collectIssues=function(e){this.issues&&e.push.apply(e,this.issues)},e.prototype.addIssue=function(e){this.issues||(this.issues=[]),this.issues.push(e)},e.prototype.hasIssue=function(e){return Array.isArray(this.issues)&&this.issues.some((function(t){return t.getRule()===e}))},e.prototype.isErroneous=function(e){return void 0===e&&(e=!1),!!(this.issues&&this.issues.length>0)||e&&Array.isArray(this.children)&&this.children.some((function(e){return e.isErroneous(!0)}))},e.prototype.setNode=function(e,t,n){return void 0===n&&(n=-1),!!t&&(t.attachTo(this,n),this[e]=t,!0)},e.prototype.addChild=function(e){return!!e&&(this.children||(this.children=[]),e.attachTo(this),this.updateOffsetAndLength(e),!0)},e.prototype.updateOffsetAndLength=function(e){(e.offsetthis.end||-1===this.length)&&(this.length=t-this.offset)},e.prototype.hasChildren=function(){return!!this.children&&this.children.length>0},e.prototype.getChildren=function(){return this.children?this.children.slice(0):[]},e.prototype.getChild=function(e){return this.children&&e=0;n--)if((t=this.children[n]).offset<=e)return t;return null},e.prototype.findChildAtOffset=function(e,t){var n=this.findFirstChildBeforeOffset(e);return n&&n.end>=e?t&&n.findChildAtOffset(e,!0)||n:null},e.prototype.encloses=function(e){return this.offset<=e.offset&&this.offset+this.length>=e.offset+e.length},e.prototype.getParent=function(){for(var e=this.parent;e instanceof co;)e=e.parent;return e},e.prototype.findParent=function(e){for(var t=this;t&&t.type!==e;)t=t.parent;return t},e.prototype.findAParent=function(){for(var e=[],t=0;t{let r=n[0];return void 0!==t[r]?t[r]:e})),n}(t,n)}function Ea(e){return _a}var Ra,Na,Fa,Da,Ta,Aa,Ma,za,Ia,La,Pa,Oa,Wa,Va,Ua,qa,Ka,Ba,ja,$a,Ha,Ga,Ja,Xa,Ya,Qa,Za,el,tl,nl,rl,il,sl,ol,al,ll,cl,hl,dl,pl,ul,ml,fl,gl,bl,vl,yl,wl,xl,Sl=Ea(),Cl=function(){return function(e,t){this.id=e,this.message=t}}(),kl={NumberExpected:new Cl("css-numberexpected",Sl("vs/language/css/css.worker","expected.number","number expected")),ConditionExpected:new Cl("css-conditionexpected",Sl("vs/language/css/css.worker","expected.condt","condition expected")),RuleOrSelectorExpected:new Cl("css-ruleorselectorexpected",Sl("vs/language/css/css.worker","expected.ruleorselector","at-rule or selector expected")),DotExpected:new Cl("css-dotexpected",Sl("vs/language/css/css.worker","expected.dot","dot expected")),ColonExpected:new Cl("css-colonexpected",Sl("vs/language/css/css.worker","expected.colon","colon expected")),SemiColonExpected:new Cl("css-semicolonexpected",Sl("vs/language/css/css.worker","expected.semicolon","semi-colon expected")),TermExpected:new Cl("css-termexpected",Sl("vs/language/css/css.worker","expected.term","term expected")),ExpressionExpected:new Cl("css-expressionexpected",Sl("vs/language/css/css.worker","expected.expression","expression expected")),OperatorExpected:new Cl("css-operatorexpected",Sl("vs/language/css/css.worker","expected.operator","operator expected")),IdentifierExpected:new Cl("css-identifierexpected",Sl("vs/language/css/css.worker","expected.ident","identifier expected")),PercentageExpected:new Cl("css-percentageexpected",Sl("vs/language/css/css.worker","expected.percentage","percentage expected")),URIOrStringExpected:new Cl("css-uriorstringexpected",Sl("vs/language/css/css.worker","expected.uriorstring","uri or string expected")),URIExpected:new Cl("css-uriexpected",Sl("vs/language/css/css.worker","expected.uri","URI expected")),VariableNameExpected:new Cl("css-varnameexpected",Sl("vs/language/css/css.worker","expected.varname","variable name expected")),VariableValueExpected:new Cl("css-varvalueexpected",Sl("vs/language/css/css.worker","expected.varvalue","variable value expected")),PropertyValueExpected:new Cl("css-propertyvalueexpected",Sl("vs/language/css/css.worker","expected.propvalue","property value expected")),LeftCurlyExpected:new Cl("css-lcurlyexpected",Sl("vs/language/css/css.worker","expected.lcurly","{ expected")),RightCurlyExpected:new Cl("css-rcurlyexpected",Sl("vs/language/css/css.worker","expected.rcurly","} expected")),LeftSquareBracketExpected:new Cl("css-rbracketexpected",Sl("vs/language/css/css.worker","expected.lsquare","[ expected")),RightSquareBracketExpected:new Cl("css-lbracketexpected",Sl("vs/language/css/css.worker","expected.rsquare","] expected")),LeftParenthesisExpected:new Cl("css-lparentexpected",Sl("vs/language/css/css.worker","expected.lparen","( expected")),RightParenthesisExpected:new Cl("css-rparentexpected",Sl("vs/language/css/css.worker","expected.rparent",") expected")),CommaExpected:new Cl("css-commaexpected",Sl("vs/language/css/css.worker","expected.comma","comma expected")),PageDirectiveOrDeclarationExpected:new Cl("css-pagedirordeclexpected",Sl("vs/language/css/css.worker","expected.pagedirordecl","page directive or declaraton expected")),UnknownAtRule:new Cl("css-unknownatrule",Sl("vs/language/css/css.worker","unknown.atrule","at-rule unknown")),UnknownKeyword:new Cl("css-unknownkeyword",Sl("vs/language/css/css.worker","unknown.keyword","unknown keyword")),SelectorExpected:new Cl("css-selectorexpected",Sl("vs/language/css/css.worker","expected.selector","selector expected")),StringLiteralExpected:new Cl("css-stringliteralexpected",Sl("vs/language/css/css.worker","expected.stringliteral","string literal expected")),WhitespaceExpected:new Cl("css-whitespaceexpected",Sl("vs/language/css/css.worker","expected.whitespace","whitespace expected")),MediaQueryExpected:new Cl("css-mediaqueryexpected",Sl("vs/language/css/css.worker","expected.mediaquery","media query expected")),IdentifierOrWildcardExpected:new Cl("css-idorwildcardexpected",Sl("vs/language/css/css.worker","expected.idorwildcard","identifier or wildcard expected")),WildcardExpected:new Cl("css-wildcardexpected",Sl("vs/language/css/css.worker","expected.wildcard","wildcard expected")),IdentifierOrVariableExpected:new Cl("css-idorvarexpected",Sl("vs/language/css/css.worker","expected.idorvar","identifier or variable expected"))};(Na=Ra||(Ra={})).MIN_VALUE=-2147483648,Na.MAX_VALUE=2147483647,(Da=Fa||(Fa={})).MIN_VALUE=0,Da.MAX_VALUE=2147483647,(Aa=Ta||(Ta={})).create=function(e,t){return e===Number.MAX_VALUE&&(e=Fa.MAX_VALUE),t===Number.MAX_VALUE&&(t=Fa.MAX_VALUE),{line:e,character:t}},Aa.is=function(e){var t=e;return kc.objectLiteral(t)&&kc.uinteger(t.line)&&kc.uinteger(t.character)},(za=Ma||(Ma={})).create=function(e,t,n,r){if(kc.uinteger(e)&&kc.uinteger(t)&&kc.uinteger(n)&&kc.uinteger(r))return{start:Ta.create(e,t),end:Ta.create(n,r)};if(Ta.is(e)&&Ta.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+n+", "+r+"]")},za.is=function(e){var t=e;return kc.objectLiteral(t)&&Ta.is(t.start)&&Ta.is(t.end)},(La=Ia||(Ia={})).create=function(e,t){return{uri:e,range:t}},La.is=function(e){var t=e;return kc.defined(t)&&Ma.is(t.range)&&(kc.string(t.uri)||kc.undefined(t.uri))},(Oa=Pa||(Pa={})).create=function(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},Oa.is=function(e){var t=e;return kc.defined(t)&&Ma.is(t.targetRange)&&kc.string(t.targetUri)&&(Ma.is(t.targetSelectionRange)||kc.undefined(t.targetSelectionRange))&&(Ma.is(t.originSelectionRange)||kc.undefined(t.originSelectionRange))},(Va=Wa||(Wa={})).create=function(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},Va.is=function(e){var t=e;return kc.numberRange(t.red,0,1)&&kc.numberRange(t.green,0,1)&&kc.numberRange(t.blue,0,1)&&kc.numberRange(t.alpha,0,1)},(qa=Ua||(Ua={})).create=function(e,t){return{range:e,color:t}},qa.is=function(e){var t=e;return Ma.is(t.range)&&Wa.is(t.color)},(Ba=Ka||(Ka={})).create=function(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},Ba.is=function(e){var t=e;return kc.string(t.label)&&(kc.undefined(t.textEdit)||ol.is(t))&&(kc.undefined(t.additionalTextEdits)||kc.typedArray(t.additionalTextEdits,ol.is))},($a=ja||(ja={})).Comment="comment",$a.Imports="imports",$a.Region="region",(Ga=Ha||(Ha={})).create=function(e,t,n,r,i){var s={startLine:e,endLine:t};return kc.defined(n)&&(s.startCharacter=n),kc.defined(r)&&(s.endCharacter=r),kc.defined(i)&&(s.kind=i),s},Ga.is=function(e){var t=e;return kc.uinteger(t.startLine)&&kc.uinteger(t.startLine)&&(kc.undefined(t.startCharacter)||kc.uinteger(t.startCharacter))&&(kc.undefined(t.endCharacter)||kc.uinteger(t.endCharacter))&&(kc.undefined(t.kind)||kc.string(t.kind))},(Xa=Ja||(Ja={})).create=function(e,t){return{location:e,message:t}},Xa.is=function(e){var t=e;return kc.defined(t)&&Ia.is(t.location)&&kc.string(t.message)},(Qa=Ya||(Ya={})).Error=1,Qa.Warning=2,Qa.Information=3,Qa.Hint=4,(el=Za||(Za={})).Unnecessary=1,el.Deprecated=2,(tl||(tl={})).is=function(e){var t=e;return null!=t&&kc.string(t.href)},(rl=nl||(nl={})).create=function(e,t,n,r,i,s){var o={range:e,message:t};return kc.defined(n)&&(o.severity=n),kc.defined(r)&&(o.code=r),kc.defined(i)&&(o.source=i),kc.defined(s)&&(o.relatedInformation=s),o},rl.is=function(e){var t,n=e;return kc.defined(n)&&Ma.is(n.range)&&kc.string(n.message)&&(kc.number(n.severity)||kc.undefined(n.severity))&&(kc.integer(n.code)||kc.string(n.code)||kc.undefined(n.code))&&(kc.undefined(n.codeDescription)||kc.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(kc.string(n.source)||kc.undefined(n.source))&&(kc.undefined(n.relatedInformation)||kc.typedArray(n.relatedInformation,Ja.is))},(sl=il||(il={})).create=function(e,t){for(var n=[],r=2;r0&&(i.arguments=n),i},sl.is=function(e){var t=e;return kc.defined(t)&&kc.string(t.title)&&kc.string(t.command)},(al=ol||(ol={})).replace=function(e,t){return{range:e,newText:t}},al.insert=function(e,t){return{range:{start:e,end:e},newText:t}},al.del=function(e){return{range:e,newText:""}},al.is=function(e){var t=e;return kc.objectLiteral(t)&&kc.string(t.newText)&&Ma.is(t.range)},(cl=ll||(ll={})).create=function(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},cl.is=function(e){var t=e;return void 0!==t&&kc.objectLiteral(t)&&kc.string(t.label)&&(kc.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(kc.string(t.description)||void 0===t.description)},(hl||(hl={})).is=function(e){return"string"==typeof e},(pl=dl||(dl={})).replace=function(e,t,n){return{range:e,newText:t,annotationId:n}},pl.insert=function(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},pl.del=function(e,t){return{range:e,newText:"",annotationId:t}},pl.is=function(e){var t=e;return ol.is(t)&&(ll.is(t.annotationId)||hl.is(t.annotationId))},(ml=ul||(ul={})).create=function(e,t){return{textDocument:e,edits:t}},ml.is=function(e){var t=e;return kc.defined(t)&&Fl.is(t.textDocument)&&Array.isArray(t.edits)},(gl=fl||(fl={})).create=function(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},gl.is=function(e){var t=e;return t&&"create"===t.kind&&kc.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||kc.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||kc.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||hl.is(t.annotationId))},(vl=bl||(bl={})).create=function(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},vl.is=function(e){var t=e;return t&&"rename"===t.kind&&kc.string(t.oldUri)&&kc.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||kc.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||kc.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||hl.is(t.annotationId))},(wl=yl||(yl={})).create=function(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},wl.is=function(e){var t=e;return t&&"delete"===t.kind&&kc.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||kc.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||kc.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||hl.is(t.annotationId))},(xl||(xl={})).is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return kc.string(e.kind)?fl.is(e)||bl.is(e)||yl.is(e):ul.is(e)})))};var _l,El,Rl,Nl,Fl,Dl,Tl,Al,Ml,zl,Il,Ll,Pl,Ol,Wl,Vl,Ul,ql,Kl,Bl,jl,$l,Hl,Gl,Jl,Xl,Yl,Ql,Zl,ec,tc,nc,rc,ic,sc,oc,ac,lc,cc,hc,dc,pc,uc,mc,fc,gc,bc,vc,yc,wc,xc,Sc=function(){function e(e,t){this.edits=e,this.changeAnnotations=t}return e.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=ol.insert(e,t):hl.is(n)?(i=n,r=dl.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=dl.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=ol.replace(e,t):hl.is(n)?(i=n,r=dl.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=dl.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},e.prototype.delete=function(e,t){var n,r;if(void 0===t?n=ol.del(e):hl.is(t)?(r=t,n=dl.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=dl.del(e,r)),this.edits.push(n),void 0!==r)return r},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),Cc=function(){function e(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(e,t){var n;if(hl.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id "+n+" is already in use.");if(void 0===t)throw new Error("No annotation provided for id "+n);return this._annotations[n]=t,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}();!function(){function e(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Cc(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(ul.is(e)){var n=new Sc(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new Sc(e.changes[n]);t._textEditChanges[n]=r}))):this._workspaceEdit={}}Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(e){if(Fl.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new Sc(i,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new Sc(i),this._textEditChanges[e]=r}return r},e.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new Cc,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,s;if(ll.is(t)||hl.is(t)?r=t:n=t,void 0===r?i=fl.create(e,n):(s=hl.is(r)?r:this._changeAnnotations.manage(r),i=fl.create(e,n,s)),this._workspaceEdit.documentChanges.push(i),void 0!==s)return s},e.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,s,o;if(ll.is(n)||hl.is(n)?i=n:r=n,void 0===i?s=bl.create(e,t,r):(o=hl.is(i)?i:this._changeAnnotations.manage(i),s=bl.create(e,t,r,o)),this._workspaceEdit.documentChanges.push(s),void 0!==o)return o},e.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,s;if(ll.is(t)||hl.is(t)?r=t:n=t,void 0===r?i=yl.create(e,n):(s=hl.is(r)?r:this._changeAnnotations.manage(r),i=yl.create(e,n,s)),this._workspaceEdit.documentChanges.push(i),void 0!==s)return s}}(),(El=_l||(_l={})).create=function(e){return{uri:e}},El.is=function(e){var t=e;return kc.defined(t)&&kc.string(t.uri)},(Nl=Rl||(Rl={})).create=function(e,t){return{uri:e,version:t}},Nl.is=function(e){var t=e;return kc.defined(t)&&kc.string(t.uri)&&kc.integer(t.version)},(Dl=Fl||(Fl={})).create=function(e,t){return{uri:e,version:t}},Dl.is=function(e){var t=e;return kc.defined(t)&&kc.string(t.uri)&&(null===t.version||kc.integer(t.version))},(Al=Tl||(Tl={})).create=function(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},Al.is=function(e){var t=e;return kc.defined(t)&&kc.string(t.uri)&&kc.string(t.languageId)&&kc.integer(t.version)&&kc.string(t.text)},(zl=Ml||(Ml={})).PlainText="plaintext",zl.Markdown="markdown",function(e){e.is=function(t){var n=t;return n===e.PlainText||n===e.Markdown}}(Ml||(Ml={})),(Il||(Il={})).is=function(e){var t=e;return kc.objectLiteral(e)&&Ml.is(t.kind)&&kc.string(t.value)},(Pl=Ll||(Ll={})).Text=1,Pl.Method=2,Pl.Function=3,Pl.Constructor=4,Pl.Field=5,Pl.Variable=6,Pl.Class=7,Pl.Interface=8,Pl.Module=9,Pl.Property=10,Pl.Unit=11,Pl.Value=12,Pl.Enum=13,Pl.Keyword=14,Pl.Snippet=15,Pl.Color=16,Pl.File=17,Pl.Reference=18,Pl.Folder=19,Pl.EnumMember=20,Pl.Constant=21,Pl.Struct=22,Pl.Event=23,Pl.Operator=24,Pl.TypeParameter=25,(Wl=Ol||(Ol={})).PlainText=1,Wl.Snippet=2,(Vl||(Vl={})).Deprecated=1,(ql=Ul||(Ul={})).create=function(e,t,n){return{newText:e,insert:t,replace:n}},ql.is=function(e){var t=e;return t&&kc.string(t.newText)&&Ma.is(t.insert)&&Ma.is(t.replace)},(Bl=Kl||(Kl={})).asIs=1,Bl.adjustIndentation=2,(jl||(jl={})).create=function(e){return{label:e}},($l||($l={})).create=function(e,t){return{items:e||[],isIncomplete:!!t}},(Gl=Hl||(Hl={})).fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Gl.is=function(e){var t=e;return kc.string(t)||kc.objectLiteral(t)&&kc.string(t.language)&&kc.string(t.value)},(Jl||(Jl={})).is=function(e){var t=e;return!!t&&kc.objectLiteral(t)&&(Il.is(t.contents)||Hl.is(t.contents)||kc.typedArray(t.contents,Hl.is))&&(void 0===e.range||Ma.is(e.range))},(Xl||(Xl={})).create=function(e,t){return t?{label:e,documentation:t}:{label:e}},(Yl||(Yl={})).create=function(e,t){for(var n=[],r=2;r=0;o--){var a=i[o],l=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=s))throw new Error("Overlapping edit");r=r.substring(0,l)+a.newText+r.substring(c,r.length),s=l}return r}}(xc||(xc={}));var kc,_c,Ec,Rc=function(){function e(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return Ta.create(0,e);for(;ne?r=i:n=i+1}var s=n-1;return Ta.create(s,e-t[s])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1e?r=i:n=i+1}let i=n-1;return{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function Pc(e){const t=Lc(e.range);return t!==e.range?{newText:e.newText,range:t}:e}(Fc=Nc||(Nc={})).create=function(e,t,n,r){return new Mc(e,t,n,r)},Fc.update=function(e,t,n){if(e instanceof Mc)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},Fc.applyEdits=function(e,t){let n=e.getText(),r=zc(t.map(Pc),((e,t)=>{let n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),i=0;const s=[];for(const t of r){let r=e.offsetAt(t.range.start);if(ri&&s.push(n.substring(i,r)),t.newText.length&&s.push(t.newText),i=e.offsetAt(t.range.end)}return s.push(n.substr(i)),s.join("")},(Dc||(Dc={})).LATEST={textDocument:{completion:{completionItem:{documentationFormat:[Ml.Markdown,Ml.PlainText]}},hover:{contentFormat:[Ml.Markdown,Ml.PlainText]}}},(Ac=Tc||(Tc={}))[Ac.Unknown=0]="Unknown",Ac[Ac.File=1]="File",Ac[Ac.Directory=2]="Directory",Ac[Ac.SymbolicLink=64]="SymbolicLink";var Oc={E:"Edge",FF:"Firefox",S:"Safari",C:"Chrome",IE:"IE",O:"Opera"};function Wc(e){switch(e){case"experimental":return"⚠️ Property is experimental. Be cautious when using it.️\n\n";case"nonstandard":return"🚨️ Property is nonstandard. Avoid using it.\n\n";case"obsolete":return"🚨️️️ Property is obsolete. Avoid using it.\n\n";default:return""}}function Vc(e,t,n){var r;if(""!==(r=t?{kind:"markdown",value:Kc(e,n)}:{kind:"plaintext",value:qc(e,n)}).value)return r}function Uc(e){return(e=e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")).replace(//g,">")}function qc(e,t){if(!e.description||""===e.description)return"";if("string"!=typeof e.description)return e.description.value;var n="";if(!1!==(null==t?void 0:t.documentation)){e.status&&(n+=Wc(e.status)),n+=e.description;var r=Bc(e.browsers);r&&(n+="\n("+r+")"),"syntax"in e&&(n+="\n\nSyntax: ".concat(e.syntax))}return e.references&&e.references.length>0&&!1!==(null==t?void 0:t.references)&&(n.length>0&&(n+="\n\n"),n+=e.references.map((function(e){return"".concat(e.name,": ").concat(e.url)})).join(" | ")),n}function Kc(e,t){if(!e.description||""===e.description)return"";var n="";if(!1!==(null==t?void 0:t.documentation)){e.status&&(n+=Wc(e.status)),"string"==typeof e.description?n+=Uc(e.description):n+=e.description.kind===Ml.Markdown?e.description.value:Uc(e.description.value);var r=Bc(e.browsers);r&&(n+="\n\n("+Uc(r)+")"),"syntax"in e&&e.syntax&&(n+="\n\nSyntax: ".concat(Uc(e.syntax)))}return e.references&&e.references.length>0&&!1!==(null==t?void 0:t.references)&&(n.length>0&&(n+="\n\n"),n+=e.references.map((function(e){return"[".concat(e.name,"](").concat(e.url,")")})).join(" | ")),n}function Bc(e){return void 0===e&&(e=[]),0===e.length?null:e.map((function(e){var t="",n=e.match(/([A-Z]+)(\d+)?/),r=n[1],i=n[2];return r in Oc&&(t+=Oc[r]),i&&(t+=" "+i),t})).join(", ")}var jc=Ea(),$c=[{func:"rgb($red, $green, $blue)",desc:jc("vs/language/css/css.worker","css.builtin.rgb","Creates a Color from red, green, and blue values.")},{func:"rgba($red, $green, $blue, $alpha)",desc:jc("vs/language/css/css.worker","css.builtin.rgba","Creates a Color from red, green, blue, and alpha values.")},{func:"hsl($hue, $saturation, $lightness)",desc:jc("vs/language/css/css.worker","css.builtin.hsl","Creates a Color from hue, saturation, and lightness values.")},{func:"hsla($hue, $saturation, $lightness, $alpha)",desc:jc("vs/language/css/css.worker","css.builtin.hsla","Creates a Color from hue, saturation, lightness, and alpha values.")},{func:"hwb($hue $white $black)",desc:jc("vs/language/css/css.worker","css.builtin.hwb","Creates a Color from hue, white and black.")}],Hc={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgrey:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rebeccapurple:"#663399",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Gc={currentColor:"The value of the 'color' property. The computed value of the 'currentColor' keyword is the computed value of the 'color' property. If the 'currentColor' keyword is set on the 'color' property itself, it is treated as 'color:inherit' at parse time.",transparent:"Fully transparent. This keyword can be considered a shorthand for rgba(0,0,0,0) which is its computed value."};function Jc(e,t){var n=e.getText().match(/^([-+]?[0-9]*\.?[0-9]+)(%?)$/);if(n){n[2]&&(t=100);var r=parseFloat(n[1])/t;if(r>=0&&r<=1)return r}throw new Error}function Xc(e){var t=e.getText(),n=t.match(/^([-+]?[0-9]*\.?[0-9]+)(deg|rad|grad|turn)?$/);if(n)switch(n[2]){case"deg":return parseFloat(t)%360;case"rad":return 180*parseFloat(t)/Math.PI%360;case"grad":return.9*parseFloat(t)%360;case"turn":return 360*parseFloat(t)%360;default:if(void 0===n[2])return parseFloat(t)%360}throw new Error}var Yc=48,Qc=57,Zc=65,eh=97,th=102;function nh(e){return e=eh&&e<=th?e-eh+10:0)}function rh(e){if("#"!==e[0])return null;switch(e.length){case 4:return{red:17*nh(e.charCodeAt(1))/255,green:17*nh(e.charCodeAt(2))/255,blue:17*nh(e.charCodeAt(3))/255,alpha:1};case 5:return{red:17*nh(e.charCodeAt(1))/255,green:17*nh(e.charCodeAt(2))/255,blue:17*nh(e.charCodeAt(3))/255,alpha:17*nh(e.charCodeAt(4))/255};case 7:return{red:(16*nh(e.charCodeAt(1))+nh(e.charCodeAt(2)))/255,green:(16*nh(e.charCodeAt(3))+nh(e.charCodeAt(4)))/255,blue:(16*nh(e.charCodeAt(5))+nh(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(16*nh(e.charCodeAt(1))+nh(e.charCodeAt(2)))/255,green:(16*nh(e.charCodeAt(3))+nh(e.charCodeAt(4)))/255,blue:(16*nh(e.charCodeAt(5))+nh(e.charCodeAt(6)))/255,alpha:(16*nh(e.charCodeAt(7))+nh(e.charCodeAt(8)))/255}}return null}function ih(e,t,n,r){if(void 0===r&&(r=1),0===t)return{red:n,green:n,blue:n,alpha:r};var i=function(e,t,n){for(;n<0;)n+=6;for(;n>=6;)n-=6;return n<1?(t-e)*n+e:n<3?t:n<4?(t-e)*(4-n)+e:e},s=n<=.5?n*(t+1):n+t-n*t,o=2*n-s;return{red:i(o,s,2+(e/=60)),green:i(o,s,e),blue:i(o,s,e-2),alpha:r}}function sh(e){var t=e.red,n=e.green,r=e.blue,i=e.alpha,s=Math.max(t,n,r),o=Math.min(t,n,r),a=0,l=0,c=(o+s)/2,h=s-o;if(h>0){switch(l=Math.min(c<=.5?h/(2*c):h/(2-2*c),1),s){case t:a=(n-r)/h+(ne.offset?i-e.offset:0}return e},e.prototype.markError=function(e,t,n,r){this.token!==this.lastErrorToken&&(e.addIssue(new Ca(e,t,oo.Error,void 0,this.token.offset,this.token.len)),this.lastErrorToken=this.token),(n||r)&&this.resync(n,r)},e.prototype.parseStylesheet=function(e){var t=e.version,n=e.getText();return this.internalParse(n,this._parseStylesheet,(function(r,i){if(e.version!==t)throw new Error("Underlying model has changed, AST is no longer valid");return n.substr(r,i)}))},e.prototype.internalParse=function(e,t,n){this.scanner.setSource(e),this.token=this.scanner.scan();var r=t.bind(this)();return r&&(r.textProvider=n||function(t,n){return e.substr(t,n)}),r},e.prototype._parseStylesheet=function(){for(var e=this.create(uo);e.addChild(this._parseStylesheetStart()););var t=!1;do{var n=!1;do{n=!1;var r=this._parseStylesheetStatement();for(r&&(e.addChild(r),n=!0,t=!1,this.peek(es.EOF)||!this._needsSemicolonAfter(r)||this.accept(es.SemiColon)||this.markError(e,kl.SemiColonExpected));this.accept(es.SemiColon)||this.accept(es.CDO)||this.accept(es.CDC);)n=!0,t=!1}while(n);if(this.peek(es.EOF))break;t||(this.peek(es.AtKeyword)?this.markError(e,kl.UnknownAtRule):this.markError(e,kl.RuleOrSelectorExpected),t=!0),this.consumeToken()}while(!this.peek(es.EOF));return this.finish(e)},e.prototype._parseStylesheetStart=function(){return this._parseCharset()},e.prototype._parseStylesheetStatement=function(e){return void 0===e&&(e=!1),this.peek(es.AtKeyword)?this._parseStylesheetAtStatement(e):this._parseRuleset(e)},e.prototype._parseStylesheetAtStatement=function(e){return void 0===e&&(e=!1),this._parseImport()||this._parseMedia(e)||this._parsePage()||this._parseFontFace()||this._parseKeyframe()||this._parseSupports(e)||this._parseViewPort()||this._parseNamespace()||this._parseDocument()||this._parseUnknownAtRule()},e.prototype._tryParseRuleset=function(e){var t=this.mark();if(this._parseSelector(e)){for(;this.accept(es.Comma)&&this._parseSelector(e););if(this.accept(es.CurlyL))return this.restoreAtMark(t),this._parseRuleset(e)}return this.restoreAtMark(t),null},e.prototype._parseRuleset=function(e){void 0===e&&(e=!1);var t=this.create(go),n=t.getSelectors();if(!n.addChild(this._parseSelector(e)))return null;for(;this.accept(es.Comma);)if(!n.addChild(this._parseSelector(e)))return this.finish(t,kl.SelectorExpected);return this._parseBody(t,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseRuleSetDeclarationAtStatement=function(){return this._parseUnknownAtRule()},e.prototype._parseRuleSetDeclaration=function(){return this.peek(es.AtKeyword)?this._parseRuleSetDeclarationAtStatement():this._parseDeclaration()},e.prototype._needsSemicolonAfter=function(e){switch(e.type){case Zs.Keyframe:case Zs.ViewPort:case Zs.Media:case Zs.Ruleset:case Zs.Namespace:case Zs.If:case Zs.For:case Zs.Each:case Zs.While:case Zs.MixinDeclaration:case Zs.FunctionDeclaration:case Zs.MixinContentDeclaration:return!1;case Zs.ExtendsReference:case Zs.MixinContentReference:case Zs.ReturnStatement:case Zs.MediaQuery:case Zs.Debug:case Zs.Import:case Zs.AtApplyRule:case Zs.CustomPropertyDeclaration:return!0;case Zs.VariableDeclaration:return e.needsSemicolon;case Zs.MixinReference:return!e.getContent();case Zs.Declaration:return!e.getNestedProperties()}return!1},e.prototype._parseDeclarations=function(e){var t=this.create(mo);if(!this.accept(es.CurlyL))return null;for(var n=e();t.addChild(n)&&!this.peek(es.CurlyR);){if(this._needsSemicolonAfter(n)&&!this.accept(es.SemiColon))return this.finish(t,kl.SemiColonExpected,[es.SemiColon,es.CurlyR]);for(n&&this.prevToken&&this.prevToken.type===es.SemiColon&&(n.semicolonPosition=this.prevToken.offset);this.accept(es.SemiColon););n=e()}return this.accept(es.CurlyR)?this.finish(t):this.finish(t,kl.RightCurlyExpected,[es.CurlyR,es.SemiColon])},e.prototype._parseBody=function(e,t){return e.setDeclarations(this._parseDeclarations(t))?this.finish(e):this.finish(e,kl.LeftCurlyExpected,[es.CurlyR,es.SemiColon])},e.prototype._parseSelector=function(e){var t=this.create(bo),n=!1;for(e&&(n=t.addChild(this._parseCombinator()));t.addChild(this._parseSimpleSelector());)n=!0,t.addChild(this._parseCombinator());return n?this.finish(t):null},e.prototype._parseDeclaration=function(e){var t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;var n=this.create(xo);return n.setProperty(this._parseProperty())?this.accept(es.Colon)?(this.prevToken&&(n.colonPosition=this.prevToken.offset),n.setValue(this._parseExpr())?(n.addChild(this._parsePrio()),this.peek(es.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)):this.finish(n,kl.PropertyValueExpected)):this.finish(n,kl.ColonExpected,[es.Colon],e||[es.SemiColon]):null},e.prototype._tryParseCustomPropertyDeclaration=function(e){if(!this.peekRegExp(es.Ident,/^--/))return null;var t=this.create(So);if(!t.setProperty(this._parseProperty()))return null;if(!this.accept(es.Colon))return this.finish(t,kl.ColonExpected,[es.Colon]);this.prevToken&&(t.colonPosition=this.prevToken.offset);var n=this.mark();if(this.peek(es.CurlyL)){var r=this.create(wo),i=this._parseDeclarations(this._parseRuleSetDeclaration.bind(this));if(r.setDeclarations(i)&&!i.isErroneous(!0)&&(r.addChild(this._parsePrio()),this.peek(es.SemiColon)))return this.finish(r),t.setPropertySet(r),t.semicolonPosition=this.token.offset,this.finish(t);this.restoreAtMark(n)}var s=this._parseExpr();return s&&!s.isErroneous(!0)&&(this._parsePrio(),this.peekOne.apply(this,Ch(Ch([],e||[],!1),[es.SemiColon,es.EOF],!1)))?(t.setValue(s),this.peek(es.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)):(this.restoreAtMark(n),t.addChild(this._parseCustomPropertyValue(e)),t.addChild(this._parsePrio()),Sh(t.colonPosition)&&this.token.offset===t.colonPosition+1?this.finish(t,kl.PropertyValueExpected):this.finish(t))},e.prototype._parseCustomPropertyValue=function(e){var t=this;void 0===e&&(e=[es.CurlyR]);var n=this.create(lo),r=function(){return-1!==e.indexOf(t.token.type)},i=0,s=0,o=0;e:for(;;){switch(this.token.type){case es.SemiColon:case es.Exclamation:if(0===i&&0===s&&0===o)break e;break;case es.CurlyL:i++;break;case es.CurlyR:if(--i<0){if(r()&&0===s&&0===o)break e;return this.finish(n,kl.LeftCurlyExpected)}break;case es.ParenthesisL:s++;break;case es.ParenthesisR:if(--s<0){if(r()&&0===o&&0===i)break e;return this.finish(n,kl.LeftParenthesisExpected)}break;case es.BracketL:o++;break;case es.BracketR:if(--o<0)return this.finish(n,kl.LeftSquareBracketExpected);break;case es.BadString:break e;case es.EOF:var a=kl.RightCurlyExpected;return o>0?a=kl.RightSquareBracketExpected:s>0&&(a=kl.RightParenthesisExpected),this.finish(n,a)}this.consumeToken()}return this.finish(n)},e.prototype._tryToParseDeclaration=function(e){var t=this.mark();return this._parseProperty()&&this.accept(es.Colon)?(this.restoreAtMark(t),this._parseDeclaration(e)):(this.restoreAtMark(t),null)},e.prototype._parseProperty=function(){var e=this.create(Co),t=this.mark();return(this.acceptDelim("*")||this.acceptDelim("_"))&&this.hasWhitespace()?(this.restoreAtMark(t),null):e.setIdentifier(this._parsePropertyIdentifier())?this.finish(e):null},e.prototype._parsePropertyIdentifier=function(){return this._parseIdent()},e.prototype._parseCharset=function(){if(!this.peek(es.Charset))return null;var e=this.create(lo);return this.consumeToken(),this.accept(es.String)?this.accept(es.SemiColon)?this.finish(e):this.finish(e,kl.SemiColonExpected):this.finish(e,kl.IdentifierExpected)},e.prototype._parseImport=function(){if(!this.peekKeyword("@import"))return null;var e=this.create(Oo);return this.consumeToken(),e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral())?(this.peek(es.SemiColon)||this.peek(es.EOF)||e.setMedialist(this._parseMediaQueryList()),this.finish(e)):this.finish(e,kl.URIOrStringExpected)},e.prototype._parseNamespace=function(){if(!this.peekKeyword("@namespace"))return null;var e=this.create(Ko);return this.consumeToken(),e.addChild(this._parseURILiteral())||(e.addChild(this._parseIdent()),e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral()))?this.accept(es.SemiColon)?this.finish(e):this.finish(e,kl.SemiColonExpected):this.finish(e,kl.URIExpected,[es.SemiColon])},e.prototype._parseFontFace=function(){if(!this.peekKeyword("@font-face"))return null;var e=this.create(zo);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseViewPort=function(){if(!this.peekKeyword("@-ms-viewport")&&!this.peekKeyword("@-o-viewport")&&!this.peekKeyword("@viewport"))return null;var e=this.create(Mo);return this.consumeToken(),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parseKeyframe=function(){if(!this.peekRegExp(es.AtKeyword,this.keyframeRegex))return null;var e=this.create(Lo),t=this.create(lo);return this.consumeToken(),e.setKeyword(this.finish(t)),t.matches("@-ms-keyframes")&&this.markError(t,kl.UnknownKeyword),e.setIdentifier(this._parseKeyframeIdent())?this._parseBody(e,this._parseKeyframeSelector.bind(this)):this.finish(e,kl.IdentifierExpected,[es.CurlyR])},e.prototype._parseKeyframeIdent=function(){return this._parseIdent([to.Keyframe])},e.prototype._parseKeyframeSelector=function(){var e=this.create(Po);if(!e.addChild(this._parseIdent())&&!this.accept(es.Percentage))return null;for(;this.accept(es.Comma);)if(!e.addChild(this._parseIdent())&&!this.accept(es.Percentage))return this.finish(e,kl.PercentageExpected);return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._tryParseKeyframeSelector=function(){var e=this.create(Po),t=this.mark();if(!e.addChild(this._parseIdent())&&!this.accept(es.Percentage))return null;for(;this.accept(es.Comma);)if(!e.addChild(this._parseIdent())&&!this.accept(es.Percentage))return this.restoreAtMark(t),null;return this.peek(es.CurlyL)?this._parseBody(e,this._parseRuleSetDeclaration.bind(this)):(this.restoreAtMark(t),null)},e.prototype._parseSupports=function(e){if(void 0===e&&(e=!1),!this.peekKeyword("@supports"))return null;var t=this.create(jo);return this.consumeToken(),t.addChild(this._parseSupportsCondition()),this._parseBody(t,this._parseSupportsDeclaration.bind(this,e))},e.prototype._parseSupportsDeclaration=function(e){return void 0===e&&(e=!1),e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)},e.prototype._parseSupportsCondition=function(){var e=this.create(Yo);if(this.acceptIdent("not"))e.addChild(this._parseSupportsConditionInParens());else if(e.addChild(this._parseSupportsConditionInParens()),this.peekRegExp(es.Ident,/^(and|or)$/i))for(var t=this.token.text.toLowerCase();this.acceptIdent(t);)e.addChild(this._parseSupportsConditionInParens());return this.finish(e)},e.prototype._parseSupportsConditionInParens=function(){var e=this.create(Yo);if(this.accept(es.ParenthesisL))return this.prevToken&&(e.lParent=this.prevToken.offset),e.addChild(this._tryToParseDeclaration([es.ParenthesisR]))||this._parseSupportsCondition()?this.accept(es.ParenthesisR)?(this.prevToken&&(e.rParent=this.prevToken.offset),this.finish(e)):this.finish(e,kl.RightParenthesisExpected,[es.ParenthesisR],[]):this.finish(e,kl.ConditionExpected);if(this.peek(es.Ident)){var t=this.mark();if(this.consumeToken(),!this.hasWhitespace()&&this.accept(es.ParenthesisL)){for(var n=1;this.token.type!==es.EOF&&0!==n;)this.token.type===es.ParenthesisL?n++:this.token.type===es.ParenthesisR&&n--,this.consumeToken();return this.finish(e)}this.restoreAtMark(t)}return this.finish(e,kl.LeftParenthesisExpected,[],[es.ParenthesisL])},e.prototype._parseMediaDeclaration=function(e){return void 0===e&&(e=!1),e?this._tryParseRuleset(!0)||this._tryToParseDeclaration()||this._parseStylesheetStatement(!0):this._parseStylesheetStatement(!1)},e.prototype._parseMedia=function(e){if(void 0===e&&(e=!1),!this.peekKeyword("@media"))return null;var t=this.create(Bo);return this.consumeToken(),t.addChild(this._parseMediaQueryList())?this._parseBody(t,this._parseMediaDeclaration.bind(this,e)):this.finish(t,kl.MediaQueryExpected)},e.prototype._parseMediaQueryList=function(){var e=this.create(Ho);if(!e.addChild(this._parseMediaQuery()))return this.finish(e,kl.MediaQueryExpected);for(;this.accept(es.Comma);)if(!e.addChild(this._parseMediaQuery()))return this.finish(e,kl.MediaQueryExpected);return this.finish(e)},e.prototype._parseMediaQuery=function(){var e=this.create(Go),t=this.mark();if(this.acceptIdent("not"),this.peek(es.ParenthesisL))this.restoreAtMark(t),e.addChild(this._parseMediaCondition());else{if(this.acceptIdent("only"),!e.addChild(this._parseIdent()))return null;this.acceptIdent("and")&&e.addChild(this._parseMediaCondition())}return this.finish(e)},e.prototype._parseRatio=function(){var e=this.mark(),t=this.create(sa);return this._parseNumeric()?this.acceptDelim("/")?this._parseNumeric()?this.finish(t):this.finish(t,kl.NumberExpected):(this.restoreAtMark(e),null):null},e.prototype._parseMediaCondition=function(){var e=this.create(Jo);this.acceptIdent("not");for(var t=!0;t;){if(!this.accept(es.ParenthesisL))return this.finish(e,kl.LeftParenthesisExpected,[],[es.CurlyL]);if(this.peek(es.ParenthesisL)||this.peekIdent("not")?e.addChild(this._parseMediaCondition()):e.addChild(this._parseMediaFeature()),!this.accept(es.ParenthesisR))return this.finish(e,kl.RightParenthesisExpected,[],[es.CurlyL]);t=this.acceptIdent("and")||this.acceptIdent("or")}return this.finish(e)},e.prototype._parseMediaFeature=function(){var e=this,t=[es.ParenthesisR],n=this.create(Xo),r=function(){return e.acceptDelim("<")||e.acceptDelim(">")?(e.hasWhitespace()||e.acceptDelim("="),!0):!!e.acceptDelim("=")};if(n.addChild(this._parseMediaFeatureName())){if(this.accept(es.Colon)){if(!n.addChild(this._parseMediaFeatureValue()))return this.finish(n,kl.TermExpected,[],t)}else if(r()){if(!n.addChild(this._parseMediaFeatureValue()))return this.finish(n,kl.TermExpected,[],t);if(r()&&!n.addChild(this._parseMediaFeatureValue()))return this.finish(n,kl.TermExpected,[],t)}}else{if(!n.addChild(this._parseMediaFeatureValue()))return this.finish(n,kl.IdentifierExpected,[],t);if(!r())return this.finish(n,kl.OperatorExpected,[],t);if(!n.addChild(this._parseMediaFeatureName()))return this.finish(n,kl.IdentifierExpected,[],t);if(r()&&!n.addChild(this._parseMediaFeatureValue()))return this.finish(n,kl.TermExpected,[],t)}return this.finish(n)},e.prototype._parseMediaFeatureName=function(){return this._parseIdent()},e.prototype._parseMediaFeatureValue=function(){return this._parseRatio()||this._parseTermExpression()},e.prototype._parseMedium=function(){var e=this.create(lo);return e.addChild(this._parseIdent())?this.finish(e):null},e.prototype._parsePageDeclaration=function(){return this._parsePageMarginBox()||this._parseRuleSetDeclaration()},e.prototype._parsePage=function(){if(!this.peekKeyword("@page"))return null;var e=this.create(Qo);if(this.consumeToken(),e.addChild(this._parsePageSelector()))for(;this.accept(es.Comma);)if(!e.addChild(this._parsePageSelector()))return this.finish(e,kl.IdentifierExpected);return this._parseBody(e,this._parsePageDeclaration.bind(this))},e.prototype._parsePageMarginBox=function(){if(!this.peek(es.AtKeyword))return null;var e=this.create(Zo);return this.acceptOneKeyword(wh)||this.markError(e,kl.UnknownAtRule,[],[es.CurlyL]),this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},e.prototype._parsePageSelector=function(){if(!this.peek(es.Ident)&&!this.peek(es.Colon))return null;var e=this.create(lo);return e.addChild(this._parseIdent()),this.accept(es.Colon)&&!e.addChild(this._parseIdent())?this.finish(e,kl.IdentifierExpected):this.finish(e)},e.prototype._parseDocument=function(){if(!this.peekKeyword("@-moz-document"))return null;var e=this.create($o);return this.consumeToken(),this.resync([],[es.CurlyL]),this._parseBody(e,this._parseStylesheetStatement.bind(this))},e.prototype._parseUnknownAtRule=function(){if(!this.peek(es.AtKeyword))return null;var e=this.create(va);e.addChild(this._parseUnknownAtRuleName());var t=0,n=0,r=0,i=0;e:for(;;){switch(this.token.type){case es.SemiColon:if(0===n&&0===r&&0===i)break e;break;case es.EOF:return n>0?this.finish(e,kl.RightCurlyExpected):i>0?this.finish(e,kl.RightSquareBracketExpected):r>0?this.finish(e,kl.RightParenthesisExpected):this.finish(e);case es.CurlyL:t++,n++;break;case es.CurlyR:if(n--,t>0&&0===n){if(this.consumeToken(),i>0)return this.finish(e,kl.RightSquareBracketExpected);if(r>0)return this.finish(e,kl.RightParenthesisExpected);break e}if(n<0){if(0===r&&0===i)break e;return this.finish(e,kl.LeftCurlyExpected)}break;case es.ParenthesisL:r++;break;case es.ParenthesisR:if(--r<0)return this.finish(e,kl.LeftParenthesisExpected);break;case es.BracketL:i++;break;case es.BracketR:if(--i<0)return this.finish(e,kl.LeftSquareBracketExpected)}this.consumeToken()}return e},e.prototype._parseUnknownAtRuleName=function(){var e=this.create(lo);return this.accept(es.AtKeyword)?this.finish(e):e},e.prototype._parseOperator=function(){if(this.peekDelim("/")||this.peekDelim("*")||this.peekDelim("+")||this.peekDelim("-")||this.peek(es.Dashmatch)||this.peek(es.Includes)||this.peek(es.SubstringOperator)||this.peek(es.PrefixOperator)||this.peek(es.SuffixOperator)||this.peekDelim("=")){var e=this.createNode(Zs.Operator);return this.consumeToken(),this.finish(e)}return null},e.prototype._parseUnaryOperator=function(){if(!this.peekDelim("+")&&!this.peekDelim("-"))return null;var e=this.create(lo);return this.consumeToken(),this.finish(e)},e.prototype._parseCombinator=function(){if(this.peekDelim(">")){var e=this.create(lo);this.consumeToken();var t=this.mark();if(!this.hasWhitespace()&&this.acceptDelim(">")){if(!this.hasWhitespace()&&this.acceptDelim(">"))return e.type=Zs.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return e.type=Zs.SelectorCombinatorParent,this.finish(e)}if(this.peekDelim("+"))return e=this.create(lo),this.consumeToken(),e.type=Zs.SelectorCombinatorSibling,this.finish(e);if(this.peekDelim("~"))return e=this.create(lo),this.consumeToken(),e.type=Zs.SelectorCombinatorAllSiblings,this.finish(e);if(this.peekDelim("/")){if(e=this.create(lo),this.consumeToken(),t=this.mark(),!this.hasWhitespace()&&this.acceptIdent("deep")&&!this.hasWhitespace()&&this.acceptDelim("/"))return e.type=Zs.SelectorCombinatorShadowPiercingDescendant,this.finish(e);this.restoreAtMark(t)}return null},e.prototype._parseSimpleSelector=function(){var e=this.create(vo),t=0;for(e.addChild(this._parseElementName())&&t++;(0===t||!this.hasWhitespace())&&e.addChild(this._parseSimpleSelectorBody());)t++;return t>0?this.finish(e):null},e.prototype._parseSimpleSelectorBody=function(){return this._parsePseudo()||this._parseHash()||this._parseClass()||this._parseAttrib()},e.prototype._parseSelectorIdent=function(){return this._parseIdent()},e.prototype._parseHash=function(){if(!this.peek(es.Hash)&&!this.peekDelim("#"))return null;var e=this.createNode(Zs.IdentifierSelector);if(this.acceptDelim("#")){if(this.hasWhitespace()||!e.addChild(this._parseSelectorIdent()))return this.finish(e,kl.IdentifierExpected)}else this.consumeToken();return this.finish(e)},e.prototype._parseClass=function(){if(!this.peekDelim("."))return null;var e=this.createNode(Zs.ClassSelector);return this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseSelectorIdent())?this.finish(e,kl.IdentifierExpected):this.finish(e)},e.prototype._parseElementName=function(){var e=this.mark(),t=this.createNode(Zs.ElementNameSelector);return t.addChild(this._parseNamespacePrefix()),t.addChild(this._parseSelectorIdent())||this.acceptDelim("*")?this.finish(t):(this.restoreAtMark(e),null)},e.prototype._parseNamespacePrefix=function(){var e=this.mark(),t=this.createNode(Zs.NamespacePrefix);return!t.addChild(this._parseIdent())&&this.acceptDelim("*"),this.acceptDelim("|")?this.finish(t):(this.restoreAtMark(e),null)},e.prototype._parseAttrib=function(){if(!this.peek(es.BracketL))return null;var e=this.create(ra);return this.consumeToken(),e.setNamespacePrefix(this._parseNamespacePrefix()),e.setIdentifier(this._parseIdent())?(e.setOperator(this._parseOperator())&&(e.setValue(this._parseBinaryExpr()),this.acceptIdent("i"),this.acceptIdent("s")),this.accept(es.BracketR)?this.finish(e):this.finish(e,kl.RightSquareBracketExpected)):this.finish(e,kl.IdentifierExpected)},e.prototype._parsePseudo=function(){var e=this,t=this._tryParsePseudoIdentifier();return t?this.hasWhitespace()||!this.accept(es.ParenthesisL)||(t.addChild(this.try((function(){var t=e.create(lo);if(!t.addChild(e._parseSelector(!1)))return null;for(;e.accept(es.Comma)&&t.addChild(e._parseSelector(!1)););return e.peek(es.ParenthesisR)?e.finish(t):null}))||this._parseBinaryExpr()),this.accept(es.ParenthesisR))?this.finish(t):this.finish(t,kl.RightParenthesisExpected):null},e.prototype._tryParsePseudoIdentifier=function(){if(!this.peek(es.Colon))return null;var e=this.mark(),t=this.createNode(Zs.PseudoSelector);return this.consumeToken(),this.hasWhitespace()?(this.restoreAtMark(e),null):(this.accept(es.Colon),this.hasWhitespace()||!t.addChild(this._parseIdent())?this.finish(t,kl.IdentifierExpected):this.finish(t))},e.prototype._tryParsePrio=function(){var e=this.mark();return this._parsePrio()||(this.restoreAtMark(e),null)},e.prototype._parsePrio=function(){if(!this.peek(es.Exclamation))return null;var e=this.createNode(Zs.Prio);return this.accept(es.Exclamation)&&this.acceptIdent("important")?this.finish(e):null},e.prototype._parseExpr=function(e){void 0===e&&(e=!1);var t=this.create(ea);if(!t.addChild(this._parseBinaryExpr()))return null;for(;;){if(this.peek(es.Comma)){if(e)return this.finish(t);this.consumeToken()}else if(!this.hasWhitespace())break;if(!t.addChild(this._parseBinaryExpr()))break}return this.finish(t)},e.prototype._parseUnicodeRange=function(){if(!this.peekIdent("u"))return null;var e=this.create(ho);return this.acceptUnicodeRange()?this.finish(e):null},e.prototype._parseNamedLine=function(){if(!this.peek(es.BracketL))return null;var e=this.createNode(Zs.GridLine);for(this.consumeToken();e.addChild(this._parseIdent()););return this.accept(es.BracketR)?this.finish(e):this.finish(e,kl.RightSquareBracketExpected)},e.prototype._parseBinaryExpr=function(e,t){var n=this.create(ta);if(!n.setLeft(e||this._parseTerm()))return null;if(!n.setOperator(t||this._parseOperator()))return this.finish(n);if(!n.setRight(this._parseTerm()))return this.finish(n,kl.TermExpected);n=this.finish(n);var r=this._parseOperator();return r&&(n=this._parseBinaryExpr(n,r)),this.finish(n)},e.prototype._parseTerm=function(){var e=this.create(na);return e.setOperator(this._parseUnaryOperator()),e.setExpression(this._parseTermExpression())?this.finish(e):null},e.prototype._parseTermExpression=function(){return this._parseURILiteral()||this._parseUnicodeRange()||this._parseFunction()||this._parseIdent()||this._parseStringLiteral()||this._parseNumeric()||this._parseHexColor()||this._parseOperation()||this._parseNamedLine()},e.prototype._parseOperation=function(){if(!this.peek(es.ParenthesisL))return null;var e=this.create(lo);return this.consumeToken(),e.addChild(this._parseExpr()),this.accept(es.ParenthesisR)?this.finish(e):this.finish(e,kl.RightParenthesisExpected)},e.prototype._parseNumeric=function(){if(this.peek(es.Num)||this.peek(es.Percentage)||this.peek(es.Resolution)||this.peek(es.Length)||this.peek(es.EMS)||this.peek(es.EXS)||this.peek(es.Angle)||this.peek(es.Time)||this.peek(es.Dimension)||this.peek(es.Freq)){var e=this.create(ca);return this.consumeToken(),this.finish(e)}return null},e.prototype._parseStringLiteral=function(){if(!this.peek(es.String)&&!this.peek(es.BadString))return null;var e=this.createNode(Zs.StringLiteral);return this.consumeToken(),this.finish(e)},e.prototype._parseURILiteral=function(){if(!this.peekRegExp(es.Ident,/^url(-prefix)?$/i))return null;var e=this.mark(),t=this.createNode(Zs.URILiteral);return this.accept(es.Ident),this.hasWhitespace()||!this.peek(es.ParenthesisL)?(this.restoreAtMark(e),null):(this.scanner.inURL=!0,this.consumeToken(),t.addChild(this._parseURLArgument()),this.scanner.inURL=!1,this.accept(es.ParenthesisR)?this.finish(t):this.finish(t,kl.RightParenthesisExpected))},e.prototype._parseURLArgument=function(){var e=this.create(lo);return this.accept(es.String)||this.accept(es.BadString)||this.acceptUnquotedString()?this.finish(e):null},e.prototype._parseIdent=function(e){if(!this.peek(es.Ident))return null;var t=this.create(po);return e&&(t.referenceTypes=e),t.isCustomProperty=this.peekRegExp(es.Ident,/^--/),this.consumeToken(),this.finish(t)},e.prototype._parseFunction=function(){var e=this.mark(),t=this.create(ko);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(es.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(es.Comma)&&!this.peek(es.ParenthesisR);)t.getArguments().addChild(this._parseFunctionArgument())||this.markError(t,kl.ExpressionExpected);return this.accept(es.ParenthesisR)?this.finish(t):this.finish(t,kl.RightParenthesisExpected)},e.prototype._parseFunctionIdentifier=function(){if(!this.peek(es.Ident))return null;var e=this.create(po);if(e.referenceTypes=[to.Function],this.acceptIdent("progid")){if(this.accept(es.Colon))for(;this.accept(es.Ident)&&this.acceptDelim("."););return this.finish(e)}return this.consumeToken(),this.finish(e)},e.prototype._parseFunctionArgument=function(){var e=this.create(Eo);return e.setValue(this._parseExpr(!0))?this.finish(e):null},e.prototype._parseHexColor=function(){if(this.peekRegExp(es.Hash,/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/g)){var e=this.create(ia);return this.consumeToken(),this.finish(e)}return null},e}();function _h(e,t){return-1!==e.indexOf(t)}function Eh(){for(var e=[],t=0;te+t||this.offset===e&&this.length===t?this.findInScope(e,t):null},e.prototype.findInScope=function(e,t){void 0===t&&(t=0);var n=e+t,r=function(e,t){var r=0,i=e.length;if(0===i)return 0;for(;rn?i=s:r=s+1}return r}(this.children);if(0===r)return this;var i=this.children[r-1];return i.offset<=e&&i.offset+i.length>=e+t?i.findInScope(e,t):this},e.prototype.addSymbol=function(e){this.symbols.push(e)},e.prototype.getSymbol=function(e,t){for(var n=0;n{var e={470:e=>{function t(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var n,r="",i=0,s=-1,o=0,a=0;a<=e.length;++a){if(a2){var l=r.lastIndexOf("/");if(l!==r.length-1){-1===l?(r="",i=0):i=(r=r.slice(0,l)).length-1-r.lastIndexOf("/"),s=a,o=0;continue}}else if(2===r.length||1===r.length){r="",i=0,s=a,o=0;continue}t&&(r.length>0?r+="/..":r="..",i=2)}else r.length>0?r+="/"+e.slice(s+1,a):r=e.slice(s+1,a),i=a-s-1;s=a,o=0}else 46===n&&-1!==o?++o:o=-1}return r}var r={resolve:function(){for(var e,r="",i=!1,s=arguments.length-1;s>=-1&&!i;s--){var o;s>=0?o=arguments[s]:(void 0===e&&(e=process.cwd()),o=e),t(o),0!==o.length&&(r=o+"/"+r,i=47===o.charCodeAt(0))}return r=n(r,!i),i?r.length>0?"/"+r:"/":r.length>0?r:"."},normalize:function(e){if(t(e),0===e.length)return".";var r=47===e.charCodeAt(0),i=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!r)).length||r||(e="."),e.length>0&&i&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return t(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":r.normalize(e)},relative:function(e,n){if(t(e),t(n),e===n)return"";if((e=r.resolve(e))===(n=r.resolve(n)))return"";for(var i=1;ic){if(47===n.charCodeAt(a+d))return n.slice(a+d+1);if(0===d)return n.slice(a+d)}else o>c&&(47===e.charCodeAt(i+d)?h=d:0===d&&(h=0));break}var p=e.charCodeAt(i+d);if(p!==n.charCodeAt(a+d))break;47===p&&(h=d)}var u="";for(d=i+h+1;d<=s;++d)d!==s&&47!==e.charCodeAt(d)||(0===u.length?u+="..":u+="/..");return u.length>0?u+n.slice(a+h):(a+=h,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function(e){return e},dirname:function(e){if(t(e),0===e.length)return".";for(var n=e.charCodeAt(0),r=47===n,i=-1,s=!0,o=e.length-1;o>=1;--o)if(47===(n=e.charCodeAt(o))){if(!s){i=o;break}}else s=!1;return-1===i?r?"/":".":r&&1===i?"//":e.slice(0,i)},basename:function(e,n){if(void 0!==n&&"string"!=typeof n)throw new TypeError('"ext" argument must be a string');t(e);var r,i=0,s=-1,o=!0;if(void 0!==n&&n.length>0&&n.length<=e.length){if(n.length===e.length&&n===e)return"";var a=n.length-1,l=-1;for(r=e.length-1;r>=0;--r){var c=e.charCodeAt(r);if(47===c){if(!o){i=r+1;break}}else-1===l&&(o=!1,l=r+1),a>=0&&(c===n.charCodeAt(a)?-1==--a&&(s=r):(a=-1,s=l))}return i===s?s=l:-1===s&&(s=e.length),e.slice(i,s)}for(r=e.length-1;r>=0;--r)if(47===e.charCodeAt(r)){if(!o){i=r+1;break}}else-1===s&&(o=!1,s=r+1);return-1===s?"":e.slice(i,s)},extname:function(e){t(e);for(var n=-1,r=0,i=-1,s=!0,o=0,a=e.length-1;a>=0;--a){var l=e.charCodeAt(a);if(47!==l)-1===i&&(s=!1,i=a+1),46===l?-1===n?n=a:1!==o&&(o=1):-1!==n&&(o=-1);else if(!s){r=a+1;break}}return-1===n||-1===i||0===o||1===o&&n===i-1&&n===r+1?"":e.slice(n,i)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return n=(t=e).dir||t.root,r=t.base||(t.name||"")+(t.ext||""),n?n===t.root?n+r:n+"/"+r:r;var t,n,r},parse:function(e){t(e);var n={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;var r,i=e.charCodeAt(0),s=47===i;s?(n.root="/",r=1):r=0;for(var o=-1,a=0,l=-1,c=!0,h=e.length-1,d=0;h>=r;--h)if(47!==(i=e.charCodeAt(h)))-1===l&&(c=!1,l=h+1),46===i?-1===o?o=h:1!==d&&(d=1):-1!==o&&(d=-1);else if(!c){a=h+1;break}return-1===o||-1===l||0===d||1===d&&o===l-1&&o===a+1?-1!==l&&(n.base=n.name=0===a&&s?e.slice(1,l):e.slice(a,l)):(0===a&&s?(n.name=e.slice(1,o),n.base=e.slice(1,l)):(n.name=e.slice(a,o),n.base=e.slice(a,l)),n.ext=e.slice(o,l)),a>0?n.dir=e.slice(0,a-1):s&&(n.dir="/"),n},sep:"/",delimiter:":",win32:null,posix:null};r.posix=r,e.exports=r},447:(e,t,n)=>{var r;if(n.r(t),n.d(t,{URI:()=>f,Utils:()=>E}),"object"==typeof process)r="win32"===process.platform;else if("object"==typeof navigator){var i=navigator.userAgent;r=i.indexOf("Windows")>=0}var s,o,a=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),l=/^\w[\w\d+.-]*$/,c=/^\//,h=/^\/\//;function d(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(e.authority,'", path: "').concat(e.path,'", query: "').concat(e.query,'", fragment: "').concat(e.fragment,'"}'));if(e.scheme&&!l.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!c.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(h.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}var p="",u="/",m=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,n,r,i,s){void 0===s&&(s=!1),"object"==typeof e?(this.scheme=e.scheme||p,this.authority=e.authority||p,this.path=e.path||p,this.query=e.query||p,this.fragment=e.fragment||p):(this.scheme=function(e,t){return e||t?e:"file"}(e,s),this.authority=t||p,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==u&&(t=u+t):t=u}return t}(this.scheme,n||p),this.query=r||p,this.fragment=i||p,d(this,s))}return e.isUri=function(t){return t instanceof e||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString},Object.defineProperty(e.prototype,"fsPath",{get:function(){return x(this,!1)},enumerable:!1,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,n=e.authority,r=e.path,i=e.query,s=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=p),void 0===n?n=this.authority:null===n&&(n=p),void 0===r?r=this.path:null===r&&(r=p),void 0===i?i=this.query:null===i&&(i=p),void 0===s?s=this.fragment:null===s&&(s=p),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&s===this.fragment?this:new b(t,n,r,i,s)},e.parse=function(e,t){void 0===t&&(t=!1);var n=m.exec(e);return n?new b(n[2]||p,_(n[4]||p),_(n[5]||p),_(n[7]||p),_(n[9]||p),t):new b(p,p,p,p,p)},e.file=function(e){var t=p;if(r&&(e=e.replace(/\\/g,u)),e[0]===u&&e[1]===u){var n=e.indexOf(u,2);-1===n?(t=e.substring(2),e=u):(t=e.substring(2,n),e=e.substring(n)||u)}return new b("file",t,e,p,p)},e.from=function(e){var t=new b(e.scheme,e.authority,e.path,e.query,e.fragment);return d(t,!0),t},e.prototype.toString=function(e){return void 0===e&&(e=!1),S(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var n=new b(t);return n._formatted=t.external,n._fsPath=t._sep===g?t.fsPath:null,n}return t},e}(),g=r?1:void 0,b=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return a(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=x(this,!1)),this._fsPath},enumerable:!1,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?S(this,!0):(this._formatted||(this._formatted=S(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=g),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),v=((o={})[58]="%3A",o[47]="%2F",o[63]="%3F",o[35]="%23",o[91]="%5B",o[93]="%5D",o[64]="%40",o[33]="%21",o[36]="%24",o[38]="%26",o[39]="%27",o[40]="%28",o[41]="%29",o[42]="%2A",o[43]="%2B",o[44]="%2C",o[59]="%3B",o[61]="%3D",o[32]="%20",o);function y(e,t){for(var n=void 0,r=-1,i=0;i=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||45===s||46===s||95===s||126===s||t&&47===s)-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),void 0!==n&&(n+=e.charAt(i));else{void 0===n&&(n=e.substr(0,i));var o=v[s];void 0!==o?(-1!==r&&(n+=encodeURIComponent(e.substring(r,i)),r=-1),n+=o):-1===r&&(r=i)}}return-1!==r&&(n+=encodeURIComponent(e.substring(r))),void 0!==n?n:e}function w(e){for(var t=void 0,n=0;n1&&"file"===e.scheme?"//".concat(e.authority).concat(e.path):47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,r&&(n=n.replace(/\//g,"\\")),n}function S(e,t){var n=t?w:y,r="",i=e.scheme,s=e.authority,o=e.path,a=e.query,l=e.fragment;if(i&&(r+=i,r+=":"),(s||"file"===i)&&(r+=u,r+=u),s){var c=s.indexOf("@");if(-1!==c){var h=s.substr(0,c);s=s.substr(c+1),-1===(c=h.indexOf(":"))?r+=n(h,!1):(r+=n(h.substr(0,c),!1),r+=":",r+=n(h.substr(c+1),!1)),r+="@"}-1===(c=(s=s.toLowerCase()).indexOf(":"))?r+=n(s,!1):(r+=n(s.substr(0,c),!1),r+=s.substr(c))}if(o){if(o.length>=3&&47===o.charCodeAt(0)&&58===o.charCodeAt(2))(d=o.charCodeAt(1))>=65&&d<=90&&(o="/".concat(String.fromCharCode(d+32),":").concat(o.substr(3)));else if(o.length>=2&&58===o.charCodeAt(1)){var d;(d=o.charCodeAt(0))>=65&&d<=90&&(o="".concat(String.fromCharCode(d+32),":").concat(o.substr(2)))}r+=n(o,!0)}return a&&(r+="?",r+=n(a,!1)),l&&(r+="#",r+=t?l:y(l,!1)),r}function C(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+C(e.substr(3)):e}}var k=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function _(e){return e.match(k)?e.replace(k,(function(e){return C(e)})):e}var E,R,N=n(470),F=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,s=t.length;i{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n(447)})();var{URI:zh,Utils:Ih}=Rh;function Lh(e){return Ih.dirname(zh.parse(e)).toString()}function Ph(e){for(var t=[],n=1;n0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=0&&-1===' \t\n\r":{[()]},*>+'.indexOf(r.charAt(n));)n--;return r.substring(n+1,t)}(e,this.offset),this.defaultReplaceRange=Ma.create(Ta.create(this.position.line,this.position.character-this.currentWord.length),this.position),this.textDocument=e,this.styleSheet=n,this.documentSettings=r;try{var i={isIncomplete:!1,items:[]};this.nodePath=so(this.styleSheet,this.offset);for(var s=this.nodePath.length-1;s>=0;s--){var o=this.nodePath[s];if(o instanceof Co)this.getCompletionsForDeclarationProperty(o.getParent(),i);else if(o instanceof ea)o.parent instanceof da?this.getVariableProposals(null,i):this.getCompletionsForExpression(o,i);else if(o instanceof vo){var a=o.findAParent(Zs.ExtendsReference,Zs.Ruleset);if(a)if(a.type===Zs.ExtendsReference)this.getCompletionsForExtendsReference(a,o,i);else{var l=a;this.getCompletionsForSelector(l,l&&l.isNested(),i)}}else if(o instanceof Eo)this.getCompletionsForFunctionArgument(o,o.getParent(),i);else if(o instanceof mo)this.getCompletionsForDeclarations(o,i);else if(o instanceof ha)this.getCompletionsForVariableDeclaration(o,i);else if(o instanceof go)this.getCompletionsForRuleSet(o,i);else if(o instanceof da)this.getCompletionsForInterpolation(o,i);else if(o instanceof Ao)this.getCompletionsForFunctionDeclaration(o,i);else if(o instanceof ga)this.getCompletionsForMixinReference(o,i);else if(o instanceof ko)this.getCompletionsForFunctionArgument(null,o,i);else if(o instanceof jo)this.getCompletionsForSupports(o,i);else if(o instanceof Yo)this.getCompletionsForSupportsCondition(o,i);else if(o instanceof ua)this.getCompletionsForExtendsReference(o,null,i);else if(o.type===Zs.URILiteral)this.getCompletionForUriLiteralValue(o,i);else if(null===o.parent)this.getCompletionForTopLevel(i);else{if(o.type!==Zs.StringLiteral||!this.isImportPathParent(o.parent.type))continue;this.getCompletionForImportPath(o,i)}if(i.items.length>0||this.offset>o.offset)return this.finalize(i)}return this.getCompletionsForStylesheet(i),0===i.items.length&&this.variablePrefix&&0===this.currentWord.indexOf(this.variablePrefix)&&this.getVariableProposals(null,i),this.finalize(i)}finally{this.position=null,this.currentWord=null,this.textDocument=null,this.styleSheet=null,this.symbolContext=null,this.defaultReplaceRange=null,this.nodePath=null}},e.prototype.isImportPathParent=function(e){return e===Zs.Import},e.prototype.finalize=function(e){return e},e.prototype.findInNodePath=function(){for(var e=[],t=0;t=0;n--){var r=this.nodePath[n];if(-1!==e.indexOf(r.type))return r}return null},e.prototype.getCompletionsForDeclarationProperty=function(e,t){return this.getPropertyProposals(e,t)},e.prototype.getPropertyProposals=function(e,t){var n=this,r=this.isTriggerPropertyValueCompletionEnabled,i=this.isCompletePropertyWithSemicolonEnabled;return this.cssDataManager.getProperties().forEach((function(s){var o,a,l=!1;e?(o=n.getCompletionRange(e.getProperty()),a=s.name,Sh(e.colonPosition)||(a+=": ",l=!0)):(o=n.getCompletionRange(null),a=s.name+": ",l=!0),!e&&i&&(a+="$0;"),e&&!e.semicolonPosition&&i&&n.offset>=n.textDocument.offsetAt(o.end)&&(a+="$0;");var c={label:s.name,documentation:Vc(s,n.doesSupportMarkdown()),tags:Qh(s)?[Vl.Deprecated]:[],textEdit:ol.replace(o,a),insertTextFormat:Ol.Snippet,kind:Ll.Property};s.restrictions||(l=!1),r&&l&&(c.command=Xh);var h=(255-("number"==typeof s.relevance?Math.min(Math.max(s.relevance,0),99):50)).toString(16),d=Js(s.name,"-")?$h.VendorPrefixed:$h.Normal;c.sortText=d+"_"+h,t.items.push(c)})),this.completionParticipants.forEach((function(e){e.onCssProperty&&e.onCssProperty({propertyName:n.currentWord,range:n.defaultReplaceRange})})),t},Object.defineProperty(e.prototype,"isTriggerPropertyValueCompletionEnabled",{get:function(){var e,t;return null===(t=null===(e=this.documentSettings)||void 0===e?void 0:e.triggerPropertyValueCompletion)||void 0===t||t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCompletePropertyWithSemicolonEnabled",{get:function(){var e,t;return null===(t=null===(e=this.documentSettings)||void 0===e?void 0:e.completePropertyWithSemicolon)||void 0===t||t},enumerable:!1,configurable:!0}),e.prototype.getCompletionsForDeclarationValue=function(e,t){for(var n=this,r=e.getFullPropertyName(),i=this.cssDataManager.getProperty(r),s=e.getValue()||null;s&&s.hasChildren();)s=s.findChildAtOffset(this.offset,!1);if(this.completionParticipants.forEach((function(e){e.onCssPropertyValue&&e.onCssPropertyValue({propertyName:r,propertyValue:n.currentWord,range:n.getCompletionRange(s)})})),i){if(i.restrictions)for(var o=0,a=i.restrictions;o=e.offset+2&&this.getVariableProposals(null,t),t},e.prototype.getVariableProposals=function(e,t){for(var n=0,r=this.getSymbolContext().findSymbolsAtOffset(this.offset,to.Variable);n0){var i=this.currentWord.match(/^-?\d[\.\d+]*/);i&&(r=i[0],n.isIncomplete=r.length===this.currentWord.length)}else 0===this.currentWord.length&&(n.isIncomplete=!0);if(t&&t.parent&&t.parent.type===Zs.Term&&(t=t.getParent()),e.restrictions)for(var s=0,o=e.restrictions;s=n.end?this.getCompletionForTopLevel(t):!n||this.offset<=n.offset?this.getCompletionsForSelector(e,e.isNested(),t):this.getCompletionsForDeclarations(e.getDeclarations(),t)},e.prototype.getCompletionsForSelector=function(e,t,n){var r=this,i=this.findInNodePath(Zs.PseudoSelector,Zs.IdentifierSelector,Zs.ClassSelector,Zs.ElementNameSelector);if(!i&&this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord,this.hasCharacterAtPosition(this.offset-this.currentWord.length-1,":")&&(this.currentWord=":"+this.currentWord),this.defaultReplaceRange=Ma.create(Ta.create(this.position.line,this.position.character-this.currentWord.length),this.position)),this.cssDataManager.getPseudoClasses().forEach((function(e){var t=ed(e.name),s={label:e.name,textEdit:ol.replace(r.getCompletionRange(i),t),documentation:Vc(e,r.doesSupportMarkdown()),tags:Qh(e)?[Vl.Deprecated]:[],kind:Ll.Function,insertTextFormat:e.name!==t?Jh:void 0};Js(e.name,":-")&&(s.sortText=$h.VendorPrefixed),n.items.push(s)})),this.cssDataManager.getPseudoElements().forEach((function(e){var t=ed(e.name),s={label:e.name,textEdit:ol.replace(r.getCompletionRange(i),t),documentation:Vc(e,r.doesSupportMarkdown()),tags:Qh(e)?[Vl.Deprecated]:[],kind:Ll.Function,insertTextFormat:e.name!==t?Jh:void 0};Js(e.name,"::-")&&(s.sortText=$h.VendorPrefixed),n.items.push(s)})),!t){for(var s=0,o=vh;s0){var t=d.substr(e.offset,e.length);return"."!==t.charAt(0)||h[t]||(h[t]=!0,n.items.push({label:t,textEdit:ol.replace(r.getCompletionRange(i),t),kind:Ll.Keyword})),!1}return!0})),e&&e.isNested()){var p=e.getSelectors().findFirstChildBeforeOffset(this.offset);p&&0===e.getSelectors().getChildren().indexOf(p)&&this.getPropertyProposals(null,n)}return n},e.prototype.getCompletionsForDeclarations=function(e,t){if(!e||this.offset===e.offset)return t;var n=e.findFirstChildBeforeOffset(this.offset);if(!n)return this.getCompletionsForDeclarationProperty(null,t);if(n instanceof yo){var r=n;if(!Sh(r.colonPosition)||this.offset<=r.colonPosition)return this.getCompletionsForDeclarationProperty(r,t);if(Sh(r.semicolonPosition)&&r.semicolonPositione.colonPosition&&this.getVariableProposals(e.getValue(),t),t},e.prototype.getCompletionsForExpression=function(e,t){var n=e.getParent();if(n instanceof Eo)return this.getCompletionsForFunctionArgument(n,n.getParent(),t),t;var r=e.findParent(Zs.Declaration);if(!r)return this.getTermProposals(void 0,null,t),t;var i=e.findChildAtOffset(this.offset,!0);return i?i instanceof ca||i instanceof po?this.getCompletionsForDeclarationValue(r,t):t:this.getCompletionsForDeclarationValue(r,t)},e.prototype.getCompletionsForFunctionArgument=function(e,t,n){var r=t.getIdentifier();return r&&r.matches("var")&&(t.getArguments().hasChildren()&&t.getArguments().getChild(0)!==e||this.getVariableProposalsForCSSVarFunction(n)),n},e.prototype.getCompletionsForFunctionDeclaration=function(e,t){var n=e.getDeclarations();return n&&this.offset>n.offset&&this.offsete.lParent&&(!Sh(e.rParent)||this.offset<=e.rParent)?this.getCompletionsForDeclarationProperty(null,t):t},e.prototype.getCompletionsForSupports=function(e,t){var n=e.getDeclarations();if(!n||this.offset<=n.offset){var r=e.findFirstChildBeforeOffset(this.offset);return r instanceof Yo?this.getCompletionsForSupportsCondition(r,t):t}return this.getCompletionForTopLevel(t)},e.prototype.getCompletionsForExtendsReference=function(e,t,n){return n},e.prototype.getCompletionForUriLiteralValue=function(e,t){var n,r,i;if(e.hasChildren()){var s=e.getChild(0);n=s.getText(),r=this.position,i=this.getCompletionRange(s)}else{n="",r=this.position;var o=this.textDocument.positionAt(e.offset+4);i=Ma.create(o,o)}return this.completionParticipants.forEach((function(e){e.onCssURILiteralValue&&e.onCssURILiteralValue({uriValue:n,position:r,range:i})})),t},e.prototype.getCompletionForImportPath=function(e,t){var n=this;return this.completionParticipants.forEach((function(t){t.onCssImportPath&&t.onCssImportPath({pathValue:e.getText(),position:n.position,range:n.getCompletionRange(e)})})),t},e.prototype.hasCharacterAtPosition=function(e,t){var n=this.textDocument.getText();return e>=0&&e"),this.writeLine(t,r.join(""))}},e}();!function(e){function t(e){var t=e.match(/^['"](.*)["']$/);return t?t[1]:e}e.ensure=function(e,n){return n+t(e)+n},e.remove=t}(id||(id={}));var dd=function(){return function(){this.id=0,this.attr=0,this.tag=0}}();function pd(e,t){for(var n=new ad,r=0,i=e.getChildren();r1){var l=t.cloneWithParent();n.addChild(l.findRoot()),n=l}n.append(o[a])}}break;case Zs.SelectorPlaceholder:if(s.matches("@at-root"))return n;case Zs.ElementNameSelector:var c=s.getText();n.addAttr("name","*"===c?"element":ud(c));break;case Zs.ClassSelector:n.addAttr("class",ud(s.getText().substring(1)));break;case Zs.IdentifierSelector:n.addAttr("id",ud(s.getText().substring(1)));break;case Zs.MixinDeclaration:n.addAttr("class",s.getName());break;case Zs.PseudoSelector:n.addAttr(ud(s.getText()),"");break;case Zs.AttributeSelector:var h=s,d=h.getIdentifier();if(d){var p=h.getValue(),u=h.getOperator(),m=void 0;if(p&&u)switch(ud(u.getText())){case"|=":m="".concat(id.remove(ud(p.getText())),"-…");break;case"^=":m="".concat(id.remove(ud(p.getText())),"…");break;case"$=":m="…".concat(id.remove(ud(p.getText())));break;case"~=":m=" … ".concat(id.remove(ud(p.getText()))," … ");break;case"*=":m="…".concat(id.remove(ud(p.getText())),"…");break;default:m=id.remove(ud(p.getText()))}n.addAttr(ud(d.getText()),m)}}}return n}function ud(e){var t=new Gs;t.setSource(e);var n=t.scanUnquotedString();return n?n.text:e}var md=function(){function e(e){this.cssDataManager=e}return e.prototype.selectorToMarkedString=function(e){var t=function(e){if(e.matches("@at-root"))return null;var t=new ld,n=[],r=e.getParent();if(r instanceof go)for(var i=r.getParent();i&&!gd(i);){if(i instanceof go){if(i.getSelectors().matches("@at-root"))break;n.push(i)}i=i.getParent()}for(var s=new fd(t),o=n.length-1;o>=0;o--){var a=n[o].getSelectors().getChild(0);a&&s.processSelector(a)}return s.processSelector(e),t}(e);if(t){var n=new hd('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n}return[]},e.prototype.simpleSelectorToMarkedString=function(e){var t=pd(e),n=new hd('"').print(t);return n.push(this.selectorToSpecificityMarkedString(e)),n},e.prototype.isPseudoElementIdentifier=function(e){var t=e.match(/^::?([\w-]+)/);return!!t&&!!this.cssDataManager.getPseudoElement("::"+t[1])},e.prototype.selectorToSpecificityMarkedString=function(e){var t=this,n=function(e){var r=new dd;e:for(var i=0,s=e.getChildren();i0){for(var l=new dd,c=0,h=o.getChildren();cl.id?l=f:f.idl.attr?l=f:f.attrl.tag&&(l=f))}}r.id+=l.id,r.attr+=l.attr,r.tag+=l.tag;continue e}r.attr++}if(o.getChildren().length>0){var f=n(o);r.id+=f.id,r.attr+=f.attr,r.tag+=f.tag}}return r},r=n(e);return od("vs/language/css/css.worker","specificity","[Selector Specificity](https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity): ({0}, {1}, {2})",r.id,r.attr,r.tag)},e}(),fd=function(){function e(e){this.prev=null,this.element=e}return e.prototype.processSelector=function(e){var t=null;if(!(this.element instanceof ld)&&e.getChildren().some((function(e){return e.hasChildren()&&e.getChild(0).type===Zs.SelectorCombinator}))){var n=this.element.findRoot();n.parent instanceof ld&&(t=this.element,this.element=n.parent,this.element.removeChild(n),this.prev=null)}for(var r=0,i=e.getChildren();r0&&i[i.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]4)return null;try{var c=4===r.length?Jc(r[3],1):1;if("rgb"===n||"rgba"===n)return{red:Jc(r[0],255),green:Jc(r[1],255),blue:Jc(r[2],255),alpha:c};if("hsl"===n||"hsla"===n)return ih(Xc(r[0]),Jc(r[1],100),Jc(r[2],100),c);if("hwb"===n)return function(e,t,n,r){if(void 0===r&&(r=1),t+n>=1){var i=t/(t+n);return{red:i,green:i,blue:i,alpha:r}}var s=ih(e,1,.5,r),o=s.red;o*=1-t-n,o+=t;var a=s.green;a*=1-t-n,a+=t;var l=s.blue;return l*=1-t-n,{red:o,green:a,blue:l+=t,alpha:r}}(Xc(r[0]),Jc(r[1],100),Jc(r[2],100),c)}catch(e){return null}}else if(e.type===Zs.Identifier){if(e.parent&&e.parent.type!==Zs.Term)return null;var h=e.parent;if(h&&h.parent&&h.parent.type===Zs.BinaryExpression){var d=h.parent;if(d.parent&&d.parent.type===Zs.ListEntry&&d.parent.key===d)return null}var p=e.getText().toLowerCase();if("none"===p)return null;var u=Hc[p];if(u)return rh(u)}return null}(e);return n?{color:n,range:kd(e,t)}:null}(t,e);return r&&n.push(r),!0})),n},e.prototype.getColorPresentations=function(e,t,n,r){var i,s=[],o=Math.round(255*n.red),a=Math.round(255*n.green),l=Math.round(255*n.blue);i=1===n.alpha?"rgb(".concat(o,", ").concat(a,", ").concat(l,")"):"rgba(".concat(o,", ").concat(a,", ").concat(l,", ").concat(n.alpha,")"),s.push({label:i,textEdit:ol.replace(r,i)}),i=1===n.alpha?"#".concat(Ed(o)).concat(Ed(a)).concat(Ed(l)):"#".concat(Ed(o)).concat(Ed(a)).concat(Ed(l)).concat(Ed(Math.round(255*n.alpha))),s.push({label:i,textEdit:ol.replace(r,i)});var c=sh(n);i=1===c.a?"hsl(".concat(c.h,", ").concat(Math.round(100*c.s),"%, ").concat(Math.round(100*c.l),"%)"):"hsla(".concat(c.h,", ").concat(Math.round(100*c.s),"%, ").concat(Math.round(100*c.l),"%, ").concat(c.a,")"),s.push({label:i,textEdit:ol.replace(r,i)});var h=function(e){var t=sh(e),n=Math.min(e.red,e.green,e.blue),r=1-Math.max(e.red,e.green,e.blue);return{h:t.h,w:n,b:r,a:t.a}}(n);return i=1===h.a?"hwb(".concat(h.h," ").concat(Math.round(100*h.w),"% ").concat(Math.round(100*h.b),"%)"):"hwb(".concat(h.h," ").concat(Math.round(100*h.w),"% ").concat(Math.round(100*h.b),"% / ").concat(h.a,")"),s.push({label:i,textEdit:ol.replace(r,i)}),s},e.prototype.doRename=function(e,t,n,r){var i,s=this.findDocumentHighlights(e,t,r).map((function(e){return ol.replace(e.range,n)}));return{changes:(i={},i[e.uri]=s,i)}},e.prototype.resolveModuleReference=function(e,t,n){return vd(this,void 0,void 0,(function(){var r,i,s,o,a;return yd(this,(function(l){switch(l.label){case 0:return Js(t,"file://")?(r="@"===(c=e)[0]?c.substring(0,c.indexOf("/",c.indexOf("/")+1)):c.substring(0,c.indexOf("/")),i=n.resolveReference("/",t),s=Lh(t),[4,this.resolvePathToModule(r,s,i)]):[3,2];case 1:if(o=l.sent())return a=e.substring(r.length+1),[2,Ph(o,a)];l.label=2;case 2:return[2,void 0]}var c}))}))},e.prototype.resolveRelativeReference=function(e,t,n,r){return vd(this,void 0,void 0,(function(){var r,i;return yd(this,(function(s){switch(s.label){case 0:return r=n.resolveReference(e,t),"~"===e[0]&&"/"!==e[1]&&this.fileSystemProvider?(e=e.substring(1),[4,this.resolveModuleReference(e,t,n)]):[3,2];case 1:return[2,s.sent()||r];case 2:return this.resolveModuleReferences?(i=r)?[4,this.fileExists(r)]:[3,4]:[3,7];case 3:i=s.sent(),s.label=4;case 4:return i?[2,r]:[3,5];case 5:return[4,this.resolveModuleReference(e,t,n)];case 6:return[2,s.sent()||r];case 7:return[2,r]}}))}))},e.prototype.resolvePathToModule=function(e,t,n){return vd(this,void 0,void 0,(function(){var r;return yd(this,(function(i){switch(i.label){case 0:return r=Ph(t,"node_modules",e,"package.json"),[4,this.fileExists(r)];case 1:return i.sent()?[2,Lh(r)]:n&&t.startsWith(n)&&t.length!==n.length?[2,this.resolvePathToModule(e,Lh(t),n)]:[2,void 0]}}))}))},e.prototype.fileExists=function(e){return vd(this,void 0,void 0,(function(){var t;return yd(this,(function(n){switch(n.label){case 0:if(!this.fileSystemProvider)return[2,!1];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.fileSystemProvider.stat(e)];case 2:return(t=n.sent()).type===Tc.Unknown&&-1===t.size?[2,!1]:[2,!0];case 3:return n.sent(),[2,!1];case 4:return[2]}}))}))},e}();function kd(e,t){return Ma.create(t.positionAt(e.offset),t.positionAt(e.end))}function _d(e){if(e.type===Zs.Selector)return Ql.Write;if(e instanceof po&&e.parent&&e.parent instanceof Co&&e.isCustomProperty)return Ql.Write;if(e.parent)switch(e.parent.type){case Zs.FunctionDeclaration:case Zs.MixinDeclaration:case Zs.Keyframe:case Zs.VariableDeclaration:case Zs.FunctionParameter:return Ql.Write}return Ql.Read}function Ed(e){var t=e.toString(16);return 2!==t.length?"0"+t:t}var Rd=Ea(),Nd=oo.Warning,Fd=oo.Error,Dd=oo.Ignore,Td=function(){return function(e,t,n){this.id=e,this.message=t,this.defaultValue=n}}(),Ad=function(){return function(e,t,n){this.id=e,this.message=t,this.defaultValue=n}}(),Md={AllVendorPrefixes:new Td("compatibleVendorPrefixes",Rd("vs/language/css/css.worker","rule.vendorprefixes.all","When using a vendor-specific prefix make sure to also include all other vendor-specific properties"),Dd),IncludeStandardPropertyWhenUsingVendorPrefix:new Td("vendorPrefix",Rd("vs/language/css/css.worker","rule.standardvendorprefix.all","When using a vendor-specific prefix also include the standard property"),Nd),DuplicateDeclarations:new Td("duplicateProperties",Rd("vs/language/css/css.worker","rule.duplicateDeclarations","Do not use duplicate style definitions"),Dd),EmptyRuleSet:new Td("emptyRules",Rd("vs/language/css/css.worker","rule.emptyRuleSets","Do not use empty rulesets"),Nd),ImportStatemement:new Td("importStatement",Rd("vs/language/css/css.worker","rule.importDirective","Import statements do not load in parallel"),Dd),BewareOfBoxModelSize:new Td("boxModel",Rd("vs/language/css/css.worker","rule.bewareOfBoxModelSize","Do not use width or height when using padding or border"),Dd),UniversalSelector:new Td("universalSelector",Rd("vs/language/css/css.worker","rule.universalSelector","The universal selector (*) is known to be slow"),Dd),ZeroWithUnit:new Td("zeroUnits",Rd("vs/language/css/css.worker","rule.zeroWidthUnit","No unit for zero needed"),Dd),RequiredPropertiesForFontFace:new Td("fontFaceProperties",Rd("vs/language/css/css.worker","rule.fontFaceProperties","@font-face rule must define 'src' and 'font-family' properties"),Nd),HexColorLength:new Td("hexColorLength",Rd("vs/language/css/css.worker","rule.hexColor","Hex colors must consist of three, four, six or eight hex numbers"),Fd),ArgsInColorFunction:new Td("argumentsInColorFunction",Rd("vs/language/css/css.worker","rule.colorFunction","Invalid number of parameters"),Fd),UnknownProperty:new Td("unknownProperties",Rd("vs/language/css/css.worker","rule.unknownProperty","Unknown property."),Nd),UnknownAtRules:new Td("unknownAtRules",Rd("vs/language/css/css.worker","rule.unknownAtRules","Unknown at-rule."),Nd),IEStarHack:new Td("ieHack",Rd("vs/language/css/css.worker","rule.ieHack","IE hacks are only necessary when supporting IE7 and older"),Dd),UnknownVendorSpecificProperty:new Td("unknownVendorSpecificProperties",Rd("vs/language/css/css.worker","rule.unknownVendorSpecificProperty","Unknown vendor specific property."),Dd),PropertyIgnoredDueToDisplay:new Td("propertyIgnoredDueToDisplay",Rd("vs/language/css/css.worker","rule.propertyIgnoredDueToDisplay","Property is ignored due to the display."),Nd),AvoidImportant:new Td("important",Rd("vs/language/css/css.worker","rule.avoidImportant","Avoid using !important. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored."),Dd),AvoidFloat:new Td("float",Rd("vs/language/css/css.worker","rule.avoidFloat","Avoid using 'float'. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes."),Dd),AvoidIdSelector:new Td("idSelector",Rd("vs/language/css/css.worker","rule.avoidIdSelector","Selectors should not contain IDs because these rules are too tightly coupled with the HTML."),Dd)},zd={ValidProperties:new Ad("validProperties",Rd("vs/language/css/css.worker","rule.validProperties","A list of properties that are not validated against the `unknownProperties` rule."),[])},Id=function(){function e(e){void 0===e&&(e={}),this.conf=e}return e.prototype.getRule=function(e){if(this.conf.hasOwnProperty(e.id)){var t=function(e){switch(e){case"ignore":return oo.Ignore;case"warning":return oo.Warning;case"error":return oo.Error}return null}(this.conf[e.id]);if(t)return t}return e.defaultValue},e.prototype.getSetting=function(e){return this.conf[e.id]},e}(),Ld=Ea(),Pd=function(){function e(e){this.cssDataManager=e}return e.prototype.doCodeActions=function(e,t,n,r){return this.doCodeActions2(e,t,n,r).map((function(t){var n=t.edit&&t.edit.documentChanges&&t.edit.documentChanges[0];return il.create(t.title,"_css.applyCodeAction",e.uri,e.version,n&&n.edits)}))},e.prototype.doCodeActions2=function(e,t,n,r){var i=[];if(n.diagnostics)for(var s=0,o=n.diagnostics;sn)return 0;var i,s,o=[],a=[];for(i=0;i=i.length/2&&s.push({property:e.name,score:t})})),s.sort((function(e,t){return t.score-e.score||e.property.localeCompare(t.property)}));for(var o=3,a=0,l=s;a=0;a--){var l=o[a];if(l instanceof xo){var c=l.getProperty();if(c&&c.offset===i&&c.end===s)return void this.getFixesForUnknownProperty(e,c,n,r)}}},e}(),Od=function(){return function(e){this.fullPropertyName=e.getFullPropertyName().toLowerCase(),this.node=e}}();function Wd(e,t,n,r){var i=e[t];i.value=n,n&&(_h(i.properties,r)||i.properties.push(r))}function Vd(e,t,n,r){"top"===t||"right"===t||"bottom"===t||"left"===t?Wd(e,t,n,r):function(e,t,n){Wd(e,"top",t,n),Wd(e,"right",t,n),Wd(e,"bottom",t,n),Wd(e,"left",t,n)}(e,n,r)}function Ud(e,t,n){switch(t.length){case 1:Vd(e,void 0,t[0],n);break;case 2:Vd(e,"top",t[0],n),Vd(e,"bottom",t[0],n),Vd(e,"right",t[1],n),Vd(e,"left",t[1],n);break;case 3:Vd(e,"top",t[0],n),Vd(e,"right",t[1],n),Vd(e,"left",t[1],n),Vd(e,"bottom",t[2],n);break;case 4:Vd(e,"top",t[0],n),Vd(e,"right",t[1],n),Vd(e,"bottom",t[2],n),Vd(e,"left",t[3],n)}}function qd(e,t){for(var n=0,r=t;n0)for(var m=this.fetch(r,"float"),f=0;f0)for(m=this.fetch(r,"vertical-align"),f=0;f1)for(var S=0;S")||this.peekDelim("<")||this.peekIdent("and")||this.peekIdent("or")||this.peekDelim("%")){var t=this.createNode(Zs.Operator);return this.consumeToken(),this.finish(t)}return e.prototype._parseOperator.call(this)},t.prototype._parseUnaryOperator=function(){if(this.peekIdent("not")){var t=this.create(lo);return this.consumeToken(),this.finish(t)}return e.prototype._parseUnaryOperator.call(this)},t.prototype._parseRuleSetDeclaration=function(){return this.peek(es.AtKeyword)?this._parseKeyframe()||this._parseImport()||this._parseMedia(!0)||this._parseFontFace()||this._parseWarnAndDebug()||this._parseControlStatement()||this._parseFunctionDeclaration()||this._parseExtends()||this._parseMixinReference()||this._parseMixinContent()||this._parseMixinDeclaration()||this._parseRuleset(!0)||this._parseSupports(!0)||e.prototype._parseRuleSetDeclarationAtStatement.call(this):this._parseVariableDeclaration()||this._tryParseRuleset(!0)||e.prototype._parseRuleSetDeclaration.call(this)},t.prototype._parseDeclaration=function(e){var t=this._tryParseCustomPropertyDeclaration(e);if(t)return t;var n=this.create(xo);if(!n.setProperty(this._parseProperty()))return null;if(!this.accept(es.Colon))return this.finish(n,kl.ColonExpected,[es.Colon],e||[es.SemiColon]);this.prevToken&&(n.colonPosition=this.prevToken.offset);var r=!1;if(n.setValue(this._parseExpr())&&(r=!0,n.addChild(this._parsePrio())),this.peek(es.CurlyL))n.setNestedProperties(this._parseNestedProperties());else if(!r)return this.finish(n,kl.PropertyValueExpected);return this.peek(es.SemiColon)&&(n.semicolonPosition=this.token.offset),this.finish(n)},t.prototype._parseNestedProperties=function(){var e=this.create(Io);return this._parseBody(e,this._parseDeclaration.bind(this))},t.prototype._parseExtends=function(){if(this.peekKeyword("@extend")){var e=this.create(ua);if(this.consumeToken(),!e.getSelectors().addChild(this._parseSimpleSelector()))return this.finish(e,kl.SelectorExpected);for(;this.accept(es.Comma);)e.getSelectors().addChild(this._parseSimpleSelector());return this.accept(es.Exclamation)&&!this.acceptIdent("optional")?this.finish(e,kl.UnknownKeyword):this.finish(e)}return null},t.prototype._parseSimpleSelectorBody=function(){return this._parseSelectorCombinator()||this._parseSelectorPlaceholder()||e.prototype._parseSimpleSelectorBody.call(this)},t.prototype._parseSelectorCombinator=function(){if(this.peekDelim("&")){var e=this.createNode(Zs.SelectorCombinator);for(this.consumeToken();!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(es.Num)||this.accept(es.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim("&")););return this.finish(e)}return null},t.prototype._parseSelectorPlaceholder=function(){if(this.peekDelim("%")){var e=this.createNode(Zs.SelectorPlaceholder);return this.consumeToken(),this._parseIdent(),this.finish(e)}return this.peekKeyword("@at-root")?(e=this.createNode(Zs.SelectorPlaceholder),this.consumeToken(),this.finish(e)):null},t.prototype._parseElementName=function(){var t=this.mark(),n=e.prototype._parseElementName.call(this);return n&&!this.hasWhitespace()&&this.peek(es.ParenthesisL)?(this.restoreAtMark(t),null):n},t.prototype._tryParsePseudoIdentifier=function(){return this._parseInterpolation()||e.prototype._tryParsePseudoIdentifier.call(this)},t.prototype._parseWarnAndDebug=function(){if(!this.peekKeyword("@debug")&&!this.peekKeyword("@warn")&&!this.peekKeyword("@error"))return null;var e=this.createNode(Zs.Debug);return this.consumeToken(),e.addChild(this._parseExpr()),this.finish(e)},t.prototype._parseControlStatement=function(e){return void 0===e&&(e=this._parseRuleSetDeclaration.bind(this)),this.peek(es.AtKeyword)?this._parseIfStatement(e)||this._parseForStatement(e)||this._parseEachStatement(e)||this._parseWhileStatement(e):null},t.prototype._parseIfStatement=function(e){return this.peekKeyword("@if")?this._internalParseIfStatement(e):null},t.prototype._internalParseIfStatement=function(e){var t=this.create(Ro);if(this.consumeToken(),!t.setExpression(this._parseExpr(!0)))return this.finish(t,kl.ExpressionExpected);if(this._parseBody(t,e),this.acceptKeyword("@else"))if(this.peekIdent("if"))t.setElseClause(this._internalParseIfStatement(e));else if(this.peek(es.CurlyL)){var n=this.create(To);this._parseBody(n,e),t.setElseClause(n)}return this.finish(t)},t.prototype._parseForStatement=function(e){if(!this.peekKeyword("@for"))return null;var t=this.create(No);return this.consumeToken(),t.setVariable(this._parseVariable())?this.acceptIdent("from")?t.addChild(this._parseBinaryExpr())?this.acceptIdent("to")||this.acceptIdent("through")?t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,kl.ExpressionExpected,[es.CurlyR]):this.finish(t,Sp.ThroughOrToExpected,[es.CurlyR]):this.finish(t,kl.ExpressionExpected,[es.CurlyR]):this.finish(t,Sp.FromExpected,[es.CurlyR]):this.finish(t,kl.VariableNameExpected,[es.CurlyR])},t.prototype._parseEachStatement=function(e){if(!this.peekKeyword("@each"))return null;var t=this.create(Fo);this.consumeToken();var n=t.getVariables();if(!n.addChild(this._parseVariable()))return this.finish(t,kl.VariableNameExpected,[es.CurlyR]);for(;this.accept(es.Comma);)if(!n.addChild(this._parseVariable()))return this.finish(t,kl.VariableNameExpected,[es.CurlyR]);return this.finish(n),this.acceptIdent("in")?t.addChild(this._parseExpr())?this._parseBody(t,e):this.finish(t,kl.ExpressionExpected,[es.CurlyR]):this.finish(t,Sp.InExpected,[es.CurlyR])},t.prototype._parseWhileStatement=function(e){if(!this.peekKeyword("@while"))return null;var t=this.create(Do);return this.consumeToken(),t.addChild(this._parseBinaryExpr())?this._parseBody(t,e):this.finish(t,kl.ExpressionExpected,[es.CurlyR])},t.prototype._parseFunctionBodyDeclaration=function(){return this._parseVariableDeclaration()||this._parseReturnStatement()||this._parseWarnAndDebug()||this._parseControlStatement(this._parseFunctionBodyDeclaration.bind(this))},t.prototype._parseFunctionDeclaration=function(){if(!this.peekKeyword("@function"))return null;var e=this.create(Ao);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([to.Function])))return this.finish(e,kl.IdentifierExpected,[es.CurlyR]);if(!this.accept(es.ParenthesisL))return this.finish(e,kl.LeftParenthesisExpected,[es.CurlyR]);if(e.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(es.Comma)&&!this.peek(es.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,kl.VariableNameExpected);return this.accept(es.ParenthesisR)?this._parseBody(e,this._parseFunctionBodyDeclaration.bind(this)):this.finish(e,kl.RightParenthesisExpected,[es.CurlyR])},t.prototype._parseReturnStatement=function(){if(!this.peekKeyword("@return"))return null;var e=this.createNode(Zs.ReturnStatement);return this.consumeToken(),e.addChild(this._parseExpr())?this.finish(e):this.finish(e,kl.ExpressionExpected)},t.prototype._parseMixinDeclaration=function(){if(!this.peekKeyword("@mixin"))return null;var e=this.create(ba);if(this.consumeToken(),!e.setIdentifier(this._parseIdent([to.Mixin])))return this.finish(e,kl.IdentifierExpected,[es.CurlyR]);if(this.accept(es.ParenthesisL)){if(e.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(es.Comma)&&!this.peek(es.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,kl.VariableNameExpected);if(!this.accept(es.ParenthesisR))return this.finish(e,kl.RightParenthesisExpected,[es.CurlyR])}return this._parseBody(e,this._parseRuleSetDeclaration.bind(this))},t.prototype._parseParameterDeclaration=function(){var e=this.create(_o);return e.setIdentifier(this._parseVariable())?(this.accept(vp),this.accept(es.Colon)&&!e.setDefaultValue(this._parseExpr(!0))?this.finish(e,kl.VariableValueExpected,[],[es.Comma,es.ParenthesisR]):this.finish(e)):null},t.prototype._parseMixinContent=function(){if(!this.peekKeyword("@content"))return null;var e=this.create(ma);if(this.consumeToken(),this.accept(es.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(es.Comma)&&!this.peek(es.ParenthesisR);)if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,kl.ExpressionExpected);if(!this.accept(es.ParenthesisR))return this.finish(e,kl.RightParenthesisExpected)}return this.finish(e)},t.prototype._parseMixinReference=function(){if(!this.peekKeyword("@include"))return null;var e=this.create(ga);this.consumeToken();var t=this._parseIdent([to.Mixin]);if(!e.setIdentifier(t))return this.finish(e,kl.IdentifierExpected,[es.CurlyR]);if(!this.hasWhitespace()&&this.acceptDelim(".")&&!this.hasWhitespace()){var n=this._parseIdent([to.Mixin]);if(!n)return this.finish(e,kl.IdentifierExpected,[es.CurlyR]);var r=this.create(Sa);t.referenceTypes=[to.Module],r.setIdentifier(t),e.setIdentifier(n),e.addChild(r)}if(this.accept(es.ParenthesisL)){if(e.getArguments().addChild(this._parseFunctionArgument()))for(;this.accept(es.Comma)&&!this.peek(es.ParenthesisR);)if(!e.getArguments().addChild(this._parseFunctionArgument()))return this.finish(e,kl.ExpressionExpected);if(!this.accept(es.ParenthesisR))return this.finish(e,kl.RightParenthesisExpected)}return(this.peekIdent("using")||this.peek(es.CurlyL))&&e.setContent(this._parseMixinContentDeclaration()),this.finish(e)},t.prototype._parseMixinContentDeclaration=function(){var e=this.create(fa);if(this.acceptIdent("using")){if(!this.accept(es.ParenthesisL))return this.finish(e,kl.LeftParenthesisExpected,[es.CurlyL]);if(e.getParameters().addChild(this._parseParameterDeclaration()))for(;this.accept(es.Comma)&&!this.peek(es.ParenthesisR);)if(!e.getParameters().addChild(this._parseParameterDeclaration()))return this.finish(e,kl.VariableNameExpected);if(!this.accept(es.ParenthesisR))return this.finish(e,kl.RightParenthesisExpected,[es.CurlyL])}return this.peek(es.CurlyL)&&this._parseBody(e,this._parseMixinReferenceBodyStatement.bind(this)),this.finish(e)},t.prototype._parseMixinReferenceBodyStatement=function(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()},t.prototype._parseFunctionArgument=function(){var e=this.create(Eo),t=this.mark(),n=this._parseVariable();if(n)if(this.accept(es.Colon))e.setIdentifier(n);else{if(this.accept(vp))return e.setValue(n),this.finish(e);this.restoreAtMark(t)}return e.setValue(this._parseExpr(!0))?(this.accept(vp),e.addChild(this._parsePrio()),this.finish(e)):e.setValue(this._tryParsePrio())?this.finish(e):null},t.prototype._parseURLArgument=function(){var t=this.mark(),n=e.prototype._parseURLArgument.call(this);if(!n||!this.peek(es.ParenthesisR)){this.restoreAtMark(t);var r=this.create(lo);return r.addChild(this._parseBinaryExpr()),this.finish(r)}return n},t.prototype._parseOperation=function(){if(!this.peek(es.ParenthesisL))return null;var e=this.create(lo);for(this.consumeToken();e.addChild(this._parseListElement());)this.accept(es.Comma);return this.accept(es.ParenthesisR)?this.finish(e):this.finish(e,kl.RightParenthesisExpected)},t.prototype._parseListElement=function(){var e=this.create(ya),t=this._parseBinaryExpr();if(!t)return null;if(this.accept(es.Colon)){if(e.setKey(t),!e.setValue(this._parseBinaryExpr()))return this.finish(e,kl.ExpressionExpected)}else e.setValue(t);return this.finish(e)},t.prototype._parseUse=function(){if(!this.peekKeyword("@use"))return null;var e=this.create(Wo);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,kl.StringLiteralExpected);if(!this.peek(es.SemiColon)&&!this.peek(es.EOF)){if(!this.peekRegExp(es.Ident,/as|with/))return this.finish(e,kl.UnknownKeyword);if(this.acceptIdent("as")&&!e.setIdentifier(this._parseIdent([to.Module]))&&!this.acceptDelim("*"))return this.finish(e,kl.IdentifierOrWildcardExpected);if(this.acceptIdent("with")){if(!this.accept(es.ParenthesisL))return this.finish(e,kl.LeftParenthesisExpected,[es.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,kl.VariableNameExpected);for(;this.accept(es.Comma)&&!this.peek(es.ParenthesisR);)if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,kl.VariableNameExpected);if(!this.accept(es.ParenthesisR))return this.finish(e,kl.RightParenthesisExpected)}}return this.accept(es.SemiColon)||this.accept(es.EOF)?this.finish(e):this.finish(e,kl.SemiColonExpected)},t.prototype._parseModuleConfigDeclaration=function(){var e=this.create(Vo);return e.setIdentifier(this._parseVariable())?this.accept(es.Colon)&&e.setValue(this._parseExpr(!0))?!this.accept(es.Exclamation)||!this.hasWhitespace()&&this.acceptIdent("default")?this.finish(e):this.finish(e,kl.UnknownKeyword):this.finish(e,kl.VariableValueExpected,[],[es.Comma,es.ParenthesisR]):null},t.prototype._parseForward=function(){if(!this.peekKeyword("@forward"))return null;var e=this.create(Uo);if(this.consumeToken(),!e.addChild(this._parseStringLiteral()))return this.finish(e,kl.StringLiteralExpected);if(this.acceptIdent("with")){if(!this.accept(es.ParenthesisL))return this.finish(e,kl.LeftParenthesisExpected,[es.ParenthesisR]);if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,kl.VariableNameExpected);for(;this.accept(es.Comma)&&!this.peek(es.ParenthesisR);)if(!e.getParameters().addChild(this._parseModuleConfigDeclaration()))return this.finish(e,kl.VariableNameExpected);if(!this.accept(es.ParenthesisR))return this.finish(e,kl.RightParenthesisExpected)}if(!this.peek(es.SemiColon)&&!this.peek(es.EOF)){if(!this.peekRegExp(es.Ident,/as|hide|show/))return this.finish(e,kl.UnknownKeyword);if(this.acceptIdent("as")){var t=this._parseIdent([to.Forward]);if(!e.setIdentifier(t))return this.finish(e,kl.IdentifierExpected);if(this.hasWhitespace()||!this.acceptDelim("*"))return this.finish(e,kl.WildcardExpected)}if((this.peekIdent("hide")||this.peekIdent("show"))&&!e.addChild(this._parseForwardVisibility()))return this.finish(e,kl.IdentifierOrVariableExpected)}return this.accept(es.SemiColon)||this.accept(es.EOF)?this.finish(e):this.finish(e,kl.SemiColonExpected)},t.prototype._parseForwardVisibility=function(){var e=this.create(qo);for(e.setIdentifier(this._parseIdent());e.addChild(this._parseVariable()||this._parseIdent());)this.accept(es.Comma);return e.getChildren().length>1?e:null},t.prototype._parseSupportsCondition=function(){return this._parseInterpolation()||e.prototype._parseSupportsCondition.call(this)},t}(kh),_p=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ep=Ea(),Rp=function(e){function t(n,r){var i=e.call(this,"$",n,r)||this;return Np(t.scssModuleLoaders),Np(t.scssModuleBuiltIns),i}return _p(t,e),t.prototype.isImportPathParent=function(t){return t===Zs.Forward||t===Zs.Use||e.prototype.isImportPathParent.call(this,t)},t.prototype.getCompletionForImportPath=function(n,r){var i=n.getParent().type;if(i===Zs.Forward||i===Zs.Use)for(var s=0,o=t.scssModuleBuiltIns;s0){var t="string"==typeof e.documentation?{kind:"markdown",value:e.documentation}:{kind:"markdown",value:e.documentation.value};t.value+="\n\n",t.value+=e.references.map((function(e){return"[".concat(e.name,"](").concat(e.url,")")})).join(" | "),e.documentation=t}}))}var Fp,Dp,Tp=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Ap="/".charCodeAt(0),Mp="\n".charCodeAt(0),zp="\r".charCodeAt(0),Ip="\f".charCodeAt(0),Lp="`".charCodeAt(0),Pp=".".charCodeAt(0),Op=es.CustomToken,Wp=Op++,Vp=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Tp(t,e),t.prototype.scanNext=function(t){var n=this.escapedJavaScript();return null!==n?this.finishToken(t,n):this.stream.advanceIfChars([Pp,Pp,Pp])?this.finishToken(t,Wp):e.prototype.scanNext.call(this,t)},t.prototype.comment=function(){return!!e.prototype.comment.call(this)||!(this.inURL||!this.stream.advanceIfChars([Ap,Ap]))&&(this.stream.advanceWhileChar((function(e){switch(e){case Mp:case zp:case Ip:return!1;default:return!0}})),!0)},t.prototype.escapedJavaScript=function(){return this.stream.peekChar()===Lp?(this.stream.advance(1),this.stream.advanceWhileChar((function(e){return e!==Lp})),this.stream.advanceIfChar(Lp)?es.EscapedJavaScript:es.BadEscapedJavaScript):null},t}(Gs),Up=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),qp=function(e){function t(){return e.call(this,new Vp)||this}return Up(t,e),t.prototype._parseStylesheetStatement=function(t){return void 0===t&&(t=!1),this.peek(es.AtKeyword)?this._parseVariableDeclaration()||this._parsePlugin()||e.prototype._parseStylesheetAtStatement.call(this,t):this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseFunction()||this._parseRuleset(!0)},t.prototype._parseImport=function(){if(!this.peekKeyword("@import")&&!this.peekKeyword("@import-once"))return null;var e=this.create(Oo);if(this.consumeToken(),this.accept(es.ParenthesisL)){if(!this.accept(es.Ident))return this.finish(e,kl.IdentifierExpected,[es.SemiColon]);do{if(!this.accept(es.Comma))break}while(this.accept(es.Ident));if(!this.accept(es.ParenthesisR))return this.finish(e,kl.RightParenthesisExpected,[es.SemiColon])}return e.addChild(this._parseURILiteral())||e.addChild(this._parseStringLiteral())?(this.peek(es.SemiColon)||this.peek(es.EOF)||e.setMedialist(this._parseMediaQueryList()),this.finish(e)):this.finish(e,kl.URIOrStringExpected,[es.SemiColon])},t.prototype._parsePlugin=function(){if(!this.peekKeyword("@plugin"))return null;var e=this.createNode(Zs.Plugin);return this.consumeToken(),e.addChild(this._parseStringLiteral())?this.accept(es.SemiColon)?this.finish(e):this.finish(e,kl.SemiColonExpected):this.finish(e,kl.StringLiteralExpected)},t.prototype._parseMediaQuery=function(){var t=e.prototype._parseMediaQuery.call(this);if(!t){var n=this.create(Go);return n.addChild(this._parseVariable())?this.finish(n):null}return t},t.prototype._parseMediaDeclaration=function(e){return void 0===e&&(e=!1),this._tryParseRuleset(e)||this._tryToParseDeclaration()||this._tryParseMixinDeclaration()||this._tryParseMixinReference()||this._parseDetachedRuleSetMixin()||this._parseStylesheetStatement(e)},t.prototype._parseMediaFeatureName=function(){return this._parseIdent()||this._parseVariable()},t.prototype._parseVariableDeclaration=function(e){void 0===e&&(e=[]);var t=this.create(ha),n=this.mark();if(!t.setVariable(this._parseVariable(!0)))return null;if(!this.accept(es.Colon))return this.restoreAtMark(n),null;if(this.prevToken&&(t.colonPosition=this.prevToken.offset),t.setValue(this._parseDetachedRuleSet()))t.needsSemicolon=!1;else if(!t.setValue(this._parseExpr()))return this.finish(t,kl.VariableValueExpected,[],e);return t.addChild(this._parsePrio()),this.peek(es.SemiColon)&&(t.semicolonPosition=this.token.offset),this.finish(t)},t.prototype._parseDetachedRuleSet=function(){var e=this.mark();if(this.peekDelim("#")||this.peekDelim(".")){if(this.consumeToken(),this.hasWhitespace()||!this.accept(es.ParenthesisL))return this.restoreAtMark(e),null;var t=this.create(ba);if(t.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(es.Comma)||this.accept(es.SemiColon))&&!this.peek(es.ParenthesisR);)t.getParameters().addChild(this._parseMixinParameter())||this.markError(t,kl.IdentifierExpected,[],[es.ParenthesisR]);if(!this.accept(es.ParenthesisR))return this.restoreAtMark(e),null}if(!this.peek(es.CurlyL))return null;var n=this.create(fo);return this._parseBody(n,this._parseDetachedRuleSetBody.bind(this)),this.finish(n)},t.prototype._parseDetachedRuleSetBody=function(){return this._tryParseKeyframeSelector()||this._parseRuleSetDeclaration()},t.prototype._addLookupChildren=function(e){if(!e.addChild(this._parseLookupValue()))return!1;for(var t=!1;this.peek(es.BracketL)&&(t=!0),e.addChild(this._parseLookupValue());)t=!1;return!t},t.prototype._parseLookupValue=function(){var e=this.create(lo),t=this.mark();return this.accept(es.BracketL)&&((e.addChild(this._parseVariable(!1,!0))||e.addChild(this._parsePropertyIdentifier()))&&this.accept(es.BracketR)||this.accept(es.BracketR))?e:(this.restoreAtMark(t),null)},t.prototype._parseVariable=function(e,t){void 0===e&&(e=!1),void 0===t&&(t=!1);var n=!e&&this.peekDelim("$");if(!this.peekDelim("@")&&!n&&!this.peek(es.AtKeyword))return null;for(var r=this.create(pa),i=this.mark();this.acceptDelim("@")||!e&&this.acceptDelim("$");)if(this.hasWhitespace())return this.restoreAtMark(i),null;return!this.accept(es.AtKeyword)&&!this.accept(es.Ident)||!t&&this.peek(es.BracketL)&&!this._addLookupChildren(r)?(this.restoreAtMark(i),null):r},t.prototype._parseTermExpression=function(){return this._parseVariable()||this._parseEscaped()||e.prototype._parseTermExpression.call(this)||this._tryParseMixinReference(!1)},t.prototype._parseEscaped=function(){if(this.peek(es.EscapedJavaScript)||this.peek(es.BadEscapedJavaScript)){var e=this.createNode(Zs.EscapedValue);return this.consumeToken(),this.finish(e)}return this.peekDelim("~")?(e=this.createNode(Zs.EscapedValue),this.consumeToken(),this.accept(es.String)||this.accept(es.EscapedJavaScript)?this.finish(e):this.finish(e,kl.TermExpected)):null},t.prototype._parseOperator=function(){return this._parseGuardOperator()||e.prototype._parseOperator.call(this)},t.prototype._parseGuardOperator=function(){if(this.peekDelim(">")){var e=this.createNode(Zs.Operator);return this.consumeToken(),this.acceptDelim("="),e}return this.peekDelim("=")?(e=this.createNode(Zs.Operator),this.consumeToken(),this.acceptDelim("<"),e):this.peekDelim("<")?(e=this.createNode(Zs.Operator),this.consumeToken(),this.acceptDelim("="),e):null},t.prototype._parseRuleSetDeclaration=function(){return this.peek(es.AtKeyword)?this._parseKeyframe()||this._parseMedia(!0)||this._parseImport()||this._parseSupports(!0)||this._parseDetachedRuleSetMixin()||this._parseVariableDeclaration()||e.prototype._parseRuleSetDeclarationAtStatement.call(this):this._tryParseMixinDeclaration()||this._tryParseRuleset(!0)||this._tryParseMixinReference()||this._parseFunction()||this._parseExtend()||e.prototype._parseRuleSetDeclaration.call(this)},t.prototype._parseKeyframeIdent=function(){return this._parseIdent([to.Keyframe])||this._parseVariable()},t.prototype._parseKeyframeSelector=function(){return this._parseDetachedRuleSetMixin()||e.prototype._parseKeyframeSelector.call(this)},t.prototype._parseSimpleSelectorBody=function(){return this._parseSelectorCombinator()||e.prototype._parseSimpleSelectorBody.call(this)},t.prototype._parseSelector=function(e){var t=this.create(bo),n=!1;for(e&&(n=t.addChild(this._parseCombinator()));t.addChild(this._parseSimpleSelector());){n=!0;var r=this.mark();if(t.addChild(this._parseGuard())&&this.peek(es.CurlyL))break;this.restoreAtMark(r),t.addChild(this._parseCombinator())}return n?this.finish(t):null},t.prototype._parseSelectorCombinator=function(){if(this.peekDelim("&")){var e=this.createNode(Zs.SelectorCombinator);for(this.consumeToken();!this.hasWhitespace()&&(this.acceptDelim("-")||this.accept(es.Num)||this.accept(es.Dimension)||e.addChild(this._parseIdent())||this.acceptDelim("&")););return this.finish(e)}return null},t.prototype._parseSelectorIdent=function(){if(!this.peekInterpolatedIdent())return null;var e=this.createNode(Zs.SelectorInterpolation);return this._acceptInterpolatedIdent(e)?this.finish(e):null},t.prototype._parsePropertyIdentifier=function(e){void 0===e&&(e=!1);var t=/^[\w-]+/;if(!this.peekInterpolatedIdent()&&!this.peekRegExp(this.token.type,t))return null;var n=this.mark(),r=this.create(po);return r.isCustomProperty=this.acceptDelim("-")&&this.acceptDelim("-"),(e?r.isCustomProperty?r.addChild(this._parseIdent()):r.addChild(this._parseRegexp(t)):r.isCustomProperty?this._acceptInterpolatedIdent(r):this._acceptInterpolatedIdent(r,t))?(e||this.hasWhitespace()||(this.acceptDelim("+"),this.hasWhitespace()||this.acceptIdent("_")),this.finish(r)):(this.restoreAtMark(n),null)},t.prototype.peekInterpolatedIdent=function(){return this.peek(es.Ident)||this.peekDelim("@")||this.peekDelim("$")||this.peekDelim("-")},t.prototype._acceptInterpolatedIdent=function(e,t){for(var n=this,r=!1,i=function(){var e=n.mark();return n.acceptDelim("-")&&(n.hasWhitespace()||n.acceptDelim("-"),n.hasWhitespace())?(n.restoreAtMark(e),null):n._parseInterpolation()},s=t?function(){return n.acceptRegexp(t)}:function(){return n.accept(es.Ident)};(s()||e.addChild(this._parseInterpolation()||this.try(i)))&&(r=!0,!this.hasWhitespace()););return r},t.prototype._parseInterpolation=function(){var e=this.mark();if(this.peekDelim("@")||this.peekDelim("$")){var t=this.createNode(Zs.Interpolation);return this.consumeToken(),this.hasWhitespace()||!this.accept(es.CurlyL)?(this.restoreAtMark(e),null):t.addChild(this._parseIdent())?this.accept(es.CurlyR)?this.finish(t):this.finish(t,kl.RightCurlyExpected):this.finish(t,kl.IdentifierExpected)}return null},t.prototype._tryParseMixinDeclaration=function(){var e=this.mark(),t=this.create(ba);if(!t.setIdentifier(this._parseMixinDeclarationIdentifier())||!this.accept(es.ParenthesisL))return this.restoreAtMark(e),null;if(t.getParameters().addChild(this._parseMixinParameter()))for(;(this.accept(es.Comma)||this.accept(es.SemiColon))&&!this.peek(es.ParenthesisR);)t.getParameters().addChild(this._parseMixinParameter())||this.markError(t,kl.IdentifierExpected,[],[es.ParenthesisR]);return this.accept(es.ParenthesisR)?(t.setGuard(this._parseGuard()),this.peek(es.CurlyL)?this._parseBody(t,this._parseMixInBodyDeclaration.bind(this)):(this.restoreAtMark(e),null)):(this.restoreAtMark(e),null)},t.prototype._parseMixInBodyDeclaration=function(){return this._parseFontFace()||this._parseRuleSetDeclaration()},t.prototype._parseMixinDeclarationIdentifier=function(){var e;if(this.peekDelim("#")||this.peekDelim(".")){if(e=this.create(po),this.consumeToken(),this.hasWhitespace()||!e.addChild(this._parseIdent()))return null}else{if(!this.peek(es.Hash))return null;e=this.create(po),this.consumeToken()}return e.referenceTypes=[to.Mixin],this.finish(e)},t.prototype._parsePseudo=function(){if(!this.peek(es.Colon))return null;var t=this.mark(),n=this.create(ua);return this.consumeToken(),this.acceptIdent("extend")?this._completeExtends(n):(this.restoreAtMark(t),e.prototype._parsePseudo.call(this))},t.prototype._parseExtend=function(){if(!this.peekDelim("&"))return null;var e=this.mark(),t=this.create(ua);return this.consumeToken(),!this.hasWhitespace()&&this.accept(es.Colon)&&this.acceptIdent("extend")?this._completeExtends(t):(this.restoreAtMark(e),null)},t.prototype._completeExtends=function(e){if(!this.accept(es.ParenthesisL))return this.finish(e,kl.LeftParenthesisExpected);var t=e.getSelectors();if(!t.addChild(this._parseSelector(!0)))return this.finish(e,kl.SelectorExpected);for(;this.accept(es.Comma);)if(!t.addChild(this._parseSelector(!0)))return this.finish(e,kl.SelectorExpected);return this.accept(es.ParenthesisR)?this.finish(e):this.finish(e,kl.RightParenthesisExpected)},t.prototype._parseDetachedRuleSetMixin=function(){if(!this.peek(es.AtKeyword))return null;var e=this.mark(),t=this.create(ga);return!t.addChild(this._parseVariable(!0))||!this.hasWhitespace()&&this.accept(es.ParenthesisL)?this.accept(es.ParenthesisR)?this.finish(t):this.finish(t,kl.RightParenthesisExpected):(this.restoreAtMark(e),null)},t.prototype._tryParseMixinReference=function(e){void 0===e&&(e=!0);for(var t=this.mark(),n=this.create(ga),r=this._parseMixinDeclarationIdentifier();r;){this.acceptDelim(">");var i=this._parseMixinDeclarationIdentifier();if(!i)break;n.getNamespaces().addChild(r),r=i}if(!n.setIdentifier(r))return this.restoreAtMark(t),null;var s=!1;if(this.accept(es.ParenthesisL)){if(s=!0,n.getArguments().addChild(this._parseMixinArgument()))for(;(this.accept(es.Comma)||this.accept(es.SemiColon))&&!this.peek(es.ParenthesisR);)if(!n.getArguments().addChild(this._parseMixinArgument()))return this.finish(n,kl.ExpressionExpected);if(!this.accept(es.ParenthesisR))return this.finish(n,kl.RightParenthesisExpected);r.referenceTypes=[to.Mixin]}else r.referenceTypes=[to.Mixin,to.Rule];return this.peek(es.BracketL)?e||this._addLookupChildren(n):n.addChild(this._parsePrio()),s||this.peek(es.SemiColon)||this.peek(es.CurlyR)||this.peek(es.EOF)?this.finish(n):(this.restoreAtMark(t),null)},t.prototype._parseMixinArgument=function(){var e=this.create(Eo),t=this.mark(),n=this._parseVariable();return n&&(this.accept(es.Colon)?e.setIdentifier(n):this.restoreAtMark(t)),e.setValue(this._parseDetachedRuleSet()||this._parseExpr(!0))?this.finish(e):(this.restoreAtMark(t),null)},t.prototype._parseMixinParameter=function(){var e=this.create(_o);if(this.peekKeyword("@rest")){var t=this.create(lo);return this.consumeToken(),this.accept(Wp)?(e.setIdentifier(this.finish(t)),this.finish(e)):this.finish(e,kl.DotExpected,[],[es.Comma,es.ParenthesisR])}if(this.peek(Wp)){var n=this.create(lo);return this.consumeToken(),e.setIdentifier(this.finish(n)),this.finish(e)}var r=!1;return e.setIdentifier(this._parseVariable())&&(this.accept(es.Colon),r=!0),e.setDefaultValue(this._parseDetachedRuleSet()||this._parseExpr(!0))||r?this.finish(e):null},t.prototype._parseGuard=function(){if(!this.peekIdent("when"))return null;var e=this.create(wa);if(this.consumeToken(),e.isNegated=this.acceptIdent("not"),!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,kl.ConditionExpected);for(;this.acceptIdent("and")||this.accept(es.Comma);)if(!e.getConditions().addChild(this._parseGuardCondition()))return this.finish(e,kl.ConditionExpected);return this.finish(e)},t.prototype._parseGuardCondition=function(){if(!this.peek(es.ParenthesisL))return null;var e=this.create(xa);return this.consumeToken(),e.addChild(this._parseExpr()),this.accept(es.ParenthesisR)?this.finish(e):this.finish(e,kl.RightParenthesisExpected)},t.prototype._parseFunction=function(){var e=this.mark(),t=this.create(ko);if(!t.setIdentifier(this._parseFunctionIdentifier()))return null;if(this.hasWhitespace()||!this.accept(es.ParenthesisL))return this.restoreAtMark(e),null;if(t.getArguments().addChild(this._parseMixinArgument()))for(;(this.accept(es.Comma)||this.accept(es.SemiColon))&&!this.peek(es.ParenthesisR);)if(!t.getArguments().addChild(this._parseMixinArgument()))return this.finish(t,kl.ExpressionExpected);return this.accept(es.ParenthesisR)?this.finish(t):this.finish(t,kl.RightParenthesisExpected)},t.prototype._parseFunctionIdentifier=function(){if(this.peekDelim("%")){var t=this.create(po);return t.referenceTypes=[to.Function],this.consumeToken(),this.finish(t)}return e.prototype._parseFunctionIdentifier.call(this)},t.prototype._parseURLArgument=function(){var t=this.mark(),n=e.prototype._parseURLArgument.call(this);if(!n||!this.peek(es.ParenthesisR)){this.restoreAtMark(t);var r=this.create(lo);return r.addChild(this._parseBinaryExpr()),this.finish(r)}return n},t}(kh),Kp=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(t,n)};return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),Bp=Ea(),jp=function(e){function t(t,n){return e.call(this,"@",t,n)||this}return Kp(t,e),t.prototype.createFunctionProposals=function(e,t,n,r){for(var i=0,s=e;i 50%"),example:"percentage(@number);",type:"percentage"},{name:"round",description:Bp("vs/language/css/css.worker","less.builtin.round","rounds a number to a number of places"),example:"round(number, [places: 0]);"},{name:"sqrt",description:Bp("vs/language/css/css.worker","less.builtin.sqrt","calculates square root of a number"),example:"sqrt(number);"},{name:"sin",description:Bp("vs/language/css/css.worker","less.builtin.sin","sine function"),example:"sin(number);"},{name:"tan",description:Bp("vs/language/css/css.worker","less.builtin.tan","tangent function"),example:"tan(number);"},{name:"atan",description:Bp("vs/language/css/css.worker","less.builtin.atan","arctangent - inverse of tangent function"),example:"atan(number);"},{name:"pi",description:Bp("vs/language/css/css.worker","less.builtin.pi","returns pi"),example:"pi();"},{name:"pow",description:Bp("vs/language/css/css.worker","less.builtin.pow","first argument raised to the power of the second argument"),example:"pow(@base, @exponent);"},{name:"mod",description:Bp("vs/language/css/css.worker","less.builtin.mod","first argument modulus second argument"),example:"mod(number, number);"},{name:"min",description:Bp("vs/language/css/css.worker","less.builtin.min","returns the lowest of one or more values"),example:"min(@x, @y);"},{name:"max",description:Bp("vs/language/css/css.worker","less.builtin.max","returns the lowest of one or more values"),example:"max(@x, @y);"}],t.colorProposals=[{name:"argb",example:"argb(@color);",description:Bp("vs/language/css/css.worker","less.builtin.argb","creates a #AARRGGBB")},{name:"hsl",example:"hsl(@hue, @saturation, @lightness);",description:Bp("vs/language/css/css.worker","less.builtin.hsl","creates a color")},{name:"hsla",example:"hsla(@hue, @saturation, @lightness, @alpha);",description:Bp("vs/language/css/css.worker","less.builtin.hsla","creates a color")},{name:"hsv",example:"hsv(@hue, @saturation, @value);",description:Bp("vs/language/css/css.worker","less.builtin.hsv","creates a color")},{name:"hsva",example:"hsva(@hue, @saturation, @value, @alpha);",description:Bp("vs/language/css/css.worker","less.builtin.hsva","creates a color")},{name:"hue",example:"hue(@color);",description:Bp("vs/language/css/css.worker","less.builtin.hue","returns the `hue` channel of `@color` in the HSL space")},{name:"saturation",example:"saturation(@color);",description:Bp("vs/language/css/css.worker","less.builtin.saturation","returns the `saturation` channel of `@color` in the HSL space")},{name:"lightness",example:"lightness(@color);",description:Bp("vs/language/css/css.worker","less.builtin.lightness","returns the `lightness` channel of `@color` in the HSL space")},{name:"hsvhue",example:"hsvhue(@color);",description:Bp("vs/language/css/css.worker","less.builtin.hsvhue","returns the `hue` channel of `@color` in the HSV space")},{name:"hsvsaturation",example:"hsvsaturation(@color);",description:Bp("vs/language/css/css.worker","less.builtin.hsvsaturation","returns the `saturation` channel of `@color` in the HSV space")},{name:"hsvvalue",example:"hsvvalue(@color);",description:Bp("vs/language/css/css.worker","less.builtin.hsvvalue","returns the `value` channel of `@color` in the HSV space")},{name:"red",example:"red(@color);",description:Bp("vs/language/css/css.worker","less.builtin.red","returns the `red` channel of `@color`")},{name:"green",example:"green(@color);",description:Bp("vs/language/css/css.worker","less.builtin.green","returns the `green` channel of `@color`")},{name:"blue",example:"blue(@color);",description:Bp("vs/language/css/css.worker","less.builtin.blue","returns the `blue` channel of `@color`")},{name:"alpha",example:"alpha(@color);",description:Bp("vs/language/css/css.worker","less.builtin.alpha","returns the `alpha` channel of `@color`")},{name:"luma",example:"luma(@color);",description:Bp("vs/language/css/css.worker","less.builtin.luma","returns the `luma` value (perceptual brightness) of `@color`")},{name:"saturate",example:"saturate(@color, 10%);",description:Bp("vs/language/css/css.worker","less.builtin.saturate","return `@color` 10% points more saturated")},{name:"desaturate",example:"desaturate(@color, 10%);",description:Bp("vs/language/css/css.worker","less.builtin.desaturate","return `@color` 10% points less saturated")},{name:"lighten",example:"lighten(@color, 10%);",description:Bp("vs/language/css/css.worker","less.builtin.lighten","return `@color` 10% points lighter")},{name:"darken",example:"darken(@color, 10%);",description:Bp("vs/language/css/css.worker","less.builtin.darken","return `@color` 10% points darker")},{name:"fadein",example:"fadein(@color, 10%);",description:Bp("vs/language/css/css.worker","less.builtin.fadein","return `@color` 10% points less transparent")},{name:"fadeout",example:"fadeout(@color, 10%);",description:Bp("vs/language/css/css.worker","less.builtin.fadeout","return `@color` 10% points more transparent")},{name:"fade",example:"fade(@color, 50%);",description:Bp("vs/language/css/css.worker","less.builtin.fade","return `@color` with 50% transparency")},{name:"spin",example:"spin(@color, 10);",description:Bp("vs/language/css/css.worker","less.builtin.spin","return `@color` with a 10 degree larger in hue")},{name:"mix",example:"mix(@color1, @color2, [@weight: 50%]);",description:Bp("vs/language/css/css.worker","less.builtin.mix","return a mix of `@color1` and `@color2`")},{name:"greyscale",example:"greyscale(@color);",description:Bp("vs/language/css/css.worker","less.builtin.greyscale","returns a grey, 100% desaturated color")},{name:"contrast",example:"contrast(@color1, [@darkcolor: black], [@lightcolor: white], [@threshold: 43%]);",description:Bp("vs/language/css/css.worker","less.builtin.contrast","return `@darkcolor` if `@color1 is> 43% luma` otherwise return `@lightcolor`, see notes")},{name:"multiply",example:"multiply(@color1, @color2);"},{name:"screen",example:"screen(@color1, @color2);"},{name:"overlay",example:"overlay(@color1, @color2);"},{name:"softlight",example:"softlight(@color1, @color2);"},{name:"hardlight",example:"hardlight(@color1, @color2);"},{name:"difference",example:"difference(@color1, @color2);"},{name:"exclusion",example:"exclusion(@color1, @color2);"},{name:"average",example:"average(@color1, @color2);"},{name:"negation",example:"negation(@color1, @color2);"}],t}(Yh);function $p(e,t){var n=function(e){function t(t){return e.positionAt(t.offset).line}function n(t){return e.positionAt(t.offset+t.len).line}var r=[],i=[],s=function(){switch(e.languageId){case"scss":return new yp;case"less":return new Vp;default:return new Gs}}();s.ignoreComment=!1,s.setSource(e.getText());for(var o=s.scan(),a=null,l=function(){switch(o.type){case es.CurlyL:case up:i.push({line:t(o),type:"brace",isStart:!0});break;case es.CurlyR:if(0!==i.length){if(!(d=Hp(i,"brace")))break;var l=n(o);"brace"===d.type&&(a&&n(a)!==l&&l--,d.line!==l&&r.push({startLine:d.line,endLine:l,kind:void 0}))}break;case es.Comment:var c=function(e){return"#region"===e?{line:t(o),type:"comment",isStart:!0}:{line:n(o),type:"comment",isStart:!1}},h=function(t){var n=t.text.match(/^\s*\/\*\s*(#region|#endregion)\b\s*(.*?)\s*\*\//);if(n)return c(n[1]);if("scss"===e.languageId||"less"===e.languageId){var r=t.text.match(/^\s*\/\/\s*(#region|#endregion)\b\s*(.*?)\s*/);if(r)return c(r[1])}return null}(o);if(h)if(h.isStart)i.push(h);else{var d;if(!(d=Hp(i,"comment")))break;"comment"===d.type&&d.line!==h.line&&r.push({startLine:d.line,endLine:h.line,kind:"region"})}else{var p=function(e,r){var i=t(e),s=n(e);return i!==s?{startLine:i,endLine:s,kind:r}:null}(o,"comment");p&&r.push(p)}}a=o,o=s.scan()};o.type!==es.EOF;)l();return r}(e);return function(e,t){var n=t&&t.rangeLimit||Number.MAX_VALUE,r=e.sort((function(e,t){var n=e.startLine-t.startLine;return 0===n&&(n=e.endLine-t.endLine),n})),i=[],s=-1;return r.forEach((function(e){e.startLine=0;n--)if(e[n].type===t&&e[n].isStart)return e.splice(n,1)[0];return null}Fp=[,,function(e){function t(e){this.__parent=e,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}function n(e,t){this.__cache=[""],this.__indent_size=e.indent_size,this.__indent_string=e.indent_char,e.indent_with_tabs||(this.__indent_string=new Array(e.indent_size+1).join(e.indent_char)),t=t||"",e.indent_level>0&&(t=new Array(e.indent_level+1).join(this.__indent_string)),this.__base_string=t,this.__base_string_length=t.length}function r(e,r){this.__indent_cache=new n(e,r),this.raw=!1,this._end_with_newline=e.end_with_newline,this.indent_size=e.indent_size,this.wrap_line_length=e.wrap_line_length,this.indent_empty_lines=e.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new t(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}t.prototype.clone_empty=function(){var e=new t(this.__parent);return e.set_indent(this.__indent_count,this.__alignment_count),e},t.prototype.item=function(e){return e<0?this.__items[this.__items.length+e]:this.__items[e]},t.prototype.has_match=function(e){for(var t=this.__items.length-1;t>=0;t--)if(this.__items[t].match(e))return!0;return!1},t.prototype.set_indent=function(e,t){this.is_empty()&&(this.__indent_count=e||0,this.__alignment_count=t||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},t.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},t.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},t.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var e=this.__parent.current_line;return e.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),e.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),e.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count," "===e.__items[0]&&(e.__items.splice(0,1),e.__character_count-=1),!0}return!1},t.prototype.is_empty=function(){return 0===this.__items.length},t.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},t.prototype.push=function(e){this.__items.push(e);var t=e.lastIndexOf("\n");-1!==t?this.__character_count=e.length-t:this.__character_count+=e.length},t.prototype.pop=function(){var e=null;return this.is_empty()||(e=this.__items.pop(),this.__character_count-=e.length),e},t.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},t.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},t.prototype.trim=function(){for(;" "===this.last();)this.__items.pop(),this.__character_count-=1},t.prototype.toString=function(){var e="";return this.is_empty()?this.__parent.indent_empty_lines&&(e=this.__parent.get_indent_string(this.__indent_count)):(e=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),e+=this.__items.join("")),e},n.prototype.get_indent_size=function(e,t){var n=this.__base_string_length;return t=t||0,e<0&&(n=0),(n+=e*this.__indent_size)+t},n.prototype.get_indent_string=function(e,t){var n=this.__base_string;return t=t||0,e<0&&(e=0,n=""),t+=e*this.__indent_size,this.__ensure_cache(t),n+this.__cache[t]},n.prototype.__ensure_cache=function(e){for(;e>=this.__cache.length;)this.__add_column()},n.prototype.__add_column=function(){var e=this.__cache.length,t=0,n="";this.__indent_size&&e>=this.__indent_size&&(e-=(t=Math.floor(e/this.__indent_size))*this.__indent_size,n=new Array(t+1).join(this.__indent_string)),e&&(n+=new Array(e+1).join(" ")),this.__cache.push(n)},r.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},r.prototype.get_line_number=function(){return this.__lines.length},r.prototype.get_indent_string=function(e,t){return this.__indent_cache.get_indent_string(e,t)},r.prototype.get_indent_size=function(e,t){return this.__indent_cache.get_indent_size(e,t)},r.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},r.prototype.add_new_line=function(e){return!(this.is_empty()||!e&&this.just_added_newline()||(this.raw||this.__add_outputline(),0))},r.prototype.get_code=function(e){this.trim(!0);var t=this.current_line.pop();t&&("\n"===t[t.length-1]&&(t=t.replace(/\n+$/g,"")),this.current_line.push(t)),this._end_with_newline&&this.__add_outputline();var n=this.__lines.join("\n");return"\n"!==e&&(n=n.replace(/[\n]/g,e)),n},r.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},r.prototype.set_indent=function(e,t){return e=e||0,t=t||0,this.next_line.set_indent(e,t),this.__lines.length>1?(this.current_line.set_indent(e,t),!0):(this.current_line.set_indent(),!1)},r.prototype.add_raw_token=function(e){for(var t=0;t1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},r.prototype.just_added_newline=function(){return this.current_line.is_empty()},r.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},r.prototype.ensure_empty_line_above=function(e,n){for(var r=this.__lines.length-2;r>=0;){var i=this.__lines[r];if(i.is_empty())break;if(0!==i.item(0).indexOf(e)&&i.item(-1)!==n){this.__lines.splice(r+1,0,new t(this)),this.previous_line=this.__lines[this.__lines.length-2];break}r--}},e.exports.Output=r},,,,function(e){function t(e,t){this.raw_options=n(e,t),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs","\t"===this.indent_char),this.indent_with_tabs&&(this.indent_char="\t",1===this.indent_size&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","django","erb","handlebars","php","smarty"],["auto"])}function n(e,t){var n,i={};for(n in e=r(e))n!==t&&(i[n]=e[n]);if(t&&e[t])for(n in e[t])i[n]=e[t][n];return i}function r(e){var t,n={};for(t in e)n[t.replace(/-/g,"_")]=e[t];return n}t.prototype._get_array=function(e,t){var n=this.raw_options[e],r=t||[];return"object"==typeof n?null!==n&&"function"==typeof n.concat&&(r=n.concat()):"string"==typeof n&&(r=n.split(/[^a-zA-Z0-9_\/\-]+/)),r},t.prototype._get_boolean=function(e,t){var n=this.raw_options[e];return void 0===n?!!t:!!n},t.prototype._get_characters=function(e,t){var n=this.raw_options[e],r=t||"";return"string"==typeof n&&(r=n.replace(/\\r/,"\r").replace(/\\n/,"\n").replace(/\\t/,"\t")),r},t.prototype._get_number=function(e,t){var n=this.raw_options[e];t=parseInt(t,10),isNaN(t)&&(t=0);var r=parseInt(n,10);return isNaN(r)&&(r=t),r},t.prototype._get_selection=function(e,t,n){var r=this._get_selection_list(e,t,n);if(1!==r.length)throw new Error("Invalid Option Value: The option '"+e+"' can only be one of the following values:\n"+t+"\nYou passed in: '"+this.raw_options[e]+"'");return r[0]},t.prototype._get_selection_list=function(e,t,n){if(!t||0===t.length)throw new Error("Selection list cannot be empty.");if(n=n||[t[0]],!this._is_valid_selection(n,t))throw new Error("Invalid Default Value!");var r=this._get_array(e,n);if(!this._is_valid_selection(r,t))throw new Error("Invalid Option Value: The option '"+e+"' can contain only the following values:\n"+t+"\nYou passed in: '"+this.raw_options[e]+"'");return r},t.prototype._is_valid_selection=function(e,t){return e.length&&t.length&&!e.some((function(e){return-1===t.indexOf(e)}))},e.exports.Options=t,e.exports.normalizeOpts=r,e.exports.mergeOpts=n},,function(e){var t=RegExp.prototype.hasOwnProperty("sticky");function n(e){this.__input=e||"",this.__input_length=this.__input.length,this.__position=0}n.prototype.restart=function(){this.__position=0},n.prototype.back=function(){this.__position>0&&(this.__position-=1)},n.prototype.hasNext=function(){return this.__position=0&&e=0&&t=e.length&&this.__input.substring(t-e.length,t).toLowerCase()===e},e.exports.InputScanner=n},,,,,function(e){function t(e,t){e="string"==typeof e?e:e.source,t="string"==typeof t?t:t.source,this.__directives_block_pattern=new RegExp(e+/ beautify( \w+[:]\w+)+ /.source+t,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(e+/\sbeautify\signore:end\s/.source+t,"g")}t.prototype.get_directives=function(e){if(!e.match(this.__directives_block_pattern))return null;var t={};this.__directive_pattern.lastIndex=0;for(var n=this.__directive_pattern.exec(e);n;)t[n[1]]=n[2],n=this.__directive_pattern.exec(e);return t},t.prototype.readIgnored=function(e){return e.readUntilAfter(this.__directives_end_ignore_pattern)},e.exports.Directives=t},,function(e,t,n){var r=n(16).Beautifier,i=n(17).Options;e.exports=function(e,t){return new r(e,t).beautify()},e.exports.defaultOptions=function(){return new i}},function(e,t,n){var r=n(17).Options,i=n(2).Output,s=n(8).InputScanner,o=new(0,n(13).Directives)(/\/\*/,/\*\//),a=/\r\n|[\r\n]/,l=/\r\n|[\r\n]/g,c=/\s/,h=/(?:\s|\n)+/g,d=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,p=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function u(e,t){this._source_text=e||"",this._options=new r(t),this._ch=null,this._input=null,this.NESTED_AT_RULE={"@page":!0,"@font-face":!0,"@keyframes":!0,"@media":!0,"@supports":!0,"@document":!0},this.CONDITIONAL_GROUP_RULE={"@media":!0,"@supports":!0,"@document":!0}}u.prototype.eatString=function(e){var t="";for(this._ch=this._input.next();this._ch;){if(t+=this._ch,"\\"===this._ch)t+=this._input.next();else if(-1!==e.indexOf(this._ch)||"\n"===this._ch)break;this._ch=this._input.next()}return t},u.prototype.eatWhitespace=function(e){for(var t=c.test(this._input.peek()),n=0;c.test(this._input.peek());)this._ch=this._input.next(),e&&"\n"===this._ch&&(0===n||n0&&this._indentLevel--},u.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var e=this._source_text,t=this._options.eol;"auto"===t&&(t="\n",e&&a.test(e||"")&&(t=e.match(a)[0]));var n=(e=e.replace(l,"\n")).match(/^[\t ]*/)[0];this._output=new i(this._options,n),this._input=new s(e),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var r,u,m=0,f=!1,g=!1,b=!1,v=!1,y=!1,w=this._ch;r=""!==this._input.read(h),u=w,this._ch=this._input.next(),"\\"===this._ch&&this._input.hasNext()&&(this._ch+=this._input.next()),w=this._ch,this._ch;)if("/"===this._ch&&"*"===this._input.peek()){this._output.add_new_line(),this._input.back();var x=this._input.read(d),S=o.get_directives(x);S&&"start"===S.ignore&&(x+=o.readIgnored(this._input)),this.print_string(x),this.eatWhitespace(!0),this._output.add_new_line()}else if("/"===this._ch&&"/"===this._input.peek())this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(p)),this.eatWhitespace(!0);else if("@"===this._ch)if(this.preserveSingleSpace(r),"{"===this._input.peek())this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var C=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);C.match(/[ :]$/)&&(C=this.eatString(": ").replace(/\s$/,""),this.print_string(C),this._output.space_before_token=!0),"extend"===(C=C.replace(/\s$/,""))?v=!0:"import"===C&&(y=!0),C in this.NESTED_AT_RULE?(this._nestedLevel+=1,C in this.CONDITIONAL_GROUP_RULE&&(b=!0)):f||0!==m||-1===C.indexOf(":")||(g=!0,this.indent())}else"#"===this._ch&&"{"===this._input.peek()?(this.preserveSingleSpace(r),this.print_string(this._ch+this.eatString("}"))):"{"===this._ch?(g&&(g=!1,this.outdent()),b?(b=!1,f=this._indentLevel>=this._nestedLevel):f=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&f&&this._output.previous_line&&"{"!==this._output.previous_line.item(-1)&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,"expand"===this._options.brace_style?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line()):"}"===this._ch?(this.outdent(),this._output.add_new_line(),"{"===u&&this._output.trim(!0),y=!1,v=!1,g&&(this.outdent(),g=!1),this.print_string(this._ch),f=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&"}"!==this._input.peek()&&this._output.add_new_line(!0)):":"===this._ch?!f&&!b||this._input.lookBack("&")||this.foundNestedPseudoClass()||this._input.lookBack("(")||v||0!==m?(this._input.lookBack(" ")&&(this._output.space_before_token=!0),":"===this._input.peek()?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":")):(this.print_string(":"),g||(g=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):'"'===this._ch||"'"===this._ch?(this.preserveSingleSpace(r),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)):";"===this._ch?0===m?(g&&(this.outdent(),g=!1),v=!1,y=!1,this.print_string(this._ch),this.eatWhitespace(!0),"/"!==this._input.peek()&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0):"("===this._ch?this._input.lookBack("url")?(this.print_string(this._ch),this.eatWhitespace(),m++,this.indent(),this._ch=this._input.next(),")"===this._ch||'"'===this._ch||"'"===this._ch?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),m&&(m--,this.outdent()))):(this.preserveSingleSpace(r),this.print_string(this._ch),this.eatWhitespace(),m++,this.indent()):")"===this._ch?(m&&(m--,this.outdent()),this.print_string(this._ch)):","===this._ch?(this.print_string(this._ch),this.eatWhitespace(!0),!this._options.selector_separator_newline||g||0!==m||y||v?this._output.space_before_token=!0:this._output.add_new_line()):">"!==this._ch&&"+"!==this._ch&&"~"!==this._ch||g||0!==m?"]"===this._ch?this.print_string(this._ch):"["===this._ch?(this.preserveSingleSpace(r),this.print_string(this._ch)):"="===this._ch?(this.eatWhitespace(),this.print_string("="),c.test(this._ch)&&(this._ch="")):"!"!==this._ch||this._input.lookBack("\\")?(this.preserveSingleSpace(r),this.print_string(this._ch)):(this.print_string(" "),this.print_string(this._ch)):this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&c.test(this._ch)&&(this._ch=""));return this._output.get_code(t)},e.exports.Beautifier=u},function(e,t,n){var r=n(6).Options;function i(e){r.call(this,e,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var t=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||t;var n=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var i=0;i0&&tu(r,c-1);)c--;0===c||eu(r,c-1)?l=c:c=0;){var n=e.charCodeAt(t);if(n===Yp)return!0;if(n===Qp)return!1;t--}return!1}(r,l),i=h===r.length,r=r.substring(l,h),0!==l){var p=e.offsetAt(Ta.create(t.start.line,0));s=function(e,t,n){for(var r=t,i=0,s=n.tabSize||4;r0){var f=n.insertSpaces?Qs(" ",a*s):Qs("\t",s);m=m.split("\n").join("\n"+f),0===t.start.character&&(m=f+m)}return[{range:t,newText:m}]}function Xp(e){return e.replace(/^\s+/,"")}var Yp="{".charCodeAt(0),Qp="}".charCodeAt(0);function Zp(e,t,n){if(e&&e.hasOwnProperty(t)){var r=e[t];if(null!==r)return r}return n}function eu(e,t){return-1!=="\r\n".indexOf(e.charAt(t))}function tu(e,t){return-1!==" \t".indexOf(e.charAt(t))}var nu={version:1.1,properties:[{name:"additive-symbols",browsers:["FF33"],syntax:"[ && ]#",relevance:50,description:"@counter-style descriptor. Specifies the symbols used by the marker-construction algorithm specified by the system descriptor. Needs to be specified if the counter system is 'additive'.",restrictions:["integer","string","image","identifier"]},{name:"align-content",values:[{name:"center",description:"Lines are packed toward the center of the flex container."},{name:"flex-end",description:"Lines are packed toward the end of the flex container."},{name:"flex-start",description:"Lines are packed toward the start of the flex container."},{name:"space-around",description:"Lines are evenly distributed in the flex container, with half-size spaces on either end."},{name:"space-between",description:"Lines are evenly distributed in the flex container."},{name:"stretch",description:"Lines stretch to take up the remaining space."}],syntax:"normal | | | ? ",relevance:62,description:"Aligns a flex container’s lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.",restrictions:["enum"]},{name:"align-items",values:[{name:"baseline",description:"If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item’s margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."}],syntax:"normal | stretch | | [ ? ]",relevance:85,description:"Aligns flex items along the cross axis of the current line of the flex container.",restrictions:["enum"]},{name:"justify-items",values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"save"},{name:"unsave"},{name:"legacy"}],syntax:"normal | stretch | | ? [ | left | right ] | legacy | legacy && [ left | right | center ]",relevance:53,description:"Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis",restrictions:["enum"]},{name:"justify-self",values:[{name:"auto"},{name:"normal"},{name:"end"},{name:"start"},{name:"flex-end",description:'"Flex items are packed toward the end of the line."'},{name:"flex-start",description:'"Flex items are packed toward the start of the line."'},{name:"self-end",description:"The item is packed flush to the edge of the alignment container of the end side of the item, in the appropriate axis."},{name:"self-start",description:"The item is packed flush to the edge of the alignment container of the start side of the item, in the appropriate axis.."},{name:"center",description:"The items are packed flush to each other toward the center of the of the alignment container."},{name:"left"},{name:"right"},{name:"baseline"},{name:"first baseline"},{name:"last baseline"},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."},{name:"save"},{name:"unsave"}],syntax:"auto | normal | stretch | | ? [ | left | right ]",relevance:53,description:"Defines the way of justifying a box inside its container along the appropriate axis.",restrictions:["enum"]},{name:"align-self",values:[{name:"auto",description:"Computes to the value of 'align-items' on the element’s parent, or 'stretch' if the element has no parent. On absolutely positioned elements, it computes to itself."},{name:"baseline",description:"If the flex item’s inline axis is the same as the cross axis, this value is identical to 'flex-start'. Otherwise, it participates in baseline alignment."},{name:"center",description:"The flex item’s margin box is centered in the cross axis within the line."},{name:"flex-end",description:"The cross-end margin edge of the flex item is placed flush with the cross-end edge of the line."},{name:"flex-start",description:"The cross-start margin edge of the flex item is placed flush with the cross-start edge of the line."},{name:"stretch",description:"If the cross size property of the flex item computes to auto, and neither of the cross-axis margins are auto, the flex item is stretched."}],syntax:"auto | normal | stretch | | ? ",relevance:72,description:"Allows the default alignment along the cross axis to be overridden for individual flex items.",restrictions:["enum"]},{name:"all",browsers:["E79","FF27","S9.1","C37","O24"],values:[],syntax:"initial | inherit | unset | revert",relevance:53,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/all"}],description:"Shorthand that resets all properties except 'direction' and 'unicode-bidi'.",restrictions:["enum"]},{name:"alt",browsers:["S9"],values:[],relevance:50,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/alt"}],description:"Provides alternative text for assistive technology to replace the generated content of a ::before or ::after element.",restrictions:["string","enum"]},{name:"animation",values:[{name:"alternate",description:"The animation cycle iterations that are odd counts are played in the normal direction, and the animation cycle iterations that are even counts are played in a reverse direction."},{name:"alternate-reverse",description:"The animation cycle iterations that are odd counts are played in the reverse direction, and the animation cycle iterations that are even counts are played in a normal direction."},{name:"backwards",description:"The beginning property value (as defined in the first @keyframes at-rule) is applied before the animation is displayed, during the period defined by 'animation-delay'."},{name:"both",description:"Both forwards and backwards fill modes are applied."},{name:"forwards",description:"The final property value (as defined in the last @keyframes at-rule) is maintained after the animation completes."},{name:"infinite",description:"Causes the animation to repeat forever."},{name:"none",description:"No animation is performed"},{name:"normal",description:"Normal playback."},{name:"reverse",description:"All iterations of the animation are played in the reverse direction from the way they were specified."}],syntax:"#",relevance:82,references:[{name:"MDN Reference",url:"https://developer.mozilla.org/docs/Web/CSS/animation"}],description:"Shorthand property combines six of the animation properties into a single property.",restrictions:["time","timing-function","enum","identifier","number"]},{name:"animation-delay",syntax:"