roku-debug 0.23.9 → 0.23.11

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.
@@ -6,12 +6,32 @@ import type { LocationManager } from './LocationManager';
6
6
  export declare class BreakpointManager {
7
7
  private sourceMapManager;
8
8
  private locationManager;
9
- constructor(sourceMapManager: SourceMapManager, locationManager: LocationManager);
9
+ /**
10
+ * @deprecated temporary flag. AST-based breakpoint validation is disabled in production because Roku
11
+ * silently relocates a breakpoint on a non-runnable line to the next runnable line, so rejecting it
12
+ * would take away behavior the user has. Enabled in tests. Remove once we can relocate breakpoints
13
+ * ourselves instead of dropping them.
14
+ */
15
+ private enableAstBreakpointValidation;
16
+ constructor(sourceMapManager: SourceMapManager, locationManager: LocationManager,
17
+ /**
18
+ * @deprecated temporary flag. AST-based breakpoint validation is disabled in production because Roku
19
+ * silently relocates a breakpoint on a non-runnable line to the next runnable line, so rejecting it
20
+ * would take away behavior the user has. Enabled in tests. Remove once we can relocate breakpoints
21
+ * ourselves instead of dropping them.
22
+ */
23
+ enableAstBreakpointValidation?: boolean);
10
24
  private logger;
11
25
  launchConfiguration: {
12
26
  sourceDirs: string[];
13
27
  rootDir: string;
14
28
  enableSourceMaps?: boolean;
29
+ /**
30
+ * When true the session uses the DebugProtocol (on-device) debugger, which sets breakpoints by
31
+ * line number. When false/undefined it's a telnet session, where breakpoints are only possible by
32
+ * writing literal `STOP` statements into the staged files.
33
+ */
34
+ enableDebugProtocol?: boolean;
15
35
  };
16
36
  private emitter;
17
37
  private emit;
@@ -111,6 +131,9 @@ export declare class BreakpointManager {
111
131
  /**
112
132
  * Get a list of all breakpoint tasks that should be performed.
113
133
  * This will also exclude files with breakpoints that are not in scope.
134
+ * @param willInjectStop true for telnet (a literal `STOP` is baked in at each breakpoint). Only used by
135
+ * the AST line check (see {@link isValidBreakpointLine}), which is gated behind enableAstBreakpointValidation
136
+ * and off by default; when on, it lets telnet exclude lines where injecting a `STOP` would be invalid.
114
137
  */
115
138
  private getBreakpointWork;
116
139
  sortAndRemoveDuplicateBreakpoints<T extends {
@@ -118,14 +141,74 @@ export declare class BreakpointManager {
118
141
  column?: number;
119
142
  }>(breakpoints: Array<T>): T[];
120
143
  /**
121
- * Write "stop" lines into source code for each breakpoint of each file in the given project
144
+ * Reconcile every breakpoint against the project's staged files, marking any that can't be placed
145
+ * (unsupported file type, or a file not in the project) as failed. Returns the placeable breakpoints
146
+ * keyed by staging file path.
147
+ *
148
+ * For telnet there is no on-device breakpoint API, so this also bakes a literal `STOP` into the staged
149
+ * files for each breakpoint and registers them as permanent/verified. DebugProtocol writes nothing
150
+ * (the device breaks by line number). The choice is made here from `launchConfiguration.enableDebugProtocol`.
151
+ */
152
+ validateAndWriteBreakpointsForProject(project: Project): Promise<Record<string, BreakpointWorkItem[]>>;
153
+ /**
154
+ * Write STOP statements into the project's staging files for each breakpoint location and update the
155
+ * sourcemaps to match. Marks the written breakpoints as verified and registers them as permanent.
156
+ * Telnet only — `validateAndWriteBreakpointsForProject` calls this when no on-device breakpoint API
157
+ * is available.
122
158
  */
123
- writeBreakpointsForProject(project: Project): Promise<void>;
159
+ private writeBreakpointsForProject;
124
160
  private registerPermanentBreakpoint;
125
161
  /**
126
162
  * The list of breakpoints that were permanently written to a file at the start of a debug session. Used for line offset calculations.
127
163
  */
128
164
  private permanentBreakpointsBySrcPath;
165
+ /**
166
+ * Cache of parsed ASTs keyed by staging file path.
167
+ * Populated lazily in isValidBreakpointLine. Clear on new debug session.
168
+ */
169
+ private stagingFileAstCache;
170
+ /**
171
+ * Clear the staging file AST cache. Should be called at the start of each debug session
172
+ * so stale parsed ASTs don't carry over after files are re-staged.
173
+ */
174
+ clearStagingFileAstCache(): void;
175
+ /**
176
+ * Reset all per-session state so a relaunch/restart starts clean. A restart re-stages the project,
177
+ * so cached parsed ASTs from the previous run are stale, and the diff baseline must be cleared so the
178
+ * next client sees every breakpoint as a fresh add. (The `<script>`-reference set lives on the
179
+ * freshly-created Project, so it doesn't need resetting here.)
180
+ */
181
+ reset(): void;
182
+ /**
183
+ * Returns whether a 1-based line number in a staging file is a valid breakpoint location.
184
+ *
185
+ * Guiding principle: a breakpoint is ALWAYS allowed unless we can point to specific, real
186
+ * code proving it is invalid. We never drop a breakpoint just because we are unsure.
187
+ *
188
+ * The only thing we are always certain about is the blacklist: the innermost statement at the
189
+ * line is a positively-identified non-executable construct (comment, import/library, namespace/
190
+ * class/enum/interface/const/field/type declaration). Those are invalid for every debugger type.
191
+ *
192
+ * Everything else depends on `willInjectStop`:
193
+ * - DebugProtocol (`willInjectStop === false`): the device breaks by line number and we inject
194
+ * nothing, so we cannot prove any non-blacklisted line is unbreakable. We KEEP it — including
195
+ * continuation lines of a multi-line literal and structural keyword lines (`end if`, `else`,
196
+ * `end sub`, ...).
197
+ * - Telnet (`willInjectStop === true`): we inject a literal `STOP` statement *before* the line.
198
+ * Injecting a `STOP` into the middle of a multi-line literal, or before a structural keyword,
199
+ * produces invalid BrightScript. We can identify those lines precisely: they are *covered* by
200
+ * some statement's range but no statement *starts* on them. Those are excluded for telnet only.
201
+ *
202
+ * A truly empty (whitespace-only) line that no node covers is genuinely non-executable in both
203
+ * modes. A non-empty line that no node covers means the AST is incomplete/broken (partial or
204
+ * failed parse) — we fail open and KEEP it. A read/parse error also fails open.
205
+ *
206
+ * The returned object is designed to support future breakpoint-correction: callers can check
207
+ * `correctedLine` to suggest moving the breakpoint to a nearby valid line rather than dropping it.
208
+ *
209
+ * @param willInjectStop true when a literal `STOP` will be injected at this location (telnet)
210
+ */
211
+ private isValidBreakpointLine;
129
212
  /**
130
213
  * Write breakpoints to the specified file, and update the sourcemaps to match
131
214
  */
@@ -300,3 +383,15 @@ export type BreakpointRef = string | AugmentedSourceBreakpoint | {
300
383
  } | (Breakpoint & {
301
384
  srcPath: string;
302
385
  });
386
+ /**
387
+ * Result of validating whether a staging-file line is executable.
388
+ * `correctedLine` is reserved for future breakpoint-correction support: when a
389
+ * breakpoint is placed on a non-executable line the debugger can suggest a nearby
390
+ * executable line (like VS Code does for other languages) rather than silently
391
+ * dropping the breakpoint.
392
+ */
393
+ export interface LineValidationResult {
394
+ isValid: boolean;
395
+ /** Future: 1-based line to move the breakpoint to, if different from the requested line. */
396
+ correctedLine?: number;
397
+ }
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BreakpointManager = void 0;
4
+ const path = require("path");
4
5
  const fsExtra = require("fs-extra");
6
+ const brighterscript_1 = require("brighterscript");
5
7
  const natural_orderby_1 = require("natural-orderby");
6
8
  const source_map_1 = require("source-map");
7
9
  const FileUtils_1 = require("../FileUtils");
@@ -10,9 +12,17 @@ const util_1 = require("../util");
10
12
  const eventemitter3_1 = require("eventemitter3");
11
13
  const logging_1 = require("../logging");
12
14
  class BreakpointManager {
13
- constructor(sourceMapManager, locationManager) {
15
+ constructor(sourceMapManager, locationManager,
16
+ /**
17
+ * @deprecated temporary flag. AST-based breakpoint validation is disabled in production because Roku
18
+ * silently relocates a breakpoint on a non-runnable line to the next runnable line, so rejecting it
19
+ * would take away behavior the user has. Enabled in tests. Remove once we can relocate breakpoints
20
+ * ourselves instead of dropping them.
21
+ */
22
+ enableAstBreakpointValidation = false) {
14
23
  this.sourceMapManager = sourceMapManager;
15
24
  this.locationManager = locationManager;
25
+ this.enableAstBreakpointValidation = enableAstBreakpointValidation;
16
26
  this.logger = logging_1.logger.createLogger('[bpManager]');
17
27
  this.emitter = new eventemitter3_1.EventEmitter();
18
28
  /**
@@ -36,6 +46,11 @@ class BreakpointManager {
36
46
  * The list of breakpoints that were permanently written to a file at the start of a debug session. Used for line offset calculations.
37
47
  */
38
48
  this.permanentBreakpointsBySrcPath = new Map();
49
+ /**
50
+ * Cache of parsed ASTs keyed by staging file path.
51
+ * Populated lazily in isValidBreakpointLine. Clear on new debug session.
52
+ */
53
+ this.stagingFileAstCache = new Map();
39
54
  this.bpIndex = 1;
40
55
  /**
41
56
  * A map of breakpoint hashes, and whether that breakpoint is currently pending or not.
@@ -111,14 +126,16 @@ class BreakpointManager {
111
126
  (_c = bp.id) !== null && _c !== void 0 ? _c : (bp.id = this.breakpointIdSequence++);
112
127
  //all breakpoints default to false if not already set to true
113
128
  (_d = bp.verified) !== null && _d !== void 0 ? _d : (bp.verified = false);
129
+ //if the breakpoint hash changed, mark the breakpoint as unverified and clear any previous failure reason
130
+ //this must run before the inline-breakpoint check so that the 'failed' reason set below is not cleared
131
+ if ((existingBreakpoint === null || existingBreakpoint === void 0 ? void 0 : existingBreakpoint.srcHash) !== bp.srcHash) {
132
+ bp.verified = false;
133
+ bp.reason = undefined;
134
+ }
114
135
  if (bp.column > 0) {
115
136
  bp.message = `Error: inline break points are not supported`;
116
137
  bp.reason = 'failed';
117
138
  }
118
- //if the breakpoint hash changed, mark the breakpoint as unverified
119
- if ((existingBreakpoint === null || existingBreakpoint === void 0 ? void 0 : existingBreakpoint.srcHash) !== bp.srcHash) {
120
- bp.verified = false;
121
- }
122
139
  //if this is a new breakpoint, add it to the list. (otherwise, the existing breakpoint is edited in-place)
123
140
  if (!existingBreakpoint) {
124
141
  breakpointsArray.push(bp);
@@ -304,8 +321,11 @@ class BreakpointManager {
304
321
  /**
305
322
  * Get a list of all breakpoint tasks that should be performed.
306
323
  * This will also exclude files with breakpoints that are not in scope.
324
+ * @param willInjectStop true for telnet (a literal `STOP` is baked in at each breakpoint). Only used by
325
+ * the AST line check (see {@link isValidBreakpointLine}), which is gated behind enableAstBreakpointValidation
326
+ * and off by default; when on, it lets telnet exclude lines where injecting a `STOP` would be invalid.
307
327
  */
308
- async getBreakpointWork(project) {
328
+ async getBreakpointWork(project, willInjectStop = false) {
309
329
  var _a, _b;
310
330
  let result = {};
311
331
  //iterate over every file that contains breakpoints
@@ -323,6 +343,23 @@ class BreakpointManager {
323
343
  project.rootDir
324
344
  ], project.stagingDir, project.fileMappings);
325
345
  for (let stagingLocation of stagingLocationsResult.locations) {
346
+ //skip files we can't inject breakpoints into (e.g. JSON, etc.)
347
+ //if the extension isn't natively supported, check if the file is referenced
348
+ //by a <script> tag in an XML component — Roku loads those as BrightScript
349
+ //regardless of extension. The set is collected once during Project.stage().
350
+ const ext = path.extname(stagingLocation.filePath).toLowerCase();
351
+ if (!['.brs', '.xml'].includes(ext)) {
352
+ if (!project.scriptReferencedFiles.has((0, roku_deploy_1.standardizePath) `${stagingLocation.filePath}`)) {
353
+ continue;
354
+ }
355
+ }
356
+ //skip breakpoints on lines that are not valid breakpoint locations.
357
+ //disabled by default: Roku silently relocates a breakpoint on a non-runnable line to
358
+ //the next runnable line, so rejecting it here would remove behavior the user had. The
359
+ //AST check is retained behind a flag (on in tests) until we can relocate rather than drop.
360
+ if (this.enableAstBreakpointValidation && !this.isValidBreakpointLine(stagingLocation.filePath, stagingLocation.lineNumber, willInjectStop).isValid) {
361
+ continue;
362
+ }
326
363
  let relativeStagingPath = FileUtils_1.fileUtils.replaceCaseInsensitive(stagingLocation.filePath, FileUtils_1.fileUtils.standardizePath(FileUtils_1.fileUtils.removeTrailingSlash(project.stagingDir) + '/'), '');
327
364
  const pkgPath = 'pkg:/' + FileUtils_1.fileUtils
328
365
  //replace staging folder path with nothing (so we can build a pkg path)
@@ -375,19 +412,62 @@ class BreakpointManager {
375
412
  return breakpoints;
376
413
  }
377
414
  /**
378
- * Write "stop" lines into source code for each breakpoint of each file in the given project
415
+ * Reconcile every breakpoint against the project's staged files, marking any that can't be placed
416
+ * (unsupported file type, or a file not in the project) as failed. Returns the placeable breakpoints
417
+ * keyed by staging file path.
418
+ *
419
+ * For telnet there is no on-device breakpoint API, so this also bakes a literal `STOP` into the staged
420
+ * files for each breakpoint and registers them as permanent/verified. DebugProtocol writes nothing
421
+ * (the device breaks by line number). The choice is made here from `launchConfiguration.enableDebugProtocol`.
422
+ */
423
+ async validateAndWriteBreakpointsForProject(project) {
424
+ var _a;
425
+ //telnet bakes in a literal STOP per breakpoint; DebugProtocol breaks by line number and writes nothing
426
+ const willInjectStop = !((_a = this.launchConfiguration) === null || _a === void 0 ? void 0 : _a.enableDebugProtocol);
427
+ const breakpointsByStagingFilePath = await this.getBreakpointWork(project, willInjectStop);
428
+ //track which breakpoints were successfully mapped to a staging location
429
+ const stagedSrcHashes = new Set();
430
+ for (const stagingFilePath in breakpointsByStagingFilePath) {
431
+ for (const breakpoint of breakpointsByStagingFilePath[stagingFilePath]) {
432
+ stagedSrcHashes.add(breakpoint.srcHash);
433
+ }
434
+ }
435
+ //fail any breakpoints that had no staging location
436
+ for (const [, breakpoints] of this.breakpointsByFilePath) {
437
+ for (const bp of breakpoints) {
438
+ if (!stagedSrcHashes.has(bp.srcHash) && bp.reason !== 'failed') {
439
+ bp.verified = false;
440
+ bp.reason = 'failed';
441
+ //only message for BrightScript file types; leave others blank (not necessarily a real
442
+ //failure — just not a file we know how to place a breakpoint in)
443
+ const srcExt = path.extname(bp.srcPath).toLowerCase();
444
+ bp.message = ['.brs', '.bs', '.xml'].includes(srcExt)
445
+ ? 'No executable code at this line'
446
+ : undefined;
447
+ this.queueEvent('breakpoints-verified', bp.srcHash);
448
+ }
449
+ }
450
+ }
451
+ if (willInjectStop) {
452
+ await this.writeBreakpointsForProject(breakpointsByStagingFilePath);
453
+ }
454
+ return breakpointsByStagingFilePath;
455
+ }
456
+ /**
457
+ * Write STOP statements into the project's staging files for each breakpoint location and update the
458
+ * sourcemaps to match. Marks the written breakpoints as verified and registers them as permanent.
459
+ * Telnet only — `validateAndWriteBreakpointsForProject` calls this when no on-device breakpoint API
460
+ * is available.
379
461
  */
380
- async writeBreakpointsForProject(project) {
381
- let breakpointsByStagingFilePath = await this.getBreakpointWork(project);
382
- let promises = [];
383
- for (let stagingFilePath in breakpointsByStagingFilePath) {
462
+ async writeBreakpointsForProject(breakpointsByStagingFilePath) {
463
+ const promises = [];
464
+ for (const stagingFilePath in breakpointsByStagingFilePath) {
384
465
  const breakpoints = breakpointsByStagingFilePath[stagingFilePath];
385
466
  promises.push(this.writeBreakpointsToFile(stagingFilePath, breakpoints));
386
467
  for (const breakpoint of breakpoints) {
387
- //mark this breakpoint as verified
468
+ //mark this breakpoint as verified and register as permanent
388
469
  this.setBreakpointDeviceId(breakpoint.srcHash, breakpoint.destHash, breakpoint.id);
389
470
  this.verifyBreakpoint(breakpoint.id, true);
390
- //add this breakpoint to the list of "permanent" breakpoints
391
471
  this.registerPermanentBreakpoint(breakpoint);
392
472
  }
393
473
  }
@@ -404,6 +484,121 @@ class BreakpointManager {
404
484
  collection.push({ ...breakpoint });
405
485
  this.permanentBreakpointsBySrcPath.set(breakpoint.srcPath, collection);
406
486
  }
487
+ /**
488
+ * Clear the staging file AST cache. Should be called at the start of each debug session
489
+ * so stale parsed ASTs don't carry over after files are re-staged.
490
+ */
491
+ clearStagingFileAstCache() {
492
+ this.stagingFileAstCache.clear();
493
+ }
494
+ /**
495
+ * Reset all per-session state so a relaunch/restart starts clean. A restart re-stages the project,
496
+ * so cached parsed ASTs from the previous run are stale, and the diff baseline must be cleared so the
497
+ * next client sees every breakpoint as a fresh add. (The `<script>`-reference set lives on the
498
+ * freshly-created Project, so it doesn't need resetting here.)
499
+ */
500
+ reset() {
501
+ this.clearStagingFileAstCache();
502
+ this.clearBreakpointLastState();
503
+ }
504
+ /**
505
+ * Returns whether a 1-based line number in a staging file is a valid breakpoint location.
506
+ *
507
+ * Guiding principle: a breakpoint is ALWAYS allowed unless we can point to specific, real
508
+ * code proving it is invalid. We never drop a breakpoint just because we are unsure.
509
+ *
510
+ * The only thing we are always certain about is the blacklist: the innermost statement at the
511
+ * line is a positively-identified non-executable construct (comment, import/library, namespace/
512
+ * class/enum/interface/const/field/type declaration). Those are invalid for every debugger type.
513
+ *
514
+ * Everything else depends on `willInjectStop`:
515
+ * - DebugProtocol (`willInjectStop === false`): the device breaks by line number and we inject
516
+ * nothing, so we cannot prove any non-blacklisted line is unbreakable. We KEEP it — including
517
+ * continuation lines of a multi-line literal and structural keyword lines (`end if`, `else`,
518
+ * `end sub`, ...).
519
+ * - Telnet (`willInjectStop === true`): we inject a literal `STOP` statement *before* the line.
520
+ * Injecting a `STOP` into the middle of a multi-line literal, or before a structural keyword,
521
+ * produces invalid BrightScript. We can identify those lines precisely: they are *covered* by
522
+ * some statement's range but no statement *starts* on them. Those are excluded for telnet only.
523
+ *
524
+ * A truly empty (whitespace-only) line that no node covers is genuinely non-executable in both
525
+ * modes. A non-empty line that no node covers means the AST is incomplete/broken (partial or
526
+ * failed parse) — we fail open and KEEP it. A read/parse error also fails open.
527
+ *
528
+ * The returned object is designed to support future breakpoint-correction: callers can check
529
+ * `correctedLine` to suggest moving the breakpoint to a nearby valid line rather than dropping it.
530
+ *
531
+ * @param willInjectStop true when a literal `STOP` will be injected at this location (telnet)
532
+ */
533
+ isValidBreakpointLine(stagingFilePath, lineNumber, willInjectStop = false) {
534
+ var _a;
535
+ try {
536
+ const cacheKey = (0, roku_deploy_1.standardizePath) `${stagingFilePath}`;
537
+ if (!this.stagingFileAstCache.has(cacheKey)) {
538
+ const contents = fsExtra.readFileSync(stagingFilePath, 'utf-8');
539
+ this.stagingFileAstCache.set(cacheKey, brighterscript_1.Parser.parse(contents));
540
+ }
541
+ const parsed = this.stagingFileAstCache.get(cacheKey);
542
+ // BrightScript AST uses 0-based lines; breakpoint line numbers are 1-based
543
+ const targetLine = lineNumber - 1;
544
+ // Walk depth-first (parent before children).
545
+ // - Track the innermost statement whose start line equals targetLine.
546
+ // - Track whether *any* node's range covers targetLine (start <= line <= end).
547
+ // - Cancel as soon as a node starts past targetLine.
548
+ const handle = new brighterscript_1.CancellationTokenSource();
549
+ let deepestStatement;
550
+ let lineIsCovered = false;
551
+ parsed.ast.walk((node) => {
552
+ if (!node.range) {
553
+ return;
554
+ }
555
+ if (node.range.start.line > targetLine) {
556
+ handle.cancel();
557
+ return;
558
+ }
559
+ //the target line falls within this node's span (even if no statement starts on it)
560
+ if (node.range.end.line >= targetLine) {
561
+ lineIsCovered = true;
562
+ }
563
+ if ((0, brighterscript_1.isStatement)(node) && node.range.start.line === targetLine) {
564
+ deepestStatement = node;
565
+ }
566
+ }, {
567
+ walkMode: brighterscript_1.WalkMode.visitAllRecursive,
568
+ cancel: handle.token
569
+ });
570
+ if (!deepestStatement) {
571
+ //No statement starts here. There are two very different reasons this can happen:
572
+ // 1. The line sits *inside* some statement's range ("covered") but isn't itself a statement
573
+ // start — e.g. a structural keyword (`else`, `end if/for/while/sub/function`) or a
574
+ // continuation line of a multi-line literal/call. Injecting a `STOP` before such a line
575
+ // produces invalid BrightScript, so it is invalid *for telnet only*. For DebugProtocol
576
+ // (no injection) we cannot prove the device won't break there, so we KEEP it.
577
+ // 2. The line is *not* covered by any node. Either the line is genuinely empty (whitespace
578
+ // only) — non-executable in both modes — or the AST is incomplete/broken (partial/failed
579
+ // parse) and is simply missing the code that the file actually contains, in which case we
580
+ // fail open and KEEP it.
581
+ if (lineIsCovered) {
582
+ //only telnet's STOP injection makes a covered-but-statement-less line invalid
583
+ return { isValid: !willInjectStop };
584
+ }
585
+ //the line is not covered by any node. If the source line is empty/whitespace it is genuinely
586
+ //non-executable; otherwise the AST is missing code that the file actually contains, so keep it.
587
+ const sourceLine = (_a = fsExtra.readFileSync(stagingFilePath, 'utf-8').split(/\r?\n/)[targetLine]) !== null && _a !== void 0 ? _a : '';
588
+ return { isValid: sourceLine.trim().length > 0 };
589
+ }
590
+ //the only thing we are always certain is invalid: a positively-identified non-executable statement
591
+ if (isInvalidBreakpointLine(deepestStatement)) {
592
+ return { isValid: false };
593
+ }
594
+ return { isValid: true };
595
+ }
596
+ catch (e) {
597
+ // never block a breakpoint due to a parse error — fail open
598
+ this.logger.debug('Error checking if staging line is executable, allowing through', { stagingFilePath, lineNumber, error: e });
599
+ return { isValid: true };
600
+ }
601
+ }
407
602
  /**
408
603
  * Write breakpoints to the specified file, and update the sourcemaps to match
409
604
  */
@@ -728,4 +923,35 @@ class BreakpointManager {
728
923
  }
729
924
  }
730
925
  exports.BreakpointManager = BreakpointManager;
926
+ /**
927
+ * Returns true when `node` is known to be an invalid breakpoint location.
928
+ *
929
+ * Blacklisted categories:
930
+ * - Pure-declaration or structural statements: comments, imports, namespace/class/
931
+ * enum/interface/type declarations, constants, class fields.
932
+ *
933
+ * Notably NOT blacklisted (all are valid breakpoint locations):
934
+ * - Function/method headers (`sub`/`function` line)
935
+ * - `dim` statements
936
+ * - Label statements
937
+ * - The standalone `end` program-terminator
938
+ *
939
+ * Lines where no statement starts (blank lines, `else`, `end if/for/while/sub/function`)
940
+ * are handled before this function is called and always return invalid.
941
+ */
942
+ function isInvalidBreakpointLine(node) {
943
+ return ((0, brighterscript_1.isCommentStatement)(node) ||
944
+ (0, brighterscript_1.isImportStatement)(node) ||
945
+ (0, brighterscript_1.isLibraryStatement)(node) ||
946
+ (0, brighterscript_1.isNamespaceStatement)(node) ||
947
+ (0, brighterscript_1.isClassStatement)(node) ||
948
+ (0, brighterscript_1.isEnumStatement)(node) ||
949
+ (0, brighterscript_1.isEnumMemberStatement)(node) ||
950
+ (0, brighterscript_1.isInterfaceStatement)(node) ||
951
+ (0, brighterscript_1.isInterfaceFieldStatement)(node) ||
952
+ (0, brighterscript_1.isInterfaceMethodStatement)(node) ||
953
+ (0, brighterscript_1.isConstStatement)(node) ||
954
+ (0, brighterscript_1.isFieldStatement)(node) ||
955
+ (0, brighterscript_1.isTypeStatement)(node));
956
+ }
731
957
  //# sourceMappingURL=BreakpointManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BreakpointManager.js","sourceRoot":"","sources":["../../src/managers/BreakpointManager.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,qDAA0C;AAE1C,2CAA2D;AAE3D,4CAA0D;AAE1D,6CAAmD;AAGnD,kCAA+B;AAC/B,iDAA6C;AAC7C,wCAA4C;AAE5C,MAAa,iBAAiB;IAE1B,YACY,gBAAkC,EAClC,eAAgC;QADhC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,oBAAe,GAAf,eAAe,CAAiB;QAKpC,WAAM,GAAG,gBAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAQ5C,YAAO,GAAG,IAAI,4BAAY,EAAE,CAAC;QA+BrC;;;;;WAKG;QACK,0BAAqB,GAAG,IAAI,GAAG,EAAuC,CAAC;QAE/E;;WAEG;QACI,oBAAe,GAAG,EAA0B,CAAC;QAEpD;;WAEG;QACK,yBAAoB,GAAG,CAAC,CAAC;QAoKzB,uBAAkB,GAAG,IAAI,GAAG,EAAiD,CAAC;QAqC9E,qBAAgB,GAAG,IAAI,GAAG,EAA+D,CAAC;QAoOlG;;WAEG;QACK,kCAA6B,GAAG,IAAI,GAAG,EAAgC,CAAC;QA2DxE,YAAO,GAAG,CAAC,CAAC;QAySpB;;WAEG;QACK,4BAAuB,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE7D;;WAEG;QACK,qBAAgB,GAAG,KAAK,CAAC;QACzB,cAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;IAt1B1D,CAAC;IAaO,IAAI,CAAC,SAAiB,EAAE,IAAS;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAMM,EAAE,CAAC,SAAiB,EAAE,OAA2B;QACpD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC;IACN,CAAC;IAMM,IAAI,CAAC,SAAiB;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,SAAmC,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrE,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAoBD;;OAEG;IACI,aAAa,CAAC,OAAe,EAAE,UAAsE;;QACxG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QAE5D,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;QAEhE,0GAA0G;QAC1G,8EAA8E;QAC9E,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,UAAU,0CAAE,MAAM,IAAG,CAAC,EAAE;YAClD,IAAI,eAAuB,CAAC;YAC5B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE;gBACzD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACvE,IAAI,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;oBACjC,eAAe,GAAG,OAAO,CAAC;iBAC7B;aACJ;YACD,6DAA6D;YAC7D,IAAI,eAAe,EAAE;gBACjB,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;aAC1D;SACJ;QAED,qEAAqE;QACrE,IAAI,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEjE,iJAAiJ;QACjJ,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,MAAA,UAAU,CAAC,MAAM,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;QAE3H,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;QAE5D,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,EAAE,EAAE;YAC7C,sGAAsG;YACtG,GAAG;gBACC,oDAAoD;gBACpD,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,SAAS;gBACpB,YAAY,EAAE,SAAS;gBACvB,UAAU,EAAE,SAAS;aACxB;YACD,GAAG,UAAU;YACb,OAAO,EAAE,OAAO;SACU,CAAC,CAAC;QAEhC,6GAA6G;QAC7G,uEAAuE;QACvE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEpD,6DAA6D;QAC7D,MAAA,EAAE,CAAC,EAAE,oCAAL,EAAE,CAAC,EAAE,GAAK,IAAI,CAAC,oBAAoB,EAAE,EAAC;QAEtC,6DAA6D;QAC7D,MAAA,EAAE,CAAC,QAAQ,oCAAX,EAAE,CAAC,QAAQ,GAAK,KAAK,EAAC;QAEtB,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YACf,EAAE,CAAC,OAAO,GAAG,8CAA8C,CAAC;YAC5D,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC;SACxB;QAED,mEAAmE;QACnE,IAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,MAAK,EAAE,CAAC,OAAO,EAAE;YAC5C,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;QAED,0GAA0G;QAC1G,IAAI,CAAC,kBAAkB,EAAE;YACrB,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC7B;QAED,mHAAmH;QACnH,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACtC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QAE5C,OAAO,EAAE,CAAC;IACd,CAAC;IAQM,gBAAgB,CAAC,GAAG,IAAmE;QAC1F,IAAI,CAAC,iBAAiB,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAgB,CAAC;SAC1C,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,IAAqB;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAE7C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,gBAAgB,EAAE;gBAClB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClF,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACrC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;aACvE;SACJ;IACL,CAAC;IAOM,aAAa,CAAC,GAAG,IAA4C;QAChE,IAAI,GAAkB,CAAC;QACvB,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YAC5D,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACrD;aAAM;YACH,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,GAAkB;QAChC,IAAI,CAAC,GAAG,EAAE;YACN,OAAO;SACV;QACD,MAAM;QACN,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,OAAO,GAAG,CAAC;SACd;QACD,yBAAyB;QACzB,IAAI,SAAS,IAAI,GAAG,EAAE;YAClB,OAAO,GAAG,CAAC,OAAO,CAAC;SACtB;QACD,yBAAyB;QACzB,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,EAAE;YACd,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACtD;IACL,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,IAAqB;QACvC,8BAA8B;QAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5D,+DAA+D;QAC/D,OAAO,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACtE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAID;;;QAGI;IACI,uBAAuB,CAAC,QAAgB;QAC5C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACzD,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,qBAAqB,CAAC,OAAe,EAAE,QAAgB,EAAE,QAAgB;QAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,QAAgB,EAAE,UAAU,GAAG,IAAI;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,UAAU,EAAE;YACZ,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC;YAEjC,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;SACf;aAAM;YACH,mFAAmF;YACnF,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAKD;;;;OAIG;IACK,UAAU,CAAC,KAA6B,EAAE,GAAkB;;QAChE,qCAAqC;QACrC,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;YAEtB,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAClB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3D,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAwC,EAAE;oBAChD,WAAW,EAAE,WAAW;iBAC3B,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,QAAgB,EAAE,UAAsE;;QACjH,MAAM,GAAG,GAAG,GAAG,IAAA,2BAAe,EAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,IAAI,MAAA,UAAU,CAAC,MAAM,mCAAI,CAAC,EAAE,CAAC;QAExF,MAAM,SAAS,GAAG,MAAA,UAAU,CAAC,SAAS,0CAAE,IAAI,EAAE,CAAC;QAC/C,IAAI,SAAS,EAAE;YACX,OAAO,GAAG,GAAG,cAAc,SAAS,EAAE,CAAC;SAC1C;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAA,UAAU,CAAC,YAAY,0CAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YACtB,OAAO,GAAG,GAAG,iBAAiB,YAAY,EAAE,CAAC;SAChD;QAED,IAAI,UAAU,CAAC,UAAU,EAAE;YACvB,OAAO,GAAG,GAAG,eAAe,UAAU,CAAC,UAAU,EAAE,CAAC;SACvD;QAED,OAAO,GAAG,GAAG,WAAW,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,UAA8B;;QACxD,MAAM,GAAG,GAAG,GAAG,IAAA,2BAAe,EAAC,UAAU,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,IAAI,IAAI,MAAA,UAAU,CAAC,MAAM,mCAAI,CAAC,EAAE,CAAC;QAE1G,MAAM,SAAS,GAAG,MAAA,UAAU,CAAC,SAAS,0CAAE,IAAI,EAAE,CAAC;QAC/C,IAAI,SAAS,EAAE;YACX,OAAO,GAAG,GAAG,cAAc,SAAS,EAAE,CAAC;SAC1C;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAA,UAAU,CAAC,YAAY,0CAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YACtB,OAAO,GAAG,GAAG,iBAAiB,YAAY,EAAE,CAAC;SAChD;QAED,IAAI,UAAU,CAAC,UAAU,EAAE;YACvB,OAAO,GAAG,GAAG,eAAe,UAAU,CAAC,UAAU,EAAE,CAAC;SACvD;QAED,OAAO,GAAG,GAAG,WAAW,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CAAC,OAAe,EAAE,qBAAuD;QAC9F,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAE5G,0EAA0E;QAC1E,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAC1B,OAAO,EACP,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAClF,CAAC;QAEF,mCAAmC;QACnC,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAAgB;;QAC5C,IAAI,MAAM,GAAG,EAA+C,CAAC;QAE7D,mDAAmD;QACnD,KAAK,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAClE,KAAK,IAAI,UAAU,IAAI,WAAW,EAAE;gBAChC,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,MAAK,QAAQ,EAAE;oBACjC,qDAAqD;oBACrD,sEAAsE;oBACtE,SAAS;iBACZ;gBACD,iFAAiF;gBACjF,oDAAoD;gBACpD,IAAI,sBAAsB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CACvE,cAAc,EACd,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,MAAM,EACjB;oBACI,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,mCAAI,EAAE;oBAC5B,OAAO,CAAC,OAAO;iBAClB,EACD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,YAAY,CACvB,CAAC;gBAEF,KAAK,IAAI,eAAe,IAAI,sBAAsB,CAAC,SAAS,EAAE;oBAC1D,IAAI,mBAAmB,GAAG,qBAAS,CAAC,sBAAsB,CACtD,eAAe,CAAC,QAAQ,EACxB,qBAAS,CAAC,eAAe,CACrB,qBAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG,CAC1D,EACD,EAAE,CACL,CAAC;oBACF,MAAM,OAAO,GAAG,OAAO,GAAG,qBAAS;wBAC/B,uEAAuE;yBACtE,sBAAsB,CACnB,IAAA,6BAAC,EAAA,GAAG,eAAe,CAAC,QAAQ,EAAE,EAC9B,IAAA,6BAAC,EAAA,GAAG,OAAO,CAAC,UAAU,EAAE,EACxB,EAAE,CACL;wBACD,+BAA+B;yBAC9B,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;wBACzB,sBAAsB;yBACrB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAExB,IAAI,GAAG,GAAuB;wBAC1B,yBAAyB;wBACzB,GAAG,UAAU;wBACb,qBAAqB;wBACrB,OAAO,EAAE,cAAc;wBACvB,QAAQ,EAAE,SAAS;wBACnB,eAAe,EAAE,IAAA,6BAAC,EAAA,GAAG,OAAO,CAAC,OAAO,IAAI,mBAAmB,EAAE;wBAC7D,IAAI,EAAE,eAAe,CAAC,UAAU;wBAChC,MAAM,EAAE,eAAe,CAAC,WAAW;wBACnC,eAAe,EAAE,eAAe,CAAC,QAAQ;wBACzC,IAAI,EAAE,sBAAsB,CAAC,IAAI;wBACjC,OAAO,EAAE,OAAO;wBAChB,oBAAoB,EAAG,OAAmC,CAAC,IAAI;qBAClE,CAAC;oBACF,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;oBAC/C,GAAG,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC;oBAEnE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;wBACnC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;qBACzC;oBACD,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC9C;aACJ;SACJ;QACD,mCAAmC;QACnC,KAAK,IAAI,eAAe,IAAI,MAAM,EAAE;YAChC,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;SAC7F;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,iCAAiC,CACpC,WAAqB;QAErB,WAAW,GAAG,IAAA,yBAAO,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjE,wEAAwE;QACxE,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,gBAAgB,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,sCAAsC;YACtC,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EAAE;gBAC/D,mFAAmF;gBACnF,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aAChC;SACJ;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,0BAA0B,CAAC,OAAgB;QACpD,IAAI,4BAA4B,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,QAAQ,GAAG,EAAoB,CAAC;QACpC,KAAK,IAAI,eAAe,IAAI,4BAA4B,EAAE;YACtD,MAAM,WAAW,GAAG,4BAA4B,CAAC,eAAe,CAAC,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;gBAClC,kCAAkC;gBAClC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;gBACnF,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3C,4DAA4D;gBAC5D,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;aAChD;SACJ;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,mDAAmD;QACnD,KAAK,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,6BAA6B,EAAE;YACjE,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,EAAE,IAAA,yBAAO,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACnG;IACL,CAAC;IAEO,2BAA2B,CAAC,UAA8B;;QAC9D,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAC;QACpF,yDAAyD;QACzD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3E,CAAC;IAOD;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,eAAuB,EAAE,WAAiC;QAE3F,wCAAwC;QACxC,IAAI,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;YAC5C,WAAI,CAAC,GAAG,CAAC,kBAAkB,eAAe,EAAE,CAAC,CAAC;YAC9C,OAAO;SACV;QAED,2BAA2B;QAC3B,IAAI,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAExE,yFAAyF;QACzF,+EAA+E;QAC/E,MAAM,cAAc,GAAG,GAAG,eAAe,MAAM,CAAC;QAEhD,6EAA6E;QAC7E,uFAAuF;QACvF,uFAAuF;QACvF,iEAAiE;QACjE,IAAI,gBAAwB,CAAC;QAC7B,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;YACrC,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;SACrD;aAAM;YACH,2DAA2D;YAC3D,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;SAC7C;QAED,IAAI,YAAY,GAAG,IAAI,CAAC,8BAA8B,CAAC,YAAY,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAEpG,uDAAuD;QACvD,IAAI,YAAY,CAAC,GAAG,EAAE;YAClB,2FAA2F;YAC3F,2FAA2F;YAC3F,uFAAuF;YACvF,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;gBACrC,0EAA0E;gBAC1E,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;gBACtF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBAC9E,IAAI,WAAW,EAAE;oBACb,MAAM,8BAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;wBACzD,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;oBAChE,CAAC,CAAC,CAAC;iBACN;aACJ;YACD,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YACnD,iDAAiD;YACjD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;SACxD;QAED,sDAAsD;QACtD,MAAM,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAGM,8BAA8B,CAAC,YAAoB,EAAE,gBAAwB,EAAE,WAAiC;;QACnH,IAAI,MAAM,GAAG,EAAgC,CAAC;QAE9C,2BAA2B;QAC3B,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,KAAK,IAAI,iBAAiB,GAAG,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE;YACnF,IAAI,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACpC,kBAAkB;YAClB,IAAI,iBAAiB,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxC,OAAO,GAAG,EAAE,CAAC;aAChB;YACD,+FAA+F;YAC/F,IAAI,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,iBAAiB,CAAC,CAAC;YAClF,sDAAsD;YACtD,KAAK,IAAI,EAAE,IAAI,eAAe,EAAE;gBAC5B,4EAA4E;gBAC5E,8EAA8E;gBAC9E,qEAAqE;gBACrE,IAAI,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBAEvE,uDAAuD;gBACvD,KAAK,IAAI,MAAM,IAAI,kBAAkB,EAAE;oBACnC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrB;aACJ;YAED,2BAA2B;YAC3B,MAAM,CAAC,IAAI;YACP,wCAAwC;YACxC,IAAI,uBAAU,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,IAAI,GAAG,OAAO,EAAE,CAAC,CAClF,CAAC;SACL;QAED,IAAI,IAAI,GAAG,IAAI,uBAAU,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAEhE,kFAAkF;QAClF,IAAI,CAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,gBAAgB,MAAK,KAAK,EAAE;YACtD,OAAO;gBACH,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;gBACrB,GAAG,EAAE,SAAS;aACI,CAAC;SAC1B;aAAM;YACH,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;SACvC;IACL,CAAC;IAEO,kBAAkB,CAAC,UAA8B,EAAE,gBAAwB;QAC/E,IAAI,KAAK,GAAG,EAAgC,CAAC;QAC7C,IAAI,UAAU,CAAC,UAAU,EAAE;YACvB,IAAI,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACvC,gCAAgC;YAChC,UAAU,GAAG,IAAI,UAAU,GAAG,CAAC;YAC/B,IAAI,gBAAgB,GAAG,YAAY,CAAC;YACpC,IAAI,KAAsB,CAAC;YAE3B,+CAA+C;YAC/C,OAAO,CAAC,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;gBAChD,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACjE;YAED,6EAA6E;YAC7E,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC,CAAC;SAC3F;aAAM,IAAI,UAAU,CAAC,SAAS,EAAE;YAC7B,mCAAmC;YACnC,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC,SAAS,uBAAuB,CAAC,CAAC,CAAC;SACvH;aAAM,IAAI,UAAU,CAAC,YAAY,EAAE;YAChC,IAAI,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAErD,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE;gBAC3C,8CAA8C;gBAC9C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtB;iBAAM;gBACH,IAAI,MAAM,GAAG,aAAa,CAAC;gBAC3B,IAAI,MAAM,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnC,IAAI,SAAS,GAAG,MAAM,MAAM,IAAI,MAAM,OAAO,YAAY,YAAY,CAAC;gBACtE,IAAI,SAAS,GAAG,GAAG,MAAM,IAAI,MAAM,KAAK,CAAC;gBAEzC,0EAA0E;gBAC1E,IAAI,kBAAkB,GAAG;mCACN,MAAM,iBAAiB,MAAM,IAAI,MAAM;uCACnC,MAAM;8BACf,MAAM,OAAO,MAAM;;8BAEnB,MAAM,IAAI,MAAM;;0BAEpB,SAAS,MAAM,SAAS;iBACjC,CAAC;gBACF,wCAAwC;gBACxC,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxF,qDAAqD;gBACrD,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC;aACxF;SACJ;aAAM;YACH,uGAAuG;YACvG,iEAAiE;YACjE,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;SAC5E;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,QAAgB,EAAE,iBAAiB,GAAG,KAAK;;QACrE,IAAI,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;QACzD,IAAI,iBAAiB,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;SAC/C;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,sBAAsB,CAAC,IAAY;QACtC,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,6BAA6B,EAAE;YAC9D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;gBAClC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,EAAE;oBAC7B,OAAO,UAAU,CAAC;iBACrB;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACI,8BAA8B,CAAC,OAAe;;QACjD,OAAO,MAAA,IAAI,CAAC,6BAA6B,CAAC,GAAG,CACzC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CACvC,mCAAI,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACI,sBAAsB,CAAC,QAAgB;QAC1C,QAAQ,GAAG,qBAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC1C,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,EAAE;gBAC9C,OAAO,GAAG,CAAC;aACd;SACJ;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,iBAAiB,CAAC,QAAmB,EAAE,OAAe,EAAE,IAAY;QAC7E,MAAM,aAAa,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CACpC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAC3D,CAAC,CAAC;QACH,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE;YACrC,KAAK,IAAI,GAAG,IAAI,WAAW,EAAE;gBACzB,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;oBACrB,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,EAAE;wBACpD,OAAO,IAAI,CAAC;qBACf;iBACJ;aACJ;SACJ;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,QAAmB;;QACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE7B,8EAA8E;QAC9E,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,OAAO;gBACH,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;aAC1C,CAAC;SACL;QACD,IAAI;YACA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE7B,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;YAC3D,MAAM,OAAO,CAAC,GAAG,CACb,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;;gBAC3B,uCAAuC;gBACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAEnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,IAAI,CAAC,CAAC;gBAE9D,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE;oBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAChC,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE;wBACvB,EAAE,CAAC,eAAe,GAAG,qBAAS,CAAC,eAAe,CAAC,EAAE,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9F,EAAE,CAAC,OAAO,GAAG,qBAAS,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,MAAM,GAAG,GAAG;4BACR,EAAE,CAAC,eAAe;4BAClB,EAAE,CAAC,IAAI;4BACP,EAAE,CAAC,MAAM;4BACT,EAAE,CAAC,SAAS;4BACZ,EAAE,CAAC,YAAY;4BACf,EAAE,CAAC,UAAU;yBAChB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACb,2DAA2D;wBAC3D,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,0CAAE,QAAQ,EAAE,CAAC,CAAC;qBAClG;iBACJ;YACL,CAAC,CAAC,CACL,CAAC;YAEF,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8B,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;YAExD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YAEjD,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE;gBAClE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACvC,WAAW;gBACX,IAAI,MAAM,IAAI,SAAS,EAAE;oBACrB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE1C,uBAAuB;iBAC1B;qBAAM,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE;oBAC7B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAEtC,yBAAyB;iBAC5B;qBAAM;oBACH,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;iBAC7C;aACJ;YACD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;YAE9B,MAAM,MAAM,GAAG;gBACX,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC1B,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;gBACvD,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;aACrC,CAAC;YACF,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,sDAAsD;YACtD,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE;gBAChF,UAAU,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,0CAAE,QAAQ,CAAC;aACpF;YACD,OAAO,MAAM,CAAC;SACjB;gBAAS;YACN,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SACjC;IACL,CAAC;IAED;;;;;;OAMG;IACI,UAAU,CAAC,OAAe,EAAE,WAAyB,EAAE,SAAkB;QAC5E,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,IAAI,UAAU,EAAE;gBACZ,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC5D,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aACrD;SACJ;IACL,CAAC;IAOM,SAAS,CAAC,GAAG,IAAqC;;QACrD,IAAI,IAAY,CAAC;QACjB,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;YACT,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACtD;aAAM;YACH,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;SAClB;QACD,OAAO,MAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,KAAK,CAAC;IAC3D,CAAC;IAaM,wBAAwB;QAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACJ;AAl2BD,8CAk2BC"}
1
+ {"version":3,"file":"BreakpointManager.js","sourceRoot":"","sources":["../../src/managers/BreakpointManager.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,13 @@ export declare class Project {
113
113
  src: string;
114
114
  dest: string;
115
115
  }>;
116
+ /**
117
+ * Absolute staging paths of every file referenced by a `<script uri="...">` tag in any staged XML
118
+ * component. Roku loads these as BrightScript regardless of file extension, so they are valid
119
+ * breakpoint targets even when they don't end in `.brs`. Populated during `stage()` (the single
120
+ * staging-file walk in `preprocessStagingFiles`) so consumers don't have to re-scan the staging dir.
121
+ */
122
+ scriptReferencedFiles: Set<string>;
116
123
  bsConst: Record<string, boolean>;
117
124
  injectRaleTrackerTask: boolean;
118
125
  raleTrackerTaskFileLocation: string;
@@ -149,6 +156,14 @@ export declare class Project {
149
156
  * - .brs/.xml files: rewrite the sourceMappingURL comment path to point to the staged map
150
157
  */
151
158
  private preprocessStagingFiles;
159
+ /**
160
+ * Parse a staged XML file's contents for `<script uri="...">` tags and add each referenced file's
161
+ * absolute staging path to {@link scriptReferencedFiles}. `pkg:/`/`libpkg:/` uris resolve from the
162
+ * staging root; bare relative uris resolve from the XML file's own directory. Roku loads these as
163
+ * BrightScript regardless of extension, so they are valid breakpoint targets.
164
+ * @param contents the already-loaded file contents (read once by the staging walk)
165
+ */
166
+ private collectScriptReferencedFiles;
152
167
  /**
153
168
  * Per-path write locks. Async file ops interleave (e.g. `preprocessStagingFiles` fans out
154
169
  * tasks that can target the same staging `.map`), so we queue all writes to a given path