@theia/plugin-ext-vscode 1.70.0-next.7 → 1.70.0-next.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/plugin-vscode-commands-contribution.d.ts.map +1 -1
- package/lib/browser/plugin-vscode-commands-contribution.js +26 -0
- package/lib/browser/plugin-vscode-commands-contribution.js.map +1 -1
- package/lib/common/plugin-vscode-types.d.ts +1 -1
- package/lib/node/local-vsix-file-plugin-deployer-resolver.d.ts.map +1 -1
- package/lib/node/local-vsix-file-plugin-deployer-resolver.js +26 -5
- package/lib/node/local-vsix-file-plugin-deployer-resolver.js.map +1 -1
- package/lib/node/plugin-vscode-utils.d.ts +11 -0
- package/lib/node/plugin-vscode-utils.d.ts.map +1 -1
- package/lib/node/plugin-vscode-utils.js +39 -0
- package/lib/node/plugin-vscode-utils.js.map +1 -1
- package/lib/node/scanner-vscode.d.ts.map +1 -1
- package/lib/node/scanner-vscode.js +1 -0
- package/lib/node/scanner-vscode.js.map +1 -1
- package/lib/node/scanner-vscode.spec.d.ts +2 -0
- package/lib/node/scanner-vscode.spec.d.ts.map +1 -0
- package/lib/node/scanner-vscode.spec.js +80 -0
- package/lib/node/scanner-vscode.spec.js.map +1 -0
- package/package.json +17 -17
- package/src/browser/plugin-vscode-commands-contribution.ts +29 -0
- package/src/node/local-vsix-file-plugin-deployer-resolver.ts +33 -7
- package/src/node/plugin-vscode-utils.ts +44 -0
- package/src/node/scanner-vscode.spec.ts +95 -0
- package/src/node/scanner-vscode.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-commands-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin-vscode-commands-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -775,6 +775,32 @@ let PluginVscodeCommandsContribution = class PluginVscodeCommandsContribution {
|
|
|
775
775
|
await (0, browser_1.open)(this.openerService, uri, options);
|
|
776
776
|
}
|
|
777
777
|
});
|
|
778
|
+
// Temporary workaround: opens a single diff editor for the revealed resource.
|
|
779
|
+
// TODO: GH-16280 implement a proper MultiDiffEditor widget.
|
|
780
|
+
commands.registerCommand({ id: '_workbench.openMultiDiffEditor' }, {
|
|
781
|
+
execute: async (options) => {
|
|
782
|
+
if (!options.resources?.length) {
|
|
783
|
+
return;
|
|
784
|
+
}
|
|
785
|
+
const revealModified = options.reveal?.modifiedUri;
|
|
786
|
+
const revealStr = revealModified ? vscode_uri_1.URI.revive(revealModified)?.toString() : undefined;
|
|
787
|
+
const target = revealStr
|
|
788
|
+
? options.resources.find(r => vscode_uri_1.URI.revive(r.modifiedUri)?.toString() === revealStr)
|
|
789
|
+
: undefined;
|
|
790
|
+
const resource = target ?? options.resources[0];
|
|
791
|
+
const left = vscode_uri_1.URI.revive(resource.originalUri);
|
|
792
|
+
const right = vscode_uri_1.URI.revive(resource.modifiedUri);
|
|
793
|
+
if (left && right) {
|
|
794
|
+
await commands.executeCommand(VscodeCommands.DIFF.id, left, right, options.title);
|
|
795
|
+
}
|
|
796
|
+
else if (right) {
|
|
797
|
+
await commands.executeCommand(VscodeCommands.OPEN.id, right);
|
|
798
|
+
}
|
|
799
|
+
else if (left) {
|
|
800
|
+
await commands.executeCommand(VscodeCommands.OPEN.id, left);
|
|
801
|
+
}
|
|
802
|
+
},
|
|
803
|
+
});
|
|
778
804
|
}
|
|
779
805
|
async deployPlugin(uri) {
|
|
780
806
|
const uriPath = (0, type_converters_1.isUriComponents)(uri) ? vscode_uri_1.URI.revive(uri).fsPath : await this.fileService.fsPath(uri);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-commands-contribution.js","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin-vscode-commands-contribution.js","sourceRoot":"","sources":["../../src/browser/plugin-vscode-commands-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,sCAAkJ;AAClJ,qDAWiC;AACjC,qFAAgF;AAChF,mHAA6G;AAC7G,4DAAgE;AAChE,oDAAkD;AAClD,uDAA0E;AAa1E,sFAAsF;AACtF,kFAA2G;AAE3G,0DAAiE;AACjE,sFAAkG;AAClG,4EAAwE;AACxE,4DAA4E;AAE5E,8DAAoD;AACpD,kFAAoH;AACpH,+GAA0G;AAC1G,4FAAuF;AACvF,wFAAoF;AACpF,gGAG6D;AAC7D,0DAAsF;AACtF,gFAAiF;AAEjF,6EAAyE;AACzE,8DAAsG;AACtG,8DAAsG;AACtG,mGAA6F;AAC7F,wHAKiF;AACjF,iHAA4G;AAC5G,oDAAiD;AACjD,kFAA8E;AAC9E,oDAAoD;AACpD,mEAAiE;AACjE,oHAA2G;AAC3G,yGAAoG;AAEpG,iFAA6E;AAC7E,8EAA0E;AAC1E,mFAA4G;AAE5G,IAAiB,cAAc,CAmC9B;AAnCD,WAAiB,cAAc;IAEd,0CAA2B,GAAY;QAChD,EAAE,EAAE,yCAAyC,CAAC,mDAAmD;QACjG,kJAAkJ;KACrJ,CAAC;IAEW,mBAAI,GAAY;QACzB,EAAE,EAAE,aAAa;KACpB,CAAC;IAEW,wBAAS,GAAY;QAC9B,EAAE,EAAE,iBAAiB;KACxB,CAAC;IAEW,0BAAW,GAAY;QAChC,EAAE,EAAE,mBAAmB;KAC1B,CAAC;IAEW,mBAAI,GAAY;QACzB,EAAE,EAAE,aAAa;KACpB,CAAC;IAEW,+CAAgC,GAAY;QACrD,EAAE,EAAE,uCAAuC;KAC9C,CAAC;IAEW,kCAAmB,GAAY;QACxC,EAAE,EAAE,yCAAyC;KAChD,CAAC;IAEF,sJAAsJ;IACzI,kDAAmC,GAAY;QACxD,EAAE,EAAE,8CAA8C;KACrD,CAAC;AACN,CAAC,EAnCgB,cAAc,8BAAd,cAAc,QAmC9B;AAuCM,IAAM,gCAAgC,GAAtC,MAAM,gCAAgC;IA8CjC,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,QAAa,EAAE,eAAsD,EAAE,QAAiB;QAC9H,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,0CAA0C,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,qCAAqC,QAAQ,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,IAAI,OAA4C,CAAC;QACjD,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,GAAG;gBACN,UAAU,EAAE,eAAe;aAC9B,CAAC;QACN,CAAC;aAAM,IAAI,eAAe,EAAE,CAAC;YACzB,OAAO,GAAG;gBACN,GAAG,eAAe;aACrB,CAAC;QACN,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,aAAa,GAAG,kCAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEnF,IAAI,WAAoC,CAAC;QACzC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;YACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;oBAChC,WAAW,GAAG,MAAM,CAAC;oBACrB,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,gBAAgB,CAAC,QAAyB;QACtC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,2BAA2B,EAAE;YACjE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,iGAAiG;SAC7H,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAsB,EAAE,eAAsD,EAAE,EAAE;gBAC9F,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC/B,QAAQ,GAAG,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC3E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,OAAO,GAAG,SAAG,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC7E,MAAM,MAAM,GAAG,SAAG,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC;oBACnD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE;YAC/C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,QAAgB,EAAE,eAAsD,EAAE,EAAE;gBACvG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,cAAc,CAAC,SAAS,UAAU,CAAC,CAAC;gBAC5F,CAAC;gBAED,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;oBACvC,OAAO,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBACtF,CAAC;gBAED,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;gBACnG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,yCAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxI,CAAC;gBAED,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,GAAG,CAAC,CAAC;gBAClE,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAQH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,WAAW,EAAE;YACjD,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,EAAE,QAAc,EAAE,MAA8C,EAAE,EAAE,EAAE;gBAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,OAAO,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,WAAW,CAAC,EAAE,qCAAqC,QAAQ,EAAE,CAAC,CAAC;gBAC1H,CAAC;gBACD,IAAI,OAAmC,CAAC;gBACxC,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBACJ,OAAO,GAAG,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACtD,CAAC;gBACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;YAChE,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;YACtB,8DAA8D;YAC9D,OAAO,EAAE,KAAK,EAAE,IAAS,EAAE,KAAU,EAAE,KAAc,EAAE,OAAiC,EAAE,EAAE;gBACxF,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,CAAC,IAAI,4DAA4D,IAAI,WAAW,KAAK,eAAe,CAAC,CAAC;gBAC3I,CAAC;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,IAAI,CAAC,EAAE,kEAAkE,IAAI,EAAE,CAAC,CAAC;gBAC5I,CAAC;gBACD,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,IAAI,CAAC,EAAE,oEAAoE,KAAK,EAAE,CAAC,CAAC;gBAC/I,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,aAAQ,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,aAAa,GAAG,kCAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnF,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,aAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;YAC9F,CAAC;SACJ,CAAC,CAAC;QAEH,wEAAwE;QACxE;;;;;;;WAOG;QACH,IAAI,CAAC,kBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,YAAK,EAAE,CAAC;YACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,uCAAuC,EAAE,EAAE;gBACtE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;QACP,CAAC;QAED,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,iCAAiC,EAAE,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,mCAAmC,EAAE,EAAE;YAClE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gCAAgC,EAAE,EAAE;YAC/D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAAE;YACjE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC;SACjF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,2BAA2B,EAAE,EAAE;YAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;SAC7E,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,4BAA4B,EAAE,EAAE;YAC3D,OAAO,EAAE,CAAC,MAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SAChG,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,CAAC,KAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC;SAClG,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,0CAA0C,EAAE,EAAE;YACzE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,mBAAmB,CAAC,EAAE,CAAC;SACnF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6CAA6C,EAAE,EAAE;YAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,8CAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC;SACrF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,gCAAgC,EAAE;YACtE,OAAO,EAAE,KAAK,EAAE,oBAAuD,EAAE,EAAE;gBACvE,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE,CAAC;oBAC3C,IAAI,WAAW,GAAG,oBAAoB,CAAC;oBACvC,IAAI,IAAqC,CAAC;oBAC1C,MAAM,WAAW,GAAG,mCAAiB,CAAC,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;oBACxF,IAAI,WAAW,EAAE,CAAC;wBACd,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC;wBAC7B,IAAI,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;oBACvE,CAAC;oBACD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,sCAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBACxG,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;gBAClD,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,mCAAmC,EAAE;YACzE,OAAO,EAAE,KAAK,EAAE,IAA6D,EAAE,EAAE;gBAC7E,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,CAAC;oBAChB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;wBACpC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC,CAAC;gBACR,CAAC;qBAAM,CAAC;oBACJ,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,mBAAmB,EAAE;YACzD,OAAO,EAAE,KAAK,EAAE,EAAU,EAAE,EAAE;gBAC1B,IAAI,CAAC,EAAE,EAAE,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,SAAG,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,YAAY,GAAG,mCAAiB,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE,kDAAkD,CAAC,CAAC;gBACnG,CAAC;gBACD,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,mCAAiB,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC;YACjG,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6BAA6B,GAAG,EAAE;YAC7D,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE;gBAC1B,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACvC,MAAM,WAAW,GAAG,kBAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,2BAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;wBACpF,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;oBACjE,CAAC,CAAC,CAAC;oBACH,IAAI,kBAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtB,kBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1B,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtB,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gCAAgC,GAAG,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;SACtC,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,oCAAoC,EAAE,EAAE;YACnE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,cAAc,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,oCAAoC,EAAE,EAAE;YACnE,OAAO,EAAE,KAAK,EAAE,GAAgB,EAAE,EAAE;gBAChC,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC1E,IAAI,GAAG,EAAE,CAAC;oBACN,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACjC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;wBACrC,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;wBACvC,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;oBACjE,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,iDAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1G,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,CACzB,EAGS,EACT,GAAgB,EACZ,EAAE;YACN,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YAC1E,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACrC,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;oBACvC,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC;gBACjE,CAAC,CAAC,CAAC;YACP,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,MAAM,EAAE,CAAC;oBACT,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,sCAAsC;YAC1C,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,4BAA4B,CAAC;SAC7D,EAAE;YACC,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;SACjF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,gCAAgC;YACpC,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC;SACpD,EAAE;YACC,OAAO,EAAE,CAAC,GAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;SAChF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,4CAA4C,EAAE,EAAE;YAC3E,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACrD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;wBACzC,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;4BAC1B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAChD,CAAC;wBACN,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,wCAAwC,EAAE,EAAE;YACvE,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE,CAAC;wBACT,IAAI,IAAI,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;4BACV,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gCACnB,IAAI,GAAG,KAAK,CAAC;gCACb,OAAO,KAAK,CAAC;4BACjB,CAAC;4BACD,OAAO,IAAI,IAAI,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBAClD,CAAC,CACJ,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,yCAAyC,EAAE,EAAE;YACxE,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;gBAC5E,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE,CAAC;wBACT,IAAI,IAAI,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EACvB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;4BACV,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gCACnB,IAAI,GAAG,KAAK,CAAC;gCACb,OAAO,KAAK,CAAC;4BACjB,CAAC;4BACD,OAAO,CAAC,IAAI,IAAI,iDAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;wBACnD,CAAC,CACJ,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAAE;YACjE,OAAO,EAAE,KAAK,IAAI,EAAE;gBAChB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,iDAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACrF,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6BAA6B,EAAE,EAAE;YAC5D,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;SAC9C,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,iCAAiC,EAAE,EAAE;YAChE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;SAClD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,OAAO,CAAC,EAAE,CAAC;SACpE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAAE;YACjE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,UAAU,CAAC,EAAE,CAAC;SACvE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,6CAA6C,EAAE,EAAE;YAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,YAAY,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE;YAC/C,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC1G,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,+BAA+B,EAAE,EAAE;YAC9D,OAAO,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAChC,CAAC;SACJ,CAAC,CAAC;QAEH;;;;;;;;WAQG;QAEH,8CAA8C;QAC9C,4DAA4D;QAC5D,uDAAuD;QAEvD,oDAAoD;QACpD,wGAAwG;QACxG,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,kCAAkC;SACzC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC9G,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,mCAAmC;SAC1C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC/G,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAClH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAClH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAU,uBAAuB,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SACtG,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,kCAAkC;SACzC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAsB,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SACvH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,iCAAiC;SACxC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAa,2BAA2B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAC1J,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,gCAAgC,EAChF,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CACxC,CAAC,IAAI,CAAC,CAAC,KAAU,EAAE,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/C,OAAO,SAAS,CAAC;gBACrB,CAAC;gBACD,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAA,gCAAc,EAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC;SACL,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,OAA0B,EAAE,EAAE,CACpD,QAAQ,CAAC,cAAc,CAAa,gCAAgC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;SACjH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,mCAAmC;SAC1C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,KAAY,EAAE,OAA0B,EAAE,EAAE,CAClE,QAAQ,CAAC,cAAc,CAAa,6BAA6B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;SACrH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,oCAAoC;SAC3C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAU,EAAE,OAA0B,EAAE,EAAE,CACpF,QAAQ,CAAC,cAAc,CAAa,8BAA8B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;SAC7H,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,oCAAoC;SAC3C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAkB,EAAE,EAAE,CAC5C,QAAQ,CAAC,cAAc,CAAa,8BAA8B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;SAChH,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,kCAAkC;SACzC,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,KAAY,EAAE,IAAa,EAAE,gBAAyB,EAAE,EAAE,CAChF,QAAQ,CAAC,cAAc,CAAa,4BAA4B,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;SACnI,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,sCAAsC;SAC7C,EACD;YACI,OAAO,EAAE,CAAC,CAAC,QAAa,EAAE,QAAwB,EAAE,gBAAyB,EAAE,gBAAyB,EAAE,EAAE,CACxG,QAAQ,CAAC,cAAc,CACnB,gCAAgC,EAChC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EACzB,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,EACzD,gBAAgB,EAChB,gBAAgB,CACnB,CACJ;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,uCAAuC;SAC9C,EACD;YACI,OAAO,EAAE,KAAK,EAAE,WAAmB,EAAE,EAAE,CACnC,CAAC,MAAM,OAAO,CAAC,GAAG,CACd,IAAI,CAAC,eAAe,CAAC,wBAAwB;iBACxC,GAAG,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,IAAI,8BAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC1H,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;iBAC3B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACxC,CACJ,CAAC;QAEF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,QAAkB,EAAgC,EAAE;gBAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,UAAU,GAAG,MAAM,QAAQ,EAAE,iBAAiB,CAChD,QAAQ,CAAC,IAAI,EACb,IAAA,4BAAU,EAAC,QAAQ,CAAC,EACpB,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,IAAI,UAAU,EAAE,CAAC;oBACb,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,IAAI,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBAAA,CAAC;gBACF,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAwC,EAAE;gBAC7E,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,aAAa,GAAG,MAAM,QAAQ,EAAE,UAAU,CAC5C,IAAA,sDAAyB,EAAC,IAAI,CAAC,EAC/B,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAChB,OAAO,aAAa,CAAC,GAAG,CAAC,oFAAuD,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAwC,EAAE;gBAC7E,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,aAAa,GAAG,MAAM,QAAQ,EAAE,UAAU,EAAE,CAC9C,IAAA,sDAAyB,EAAC,IAAI,CAAC,EAC/B,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAChB,OAAO,aAAa,CAAC,GAAG,CAAC,oFAAuD,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,EAAE,CAAC;YACd,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,6BAA6B;SACpC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,QAAa,EAAE,QAAkB,EAAgC,EAAE;gBAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,OAAO,GAAG,MAAM,QAAQ,EAAE,cAAc,CAC1C,QAAQ,CAAC,IAAI,EACb,IAAA,4BAAU,EAAC,QAAQ,CAAC,EACpB,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,0BAA0B;SACjC,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAgC,EAAE;gBACrE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACpC,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,iBAAiB,CAC3C,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,OAAO,EACZ,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,CAAC;SACJ,CACJ,CAAC;QACF,QAAQ,CAAC,eAAe,CACpB;YACI,EAAE,EAAE,wBAAwB;SAC/B,EACD;YACI,OAAO,EAAE,KAAK,EAAE,IAAuB,EAAgC,EAAE;gBACrE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACpC,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,MAAM,QAAQ,GAAG,gBAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,eAAe,CACzC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAC7B,IAAI,8BAAuB,EAAE,CAAC,KAAK,CACtC,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAA,wDAA2B,EAAC,QAAQ,CAAC,CAAC,CAAC;YAEvF,CAAC;SACJ,CACJ,CAAC;QAEF,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,6BAA6B;SACpC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;SAClD,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,oBAAoB;SAC3B,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,wCAAwC;SAC/C,EAAE;YACC,OAAO,EAAE,CAAC,IAAwB,EAAE,EAAE;gBAClC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAChD,OAAO;gBACX,CAAC;gBAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;gBAE7D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO;gBACX,CAAC;gBAED,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,gCAAgC;SACvC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE;gBACV,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;gBAE7D,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO;gBACX,CAAC;gBAED,eAAe,CAAC,OAAO,EAAE,CAAC;YAC9B,CAAC;SACJ,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yBAAyB;SAChC,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,8CAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;SACzE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,cAAc;SACrB,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,wBAAc,CAAC,SAAS,CAAC,EAAE,CAAC;SACtE,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,sBAAsB;SAC7B,EAAE;YACC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,2BAAiB,CAAC,uBAAuB,CAAC,EAAE,CAAC;SACvF,CAAC,CAAC;QACH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,kBAAkB;SACzB,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,QAAsB,EAAE,EAAE;gBACtC,IAAI,CAAC,gBAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvB,OAAO;gBACX,CAAC;gBACD,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,2BAAiB,CAAC,CAAC;gBACjE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,yDAAgC,CAAC,CAAC;oBAC3E,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,2BAAiB,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,SAAS,YAAY,6BAAmB,EAAE,CAAC;oBAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;oBAC9B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5D,IAAI,mCAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yCAAyC;SAChD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAsC,EAAE;gBACrF,MAAM,GAAG,GAAI,SAAiB,CAAC,GAAG,CAAC;gBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,OAAO;oBACH,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;oBACnD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;oBACzC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;oBAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC5B,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,0CAA0C;SACjD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAuC,EAAE;gBACtF,MAAM,MAAM,GAAI,SAAiB,CAAC,MAAM,CAAC;gBACzC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO;oBACH,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;iBAClC,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,CAAC;YACrB,EAAE,EAAE,yCAAyC;SAChD,EAAE;YACC,OAAO,EAAE,KAAK,EAAE,OAAiC,EAAsC,EAAE;gBACrF,MAAM,GAAG,GAAI,SAAiB,CAAC,GAAG,CAAC;gBACnC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAClB,OAAO,SAAS,CAAC;gBACrB,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,OAAO;oBACH,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;iBAClC,CAAC;YACN,CAAC;SACJ,CAAC,CAAC;QAEH,4DAA4D;QAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE;YAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC3E,CAAC,CAAC;QAEH,yBAAyB;QACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE;YACnD,OAAO,EAAE,KAAK,IAAmB,EAAE;gBAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;SACJ,CAAC,CAAC;QAgBH,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,EAAE;YAClD,OAAO,EAAE,KAAK,EAAE,GAA8B,EAAiB,EAAE;gBAC7D,MAAM,UAAU,GAAG,CAAC,CAAyB,EAAY,EAAE;oBACvD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBACxB,OAAO,IAAI,aAAQ,CAAC,CAAC,CAAC,CAAC;oBAC3B,CAAC;oBACD,OAAO,aAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBACtC,CAAC,CAAC;gBAEF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtG,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACtG,MAAM,GAAG,GAAG,6BAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;gBAE9E,IAAI,UAAU,GAAG,SAAS,CAAC;gBAC3B,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACjC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;oBAClD,UAAU,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gBAChD,CAAC;gBACD,IAAI,UAAU,GAAG,SAAS,CAAC;gBAC3B,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACjC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;oBAClD,UAAU,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;gBAChD,CAAC;gBACD,MAAM,OAAO,GAA6B,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;gBAEtF,MAAM,IAAA,cAAI,EAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;SACJ,CAAC,CAAC;QAEH,8EAA8E;QAC9E,4DAA4D;QAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,gCAAgC,EAAE,EAAE;YAC/D,OAAO,EAAE,KAAK,EAAE,OAIf,EAAiB,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;oBAC7B,OAAO;gBACX,CAAC;gBACD,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC;gBACnD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,gBAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtF,MAAM,MAAM,GAAG,SAAS;oBACpB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAG,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,SAAS,CAAC;oBAClF,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG,gBAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,gBAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC/C,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;oBAChB,MAAM,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACtF,CAAC;qBAAM,IAAI,KAAK,EAAE,CAAC;oBACf,MAAM,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACjE,CAAC;qBAAM,IAAI,IAAI,EAAE,CAAC;oBACd,MAAM,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAA6B;QACpD,MAAM,OAAO,GAAG,IAAA,iCAAe,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,QAAa;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;QAC/C,SAAS,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,UAAU,CAAC;IACtB,CAAC;IAES,KAAK,CAAC,6BAA6B,CAAC,QAAa;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;IAES,KAAK,CAAC,6BAA6B,CAAC,QAAa;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,aAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;CACJ,CAAA;AAv8BY,4EAAgC;AAEtB;IADlB,IAAA,kBAAM,EAAC,wBAAc,CAAC;;wEAC2B;AAE/B;IADlB,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;2EAC8B;AAErC;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;sCACY,uBAAa;uEAAC;AAE7B;IADlB,IAAA,kBAAM,EAAC,0BAAgB,CAAC;sCACC,0BAAgB;+DAAC;AAExB;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;qEAAC;AAEzB;IADlB,IAAA,kBAAM,EAAC,uBAAa,CAAC;;uEAC0B;AAE7B;IADlB,IAAA,kBAAM,EAAC,8DAA4B,CAAC;sCACJ,8DAA4B;sEAAC;AAE3C;IADlB,IAAA,kBAAM,EAAC,2BAAiB,CAAC;IAAE,IAAA,oBAAQ,GAAE;;oEACW;AAE9B;IADlB,IAAA,kBAAM,EAAC,oCAAgB,CAAC;sCACY,oCAAgB;0EAAC;AAEnC;IADlB,IAAA,kBAAM,EAAC,6DAA4B,CAAC;sCACI,6DAA4B;8EAAC;AAEnD;IADlB,IAAA,kBAAM,EAAC,yCAAkB,CAAC;sCACY,yCAAkB;4EAAC;AAEvC;IADlB,IAAA,kBAAM,EAAC,kCAAe,CAAC;;yEAC4B;AAEjC;IADlB,IAAA,kBAAM,EAAC,8BAAY,CAAC;;sEACyB;AAE3B;IADlB,IAAA,kBAAM,EAAC,0BAAW,CAAC;sCACY,0BAAW;qEAAC;AAEzB;IADlB,IAAA,kBAAM,EAAC,sCAA4B,CAAC;sCACK,sCAA4B;+EAAC;AAEpD;IADlB,IAAA,kBAAM,EAAC,sCAA4B,CAAC;sCACK,sCAA4B;+EAAC;AAEpD;IADlB,IAAA,kBAAM,EAAC,kDAAsB,CAAC;sCACM,kDAAsB;0EAAC;AAEzC;IADlB,IAAA,kBAAM,EAAC,8BAAa,CAAC;;uEAC0B;AAE7B;IADlB,IAAA,kBAAM,EAAC,qBAAc,CAAC;sCACY,qBAAc;wEAAC;AAExC;IADT,IAAA,kBAAM,EAAC,mDAAuB,CAAC;sCACG,mDAAuB;iFAAC;AAEjD;IADT,IAAA,kBAAM,EAAC,kCAAe,CAAC;sCACG,kCAAe;yEAAC;AAEjC;IADT,IAAA,kBAAM,EAAC,kCAAe,CAAC;sCACG,kCAAe;yEAAC;2CA5ClC,gCAAgC;IAD5C,IAAA,sBAAU,GAAE;GACA,gCAAgC,CAu8B5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-vsix-file-plugin-deployer-resolver.d.ts","sourceRoot":"","sources":["../../src/node/local-vsix-file-plugin-deployer-resolver.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,6BAA6B,
|
|
1
|
+
{"version":3,"file":"local-vsix-file-plugin-deployer-resolver.d.ts","sourceRoot":"","sources":["../../src/node/local-vsix-file-plugin-deployer-resolver.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,6BAA6B,EAAqB,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,0EAA0E,CAAC;AACvH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAI9E,qBACa,mCAAoC,SAAQ,2BAA2B;IAChF,MAAM,CAAC,UAAU,SAAgB;IACjC,MAAM,CAAC,cAAc,SAAW;IAEC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IAEzF,SAAS,KAAK,eAAe,IAAI,MAAM,CAEtC;IAEQ,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIpC,oBAAoB,CAAC,qBAAqB,EAAE,6BAA6B,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAqCrH"}
|
|
@@ -20,6 +20,7 @@ exports.LocalVSIXFilePluginDeployerResolver = void 0;
|
|
|
20
20
|
const tslib_1 = require("tslib");
|
|
21
21
|
const path = require("path");
|
|
22
22
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
+
const plugin_ext_1 = require("@theia/plugin-ext");
|
|
23
24
|
const local_plugin_deployer_resolver_1 = require("@theia/plugin-ext/lib/main/node/resolvers/local-plugin-deployer-resolver");
|
|
24
25
|
const plugin_vscode_environment_1 = require("../common/plugin-vscode-environment");
|
|
25
26
|
const plugin_vscode_file_handler_1 = require("./plugin-vscode-file-handler");
|
|
@@ -35,13 +36,33 @@ let LocalVSIXFilePluginDeployerResolver = class LocalVSIXFilePluginDeployerResol
|
|
|
35
36
|
return super.accept(pluginId) && (0, plugin_vscode_file_handler_1.isVSCodePluginFile)(pluginId);
|
|
36
37
|
}
|
|
37
38
|
async resolveFromLocalPath(pluginResolverContext, localPath) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
// Extract the true extension identity from the VSIX package.json
|
|
40
|
+
// This prevents duplicate installations when the same extension is installed from VSIX files with different filenames
|
|
41
|
+
// See: https://github.com/eclipse-theia/theia/issues/16845
|
|
42
|
+
const components = await (0, plugin_vscode_utils_1.extractExtensionIdentityFromVsix)(localPath);
|
|
43
|
+
if (!components) {
|
|
44
|
+
// Fallback to filename-based ID if package.json cannot be read
|
|
45
|
+
// This maintains backward compatibility for edge cases
|
|
46
|
+
const fallbackId = path.basename(localPath, LocalVSIXFilePluginDeployerResolver_1.FILE_EXTENSION);
|
|
47
|
+
console.warn(`[${pluginResolverContext.getOriginId()}]: Could not read extension identity from VSIX, falling back to filename: ${fallbackId}`);
|
|
48
|
+
if (await (0, plugin_vscode_utils_1.existsInDeploymentDir)(this.environment, fallbackId)) {
|
|
49
|
+
console.log(`[${pluginResolverContext.getOriginId()}]: Target dir already exists in plugin deployment dir`);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const fallbackDeploymentDir = await (0, plugin_vscode_utils_1.unpackToDeploymentDir)(this.environment, localPath, fallbackId);
|
|
53
|
+
pluginResolverContext.addPlugin(fallbackId, fallbackDeploymentDir);
|
|
41
54
|
return;
|
|
42
55
|
}
|
|
43
|
-
const
|
|
44
|
-
|
|
56
|
+
const versionedId = plugin_ext_1.PluginIdentifiers.componentsToVersionedId(components);
|
|
57
|
+
// Check if the deployment directory already exists on disk
|
|
58
|
+
if (await (0, plugin_vscode_utils_1.existsInDeploymentDir)(this.environment, versionedId)) {
|
|
59
|
+
const unversionedId = plugin_ext_1.PluginIdentifiers.componentsToUnversionedId(components);
|
|
60
|
+
const error = new Error(`Extension ${unversionedId} is already installed (version: ${components.version}).`);
|
|
61
|
+
error.name = 'DuplicateExtensionError';
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
const extensionDeploymentDir = await (0, plugin_vscode_utils_1.unpackToDeploymentDir)(this.environment, localPath, versionedId);
|
|
65
|
+
pluginResolverContext.addPlugin(versionedId, extensionDeploymentDir);
|
|
45
66
|
}
|
|
46
67
|
};
|
|
47
68
|
exports.LocalVSIXFilePluginDeployerResolver = LocalVSIXFilePluginDeployerResolver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-vsix-file-plugin-deployer-resolver.js","sourceRoot":"","sources":["../../src/node/local-vsix-file-plugin-deployer-resolver.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;AAEhF,6BAA6B;AAC7B,4DAAkE;
|
|
1
|
+
{"version":3,"file":"local-vsix-file-plugin-deployer-resolver.js","sourceRoot":"","sources":["../../src/node/local-vsix-file-plugin-deployer-resolver.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;;AAEhF,6BAA6B;AAC7B,4DAAkE;AAClE,kDAAqF;AACrF,6HAAuH;AACvH,mFAA8E;AAC9E,6EAAkE;AAClE,+DAAuH;AAGhH,IAAM,mCAAmC,GAAzC,MAAM,mCAAoC,SAAQ,4DAA2B;;aACzE,eAAU,GAAG,YAAY,AAAf,CAAgB;aAC1B,mBAAc,GAAG,OAAO,AAAV,CAAW;IAIhC,IAAc,eAAe;QACzB,OAAO,qCAAmC,CAAC,UAAU,CAAC;IAC1D,CAAC;IAEQ,MAAM,CAAC,QAAgB;QAC5B,OAAO,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAA,+CAAkB,EAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,qBAAoD,EAAE,SAAiB;QAC9F,iEAAiE;QACjE,sHAAsH;QACtH,2DAA2D;QAC3D,MAAM,UAAU,GAAG,MAAM,IAAA,sDAAgC,EAAC,SAAS,CAAC,CAAC;QAErE,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,+DAA+D;YAC/D,uDAAuD;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,qCAAmC,CAAC,cAAc,CAAC,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,WAAW,EAAE,6EAA6E,UAAU,EAAE,CAAC,CAAC;YAE/I,IAAI,MAAM,IAAA,2CAAqB,EAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,qBAAqB,CAAC,WAAW,EAAE,uDAAuD,CAAC,CAAC;gBAC5G,OAAO;YACX,CAAC;YAED,MAAM,qBAAqB,GAAG,MAAM,IAAA,2CAAqB,EAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACnG,qBAAqB,CAAC,SAAS,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;YACnE,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,8BAAiB,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAE1E,2DAA2D;QAC3D,IAAI,MAAM,IAAA,2CAAqB,EAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;YAC7D,MAAM,aAAa,GAAG,8BAAiB,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;YAC9E,MAAM,KAAK,GAAG,IAAI,KAAK,CACnB,aAAa,aAAa,mCAAmC,UAAU,CAAC,OAAO,IAAI,CACtF,CAAC;YACF,KAAK,CAAC,IAAI,GAAG,yBAAyB,CAAC;YACvC,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,MAAM,sBAAsB,GAAG,MAAM,IAAA,2CAAqB,EAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACrG,qBAAqB,CAAC,SAAS,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IACzE,CAAC;;AAlDQ,kFAAmC;AAIQ;IAAnD,IAAA,kBAAM,EAAC,mDAAuB,CAAC;sCAAiC,mDAAuB;wEAAC;8CAJhF,mCAAmC;IAD/C,IAAA,sBAAU,GAAE;GACA,mCAAmC,CAmD/C"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import { PluginVSCodeEnvironment } from '../common/plugin-vscode-environment';
|
|
2
|
+
import { PluginIdentifiers } from '@theia/plugin-ext/lib/common/plugin-protocol';
|
|
3
|
+
/**
|
|
4
|
+
* Extracts extension identity from a VSIX file by reading its package.json.
|
|
5
|
+
*
|
|
6
|
+
* VSIX files are ZIP archives with the extension content in an `extension/` subdirectory.
|
|
7
|
+
* This function extracts only the `extension/package.json` file to read the extension metadata.
|
|
8
|
+
*
|
|
9
|
+
* @param vsixPath Path to the VSIX file
|
|
10
|
+
* @returns PluginIdentifiers.Components (publisher?, name, version), or undefined if the package.json cannot be read or is invalid
|
|
11
|
+
*/
|
|
12
|
+
export declare function extractExtensionIdentityFromVsix(vsixPath: string): Promise<PluginIdentifiers.Components | undefined>;
|
|
2
13
|
export declare function decompressExtension(sourcePath: string, destPath: string): Promise<boolean>;
|
|
3
14
|
export declare function existsInDeploymentDir(env: PluginVSCodeEnvironment, extensionId: string): Promise<boolean>;
|
|
4
15
|
export declare const TMP_DIR_PREFIX = "tmp-vscode-unpacked-";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-utils.d.ts","sourceRoot":"","sources":["../../src/node/plugin-vscode-utils.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-vscode-utils.d.ts","sourceRoot":"","sources":["../../src/node/plugin-vscode-utils.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAiB,MAAM,8CAA8C,CAAC;AAEhG;;;;;;;;GAQG;AACH,wBAAsB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,GAAG,SAAS,CAAC,CAgC1H;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBhG;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/G;AAED,eAAO,MAAM,cAAc,yBAAyB,CAAC;AACrD,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiClI;AAED,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKlH;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY9F"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.TMP_DIR_PREFIX = void 0;
|
|
19
|
+
exports.extractExtensionIdentityFromVsix = extractExtensionIdentityFromVsix;
|
|
19
20
|
exports.decompressExtension = decompressExtension;
|
|
20
21
|
exports.existsInDeploymentDir = existsInDeploymentDir;
|
|
21
22
|
exports.unpackToDeploymentDir = unpackToDeploymentDir;
|
|
@@ -26,6 +27,44 @@ const path = require("path");
|
|
|
26
27
|
const filenamify = require("filenamify");
|
|
27
28
|
const node_1 = require("@theia/core/lib/node");
|
|
28
29
|
const fs = require("@theia/core/shared/fs-extra");
|
|
30
|
+
/**
|
|
31
|
+
* Extracts extension identity from a VSIX file by reading its package.json.
|
|
32
|
+
*
|
|
33
|
+
* VSIX files are ZIP archives with the extension content in an `extension/` subdirectory.
|
|
34
|
+
* This function extracts only the `extension/package.json` file to read the extension metadata.
|
|
35
|
+
*
|
|
36
|
+
* @param vsixPath Path to the VSIX file
|
|
37
|
+
* @returns PluginIdentifiers.Components (publisher?, name, version), or undefined if the package.json cannot be read or is invalid
|
|
38
|
+
*/
|
|
39
|
+
async function extractExtensionIdentityFromVsix(vsixPath) {
|
|
40
|
+
try {
|
|
41
|
+
// Extract only the package.json file from the VSIX
|
|
42
|
+
const files = await decompress(vsixPath, {
|
|
43
|
+
filter: file => file.path === 'extension/package.json'
|
|
44
|
+
});
|
|
45
|
+
if (files.length === 0) {
|
|
46
|
+
console.warn(`[${vsixPath}]: No extension/package.json found in VSIX`);
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
const packageJsonContent = files[0].data.toString('utf8');
|
|
50
|
+
const packageJson = JSON.parse(packageJsonContent);
|
|
51
|
+
// Validate required fields
|
|
52
|
+
if (!packageJson.name || !packageJson.version) {
|
|
53
|
+
console.warn(`[${vsixPath}]: Invalid package.json - missing name or version`);
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const components = {
|
|
57
|
+
publisher: packageJson.publisher,
|
|
58
|
+
name: packageJson.name,
|
|
59
|
+
version: packageJson.version
|
|
60
|
+
};
|
|
61
|
+
return components;
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
console.error(`[${vsixPath}]: Failed to extract extension identity from VSIX`, error);
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
29
68
|
async function decompressExtension(sourcePath, destPath) {
|
|
30
69
|
try {
|
|
31
70
|
await decompress(sourcePath, destPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-vscode-utils.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-utils.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;
|
|
1
|
+
{"version":3,"file":"plugin-vscode-utils.js","sourceRoot":"","sources":["../../src/node/plugin-vscode-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-vscode.d.ts","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAwE,MAAM,mBAAmB,CAAC;AACnL,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAM9F,qBACa,mBAAoB,SAAQ,kBAAmB,YAAW,aAAa;IAEhF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAEtD,IAAa,OAAO,IAAI,YAAY,CAEnC;IAEQ,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"scanner-vscode.d.ts","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAwE,MAAM,mBAAmB,CAAC;AACnL,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAM9F,qBACa,mBAAoB,SAAQ,kBAAmB,YAAW,aAAa;IAEhF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAEtD,IAAa,OAAO,IAAI,YAAY,CAEnC;IAEQ,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW;IAgDrD;;OAEG;IACM,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAiBvE,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe;CAWhE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-vscode.js","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,wCAAwC;AACxC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,6BAA6B;AAC7B,4DAA0D;AAC1D,kDAAmL;AACnL,4FAA8F;AAC9F,+FAA4F;AAC5F,mEAAiE;AAEjE,MAAM,MAAM,GAAG,yBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAM,CAAC,GAAG,CAAC;AAGhE,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,kCAAkB;IAApD;;QAEc,gBAAW,GAAiB,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"scanner-vscode.js","sourceRoot":"","sources":["../../src/node/scanner-vscode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner-vscode.spec.d.ts","sourceRoot":"","sources":["../../src/node/scanner-vscode.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
19
|
+
const chai_1 = require("chai");
|
|
20
|
+
const os = require("os");
|
|
21
|
+
const path = require("path");
|
|
22
|
+
const fs = require("fs");
|
|
23
|
+
const scanner_vscode_1 = require("./scanner-vscode");
|
|
24
|
+
const uri_1 = require("@theia/core/lib/common/uri");
|
|
25
|
+
function createVsCodePluginPackage(capabilities, packagePath) {
|
|
26
|
+
return {
|
|
27
|
+
name: 'test-vscode-plugin',
|
|
28
|
+
publisher: 'test-publisher',
|
|
29
|
+
version: '1.0.0',
|
|
30
|
+
engines: { vscode: '^1.5.0' },
|
|
31
|
+
displayName: 'Test VSCode Plugin',
|
|
32
|
+
description: 'A test vscode plugin',
|
|
33
|
+
packagePath: packagePath ?? os.tmpdir(),
|
|
34
|
+
main: 'extension.js',
|
|
35
|
+
capabilities
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
describe('VsCodePluginScanner', () => {
|
|
39
|
+
let scanner;
|
|
40
|
+
let tmpDir;
|
|
41
|
+
before(() => {
|
|
42
|
+
scanner = new scanner_vscode_1.VsCodePluginScanner();
|
|
43
|
+
// Inject a mock pluginUriFactory
|
|
44
|
+
scanner.pluginUriFactory = {
|
|
45
|
+
createUri: (_pkg, _relativePath) => new uri_1.default('file:///dummy')
|
|
46
|
+
};
|
|
47
|
+
// Create a real temp directory so readdirSync in getLicenseUrl/getReadmeUrl works
|
|
48
|
+
tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'scanner-vscode-test-'));
|
|
49
|
+
});
|
|
50
|
+
after(() => {
|
|
51
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
52
|
+
});
|
|
53
|
+
it('should set untrustedWorkspacesSupport to true when capabilities.untrustedWorkspaces.supported is true', () => {
|
|
54
|
+
const pkg = createVsCodePluginPackage({
|
|
55
|
+
untrustedWorkspaces: { supported: true }
|
|
56
|
+
}, tmpDir);
|
|
57
|
+
const model = scanner.getModel(pkg);
|
|
58
|
+
(0, chai_1.expect)(model.untrustedWorkspacesSupport).to.equal(true);
|
|
59
|
+
});
|
|
60
|
+
it('should set untrustedWorkspacesSupport to false when capabilities.untrustedWorkspaces.supported is false', () => {
|
|
61
|
+
const pkg = createVsCodePluginPackage({
|
|
62
|
+
untrustedWorkspaces: { supported: false }
|
|
63
|
+
}, tmpDir);
|
|
64
|
+
const model = scanner.getModel(pkg);
|
|
65
|
+
(0, chai_1.expect)(model.untrustedWorkspacesSupport).to.equal(false);
|
|
66
|
+
});
|
|
67
|
+
it('should set untrustedWorkspacesSupport to "limited" when capabilities.untrustedWorkspaces.supported is "limited"', () => {
|
|
68
|
+
const pkg = createVsCodePluginPackage({
|
|
69
|
+
untrustedWorkspaces: { supported: 'limited' }
|
|
70
|
+
}, tmpDir);
|
|
71
|
+
const model = scanner.getModel(pkg);
|
|
72
|
+
(0, chai_1.expect)(model.untrustedWorkspacesSupport).to.equal('limited');
|
|
73
|
+
});
|
|
74
|
+
it('should leave untrustedWorkspacesSupport undefined when no capabilities field is present', () => {
|
|
75
|
+
const pkg = createVsCodePluginPackage(undefined, tmpDir);
|
|
76
|
+
const model = scanner.getModel(pkg);
|
|
77
|
+
(0, chai_1.expect)(model.untrustedWorkspacesSupport).to.equal(undefined);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=scanner-vscode.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner-vscode.spec.js","sourceRoot":"","sources":["../../src/node/scanner-vscode.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/plugin-ext-vscode",
|
|
3
|
-
"version": "1.70.0-next.
|
|
3
|
+
"version": "1.70.0-next.81+463fd57c3",
|
|
4
4
|
"description": "Theia - Plugin Extension for VsCode",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/callhierarchy": "1.70.0-next.
|
|
7
|
-
"@theia/core": "1.70.0-next.
|
|
8
|
-
"@theia/editor": "1.70.0-next.
|
|
9
|
-
"@theia/filesystem": "1.70.0-next.
|
|
10
|
-
"@theia/monaco": "1.70.0-next.
|
|
11
|
-
"@theia/monaco-editor-core": "1.
|
|
12
|
-
"@theia/navigator": "1.70.0-next.
|
|
13
|
-
"@theia/outline-view": "1.70.0-next.
|
|
14
|
-
"@theia/plugin": "1.70.0-next.
|
|
15
|
-
"@theia/plugin-ext": "1.70.0-next.
|
|
16
|
-
"@theia/scm": "1.70.0-next.
|
|
17
|
-
"@theia/terminal": "1.70.0-next.
|
|
18
|
-
"@theia/typehierarchy": "1.70.0-next.
|
|
19
|
-
"@theia/userstorage": "1.70.0-next.
|
|
20
|
-
"@theia/workspace": "1.70.0-next.
|
|
6
|
+
"@theia/callhierarchy": "1.70.0-next.81+463fd57c3",
|
|
7
|
+
"@theia/core": "1.70.0-next.81+463fd57c3",
|
|
8
|
+
"@theia/editor": "1.70.0-next.81+463fd57c3",
|
|
9
|
+
"@theia/filesystem": "1.70.0-next.81+463fd57c3",
|
|
10
|
+
"@theia/monaco": "1.70.0-next.81+463fd57c3",
|
|
11
|
+
"@theia/monaco-editor-core": "1.108.201",
|
|
12
|
+
"@theia/navigator": "1.70.0-next.81+463fd57c3",
|
|
13
|
+
"@theia/outline-view": "1.70.0-next.81+463fd57c3",
|
|
14
|
+
"@theia/plugin": "1.70.0-next.81+463fd57c3",
|
|
15
|
+
"@theia/plugin-ext": "1.70.0-next.81+463fd57c3",
|
|
16
|
+
"@theia/scm": "1.70.0-next.81+463fd57c3",
|
|
17
|
+
"@theia/terminal": "1.70.0-next.81+463fd57c3",
|
|
18
|
+
"@theia/typehierarchy": "1.70.0-next.81+463fd57c3",
|
|
19
|
+
"@theia/userstorage": "1.70.0-next.81+463fd57c3",
|
|
20
|
+
"@theia/workspace": "1.70.0-next.81+463fd57c3",
|
|
21
21
|
"decompress": "^4.2.1",
|
|
22
22
|
"filenamify": "^4.1.0",
|
|
23
23
|
"tslib": "^2.6.2"
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"nyc": {
|
|
62
62
|
"extends": "../../configs/nyc.json"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "463fd57c374c371bbe48ade992af724cf143fb6a"
|
|
65
65
|
}
|
|
@@ -1075,6 +1075,35 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
|
|
|
1075
1075
|
await open(this.openerService, uri, options);
|
|
1076
1076
|
}
|
|
1077
1077
|
});
|
|
1078
|
+
|
|
1079
|
+
// Temporary workaround: opens a single diff editor for the revealed resource.
|
|
1080
|
+
// TODO: GH-16280 implement a proper MultiDiffEditor widget.
|
|
1081
|
+
commands.registerCommand({ id: '_workbench.openMultiDiffEditor' }, {
|
|
1082
|
+
execute: async (options: {
|
|
1083
|
+
title: string;
|
|
1084
|
+
resources?: { originalUri: UriComponents; modifiedUri: UriComponents }[];
|
|
1085
|
+
reveal?: { modifiedUri: UriComponents };
|
|
1086
|
+
}): Promise<void> => {
|
|
1087
|
+
if (!options.resources?.length) {
|
|
1088
|
+
return;
|
|
1089
|
+
}
|
|
1090
|
+
const revealModified = options.reveal?.modifiedUri;
|
|
1091
|
+
const revealStr = revealModified ? URI.revive(revealModified)?.toString() : undefined;
|
|
1092
|
+
const target = revealStr
|
|
1093
|
+
? options.resources.find(r => URI.revive(r.modifiedUri)?.toString() === revealStr)
|
|
1094
|
+
: undefined;
|
|
1095
|
+
const resource = target ?? options.resources[0];
|
|
1096
|
+
const left = URI.revive(resource.originalUri);
|
|
1097
|
+
const right = URI.revive(resource.modifiedUri);
|
|
1098
|
+
if (left && right) {
|
|
1099
|
+
await commands.executeCommand(VscodeCommands.DIFF.id, left, right, options.title);
|
|
1100
|
+
} else if (right) {
|
|
1101
|
+
await commands.executeCommand(VscodeCommands.OPEN.id, right);
|
|
1102
|
+
} else if (left) {
|
|
1103
|
+
await commands.executeCommand(VscodeCommands.OPEN.id, left);
|
|
1104
|
+
}
|
|
1105
|
+
},
|
|
1106
|
+
});
|
|
1078
1107
|
}
|
|
1079
1108
|
|
|
1080
1109
|
private async deployPlugin(uri: TheiaURI | UriComponents): Promise<void> {
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
|
|
17
17
|
import * as path from 'path';
|
|
18
18
|
import { inject, injectable } from '@theia/core/shared/inversify';
|
|
19
|
-
import { PluginDeployerResolverContext } from '@theia/plugin-ext';
|
|
19
|
+
import { PluginDeployerResolverContext, PluginIdentifiers } from '@theia/plugin-ext';
|
|
20
20
|
import { LocalPluginDeployerResolver } from '@theia/plugin-ext/lib/main/node/resolvers/local-plugin-deployer-resolver';
|
|
21
21
|
import { PluginVSCodeEnvironment } from '../common/plugin-vscode-environment';
|
|
22
22
|
import { isVSCodePluginFile } from './plugin-vscode-file-handler';
|
|
23
|
-
import { existsInDeploymentDir, unpackToDeploymentDir } from './plugin-vscode-utils';
|
|
23
|
+
import { existsInDeploymentDir, unpackToDeploymentDir, extractExtensionIdentityFromVsix } from './plugin-vscode-utils';
|
|
24
24
|
|
|
25
25
|
@injectable()
|
|
26
26
|
export class LocalVSIXFilePluginDeployerResolver extends LocalPluginDeployerResolver {
|
|
@@ -38,14 +38,40 @@ export class LocalVSIXFilePluginDeployerResolver extends LocalPluginDeployerReso
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
async resolveFromLocalPath(pluginResolverContext: PluginDeployerResolverContext, localPath: string): Promise<void> {
|
|
41
|
-
|
|
41
|
+
// Extract the true extension identity from the VSIX package.json
|
|
42
|
+
// This prevents duplicate installations when the same extension is installed from VSIX files with different filenames
|
|
43
|
+
// See: https://github.com/eclipse-theia/theia/issues/16845
|
|
44
|
+
const components = await extractExtensionIdentityFromVsix(localPath);
|
|
42
45
|
|
|
43
|
-
if (
|
|
44
|
-
|
|
46
|
+
if (!components) {
|
|
47
|
+
// Fallback to filename-based ID if package.json cannot be read
|
|
48
|
+
// This maintains backward compatibility for edge cases
|
|
49
|
+
const fallbackId = path.basename(localPath, LocalVSIXFilePluginDeployerResolver.FILE_EXTENSION);
|
|
50
|
+
console.warn(`[${pluginResolverContext.getOriginId()}]: Could not read extension identity from VSIX, falling back to filename: ${fallbackId}`);
|
|
51
|
+
|
|
52
|
+
if (await existsInDeploymentDir(this.environment, fallbackId)) {
|
|
53
|
+
console.log(`[${pluginResolverContext.getOriginId()}]: Target dir already exists in plugin deployment dir`);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const fallbackDeploymentDir = await unpackToDeploymentDir(this.environment, localPath, fallbackId);
|
|
58
|
+
pluginResolverContext.addPlugin(fallbackId, fallbackDeploymentDir);
|
|
45
59
|
return;
|
|
46
60
|
}
|
|
47
61
|
|
|
48
|
-
const
|
|
49
|
-
|
|
62
|
+
const versionedId = PluginIdentifiers.componentsToVersionedId(components);
|
|
63
|
+
|
|
64
|
+
// Check if the deployment directory already exists on disk
|
|
65
|
+
if (await existsInDeploymentDir(this.environment, versionedId)) {
|
|
66
|
+
const unversionedId = PluginIdentifiers.componentsToUnversionedId(components);
|
|
67
|
+
const error = new Error(
|
|
68
|
+
`Extension ${unversionedId} is already installed (version: ${components.version}).`
|
|
69
|
+
);
|
|
70
|
+
error.name = 'DuplicateExtensionError';
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const extensionDeploymentDir = await unpackToDeploymentDir(this.environment, localPath, versionedId);
|
|
75
|
+
pluginResolverContext.addPlugin(versionedId, extensionDeploymentDir);
|
|
50
76
|
}
|
|
51
77
|
}
|
|
@@ -20,6 +20,50 @@ import * as filenamify from 'filenamify';
|
|
|
20
20
|
import { FileUri } from '@theia/core/lib/node';
|
|
21
21
|
import * as fs from '@theia/core/shared/fs-extra';
|
|
22
22
|
import { PluginVSCodeEnvironment } from '../common/plugin-vscode-environment';
|
|
23
|
+
import { PluginIdentifiers, PluginPackage } from '@theia/plugin-ext/lib/common/plugin-protocol';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Extracts extension identity from a VSIX file by reading its package.json.
|
|
27
|
+
*
|
|
28
|
+
* VSIX files are ZIP archives with the extension content in an `extension/` subdirectory.
|
|
29
|
+
* This function extracts only the `extension/package.json` file to read the extension metadata.
|
|
30
|
+
*
|
|
31
|
+
* @param vsixPath Path to the VSIX file
|
|
32
|
+
* @returns PluginIdentifiers.Components (publisher?, name, version), or undefined if the package.json cannot be read or is invalid
|
|
33
|
+
*/
|
|
34
|
+
export async function extractExtensionIdentityFromVsix(vsixPath: string): Promise<PluginIdentifiers.Components | undefined> {
|
|
35
|
+
try {
|
|
36
|
+
// Extract only the package.json file from the VSIX
|
|
37
|
+
const files = await decompress(vsixPath, {
|
|
38
|
+
filter: file => file.path === 'extension/package.json'
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
if (files.length === 0) {
|
|
42
|
+
console.warn(`[${vsixPath}]: No extension/package.json found in VSIX`);
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const packageJsonContent = files[0].data.toString('utf8');
|
|
47
|
+
const packageJson: Partial<PluginPackage> = JSON.parse(packageJsonContent);
|
|
48
|
+
|
|
49
|
+
// Validate required fields
|
|
50
|
+
if (!packageJson.name || !packageJson.version) {
|
|
51
|
+
console.warn(`[${vsixPath}]: Invalid package.json - missing name or version`);
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const components: PluginIdentifiers.Components = {
|
|
56
|
+
publisher: packageJson.publisher,
|
|
57
|
+
name: packageJson.name,
|
|
58
|
+
version: packageJson.version
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
return components;
|
|
62
|
+
} catch (error) {
|
|
63
|
+
console.error(`[${vsixPath}]: Failed to extract extension identity from VSIX`, error);
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
23
67
|
|
|
24
68
|
export async function decompressExtension(sourcePath: string, destPath: string): Promise<boolean> {
|
|
25
69
|
try {
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2026 EclipseSource and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
18
|
+
|
|
19
|
+
import { expect } from 'chai';
|
|
20
|
+
import * as os from 'os';
|
|
21
|
+
import * as path from 'path';
|
|
22
|
+
import * as fs from 'fs';
|
|
23
|
+
import { VsCodePluginScanner } from './scanner-vscode';
|
|
24
|
+
import { PluginPackage } from '@theia/plugin-ext';
|
|
25
|
+
import URI from '@theia/core/lib/common/uri';
|
|
26
|
+
|
|
27
|
+
function createVsCodePluginPackage(
|
|
28
|
+
capabilities?: PluginPackage['capabilities'],
|
|
29
|
+
packagePath?: string
|
|
30
|
+
): PluginPackage {
|
|
31
|
+
return {
|
|
32
|
+
name: 'test-vscode-plugin',
|
|
33
|
+
publisher: 'test-publisher',
|
|
34
|
+
version: '1.0.0',
|
|
35
|
+
engines: { vscode: '^1.5.0' },
|
|
36
|
+
displayName: 'Test VSCode Plugin',
|
|
37
|
+
description: 'A test vscode plugin',
|
|
38
|
+
packagePath: packagePath ?? os.tmpdir(),
|
|
39
|
+
main: 'extension.js',
|
|
40
|
+
capabilities
|
|
41
|
+
} as PluginPackage;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
describe('VsCodePluginScanner', () => {
|
|
45
|
+
let scanner: VsCodePluginScanner;
|
|
46
|
+
let tmpDir: string;
|
|
47
|
+
|
|
48
|
+
before(() => {
|
|
49
|
+
scanner = new VsCodePluginScanner();
|
|
50
|
+
// Inject a mock pluginUriFactory
|
|
51
|
+
(scanner as any).pluginUriFactory = {
|
|
52
|
+
createUri: (_pkg: PluginPackage, _relativePath?: string) => new URI('file:///dummy')
|
|
53
|
+
};
|
|
54
|
+
// Create a real temp directory so readdirSync in getLicenseUrl/getReadmeUrl works
|
|
55
|
+
tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'scanner-vscode-test-'));
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
after(() => {
|
|
59
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it('should set untrustedWorkspacesSupport to true when capabilities.untrustedWorkspaces.supported is true', () => {
|
|
63
|
+
const pkg = createVsCodePluginPackage({
|
|
64
|
+
untrustedWorkspaces: { supported: true }
|
|
65
|
+
}, tmpDir);
|
|
66
|
+
|
|
67
|
+
const model = scanner.getModel(pkg);
|
|
68
|
+
expect(model.untrustedWorkspacesSupport).to.equal(true);
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
it('should set untrustedWorkspacesSupport to false when capabilities.untrustedWorkspaces.supported is false', () => {
|
|
72
|
+
const pkg = createVsCodePluginPackage({
|
|
73
|
+
untrustedWorkspaces: { supported: false }
|
|
74
|
+
}, tmpDir);
|
|
75
|
+
|
|
76
|
+
const model = scanner.getModel(pkg);
|
|
77
|
+
expect(model.untrustedWorkspacesSupport).to.equal(false);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
it('should set untrustedWorkspacesSupport to "limited" when capabilities.untrustedWorkspaces.supported is "limited"', () => {
|
|
81
|
+
const pkg = createVsCodePluginPackage({
|
|
82
|
+
untrustedWorkspaces: { supported: 'limited' }
|
|
83
|
+
}, tmpDir);
|
|
84
|
+
|
|
85
|
+
const model = scanner.getModel(pkg);
|
|
86
|
+
expect(model.untrustedWorkspacesSupport).to.equal('limited');
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
it('should leave untrustedWorkspacesSupport undefined when no capabilities field is present', () => {
|
|
90
|
+
const pkg = createVsCodePluginPackage(undefined, tmpDir);
|
|
91
|
+
|
|
92
|
+
const model = scanner.getModel(pkg);
|
|
93
|
+
expect(model.untrustedWorkspacesSupport).to.equal(undefined);
|
|
94
|
+
});
|
|
95
|
+
});
|