From f2ed431aa5a27b5a5b409243acca7e597a9aab35 Mon Sep 17 00:00:00 2001 From: CD Date: Sat, 7 Mar 2026 18:31:13 +0900 Subject: [PATCH] fix: LS ConnectRPC use HTTPS when detected, not port heuristic --- extension/gravity-bridge-0.2.0.vsix | Bin 27637 -> 27830 bytes extension/out/extension.js | 12 ++++++++++-- extension/out/extension.js.map | 2 +- extension/src/extension.ts | 12 ++++++++++-- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/extension/gravity-bridge-0.2.0.vsix b/extension/gravity-bridge-0.2.0.vsix index baac216eec5d5fd8c84bb412d29e77c919395f66..4d88a3e436a7fc7bf578ec33c2758a6ac85c86dc 100644 GIT binary patch delta 24708 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 B&w&5{ diff --git a/extension/out/extension.js b/extension/out/extension.js index 1c6241f..1d73186 100644 --- a/extension/out/extension.js +++ b/extension/out/extension.js @@ -122,6 +122,7 @@ function activate(context) { let lsPort = null; let lsCsrf = ''; let lsPid = null; + let lsUseTls = false; // track detected protocol let lastStepIndex = {}; // cascadeId → last known step index async function discoverLS() { return new Promise((resolve) => { @@ -210,8 +211,15 @@ function activate(context) { let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { - // Any response (even error) means ConnectRPC is here console.log(`Gravity Bridge: [LS] port ${port} (${useTls ? 'https' : 'http'}) status=${res.statusCode} body=${data.substring(0, 200)}`); + // If HTTP got "HTTPS server" response, retry with HTTPS + if (!useTls && data.includes('HTTPS server')) { + tryProto(https, true); + return; + } + if (res.statusCode !== 404) { + lsUseTls = useTls; // remember which protocol worked + } resolve(res.statusCode !== 404); }); }); @@ -238,7 +246,7 @@ function activate(context) { return new Promise((resolve) => { const http = require('http'); const https = require('https'); - const proto = lsPort > 40000 ? https : http; // heuristic + const proto = lsUseTls ? https : http; // use detected protocol const body = JSON.stringify(payload); const req = proto.request({ hostname: '127.0.0.1', diff --git a/extension/out/extension.js.map b/extension/out/extension.js.map index 93af7f4..c2622a4 100644 --- a/extension/out/extension.js.map +++ b/extension/out/extension.js.map @@ -1 +1 @@ -{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDH,4BA+TC;AAqQD,oDAwBC;AAiRD,gCAEC;AAp6BD,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB,IAAI,OAAO,GAAwB,IAAI,CAAC;AACxC,IAAI,eAAe,GAAwB,IAAI,CAAC;AAChD,IAAI,SAA+B,CAAC;AACpC,IAAI,UAAkB,CAAC;AACvB,IAAI,WAAmB,CAAC;AACxB,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,6CAA6C;AAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;AAEzC,kDAAoC;AAEpC;;;GAGG;AACH,SAAS,iBAAiB;IACtB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAS,aAAa,CAAC,CAAC;IACrD,IAAI,UAAU,EAAE,CAAC;QAAC,OAAO,UAAU,CAAC;IAAC,CAAC;IAEtC,yCAAyC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAClD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,2BAA2B,EAAE;gBACvD,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI;aACxC,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,6EAA6E;YAC7E,0CAA0C;YAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACxD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,8CAA8C,QAAQ,GAAG,CAAC,CAAC;gBACvE,OAAO,QAAQ,CAAC;YACpB,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,qCAAqC;QACzC,CAAC;QAED,kCAAkC;QAClC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED,SAAgB,QAAQ,CAAC,OAAgC;IACrD,WAAW,GAAG,iBAAiB,EAAE,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,2CAA2C,WAAW,MAAM,CAAC,CAAC;IAE1E,wBAAwB;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAS,YAAY,CAAC,CAAC;IACpD,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAEvF,kCAAkC;IAClC,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IAC7D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,aAAa;IACb,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpF,SAAS,CAAC,OAAO,GAAG,qBAAqB,CAAC;IAC1C,SAAS,CAAC,IAAI,GAAG,kBAAkB,WAAW,OAAO,CAAC;IACtD,SAAS,CAAC,OAAO,GAAG,oBAAoB,WAAW,EAAE,CAAC;IACtD,SAAS,CAAC,IAAI,EAAE,CAAC;IACjB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtC,oBAAoB;IACpB,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,qBAAqB,EAAE,WAAW,CAAC,EACnE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,EAAE,UAAU,CAAC,EACjE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,cAAc,CAAC,EACxE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,EACxF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAC3F,CAAC;IAEF,8DAA8D;IAC9D,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,QAAQ,GAAY,KAAK,CAAC,CAAE,0BAA0B;IAC1D,IAAI,aAAa,GAA2B,EAAE,CAAC,CAAE,oCAAoC;IAErF,KAAK,UAAU,UAAU;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,8CAA8C;YAC9C,EAAE,CAAC,IAAI,CACH,oSAAoS,EACpS,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAC9B,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACZ,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;oBACtD,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC;oBACD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBAAC,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;oBAAC,CAAC;oBAC/C,iDAAiD;oBACjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;wBACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBACrD,IAAI,KAAK,EAAE,CAAC;4BACR,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;4BACvB,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;4BAClB,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,UAAU,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;4BACrF,MAAM;wBACV,CAAC;oBACL,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBAED,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;oBACf,OAAO;gBACX,CAAC;gBAED,6CAA6C;gBAC7C,EAAE,CAAC,IAAI,CACH,kDAAkD,KAAK,GAAG,EAC1D,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,EAAE,EACzB,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;oBACpB,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,yDAAyD,KAAK,EAAE,CAAC,CAAC;wBAC9E,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,OAAO;oBACX,CAAC;oBACD,cAAc;oBACd,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;wBAC7C,IAAI,CAAC,EAAE,CAAC;4BAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAAC,CAAC;oBAC1C,CAAC;oBACD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9D,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEtF,6DAA6D;oBAC7D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;wBAC7B,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;wBACnC,IAAI,EAAE,EAAE,CAAC;4BACL,MAAM,GAAG,IAAI,CAAC;4BACd,OAAO,CAAC,GAAG,CAAC,oDAAoD,IAAI,EAAE,CAAC,CAAC;4BACxE,OAAO,CAAC,IAAI,CAAC,CAAC;4BACd,OAAO;wBACX,CAAC;oBACL,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;oBACjE,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC,CACJ,CAAC;YACN,CAAC,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,WAAW,CAAC,IAAY;QAC7B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAE/B,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAE,MAAe,EAAE,EAAE;gBAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;oBACtB,QAAQ,EAAE,WAAW;oBACrB,IAAI;oBACJ,IAAI,EAAE,yEAAyE;oBAC/E,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACL,cAAc,EAAE,kBAAkB;wBAClC,sBAAsB,EAAE,MAAM;qBACjC;oBACD,kBAAkB,EAAE,KAAK;oBACzB,OAAO,EAAE,IAAI;iBAChB,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACZ,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACf,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAAY,GAAG,CAAC,UAAU,SAAS,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;wBACxI,wDAAwD;wBACxD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;4BAC3C,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;4BACtB,OAAO;wBACX,CAAC;wBACD,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;4BACzB,QAAQ,GAAG,MAAM,CAAC,CAAE,iCAAiC;wBACzD,CAAC;wBACD,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACjB,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,YAAY;wBACZ,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1B,CAAC;yBAAM,CAAC;wBACJ,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnB,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChB,GAAG,CAAC,GAAG,EAAE,CAAC;YACd,CAAC,CAAC;YACF,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,UAAU,KAAK,CAAC,MAAc,EAAE,UAAe,EAAE;QAClD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAE,wBAAwB;YAChE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;gBACtB,QAAQ,EAAE,WAAW;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iDAAiD,MAAM,EAAE;gBAC/D,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;oBAClC,sBAAsB,EAAE,MAAM;oBAC9B,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;iBAC5C;gBACD,kBAAkB,EAAE,KAAK;gBACzB,OAAO,EAAE,IAAI;aAChB,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACZ,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACf,IAAI,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;gBACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChB,GAAG,CAAC,GAAG,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,UAAU,iBAAiB;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACxB,IAAI,CAAC;YACD,sEAAsE;YACtE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAExB,qCAAqC;YACrC,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAClG,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,uBAAuB,IAAI,EAAE,CAAC;YACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAE7C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;gBACvE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;gBACnF,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;gBAE/B,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,GAAG,IAAI,EAAE,CAAC;oBACvC,sDAAsD;oBACtD,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC;oBAC1F,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,sBAAsB,EAAE;wBAC7C,aAAa,EAAE,EAAE;wBACjB,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE;qBAC9D,CAAC,CAAC;oBAEH,IAAI,IAAI,EAAE,CAAC;wBACP,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;oBACzC,CAAC;gBACL,CAAC;gBACD,aAAa,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;YAChC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAED,SAAS,eAAe,CAAC,UAAe,EAAE,QAAgB,EAAE,MAAc;QACtE,sEAAsE;QACtE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;YAC/C,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YAElC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAEhE,6CAA6C;YAC7C,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,kBAAkB,CAAC,IAAI,OAAO,EAAE,CAAC;gBACzE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,oCAAoC;YACpC,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QAED,qDAAqD;QACrD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,aAAa,IAAI,EAAE,CAAC;YACnE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBAC1C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,gCAAgC,QAAQ,CAAC,MAAM,yBAAyB,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,yBAAyB;YACzB,MAAM,iBAAiB,EAAE,CAAC;YAC1B,qBAAqB;YACrB,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACxF,CAAC;IACL,CAAC,EAAE,IAAI,CAAC,CAAC;IAGT,6DAA6D;IAC7D,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/C,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC,CACL,CAAC;IAEF,sDAAsD;IACtD,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,CACjD,wBAAwB,EACxB,iBAAiB,CACpB,CAAC;QACF,WAAW,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC3D,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IAC3E,CAAC;IAED,0DAA0D;IAC1D,wBAAwB,EAAE,CAAC;IAE3B,aAAa;IACb,WAAW,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,WAAW;IAChB,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,oBAAoB,CAAC,CAAC;QACzF,OAAO;IACX,CAAC;IAED,QAAQ,GAAG,IAAI,CAAC;IAChB,SAAS,CAAC,IAAI,GAAG,kBAAkB,WAAW,MAAM,CAAC;IACrD,SAAS,CAAC,OAAO,GAAG,oBAAoB,WAAW,WAAW,CAAC;IAC/D,SAAS,CAAC,OAAO,GAAG,oBAAoB,CAAC;IAEzC,oDAAoD;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC,CAAE,WAAW;IACtD,IAAI,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YAC5E,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1E,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;gBACxD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtD,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,oDAAoD;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC;QACD,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YACpF,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1E,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;gBACxD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;YACrD,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,YAAY,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,wCAAwC,WAAW,cAAc,UAAU,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,UAAU;IACf,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE1B,QAAQ,GAAG,KAAK,CAAC;IACjB,SAAS,CAAC,IAAI,GAAG,kBAAkB,WAAW,OAAO,CAAC;IACtD,SAAS,CAAC,OAAO,GAAG,oBAAoB,WAAW,EAAE,CAAC;IACtD,SAAS,CAAC,OAAO,GAAG,qBAAqB,CAAC;IAE1C,IAAI,OAAO,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAAC,OAAO,GAAG,IAAI,CAAC;IAAC,CAAC;IACjD,IAAI,eAAe,EAAE,CAAC;QAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAAC,eAAe,GAAG,IAAI,CAAC;IAAC,CAAC;IAEzE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,YAAY,CAAC,CAAC;AACrF,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,QAAgB;IAC1C,IAAI,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEhD,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,0BAA0B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzF,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,gBAAgB,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,eAAe,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACJ,MAAM,iBAAiB,EAAE,CAAC;YAC1B,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,eAAe,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;IAClE,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,QAAgB;IACzC,IAAI,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAEzC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAElD,4DAA4D;QAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAC9C,IAAI,UAAU,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,4BAA4B,UAAU,GAAG,CAAC,CAAC;YACrF,OAAO,CAAE,6DAA6D;QAC1E,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,iBAAiB,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAErF,0CAA0C;QAC1C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;gBACnE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,WAAW,aAAa,CAAC,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACL,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO;QACX,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,KAAK,UAAU,CAAC;YACpC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAEjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YACxB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO;QACX,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,oCAAoC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,EAAE,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,EAAE,CAAC,CAAC;YACpE,sCAAsC;YACtC,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxF,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAE,EAAE,CAAC,CAAC;gBACnE,6CAA6C;gBAC7C,IAAI,CAAC;oBACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;oBACrE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;oBACvD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACtD,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACnD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,oCAAoC,CAAC,CAAC;oBAC3E,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBAC9C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBAC5D,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACV,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;IAEnD,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1F,MAAM,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAE1F,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,MAAM,CAAC,MAAM,CAAC,uCAAuC,EAAE,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,MAAM,CAAC,MAAM,CAAC,kCAAkC,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEpG,SAAS,CAAC,IAAI,GAAG,OAAO;YACpB,CAAC,CAAC,kBAAkB,WAAW,UAAU;YACzC,CAAC,CAAC,kBAAkB,WAAW,aAAa,CAAC;QAEjD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,mBAAmB,WAAW,MAAM,IAAI,EAAE,CAAC,CAAC;QAEjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvF,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;YACxC,EAAE,EAAE,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE;YAC/B,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,0BAA0B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;YACxD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;YAC5B,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,OAAO;SACxB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAE1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC3B,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,2CAA2C,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACL,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;QAC5E,CAAC;IACL,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC5B,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACL,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,QAAiB;IACzC,MAAM,SAAS,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG;QACb,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;KAC/B,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAE3E,IAAI,QAAQ,EAAE,CAAC;QAAC,gBAAgB,EAAE,CAAC;IAAC,CAAC;SAChC,CAAC;QAAC,iBAAiB,EAAE,CAAC;IAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAChC,cAAsB,EACtB,OAAe,EACf,WAAmB;IAEnB,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAG;QACZ,UAAU,EAAE,SAAS;QACrB,eAAe,EAAE,cAAc;QAC/B,YAAY,EAAE,WAAW,EAAG,oBAAoB;QAChD,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,WAAW;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAC5B,MAAM,EAAE,SAAS;QACjB,kBAAkB,EAAE,CAAC;KACxB,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,yBAAyB,SAAS,EAAE,CAAC,CAAC;IAChF,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,cAAsB;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,cAAc,OAAO,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG;QACT,eAAe,EAAE,cAAc;QAC/B,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;KAC/B,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,iBAAiB,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACjG,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAe;IACzC,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACtC,IAAI,KAAK,EAAE,CAAC;wBAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QACzD,OAAO;IACX,CAAC;IAED,mEAAmE;IACnE,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClE,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,EAAE;QACL,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO;YACH,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO;YACpC,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC;SACxC,CAAC;IACN,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAElB,wBAAwB;IACxB,MAAM,KAAK,GAAmD,EAAE,CAAC;IAEjE,yCAAyC;IACzC,KAAK,CAAC,IAAI,CAAC;QACP,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,iCAAiC;QAC9C,MAAM,EAAE,SAAS,WAAW,EAAE;KACjC,CAAC,CAAC;IAEH,qCAAqC;IACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,yBAAyB,UAAU,EAAE;YAC5C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,OAAO,EAAE;YAChC,MAAM,EAAE,CAAC,CAAC,IAAI;SACV,CAAC,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE;QACtD,WAAW,EAAE,SAAS,WAAW,kBAAkB;KACtD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE1B,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC9C,oBAAoB;QACpB,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAChC,MAAM,WAAW,qBAAqB,CACzC,CAAC;QACF,OAAO;IACX,CAAC;IAED,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAChC,KAAK,QAAQ,CAAC,WAAW,MAAM,WAAW,MAAM,CACnD,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE1C,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,GAAG,CACrB,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACjC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CACrD,CACJ,CAAC;IAEF,IAAI,CAAC;QACD,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YAC/D,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAEhD,gCAAgC;YAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACnD,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBACtC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxB,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,kCAAkC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5G,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,qCAAqC,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;IACpE,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,IAAI,eAAe,GAAG,EAAE,CAAC;AACzB,IAAI,iBAAiB,GAA0B,IAAI,CAAC;AAEpD,SAAS,wBAAwB,CAAC,KAAqC;IACnE,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;IAE9B,6DAA6D;IAC7D,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ;QAC5D,MAAM,KAAK,iBAAiB,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,yBAAyB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/H,CAAC;IAED,iCAAiC;IACjC,sEAAsE;IACtE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEjE,IAAI,CAAC,SAAS,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAExD,+DAA+D;IAC/D,IAAI,iBAAiB,EAAE,CAAC;QAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAAC,CAAC;IAC3D,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,YAAY,IAAI,YAAY,KAAK,eAAe,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC/E,eAAe,GAAG,YAAY,CAAC;YAC/B,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;IACL,CAAC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG;QACT,EAAE;QACF,YAAY,EAAE,WAAW;QACzB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,EAAG,aAAa;QACnD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;KAC/B,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,6BAA6B,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;AACpG,CAAC;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAA8B,KAAK,EACtD,OAA2B,EAC3B,OAA2B,EAC3B,MAAiC,EACjC,KAA+B,EACjC,EAAE;IACA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEpD,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzC,yBAAyB;QACzB,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC;YACnE,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO;IACX,CAAC;IAED,+BAA+B;IAC/B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,YAAY,CAAC,IAAI,CAAC,cAAc,WAAW,KAAK,CAAC,CAAC;IAElD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,KAAK,YAAY,MAAM,CAAC,eAAe,EAAE,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,KAAK,YAAY,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAClD,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,IAAI,YAAY,MAAM,CAAC,wBAAwB,EAAE,CAAC;oBAClD,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBACrC,CAAC;YACL,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACf,YAAY,CAAC,IAAI,CAAC,aAAa,YAAY,IAAI,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC;QACvE,OAAO;IACX,CAAC;IAED,oCAAoC;IACpC,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,kBAAkB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG;QACT,EAAE,EAAE,KAAK;QACT,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,cAAc,WAAW,EAAE;QACjC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAC5B,QAAQ,EAAE,KAAK;KAClB,CAAC;IAEF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAElE,MAAM,CAAC,QAAQ,CAAC,cAAc,OAAO,CAAC,OAAO,CAAC,MAAM,wBAAwB,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,WAAW,OAAO,CAAC,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAC;AACpG,CAAC,CAAC;AAEF,SAAgB,UAAU;IACtB,UAAU,EAAE,CAAC;AACjB,CAAC"} \ No newline at end of file diff --git a/extension/src/extension.ts b/extension/src/extension.ts index 4fbe971..6547d6f 100644 --- a/extension/src/extension.ts +++ b/extension/src/extension.ts @@ -101,6 +101,7 @@ export function activate(context: vscode.ExtensionContext) { let lsPort: number | null = null; let lsCsrf: string = ''; let lsPid: number | null = null; + let lsUseTls: boolean = false; // track detected protocol let lastStepIndex: Record = {}; // cascadeId → last known step index async function discoverLS(): Promise { @@ -198,8 +199,15 @@ export function activate(context: vscode.ExtensionContext) { let data = ''; res.on('data', (chunk: any) => { data += chunk; }); res.on('end', () => { - // Any response (even error) means ConnectRPC is here console.log(`Gravity Bridge: [LS] port ${port} (${useTls ? 'https' : 'http'}) status=${res.statusCode} body=${data.substring(0, 200)}`); + // If HTTP got "HTTPS server" response, retry with HTTPS + if (!useTls && data.includes('HTTPS server')) { + tryProto(https, true); + return; + } + if (res.statusCode !== 404) { + lsUseTls = useTls; // remember which protocol worked + } resolve(res.statusCode !== 404); }); }); @@ -224,7 +232,7 @@ export function activate(context: vscode.ExtensionContext) { return new Promise((resolve) => { const http = require('http'); const https = require('https'); - const proto = lsPort! > 40000 ? https : http; // heuristic + const proto = lsUseTls ? https : http; // use detected protocol const body = JSON.stringify(payload); const req = proto.request({ hostname: '127.0.0.1',