roku-debug 0.23.7 → 0.23.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/README.md +7 -2
- package/audit-ci.jsonc +15 -0
- package/dist/adapters/DebugProtocolAdapter.d.ts +29 -8
- package/dist/adapters/DebugProtocolAdapter.js +97 -35
- package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
- package/dist/adapters/TelnetAdapter.d.ts +2 -0
- package/dist/adapters/TelnetAdapter.js +7 -0
- package/dist/adapters/TelnetAdapter.js.map +1 -1
- package/dist/debugProtocol/client/DebugProtocolClient.d.ts +12 -19
- package/dist/debugProtocol/client/DebugProtocolClient.js +16 -36
- package/dist/debugProtocol/client/DebugProtocolClient.js.map +1 -1
- package/dist/debugProtocol/client/ProtocolCapabilities.d.ts +56 -0
- package/dist/debugProtocol/client/ProtocolCapabilities.js +106 -0
- package/dist/debugProtocol/client/ProtocolCapabilities.js.map +1 -0
- package/dist/debugSession/BrightScriptDebugSession.d.ts +16 -2
- package/dist/debugSession/BrightScriptDebugSession.js +220 -150
- package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
- package/dist/managers/ProjectManager.d.ts +17 -0
- package/dist/managers/ProjectManager.js +42 -5
- package/dist/managers/ProjectManager.js.map +1 -1
- package/package.json +17 -14
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,36 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## [0.23.9](https://github.com/rokucommunity/roku-debug/compare/0.23.8...v0.23.9) - 2026-05-27
|
|
10
|
+
### Changed
|
|
11
|
+
- upgrade to [brighterscript@0.72.3](https://github.com/rokucommunity/brighterscript/blob/master/CHANGELOG.md#0723---2026-05-27).
|
|
12
|
+
### Fixed
|
|
13
|
+
- stale suspend/runtime-error events when debugger is no longer paused ([#356](https://github.com/rokucommunity/roku-debug/pull/356))
|
|
14
|
+
- crash related to missing client when trying to sync breakpoints with device ([#357](https://github.com/rokucommunity/roku-debug/pull/357))
|
|
15
|
+
- pressHomeButton crash in disconnectRequest ([#358](https://github.com/rokucommunity/roku-debug/pull/358))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## [0.23.8](https://github.com/rokucommunity/roku-debug/compare/0.23.7...v0.23.8) - 2026-05-19
|
|
20
|
+
### Changed
|
|
21
|
+
- Inject breakpoint STOPs _after_ `InitializedEvent` ([#340](https://github.com/rokucommunity/roku-debug/pull/340))
|
|
22
|
+
- Defer DAP capabilities and InitializedEvent until after adapter connects ([#328](https://github.com/rokucommunity/roku-debug/pull/328))
|
|
23
|
+
- upgrade to [@rokucommunity/logger@0.3.12](https://github.com/rokucommunity/logger/blob/master/CHANGELOG.md#0312---2026-05-19). Notable changes since 0.3.11:
|
|
24
|
+
- Security enhancements ([#17](https://github.com/rokucommunity/logger/pull/17))
|
|
25
|
+
- upgrade to [brighterscript@0.72.2](https://github.com/rokucommunity/brighterscript/blob/master/CHANGELOG.md#0722---2026-05-19). Notable changes since 0.72.1:
|
|
26
|
+
- Security enhancements ([#1714](https://github.com/rokucommunity/brighterscript/pull/1714))
|
|
27
|
+
- upgrade to [roku-deploy@3.17.4](https://github.com/rokucommunity/roku-deploy/blob/master/CHANGELOG.md#3174---2026-05-19). Notable changes since 3.17.2:
|
|
28
|
+
- Security enhancements ([#263](https://github.com/rokucommunity/roku-deploy/pull/263))
|
|
29
|
+
- Add `autoLaunch` option to control `dev_autolaunch` on sideload ([#261](https://github.com/rokucommunity/roku-deploy/pull/261))
|
|
30
|
+
### Fixed
|
|
31
|
+
- security enhancements ([#350](https://github.com/rokucommunity/roku-debug/pull/350))
|
|
32
|
+
- TelnetAdapter crash when methods are called after destroy ([#349](https://github.com/rokucommunity/roku-debug/pull/349))
|
|
33
|
+
- deferred capability handling for exception breakpoints ([#342](https://github.com/rokucommunity/roku-debug/pull/342))
|
|
34
|
+
- bug on windows with rdb file copying ([#343](https://github.com/rokucommunity/roku-debug/pull/343))
|
|
35
|
+
- sourcemap race in preprocessStagingFiles ([#339](https://github.com/rokucommunity/roku-debug/pull/339))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
9
39
|
## [0.23.7](https://github.com/rokucommunity/roku-debug/compare/0.23.6...v0.23.7) - 2026-05-11
|
|
10
40
|
### Changed
|
|
11
41
|
- upgrade to [brighterscript@0.72.1](https://github.com/rokucommunity/brighterscript/blob/master/CHANGELOG.md#0721---2026-05-11). Notable changes since 0.72.0:
|
package/README.md
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
A [Debug Adapter Protocol](https://microsoft.github.io/debug-adapter-protocol/) server (for editors like VSCode) and a socket adapter for Roku's [BrightScript Debug Protocol](https://developer.roku.com/en-ca/docs/developer-program/debugging/socket-based-debugger.md)
|
|
3
3
|
|
|
4
4
|
[](https://github.com/rokucommunity/roku-debug/actions?query=branch%3Amaster+workflow%3Abuild)
|
|
5
|
+
[](https://github.com/rokucommunity/roku-debug/actions/workflows/security-audit.yml)
|
|
5
6
|
[](https://coveralls.io/github/rokucommunity/roku-debug?branch=master)
|
|
6
|
-
[](https://npmcharts.com/compare/roku-debug?minimal=true)
|
|
7
|
-
[](https://www.npmjs.com/package/roku-debug)
|
|
7
|
+
[](https://npmcharts.com/compare/roku-debug?minimal=true)
|
|
8
|
+
[](https://www.npmjs.com/package/roku-debug)
|
|
8
9
|
[](LICENSE)
|
|
9
10
|
[](https://join.slack.com/t/rokudevelopers/shared_invite/zt-4vw7rg6v-NH46oY7hTktpRIBM_zGvwA)
|
|
10
11
|
|
|
@@ -21,5 +22,9 @@ To run the language server standalone, you simply need to:
|
|
|
21
22
|
- install this project (`npm install roku-debug`)
|
|
22
23
|
- run the project in dap mode (`npx roku-debug --dap`)
|
|
23
24
|
|
|
25
|
+
## Accepted security advisories
|
|
26
|
+
|
|
27
|
+
Dependencies flagged by `npm audit` that we have reviewed and chosen not to upgrade are tracked in [audit-ci.jsonc](https://github.com/RokuCommunity/roku-debug/blob/master/audit-ci.jsonc). Each entry includes the advisory ID, the date it was added, and the reason it does not apply to this project.
|
|
28
|
+
|
|
24
29
|
## Changelog
|
|
25
30
|
Click [here](CHANGELOG.md) to view the changelog
|
package/audit-ci.jsonc
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
// Fail on high severity and above. See README "Accepted security advisories" for
|
|
3
|
+
// why each allowlisted entry is safe to defer.
|
|
4
|
+
"$schema": "https://github.com/IBM/audit-ci/raw/main/docs/schema.json",
|
|
5
|
+
"high": true,
|
|
6
|
+
"allowlist": [
|
|
7
|
+
{
|
|
8
|
+
"GHSA-w5hq-g745-h8pq": {
|
|
9
|
+
// Added: 2026-05-22
|
|
10
|
+
"active": true,
|
|
11
|
+
"notes": "`uuid` <11.1.1 (via `roku-deploy>postman-request` and dev-only `nyc>istanbul-lib-processinfo`): vulnerable code path is `v3()`/`v5()`/`v6()` when a caller-provided buffer is passed. Both consumers call only `v4()` (no buffer arg), so the vulnerable path is unreachable from this dep graph."
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -21,15 +21,20 @@ export declare class DebugProtocolAdapter {
|
|
|
21
21
|
constructor(options: AdapterOptions & ConstructorOptions, projectManager: ProjectManager, breakpointManager: BreakpointManager, rendezvousTracker: RendezvousTracker, deviceInfo: DeviceInfo);
|
|
22
22
|
private logger;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Capabilities seeded from the device-info `brightscript-debugger-version`. Used as the
|
|
25
|
+
* source of truth for protocol capability questions before the debug protocol client has
|
|
26
|
+
* connected and completed its handshake.
|
|
25
27
|
*/
|
|
26
|
-
|
|
28
|
+
private fallbackCapabilities;
|
|
29
|
+
/**
|
|
30
|
+
* The current authoritative capabilities for protocol-version-driven questions: the live
|
|
31
|
+
* client's capabilities once it exists, otherwise the device-info-seeded fallback.
|
|
32
|
+
*/
|
|
33
|
+
private get capabilities();
|
|
27
34
|
/**
|
|
28
|
-
*
|
|
29
|
-
* If that fails we retry in lower case. This flag is used to drive that logic switching
|
|
35
|
+
* Indicates whether the adapter has successfully established a connection with the device
|
|
30
36
|
*/
|
|
31
|
-
|
|
32
|
-
private supportsExecuteCommand;
|
|
37
|
+
connected: boolean;
|
|
33
38
|
private compileClient;
|
|
34
39
|
private compileErrorProcessor;
|
|
35
40
|
private emitter;
|
|
@@ -86,9 +91,19 @@ export declare class DebugProtocolAdapter {
|
|
|
86
91
|
on(eventname: 'unhandled-console-output', handler: (output: string) => any): any;
|
|
87
92
|
private emit;
|
|
88
93
|
/**
|
|
89
|
-
* Does the current client support exception breakpoints?
|
|
94
|
+
* Does the current client support exception breakpoints? Resolved via the live client's
|
|
95
|
+
* capabilities when connected, otherwise the device-info-seeded fallback.
|
|
90
96
|
*/
|
|
91
|
-
get supportsExceptionBreakpoints(): boolean
|
|
97
|
+
get supportsExceptionBreakpoints(): boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Does the current client support conditional breakpoints? Same fallback semantics as
|
|
100
|
+
* `supportsExceptionBreakpoints`.
|
|
101
|
+
*/
|
|
102
|
+
get supportsConditionalBreakpoints(): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Does the current client support hit-count breakpoints?
|
|
105
|
+
*/
|
|
106
|
+
get supportsHitConditionalBreakpoints(): boolean;
|
|
92
107
|
/**
|
|
93
108
|
* The debugger needs to tell us when to be active (i.e. when the package was deployed)
|
|
94
109
|
*/
|
|
@@ -217,6 +232,12 @@ export declare class DebugProtocolAdapter {
|
|
|
217
232
|
* Sends a call to the ChanperfTracker to clear the current chanperf history
|
|
218
233
|
*/
|
|
219
234
|
clearChanperfHistory(): void;
|
|
235
|
+
/**
|
|
236
|
+
* The most recently requested exception breakpoint filters. Stored so we can replay them
|
|
237
|
+
* to the debug protocol client once it connects (the session can send these before the
|
|
238
|
+
* device has launched and the client has finished its handshake).
|
|
239
|
+
*/
|
|
240
|
+
private pendingExceptionBreakpointFilters;
|
|
220
241
|
setExceptionBreakpoints(filters: ExceptionBreakpoint[]): Promise<import("../debugProtocol/events/responses/SetExceptionBreakpointsResponse").SetExceptionBreakpointsResponse>;
|
|
221
242
|
private syncBreakpointsPromise;
|
|
222
243
|
syncBreakpoints(): Promise<void>;
|
|
@@ -9,8 +9,8 @@ const ChanperfTracker_1 = require("../ChanperfTracker");
|
|
|
9
9
|
const Constants_1 = require("../debugProtocol/Constants");
|
|
10
10
|
const util_1 = require("../util");
|
|
11
11
|
const logging_1 = require("../logging");
|
|
12
|
-
const semver = require("semver");
|
|
13
12
|
const DebugProtocolClient_1 = require("../debugProtocol/client/DebugProtocolClient");
|
|
13
|
+
const ProtocolCapabilities_1 = require("../debugProtocol/client/ProtocolCapabilities");
|
|
14
14
|
const VariablesResponse_1 = require("../debugProtocol/events/responses/VariablesResponse");
|
|
15
15
|
const customVariableUtils_1 = require("./customVariableUtils");
|
|
16
16
|
const Exceptions_1 = require("../Exceptions");
|
|
@@ -19,17 +19,13 @@ const Exceptions_1 = require("../Exceptions");
|
|
|
19
19
|
*/
|
|
20
20
|
class DebugProtocolAdapter {
|
|
21
21
|
constructor(options, projectManager, breakpointManager, rendezvousTracker, deviceInfo) {
|
|
22
|
+
var _a, _b;
|
|
22
23
|
this.options = options;
|
|
23
24
|
this.projectManager = projectManager;
|
|
24
25
|
this.breakpointManager = breakpointManager;
|
|
25
26
|
this.rendezvousTracker = rendezvousTracker;
|
|
26
27
|
this.deviceInfo = deviceInfo;
|
|
27
28
|
this.logger = logging_1.logger.createLogger(`[padapter]`);
|
|
28
|
-
/**
|
|
29
|
-
* Due to casing issues with the variables request on some versions of the debug protocol, we first need to try the request in the supplied case.
|
|
30
|
-
* If that fails we retry in lower case. This flag is used to drive that logic switching
|
|
31
|
-
*/
|
|
32
|
-
this.enableVariablesLowerCaseRetry = true;
|
|
33
29
|
this.nextFrameId = 1;
|
|
34
30
|
this.stackFramesCache = {};
|
|
35
31
|
this.cache = {};
|
|
@@ -60,11 +56,22 @@ class DebugProtocolAdapter {
|
|
|
60
56
|
this.chanperfTracker = new ChanperfTracker_1.ChanperfTracker();
|
|
61
57
|
this.compileErrorProcessor = new CompileErrorProcessor_1.CompileErrorProcessor();
|
|
62
58
|
this.connected = false;
|
|
59
|
+
//capabilities derived from device-info; used to answer questions before the debug
|
|
60
|
+
//protocol client has connected and completed its handshake
|
|
61
|
+
this.fallbackCapabilities = new ProtocolCapabilities_1.ProtocolCapabilities((_a = this.deviceInfo) === null || _a === void 0 ? void 0 : _a.brightscriptDebuggerVersion, (_b = this.deviceInfo) === null || _b === void 0 ? void 0 : _b.softwareVersion);
|
|
63
62
|
// watch for chanperf events
|
|
64
63
|
this.chanperfTracker.on('chanperf', (output) => {
|
|
65
64
|
this.emit('chanperf', output);
|
|
66
65
|
});
|
|
67
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* The current authoritative capabilities for protocol-version-driven questions: the live
|
|
69
|
+
* client's capabilities once it exists, otherwise the device-info-seeded fallback.
|
|
70
|
+
*/
|
|
71
|
+
get capabilities() {
|
|
72
|
+
var _a, _b;
|
|
73
|
+
return (_b = (_a = this.client) === null || _a === void 0 ? void 0 : _a.capabilities) !== null && _b !== void 0 ? _b : this.fallbackCapabilities;
|
|
74
|
+
}
|
|
68
75
|
/**
|
|
69
76
|
* Get the version of the protocol for the Roku device we're currently connected to.
|
|
70
77
|
*/
|
|
@@ -92,17 +99,39 @@ class DebugProtocolAdapter {
|
|
|
92
99
|
//emit these events on next tick, otherwise they will be processed immediately which could cause issues
|
|
93
100
|
setTimeout(() => {
|
|
94
101
|
//in rare cases, this event is fired after the debugger has closed, so make sure the event emitter still exists
|
|
95
|
-
if (this.emitter) {
|
|
96
|
-
|
|
102
|
+
if (!this.emitter) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
//drop stale 'suspend'/'runtime-error' events when the debugger has already resumed.
|
|
106
|
+
//emit() defers via setTimeout, so isStopped can flip false between queue and fire (e.g. auto-continue on entry breakpoint),
|
|
107
|
+
//causing downstream handlers to call getThreads() against a running debugger.
|
|
108
|
+
//See https://github.com/rokucommunity/vscode-brightscript-language/issues/798
|
|
109
|
+
if ((eventName === 'suspend' || eventName === 'runtime-error') && !this.isAtDebuggerPrompt) {
|
|
110
|
+
this.logger.warn(`Dropping stale "${eventName}" event because debugger is no longer paused`);
|
|
111
|
+
return;
|
|
97
112
|
}
|
|
113
|
+
this.emitter.emit(eventName, data);
|
|
98
114
|
}, 0);
|
|
99
115
|
}
|
|
100
116
|
/**
|
|
101
|
-
* Does the current client support exception breakpoints?
|
|
117
|
+
* Does the current client support exception breakpoints? Resolved via the live client's
|
|
118
|
+
* capabilities when connected, otherwise the device-info-seeded fallback.
|
|
102
119
|
*/
|
|
103
120
|
get supportsExceptionBreakpoints() {
|
|
104
|
-
|
|
105
|
-
|
|
121
|
+
return this.capabilities.supportsExceptionBreakpoints;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Does the current client support conditional breakpoints? Same fallback semantics as
|
|
125
|
+
* `supportsExceptionBreakpoints`.
|
|
126
|
+
*/
|
|
127
|
+
get supportsConditionalBreakpoints() {
|
|
128
|
+
return this.capabilities.supportsConditionalBreakpoints;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Does the current client support hit-count breakpoints?
|
|
132
|
+
*/
|
|
133
|
+
get supportsHitConditionalBreakpoints() {
|
|
134
|
+
return this.capabilities.supportsHitConditionalBreakpoints;
|
|
106
135
|
}
|
|
107
136
|
activate() {
|
|
108
137
|
this.isActivated = true;
|
|
@@ -191,6 +220,10 @@ class DebugProtocolAdapter {
|
|
|
191
220
|
await this.client.destroy()
|
|
192
221
|
]);
|
|
193
222
|
this.client = undefined;
|
|
223
|
+
//keep `connected` in sync with `client` so the _syncBreakpoints entry guard
|
|
224
|
+
//(and similar checks elsewhere) reflects the actual state. Restored to true below
|
|
225
|
+
//once the new client finishes connecting.
|
|
226
|
+
this.connected = false;
|
|
194
227
|
}
|
|
195
228
|
this.client = new DebugProtocolClient_1.DebugProtocolClient(this.options);
|
|
196
229
|
try {
|
|
@@ -217,13 +250,6 @@ class DebugProtocolAdapter {
|
|
|
217
250
|
this.emit('unhandled-console-output', data.message);
|
|
218
251
|
this.emit('console-output', data.message);
|
|
219
252
|
}
|
|
220
|
-
// TODO: Update once we know the exact version of the debug protocol this issue was fixed in.
|
|
221
|
-
// Due to casing issues with variables on protocol version <FUTURE_VERSION> and under we first need to try the request in the supplied case.
|
|
222
|
-
// If that fails we retry in lower case.
|
|
223
|
-
this.enableVariablesLowerCaseRetry = semver.satisfies(this.activeProtocolVersion, '<3.1.0');
|
|
224
|
-
// While execute was added as a command in 2.1.0. It has shortcoming that prevented us for leveraging the command.
|
|
225
|
-
// This was mostly addressed in the 3.0.0 release to the point where we were comfortable adding support for the command.
|
|
226
|
-
this.supportsExecuteCommand = semver.satisfies(this.activeProtocolVersion, '>=3.0.0');
|
|
227
253
|
});
|
|
228
254
|
// Listen for the close event
|
|
229
255
|
this.client.on('close', () => {
|
|
@@ -232,6 +258,11 @@ class DebugProtocolAdapter {
|
|
|
232
258
|
this.beginAppExit();
|
|
233
259
|
void ((_a = this.client) === null || _a === void 0 ? void 0 : _a.destroy());
|
|
234
260
|
this.client = undefined;
|
|
261
|
+
//the protocol client is gone — keep `connected` in sync so any subsequent
|
|
262
|
+
//syncBreakpoints / setExceptionBreakpoints calls during the close→app-exit
|
|
263
|
+
//window early-return instead of dereferencing the undefined client.
|
|
264
|
+
//See https://github.com/rokucommunity/vscode-brightscript-language/issues/811
|
|
265
|
+
this.connected = false;
|
|
235
266
|
});
|
|
236
267
|
// Listen for the app exit event
|
|
237
268
|
this.client.on('app-exit', () => {
|
|
@@ -290,6 +321,16 @@ class DebugProtocolAdapter {
|
|
|
290
321
|
this.handleStartupIfReady();
|
|
291
322
|
this.emit('connected', this.connected);
|
|
292
323
|
this.emit('app-ready');
|
|
324
|
+
//flush any breakpoints that were queued while we were waiting for the client to connect.
|
|
325
|
+
//setBreakpointsRequest is called by VS Code before the channel is uploaded, so the initial
|
|
326
|
+
//sync bails out (no client yet); this re-sync pushes those queued breakpoints to the device.
|
|
327
|
+
void this.syncBreakpoints();
|
|
328
|
+
//also replay any queued exception breakpoint filters
|
|
329
|
+
if (this.pendingExceptionBreakpointFilters) {
|
|
330
|
+
const queuedFilters = this.pendingExceptionBreakpointFilters;
|
|
331
|
+
this.pendingExceptionBreakpointFilters = undefined;
|
|
332
|
+
void this.client.setExceptionBreakpoints(queuedFilters);
|
|
333
|
+
}
|
|
293
334
|
//the adapter is connected and running smoothly. resolve the promise
|
|
294
335
|
deferred.resolve();
|
|
295
336
|
}
|
|
@@ -308,7 +349,7 @@ class DebugProtocolAdapter {
|
|
|
308
349
|
* Determines if the current version of the debug protocol supports emitting compile error updates.
|
|
309
350
|
*/
|
|
310
351
|
get supportsCompileErrorReporting() {
|
|
311
|
-
return
|
|
352
|
+
return this.capabilities.supportsCompileErrorReporting;
|
|
312
353
|
}
|
|
313
354
|
/**
|
|
314
355
|
* Indicate if virtual variables should be auto resolved when they are encountered.
|
|
@@ -435,7 +476,7 @@ class DebugProtocolAdapter {
|
|
|
435
476
|
*/
|
|
436
477
|
async evaluate(command, frameId = this.client.primaryThread) {
|
|
437
478
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
438
|
-
if (this.supportsExecuteCommand) {
|
|
479
|
+
if (this.capabilities.supportsExecuteCommand) {
|
|
439
480
|
if (!this.isAtDebuggerPrompt) {
|
|
440
481
|
throw new Error('Cannot run evaluate: debugger is not paused');
|
|
441
482
|
}
|
|
@@ -532,11 +573,11 @@ class DebugProtocolAdapter {
|
|
|
532
573
|
logger.info(`Expression:`, JSON.stringify(expression));
|
|
533
574
|
let variablePath = expression === '' ? [] : util_1.util.getVariablePath(expression);
|
|
534
575
|
// Temporary workaround related to casing issues over the protocol
|
|
535
|
-
if (this.enableVariablesLowerCaseRetry && (variablePath === null || variablePath === void 0 ? void 0 : variablePath.length) > 0) {
|
|
576
|
+
if (this.capabilities.enableVariablesLowerCaseRetry && (variablePath === null || variablePath === void 0 ? void 0 : variablePath.length) > 0) {
|
|
536
577
|
variablePath[0] = variablePath[0].toLowerCase();
|
|
537
578
|
}
|
|
538
579
|
let response = await this.client.getVariables(variablePath, frame.frameIndex, frame.threadIndex);
|
|
539
|
-
if (this.enableVariablesLowerCaseRetry && response.data.errorCode !== Constants_1.ErrorCode.OK) {
|
|
580
|
+
if (this.capabilities.enableVariablesLowerCaseRetry && response.data.errorCode !== Constants_1.ErrorCode.OK) {
|
|
540
581
|
// Temporary workaround related to casing issues over the protocol
|
|
541
582
|
logger.log(`Retrying expression as lower case:`, expression);
|
|
542
583
|
variablePath = expression === '' ? [] : util_1.util.getVariablePath(expression === null || expression === void 0 ? void 0 : expression.toLowerCase());
|
|
@@ -832,13 +873,15 @@ class DebugProtocolAdapter {
|
|
|
832
873
|
this.chanperfTracker.clearHistory();
|
|
833
874
|
}
|
|
834
875
|
async setExceptionBreakpoints(filters) {
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
876
|
+
if (!this.capabilities.supportsExceptionBreakpoints) {
|
|
877
|
+
return undefined;
|
|
878
|
+
}
|
|
879
|
+
//if the client isn't connected yet, queue the filters for replay on connect
|
|
880
|
+
if (!this.connected) {
|
|
881
|
+
this.pendingExceptionBreakpointFilters = filters;
|
|
882
|
+
return undefined;
|
|
840
883
|
}
|
|
841
|
-
return
|
|
884
|
+
return this.client.setExceptionBreakpoints(filters);
|
|
842
885
|
}
|
|
843
886
|
async syncBreakpoints() {
|
|
844
887
|
this.logger.log('syncBreakpoints()');
|
|
@@ -852,11 +895,17 @@ class DebugProtocolAdapter {
|
|
|
852
895
|
return this.syncBreakpointsPromise;
|
|
853
896
|
}
|
|
854
897
|
async _syncBreakpoints() {
|
|
855
|
-
var _a, _b, _c, _d, _e, _f, _g
|
|
898
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
899
|
+
//we need to actually be connected to the device before we can push breakpoints. We'll get
|
|
900
|
+
//called again once the debug protocol client has connected.
|
|
901
|
+
if (!this.connected) {
|
|
902
|
+
this.logger.info('Cannot sync breakpoints because the debug protocol client has not connected yet');
|
|
903
|
+
return;
|
|
904
|
+
}
|
|
856
905
|
//we can't send breakpoints unless we're stopped (or in a protocol version that supports sending them while running).
|
|
857
906
|
//So...if we're not stopped, quit now. (we'll get called again when the stop event happens)
|
|
858
|
-
if (!
|
|
859
|
-
this.logger.info('Cannot sync breakpoints because the debugger',
|
|
907
|
+
if (!this.capabilities.supportsBreakpointRegistrationWhileRunning && !this.isAtDebuggerPrompt) {
|
|
908
|
+
this.logger.info('Cannot sync breakpoints because the debugger', this.capabilities.supportsBreakpointRegistrationWhileRunning ? 'does not support sending breakpoints while running' : 'is not paused');
|
|
860
909
|
return;
|
|
861
910
|
}
|
|
862
911
|
//compute breakpoint changes since last sync
|
|
@@ -866,16 +915,29 @@ class DebugProtocolAdapter {
|
|
|
866
915
|
this.logger.debug('No breakpoints to sync');
|
|
867
916
|
return;
|
|
868
917
|
}
|
|
918
|
+
//getDiff above can yield to other microtasks. If the protocol client closed while we were
|
|
919
|
+
//awaiting (mid-sync TOCTOU), bail out before dereferencing this.client. The app-exit handler
|
|
920
|
+
//resets the breakpoint baseline so the next reconnect re-pushes any pending changes.
|
|
921
|
+
//See https://github.com/rokucommunity/vscode-brightscript-language/issues/811
|
|
922
|
+
if (!this.client) {
|
|
923
|
+
this.logger.info('Skipping breakpoint sync because the protocol client closed mid-sync');
|
|
924
|
+
return;
|
|
925
|
+
}
|
|
869
926
|
// REMOVE breakpoints (delete these breakpoints from the device)
|
|
870
927
|
if (diff.removed.length > 0) {
|
|
871
928
|
const response = await this.client.removeBreakpoints(
|
|
872
929
|
//TODO handle retrying to remove breakpoints that don't have deviceIds yet but might get one in the future
|
|
873
930
|
diff.removed.map(x => x.deviceId).filter(x => typeof x === 'number'));
|
|
874
|
-
if (((
|
|
931
|
+
if (((_a = response.data) === null || _a === void 0 ? void 0 : _a.errorCode) === Constants_1.ErrorCode.NOT_STOPPED) {
|
|
875
932
|
this.breakpointManager.failedDeletions.push(...diff.removed);
|
|
876
933
|
}
|
|
877
934
|
}
|
|
878
935
|
if (diff.added.length > 0) {
|
|
936
|
+
//the removeBreakpoints await above can also yield; re-check before attempting the add
|
|
937
|
+
if (!this.client) {
|
|
938
|
+
this.logger.info('Skipping breakpoint add because the protocol client closed mid-sync');
|
|
939
|
+
return;
|
|
940
|
+
}
|
|
879
941
|
const breakpointsToSendToDevice = diff.added.map(breakpoint => {
|
|
880
942
|
const hitCount = parseInt(breakpoint.hitCondition);
|
|
881
943
|
return {
|
|
@@ -893,7 +955,7 @@ class DebugProtocolAdapter {
|
|
|
893
955
|
const standardBreakpoints = [];
|
|
894
956
|
const conditionalBreakpoints = [];
|
|
895
957
|
for (const breakpoint of breakpointsToSendToDevice) {
|
|
896
|
-
if ((
|
|
958
|
+
if ((_b = breakpoint === null || breakpoint === void 0 ? void 0 : breakpoint.conditionalExpression) === null || _b === void 0 ? void 0 : _b.trim()) {
|
|
897
959
|
conditionalBreakpoints.push(breakpoint);
|
|
898
960
|
}
|
|
899
961
|
else {
|
|
@@ -903,8 +965,8 @@ class DebugProtocolAdapter {
|
|
|
903
965
|
for (const breakpoints of [standardBreakpoints, conditionalBreakpoints]) {
|
|
904
966
|
const response = await this.client.addBreakpoints(breakpoints);
|
|
905
967
|
//if the response was successful, and we have the correct number of breakpoints in the response
|
|
906
|
-
if (response.data.errorCode === Constants_1.ErrorCode.OK && ((
|
|
907
|
-
for (let i = 0; i < ((
|
|
968
|
+
if (response.data.errorCode === Constants_1.ErrorCode.OK && ((_d = (_c = response === null || response === void 0 ? void 0 : response.data) === null || _c === void 0 ? void 0 : _c.breakpoints) === null || _d === void 0 ? void 0 : _d.length) === breakpoints.length) {
|
|
969
|
+
for (let i = 0; i < ((_g = (_f = (_e = response === null || response === void 0 ? void 0 : response.data) === null || _e === void 0 ? void 0 : _e.breakpoints) === null || _f === void 0 ? void 0 : _f.length) !== null && _g !== void 0 ? _g : 0); i++) {
|
|
908
970
|
const deviceBreakpoint = response.data.breakpoints[i];
|
|
909
971
|
if (typeof (deviceBreakpoint === null || deviceBreakpoint === void 0 ? void 0 : deviceBreakpoint.id) === 'number') {
|
|
910
972
|
//sync this breakpoint's deviceId with the roku-assigned breakpoint ID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugProtocolAdapter.js","sourceRoot":"","sources":["../../src/adapters/DebugProtocolAdapter.ts"],"names":[],"mappings":";;;AAAA,uCAAuC;AACvC,6BAA6B;AAC7B,mDAAqE;AAErE,oEAAiE;AAGjE,wDAAqD;AACrD,0DAAyF;AACzF,kCAAsC;AACtC,wCAAoC;AACpC,iCAAiC;AAKjC,qFAAkF;AAElF,2FAAmF;AAKnF,+DAAkG;AAElG,8CAA2D;AAE3D;;GAEG;AACH,MAAa,oBAAoB;IAC7B,YACY,OAA4C,EAC5C,cAA8B,EAC9B,iBAAoC,EACpC,iBAAoC,EACpC,UAAsB;QAJtB,YAAO,GAAP,OAAO,CAAqC;QAC5C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,eAAU,GAAV,UAAU,CAAY;QAc1B,WAAM,GAAG,gBAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAOnD;;;WAGG;QACK,kCAA6B,GAAG,IAAI,CAAC;QAOrC,gBAAW,GAAG,CAAC,CAAC;QAEhB,qBAAgB,GAA+B,EAAE,CAAC;QAClD,UAAK,GAAG,EAAE,CAAC;QAuFnB;;WAEG;QACI,gBAAW,GAAG,KAAK,CAAC;QAE3B;;;WAGG;QACI,iBAAY,GAAG,KAAK,CAAC;QAqEpB,yBAAoB,GAAG,IAAA,YAAK,GAAQ,CAAC;QA2KrC,2BAAsB,GAAG,KAAK,CAAC;QA8evC;;;WAGG;QACI,gBAAW,GAAG,KAAK,CAAC;QA4B3B;;WAEG;QACK,wBAAmB,GAAG,IAAA,YAAK,GAAQ,CAAC;QACpC,8BAAyB,GAAG,KAAK,CAAC;QAuDlC,2BAAsB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QA17B/C,WAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,qBAAqB,GAAG,IAAI,6CAAqB,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,4BAA4B;QAC5B,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACP,CAAC;IAyBD;;OAEG;IACH,IAAW,qBAAqB;;QAC5B,OAAO,MAAA,IAAI,CAAC,MAAM,0CAAE,eAAe,CAAC;IACxC,CAAC;IAqBM,IAAI,CAAC,SAAiB;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,SAAsD,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;gBAC3F,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAuBM,EAAE,CAAC,SAAiB,EAAE,OAA8B;;QACvD,MAAA,IAAI,CAAC,OAAO,0CAAE,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrC,OAAO,GAAG,EAAE;;YACR,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC;IACN,CAAC;IAOO,IAAI,CAAC,SAAiB,EAAE,IAAK;QACjC,uGAAuG;QACvG,UAAU,CAAC,GAAG,EAAE;YACZ,+GAA+G;YAC/G,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACtC;QACL,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED;;OAEG;IACH,IAAW,4BAA4B;;QACnC,OAAO,MAAA,IAAI,CAAC,MAAM,0CAAE,4BAA4B,CAAC;IACrD,CAAC;IAaM,QAAQ;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;IAClD,CAAC;IAEO,oBAAoB;QACxB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnB,0FAA0F;YAC1F,0FAA0F;YAC1F,wCAAwC;YACxC,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACxB;SACJ;IACL,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,MAAc,EAAE,mBAAmB,GAAG,GAAG;QACjE,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,cAAc,GAAG,KAAK,CAAC;YAC3B,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;YACnB,IAAI,IAAI,GAAG,EAAE,CAAC;YAEd,SAAS,OAAO,CAAC,MAAM;gBACnB,SAAS,EAAE,CAAC;gBACZ,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC1B,IAAI,WAAW,GAAG,SAAS,CAAC;gBAC5B,cAAc,GAAG,IAAI,CAAC;gBACtB,UAAU,CAAC,GAAG,EAAE;oBACZ,IAAI,WAAW,KAAK,SAAS,EAAE;wBAC3B,iCAAiC;wBACjC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBACvC,OAAO,CAAC,IAAI,CAAC,CAAC;qBACjB;gBACL,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,YAAY,GAAG,GAAG,EAAE;gBACtB,IAAI,cAAc,KAAK,KAAK,EAAE;oBAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC5B;YACL,CAAC,CAAC;YAEF,wBAAwB;YACxB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAE3B,2EAA2E;YAC3E,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACjC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAW,kBAAkB;;QACzB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,mCAAI,KAAK,CAAC;IAC3C,CAAC;IAID;;OAEG;IACI,OAAO;QACV,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO;QAChB,kFAAkF;QAClF,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAEvC,mEAAmE;YACnE,2FAA2F;YAC3F,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE;gBACxC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;aACvC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,yBAAyB;QAClC,IAAI,QAAQ,GAAG,IAAA,YAAK,GAAE,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,MAAM,OAAO,CAAC,IAAI,CAAC;gBACf,WAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;aAC9B,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;SAC3B;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI;YACA,6BAA6B;YAC7B,kEAAkE;YAClE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBAC/C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;oBAClC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAC7D,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACrE,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;iBAC7C;YACL,CAAC,CAAC,CAAC;YAEH,6BAA6B;YAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,IAA4B,EAAE,EAAE;gBAChE,IAAI,IAAI,CAAC,SAAS,KAAK,gCAAoB,CAAC,SAAS,EAAE;oBACnD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7C;qBAAM,IAAI,IAAI,CAAC,SAAS,KAAK,gCAAoB,CAAC,UAAU,EAAE;oBAC3D,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7C;qBAAM,IAAI,IAAI,CAAC,SAAS,KAAK,gCAAoB,CAAC,aAAa,EAAE;oBAC9D,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7C;gBAED,6FAA6F;gBAC7F,4IAA4I;gBAC5I,wCAAwC;gBACxC,IAAI,CAAC,6BAA6B,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;gBAC5F,kHAAkH;gBAClH,wHAAwH;gBACxH,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;YAEH,6BAA6B;YAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;;gBACzB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,KAAK,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAA,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,gCAAgC;YAChC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;;gBAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,KAAK,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAA,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,eAAe,EAA4B;oBACjD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;oBACnC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;iBAClC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;gBACnC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,6CAA6C;YAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE;;gBAC7C,IAAI,qBAAqB,GAAG,EAAc,CAAC;gBAE3C,kCAAkC;gBAClC,KAAK,IAAI,UAAU,IAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,mCAAI,EAAE,EAAE;oBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC7E,IAAI,CAAC,OAAO,EAAE;wBACV,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;qBAC7C;iBACJ;gBACD,oJAAoJ;gBACpJ,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6DAA6D,EAAE,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,CAAC,CAAC;oBAChI,KAAK,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;iBAC7D;gBACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE;gBACvC,IAAI,WAAW,GAAwB,EAAE,CAAC;gBAC1C,WAAW,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;oBAC1B,KAAK,EAAE,qBAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,CAAC;oBAC1F,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;oBACjC,QAAQ,EAAE,mCAAkB,CAAC,KAAK;oBAClC,IAAI,EAAE,SAAS;iBAClB,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvB,oEAAoE;YACpE,QAAQ,CAAC,OAAO,EAAE,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtB;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAEO,YAAY;QAChB,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,IAAW,6BAA6B;QACpC,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAED;;OAEG;IACH,IAAW,2BAA2B;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC;IACpD,CAAC;IAGM,KAAK,CAAC,mBAAmB;QAC5B,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,OAAO;SACV;QACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAEnC,IAAI,QAAQ,GAAG,IAAA,YAAK,GAAE,CAAC;QACvB,IAAI;YACA,IAAI,CAAC,aAAa,GAAG,IAAI,YAAM,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,WAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAE7E,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;gBACpD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;gBACvD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,sDAAsD;YACtD,qFAAqF;YACrF,sFAAsF;YACtF,iFAAiF;YACjF,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACnC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,SAAS,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACjJ,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;YAC1I,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE;gBACrF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6CAA6C,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;YAC5I,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;YAEhD,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,uCAAuC,CAAC,EAAE;gBACxE,MAAM,IAAI,uCAA0B,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,iBAAiB,EAAE;oBAClI,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB;oBAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;iBAC1B,CAAC,CAAC;aACN;YAED,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBACrC,IAAI,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBAElE,IAAI,SAAS,GAAG,WAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAE5E,qDAAqD;gBACrD,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC;gBACtC,IAAI,SAAS,CAAC,SAAS,EAAE;oBACrB,gCAAgC;oBAChC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBACpD,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC9D,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;iBAC9D;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,eAAe,CAAC,CAAC;iBACzE;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC/C,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,2CAA2C;YAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACtB;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAEO,yBAAyB,CAAC,YAAoB;QAClD,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,kDAAkD,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC/D,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;aACrC;SACJ;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAgB;QACjC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QACd,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,uDAAuD;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,UAAU;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,UAAkB,IAAI,CAAC,MAAM,CAAC,aAAa;;QAC9E,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;aAClE;YAED,IAAI,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,EAAE;gBACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;aAC3E;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAEnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;YAC1G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7D,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC9B,OAAO;oBACH,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,SAAS;iBAClB,CAAC;aACL;iBAAM;gBACH,MAAM,QAAQ,GAAG;oBACb,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,aAAa,mCAAI,EAAE;oBACtC,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,aAAa,mCAAI,EAAE;oBACtC,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,WAAW,mCAAI,EAAE;iBACvC,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,MAAA,QAAQ,CAAC,CAAC,CAAC,mCAAI,iCAAiC;oBACzD,IAAI,EAAE,OAAO;iBAChB,CAAC;aACL;SACJ;aAAM;YACH,OAAO;gBACH,OAAO,EAAE,yDAAyD,IAAI,CAAC,qBAAqB,kCAAkC;gBAC9H,IAAI,EAAE,OAAO;aAChB,CAAC;SACL;IACL,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,cAAsB,IAAI,CAAC,MAAM,CAAC,aAAa;QACtE,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACrE;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,0BAA0B,WAAW,EAAE,EAAE,KAAK,IAAI,EAAE;;;YACpE,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,MAAM,GAAiB,EAAE,CAAC;YAC9B,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAElE,oFAAoF;YACpF,IAAI,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,SAAS,MAAK,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,KAAK,qBAAS,CAAC,EAAE,EAAE;gBACjG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,WAAW,0BAA0B,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACnH,OAAO,MAAM,CAAC;aACjB;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,OAAO,0CAAE,MAAM,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACnE,IAAI,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAI,UAAU,GAAe;oBACzB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC3B,oDAAoD;oBACpD,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC;oBACtD,WAAW,EAAE,WAAW;oBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,6CAA6C;oBAC7C,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC;iBAC3J,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;gBACvD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC3B;YACD,4EAA4E;YAC5E,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;gBACX,YAAA,MAAM,CAAC,CAAC,CAAC,EAAC,QAAQ,uCAAR,QAAQ,GAAK,MAAM,CAAC,QAAQ,EAAC;gBACvC,YAAA,MAAM,CAAC,CAAC,CAAC,EAAC,UAAU,uCAAV,UAAU,GAAK,MAAM,CAAC,UAAU,EAAC;aAC9C;YAED,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,iBAAiB,CAAC,OAAe;QACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,mBAAmB,CAAC,YAAY;QACpC,OAAO,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAAC,UAAkB,EAAE,OAAe;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACtE;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC5E;QAED,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,IAAI,YAAY,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAE7E,kEAAkE;QAClE,IAAI,IAAI,CAAC,6BAA6B,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,EAAE;YAChE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACnD;QAED,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAEjG,IAAI,IAAI,CAAC,6BAA6B,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,qBAAS,CAAC,EAAE,EAAE;YAChF,kEAAkE;YAClE,MAAM,CAAC,GAAG,CAAC,oCAAoC,EAAE,UAAU,CAAC,CAAC;YAC7D,YAAY,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAI,CAAC,eAAe,CAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,EAAE,CAAC,CAAC;YACxF,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;SAChG;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,UAAkB,EAAE,OAAe;;QACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEtE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,SAAS,CAAC,EAAE;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAC1C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC1B,wDAAwD;YACxD,UAAU;YACV,4EAA4E;YAC5E,SAAS,CACZ,CAAC;YACF,MAAM,IAAA,2CAAqB,EAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YACzD,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC;YAClF,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,iBAAiB,CAAC,OAAe;;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,SAAS,MAAK,qBAAS,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,SAAS,CAAC,EAAE;YACxF,yDAAyD;YACzD,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB;YAC1C,YAAY;YACZ;gBACI,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,IAAI;gBACjB,OAAO,EAAE,gCAAY,CAAC,MAAM;gBAC5B,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,gCAAY,CAAC,gBAAgB;gBACnC,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;aACpC;YACD,oCAAoC;YACpC,SAAS;YACT,wBAAwB;YACxB,SAAS,CACZ,CAAC;YACF,SAAS,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC/B,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YACrD,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,QAAkB,EAAE,IAAqB,EAAE,kBAA0B;;QACjG,IAAI,KAAK,CAAC;QACV,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;QACjC,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,EAAE;YACzB,KAAK,GAAG,WAAW,CAAC;SACvB;aAAM,IAAI,YAAY,KAAK,gCAAY,CAAC,MAAM,EAAE;YAC7C,KAAK,GAAG,KAAK,QAAQ,CAAC,KAAK,IAAI,CAAC;SACnC;aAAM;YACH,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;SAC1B;QAED,IAAI,YAAY,KAAK,gCAAY,CAAC,cAAc,EAAE;YAC9C,8CAA8C;YAC9C,IAAI,KAAK,GAAI,QAAQ,CAAC,KAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnD,wCAAwC;YACvC,YAAuB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEpC,kDAAkD;YAClD,kDAAkD;YACjD,KAAgB,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;SAClD;aAAM,IAAI,YAAY,KAAK,gCAAY,CAAC,MAAM,IAAI,YAAY,KAAK,gCAAY,CAAC,SAAS,EAAE;YACxF,kFAAkF;YAClF,kDAAkD;YAClD,YAAY,GAAG,KAAK,CAAC;SACxB;aAAM,IAAI,YAAY,KAAK,gCAAY,CAAC,gBAAgB,EAAE;YACvD,mDAAmD;YACnD,KAAK,GAAG,gCAAY,CAAC,gBAAgB,CAAC;SACzC;QAED,6GAA6G;QAC7G,IAAI,YAAoB,CAAC;QACzB,IAAI,CAAC,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,EAAE,CAAA,EAAE;YAC7B,YAAY,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE,CAAC;SACnC;aAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;YAC3B,YAAY,GAAG,GAAG,kBAAkB,IAAI,IAAI,EAAE,CAAC;SAClD;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACjC,YAAY,GAAG,GAAG,kBAAkB,KAAK,IAAI,IAAI,CAAC;SACrD;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACjC,YAAY,GAAG,GAAG,kBAAkB,IAAI,IAAI,GAAG,CAAC;SACnD;QAED,IAAI,SAAS,GAAsB;YAC/B,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE,mCAAI,EAAE;YAC5B,YAAY,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE;YAChC,IAAI,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE;YACxB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI;YACpB,aAAa,EAAE,SAAS;YACxB,kDAAkD;YAClD,OAAO,EAAE,QAAQ,CAAC,OAA6B;YAC/C,cAAc,EAAE,CAAC;YACjB,gBAAgB,EAAE,CAAC;YACnB,2KAA2K;YAC3K,QAAQ,EAAE,EAAE;SACf,CAAC;QAEF,8EAA8E;QAC9E,iEAAiE;QACjE,IAAA,wDAAkC,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEpD,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE;YACvC,SAAS,CAAC,gBAAgB,GAAG,MAAA,MAAA,QAAQ,CAAC,UAAU,mCAAI,MAAA,QAAQ,CAAC,QAAQ,0CAAE,MAAM,mCAAI,SAAS,CAAC;YAC3F,mHAAmH;YACnH,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;SAChC;aAAM,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE;YAC7C,4FAA4F;YAC5F,yDAAyD;YACzD,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;SAChC;QAED,0CAA0C;QAC1C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACnG,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;YAExB,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;YAC7B,SAAS,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3C,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,EAAE;oBAClC,SAAS,CAAC,gBAAgB,EAAE,CAAC;iBAChC;gBACD,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAC/C,aAAa,EACb,SAAS,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAC1F,SAAS,CAAC,YAAY,CACzB,CAAC;gBACF,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC3C;SACJ;QAED,kCAAkC;QAClC,IAAI,QAAQ,CAAC,SAAS,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE;gBAC7B,SAAS,CAAC,gBAAgB,GAAG,EAAE,CAAC;aACnC;YACD,SAAS,CAAC,gBAAgB,CAAC,IAAI,GAAG,SAAS,CAAC;SAC/C;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACK,OAAO,CAAI,GAAW,EAAE,OAA8B;QAC1D,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC1B;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAI,OAAO,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SACjE;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;;YACtC,IAAI,OAAO,GAAa,EAAE,CAAC;YAC3B,IAAI,eAAgC,CAAC;YACrC,sHAAsH;YACtH,oGAAoG;YACpG,+FAA+F;YAC/F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9C,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,KAAK,qBAAS,CAAC,WAAW,EAAE;oBAC1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBACxE,eAAe,GAAG,SAAS,CAAC;oBAC5B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACpD,MAAM,WAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACzB;qBAAM;oBACH,MAAM;iBACT;aACJ;YACD,IAAI,CAAC,eAAe,EAAE;gBAClB,OAAO,EAAE,CAAC;aACb;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAA,MAAA,eAAe,CAAC,IAAI,0CAAE,OAAO,0CAAE,MAAM,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACnE,IAAI,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,MAAM,GAAW;oBACjB,8FAA8F;oBAC9F,+DAA+D;oBAC/D,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC;oBAC3C,oCAAoC;oBACpC,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,YAAY,EAAE,UAAU,CAAC,YAAY;oBACrC,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,YAAY,EAAE,UAAU,CAAC,WAAW;oBACpC,QAAQ,EAAE,CAAC;iBACd,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACxB;YACD,6CAA6C;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClB,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,QAAgB;QAC9C,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;YACxB,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC9B,OAAO,MAAM,CAAC;aACjB;SACJ;IACL,CAAC;IAEM,kBAAkB;QACrB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;SACrC;IACL,CAAC;IAOD;;OAEG;IACI,KAAK,CAAC,OAAO;;QAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,2CAA2C;QAC3C,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI;gBACA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;aAC/B;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxB;SACJ;QAED,IAAI;YACA,IAAI,eAAe,GAAG,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,mCAAI,KAAM,CAAC;YAC9D,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;SACpD;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACxB;QAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,CAAC;IAQO,KAAK,CAAC,oBAAoB,CAAC,OAAe;;QAC9C,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACvD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,MAAA,IAAI,CAAC,aAAa,0CAAE,GAAG,EAAE,CAAC;YAE1B,yCAAyC;YACzC,MAAM,OAAO,CAAC,IAAI,CAAC;gBACf,IAAI,CAAC,mBAAmB,CAAC,OAAO;gBAChC,WAAI,CAAC,KAAK,CAAC,OAAO,CAAC;aACtB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAE/G,2BAA2B;YAC3B,MAAA,IAAI,CAAC,aAAa,0CAAE,kBAAkB,EAAE,CAAC;YACzC,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;SAC1C;IACL,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,WAAmB;QACvC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,sBAAsB;QACzB,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,oBAAoB;QACvB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,OAA8B;;QAC/D,IAAI,MAAA,IAAI,CAAC,MAAM,0CAAE,4BAA4B,EAAE;YAC3C,kDAAkD;YAClD,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,uBAAuB,CAAC,OAAO,CAAC,CAAA,CAAC;YACrE,OAAO,QAAQ,CAAC;SACnB;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAGM,KAAK,CAAC,eAAe;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACrC,sCAAsC;QACtC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB;YACrD,mBAAmB;aAClB,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjB,mBAAmB;aAClB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAEzC,iGAAiG;QACjG,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,gBAAgB;;QACzB,qHAAqH;QACrH,2FAA2F;QAC3F,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,0CAA0C,CAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACtF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,0CAA0C,EAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;YACnM,OAAO;SACV;QAED,4CAA4C;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,OAAO;SACV;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAChD,0GAA0G;YAC1G,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CACvE,CAAC;YAEF,IAAI,CAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,SAAS,MAAK,qBAAS,CAAC,WAAW,EAAE;gBACpD,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;aAChE;SACJ;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBACnD,OAAO;oBACH,QAAQ,EAAE,UAAU,CAAC,OAAO;oBAC5B,UAAU,EAAE,UAAU,CAAC,IAAI;oBAC3B,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oBACjD,qBAAqB,EAAE,UAAU,CAAC,SAAS;oBAC3C,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,QAAQ,EAAE,UAAU,CAAC,QAAQ;oBAC7B,oBAAoB,EAAE,UAAU,CAAC,oBAAoB;iBACxD,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,kEAAkE;YAClE,mHAAmH;YACnH,MAAM,mBAAmB,GAAqC,EAAE,CAAC;YACjE,MAAM,sBAAsB,GAAqC,EAAE,CAAC;YACpE,KAAK,MAAM,UAAU,IAAI,yBAAyB,EAAE;gBAChD,IAAI,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,qBAAqB,0CAAE,IAAI,EAAE,EAAE;oBAC3C,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC3C;qBAAM;oBACH,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACxC;aACJ;YACD,KAAK,MAAM,WAAW,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,EAAE;gBACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBAE/D,+FAA+F;gBAC/F,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,qBAAS,CAAC,EAAE,IAAI,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,WAAW,0CAAE,MAAM,MAAK,WAAW,CAAC,MAAM,EAAE;oBACxG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,WAAW,0CAAE,MAAM,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACjE,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;wBAEtD,IAAI,OAAO,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,EAAE,CAAA,KAAK,QAAQ,EAAE;4BAC1C,sEAAsE;4BACtE,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CACxC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,EACtB,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EACvB,gBAAgB,CAAC,EAAE,CACtB,CAAC;yBACL;wBAED,yDAAyD;wBACzD,IAAI,gBAAgB,CAAC,SAAS,KAAK,qBAAS,CAAC,EAAE,EAAE;4BAC7C,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;yBACnE;qBACJ;oBACD,uEAAuE;iBAC1E;qBAAM;oBACH,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CACpC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAClC,CAAC;iBACL;aACJ;SACJ;IACL,CAAC;IAEM,eAAe;QAClB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,sBAAsB;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA7iCD,oDA6iCC;AAWD,IAAY,SAEX;AAFD,WAAY,SAAS;IACjB,gCAAmB,CAAA;AACvB,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAiBD,IAAY,OAIX;AAJD,WAAY,OAAO;IACf,4BAAiB,CAAA;IACjB,8BAAmB,CAAA;IACnB,4BAAiB,CAAA;AACrB,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB"}
|
|
1
|
+
{"version":3,"file":"DebugProtocolAdapter.js","sourceRoot":"","sources":["../../src/adapters/DebugProtocolAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,8 @@ export declare class TelnetAdapter {
|
|
|
36
36
|
*/
|
|
37
37
|
supportsExecute: boolean;
|
|
38
38
|
supportsExceptionBreakpoints: boolean;
|
|
39
|
+
supportsConditionalBreakpoints: boolean;
|
|
40
|
+
supportsHitConditionalBreakpoints: boolean;
|
|
39
41
|
once(eventName: 'app-ready'): Promise<void>;
|
|
40
42
|
once(eventName: 'connected'): Promise<boolean>;
|
|
41
43
|
/**
|
|
@@ -32,6 +32,10 @@ class TelnetAdapter {
|
|
|
32
32
|
*/
|
|
33
33
|
this.supportsExecute = true;
|
|
34
34
|
this.supportsExceptionBreakpoints = false;
|
|
35
|
+
//BreakpointManager rewrites `stop` statements as `if <cond> then : STOP : end if` and
|
|
36
|
+
//`if hits >= N then STOP`, so both forms work in telnet mode regardless of firmware.
|
|
37
|
+
this.supportsConditionalBreakpoints = true;
|
|
38
|
+
this.supportsHitConditionalBreakpoints = true;
|
|
35
39
|
/**
|
|
36
40
|
* The debugger needs to tell us when to be active (i.e. when the package was deployed)
|
|
37
41
|
*/
|
|
@@ -909,6 +913,9 @@ class TelnetAdapter {
|
|
|
909
913
|
*/
|
|
910
914
|
resolve(key, factory) {
|
|
911
915
|
try {
|
|
916
|
+
if (this.isDestroyed || !this.cache) {
|
|
917
|
+
return Promise.reject(new Error(`Cannot resolve "${key}": adapter is destroyed`));
|
|
918
|
+
}
|
|
912
919
|
if (this.cache[key]) {
|
|
913
920
|
this.logger.debug(`resolve cache "${key}": already exists`);
|
|
914
921
|
return this.cache[key];
|